Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.



Published on

Published in: Technology
  • watch this presentation at
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this


  1. 1. LiveFolders as feeds Gabor Paller
  2. 2. Feeds ● Dataflows (uniformly typed data streams with timestamps attached to items) ● Often come with “action” part in data items that refer to larger data (e.g. links to web pages) ● Dataflow programming patterns can be applied ● Combining a stream of data from other streams ● Switching between multiple streams based on the latest value of another stream
  3. 3. Yahoo Pipes
  4. 4. LiveFolders ● Dynamic folder manager by the Launcher ● LiveFolders are ● Discoverable (by a special intent-based protocol) ● Provides uniform data so that a single client can be used to browse them (part of the Launcher) ● Dynamic data (the source of the live folder must implement a content provider) ● Data may have “action” part (Intent that is fired when the item is “activated” (e.g. clicked upon)
  5. 5. LiveFolder discovery ● Client broadcasts ACTION_CREATE_LIVE_FOLDER intent ● LiveFolder data source has an Activity that listens to intents with this action ● When ACTION_CREATE_LIVE_FOLDER intent is received, this Activity returns an Intent that describes the LiveFolder. ● ContentProvider URI ● Name ● Icon ● List mode (list or icon grid) ● Base intent (used to form the Intent that is fired when the item is activated)
  6. 6. LiveFolder ContentProvider ● The outcome of the discovery phase is that the client has the URI of the LiveFolder ContentProvider and the way to present the results. ● LiveFolder ContentProviders are simple things, they just return _ID and NAME columns. ● The client (Launcher) presents the result in icon grid or list format
  7. 7. LiveFolders as feeds ● LiveFolders are very much like feeds because ● They are discoverable ● They provide uniform data formats (string) ● Action (firing Intent) can also be associated to a data item ● Big difference: no timestamp for LiveFolder items although timestamp can be implied (e.g. items with larger _ID are later).
  8. 8. Idea ● What if we applied feed aggregation to LiveFolders? ● An aggregator application would access certain LiveFolders and would create one or more new LiveFolder by combining these LiveFolders. ● Tool set (e.g. standard aggregation operations) and representation of context values (location, sensor values, time, etc.) could be provided as LiveFolders.
  9. 9. What has been done? ● Not much (a prototype: ) ● This prototype combines two feeds (all contacts and starred contacts) into a third one (non-starred contacts). ● Acts as both LiveFolder client (when accessing the source LiveFolders) and LiveFolder source (when producing the resulting LiveFolder) ● Not very useful, not efficient, not easy to understand either. ● Need to turn into an easy-to-use component set. ● Potential: easy mix-and-match of applications like mashups on the web.