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
- Catalog Sync’ing
- Plug-in Purchase
- fulfillment
- Tag Manager
- Desktop
- AddressBook
- Calendar
- Calendar
- Channel Manager
- Form groups and share encrypted data
- 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
- 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.
- Native window wrapper
- ActionStep Framework
- OpenStep port to ActionScript 2.0
- MTASC compiler(written in OCAML) to compile actionscript.
- go see haxe.org
- Synchronous from Ruby
- Async from Flash