Skip to content

OMG! Current Iteration

So to show you guys feedback on what we are doing in OMG! I would first like to introduce you to the “professional” alternative GNOME Achievements that is being developed by the project hamster guys.

While the 2 projects are the same in a way they differ in other areas, especially in the trophy specifications. We are not out to compete but i tried to see that my team surrenders development on our engine but for somehow its hard to slow them down.

The 2 projects also differ in their development processes and tools. We use Mono (Vala port is there too) they use Python. They host on git we use launchpad. Our development is more agile and evolutionary (several iterations and public development and reports) they are more planned and structured.

I advise you to look at their work… that being said…

I tried to assemble a small new team to work on OMG! because the Zeitgeist team is very busy with development for Unity and GNOME integration (Michal Hruby will be releasing Sezen this weekend), and the new GAJ will follow on monday.

Current Development Iteration:

Team

Meanwhile our development will continue. Currently the team consists of:

  1. Manish Sinha (Daemon and Specs development)
  2. Chris Szikszoy (Daemon and Specs development)
  3. Adam Zimmerman (UI Design)
  4. Kilian Valkhof (UI Desing & Development)
  5. Alex Launi (Code inspection and review)
  6. David Nielsen (UI design & API design)
  7. Me (General spanking and a bit of this and that)

We are open for anyone to come join the Team.

Daemon

Manish is really rocking the daemon. He will be updating the specs here as he develops. We used to register our trophies over DBus however now Trophies are registered the same way the GNOME Achievement guys do it. (Yeah we stole that part :P )

UI

Adam Zimmerman contacted me with a very nice UI design and documentation to it. We are basing our development on that.

SUMMARY (IF YOU DON’T WANT TO READ EVERYTHING BELOW)

Trophies can be displayed like a trophy case layout or in a list view. Users can change the zoom or display style (trophy case, scout badges), and share their achievements on blogs, social networks, or as a picture. Any trophy can be “un-accomplished” or hidden if the user wishes. A hints section shows one installed application and one not-installed application where more trophies can be earned. New applications are rotated in daily, at random. The hints section has buttons to open/switch to/highlight the installed application, to install an application shown in the hint, and to learn more about it before installing.

MOCKUP DETAILS

TROPHIES (first mockup page)

The Trophies tab is the main display case for all the trophies that have been earned. The trophy icons’ layout imitates the way one might arrange trophies in a display case in real-life.

The View menu would include a menu option to switch the trophy case style. The default style would be glass shelves with a reflection of the trophy icons as if they were sitting on top. There is an implementation of a similar idea in the GCstar collection manager; a screenshot can be found at  http://www.gcstar.org/images/screenshots/MoviesGlass.png . The trophies’ titles would be shown on the front face of the shelf, like a label. The View menu would also contain an option to turn these titles on or off. (Another style choice would be a fabric background, like a scout displaying merit badges.)

Also in the View menu would be an option for switching to a list view. The list view would me more like a vertical list of large (48×48?) trophy icons and their names; it would not be like the list view in Nautilus.

Users could drag the trophy icons to reorder them. Additionally, the View menu would include menu items for sorting the trophies and for grouping the trophies (both usable in either view, with slightly different implementations). Useful Sort options would be (1) trophy name and (2) date the trophy was unlocked. Useful Group By options would be (1) application, (2) date (today, this week, last week, this month, last month, this year, older), (3) unlock action (e.g., trophies for running a program a certain number of times would be grouped together, and trophies for changing an option in a program would be in another group).

The status bar always includes a count of how many trophies have been achieved (there’s likely a prettier way to display this). While the Trophies tab is active, a zoom slider is shown (this would probably require the trophy icons to be svg instead of png or some other bitmap format).

On the toolbar are two buttons, both for displaying accomplishments elsewhere. The Share button (which should be renamed “Share Online” to avoid confusion) would bring up a window to display trophies in various forms online such as a blog widget, in a profile on Facebook/Ubuntu Forums/etc., or a post or status update on Twitter/Identica/Facebook/a blog/etc. Mainly, this would share either trophy lists (graphical, text, or both) or a count of trophies. The user could choose to share only the selected trophies instead of the whole lot. Kevin VanDine just published a blog post about libgwibber (which could be useful) here.

The Take a Picture button would export a picture of the display case with the current view settings (zoom, sort, background, etc.). Click one of the trophies to see what would happen when a trophy is selected.

(This will take you to the Trophies Detail mockup page.)

TROPHIES DETAIL (second mockup page)

A box containing details of a trophy opens, showing a larger icon (128×128?), the trophy title, a description of how the trophy was unlocked, any humorous comments included by the trophy creator, the date and (perhaps) time the trophy was unlocked, trophy hiding options, and a button to reset the trophy. It might make more sense to have this box always open (and just blank when nothing is selected) instead of dynamically resizing the display case.

The trophy hiding options and the Forget I Unlocked This Trophy button would be available when multiple trophies are selected. Trophies hidden “everywhere, including from me” would be accessible by choosing “Show hidden trophies” from the View menu. The user may prefer not to show certain trophies for various reasons: they don’t want others to know they’re using a certain app (e.g., BitTorrent) or using their computer in a certain way (e.g., late at night or checking e-mail too often); or they don’t like the title or icon of the trophy (e.g., one commenter suggested a trophy called “Serial Killer” for killing a frozen application 10 times; I don’t want to have to explain that I’m really not a Jack the Ripper wannabe).

The Forget I Unlocked This Trophy button could be useful if the trophy was unlocked by someone borrowing the computer, or the user might have other reasons for “starting over” on a trophy. If the user clicks this button, a dialog would slide over the middle of the toolbar, saying, “You removed 3 trophies from your history; they will again be available for you to unlock. If you don’t want to see the trophy anymore, you may hide it instead. Undo?” (like GMail does when you delete an email). An easy-to-use undo option is preferable over annoying the user with confirmation dialogs.

Click on the tab labeled “Get More” to show the interface for hints.

GET MORE (third mockup page)

The Get More tab would list two applications at a time: one installed application that doesn’t have all its trophies achieved, and one not-currently-installed application that has a trophy to achieve. The applications are chosen at random and rotated out every day or so.

This would help the user to preserve the reward and surprise of unexpectedly unlocking a new trophy, yet still allow them to get help if they’re stuck. Both sections would display the app’s 48×48 icon, the app’s title, and a brief, easy-to-understand description of the app.

  • The Run it now! button would run the application; it would change to “Switch to it!” if the application is already running, or “Where is it?” if the application doesn’t have a window for its main interface (e.g. a panel applet, indicator, or icon in the notification area).
  • If the user clicked “Where is it?” the effect would be to dim the rest of the screen and show a red arrow pointing to the applet, indicator, icon, etc. The not-currently-installed application has two buttons.
  • The Install it! button would run the install command(s), asking permission from the user if the install requires adding or activating a PPA or other repository.
  • The Learn more button would show the application in the Ubuntu Software Center (or open a browser with the relevant OMG! Ubuntu blog post if it’s not in the standard repositories).

After a discussion about an app-centric trophy view Adam came up with the following two mockups:

I had a few ideas for viewing trophies by app:

  1. Keep it in the Trophies tab and add a “Group By” option for “Group By App” to the View menu.
  2. Keep it in the Trophies tab and add a “Show Apps” option in the View menu.
  3. Add an Apps tab—I think I like this approach best. It would be very similar to the Trophies tab setup. You could share or export this display just like you could with the one on the Trophies tab. The details area would also show details about an app when you click on an app icon or title.

Here is a quick mockup of how this could look in either the Trophies tab or the Apps tab (it’s similar to what I visualize for the list view with the Group By setting on):

(Tomboy is collapsed so its trophies are hidden)
Trophies that aren’t specifically related to any app come under a miscellaneous section, titled “General” or something. Also, I think if a trophy is related to more than one app (e.g., a trophy for working in gedit for a half hour while playing music in Banshee), it would show up under both apps.

Here’s an alternate version with buttons for opening/switching to/highlighting an app (just like in the “Get More” tab):

However, I think those buttons are better placed in the details section shown when the user selects an app, like the next mockup shows. (The mockups above aren’t very good at telling the user they can select an app by its icon or name, so that would need some tweaking.)

So with that me and Kilian Valkhof will be implementing the UI using pygtk and Webkit (I have to get rid of my current UI).

Trophies

I started working on a set of trophies in a service that uses Zeitgeist to award based on activities. Some simple cases that work are:

  • Tomboy Amateur: Edited 5 Tomboy Notes.
  • Tomboy Experienced User: Edited 15 Tomboy Notes
  • Tomboy Addict: Use at least Tomboy Note per day for 7 days in a row.

This also works for Rhythmbox, Banshee and gedit at the moment (It is copy pasting the same code)
Currently finishing a more advanced trophy set:

  • Jonoholic: Listen to all Severed Fifth songs from the new album
  • Jono Wannabe: (surprise)

While many people disagree with the idea behind a trophy or achievement system there is at least to thinks that stand up for it:

  • Learning aid: Allow people to explore the system and use Applications. Give them the feeling of accomplishing something. Especially for kids.
  • Behavior monitor and control: The not so fun side would be awarding trophies for weird behavior:
    • Weirdo: Have the computer running for 8 hours without screensaver going on.
    • Pervert: Watch 5 pornos in 24 hours.

What now?

If you want to develop with a fun team please come on #omg! on freenode and contact us. It is a small code base for everyone to have fun with.  Also we need a new name for OMG! so feel free to comment and suggest…

{ 7 } Comments

  1. someone | August 21, 2010 at 1:42 am | Permalink

    PLEASE do something USEFUL instead.
    Flattr? Are you kidding me?

  2. zekopeko | August 21, 2010 at 3:16 am | Permalink

    Looks good but please kill the menu. It should only show menu when running on Unity or something that has appmenu applet. Go with an icon ala Nautilus Elementary.

    I would also collapse all those Show/Hide trophy options into a single drop down menu.

    “This trophy should: [drop down menu with options]

    I think you are over-designing it. Go simple and then add options to it later if they are necessary.

  3. Zeeshan Ali | August 21, 2010 at 9:18 am | Permalink

    Talking of integration with media player apps, I’m wondering if it would make sense to log playback on remote machines as well. IMHO user would want to see which media she played on a particular date/time regardless of where it was played, wether locally or another machine (PS3 or xbox would be the common scenerio).

  4. Wiflye81 | August 21, 2010 at 11:49 am | Permalink

    In the second second mockup (App centric), did you remove the glass shelf background ? IMHO it will be a big loss.
    My idea of mockup for the trophy viewer is based on maybe the next software center mockup (http://www.omgubuntu.co.uk/2010/07/new-software-center-mock-up-all-box-no.html).
    OMG is a great idea, thanks.
    I will also take a look at the hamsters project :mrgreen:

  5. skierpage | August 21, 2010 at 9:15 pm | Permalink

    1. You are the marketing department for your app.
    2. You never know who will come across your blog posts, and you never get a second chance to make a first impression.
    3. Googling for “Ubuntu OMG package” produces nothing relevant!

    So the second sentence of every announcement and blog post HAS to be a one-sentence overview of what the hell OMG! is. It’s a good exercise to come up with a crisp meaningful overview and no one will begrudge you the repetition.

    Good luck with the project.

  6. istoff | August 22, 2010 at 8:54 am | Permalink

    I mean no disrespect, but if you accept random opinions, here’s one.

    Having found the existing similar project, at an extremely early part of your design / development phase, you guys still decide to provide an alternative app. its a mistake to believe it offers users a choice as it does the user more harm than good. i am sure you know the normal arguments about this sort of thing. duplication of effort / etc, etc.

    From your blog post, you appear to be excited an enthused to do this, but having read both sites (thanks for the link), as an outsider, they seem to have a more well thought out approach.

    Some of your comments appear to arrogant and cocky taken without more context.

    ” Our development is more agile and evolutionary ” – whenever I hear this, I cringe as it tends to lead to frequent rewrites, design snafu’s and, code that needs to be re-engineered totally every now and then. Once the lead developers get bored and move on to more interesting topics, we’re left with barely maintainable code with out of date documentation. I’m happy to be proven wrong in your case, but I mention it anyway.

    On a more fun note.
    “Weirdo: Have the computer running for 8 hours without screensaver going on.”

    - I do this all the time. I just switch off the monitor. Especially if I am doing serious computations. I don’t want to slow the cpu down. So now I am a weirdo??

    Pervert: Watch 5 pornos in 24 hours.

    - practically? you going to query a database to verify ? or image recognition in a video?

    The reason I mention the last one, is that it indicates your eagerness to implement stuff that hasn’t been thought out enough. Again, I am happy to be proven wrong and will admit crow.

    I am a PS3 & xbox 360 user so I love the whole trophy / achievement thing and would love to see it appear and be useful. What I don’t want to see is that I can only compare my achievements with people using the same system as mine.

    I am just a simple user and I wish you well, whatever you guys decide.

  7. Linda Mussel | September 28, 2010 at 9:06 pm | Permalink

    Great Post, thanks for your great Post. I will come back later . Great information about ps3 hacking: PS3 Hack

{ 1 } Trackback

  1. [...] Seif Lotfy [...]

Post a Comment

Your email is never published nor shared. Required fields are marked *