SlideShare una empresa de Scribd logo
1 de 36
Descargar para leer sin conexión
Developer
Day
Google
2010
HTML5 Update
Michael(tm) Smith
2010年9月27日月曜日
Developer
Day
Google
2010
Michael(tm) Smith
•mike@w3.org
• http://twitter.com/sideshowbarker
2010年9月27日月曜日
Developer
Day
Google
2010
HTML5 and friends
• HTML5 spec itself
• CSS3, CSS vendor extensions
• SVG
• related APIs
2010年9月27日月曜日
Developer
Day
Google
2010
CSS3 vertical text?
• WebKit bug 46123
• https://bugs.webkit.org/show_bug.cgi?id=46123
• “Implement block-flow support for all of layout”
• master bug for vertical-text support
• Dave Hyatt
2010年9月27日月曜日
Developer
Day
Google
2010
Bug 46123: related bugs
• Text
• Text
• Text
• Text
2010年9月27日月曜日
Developer
Day
Google
2010
Why is vertical text important?
• market for e-books in Japan and Taiwan
• devices with browser engines that have
vertical-text support will have more
market value
• other e-book publishing platforms
already have vertical text support
• bring feature parity to the Web platform
for this feature
2010年9月27日月曜日
Developer
Day
Google
2010
New group: Web Notifications
• http://www.w3.org/2010/web-notifications/
• Chair: Anne van Kesteren (Opera)
• Editor: John Gregg (Google)
• http://dev.w3.org/2006/webapi/WebNotifications/publish/
• http://lists.w3.org/Archives/Public/public-web-notification/
2010年9月27日月曜日
Developer
Day
Google
2010
What are Web notifications?
• OS-independent API for exposing platform-level
notification mechanisms to Web applications
• useful for any Web application where real-time
notifications are useful
• Web-based e-mail client, instant-messaging
clients, auction sites, etc., can integrate their
Web app behavior with the notification features
of the operating systems of their end usersText
2010年9月27日月曜日
Developer
Day
Google
2010
Notification interface (DRAFT)
interface Notification : EventTarget {
void show();
void cancel();
attribute Function onclick;
attribute Function ondisplay;
attribute Function onerror;
attribute Function onclose;
attribute DOMString replaceId;
attribute DOMString dir;
};
2010年9月27日月曜日
Developer
Day
Google
2010
NotificationCenter interface
the interface
interface NotificationCenter {
// permission values
const unsigned long PERMISSION_ALLOWED = 0;
const unsigned long PERMISSION_UNKNOWN = 1;
const unsigned long PERMISSION_DENIED = 2;
attribute unsigned long permissionLevel;
void requestPermission(in Function
callback)
raises(Exception);
Notification createNotification(in DOMString
iconUrl, in DOMString title, in DOMString body);
};
2010年9月27日月曜日
Developer
Day
Google
2010
Examples
var notification =
window.notifications.createNotification("mail.png"
, "New Email Received");
notification.ondisplay = function()
{ setTimeout(notification.cancel(), 15000); }
notification.show();
var notification =
window.notifications.createWebNotification(
"/reminder.html?eventId=" + event.id);
notification.onclose = function()
{ cancelReminders(event); }
notification.show();
2010年9月27日月曜日
Developer
Day
Google
2010
New group: Web Performance
• charter: http://www.w3.org/2010/06/webperf.html
• chair: Arvind Jain (Google), Jason Weber (Microsoft)
• editor: Zhiheng Wang (Google)
• draft: Navigation Timing
• http://dev.w3.org/2006/webapi/WebTiming/
2010年9月27日月曜日
Developer
Day
Google
2010
What is “Navigation Timing”?
• Current JavaScript-based mechanisms
cannot provide complete end-to-end
user-latency data for a Web app
• allow JavaScript mechanisms to
provide complete client-side latency
measurements within Web apps, for
the purpose of evaluating user's
perceived page load time
2010年9月27日月曜日
Developer
Day
Google
2010
NavigationTiming interface
interface NavigationTiming {
readonly attribute unsigned longlong navigationStart;
readonly attribute unsigned longlong unloadEventStart;
readonly attribute unsigned longlong unloadEventEnd;
readonly attribute unsigned longlong redirectStart;
readonly attribute unsigned longlong redirectEnd;
readonly attribute unsigned longlong fetchStart;
readonly attribute unsigned longlong domainLookupStart;
readonly attribute unsigned longlong domainLookupEnd;
readonly attribute unsigned longlong connectStart;
readonly attribute unsigned longlong connectEnd;
readonly attribute unsigned longlong requestStart;
readonly attribute unsigned longlong requestEnd;
readonly attribute unsigned longlong responseStart;
readonly attribute unsigned longlong responseEnd;
readonly attribute unsigned longlong domLoading;
readonly attribute unsigned longlong domInteractive;
readonly attribute unsigned longlong domContentLoaded;
readonly attribute unsigned longlong domComplete;
readonly attribute unsigned longlong loadEventStart;
2010年9月27日月曜日
Developer
Day
Google
2010
NavigationInfo interface
interface NavigationInfo {
const unsigned short TYPE_NAVIGATE = 0;
const unsigned short TYPE_RELOAD = 1;
const unsigned short TYPE_BACK_FORWARD = 2;
const unsigned short TYPE_NEW_WINDOW = 3;
const unsigned short TYPE_RESERVED = 255;
readonly attribute unsigned short type;
readonly attribute unsigned short redirectCount;
};
2010年9月27日月曜日
Developer
Day
Google
2010
window.performance.timing attribute
interface Performance {
readonly attribute NavigationTiming timing;
readonly attribute NavigationInfo navigation;
};
[Supplemental]
interface Window {
readonly attribute Performance performance;
};
2010年9月27日月曜日
Developer
Day
Google
2010
Example
var t = performance.timing;
var n = performance.navigation;
if (t.loadEnd > 0) {
var page_load_time = t.loadEnd - t.navigationStart;
if (n.type == n.TYPE_LINK) {
alert (page_load_time);
}
}
2010年9月27日月曜日
Developer
Day
Google
2010
Web Audio Incubator Group
• http://w3.org/2005/Incubator/audio/wiki/
• programatically read and write raw audio data
2010年9月27日月曜日
Developer
Day
Google
2010
Web Audio APIs
• experimental APIs from Google, Mozilla
• Google Audio API in Chrome beta/dev-channel
• Mozilla Audio API now in Firefox 4 beta
• http://chromium.googlecode.com/svn/trunk/
samples/audio/specification/specification.html
• Mozilla Audio API now in Firefox 4 beta
• https://wiki.mozilla.org/Audio_Data_API
2010年9月27日月曜日
Developer
Day
Google
2010
Mozilla Audio Data API
interface nsIDOMNotifyAudioAvailableEvent : nsIDOMEvent
{
readonly attribute jsval frameBuffer;
readonly attribute float time;
};
HTMLMediaElement additions
readonly attribute unsigned long mozChannels;
readonly attribute unsigned long mozSampleRate;
attribute unsigned long mozFrameBufferLength;
HTMLAudioElement additions
void mozSetup(in long channels, in long rate);
unsigned long mozWriteAudio(array);
unsigned long long mozCurrentSampleOffset();
2010年9月27日月曜日
Developer
Day
Google
2010
Example: Reading audio
<audio id="audio" src="song.ogg"></audio>
<script>
var audio = document.getElementById("audio");
audio.addEventListener('MozAudioAvailable',
audioAvailableFunction, false);
audio.addEventListener('loadedmetadata',
loadedMetadataFunction, false);
</script>
2010年9月27日月曜日
Developer
Day
Google
2010
Example: Writing audio
// Create a new audio element
var audioOutput = new Audio();
// Set up audio element with 2 channel, 44.1KHz audio stream.
audioOutput.mozSetup(2, 44100);
// Write samples using a Typed Array
var samples = new Float32Array([0.242, 0.127, 0.0, -0.058,
-0.242, ...]);
var numberSamplesWritten =
audioOutput.mozWriteAudio(samples);
2010年9月27日月曜日
Developer
Day
Google
2010
Google AudioNode API
interface AudioNode {
void connect(in AudioNode destination, in unsigned
long output = 0, in unsigned long input = 0);
void disconnect(in int output = 0);
readonly attribute AudioContext context;
readonly attribute unsigned long numberOfInputs;
readonly attribute unsigned long numberOfOutputs;
}
2010年9月27日月曜日
Developer
Day
Google
2010
Example

 function setupAudioContext() {

 context = new AudioContext();

 compressor = context.createCompressor();

 gainNode1 = context.createGainNode();

 streamingAudio = document.getElementById('audioTagID');

 streamingAudio.audioSource.connect(gainNode1);

 gainNode1.connect(compressor);

 compressor.connect(context.destination);

 }
2010年9月27日月曜日
Developer
Day
Google
2010
Example

 function playSound() {

 var oneShotSound = context.createBufferSource();

 oneShotSound.buffer = dogBarkingBuffer;

 // Create a filter, panner, and gain node.

 var lowpass = context.createLowPass2Filter();

 var panner = context.createPanner();

 var gainNode2 = context.createGainNode();

 // Make connections

 oneShotSound.connect(lowpass);

 lowpass.connect(panner);

 panner.connect(gainNode2);

 gainNode2.connect(compressor);

 // Play 0.75 seconds from now

 oneShotSound.noteOn(context.currentTime + 0.75);

 }
2010年9月27日月曜日
Developer
Day
Google
2010
new HTML5 parsers
• conform to parsing algorithm in HTML5 spec
• ensure same DOM for any given byte stream
• Mozilla was first to implement and ship
(Henri Sivonen); now in Firefox 4
• WebKit now has HTML5 parser too (Adam
Barth and Eric Seidel); now in Chrome, WebKit
• IE9 parser does not conform to the HTML5
spec but uses some aspects of it
2010年9月27日月曜日
Developer
Day
Google
2010
WebSocket status
• two parts: (1) client-side API, (2) protocol
• client-side API is simple
• WebSocket protocol spec is still unstable
• WebSocket protocol will become more complex,
not backward-compatible
• Ian Fette is now editor of protocol spec
• all server libraries will change; browsers too
2010年9月27日月曜日
Developer
Day
Google
2010
Other new APIs
• Contacts API: read access to a user's
unified address book (useful on mobile,
etc.)
• Media Capture API: “camera” API;
HTML form enhancements to provide
access to device image, audio, video
capture capabilities of device (useful on
mobile, etc.)
2010年9月27日月曜日
Developer
Day
Google
2010
Contact interface
interface Contact {
readonly attribute DOMString id;
attribute DOMString displayName;
attribute ContactName name;
attribute DOMString nickname;
attribute ContactField[] phoneNumbers;
attribute ContactField[] emails;
attribute ContactAddress[] addresses;
attribute ContactField[] ims;
attribute ContactOrganization[] organizations;
attribute DOMString updated;
attribute DOMString birthday;
attribute DOMString anniversary;
attribute DOMString gender;
attribute DOMString note;
attribute ContactField[] photos;
attribute ContactField[] tags;
attribute ContactField[] relationships;
attribute ContactField[] urls;
attribute DOMString utcOffset;
};
2010年9月27日月曜日
Developer
Day
Google
2010
Contacts API example
function successContactFindCallback(contacts) {
// do something with resulting contact objects
for (var i in contacts) alert(contacts[i].displayName);
// ...
}
function generalErrorCB(error) {
// do something with resulting errors
alert(error.code);
// ...
}
// Perform address book search. Obtain 'name' and 'emails' properties
// and initially filter the list to Contact records containing 'Bob':
navigator.service.contacts.find(['name', 'emails'],
successContactFindCallback,
generalErrorCB,
{filter: 'Bob'}
);
2010年9月27日月曜日
Developer
Day
Google
2010
Capture API
<input type="file" accept="image/*" id="capture">
<input type="file" accept="image/*;capture=camera" id="capture">
2010年9月27日月曜日
Developer
Day
Google
2010
Example
var captureInput = document.getElementById('capture');
var file = captureInput.files[0];
if (file) {
file.getFormatData(displayFormatData, errorHandler); //asynch
}
// success callback when getting format data
function displayFormatData(formatData) {
var mainType = file.type.split("/")[0]; // "image", "video" or "audio"
var mediaDescriptionNode = document.createElement("p");
if (mainType === "image") {
mediaDescriptionNode.appendChild(document.createTextNode(
"Dimensions " + formatData.width + "x" + formatData.height);
} else {
mediaDescriptionNode.appendChild(document.createTextNode(
"Duration: " + formatData.duration + "s");
}
captureInput.parentNode.insertBefore(mediaDescriptionNode,
captureInput);
2010年9月27日月曜日
Developer
Day
Google
2010
HTML5 features unimplemented
• HTML5 forms (Web Forms 2) still only
completely implemented in Opera; other
browsers still like many of the UI parts
• HTML5 <details> element; expandable
view of detail info, as in, e.g., OS “Get Info”
• HTML5 context-menu mechanism;
enables a Web app to customize browser
context menu (menu shown by right-
clicking)
2010年9月27日月曜日
Developer
Day
Google
2010
HTML5 details element
<section class="progress window">
<h1>Copying "Really Achieving Your Childhood Dreams"</h1>
<details>
<summary>Copying...
<progress max="3755" value="9752"></progress> 25%</summary>
<dl>
<dt>Transfer rate:</dt> <dd>452KB/s</dd>
<dt>Local filename:</dt> <dd>/home/rpausch/raycd.m4v</dd>
<dt>Remote filename:</dt> <dd>/www/lectures/raycd.m4v</dd>
<dt>Duration:</dt> <dd>01:16:27</dd>
<dt>Color profile:</dt> <dd>SD (6-1-6)</dd>
<dt>Dimensions:</dt> <dd>320×240</dd>
</dl>
</details>
</section>
2010年9月27日月曜日
Developer
Day
Google
2010
HTML5 context menu
<form name="npc">
<label>Character name: <input name=char
type=text contextmenu=namemenu></label>
<menu type=context id=namemenu>
<command label="Pick random name"
onclick="document.forms.npc.elements.char.value = getRandName()">
<command label="Prefill fields based on name"
onclick="prefillFields(document.forms.npc.elements.char.value)">
</menu>
</form>
2010年9月27日月曜日
Developer
Day
Google
2010
Thanks
•mike@w3.org
• http://twitter.com/sideshowbarker
2010年9月27日月曜日

Más contenido relacionado

La actualidad más candente

Bootiful Development with Spring Boot and React - SpringOne 2017
Bootiful Development with Spring Boot and React - SpringOne 2017Bootiful Development with Spring Boot and React - SpringOne 2017
Bootiful Development with Spring Boot and React - SpringOne 2017Matt Raible
 
JAX-RS JavaOne Hyderabad, India 2011
JAX-RS JavaOne Hyderabad, India 2011JAX-RS JavaOne Hyderabad, India 2011
JAX-RS JavaOne Hyderabad, India 2011Shreedhar Ganapathy
 
Spark IT 2011 - Developing RESTful Web services with JAX-RS
Spark IT 2011 - Developing RESTful Web services with JAX-RSSpark IT 2011 - Developing RESTful Web services with JAX-RS
Spark IT 2011 - Developing RESTful Web services with JAX-RSArun Gupta
 
Bootiful Development with Spring Boot and React - Richmond JUG 2018
Bootiful Development with Spring Boot and React - Richmond JUG 2018Bootiful Development with Spring Boot and React - Richmond JUG 2018
Bootiful Development with Spring Boot and React - Richmond JUG 2018Matt Raible
 
A Gentle Introduction to Angular Schematics - Angular SF 2019
A Gentle Introduction to Angular Schematics - Angular SF 2019A Gentle Introduction to Angular Schematics - Angular SF 2019
A Gentle Introduction to Angular Schematics - Angular SF 2019Matt Raible
 
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13Fred Sauer
 
Hybrid Apps (Native + Web) via QtWebKit
Hybrid Apps (Native + Web) via QtWebKitHybrid Apps (Native + Web) via QtWebKit
Hybrid Apps (Native + Web) via QtWebKitAriya Hidayat
 
How to Win at UI Development in the World of Microservices - THAT Conference ...
How to Win at UI Development in the World of Microservices - THAT Conference ...How to Win at UI Development in the World of Microservices - THAT Conference ...
How to Win at UI Development in the World of Microservices - THAT Conference ...Matt Raible
 
A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019
A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019
A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019Matt Raible
 
Front End Development for Back End Java Developers - Jfokus 2020
Front End Development for Back End Java Developers - Jfokus 2020Front End Development for Back End Java Developers - Jfokus 2020
Front End Development for Back End Java Developers - Jfokus 2020Matt Raible
 
Comparing JVM Web Frameworks - Rich Web Experience 2010
Comparing JVM Web Frameworks - Rich Web Experience 2010Comparing JVM Web Frameworks - Rich Web Experience 2010
Comparing JVM Web Frameworks - Rich Web Experience 2010Matt Raible
 
Mobile Development with Ionic, React Native, and JHipster - AllTheTalks 2020
Mobile Development with Ionic, React Native, and JHipster - AllTheTalks 2020Mobile Development with Ionic, React Native, and JHipster - AllTheTalks 2020
Mobile Development with Ionic, React Native, and JHipster - AllTheTalks 2020Matt Raible
 
Amazing vue.js projects that are open source and free.
Amazing vue.js projects that are open source and free.Amazing vue.js projects that are open source and free.
Amazing vue.js projects that are open source and free.Katy Slemon
 
Seven Simple Reasons to Use AppFuse
Seven Simple Reasons to Use AppFuseSeven Simple Reasons to Use AppFuse
Seven Simple Reasons to Use AppFuseMatt Raible
 
Wicket In Action - oredev2008
Wicket In Action - oredev2008Wicket In Action - oredev2008
Wicket In Action - oredev2008Martijn Dashorst
 
Level up apps and websites with vue.js
Level up  apps and websites with vue.jsLevel up  apps and websites with vue.js
Level up apps and websites with vue.jsVioletta Villani
 
Spark IT 2011 - Java EE 6 Workshop
Spark IT 2011 - Java EE 6 WorkshopSpark IT 2011 - Java EE 6 Workshop
Spark IT 2011 - Java EE 6 WorkshopArun Gupta
 
What the Heck is OAuth and OpenID Connect - RWX 2017
What the Heck is OAuth and OpenID Connect - RWX 2017What the Heck is OAuth and OpenID Connect - RWX 2017
What the Heck is OAuth and OpenID Connect - RWX 2017Matt Raible
 
Building Mobile Applications with Ionic
Building Mobile Applications with IonicBuilding Mobile Applications with Ionic
Building Mobile Applications with IonicMorris Singer
 

La actualidad más candente (20)

Bootiful Development with Spring Boot and React - SpringOne 2017
Bootiful Development with Spring Boot and React - SpringOne 2017Bootiful Development with Spring Boot and React - SpringOne 2017
Bootiful Development with Spring Boot and React - SpringOne 2017
 
JAX-RS JavaOne Hyderabad, India 2011
JAX-RS JavaOne Hyderabad, India 2011JAX-RS JavaOne Hyderabad, India 2011
JAX-RS JavaOne Hyderabad, India 2011
 
Spark IT 2011 - Developing RESTful Web services with JAX-RS
Spark IT 2011 - Developing RESTful Web services with JAX-RSSpark IT 2011 - Developing RESTful Web services with JAX-RS
Spark IT 2011 - Developing RESTful Web services with JAX-RS
 
Bootiful Development with Spring Boot and React - Richmond JUG 2018
Bootiful Development with Spring Boot and React - Richmond JUG 2018Bootiful Development with Spring Boot and React - Richmond JUG 2018
Bootiful Development with Spring Boot and React - Richmond JUG 2018
 
A Gentle Introduction to Angular Schematics - Angular SF 2019
A Gentle Introduction to Angular Schematics - Angular SF 2019A Gentle Introduction to Angular Schematics - Angular SF 2019
A Gentle Introduction to Angular Schematics - Angular SF 2019
 
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
 
Hybrid Apps (Native + Web) via QtWebKit
Hybrid Apps (Native + Web) via QtWebKitHybrid Apps (Native + Web) via QtWebKit
Hybrid Apps (Native + Web) via QtWebKit
 
Os Johnson
Os JohnsonOs Johnson
Os Johnson
 
How to Win at UI Development in the World of Microservices - THAT Conference ...
How to Win at UI Development in the World of Microservices - THAT Conference ...How to Win at UI Development in the World of Microservices - THAT Conference ...
How to Win at UI Development in the World of Microservices - THAT Conference ...
 
A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019
A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019
A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019
 
Front End Development for Back End Java Developers - Jfokus 2020
Front End Development for Back End Java Developers - Jfokus 2020Front End Development for Back End Java Developers - Jfokus 2020
Front End Development for Back End Java Developers - Jfokus 2020
 
Comparing JVM Web Frameworks - Rich Web Experience 2010
Comparing JVM Web Frameworks - Rich Web Experience 2010Comparing JVM Web Frameworks - Rich Web Experience 2010
Comparing JVM Web Frameworks - Rich Web Experience 2010
 
Mobile Development with Ionic, React Native, and JHipster - AllTheTalks 2020
Mobile Development with Ionic, React Native, and JHipster - AllTheTalks 2020Mobile Development with Ionic, React Native, and JHipster - AllTheTalks 2020
Mobile Development with Ionic, React Native, and JHipster - AllTheTalks 2020
 
Amazing vue.js projects that are open source and free.
Amazing vue.js projects that are open source and free.Amazing vue.js projects that are open source and free.
Amazing vue.js projects that are open source and free.
 
Seven Simple Reasons to Use AppFuse
Seven Simple Reasons to Use AppFuseSeven Simple Reasons to Use AppFuse
Seven Simple Reasons to Use AppFuse
 
Wicket In Action - oredev2008
Wicket In Action - oredev2008Wicket In Action - oredev2008
Wicket In Action - oredev2008
 
Level up apps and websites with vue.js
Level up  apps and websites with vue.jsLevel up  apps and websites with vue.js
Level up apps and websites with vue.js
 
Spark IT 2011 - Java EE 6 Workshop
Spark IT 2011 - Java EE 6 WorkshopSpark IT 2011 - Java EE 6 Workshop
Spark IT 2011 - Java EE 6 Workshop
 
What the Heck is OAuth and OpenID Connect - RWX 2017
What the Heck is OAuth and OpenID Connect - RWX 2017What the Heck is OAuth and OpenID Connect - RWX 2017
What the Heck is OAuth and OpenID Connect - RWX 2017
 
Building Mobile Applications with Ionic
Building Mobile Applications with IonicBuilding Mobile Applications with Ionic
Building Mobile Applications with Ionic
 

Similar a Google Developer Day 2010 HTML5 and Web API Updates

Michael(tm) Smith WND09 Presentation
Michael(tm) Smith WND09 PresentationMichael(tm) Smith WND09 Presentation
Michael(tm) Smith WND09 PresentationMichael(tm) Smith
 
GDD Brazil 2010 - What's new in Google App Engine and Google App Engine For B...
GDD Brazil 2010 - What's new in Google App Engine and Google App Engine For B...GDD Brazil 2010 - What's new in Google App Engine and Google App Engine For B...
GDD Brazil 2010 - What's new in Google App Engine and Google App Engine For B...Patrick Chanezon
 
Build mini - Windows 10 Dev & Cross platform Dev
Build mini - Windows 10 Dev & Cross platform DevBuild mini - Windows 10 Dev & Cross platform Dev
Build mini - Windows 10 Dev & Cross platform DevIan Chen
 
Best Practices in Widget Development - Examples and Counterexamples
Best Practices in Widget Development  - Examples and CounterexamplesBest Practices in Widget Development  - Examples and Counterexamples
Best Practices in Widget Development - Examples and CounterexamplesROLE Project
 
DIY: Computer Vision with GWT.
DIY: Computer Vision with GWT.DIY: Computer Vision with GWT.
DIY: Computer Vision with GWT.JooinK
 
DIY- computer vision with GWT
DIY- computer vision with GWTDIY- computer vision with GWT
DIY- computer vision with GWTFrancesca Tosi
 
VAST 8.0
VAST 8.0VAST 8.0
VAST 8.0ESUG
 
Google Developer Day 2010 Japan: Part 1: Google App Engine for Business の概要 P...
Google Developer Day 2010 Japan: Part 1: Google App Engine for Business の概要 P...Google Developer Day 2010 Japan: Part 1: Google App Engine for Business の概要 P...
Google Developer Day 2010 Japan: Part 1: Google App Engine for Business の概要 P...Google Developer Relations Team
 
W3C Widgets: Apps made with Web Standards
W3C Widgets: Apps made with Web StandardsW3C Widgets: Apps made with Web Standards
W3C Widgets: Apps made with Web Standardsbrucelawson
 
Silverlight 4 @ MSDN Live
Silverlight 4 @ MSDN LiveSilverlight 4 @ MSDN Live
Silverlight 4 @ MSDN Livegoeran
 
Desktop apps with node webkit
Desktop apps with node webkitDesktop apps with node webkit
Desktop apps with node webkitPaul Jensen
 
John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)Jia Mi
 
So what's a web app? introduction to the chrome web store
So what's a web app? introduction to the chrome web storeSo what's a web app? introduction to the chrome web store
So what's a web app? introduction to the chrome web storeEric Bidelman
 
10 Jahre Webentwicklung - am Beispiel des Frameworks qooxdoo
10 Jahre Webentwicklung - am Beispiel des Frameworks qooxdoo10 Jahre Webentwicklung - am Beispiel des Frameworks qooxdoo
10 Jahre Webentwicklung - am Beispiel des Frameworks qooxdooMartin Wittemann
 
Red Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client TechnologyRed Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client TechnologyMark Proctor
 
Feature Bits at LSSC10
Feature  Bits at LSSC10Feature  Bits at LSSC10
Feature Bits at LSSC10Erik Sowa
 
2014 HTML5 총정리
2014 HTML5 총정리2014 HTML5 총정리
2014 HTML5 총정리Wonsuk Lee
 
Acs south coast nsw openness
Acs south coast nsw opennessAcs south coast nsw openness
Acs south coast nsw opennessNick Hodge
 

Similar a Google Developer Day 2010 HTML5 and Web API Updates (20)

Michael(tm) Smith WND09 Presentation
Michael(tm) Smith WND09 PresentationMichael(tm) Smith WND09 Presentation
Michael(tm) Smith WND09 Presentation
 
GDD Brazil 2010 - What's new in Google App Engine and Google App Engine For B...
GDD Brazil 2010 - What's new in Google App Engine and Google App Engine For B...GDD Brazil 2010 - What's new in Google App Engine and Google App Engine For B...
GDD Brazil 2010 - What's new in Google App Engine and Google App Engine For B...
 
Html5 Future of WEB
Html5 Future of WEBHtml5 Future of WEB
Html5 Future of WEB
 
Build mini - Windows 10 Dev & Cross platform Dev
Build mini - Windows 10 Dev & Cross platform DevBuild mini - Windows 10 Dev & Cross platform Dev
Build mini - Windows 10 Dev & Cross platform Dev
 
Best Practices in Widget Development - Examples and Counterexamples
Best Practices in Widget Development  - Examples and CounterexamplesBest Practices in Widget Development  - Examples and Counterexamples
Best Practices in Widget Development - Examples and Counterexamples
 
DIY: Computer Vision with GWT.
DIY: Computer Vision with GWT.DIY: Computer Vision with GWT.
DIY: Computer Vision with GWT.
 
DIY- computer vision with GWT
DIY- computer vision with GWTDIY- computer vision with GWT
DIY- computer vision with GWT
 
VAST 8.0
VAST 8.0VAST 8.0
VAST 8.0
 
Google Developer Day 2010 Japan: Part 1: Google App Engine for Business の概要 P...
Google Developer Day 2010 Japan: Part 1: Google App Engine for Business の概要 P...Google Developer Day 2010 Japan: Part 1: Google App Engine for Business の概要 P...
Google Developer Day 2010 Japan: Part 1: Google App Engine for Business の概要 P...
 
W3C Widgets: Apps made with Web Standards
W3C Widgets: Apps made with Web StandardsW3C Widgets: Apps made with Web Standards
W3C Widgets: Apps made with Web Standards
 
Silverlight 4 @ MSDN Live
Silverlight 4 @ MSDN LiveSilverlight 4 @ MSDN Live
Silverlight 4 @ MSDN Live
 
Desktop apps with node webkit
Desktop apps with node webkitDesktop apps with node webkit
Desktop apps with node webkit
 
John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)
 
So what's a web app? introduction to the chrome web store
So what's a web app? introduction to the chrome web storeSo what's a web app? introduction to the chrome web store
So what's a web app? introduction to the chrome web store
 
10 Jahre Webentwicklung - am Beispiel des Frameworks qooxdoo
10 Jahre Webentwicklung - am Beispiel des Frameworks qooxdoo10 Jahre Webentwicklung - am Beispiel des Frameworks qooxdoo
10 Jahre Webentwicklung - am Beispiel des Frameworks qooxdoo
 
Red Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client TechnologyRed Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
 
Feature Bits at LSSC10
Feature  Bits at LSSC10Feature  Bits at LSSC10
Feature Bits at LSSC10
 
2014 HTML5 총정리
2014 HTML5 총정리2014 HTML5 총정리
2014 HTML5 총정리
 
Acs south coast nsw openness
Acs south coast nsw opennessAcs south coast nsw openness
Acs south coast nsw openness
 
Arif_Shaik_CV
Arif_Shaik_CVArif_Shaik_CV
Arif_Shaik_CV
 

Más de Google Developer Relations Team

Google Developer Day 2010 Japan: Google エンジニアの日常 (山内 知昭)
Google Developer Day 2010 Japan: Google エンジニアの日常 (山内 知昭)Google Developer Day 2010 Japan: Google エンジニアの日常 (山内 知昭)
Google Developer Day 2010 Japan: Google エンジニアの日常 (山内 知昭)Google Developer Relations Team
 
Google Developer Day 2010 Japan: 音声入力 API for Android (アレックス グランスタイン, 小西 祐介)
Google Developer Day 2010 Japan: 音声入力 API for Android (アレックス グランスタイン, 小西 祐介)Google Developer Day 2010 Japan: 音声入力 API for Android (アレックス グランスタイン, 小西 祐介)
Google Developer Day 2010 Japan: 音声入力 API for Android (アレックス グランスタイン, 小西 祐介)Google Developer Relations Team
 
Google Developer Day 2010 Japan: 「App Engine 開発者コミュニティ「appengine ja night」とフレ...
Google Developer Day 2010 Japan: 「App Engine 開発者コミュニティ「appengine ja night」とフレ...Google Developer Day 2010 Japan: 「App Engine 開発者コミュニティ「appengine ja night」とフレ...
Google Developer Day 2010 Japan: 「App Engine 開発者コミュニティ「appengine ja night」とフレ...Google Developer Relations Team
 
Google Developer Day 2010 Japan: Google App Engine についての最新情報 (松尾貴史)
Google Developer Day 2010 Japan: Google App Engine についての最新情報 (松尾貴史)Google Developer Day 2010 Japan: Google App Engine についての最新情報 (松尾貴史)
Google Developer Day 2010 Japan: Google App Engine についての最新情報 (松尾貴史)Google Developer Relations Team
 
Google Developer Day 2010 Japan: Google Chrome の Developer Tools (ミカイル ナガノフ, ...
Google Developer Day 2010 Japan: Google Chrome の Developer Tools (ミカイル ナガノフ, ...Google Developer Day 2010 Japan: Google Chrome の Developer Tools (ミカイル ナガノフ, ...
Google Developer Day 2010 Japan: Google Chrome の Developer Tools (ミカイル ナガノフ, ...Google Developer Relations Team
 
Google Developer Day 2010 Japan: Android や iPhone で活用する Maps API のモバイル端末向け新機能...
Google Developer Day 2010 Japan: Android や iPhone で活用する Maps API のモバイル端末向け新機能...Google Developer Day 2010 Japan: Android や iPhone で活用する Maps API のモバイル端末向け新機能...
Google Developer Day 2010 Japan: Android や iPhone で活用する Maps API のモバイル端末向け新機能...Google Developer Relations Team
 
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)Google Developer Relations Team
 
Google Developer Day 2010 Japan: HTML5 とウェブサイトデザイン (矢倉 眞隆)
Google Developer Day 2010 Japan: HTML5 とウェブサイトデザイン (矢倉 眞隆)Google Developer Day 2010 Japan: HTML5 とウェブサイトデザイン (矢倉 眞隆)
Google Developer Day 2010 Japan: HTML5 とウェブサイトデザイン (矢倉 眞隆)Google Developer Relations Team
 
Google Developer Day 2010 Japan: Android でリアルタイムゲームを開発する方法: リベンジ (クリス プルエット)
Google Developer Day 2010 Japan: Android でリアルタイムゲームを開発する方法: リベンジ (クリス プルエット)Google Developer Day 2010 Japan: Android でリアルタイムゲームを開発する方法: リベンジ (クリス プルエット)
Google Developer Day 2010 Japan: Android でリアルタイムゲームを開発する方法: リベンジ (クリス プルエット)Google Developer Relations Team
 
Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)Google Developer Relations Team
 
Google Developer Day 2010 Japan: マーケットライセンシングを使って Android アプリケーションを守るには (トニー ...
Google Developer Day 2010 Japan: マーケットライセンシングを使って Android アプリケーションを守るには (トニー ...Google Developer Day 2010 Japan: マーケットライセンシングを使って Android アプリケーションを守るには (トニー ...
Google Developer Day 2010 Japan: マーケットライセンシングを使って Android アプリケーションを守るには (トニー ...Google Developer Relations Team
 
Google Developer Day 2010 Japan: 高性能な Android アプリを作るには (ティム ブレイ)
Google Developer Day 2010 Japan: 高性能な Android アプリを作るには (ティム ブレイ)Google Developer Day 2010 Japan: 高性能な Android アプリを作るには (ティム ブレイ)
Google Developer Day 2010 Japan: 高性能な Android アプリを作るには (ティム ブレイ)Google Developer Relations Team
 

Más de Google Developer Relations Team (12)

Google Developer Day 2010 Japan: Google エンジニアの日常 (山内 知昭)
Google Developer Day 2010 Japan: Google エンジニアの日常 (山内 知昭)Google Developer Day 2010 Japan: Google エンジニアの日常 (山内 知昭)
Google Developer Day 2010 Japan: Google エンジニアの日常 (山内 知昭)
 
Google Developer Day 2010 Japan: 音声入力 API for Android (アレックス グランスタイン, 小西 祐介)
Google Developer Day 2010 Japan: 音声入力 API for Android (アレックス グランスタイン, 小西 祐介)Google Developer Day 2010 Japan: 音声入力 API for Android (アレックス グランスタイン, 小西 祐介)
Google Developer Day 2010 Japan: 音声入力 API for Android (アレックス グランスタイン, 小西 祐介)
 
Google Developer Day 2010 Japan: 「App Engine 開発者コミュニティ「appengine ja night」とフレ...
Google Developer Day 2010 Japan: 「App Engine 開発者コミュニティ「appengine ja night」とフレ...Google Developer Day 2010 Japan: 「App Engine 開発者コミュニティ「appengine ja night」とフレ...
Google Developer Day 2010 Japan: 「App Engine 開発者コミュニティ「appengine ja night」とフレ...
 
Google Developer Day 2010 Japan: Google App Engine についての最新情報 (松尾貴史)
Google Developer Day 2010 Japan: Google App Engine についての最新情報 (松尾貴史)Google Developer Day 2010 Japan: Google App Engine についての最新情報 (松尾貴史)
Google Developer Day 2010 Japan: Google App Engine についての最新情報 (松尾貴史)
 
Google Developer Day 2010 Japan: Google Chrome の Developer Tools (ミカイル ナガノフ, ...
Google Developer Day 2010 Japan: Google Chrome の Developer Tools (ミカイル ナガノフ, ...Google Developer Day 2010 Japan: Google Chrome の Developer Tools (ミカイル ナガノフ, ...
Google Developer Day 2010 Japan: Google Chrome の Developer Tools (ミカイル ナガノフ, ...
 
Google Developer Day 2010 Japan: Android や iPhone で活用する Maps API のモバイル端末向け新機能...
Google Developer Day 2010 Japan: Android や iPhone で活用する Maps API のモバイル端末向け新機能...Google Developer Day 2010 Japan: Android や iPhone で活用する Maps API のモバイル端末向け新機能...
Google Developer Day 2010 Japan: Android や iPhone で活用する Maps API のモバイル端末向け新機能...
 
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
 
Google Developer Day 2010 Japan: HTML5 とウェブサイトデザイン (矢倉 眞隆)
Google Developer Day 2010 Japan: HTML5 とウェブサイトデザイン (矢倉 眞隆)Google Developer Day 2010 Japan: HTML5 とウェブサイトデザイン (矢倉 眞隆)
Google Developer Day 2010 Japan: HTML5 とウェブサイトデザイン (矢倉 眞隆)
 
Google Developer Day 2010 Japan: Android でリアルタイムゲームを開発する方法: リベンジ (クリス プルエット)
Google Developer Day 2010 Japan: Android でリアルタイムゲームを開発する方法: リベンジ (クリス プルエット)Google Developer Day 2010 Japan: Android でリアルタイムゲームを開発する方法: リベンジ (クリス プルエット)
Google Developer Day 2010 Japan: Android でリアルタイムゲームを開発する方法: リベンジ (クリス プルエット)
 
Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
 
Google Developer Day 2010 Japan: マーケットライセンシングを使って Android アプリケーションを守るには (トニー ...
Google Developer Day 2010 Japan: マーケットライセンシングを使って Android アプリケーションを守るには (トニー ...Google Developer Day 2010 Japan: マーケットライセンシングを使って Android アプリケーションを守るには (トニー ...
Google Developer Day 2010 Japan: マーケットライセンシングを使って Android アプリケーションを守るには (トニー ...
 
Google Developer Day 2010 Japan: 高性能な Android アプリを作るには (ティム ブレイ)
Google Developer Day 2010 Japan: 高性能な Android アプリを作るには (ティム ブレイ)Google Developer Day 2010 Japan: 高性能な Android アプリを作るには (ティム ブレイ)
Google Developer Day 2010 Japan: 高性能な Android アプリを作るには (ティム ブレイ)
 

Último

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 

Último (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 

Google Developer Day 2010 HTML5 and Web API Updates

  • 3. Developer Day Google 2010 HTML5 and friends • HTML5 spec itself • CSS3, CSS vendor extensions • SVG • related APIs 2010年9月27日月曜日
  • 4. Developer Day Google 2010 CSS3 vertical text? • WebKit bug 46123 • https://bugs.webkit.org/show_bug.cgi?id=46123 • “Implement block-flow support for all of layout” • master bug for vertical-text support • Dave Hyatt 2010年9月27日月曜日
  • 5. Developer Day Google 2010 Bug 46123: related bugs • Text • Text • Text • Text 2010年9月27日月曜日
  • 6. Developer Day Google 2010 Why is vertical text important? • market for e-books in Japan and Taiwan • devices with browser engines that have vertical-text support will have more market value • other e-book publishing platforms already have vertical text support • bring feature parity to the Web platform for this feature 2010年9月27日月曜日
  • 7. Developer Day Google 2010 New group: Web Notifications • http://www.w3.org/2010/web-notifications/ • Chair: Anne van Kesteren (Opera) • Editor: John Gregg (Google) • http://dev.w3.org/2006/webapi/WebNotifications/publish/ • http://lists.w3.org/Archives/Public/public-web-notification/ 2010年9月27日月曜日
  • 8. Developer Day Google 2010 What are Web notifications? • OS-independent API for exposing platform-level notification mechanisms to Web applications • useful for any Web application where real-time notifications are useful • Web-based e-mail client, instant-messaging clients, auction sites, etc., can integrate their Web app behavior with the notification features of the operating systems of their end usersText 2010年9月27日月曜日
  • 9. Developer Day Google 2010 Notification interface (DRAFT) interface Notification : EventTarget { void show(); void cancel(); attribute Function onclick; attribute Function ondisplay; attribute Function onerror; attribute Function onclose; attribute DOMString replaceId; attribute DOMString dir; }; 2010年9月27日月曜日
  • 10. Developer Day Google 2010 NotificationCenter interface the interface interface NotificationCenter { // permission values const unsigned long PERMISSION_ALLOWED = 0; const unsigned long PERMISSION_UNKNOWN = 1; const unsigned long PERMISSION_DENIED = 2; attribute unsigned long permissionLevel; void requestPermission(in Function callback) raises(Exception); Notification createNotification(in DOMString iconUrl, in DOMString title, in DOMString body); }; 2010年9月27日月曜日
  • 11. Developer Day Google 2010 Examples var notification = window.notifications.createNotification("mail.png" , "New Email Received"); notification.ondisplay = function() { setTimeout(notification.cancel(), 15000); } notification.show(); var notification = window.notifications.createWebNotification( "/reminder.html?eventId=" + event.id); notification.onclose = function() { cancelReminders(event); } notification.show(); 2010年9月27日月曜日
  • 12. Developer Day Google 2010 New group: Web Performance • charter: http://www.w3.org/2010/06/webperf.html • chair: Arvind Jain (Google), Jason Weber (Microsoft) • editor: Zhiheng Wang (Google) • draft: Navigation Timing • http://dev.w3.org/2006/webapi/WebTiming/ 2010年9月27日月曜日
  • 13. Developer Day Google 2010 What is “Navigation Timing”? • Current JavaScript-based mechanisms cannot provide complete end-to-end user-latency data for a Web app • allow JavaScript mechanisms to provide complete client-side latency measurements within Web apps, for the purpose of evaluating user's perceived page load time 2010年9月27日月曜日
  • 14. Developer Day Google 2010 NavigationTiming interface interface NavigationTiming { readonly attribute unsigned longlong navigationStart; readonly attribute unsigned longlong unloadEventStart; readonly attribute unsigned longlong unloadEventEnd; readonly attribute unsigned longlong redirectStart; readonly attribute unsigned longlong redirectEnd; readonly attribute unsigned longlong fetchStart; readonly attribute unsigned longlong domainLookupStart; readonly attribute unsigned longlong domainLookupEnd; readonly attribute unsigned longlong connectStart; readonly attribute unsigned longlong connectEnd; readonly attribute unsigned longlong requestStart; readonly attribute unsigned longlong requestEnd; readonly attribute unsigned longlong responseStart; readonly attribute unsigned longlong responseEnd; readonly attribute unsigned longlong domLoading; readonly attribute unsigned longlong domInteractive; readonly attribute unsigned longlong domContentLoaded; readonly attribute unsigned longlong domComplete; readonly attribute unsigned longlong loadEventStart; 2010年9月27日月曜日
  • 15. Developer Day Google 2010 NavigationInfo interface interface NavigationInfo { const unsigned short TYPE_NAVIGATE = 0; const unsigned short TYPE_RELOAD = 1; const unsigned short TYPE_BACK_FORWARD = 2; const unsigned short TYPE_NEW_WINDOW = 3; const unsigned short TYPE_RESERVED = 255; readonly attribute unsigned short type; readonly attribute unsigned short redirectCount; }; 2010年9月27日月曜日
  • 16. Developer Day Google 2010 window.performance.timing attribute interface Performance { readonly attribute NavigationTiming timing; readonly attribute NavigationInfo navigation; }; [Supplemental] interface Window { readonly attribute Performance performance; }; 2010年9月27日月曜日
  • 17. Developer Day Google 2010 Example var t = performance.timing; var n = performance.navigation; if (t.loadEnd > 0) { var page_load_time = t.loadEnd - t.navigationStart; if (n.type == n.TYPE_LINK) { alert (page_load_time); } } 2010年9月27日月曜日
  • 18. Developer Day Google 2010 Web Audio Incubator Group • http://w3.org/2005/Incubator/audio/wiki/ • programatically read and write raw audio data 2010年9月27日月曜日
  • 19. Developer Day Google 2010 Web Audio APIs • experimental APIs from Google, Mozilla • Google Audio API in Chrome beta/dev-channel • Mozilla Audio API now in Firefox 4 beta • http://chromium.googlecode.com/svn/trunk/ samples/audio/specification/specification.html • Mozilla Audio API now in Firefox 4 beta • https://wiki.mozilla.org/Audio_Data_API 2010年9月27日月曜日
  • 20. Developer Day Google 2010 Mozilla Audio Data API interface nsIDOMNotifyAudioAvailableEvent : nsIDOMEvent { readonly attribute jsval frameBuffer; readonly attribute float time; }; HTMLMediaElement additions readonly attribute unsigned long mozChannels; readonly attribute unsigned long mozSampleRate; attribute unsigned long mozFrameBufferLength; HTMLAudioElement additions void mozSetup(in long channels, in long rate); unsigned long mozWriteAudio(array); unsigned long long mozCurrentSampleOffset(); 2010年9月27日月曜日
  • 21. Developer Day Google 2010 Example: Reading audio <audio id="audio" src="song.ogg"></audio> <script> var audio = document.getElementById("audio"); audio.addEventListener('MozAudioAvailable', audioAvailableFunction, false); audio.addEventListener('loadedmetadata', loadedMetadataFunction, false); </script> 2010年9月27日月曜日
  • 22. Developer Day Google 2010 Example: Writing audio // Create a new audio element var audioOutput = new Audio(); // Set up audio element with 2 channel, 44.1KHz audio stream. audioOutput.mozSetup(2, 44100); // Write samples using a Typed Array var samples = new Float32Array([0.242, 0.127, 0.0, -0.058, -0.242, ...]); var numberSamplesWritten = audioOutput.mozWriteAudio(samples); 2010年9月27日月曜日
  • 23. Developer Day Google 2010 Google AudioNode API interface AudioNode { void connect(in AudioNode destination, in unsigned long output = 0, in unsigned long input = 0); void disconnect(in int output = 0); readonly attribute AudioContext context; readonly attribute unsigned long numberOfInputs; readonly attribute unsigned long numberOfOutputs; } 2010年9月27日月曜日
  • 24. Developer Day Google 2010 Example function setupAudioContext() { context = new AudioContext(); compressor = context.createCompressor(); gainNode1 = context.createGainNode(); streamingAudio = document.getElementById('audioTagID'); streamingAudio.audioSource.connect(gainNode1); gainNode1.connect(compressor); compressor.connect(context.destination); } 2010年9月27日月曜日
  • 25. Developer Day Google 2010 Example function playSound() { var oneShotSound = context.createBufferSource(); oneShotSound.buffer = dogBarkingBuffer; // Create a filter, panner, and gain node. var lowpass = context.createLowPass2Filter(); var panner = context.createPanner(); var gainNode2 = context.createGainNode(); // Make connections oneShotSound.connect(lowpass); lowpass.connect(panner); panner.connect(gainNode2); gainNode2.connect(compressor); // Play 0.75 seconds from now oneShotSound.noteOn(context.currentTime + 0.75); } 2010年9月27日月曜日
  • 26. Developer Day Google 2010 new HTML5 parsers • conform to parsing algorithm in HTML5 spec • ensure same DOM for any given byte stream • Mozilla was first to implement and ship (Henri Sivonen); now in Firefox 4 • WebKit now has HTML5 parser too (Adam Barth and Eric Seidel); now in Chrome, WebKit • IE9 parser does not conform to the HTML5 spec but uses some aspects of it 2010年9月27日月曜日
  • 27. Developer Day Google 2010 WebSocket status • two parts: (1) client-side API, (2) protocol • client-side API is simple • WebSocket protocol spec is still unstable • WebSocket protocol will become more complex, not backward-compatible • Ian Fette is now editor of protocol spec • all server libraries will change; browsers too 2010年9月27日月曜日
  • 28. Developer Day Google 2010 Other new APIs • Contacts API: read access to a user's unified address book (useful on mobile, etc.) • Media Capture API: “camera” API; HTML form enhancements to provide access to device image, audio, video capture capabilities of device (useful on mobile, etc.) 2010年9月27日月曜日
  • 29. Developer Day Google 2010 Contact interface interface Contact { readonly attribute DOMString id; attribute DOMString displayName; attribute ContactName name; attribute DOMString nickname; attribute ContactField[] phoneNumbers; attribute ContactField[] emails; attribute ContactAddress[] addresses; attribute ContactField[] ims; attribute ContactOrganization[] organizations; attribute DOMString updated; attribute DOMString birthday; attribute DOMString anniversary; attribute DOMString gender; attribute DOMString note; attribute ContactField[] photos; attribute ContactField[] tags; attribute ContactField[] relationships; attribute ContactField[] urls; attribute DOMString utcOffset; }; 2010年9月27日月曜日
  • 30. Developer Day Google 2010 Contacts API example function successContactFindCallback(contacts) { // do something with resulting contact objects for (var i in contacts) alert(contacts[i].displayName); // ... } function generalErrorCB(error) { // do something with resulting errors alert(error.code); // ... } // Perform address book search. Obtain 'name' and 'emails' properties // and initially filter the list to Contact records containing 'Bob': navigator.service.contacts.find(['name', 'emails'], successContactFindCallback, generalErrorCB, {filter: 'Bob'} ); 2010年9月27日月曜日
  • 31. Developer Day Google 2010 Capture API <input type="file" accept="image/*" id="capture"> <input type="file" accept="image/*;capture=camera" id="capture"> 2010年9月27日月曜日
  • 32. Developer Day Google 2010 Example var captureInput = document.getElementById('capture'); var file = captureInput.files[0]; if (file) { file.getFormatData(displayFormatData, errorHandler); //asynch } // success callback when getting format data function displayFormatData(formatData) { var mainType = file.type.split("/")[0]; // "image", "video" or "audio" var mediaDescriptionNode = document.createElement("p"); if (mainType === "image") { mediaDescriptionNode.appendChild(document.createTextNode( "Dimensions " + formatData.width + "x" + formatData.height); } else { mediaDescriptionNode.appendChild(document.createTextNode( "Duration: " + formatData.duration + "s"); } captureInput.parentNode.insertBefore(mediaDescriptionNode, captureInput); 2010年9月27日月曜日
  • 33. Developer Day Google 2010 HTML5 features unimplemented • HTML5 forms (Web Forms 2) still only completely implemented in Opera; other browsers still like many of the UI parts • HTML5 <details> element; expandable view of detail info, as in, e.g., OS “Get Info” • HTML5 context-menu mechanism; enables a Web app to customize browser context menu (menu shown by right- clicking) 2010年9月27日月曜日
  • 34. Developer Day Google 2010 HTML5 details element <section class="progress window"> <h1>Copying "Really Achieving Your Childhood Dreams"</h1> <details> <summary>Copying... <progress max="3755" value="9752"></progress> 25%</summary> <dl> <dt>Transfer rate:</dt> <dd>452KB/s</dd> <dt>Local filename:</dt> <dd>/home/rpausch/raycd.m4v</dd> <dt>Remote filename:</dt> <dd>/www/lectures/raycd.m4v</dd> <dt>Duration:</dt> <dd>01:16:27</dd> <dt>Color profile:</dt> <dd>SD (6-1-6)</dd> <dt>Dimensions:</dt> <dd>320×240</dd> </dl> </details> </section> 2010年9月27日月曜日
  • 35. Developer Day Google 2010 HTML5 context menu <form name="npc"> <label>Character name: <input name=char type=text contextmenu=namemenu></label> <menu type=context id=namemenu> <command label="Pick random name" onclick="document.forms.npc.elements.char.value = getRandName()"> <command label="Prefill fields based on name" onclick="prefillFields(document.forms.npc.elements.char.value)"> </menu> </form> 2010年9月27日月曜日