• Save
Livefoldersasfeeds
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • watch this presentation at

    http://skillsmatter.com/podcast/os-mobile-server/gabor-paller-pipe-programming-with-livefolders/zx-489
    Are you sure you want to
    Your message goes here
    Be the first to like this
No Downloads

Views

Total Views
361
On Slideshare
361
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
1
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. LiveFolders as feeds Gabor Paller gaborpaller@gmail.com
  • 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. Yahoo Pipes
  • 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. 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. 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. 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. 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. 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.