GNOME Integration with Online Services
The intent of this page is aggregate information about all interesting GNOME-based technologies that allow developers to integrate their apps with online social services. For now, we're not filtering out any modules from this page as we're still mapping existing modules.
General (proposed) guidelines
- Aim to integrate GNOME-based apps with online social services;
- Should be based on GNOME platform;
- Libraries should provide introspection data to make it easy to bind them;
- They should have a least a released tarball;
- API-stability is not required (at least for now);
- Ideally, they should be hosted in GNOME infra (not a requirement though);
Modules
Libraries
libempathy-gtk
Library providing a set of powerful GTK+ widgets that can be embedded into any GNOME application. More info
libgdata
Library for accessing online service APIs using the GData protocol — most notably, Google's services. It provides APIs to access the common Google services, and has full asynchronous support. More info
librest
Library for accessing web services that claim to be RESTful. More info
twitter-glib
Library around the (almost-) RESTful web API provided by Twitter. More info
json-glib
Library providing serialization and deserialization support for the JavaScript Object Notation (JSON) format. More info
libchamplain
Library providing Clutter actor and GTK+ widgets to display maps from sources such as OpenStreetMap, OpenAerialMap and Maps for free. More info
couchdb-glib
Library providing GLib-based API to CouchDB, a database (of JSON documents) that can be replicated (and 2-way synchronized) to multiple hosts. More info
midgard2
Library providing GObject-oriented Content Repository services and storage abstraction. Additional midgard2 components provide CouchDB-compatible replication and Tomboy web synchronization. More info
rtm-glib
Library providing access to Remember The Milk API. More info
osm-gps-map
Library providing simple Gtk+ widgets to display maps from online mapping providers like OpenStreetMap and others. Can also draw on-screen display and GPS markers on the map. More info
Desktop Services
Gwibber 2.0
Gwibber is an open source microblogging framework and desktop client for GNOME developed with Python and GTK+. The Gwibber backend is a stand-alone daemon that manages updates and retrieves stream data from social networks. The Gwibber backend can be accessed through D-Bus and currently uses GConf to store account configuration info. Gwibber will be included by default in Ubuntu 9.10, codenamed Karmic Koala. Gwibber currently has support for the following services: Twitter, Identi.ca/Laconi.ca, FriendFeed, Facebook, Jaiku, Digg, Flickr, BrightKite, Qaiku. More info Roadmap
mojito
Social data server which will fetch data from the "social web", such as your friend's blog posts and photos, upcoming events, recently played tracks, etc. More info
microfeed
D-Bus service for interfacing with various microblogging solutions like Twitter, Qaiku, Jaiku and Facebook. More info
Social Desktop
Social Desktop is a cross Desktop initiative to integrate Social Features into Desktop Applications. Gwibber has already support for part of the features build in. Open Collaboration Services API Social Desktop
Tasks/Questions
- Create a moduleset to easily build all modules;
- Add gobject introspection support wherever it's missing;
- List apps using those modules;
- List links to docs and code examples;
Maybe a general goal would be to develop some online integration to GnomeShell?
- What cool online services is covered yet?
Most of these modules use LibSoup; there is probably some stuff duplicated between them that could be pushed down the stack.