Labs/PrismFeature

From MozillaWiki
< Labs
Revision as of 10:07, 10 December 2008 by Aza (talk | contribs) (→‎Appify)
Jump to navigation Jump to search

The Split

Prism will be broken into two projects JS APIs (code name Reach?), and the "turn this page into a desktop app" (Appify?).

Appify

If we do not want Prism to go the way of the every-so-geeky implementations done by Safari and Chrome, we need to focus on helping users discover when they might want to make an web-app into a desktop app.

When the user is found (by examining the places database) to visit a site frequently and stay on it (i.e., uses it like an application), we can show a suggestion that the user might want to turn it into a desktop application. We can whitelist a number of high-profile known sites that can be appified, others can advertise their ability to be hosted using a link rel tag.

20081210-mu6783bt3jy13adcik1wfrsfcn.jpg

The message animates into the site identity button indicating the feature can be accessed there. Some heuristic is used to decide how many times the suggestion should be shown. Clicking on the link causes a beautiful animation (the page scales down to the thumbnail seen below, everything else fades in):

20081210-k6jxkbtx1f7fgxpptefx4usmit.jpg

JS API (Reach)

Use Cases

All require being able to be used when offline.

Flickr Uploader

  • Offline use
  • Drag and drop file handling
  • Generic XHTTP for communication

Zoho Docs

  • File association
  • File access
  • Persistent storage
  • Offline use
  • Drag and drop file handling
  • Generic XHTTP for communication

Task Manager/TO-DO List

  • Listen for system-level keystrokes -- i.e., global heyhook
  • Display + animate windows (transparent and shaped)
  • Run at startup
  • Offline use
  • Generic XHTTP for communication
  • Persistent storage

A Cross Platform Growl

  • Daemon tasks
  • Listen on a port for IPC
  • Install an icon in the menu bar/dock/quick tray/etc.
  • Access to system services (like Text To Speech)
  • Offline use
  • Display + animate windows (transparent and shaped)
  • Persistent storage

Twitter/Social Feed Client

  • Device access (Audio, Camera/Video, GPS)
  • All of the above

Adium/Chat Program

  • Ability to interoperate with various chat protocols
  • All of the above

Ubiquity

  • Access to the clipboard, and ability to issue copy and paste
  • All of the above