SlideShare uma empresa Scribd logo
1 de 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/

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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)
 

Semelhante a 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
 

Semelhante a 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 (...
 

Mais 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
 

Mais 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
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
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
 

Último (20)

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
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
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
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...
 
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
 

The page and the desktop