Mozilla's cloud services need to advance the state of the web in privacy, security, and usability in order to compete and keep the web open. We need a platform that has a user experience closer to mobile where building, signing up, using, and managing apps is easy. We need the cloud to integrate well with our mobile, desktop, and lifestyle devices. We need choice in how our data is used. We need to trust the services we use. To do this we should build a platform that lets us run our cloud apps (service instances) individually, in the cloud or on our own servers.
As technical people, today we can enjoy the benefits of owning some of our web identities and data by running our own services on our own servers. We can register our own domains, manage MX records, setup shared hosting or VPS, make our own blogs, host our own email, and even run our own Firefox Sync service because we own our servers, or at least the data. Even for the most dedicated of us its time consuming and complicated to setup and maintain. Its not something that most people are interested in undertaking. Making these things accessible to everyone is a huge challenge but the history of computing has shown that its not only possible but probably inevitable.
Today's server complexity is sort of like life before the internet in the PC era. Making the computer run what we wanted was itself an accomplishment. Things slowly got easier on the desktop but we all suffered through blue screens of death. Eventually web browsers came along and gave everyone a reason to use computers for more than games, spreadsheets or as fancy typewriters. PCs were still horrible, finicky machines but browsers made the pain worth it because the internet was amazing!
Now personal computing has advanced into the mobile age. Fortunately modern mobile OSes have way better security and system reliability than PCs and are generally much more usable and managable, allowing even more people to join the online community.
Modern servers don't have the usability of mobile. They are still mainly used to host isolated services to an exclusive set of users. Successful services have many servers connected in complex networks in order to reliably serve all their users. Their service software can be equally complex. Therefore these systems are designed, installed, configured, and managed by experts. Current development seeks to make these complex systems easier to build and manage. Virtualization has made servers easier and more efficient to utilize by allowing us to deploy and scale resources without buying and maintaining hardware. This has made creating personal servers easier as well. We can easily sign up at any number of VPS hosting providers for a few dollars a month to run our own blogs and email servers. The difficulty is that the servers themselves still require expert knowledge to use. What if the server ecosystem was more like the mobile ecosystem?
When operating a server becomes more like operating a smart phone we will all enjoy the benefits of having a persistent, stable presence on the internet with the usability we've come to expect from our phones. We will choose how our data is shared and with whom, sync data securely, and connect directly with the people we care about. We'll be able to leverage the unique capabilities of each of our devices to their full combined potential.
Firefox OS makes it possible to easily build native mobile apps using standard web technologies. An open server platform will allow us to build social networks and personal services more easily as well. It will also improve our individual privacy and security by giving us more control of our data. With it we can recapture our presence on the web from the "silos" of today.
Creating an open personal server platform that everyone can use is an incredible amount of work but its already possible. No new hardware or network protocols need to be invented and we can do it incrementally. We can gradually chip away at the high barrier of entry to enable more and more people to host themselves on the web. We can start with a small number of core services for advanced users while incrementally making the platform more accessible and robust. Building services that people can easily self-host should be a core goal in our plan and is something that's distinctly Mozillian.
We, Mozillians, fight to keep the web open and strive to empower individuals to own their online identities. As regular people we give away vast amounts of personal information to large and small organizations without much choice in what they decide to do with the data we give them, whether we do it intentionally or by them tracking us. In most cases we don't intend to give them our data for their benefit, but either as an intermediary for sharing it with people we want to reach or to store it so we may retrieve it later from somewhere else. These things should not require us to agree to broad, confusing terms of service. They are things we should be able to do individually with the technologies of the web, securely, safely, and easily. Helping to make this possible is why I am a Mozillian.
Here's my first sketch of what a roadmap might include at a high level to show that at each phase we offer useful services as it matures and gains adoption.
- target Wizards (nightly)
- new deployment options
- self hosted (gentoo style)
- advanced installation/admin knowledge required
- build steps
- manual process management
- new support options
- IRC, mailing list, bugzilla
- new services
- sync
- target Enthusiasts (Beta)
- new deployment options
- self hosted (ubuntu style)
- package manager installation
- new support options
- wiki
- forum
- readthedocs.org
- new services
- media storage
- blog
- target Busy-Bees & Middle-Managers (Stable)
- new deployment options
- fully hosted (wordpress style)
- zero installation
- simple administration
- optional custom domain
- monthly hosting fee
- new support options
- dedicated customer service
- new services
- identity (browserID IdP)
- contacts
- target everyone
- new deployment options
- hosted (VPS image style)
- new support options
- paid support options
- new services
- hosting provider integration
- full "Mobile OS" like experience
- 3rd party apps
- app management
- app store
- data import/export
- target Stalwarts & Evergreens
- new support options
- remote family support
From @rfk