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

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
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
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
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
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
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
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
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
 
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
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
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
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
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
 

Recently uploaded (20)

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
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
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
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
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
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
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
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
 
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
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
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!
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
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?
 

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?