Sagrada: Mozilla Services, the Cloud, and You
- survey of "groovy" things mozilla is doing - services and apps in rob's group
- where do we go from there?
- is mozilla planning cloud db services?
- will mozilla provide some sort of alternative to google docs, with
what we have now is not a complete cloud solution -- more like amazon cloud services
building a platform to provide value-added stuff for firefox
mozilla has knowledge and infrastructure to host cloud apps, but can't afford to build and maintain wildly successful web services for free in perpetuity. how can we do this sustainably without selling out our users?
at its heart, mozilla is a nonprofit--there's a nonprofit foundation that owns the mozilla corporation, a for-profit company
all the money that the corporation brings in finds its way back to the foundation. corporation status allows mozilla to do certain kinds of business deals
core mission is free software, privacy, standards, security by design
first service that moz built was sync--passing tabs, history, bookmarks, and creds between firefox installs (phone, laptop, work, etc). 10 million sync users. client side encryption.
next: end user notifications. html5 open standards initiative for site notifications. removes burden from site builders, gives tools & choices back to users
browser ID: browser based identity services
all of these services share certain features/needs:
- storage (database)
- messaging (queues passing notifications or actions back and forth)
right now moz is calling this platform sagrada. includes a key-value store, message queues, metrics/logging, and then an app framework on top of that.
(key-value store) (message queues) (metrics/logging)
\\ || // (linked by http)
sync is launched; these pieces are being built based on features already in sync. these are server-side pieces. app frameworks in python with pyramid, or in node.js
these are all core building blocks that all sorts of applications need. the first crowd that will be really interested in this will be firefox extension developers.
the audience goes beyond that, though: already, you can run your own sync server.
key-value store is like a db that just stores keys and values. sometimes they handle nested values. cassandra, google's big table, etc.
- would it be possible to do something like use sync to sync the
contacts in peoples' phones? -- yeah, that's possible. sync is not a backup service. it's just http and pushing data around.
- have you thought about relational stores (like redis)?
-- not really, it doesn't map as clearly to http and transparent, horizontal storage (ACID). though, right now sync actually has mysql on the backend for legacy reasons.
- does the key-value store handle locking, consistently, etc? ACID
(atomicity, consistency, ...) -- key value store is typically not--there might be latency between the instant you put data in, and when you can get that data back in a query. makes building infrastructure without a single point of failure much easier, but gives up immediate consistency.
- payment for usage past a certain point? ie, developer/small-scale
usage might be free, larger storage by organizations or companies might pay?
- host it yourself? build an ecosystem of hosts providing these services?
- are free models harmful for sustainability reasons?
- does mozilla want to take on the task of providing cloud services?
- building more apps on top of these services--mozilla has a limited
set of applications on the roadmap; there will be room and support for a larger ecosystem of apps around these services
not services, but related and worth mentioning: B2G ("Boot 2 Gecko")
- gecko is the firefox rendering engine--turns html into a rendered
- gecko is everything inside the window that is not scrollbars, window
- chromeOS, b2g, web as platform
- right now, what you can do with a browser is... browse. as the web
becomes more of a platform, there will be more oportunities for this kind of system.
- chrome vs. firefox and moz business model?
-- actually, google's support of moz is not charity. it's payment for google as the default search engine in firefox.
- right now, native apps have a more developed platform. soon, html5
- accesibility built into the core of boot 2 gecko would be really
helpful--chromeOS already does a good job of this
- new operating systems mean that there are screen reader vendors for
that OS yet, so it's hard to get started
- this is primarily targeted at phones, and spoken aloud text and
voice activated behaviors are already part of the landscape
- android was really bad at accessibility at first, now it's nearly
usable for people with vision disabilities, and ice cream sandwich is going to be much better.