• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Project Syndroid

Project Syndroid



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



Total Views
Views on SlideShare
Embed Views



17 Embeds 1,452

http://timepedia.blogspot.com 1423
http://timepedia.blogspot.in 4
http://www.slideshare.net 4
http://timepedia.blogspot.fr 3
http://translate.googleusercontent.com 2
https://macnicanae.basecamphq.com 2
http://timepedia.blogspot.com.br 2
http://timepedia.blogspot.de 2
http://timepedia.blogspot.co.il 2
http://timepedia.blogspot.se 1
http://timepedia.blogspot.pt 1
http://timepedia.blogspot.be 1
http://timepedia.blogspot.hu 1
http://static.slideshare.net 1 1
http://localhost 1
http://timepedia.blogspot.co.at 1



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.

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

    Project Syndroid Project Syndroid Presentation Transcript

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