+ All Categories

Android

Date post: 15-Nov-2014
Category:
Upload: scottw
View: 3,919 times
Download: 0 times
Share this document with a friend
Description:
This is the set of slides for a talk I gave at the Londroid (London Android) meetup on 15th April 2010.
24
Widgets + Scott Wilson [email protected] http://incubator.apache.org/wookie
Transcript
Page 1: Android

Widgets+

Scott [email protected]://incubator.apache.org/wookie

Page 2: Android

Here is a mad idea

lets make mobileapps using JUST html

and javascript

i wonder whatGoogle and Apple

think?

Page 3: Android

“no software developer kit isrequired for the iPhone.”

Steve Jobs, 2007

Page 4: Android

“App stores are not thefuture”, says Google (FT 2009)

Page 5: Android

Java!

Objective-C!

WTF?

Page 6: Android

Widgets

HTML

JavaScript

CSS

config.xml

mywidget.wgtIcon.png

Page 7: Android

W3C Widgets: for Web,Mobile, or Desktop?

Apple DashboardWindows SidebarGoogle DesktopKonfabulatorOpera Widgets

OpenSocialGoogle GadgetsGoogle Wave

GadgetsWidgetBoxSpringWidgets

Nokia WidgetsiPhone AppsAndroid AppsWidsets

Page 8: Android

How about, “yes”?

Page 9: Android

Device APIs: AddingHandset Capabilities to

JavaScript

• BONDI

• W3 DAP

• W3 Geo

• Address Book• Calendar• Files• Media capture

(camera)• Messaging• System• Policy• Media Gallery• Tasks• Comms Log

JavaScript

Page 10: Android

<html><head>

<script>function takePicture(){var camera = bondi.camera.getCameras()[0];camera.takePicture(function(pic){document.getElementById("picture").src=pic;},function(){alert("nope");});}

</script></head><body>

<button onclick="takePicture()">TakePicture</button>

<img id="picture" src="" width="64" height="64"/></body>

</html>

Page 11: Android

Feature mapping<feature name=“http://bondi.omtp.org/api/camera.capture”

required=“true”/>

JavaScript

Page 12: Android

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 byinjecting a JS API for it at runtime - and not just deviceAPIs either

JavaScript

Did you know that Opera Unite services were W3C Widgets?

Page 13: Android

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

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

“And hundreds of thousands of webdevelopers already know how to createwidgets.It's just HTML/CSS/JavaScript,after all.”

- Peter Paul Koch

Page 14: Android

So is this W3Cthing going to

take off?

Page 15: Android
Page 16: Android
Page 17: Android
Page 18: Android

“A fundamental part of WAC is to ensure that developers have thesimplest method by which they can create applications for the long tail.A key part of this is to endorse and encourage the use of technologieswhich are based around open standards. WAC plans to initially use boththe JIL and OMTP BONDI requirements, evolving these into a commonspecification within the next 12 months. The long term goal will be tocollectively work with the W3C for a common standard based on ourconverged solution.”

Page 19: Android

OK, so how Couldyou get thisinto Android?

Page 20: Android

“I came here to ask if it's possible GoogleAndroid will support W3C Widgets notinstead of but in addition to its own appsystem.”

“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

Page 21: Android

* “Wookie” is not a clever acronym. so if you spell it WOOKIE you’re shouting!

A Java server application inthe Apache Incubator.Includes a W3C Widgetparser library.

Page 22: Android
Page 23: Android

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?

Page 24: Android

Thanks

[email protected]@scottbwhttp://incubator.apache.org/wookie


Recommended