Taken from the GNOME Wiki
The idea being OMG! is to have a central user awarding system where users collect trophies based on their activities and experience on the desktop environment. e.g:
- For installing “Banshee” the user gets awarded with the “Banshee Discovery Trophy”.
- For working with Cheese for 30 minutes the user gets awarded with “Photogenic Trophy”.
- For Editing 100 documents using “gedit” the user gets awarded with “Badass Trophy”
OMG! Basics
OMG! is a little daemon. Applications communicate with it over DBus. As an awarding system awards users are awarded with trophies: A trophy consists of:
- ID: String generated automatically from the Title + “-” + Application
- Title: String with the title of the trophy
- Description: String with a more detailed description of WHY the user got the trophy
- Application: String with the path to the application executable
- Timestamp: Integer with a Timestamp of when it was awarded.
- Icon Path: String with the path to the Icon for the Trophy
- Status: A boolean describing if the Trophy is awarded unlocked or is locked until the requirements are fulfilled
- Priority: Integer from 0 – 2 describing how relevantly big the achievement is.
Applications are responsible for awarding their own trophies. OMG! is only a trophy collection and a notification system for that. It is intended to build another little Zeitgeist based application to monitor and evaluate activities to award users. Also achievements will be stored in Zeitgeist to show them in GAJ and allow applications to query their own awards.
OMG! Simple API
Thus the API is very straight forward
- RegisterTrophy (String Title, String Description, String Application, String IconPath, Integer Priority): No Return
- OMG.RegisterTrophy(“Welcome Rug”, “You ran OMG! for the first time”, “application://omg”, “”, 0)
- AwardTrophy (String Title, String Application): No Return
- MG.AwardTrophy(“Welcome Rug”, “application://omg” )
- DeleteTrophy (String Title, String Application): No Return
- OMG.DeleteTrophy( “Welcome Rug”, “application://omg” )
- GetTrophies ( ): Returns an Array of Trophies (String Title, String Description, String Application, Integer Timestamp, String IconPath, Boolean Status, Integer Priority.
- OMG.GetTrophies()
OMG! Concept
- Applications should have the possibility to register their trophies over DBus and not statically define them upfront
- Applications know most about their activities thus they should hand out the awards and trace the activity of the user or allow Zeitgeist to track it for them
- Awards will be logged by Zeitgeist to have a timeline option around “When did I achieve something”
- More to come…
OMG! Code
- https://edge.launchpad.net/omg
- bzr branch lp:omg
Also there is another similar development happening from the Hamster Project side and we hope to merge sooner or later…










{ 10 } Comments
I do not know… do you hope to have it on by default? Because if so, I am afraid this is just too geeky. If not, well, have fun.
I like this idea. Someone else made a post about something like this a little bit ago http://www.outflux.net/blog/archives/2010/07/23/achievement-unlocked/
Looks like now we might be a little bit closer to seeing this implemented.
I must be getting old because damn if I don’t see a point to this.
Sounds fun
I’ll be looking forward for a post showing examples of integration in applications for sure !
gg
First of all its just a fun idea to play with…
I should encourage newbies to explore GNOME! Should motivate them to install new apps and try new things
question: is it up to the apps to track whether a certain trophy has been awarded already to a user
- or -
will it be ok to fire off AwardTrophy every time a particular criteria is met and let the daemon handle whether or not the user already has that trophy?
(hoping for the latter!)
I don’t think I would find it useful myself, but people in the Sugar community have been talking about something similar to encourage kids to explore further their machines.
@zombiepig the latter
Nice! I’m looking forward to adding it to gcstar… “Movie Buff – collect 100 movies”, “Diverse Reader – collect books from 10 different genres”, etc…
You can find apparently a bunch for you to identify about this. We suppose you have made certain fine details on characteristics moreover.
{ 4 } Trackbacks
[...] Seif Lotfy [...]
[...] Ernst Degner Mike di Meglio Cees van Dongen This entry was posted in Uncategorized. Bookmark the permalink. ← How to properly fit a pair of chaps What’s up? → LikeBe the first to like this post. [...]
[...] Jacques Cornu Mauro Corradini Troy Corser This entry was posted in Uncategorized. Bookmark the permalink. ← Voting for 2010 World MMA Awards closes today Awesome November → LikeBe the first to like this post. [...]
[...] Grace Park Gretha Cavazzoni Gwen Stefani Halle Berry Hayden Panettiere This entry was posted in Uncategorized. Bookmark the permalink. ← UFC 123 PREVIEW: Penick’s breakdown and predictions for “Rampage vs. Machida” event from Detroit LikeBe the first to like this post. [...]
Post a Comment