Slideshare.net (beta)

 
Post: 
Myspace Hi5 Friendster Xanga LiveJournal Facebook Blogger Tagged Typepad Freewebs BlackPlanet gigya icons

All comments

Add a comment on Slide 1

If you have a SlideShare account, login to comment; else you can comment as a guest


Showing 1-50 of 4 (more)

Project Syndroid

From cromwellian, 3 months ago

A proposed architecture for a Gadget API that allows deployment of more

2067 views  |  0 comments  |  4 favorites  |  69 downloads  |  1 embed (Stats)
 

Groups/Events

Not added to any group/event

 
 

Privacy InfoNew!

This slideshow is Public

 
Embed in your blog
Embed (wordpress.com)

Slideshow Statistics
Total Views: 2067
on Slideshare: 1295
from embeds: 772* * Views from embeds since 21 Aug, 07

Slideshow transcript

Slide 1: Project Syndroid Gadgets on a Cloud Computing Platform Ray Cromwell CTO Timepedia.org

Slide 2: Problem: Gadgets can span many Clouds Android iGoogle OSX Google Yahoo Desktop And many Flash widget startups

Slide 3: Clouds •Android and J2ME are Java •What of iPhone SDK? Objective-C? Javascript? •iGoogle, Yahoo, Google Desktop, OSX Dashboard, Javascript •Browser and Android have different persistent storage APIs too

Slide 4: Fatigue •Developers duplicate work •Write same widget over and over •New environments like OpenSocial and Gears make it more problematic

Slide 5: Help! •Wouldn’t it be nice to write a Gadget just once? •And deploy it everywhere natively? •And take advantage of OpenSocial and Gears-like storage? •And abstract away network I/O?

Slide 6: Syndroid •Synthesis of Android and GWT •Write Gadgets to a restricted API •Compile to Javascript or Dalvik or (later) Actionscript •Run on Android, iGoogle, OSX, Yahoo, et al

Slide 7: How? •New subset of Android declarative UI XML •UI widgets with Android, Browser, Flex implementations •Abstract Canvas system for Graphics •Proven Cross GWT->Android->Flash •Persistent Storage API •OpenSocial Proxy Container

Slide 8: Picture = 2^10 Words Syndroid Gadget XML + Java + Packaging UI Elements Networking Storage OpenSocial Cloud Agnostic Android GWT Flex/AIR Shindig OSX Dashboard Google Desktop Cloud Specific

Slide 9: UI Elements •Define subset of Android/GWT widgets useful for Gadgets •Map to UI XML and Java implementation classes •Restricted LCD event handling

Slide 10: UI Elements •Full Canvas API supportable •Proven GWT->Android->Flash implementation in Chronoscope •Custom UI elements can be created across the cloud! (games and graphs for example)

Slide 11: Networking •Common Gadget Operations •Fetch RSS/Atom/JSON Data •Submit Forms •Especially useful with File Upload •OpenSocial environment layered on top

Slide 12: OpenSocial •What does it mean to run an OpenSocial container in an Android phone? •Use Address Book as social network?

Slide 13: No! •I want Orkut/Plaxo/Ning/etc widgets to run in my phone and show data from those containers.

Slide 14: Solution: Proxy Container Syndroid Internet OpenSocial Gadget QuickTimeᆰ and a GIF decompressor are needed to see this picture. Syndroid Syndroid Proxy OpenSocial API Networking Android Any Shindig

Slide 15: OpenSocial Proxy •Uses optional proxy server to access foreign container interfaces •In cases where direct access is possible with XHR/JSON, proxy can be avoided •User deploys Gadget and uses Preference to select destination OpenSocial container

Slide 16: Persistent Storage Syndroid Storage DB and Preferences Android Android SQLLite GWT Gears Desktop AIR Local DB pref

Slide 17: Persistent Storage •SQL-Like interface to Android, AIR, and Gears Databases •How to handle non-Gears JS environments? Open Question •HashMap-style prefs interface for everything else

Slide 18: GWT, the Enabler •Single language: Java •Subset JRE runs in JS, Android, and can be made to run in ActionScript and J2ME •Code written to GWT JRE + Abstract UI/Event system is Cloud Safe •Can be translated into multiple environments

Slide 19: Open Question •Interaction of Caja and GWT code •Can GWT be modified to produce Cajoled code for Shindig containers?

Slide 20: Details to finalize •Set of widgets •Event interface •Packaging and Deployment process •Toolset

Slide 21: Syndroid •Write Gadgets in Java •Use OpenSocial and Offline Features •Compile and Deploy as Native Android App •Compile and Deploy to JavaScript •and later AIR/Flash •Support OSX Dashboard, Google Desktop, Vista Sidebar, Yahoo Widgets, ....

Slide 22: Syndroid One Gadget API to Rule Them All