Widgets
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Widgets

on

  • 7,480 views

Workshop Slides from Web Direction South W3C SIG day.

Workshop Slides from Web Direction South W3C SIG day.

Statistics

Views

Total Views
7,480
Views on SlideShare
7,418
Embed Views
62

Actions

Likes
6
Downloads
303
Comments
0

6 Embeds 62

http://datadriven.com.au 44
http://jisi.dreamblog.jp 8
http://www.slideshare.net 7
http://honyaku.yahoofs.jp 1
http://www.health.medicbd.com 1
http://www.rseiji.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Widgets Presentation Transcript

  • 1. Marcos Caceres (QUT) :: WDS ::26 September, 2007
  • 2.
    • Interaction designer/developer by trade
    • Joined W3C Web Apps Formats WG in 2006
    • Edit:
      • Widgets 1.0 Requirements
      • Widgets 1.0 Specification (with Anne van Kesteren, Opera Software)
      • XBL 2.0 Primer (with Lachlan Hunt)
    • Doing a PhD on widgets
    05/27/09
  • 3.
    • What are Widgets and Widget Engines?
    • Problem (lack of standards)
    • How to address the problem
    • Widget 1.0 Spec
      • Packaging
      • Runtime instances
    05/27/09
  • 4.
    • A single function application
    • Made from web technologies (easy to build)
    • Usually access local info or web services
    • Types:
      • Desktop
      • Mobile
      • Web
      • Physical
    05/27/09
  • 5.
    • DESKTOP WIDGETS
    • WEB WIDGETS
    05/27/09 Yahoo! Widgets and Sidebar iGoogle Gadgets
  • 6.
    • MOBILE WIDGETS
    • PHYSICAL WIDGET
    05/27/09 Webwag WidgetStation
  • 7.
    • Software on which widgets run.
    • Dashboard, Sidebar, Yahoo, Google Gadgets
    05/27/09 Dashboard (Apple Inc.) Yahoo! Widgets engine
  • 8. 05/27/09 Widget: “An end-user's conceptualisation of an interactive single purpose application for displaying and/or updating local data or data on the Web, packaged in a way to allow a single download and installation on a user's machine or mobile device.” [Widget-reqs]
  • 9.
    • Make a web page
    • Zip it up
    • Publish it online (or send it out)
    • … or at least it should be that easy.
    05/27/09
  • 10.
    • To make a widget more useful:
    • Ajax (web 2.0 stuff)
    • Web services
    • RSS/podcasts
    • Web APIs/mashups
    • Access to device
      • Camera, SMS, etc
    05/27/09
  • 11.
    • Anyone
    • Enterprise uses
      • Eg: SAP
    05/27/09 SAP Prototype Widget [SAP] “… in the U.S. marketing spending on mobile widgets will reach [US]$500 million by 2010, up from about $2 million [in March 2007]” [BusinessWeek] “ 2007: year of the Widget?” [Newsweek]
  • 12.
    • No interoperability across widget engines
    • Security issues not fully resolved
    • Are all user needs met?
        • Enterprise requirements
        • Internationalisation
        • Accessibility
    • How will they work on phones?
      • Mobility
      • Persistent storage? Keeping costs down.
    05/27/09
  • 13.
    • PACKAGING
    • Format and Media Type
    • Automatic Updates
    • Auto-discovery
    • Embedding in HTML
    • Digital Signature
    • WIDGET INSTANCE
    • Initialisation (bootstrapping)
    • Metadata/Preferences
    • DOM APIs and Events
      • Cross-widget communication
    • Rendering
    • Security model
    05/27/09
  • 14.
    • Format
      • Zip (version 2)
        • Deflate or uncompressed
      • Excludes support for:
        • 64Bit
        • Encryption
        • Splitting
        • Unicode 
      • Maximize interoperability
    • Media Type
      • application/widget
    • Extension
      • *.wgt
    05/27/09
  • 15.
    • Keep widget up to date
    • Widget engine periodically checks for updates:
      • Is the Version number
      • HTTP Caching control
        • Etags, Last modified date
    • What happens when there is no caching info?
    • What happens when a widget is auto generated?d
    05/27/09
  • 16.
    • AUTO-DISCOVERY
    • Auto-discovery enables a browser to identify and install a widget that is associated with an web page.
    • <a rel=&quot;widget“ href=“my.wgt“>Widget</a>
    • EMBEDDING IN HTML
    • HTML4/XHTML
      • Using <object>
    • HTML5?
      • We will be approaching HTML-WG.
      • <widget src=“my.wgt”>
        • <div>…Fallback content…</div>
      • </widget?>
    • We are still investigating how to do this.
    05/27/09
  • 17.
    • XML Digital Signature
    • Sign everything in a package
      • Signed Info
        • Crypto algorithm
      • Signed value
      • Key info
        • Digital certificate
      • Manifest
        • The files
    • <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>
    • <Signature xmlns=&quot;http://www.w3.org/2000/09/xmldsig#&quot;>
    • <SignedInfo>
    • <CanonicalizationMethod
    • Algorithm=&quot;http://www.w3.org/TR/2001/REC-xml-c14n-20010315&quot;/>
    • <SignatureMethod
    • Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#rsa-sha1&quot; />
    • <Reference URI=&quot;#References&quot;
    • Type=&quot;http://www.w3.org/2000/09/xmldsig#Manifest&quot;>
    • <DigestMethod
    • Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#sha1&quot;/>
    • <DigestValue>725x3fVasdfvBGFGjhjyDSFvUk=</DigestValue>
    • </Reference>
    • </SignedInfo>
    • <SignatureValue>MC0E~LE=</SignatureValue>
    • <KeyInfo>
    • <X509Data>
    • <X509Certificate>MI...lVN</X509Certificate>
    • </X509Data>
    • </KeyInfo>
    • <Manifest Id=&quot;References&quot;>
    • <Reference URI=&quot;config.xml&quot;>
    • <DigestMethod Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#sha1&quot; />
    • <DigestValue>j6...8nk=</DigestValue>
    • </Reference>
    • <Reference URI=&quot;index.html&quot;>
    • <DigestMethod Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#sha1&quot;/>
    • <DigestValue>lm...34=</DigestValue>
    • </Reference>
    • <Reference URI=&quot;pictures/picture1.gif&quot;>
    • <DigestMethod Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#sha1&quot;/>
    • <DigestValue>pq...56=</DigestValue>
    • </Reference>
    • </Manifest>
    • </Signature>
    05/27/09
  • 18.
    • BOOTSTRAPPING
    • Automatically finding the start folder and file:
      • HTML, XML, SVG support (?)
    • Internationalized context
      • /en/,/en-au/ ,/en-us/
    • Automatically launching the start file and configuring the application
    • METADATA
    • config.xml
    • Metadata/Preferences
      • Widget (id, version, width, height, start)
        • title
        • Author (url, email)
        • description
        • License
    • Namespace  :
      • http://www.w3.org/ns/widgets
    05/27/09
  • 19.
    • Leverage JavaScript+XHR
    • Widget Object
      • openURL(url);
      • preferenceForKey(key)
      • setPreferenceForKey(value, key)
    • Extensions to window
      • resizeTo, resizeBy, moveTo, moveBy
    • Events
      • state change, modal priorities
    • Cross widget communication
      • HTML 5’s model
    05/27/09
  • 20.
    • SECURITY MODEL
    • No yet specified.
    • Should we lock it down or open it up?
    • Disk access?
    • Cross-domain requests?
    • Plugins? Flash? Java? Executables?
    • RENDERING
    • Handling transparency in irregularly shaped widgets
    05/27/09
  • 21.
    • [email_address]
    • Widget images (Microsoft Vista Sidebar)
    • References
    • [HTML5]
    • http://www.whatwg.org/specs/web-apps/current-work/
    • [BusinessWeek]
    • Kharif, O. (2007, March 27). Widgets Gone Wireless. Retrieved 5 21, 2007: http://www.businessweek.com/technology/content/mar2007/tc20070327_532303.htm
    • [SAP]
    • https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/5598
    • [Widget-reqs]
    • http://www.w3.org/TR/widget-reqs/
    • [Widget-spec]
    • http://www.w3.org/TR/widget/
    05/27/09