Vision Statement 2010
Twipler will be a web workbench to build the Twitter user experience you desire.
It will offer community generated themes, applications and affects or you to flavor your experience, as well as allowing you to build upon these and express your ideas for how Twitter should look, feel and work.
Themes
Themes are HTML content pages which include templates with data provided by entities. Anybody familiar with writing HTML and CSS should easily be able to create new layouts and designs for a Twipler theme. Good themes will provide hooks for the end user to customise their experience; maybe changing the font, colour or add effects to the information displayed.
Effects
Sorting, processing and filtering are all types of effects. A common interface will allow an effect to hook into a theme and perform some action. For example, a tweet might have an “interest” rating and a user can select which effect they use to rate and subsequently highlight the tweets in a stream.
Application
Themes present the main user experience, and applications will provide additional functionality into a themes interface. An application might show you statistics or a graph of your tweets, or might create a “Follow Friday” list for you to tweet. Or an application might allow you to upload a photo and tweet it in one step.
Entities
Entities are methods that expose underlying functionality to the Theme and Application layers. Access to the Twitter API, any data storage or settings is restricted to the exposed entities. For example, deleting a direct message is achieved by calling DirectMessage.Delete(messageId) where “DirectMessage” is the entity.
Additional or common programming functionality will also be exposed through the entities, (i.e. date time functions, string manipulation). The Twipler project will also consider submissions for additional ‘code behind’ functionality.
Data Document
The DataDoc is an internal mechanism for encapsulating data. It provides methods to get and set name-value pairs, and creating and deleting arrays and sub-objects. The theme template includes a “doc” template which pulls data into a data doc, which is then queried using “select” (for an iterative group) and “field” (for a named value).
Machine
Is a simple stack based virtual machine used to execute mnemonic expressions with access to Entities and maintains variables in a dictionary.
