OfflineApps

From MozillaWiki
Jump to navigation Jump to search

Notes from UI/Policy Discussion on Feb-21-2007

attendees: bsmedberg, beltzner, baz, roc, mfinkle, vlad, dria, dcamp

Existing UI for online/offline

  • "Work Offline" menu option is the only UI for this
  • platform support for auto-detect of on/offline enabled for w32 and linux on trunk
    • windows doesn't work very well, especially if auto-dial or auto-connect is enabled at the OS level
    • need someone to do this for Mac

Required UI for offline apps

  • how do we detect when an application can be made available offline?
    • basic mechanism is to specify a link tag that points to the offline resources
    • for complicated scenarios where the page is using script to populate offline content, it'll be trickier
    • we could require that the application link to itself, detecting a link tag is the simplest/easiest way to go
    • but need to give user control for this, which is where bookmarking comes in (through bookmarking or infobar notification/confirmation, or "make this available offline" UI)
  • can applications be made available offline if they're not designed for that?
    • not reliably, although we can do this for static webpages
    • it might be worth looking into it, but it feels like another work item
    • there are some tricks we can do with recursive gets, pulling down scripts and packing them in JARs which we rewrite the page to point to, etc
    • might not be interesting as it's unlikely to work
    • could work for static pages
  • need UI for: "make this page available offline" and some way of indicating if the application can be made available offline
  • model question: is it application or firefox that goes online/offline?
    • should be Firefox, we all thought
  • need to indicate if the application is online or offline atm
    • should be able to change modes transparently and dynamically

Interaction with other UI

  • Bookmarking/History
    • checkbox for "make this available offline"
    • show in bookmark list what's available offline
    • state of our cache sucks currently, it's impossible to know what pages exist in cache, what will work when you're offline, there's a lot of intersection with general offline mode stuff
  • Feed reading
    • do we want to cache the content of the last N live bookmarks?
    • "they're not very live at that point, are they?"
    • does this make us too much like a feed reader?
  • Error Pages
    • the "go back online" error page could try to get people back online
  • Preferences
    • "always fetch applications that are available offline"
    • "never enable offline applications"
    • hidden / shown
    • we currently do fetch all the applications we see
    • adding values for DOM cache and offline storage cache
    • tie-in with per-site preferences
  • User Facing Management Options
    • need to show users how the disk is being used
    • might want to show list of cached apps, provide UI for removing them
    • need to map out user interaction flows for:
      • no more room for offline apps within storage quotas
      • user wants to purge application from offline cache
      • user wants to sync up all offline applications
      • user wants to monitor how much space is being used by offline applications (or just by their profile)

Impact to profile size

  • don't think we need to worry about this too much in a world of large disk
  • should have some monitoring ability, though
  • as per above, do we want to have some add/delete functionality?

Offline Apps Policy

  • How much offline cache space should offline apps be able to use?
    • make default sizes depend on free disk space
    • an iPod like slider with "less" and "more"
    • express cost of caching an application offline to user at the point of caching, ask if they want to allow it
  • what happens when we don't have enough space?
    • ask the user if they want to add more space? purge older apps?
    • see above "user facing management options"
  • should we aggregate the quotas for DOM storage and cache?
    • that seems to be simplest
    • combine with disk cache, even
    • proposal: single control "Let Firefox use x% of disk space"
  • need to expose available space to app, and get quota information/suggestions from app
    • leave it up to the web application to provide preferences for degree of offline caching
    • have some default data space for applications that just want to "fill all space available", maybe 10MB/application? %age of free cache space?
  • we will not try to create unified synchronization model, instead allow applications to sync when they connect back to their hosted website
    • have quick ways to open all offline apps when online which will trigger synchronization
    • could do this in background tabs

DOM Storage Policy

  • uh, I'll be honest and say I didn't catch much here
  • something about aggregating within a TLD to prevent abuse?