Hey Folks,
== Intro == I think it's a bit premature to propose an entirely new type of module and moduleset in GNOME, but I think it is not a bad time to discuss what a "web app" moduleset might be like. I expect I'll propose Snowy "for real" for 3.2, after we have dogfooded our hypothetical Tomboy Online release plan (see below). As a reminder, if you are interested in joining the current Tomboy Online alpha, you are welcome to fill out our survey here: https://spreadsheets.google.com/viewform?formkey=dFZleG05V196b3g4VUFSTHhzcTRFMmc6MQ == Draft Proposal == Purpose: Snowy [0] is a Python/Django web app for synchronizing your Tomboy notes. It provides read access to your note collection through your browser, and will soon have note editing and sharing functionality as well. While it can be deployed by users on their own servers, the primary focus is a GNOME-hosted version called Tomboy Online, providing free note sync for all Tomboy users. Sync is achieved through a RESTful API [1] designed with feedback from Rodrigo Moya and Stuart Langridge from Canonical, who have implemented the same API in Ubuntu One. Tomboy and Conboy (third-party Maemo client) have been syncing over this API for over a year now, and recently Tomdroid (third-party Android client) released sync support as well. Target: hypothetical web release set Dependencies: Django and various third-party Django libraries, a web server, a database (TODO: Fill in with actual deps when actually proposing) Resource Usage: Snowy is fully GNOME-hosted, including git, ftp, bugzilla, mailing list, and even Tomboy Online is hosted on GNOME infrastructure. Adoption: N/A GNOME-ness: We have work to do to get translations hooked into GNOME infrastructure. I'm not entirely sure yet how documentation should be handled. Snowy development is closely tied to Tomboy development (same maintainer, same initial userbase). What "GNOME-ness" means for a web app is something that still needs to be determined, imho. 3.0-readiness: N/A License: AGPL == Tomboy Online Release Plan == In initial conversations about how we plan to manage releases for Tomboy Online, we have come up with this plan: * Snowy follows the GNOME release schedule. * Tomboy Online will only ever run official released code. * Because of the above, we may find it necessary to release more frequently than typical modules. * In the VM provided by GNOME, we run two instances of Tomboy Online: www.tomboy-online.org and edge.tomboy-online.org . These instances have completely separate user/note databases. * www.tomboy-online.org will only run stable releases. * edge.tomboy-online.org will run the latest development release (except in the case where stable is newer/edgier). * Because of the above, we may find it necessary to very actively maintain the stable branch. * Probably, we will run a new .0 stable release for a couple of weeks on edge.t-o before deploying to www.t-o. There shouldn't be any need for such a delay for point releases after .0. We think this will work well. Users who want to try the latest features can use edge.t-o, and users who want stability and don't mind waiting 6 months for new features can use www.t-o, but can still rest assured that they will receive timely fixes for security and stability issues they may encounter. == GNOME Web Platform == There is no GNOME web platform. There are no new libraries being proposed for use by all GNOME web modules. It feels way too early to try to make those sorts of decisions. We need another module or two before we discover what can and should be shared. I will say that even if we end up with an Online Desktopish goal, we should not strive for one big monster web app. I think it makes sense to focus on smaller, single-purpose web apps with sensible integration points. For example, we could have a Mugshot-like "identity" app for Teh Social, and have it aggregate info from apps like Snowy. We could tie apps together with existing standards like OpenID and OAuth. We could come up with conventions for building RESTful APIs, standardize on JSON, etc etc. We could build standard GTK+ widgets for authenticating with GNOME web services. Whatever makes sense to make integration between the GNOME desktop and the GNOME web easy on developers and users. Clearly, if we want to succeed on the web, we'll need to have a defined web platform. But I don't think we're there yet. I'm getting sleepy and feeling kind of rambly, so I'm just going to send this and go to sleep. Any and all feedback is welcome. Sandy [0] http://live.gnome.org/Snowy [1] http://live.gnome.org/Tomboy/Synchronization/REST _______________________________________________ desktop-devel-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/desktop-devel-list
