RubyConf: Web 2.0 Beyond the Browser: Richard Kilmer

There are draw back to centralizing things in a Web 2.0 App.

Indi Architecture -

  • A Ruby-based desktop runtime
  • with a rails-based central service
  • uses amazon S3 storage service
  • flash for a user interface

Ruby and all its extensions are compiled into one large static executable.

  • A executable for inid.app(Apple) indi.exe(win32)
  • inidiservice.db (.rb plug-ins, swfs, etc)
  • indi.db (user database)

All this can fit on a flash drive.

Freebase Plugins

  • context engines
  • Ontology Management
  • Context Management(an Object Database)
  • Access Control
  • Publish and Subscribe
  • Platform Management
  • Persistence
  • store
    • Catalog Sync’ing
    • Plug-in Purchase
    • fulfillment
  • lightning expedrience(UI)
    • Tag Manager
    • Desktop
    • AddressBook
    • Calendar
    • Calendar
    • Channel Manager
    • Form groups and share encrypted data
  • File Manager
  • Dialog Manager
  • Sound Manager
  • Stor Front
  • transmission manager ( to and from Amazon S3 )
    • Channel monitor
    • item transfer
    • binary transfer
    • The binary can be cleared off S3, and indi can later ask peers to repost binarys up to s3
  • getinidi.com + S3
  • patch manager
  • jabber service
  • web service
  • getindi.com
    • Rackspace
    • Apache
    • Mongrel
    • Postgres
      • Tom Copland wrote the postgres backend portion
      • uses S3 as a messaging server(placing a file on S3 indicates an event)
      • S3 does all the heavy deployment.
    • Flash User Interface
      • Native window wrapper
      • ActionStep Framework
      • OpenStep port to ActionScript 2.0
      • MTASC compiler(written in OCAML) to compile actionscript.
      • go see haxe.org
    • Alph bridged to Ruby
      • Synchronous from Ruby
      • Async from Flash
    • Delegates used for mocking.
    • Revolution is a plugin into Evolution
    • Alph.rubyforge.com

    Comments are closed.