User:Dria/PiCL Future Ideas
What is this?
This is a (probably incomplete) list of the various feature & service ideas that have been discussed over the past few years that could somehow involve user data in the cloud. It includes some of the specific features we've been talking about more recently, but also includes some much farther-reaching bluesky areas for possible exploration.
I've put this together largely as a discussion piece, and to help engineers understand some possible future feature & service requirements to aid with early-stage service planning.
NOTE: It should be assumed that any features and services we do create should support the entire Mozilla product line -- Firefox Desktop, Firefox Android, Firefox Metro, and Firefox OS.
I expect this list will evolve over time, and should be considered a living document. If you think there are things missing from this list, or if you have any questions, ping Deb (dria on IRC).
A user should be able to sign out of Firefox and let a second person either use it without signing in (Guest Session) or sign in to their Firefox Account and use it. The second user should never have any access to the first user's data, and vice versa.
Internet cafe use case
Users should be able to sign into Firefox from a shared browser on a shared computer and be able to immediately have their core Firefox experience available. When they sign out of that browser & computer, any data they have generated on that machine should be completely erased and inaccessible even to administrators of that machine.
Firefox for Android has a Reading list feature that we want to evolve and turn into something that works across devices. The idea is that it become more than a "reading list" and allow users to add anything they want to consume/view later -- articles, PDF documents, videos, etc. This should include auto-setting and syncing read/viewed state & marking their current location within the content.
Future evolutions would allow users to do things like use their phone to auto-play all of their Queued videos on their TV and to further interact with those in the process (rating them on the origin site, adding comments to the original blog post, adding them to a Collection (see below), sharing them, etc.).
We should also allow users to either augment or replace this feature completely with a third-party service.
Full, reliable, versioned, cloud-based back-up and restore facilities that would give users peace of mind that all of their browser/OS data is safe and secure and available in event of catastrophe, including rolling back to an older version should more recent backups end up corrupted for whatever reason.
Could include third-party integration with alternate services the user would like to use, including a personal data store.
Syncing additional data types
Provide standard sync facilities for additional data types (for FxOS apps & etc)
- User preferences/settings (this will need to go into a lot more detail as to what is included)
- Apps downloaded/purchased
- Messages including SMS/MMS
- Reading List (may be a separate service, TBD)
- Tab groups
- Browser add-ons
We may eventually want to pull this data into other browsers and apps, and access it via a Web UI.
Send tab to another device
Give users the ability to instantly send any tab to any other of their PiCL-enabled devices. Eventually this should include the tab's history & current scroll-point.
Send my Guest Session data to my Firefox Account
If someone is using a Guest Session (which we're already building into Firefox on Android) on a shared browser and they decide they want to keep that data for whatever reason, they should be able to send it to their Firefox Account and have it integrated into their PiCL data store.
Web access of PiCL data
Give users a web-based UI they can use to into and access all of their PiCL data in ways similar to within the browser -- bookmarks, open tabs, history; future: task lists, collections, workspaces, etc.
(lloyd) Does one holistic of all of your firefox stuff make more sense to users than more vertical features?
Task list creation & management w/ cross-device sync & features -- the idea here is that a user can pull up a context menu on any element or page and "Add to Task List" -- this could be email, videos, images, whole pages, selections of text, etc., including (possibly) an optional annotation, due date, task category, etc.
Full set of use cases & design TBD, obviously.
Third-party integration would allow users to replace this with other services.
Collections are prettily-formatted collections of urls + webclips/images. They can:
- include any media type that's available on the web (audio, video, text, images, full pages, PDF documents, etc)
- be publishable (publicly viewable on the web)
- be shareable (with other Firefox users via the web)
- be collaborative (with other Firefox users)
- be automatically arranged, tweakable by the user
Third-party integration point for alternate services.
Second-screen & Multi-screen interaction
Since PiCL lives in the cloud and understands the various devices you use to access it, it should be able to do interesting things between those devices. You should be able to use PiCL on your phone to drive PiCL on your TV, or to use your tablet as an optimized "second screen" while you’re watching videos or doing research.
- Using your tablet to create and play a queue of videos on your TV.
- Using your phone as a "tile rack" for a scrabble board on your TV (basically what Scrabble has done with iOS), or as a game controller for a racing game.
- Having Popcorn.js data appear on my tablet while I'm watching the video on my TV.
- Having my tablet automatically display relevant information or make it easy to quickly search for information while I'm playing a video game on another screen (ie: using a wiki while playing an MMO, etc)
Cross-device sharing (user-to-user)
PiCL should make it simple to share content between your devices, or to share something with another PiCL user either across the room or around the world.
Future exploration (very blue sky)
Workspaces are collaborative, shareable, and publishable places where users can work together on projects or research. They give users a central space in which to store and retrieve bookmarks, collections, task lists, documents, etc. The core idea is pretty vaguely defined right now, but the idea is to make the process of researching and working on projects a lot simpler. WebRTC could probably augment this as well.
Context-aware data retrieval and presentation (tailored to what I'm doing).
Geo-loc-aware data retrieval and presentation (tailored to where I am). For example: if I'm at the grocery store and I pull up my Task List it should be able to rearrange itself intelligently to show me my shopping list without having to hunt around for it, etc.
A continually-updating collection of new, interesting and relevant content that either can be actively used or can acting as a passive, ambient display.
Global unified web history
Create a cross-browser, cross-device, cross-app global web history repository wrapped in an API.
If user data lives in the cloud, it can be part of the fabric of the web itself. We would like for all of a user's browsers and apps to be able to communicate with this personal data store, giving them a single unified web history accessible from wherever they are.
For example, if I read an article when using the New York Times web app, that article should show up in my awesomebar or history list when I look for it in my browser, etc. I shouldn't have to remember in which app I saw a piece of web content in order to find it again.
History mining (individual & aggregate)
Personal web & search history data-mining to make it easier for users to find the things they're really looking for - more efficient search, more efficient web navigation, etc. Would it be possible to develop smarter pathfinding and navigation based on where people have been before, and how we really, collectively use the web, to give users the ability to skip back and forth within their history in non-linear ways, or organize and present their history differently?
Auto-organize user data in new ways
Explore new automated ways to categorize and organize users' data to help them find what they're looking for more quickly -- by People, by Places, by Topics, etc. This could also be the basis for a searchable "spotlight" sort of thing for my web that helps me by showing loosely-related material in addition to direct search results, etc.
Would it be possible to use user's data to simplify and enrich search by combining results from a variety of sources we know they're interested in -- their history, their bookmarks, their social networks, multiple search engines they use actively, etc?
Social features and/or enhancements built around Firefox Accounts?
How can we make social more meaningful, more real, and more useful -- whatever this means in a world where the web is ubiquitous and user data lives in the cloud. Can we help people find other people who have similar interests and help them build relationships and communities? (People discovery, like content discovery.)
Could we use the anonymized aggregate information of millions of users to develop a content recommendation and discovery engine?
Across devices, across platforms, across services...
If PiCL knows about all of your social accounts, would it be possible to build a tool that allows you to post to or read from multiple accounts at the same time?
Could we pull together all of the photos shared with us, regardless of service, and display those as a single, continually updating and beautifully-designed gallery? Could also feed into the ambient display on the dashboard, etc.