Your SlideShare is downloading. ×
0
Project Syndroid
Project Syndroid
Project Syndroid
Project Syndroid
Project Syndroid
Project Syndroid
Project Syndroid
Project Syndroid
Project Syndroid
Project Syndroid
Project Syndroid
Project Syndroid
Project Syndroid
Project Syndroid
Project Syndroid
Project Syndroid
Project Syndroid
Project Syndroid
Project Syndroid
Project Syndroid
Project Syndroid
Project Syndroid
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Project Syndroid

7,563

Published on

A proposed architecture for a Gadget API that allows deployment of OpenSocial/Gears enabled gadgets to Android, iGoogle, OSX Dashboard, Google Desktop, etc

A proposed architecture for a Gadget API that allows deployment of OpenSocial/Gears enabled gadgets to Android, iGoogle, OSX Dashboard, Google Desktop, etc

Published in: Technology, Education
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
7,563
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
181
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Project Syndroid
    • Gadgets on a Cloud Computing Platform
    Ray Cromwell CTO Timepedia.org
  • 2. Problem: Gadgets can span many Clouds Android iGoogle OSX Google Desktop Yahoo And many Flash widget startups
  • 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
  • 4. Fatigue
    • Developers duplicate work
    • Write same widget over and over
    • New environments like OpenSocial and Gears make it more problematic
  • 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?
  • 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
  • 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
  • 8. Picture = 2^10 Words Syndroid Gadget XML + Java + Packaging UI Elements Networking OpenSocial Storage Android GWT Flex/AIR Shindig OSX Dashboard Google Desktop Cloud Agnostic Cloud Specific
  • 9. UI Elements
    • Define subset of Android/GWT widgets useful for Gadgets
    • Map to UI XML and Java implementation classes
    • Restricted LCD event handling
  • 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)
  • 11. Networking
    • Common Gadget Operations
      • Fetch RSS/Atom/JSON Data
      • Submit Forms
        • Especially useful with File Upload
    • OpenSocial environment layered on top
  • 12. OpenSocial
    • What does it mean to run an OpenSocial container in an Android phone?
      • Use Address Book as social network?
  • 13. No!
    • I want Orkut/Plaxo/Ning/etc widgets to run in my phone and show data from those containers.
  • 14. Solution: Proxy Container Syndroid OpenSocial Gadget Android Syndroid OpenSocial API Syndroid Networking Proxy Internet Any Shindig
  • 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
  • 16. Persistent Storage Syndroid Storage DB and Preferences Android SQLLite Gears Android GWT Desktop AIR Local DB pref
  • 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
  • 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
  • 19. Open Question
    • Interaction of Caja and GWT code
      • Can GWT be modified to produce Cajoled code for Shindig containers?
  • 20. Details to finalize
    • Set of widgets
    • Event interface
    • Packaging and Deployment process
    • Toolset
  • 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, ....
  • 22. Syndroid One Gadget API to Rule Them All

×