SlideShare a Scribd company logo
1 of 24
Download to read offline
+
Widgets

Scott Wilson
scottbw@apache.org
http://incubator.apache.org/wookie
Here is a mad idea

 lets make mobile
apps using JUST html
   and javascript

  i wonder what
 Google and Apple
      think?
“no software developer kit is
  required for the iPhone.”
          Steve Jobs, 2007
“App stores are not the
 future”, says Google (FT 2009)
Java!




 Objective-C!




WTF?
Widgets
  HTML
                config.xml
JavaScript

   CSS              Icon.png

     mywidget.wgt
W3C Widgets: for Web,
       Mobile, or Desktop?



Apple Dashboard   OpenSocial       Nokia Widgets
Windows Sidebar   Google Gadgets   iPhone Apps
Google Desktop    Google Wave      Android Apps
Konfabulator        Gadgets        Widsets
Opera Widgets     WidgetBox
                  SpringWidgets
How about, “yes”?
Device APIs: Adding
   Handset Capabilities to
         JavaScript
               •   Address Book
               •   Calendar
• BONDI
               •   Files
               •   Media capture
• W3 DAP           (camera)
               •   Messaging
• W3 Geo       •   System
               •   Policy
               •   Media Gallery
               •   Tasks
  JavaScript   •   Comms Log
<html>
  <head>
         <script>
  function takePicture(){
  var camera = bondi.camera.getCameras()[0];
  camera.takePicture(function(pic){document.getElementBy
  Id("picture").src=pic;},function(){alert("nope");});
  }
         </script>
  </head>
  <body>
      <button onclick="takePicture()">Take
  Picture</button>
         <img id="picture" src="" width="64" height="64"/>
  </body>
</html>
Feature mapping
<feature
  name=“http://bondi.omtp.org/api/camera.capture”
   required=“true”
/>




   JavaScript
Feature mixing!
<feature name=“http://opensocial.org/osapi.person”
  required=“true”/>

<feature name=“http://wave.google.com”
  required=“true”/>

You can connect all kinds of functionality to widgets by
  injecting a JS API for it at runtime - and not just device
  APIs either

    Did you know that Opera Unite services were W3C Widgets?



    JavaScript
“W3C Widgets are better than websites
  because they download only the data;
  and not the core files.”

“Widgets are better than app systems
  because you don't have to write 4, 5, or
  10 of them. Just the one is enough.”

“And hundreds of thousands of web
  developers already know how to create
  widgets.It's just HTML/CSS/JavaScript,
  after all.”

- Peter Paul Koch
So is this W3C
thing going to
  take off?
“A fundamental part of WAC is to ensure that developers have the
simplest method by which they can create applications for the long tail.
A key part of this is to endorse and encourage the use of technologies
which are based around open standards. WAC plans to initially use both
the JIL and OMTP BONDI requirements, evolving these into a common
specification within the next 12 months. The long term goal will be to
collectively work with the W3C for a common standard based on our
converged solution.”
OK, so how Could
  you get this
 into Android?
“I came here to ask if it's possible Google
   Android will support W3C Widgets not
   instead of but in addition to its own app
   system.”

“We need:
- a browser (Android WebKit will do perfectly
  fine, thanks)
- a way of associating .wgt files with this
  browser OR an installation mechanism
- JavaScript device APIs”

   – PPK
A Java server application in
              the Apache Incubator.
              Includes a W3C Widget
              parser library.


* “Wookie” is not a clever acronym. so if you spell it WOOKIE you’re shouting!
Other possibilities…
• Feature extensions beyond BONDI/DAP
  ..?
• Widget and feature extensions for “other”
  platforms. E.g. Android on TVs, kiosks,
  uncategorizable gizmos etc
• Android+W3C Widget powered Chumby-
  like-things?
Thanks
scottbw@apache.org
@scottbw
http://incubator.apache.org/wookie

More Related Content

What's hot

(2015년 상반기) HTML5 및 Hybrid app 최신 동향
(2015년 상반기) HTML5 및 Hybrid app 최신 동향(2015년 상반기) HTML5 및 Hybrid app 최신 동향
(2015년 상반기) HTML5 및 Hybrid app 최신 동향Wonsuk Lee
 
Automated perf optimization - jQuery Conference
Automated perf optimization - jQuery ConferenceAutomated perf optimization - jQuery Conference
Automated perf optimization - jQuery ConferenceMatthew Lancaster
 
jQuery Foundation Keynote
jQuery Foundation KeynotejQuery Foundation Keynote
jQuery Foundation KeynoteRichard Worth
 
Polymer presentation in Google HQ
Polymer presentation in Google HQPolymer presentation in Google HQ
Polymer presentation in Google HQHarshit Pandey
 
jQuery Mobile Overview - Boston
jQuery Mobile  Overview -  BostonjQuery Mobile  Overview -  Boston
jQuery Mobile Overview - BostonTodd Parker
 
Developing advanced universal apps using html & js
Developing advanced universal apps using html & jsDeveloping advanced universal apps using html & js
Developing advanced universal apps using html & jsSenthamil Selvan
 
Building AR and VR Experiences for Web Apps with JavaScript
Building AR and VR Experiences for Web Apps with JavaScriptBuilding AR and VR Experiences for Web Apps with JavaScript
Building AR and VR Experiences for Web Apps with JavaScriptFITC
 
jQuery Keynote - Fall 2010
jQuery Keynote - Fall 2010jQuery Keynote - Fall 2010
jQuery Keynote - Fall 2010jeresig
 
React JS Belgium Touch Base - React, Flux, React Native
React JS Belgium Touch Base - React, Flux, React NativeReact JS Belgium Touch Base - React, Flux, React Native
React JS Belgium Touch Base - React, Flux, React NativePhilos.io
 
Google web toolkit ( Gwt )
 Google web toolkit ( Gwt ) Google web toolkit ( Gwt )
Google web toolkit ( Gwt )Pankaj Bhasker
 
GDG Atlanta - Angular.js Demo and Workshop
GDG Atlanta - Angular.js Demo and WorkshopGDG Atlanta - Angular.js Demo and Workshop
GDG Atlanta - Angular.js Demo and WorkshopDrew Morris
 
Drupal's competition
Drupal's competitionDrupal's competition
Drupal's competitionAngela Byron
 
JS FAST Prototyping with AngularJS & RequireJS
JS FAST Prototyping with AngularJS & RequireJSJS FAST Prototyping with AngularJS & RequireJS
JS FAST Prototyping with AngularJS & RequireJSYuriy Silvestrov
 
서버개발자의 프론트엔드 맛보기
서버개발자의 프론트엔드 맛보기서버개발자의 프론트엔드 맛보기
서버개발자의 프론트엔드 맛보기JongYoon Lim
 
Prototyping app using JS and HTML5 (Ciklum Kharkiv)
Prototyping app using JS and HTML5 (Ciklum Kharkiv)Prototyping app using JS and HTML5 (Ciklum Kharkiv)
Prototyping app using JS and HTML5 (Ciklum Kharkiv)Yuriy Silvestrov
 
Using WordPress for Rapid Prototyping
Using WordPress for Rapid PrototypingUsing WordPress for Rapid Prototyping
Using WordPress for Rapid PrototypingDrew Morris
 
GWT + Gears : The browser is the platform
GWT + Gears : The browser is the platformGWT + Gears : The browser is the platform
GWT + Gears : The browser is the platformDidier Girard
 
JavaScript MV* Framework - Making the Right Choice
JavaScript MV* Framework - Making the Right ChoiceJavaScript MV* Framework - Making the Right Choice
JavaScript MV* Framework - Making the Right ChoiceDmitry Sheiko
 

What's hot (20)

(2015년 상반기) HTML5 및 Hybrid app 최신 동향
(2015년 상반기) HTML5 및 Hybrid app 최신 동향(2015년 상반기) HTML5 및 Hybrid app 최신 동향
(2015년 상반기) HTML5 및 Hybrid app 최신 동향
 
Automated perf optimization - jQuery Conference
Automated perf optimization - jQuery ConferenceAutomated perf optimization - jQuery Conference
Automated perf optimization - jQuery Conference
 
jQuery Foundation Keynote
jQuery Foundation KeynotejQuery Foundation Keynote
jQuery Foundation Keynote
 
Polymer presentation in Google HQ
Polymer presentation in Google HQPolymer presentation in Google HQ
Polymer presentation in Google HQ
 
jQuery Mobile Overview - Boston
jQuery Mobile  Overview -  BostonjQuery Mobile  Overview -  Boston
jQuery Mobile Overview - Boston
 
Developing advanced universal apps using html & js
Developing advanced universal apps using html & jsDeveloping advanced universal apps using html & js
Developing advanced universal apps using html & js
 
Building AR and VR Experiences for Web Apps with JavaScript
Building AR and VR Experiences for Web Apps with JavaScriptBuilding AR and VR Experiences for Web Apps with JavaScript
Building AR and VR Experiences for Web Apps with JavaScript
 
jQuery Keynote - Fall 2010
jQuery Keynote - Fall 2010jQuery Keynote - Fall 2010
jQuery Keynote - Fall 2010
 
React JS Belgium Touch Base - React, Flux, React Native
React JS Belgium Touch Base - React, Flux, React NativeReact JS Belgium Touch Base - React, Flux, React Native
React JS Belgium Touch Base - React, Flux, React Native
 
Google web toolkit ( Gwt )
 Google web toolkit ( Gwt ) Google web toolkit ( Gwt )
Google web toolkit ( Gwt )
 
GDG Atlanta - Angular.js Demo and Workshop
GDG Atlanta - Angular.js Demo and WorkshopGDG Atlanta - Angular.js Demo and Workshop
GDG Atlanta - Angular.js Demo and Workshop
 
GWT widget development
GWT widget developmentGWT widget development
GWT widget development
 
Drupal's competition
Drupal's competitionDrupal's competition
Drupal's competition
 
JS FAST Prototyping with AngularJS & RequireJS
JS FAST Prototyping with AngularJS & RequireJSJS FAST Prototyping with AngularJS & RequireJS
JS FAST Prototyping with AngularJS & RequireJS
 
서버개발자의 프론트엔드 맛보기
서버개발자의 프론트엔드 맛보기서버개발자의 프론트엔드 맛보기
서버개발자의 프론트엔드 맛보기
 
Prototyping app using JS and HTML5 (Ciklum Kharkiv)
Prototyping app using JS and HTML5 (Ciklum Kharkiv)Prototyping app using JS and HTML5 (Ciklum Kharkiv)
Prototyping app using JS and HTML5 (Ciklum Kharkiv)
 
Using WordPress for Rapid Prototyping
Using WordPress for Rapid PrototypingUsing WordPress for Rapid Prototyping
Using WordPress for Rapid Prototyping
 
GWT + Gears : The browser is the platform
GWT + Gears : The browser is the platformGWT + Gears : The browser is the platform
GWT + Gears : The browser is the platform
 
A team 43 C
A team 43 CA team 43 C
A team 43 C
 
JavaScript MV* Framework - Making the Right Choice
JavaScript MV* Framework - Making the Right ChoiceJavaScript MV* Framework - Making the Right Choice
JavaScript MV* Framework - Making the Right Choice
 

Viewers also liked

Kogukondjavorgustik
KogukondjavorgustikKogukondjavorgustik
KogukondjavorgustikKai Pata
 
Teachmeet Musselburgh Introduction Slideshare
Teachmeet Musselburgh Introduction  SlideshareTeachmeet Musselburgh Introduction  Slideshare
Teachmeet Musselburgh Introduction SlideshareOllie Bray
 
Updaters Shift Happens
Updaters Shift HappensUpdaters Shift Happens
Updaters Shift HappensWagner Brenner
 
Blogging Inset
Blogging InsetBlogging Inset
Blogging Insetgriggans
 
Projektõppe metoodika
Projektõppe metoodikaProjektõppe metoodika
Projektõppe metoodikaaluojalaine
 
Web 2.0 The Very Basics Remote
Web 2.0 The Very Basics RemoteWeb 2.0 The Very Basics Remote
Web 2.0 The Very Basics Remotebibliotecaria
 
Term 2 Yr 11 Welcome Ppt
Term 2   Yr 11 Welcome PptTerm 2   Yr 11 Welcome Ppt
Term 2 Yr 11 Welcome Pptrddietrich
 
Shoulder Impairment
Shoulder ImpairmentShoulder Impairment
Shoulder Impairmentptbyjason
 
20080618
2008061820080618
20080618ercnet
 
Ucan Do Iwb’S Too
Ucan Do Iwb’S TooUcan Do Iwb’S Too
Ucan Do Iwb’S Toojohnp
 
Thanh cong ngay_tu_ghe_giang_duong
Thanh cong ngay_tu_ghe_giang_duongThanh cong ngay_tu_ghe_giang_duong
Thanh cong ngay_tu_ghe_giang_duonghaihuong2005
 
What are we educating for? - digital education tools for 2010s
What are we educating for? - digital education tools for 2010sWhat are we educating for? - digital education tools for 2010s
What are we educating for? - digital education tools for 2010sOllie Bray
 
OKoloogiline Uus Veeb Ja Selle Kasutamine Keskkonnahariduses
OKoloogiline Uus Veeb Ja Selle Kasutamine KeskkonnaharidusesOKoloogiline Uus Veeb Ja Selle Kasutamine Keskkonnahariduses
OKoloogiline Uus Veeb Ja Selle Kasutamine KeskkonnaharidusesKai Pata
 
Pedaspectsoflearntechn kak6003a
Pedaspectsoflearntechn kak6003aPedaspectsoflearntechn kak6003a
Pedaspectsoflearntechn kak6003aKai Pata
 
Katy Fit Kids Calendar
Katy Fit Kids CalendarKaty Fit Kids Calendar
Katy Fit Kids Calendarptbyjason
 
The New Gathering Place - Social Media for Arts Businessess
The New Gathering Place -  Social Media for Arts BusinessessThe New Gathering Place -  Social Media for Arts Businessess
The New Gathering Place - Social Media for Arts BusinessessLinda Groendyke
 
What are we educating for? - digital education tools for 2010s
What are we educating for? - digital education tools for 2010sWhat are we educating for? - digital education tools for 2010s
What are we educating for? - digital education tools for 2010sOllie Bray
 
Pinocchio
PinocchioPinocchio
Pinocchiopaoluc
 

Viewers also liked (20)

Kogukondjavorgustik
KogukondjavorgustikKogukondjavorgustik
Kogukondjavorgustik
 
Teachmeet Musselburgh Introduction Slideshare
Teachmeet Musselburgh Introduction  SlideshareTeachmeet Musselburgh Introduction  Slideshare
Teachmeet Musselburgh Introduction Slideshare
 
Updaters Shift Happens
Updaters Shift HappensUpdaters Shift Happens
Updaters Shift Happens
 
Blogging Inset
Blogging InsetBlogging Inset
Blogging Inset
 
Projektõppe metoodika
Projektõppe metoodikaProjektõppe metoodika
Projektõppe metoodika
 
Web 2.0 The Very Basics Remote
Web 2.0 The Very Basics RemoteWeb 2.0 The Very Basics Remote
Web 2.0 The Very Basics Remote
 
Term 2 Yr 11 Welcome Ppt
Term 2   Yr 11 Welcome PptTerm 2   Yr 11 Welcome Ppt
Term 2 Yr 11 Welcome Ppt
 
Shoulder Impairment
Shoulder ImpairmentShoulder Impairment
Shoulder Impairment
 
20080618
2008061820080618
20080618
 
Ucan Do Iwb’S Too
Ucan Do Iwb’S TooUcan Do Iwb’S Too
Ucan Do Iwb’S Too
 
Proeven aan Proeve HvA 15 april 2010
Proeven aan Proeve HvA 15 april 2010Proeven aan Proeve HvA 15 april 2010
Proeven aan Proeve HvA 15 april 2010
 
Thanh cong ngay_tu_ghe_giang_duong
Thanh cong ngay_tu_ghe_giang_duongThanh cong ngay_tu_ghe_giang_duong
Thanh cong ngay_tu_ghe_giang_duong
 
What are we educating for? - digital education tools for 2010s
What are we educating for? - digital education tools for 2010sWhat are we educating for? - digital education tools for 2010s
What are we educating for? - digital education tools for 2010s
 
Resistants
ResistantsResistants
Resistants
 
OKoloogiline Uus Veeb Ja Selle Kasutamine Keskkonnahariduses
OKoloogiline Uus Veeb Ja Selle Kasutamine KeskkonnaharidusesOKoloogiline Uus Veeb Ja Selle Kasutamine Keskkonnahariduses
OKoloogiline Uus Veeb Ja Selle Kasutamine Keskkonnahariduses
 
Pedaspectsoflearntechn kak6003a
Pedaspectsoflearntechn kak6003aPedaspectsoflearntechn kak6003a
Pedaspectsoflearntechn kak6003a
 
Katy Fit Kids Calendar
Katy Fit Kids CalendarKaty Fit Kids Calendar
Katy Fit Kids Calendar
 
The New Gathering Place - Social Media for Arts Businessess
The New Gathering Place -  Social Media for Arts BusinessessThe New Gathering Place -  Social Media for Arts Businessess
The New Gathering Place - Social Media for Arts Businessess
 
What are we educating for? - digital education tools for 2010s
What are we educating for? - digital education tools for 2010sWhat are we educating for? - digital education tools for 2010s
What are we educating for? - digital education tools for 2010s
 
Pinocchio
PinocchioPinocchio
Pinocchio
 

Similar to Android

Mobile Vue.js – From PWA to Native
Mobile Vue.js – From PWA to NativeMobile Vue.js – From PWA to Native
Mobile Vue.js – From PWA to NativeMartinSotirov
 
Open Source Junction: Apache Wookie and W3C Widgets
Open Source Junction: Apache Wookie and W3C WidgetsOpen Source Junction: Apache Wookie and W3C Widgets
Open Source Junction: Apache Wookie and W3C Widgetsscottw
 
DIY- computer vision with GWT
DIY- computer vision with GWTDIY- computer vision with GWT
DIY- computer vision with GWTFrancesca Tosi
 
DIY: Computer Vision with GWT.
DIY: Computer Vision with GWT.DIY: Computer Vision with GWT.
DIY: Computer Vision with GWT.JooinK
 
From Idea to App (or “How we roll at Small Town Heroes”)
From Idea to App (or “How we roll at Small Town Heroes”)From Idea to App (or “How we roll at Small Town Heroes”)
From Idea to App (or “How we roll at Small Town Heroes”)Bramus Van Damme
 
Andriy Vandakurov about "Frontend. Global domination"
Andriy Vandakurov about  "Frontend. Global domination" Andriy Vandakurov about  "Frontend. Global domination"
Andriy Vandakurov about "Frontend. Global domination" Pivorak MeetUp
 
Desktop apps with node webkit
Desktop apps with node webkitDesktop apps with node webkit
Desktop apps with node webkitPaul Jensen
 
Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web ToolkitDidier Girard
 
HTML5 for Rich User Experience
HTML5 for Rich User ExperienceHTML5 for Rich User Experience
HTML5 for Rich User ExperienceMahbubur Rahman
 
Cross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic FrameworkCross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic FrameworkTroy Miles
 
APIs for modern web apps
APIs for modern web appsAPIs for modern web apps
APIs for modern web appsChris Mills
 
HTML Hypermedia APIs and Adaptive Web Design - Nordic APIs
HTML Hypermedia APIs and Adaptive Web Design - Nordic APIsHTML Hypermedia APIs and Adaptive Web Design - Nordic APIs
HTML Hypermedia APIs and Adaptive Web Design - Nordic APIsGustaf Nilsson Kotte
 
Cordova: Making Native Mobile Apps With Your Web Skills
Cordova: Making Native Mobile Apps With Your Web SkillsCordova: Making Native Mobile Apps With Your Web Skills
Cordova: Making Native Mobile Apps With Your Web SkillsClay Ewing
 
Busy Developer's Guide to Windows 8 HTML/JavaScript Apps
Busy Developer's Guide to Windows 8 HTML/JavaScript AppsBusy Developer's Guide to Windows 8 HTML/JavaScript Apps
Busy Developer's Guide to Windows 8 HTML/JavaScript AppsJAX London
 

Similar to Android (20)

Mobile Vue.js – From PWA to Native
Mobile Vue.js – From PWA to NativeMobile Vue.js – From PWA to Native
Mobile Vue.js – From PWA to Native
 
Apps & Widgets in Mobile Learning
Apps & Widgets in Mobile LearningApps & Widgets in Mobile Learning
Apps & Widgets in Mobile Learning
 
Open Source Junction: Apache Wookie and W3C Widgets
Open Source Junction: Apache Wookie and W3C WidgetsOpen Source Junction: Apache Wookie and W3C Widgets
Open Source Junction: Apache Wookie and W3C Widgets
 
DIY- computer vision with GWT
DIY- computer vision with GWTDIY- 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 GWT.
 
Widgets WorkShop for Libraries
Widgets WorkShop for LibrariesWidgets WorkShop for Libraries
Widgets WorkShop for Libraries
 
From Idea to App (or “How we roll at Small Town Heroes”)
From Idea to App (or “How we roll at Small Town Heroes”)From Idea to App (or “How we roll at Small Town Heroes”)
From Idea to App (or “How we roll at Small Town Heroes”)
 
Andriy Vandakurov about "Frontend. Global domination"
Andriy Vandakurov about  "Frontend. Global domination" Andriy Vandakurov about  "Frontend. Global domination"
Andriy Vandakurov about "Frontend. Global domination"
 
Pivorak.javascript.global domination
Pivorak.javascript.global dominationPivorak.javascript.global domination
Pivorak.javascript.global domination
 
Desktop apps with node webkit
Desktop apps with node webkitDesktop apps with node webkit
Desktop apps with node webkit
 
Hybrid HTML5 Apps
Hybrid HTML5 AppsHybrid HTML5 Apps
Hybrid HTML5 Apps
 
Intro to PhoneGap
Intro to PhoneGapIntro to PhoneGap
Intro to PhoneGap
 
Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web Toolkit
 
HTML5 for Rich User Experience
HTML5 for Rich User ExperienceHTML5 for Rich User Experience
HTML5 for Rich User Experience
 
Cross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic FrameworkCross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic Framework
 
Location Based Services Without the Cocoa
Location Based Services Without the CocoaLocation Based Services Without the Cocoa
Location Based Services Without the Cocoa
 
APIs for modern web apps
APIs for modern web appsAPIs for modern web apps
APIs for modern web apps
 
HTML Hypermedia APIs and Adaptive Web Design - Nordic APIs
HTML Hypermedia APIs and Adaptive Web Design - Nordic APIsHTML Hypermedia APIs and Adaptive Web Design - Nordic APIs
HTML Hypermedia APIs and Adaptive Web Design - Nordic APIs
 
Cordova: Making Native Mobile Apps With Your Web Skills
Cordova: Making Native Mobile Apps With Your Web SkillsCordova: Making Native Mobile Apps With Your Web Skills
Cordova: Making Native Mobile Apps With Your Web Skills
 
Busy Developer's Guide to Windows 8 HTML/JavaScript Apps
Busy Developer's Guide to Windows 8 HTML/JavaScript AppsBusy Developer's Guide to Windows 8 HTML/JavaScript Apps
Busy Developer's Guide to Windows 8 HTML/JavaScript Apps
 

More from scottw

Getting the Maximum Benefit from Free and Open Source Software
Getting the Maximum Benefit from Free and Open Source SoftwareGetting the Maximum Benefit from Free and Open Source Software
Getting the Maximum Benefit from Free and Open Source Softwarescottw
 
How to engage students in real open source projects
How to engage students in real open source projectsHow to engage students in real open source projects
How to engage students in real open source projectsscottw
 
Free, Libre and Open Source Software and Further Education
Free, Libre and Open Source Software and Further EducationFree, Libre and Open Source Software and Further Education
Free, Libre and Open Source Software and Further Educationscottw
 
Open Forges and App Stores
Open Forges and App StoresOpen Forges and App Stores
Open Forges and App Storesscottw
 
Delivering Web To Mobile
Delivering Web To MobileDelivering Web To Mobile
Delivering Web To Mobilescottw
 
Creating mobile web apps
Creating mobile web appsCreating mobile web apps
Creating mobile web appsscottw
 
Widgets and Mashups for Personal and Institutional Technologies
Widgets and Mashups for Personal and Institutional Technologies Widgets and Mashups for Personal and Institutional Technologies
Widgets and Mashups for Personal and Institutional Technologies scottw
 
Dissemination beyond academic circles
Dissemination beyond academic circlesDissemination beyond academic circles
Dissemination beyond academic circlesscottw
 
Wookie Intro
Wookie IntroWookie Intro
Wookie Introscottw
 
Build Widgets
Build WidgetsBuild Widgets
Build Widgetsscottw
 
Wookie Meetup
Wookie MeetupWookie Meetup
Wookie Meetupscottw
 
Wookie Meetup
Wookie MeetupWookie Meetup
Wookie Meetupscottw
 
Life of a Wookie
Life of a WookieLife of a Wookie
Life of a Wookiescottw
 
CRM & HE
CRM & HECRM & HE
CRM & HEscottw
 
Presence
PresencePresence
Presencescottw
 
FeedForward at RSP
FeedForward at RSPFeedForward at RSP
FeedForward at RSPscottw
 
Boxcri
BoxcriBoxcri
Boxcriscottw
 
Widgets And Wookies
Widgets And WookiesWidgets And Wookies
Widgets And Wookiesscottw
 
Widgets - the Wookie project
Widgets - the Wookie projectWidgets - the Wookie project
Widgets - the Wookie projectscottw
 
Argosi
ArgosiArgosi
Argosiscottw
 

More from scottw (20)

Getting the Maximum Benefit from Free and Open Source Software
Getting the Maximum Benefit from Free and Open Source SoftwareGetting the Maximum Benefit from Free and Open Source Software
Getting the Maximum Benefit from Free and Open Source Software
 
How to engage students in real open source projects
How to engage students in real open source projectsHow to engage students in real open source projects
How to engage students in real open source projects
 
Free, Libre and Open Source Software and Further Education
Free, Libre and Open Source Software and Further EducationFree, Libre and Open Source Software and Further Education
Free, Libre and Open Source Software and Further Education
 
Open Forges and App Stores
Open Forges and App StoresOpen Forges and App Stores
Open Forges and App Stores
 
Delivering Web To Mobile
Delivering Web To MobileDelivering Web To Mobile
Delivering Web To Mobile
 
Creating mobile web apps
Creating mobile web appsCreating mobile web apps
Creating mobile web apps
 
Widgets and Mashups for Personal and Institutional Technologies
Widgets and Mashups for Personal and Institutional Technologies Widgets and Mashups for Personal and Institutional Technologies
Widgets and Mashups for Personal and Institutional Technologies
 
Dissemination beyond academic circles
Dissemination beyond academic circlesDissemination beyond academic circles
Dissemination beyond academic circles
 
Wookie Intro
Wookie IntroWookie Intro
Wookie Intro
 
Build Widgets
Build WidgetsBuild Widgets
Build Widgets
 
Wookie Meetup
Wookie MeetupWookie Meetup
Wookie Meetup
 
Wookie Meetup
Wookie MeetupWookie Meetup
Wookie Meetup
 
Life of a Wookie
Life of a WookieLife of a Wookie
Life of a Wookie
 
CRM & HE
CRM & HECRM & HE
CRM & HE
 
Presence
PresencePresence
Presence
 
FeedForward at RSP
FeedForward at RSPFeedForward at RSP
FeedForward at RSP
 
Boxcri
BoxcriBoxcri
Boxcri
 
Widgets And Wookies
Widgets And WookiesWidgets And Wookies
Widgets And Wookies
 
Widgets - the Wookie project
Widgets - the Wookie projectWidgets - the Wookie project
Widgets - the Wookie project
 
Argosi
ArgosiArgosi
Argosi
 

Recently uploaded

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 

Recently uploaded (20)

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 

Android

  • 2. Here is a mad idea lets make mobile apps using JUST html and javascript i wonder what Google and Apple think?
  • 3. “no software developer kit is required for the iPhone.” Steve Jobs, 2007
  • 4. “App stores are not the future”, says Google (FT 2009)
  • 6. Widgets HTML config.xml JavaScript CSS Icon.png mywidget.wgt
  • 7. W3C Widgets: for Web, Mobile, or Desktop? Apple Dashboard OpenSocial Nokia Widgets Windows Sidebar Google Gadgets iPhone Apps Google Desktop Google Wave Android Apps Konfabulator Gadgets Widsets Opera Widgets WidgetBox SpringWidgets
  • 9. Device APIs: Adding Handset Capabilities to JavaScript • Address Book • Calendar • BONDI • Files • Media capture • W3 DAP (camera) • Messaging • W3 Geo • System • Policy • Media Gallery • Tasks JavaScript • Comms Log
  • 10. <html> <head> <script> function takePicture(){ var camera = bondi.camera.getCameras()[0]; camera.takePicture(function(pic){document.getElementBy Id("picture").src=pic;},function(){alert("nope");}); } </script> </head> <body> <button onclick="takePicture()">Take Picture</button> <img id="picture" src="" width="64" height="64"/> </body> </html>
  • 11. Feature mapping <feature name=“http://bondi.omtp.org/api/camera.capture” required=“true” /> JavaScript
  • 12. Feature mixing! <feature name=“http://opensocial.org/osapi.person” required=“true”/> <feature name=“http://wave.google.com” required=“true”/> You can connect all kinds of functionality to widgets by injecting a JS API for it at runtime - and not just device APIs either Did you know that Opera Unite services were W3C Widgets? JavaScript
  • 13. “W3C Widgets are better than websites because they download only the data; and not the core files.” “Widgets are better than app systems because you don't have to write 4, 5, or 10 of them. Just the one is enough.” “And hundreds of thousands of web developers already know how to create widgets.It's just HTML/CSS/JavaScript, after all.” - Peter Paul Koch
  • 14. So is this W3C thing going to take off?
  • 15.
  • 16.
  • 17.
  • 18. “A fundamental part of WAC is to ensure that developers have the simplest method by which they can create applications for the long tail. A key part of this is to endorse and encourage the use of technologies which are based around open standards. WAC plans to initially use both the JIL and OMTP BONDI requirements, evolving these into a common specification within the next 12 months. The long term goal will be to collectively work with the W3C for a common standard based on our converged solution.”
  • 19. OK, so how Could you get this into Android?
  • 20. “I came here to ask if it's possible Google Android will support W3C Widgets not instead of but in addition to its own app system.” “We need: - a browser (Android WebKit will do perfectly fine, thanks) - a way of associating .wgt files with this browser OR an installation mechanism - JavaScript device APIs” – PPK
  • 21. A Java server application in the Apache Incubator. Includes a W3C Widget parser library. * “Wookie” is not a clever acronym. so if you spell it WOOKIE you’re shouting!
  • 22.
  • 23. Other possibilities… • Feature extensions beyond BONDI/DAP ..? • Widget and feature extensions for “other” platforms. E.g. Android on TVs, kiosks, uncategorizable gizmos etc • Android+W3C Widget powered Chumby- like-things?