SlideShare une entreprise Scribd logo
1  sur  38
The page and the desktop Glenn JonesSkillswap – Brighton, UK20 Jul 2011
Let’s talk blue sky and real world
Objects and things made of data
<p class="vcard"><span class="fn">Glenn</span></p>a person called Glenn microformatshiv.com
<audio src="knowingme.mp3" control></audio>a piece of audio Any semantic structure
Drag and drop API was born of IE and now seems to be driven by Gmail The HTML5 drag and drop disaster – by PPK It’s so funny you have to read it
Dragging between apps
<a href="http://glennjones.net" draggable="true">Glenn</a> Making something draggable
<a href="http://glennjones.net" draggable="true">Glenn</a>*[draggable=true] {  -khtml-user-drag: element;  cursor: move;} Just for Safari
onDragStarte.dataTransfer.setData('Text', 'Glenn');onDropvar name = e.dataTransfer.getData('Text'); Passing data with drag and drop
draggables.com
.setData('application/json', '{name: "glenn"}');.setData('text/x-vcard', 'BEGIN:VCARD…'); mime-types
Dragging files from the desktop using the gang of three Checkout Ryan Seddon articles on thecssninja.com
Dragging file from the desktop
for (i = 0; i <= e.dataTransfer.files.length - 1; i++) { var file = e.dataTransfer.files[i]; varreader = new FileReader(); reader.onload= function (e) { 	 console.log( e.target.result ); }; reader.onerror= function (e) { 	console.log(‘Error reading file’)      }; reader.readAsText(file); }   Reading a file dragged onto a page
for (i = 0; i <= e.dataTransfer.files.length - 1; i++) { var file = e.dataTransfer.files[i]; varreader = new FileReader(); reader.onload= function (e) { 	 console.log( e.target.result ); }; reader.onerror= function (e) { 	console.log(‘Error reading file’)      }; reader.readAsText(file);	 }   Reading a file dragged onto a page
for (i = 0; i <= e.dataTransfer.files.length - 1; i++) { var file = e.dataTransfer.files[i]; varreader = new FileReader(); reader.onload= function (e) { 	 console.log( e.target.result ); }; reader.onerror= function (e) { 	console.log(‘Error reading file’)      }; reader.readAsText(file);	 }   Reading a file dragged onto a page
Dragging files to the desktop is only for the owners of Chrome Checkout Paul Kinlan articles and his Chrome web app appmator
e.dataTransfer.setData('DownloadURL', '…');mime-type : file name : urlimage/png:logo.png:http://glennjones.net/images/logo.png DownloadURL
varimg = 'data:image/png;base64,iVBORw ….  0KGgoA+'; vardurl = "image/png:logo.png:" + img;.setData('DownloadURL', durl); DownloadURL and Data URL
Copy and paste is one hell of a mess
clipboardData.setData
user-select: none;  Creating a hidden text selection
Where’s the pastable="true"
Use content editable area to  capture HTML and semantic  mark-up during a paste
Saving files without user intervention – a placeno one wants go?
People Store has an auto save
Components.interfaces.nsILocalFileActiveXObject("Scripting.FileSystemObject") Proprietary browser APIs for saving files
TiddlySaver– Java solution
Using Data URLs to create hyperlinks to virtual files
Virtual file download
Content-Type: text/plain; Content-Disposition: attachment; filename="mynotes.txt" Has been discussed - looks unlikely http://lists.w3.org/Archives/Public/uri/2010Feb/0069.html Data URL and Content-Disposition
type = content-type [CI] This attribute gives an advisory hint as to the content type of the content available at the link target address. It allows user agents to opt to use a fall-back mechanism rather than fetch the content if they are advised that they will get content in a content type they do not supporthttp://www.w3.org/TR/html4/struct/links.html#adef-type-A Type attribute on anchor element
varobj = Microformats.get('hCard', document.body)[0]; var name = obj.fn.replace(/ /gi, '_'); window[name] = vCard(obj); var link = document.createElement('a'); link.setAttribute("type","text/x-vcard"); link.setAttribute("href","javascript:" + name); link.appendChild( document.createTextNode('vCard Download') ); document.body.appendChild(link); Firefox hack – virtual download
We are so close to web pages being able to exchange data freely with other apps Let’s hope for a few more blue skies
Thank you@glennjonesg+glennjonesnethttp://glennjones.net
Creative Commons Attribution-Non-Commercial 2.0 UK: England & Wales Licence.Copyright Glenn Jones 2011www.glennjones.net
Photo use and attribution http://www.flickr.com/photos/86257563@N00/499426001/

Contenu connexe

Tendances

The DiSo Project and the Open Web
The DiSo Project and the Open WebThe DiSo Project and the Open Web
The DiSo Project and the Open Web
Chris Messina
 
creating portable social networks with microformats
creating portable social networks with microformatscreating portable social networks with microformats
creating portable social networks with microformats
elliando dias
 
Research 2.0
Research 2.0Research 2.0
Research 2.0
thinkict
 
Semantic Web, an introduction for bioscientists
Semantic Web, an introduction for bioscientistsSemantic Web, an introduction for bioscientists
Semantic Web, an introduction for bioscientists
Emanuele Della Valle
 

Tendances (20)

The DiSo Project and the Open Web
The DiSo Project and the Open WebThe DiSo Project and the Open Web
The DiSo Project and the Open Web
 
creating portable social networks with microformats
creating portable social networks with microformatscreating portable social networks with microformats
creating portable social networks with microformats
 
Submitting Your First Plugin to WordPress.org
Submitting Your First Plugin to WordPress.orgSubmitting Your First Plugin to WordPress.org
Submitting Your First Plugin to WordPress.org
 
Cómo usar y exprimir Chrome DevTools #dsm19
Cómo usar y exprimir Chrome DevTools #dsm19Cómo usar y exprimir Chrome DevTools #dsm19
Cómo usar y exprimir Chrome DevTools #dsm19
 
Html bangla
Html banglaHtml bangla
Html bangla
 
10 Things Webdesigners tend to do Wrong in SEO - SMX 2014
10 Things Webdesigners tend to do Wrong in SEO  - SMX 201410 Things Webdesigners tend to do Wrong in SEO  - SMX 2014
10 Things Webdesigners tend to do Wrong in SEO - SMX 2014
 
10 Things Web Designers tend to forget when doing SEO
10 Things Web Designers tend to forget when doing SEO10 Things Web Designers tend to forget when doing SEO
10 Things Web Designers tend to forget when doing SEO
 
Experiments in Data Portability
Experiments in Data PortabilityExperiments in Data Portability
Experiments in Data Portability
 
Research 2.0
Research 2.0Research 2.0
Research 2.0
 
BuddyPress v4
BuddyPress v4BuddyPress v4
BuddyPress v4
 
London seo master - feb 2020
London seo master - feb 2020London seo master - feb 2020
London seo master - feb 2020
 
OpenSocial - GTUG Stockholm Meeting Oct 1 2009
OpenSocial - GTUG Stockholm Meeting Oct 1 2009OpenSocial - GTUG Stockholm Meeting Oct 1 2009
OpenSocial - GTUG Stockholm Meeting Oct 1 2009
 
Facebook Open Graph API and How To Use It
Facebook Open Graph API and How To Use ItFacebook Open Graph API and How To Use It
Facebook Open Graph API and How To Use It
 
Hardcore HTML
Hardcore HTMLHardcore HTML
Hardcore HTML
 
Semantic Web, an introduction for bioscientists
Semantic Web, an introduction for bioscientistsSemantic Web, an introduction for bioscientists
Semantic Web, an introduction for bioscientists
 
Happy facebook developer
Happy facebook developerHappy facebook developer
Happy facebook developer
 
Google Hacking 101
Google Hacking 101Google Hacking 101
Google Hacking 101
 
RDFa: The Semantic Web's Missing Link
RDFa: The Semantic Web's Missing LinkRDFa: The Semantic Web's Missing Link
RDFa: The Semantic Web's Missing Link
 
New Media & Social Technologies 9 Rss
New Media & Social Technologies   9 RssNew Media & Social Technologies   9 Rss
New Media & Social Technologies 9 Rss
 
Linked Data and Search: Thomas Steiner (Google Inc, Germany)
Linked Data and Search:  Thomas Steiner (Google Inc, Germany)Linked Data and Search:  Thomas Steiner (Google Inc, Germany)
Linked Data and Search: Thomas Steiner (Google Inc, Germany)
 

Similaire à The page and the desktop

Mobile library on drupal cil2011
Mobile library on drupal   cil2011Mobile library on drupal   cil2011
Mobile library on drupal cil2011
sc20866
 

Similaire à The page and the desktop (20)

Client-side JavaScript Vulnerabilities
Client-side JavaScript VulnerabilitiesClient-side JavaScript Vulnerabilities
Client-side JavaScript Vulnerabilities
 
Creating a Webpage
Creating a WebpageCreating a Webpage
Creating a Webpage
 
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
 
HTML5: New Possibilities for Publishing
HTML5: New Possibilities for PublishingHTML5: New Possibilities for Publishing
HTML5: New Possibilities for Publishing
 
Mobile library on drupal cil2011
Mobile library on drupal   cil2011Mobile library on drupal   cil2011
Mobile library on drupal cil2011
 
HTML5 and Search Engine Optimization (SEO)
HTML5 and Search Engine Optimization (SEO)HTML5 and Search Engine Optimization (SEO)
HTML5 and Search Engine Optimization (SEO)
 
Grails and Dojo
Grails and DojoGrails and Dojo
Grails and Dojo
 
Migration testing framework
Migration testing frameworkMigration testing framework
Migration testing framework
 
Html5 Overview
Html5 OverviewHtml5 Overview
Html5 Overview
 
HTML5 Overview
HTML5 OverviewHTML5 Overview
HTML5 Overview
 
HTML5 - techMaine Presentation 5/18/09
HTML5 - techMaine Presentation 5/18/09HTML5 - techMaine Presentation 5/18/09
HTML5 - techMaine Presentation 5/18/09
 
Why Python Web Frameworks Are Changing the Web
Why Python Web Frameworks Are Changing the WebWhy Python Web Frameworks Are Changing the Web
Why Python Web Frameworks Are Changing the Web
 
Architecture in Ajax Applications
Architecture in Ajax ApplicationsArchitecture in Ajax Applications
Architecture in Ajax Applications
 
Developing and testing ajax components
Developing and testing ajax componentsDeveloping and testing ajax components
Developing and testing ajax components
 
Browser extension
Browser extensionBrowser extension
Browser extension
 
Browser extension
Browser extensionBrowser extension
Browser extension
 
Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM
Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM
Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM
 
Switch To Flex
Switch To FlexSwitch To Flex
Switch To Flex
 
Developing Gadgets
Developing GadgetsDeveloping Gadgets
Developing Gadgets
 
PrettyFaces: SEO, Dynamic, Parameters, Bookmarks, Navigation for JSF / JSF2 (...
PrettyFaces: SEO, Dynamic, Parameters, Bookmarks, Navigation for JSF / JSF2 (...PrettyFaces: SEO, Dynamic, Parameters, Bookmarks, Navigation for JSF / JSF2 (...
PrettyFaces: SEO, Dynamic, Parameters, Bookmarks, Navigation for JSF / JSF2 (...
 

Plus de Glenn Jones

Microformats and SEO
Microformats and SEOMicroformats and SEO
Microformats and SEO
Glenn Jones
 
What a UX Designer needs to know about Solr
What a UX Designer  needs to know about SolrWhat a UX Designer  needs to know about Solr
What a UX Designer needs to know about Solr
Glenn Jones
 

Plus de Glenn Jones (7)

Web Intents/Actions - UX Challenges
Web Intents/Actions - UX ChallengesWeb Intents/Actions - UX Challenges
Web Intents/Actions - UX Challenges
 
Beyond the page
Beyond the pageBeyond the page
Beyond the page
 
Microformats and SEO
Microformats and SEOMicroformats and SEO
Microformats and SEO
 
Choosing the Right Words - Web Intents/Actions
Choosing the Right Words - Web Intents/ActionsChoosing the Right Words - Web Intents/Actions
Choosing the Right Words - Web Intents/Actions
 
What a UX Designer needs to know about Solr
What a UX Designer  needs to know about SolrWhat a UX Designer  needs to know about Solr
What a UX Designer needs to know about Solr
 
Re-using data people have left around the web
Re-using data people have left around the webRe-using data people have left around the web
Re-using data people have left around the web
 
Can your website be your API and real life
Can your website be your API and real lifeCan your website be your API and real life
Can your website be your API and real life
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Dernier (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 

The page and the desktop