LiveFolders as feeds
     Gabor Paller
gaborpaller@gmail.com
Feeds
●   Dataflows (uniformly typed data streams with
    timestamps attached to items)
●   Often come with “action” part...
Yahoo Pipes
LiveFolders
●   Dynamic folder manager by the Launcher
●   LiveFolders are
    ●   Discoverable (by a special intent-based...
LiveFolder discovery
●   Client broadcasts ACTION_CREATE_LIVE_FOLDER
    intent
●   LiveFolder data source has an Activity...
LiveFolder ContentProvider
●   The outcome of the discovery phase is that the
    client has the URI of the LiveFolder
   ...
LiveFolders as feeds
●   LiveFolders are very much like feeds because
    ●   They are discoverable
    ●   They provide u...
Idea
●   What if we applied feed aggregation to
    LiveFolders?
●   An aggregator application would access certain
    Li...
What has been done?
●   Not much (a prototype:
    http://mylifewithandroid.blogspot.com/2009/12/livefolders-as-feeds.html...
Upcoming SlideShare
Loading in …5
×

LiveFolders as feeds

2,811 views

Published on

This slideset presents the Android LiveFolder feature and argues that it can be used for dataflow programming, much like web feeds.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,811
On SlideShare
0
From Embeds
0
Number of Embeds
1,931
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

LiveFolders as feeds

  1. 1. LiveFolders as feeds Gabor Paller gaborpaller@gmail.com
  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: http://mylifewithandroid.blogspot.com/2009/12/livefolders-as-feeds.html ) ● 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.

×