Pongo – a inexpensive UI lab

Ever wish you had your own UI-lab, but can’t build one with all the expensive cameras, big boxes and one-way-mirrors in your house right now?

Pongo 0.1 (requires python and istanbul)

It catches sound and video from your web cam, records your desktop and merges it together into a ogg file that’s ready to publish on the web.
Hope anyone finds it useful. We’re planning on a more proper UI and something that catches the key and mouse presses.
Here is a short screencast (sorry for the colors, don’t hesitate to send fixes if you know what’s wrong)

Big thanks to Daniel and Olivier, who helped me with some initial tests and Jan, who put together the final python code.

18 Responses to “Pongo – a inexpensive UI lab”

  1. Great work

    Btw, I can read the titles of the books in your book shelf

  2. Very nice.

    You might be interested by some hacks we experimented some time ago at Mandriva while creating a cheap UI testing lab : http://wiki.mandriva.com/en/Usability_Labs_Setup

  3. ethana2 says:

    It would be amazing if it would overlay it over the entire screen and horizontal flip the webcam feed (so you can tell what you’re looking at and such).

  4. Raf says:

    Great stuff but why does it import PyGTK? It isn’t actually used in the current code.

  5. luisbg says:

    Awesome! Very useful. We need to get the UI design people to start using it in their testing :)

  6. Hylke says:

    That’s great! Are there plans for a GUI like Silverback?
    btw, how long have you been using that wallpaper? ;)

  7. Andreas Nilsson says:

    Hylke: yeah, I think it would be nice with some more UI. Maybe a collection of previous sessions and ability to add some notes to them and stuff. I also think it would be nice to make sure that the camera works before spending 15 minutes on doing a test.
    Not sure about the wallpaper. One year maybe?

  8. You could add a record/replay function of the user input with GNU Xnee[1].
    This means among other you can replay the user’s action many times.
    I an quite sure the author of Xnee can assist you.

    [1] http://www.sandklef.com/xnee

  9. Rob Taylor says:

    Absolutely awesome! I tried hacking something like this back at Boston 2006, but gstreamer wasn’t really up to it then. It’s great so see this happen!

    Now lets build a good ui testing community!

  10. Giorgos says:

    Hey, good job! I didn’t manage to get it to work on my machine. I get this error. Maybe you can help?

    Traceback (most recent call last):
    File “pongo.py”, line 44, in
    (out_file, out_w, out_h, v4l_device, cam_w, cam_h))
    glib.GError: no element “istximagesrc”

  11. Frank says:

    So simple it’s genius.

    For future work, perhaps think about something like ‘eye tracking’ from the webcam video to get an idea where the user is looking. (Not necessarily as you record, but it could eg be done by a separate app later.)

  12. Andreas Nilsson says:

    Giorgos: do you have Istanbul installed? it should install a gstreamer plugin for you.
    try “gst-inspect-0.10 istximagesrc” in a terminal and see if it spits something back.

  13. [...] Back to reality after a weekend in Brusselles and FOSDEM. As usual I attended few lectures but met many people. Andreas Nilsson thinking about pongo [...]

  14. Thanks, Pongo should be really important for us to do usability testing!

  15. Giorgos says:

    @Andreas:
    Ermm my fault! I though I had istanbul installed but I didn’t. Nice work :)

  16. Glynn Foster says:

    Awesome – btw, nice fan in the background noise. Could be useful for profiling too! ;)

  17. Brian Cameron says:

    Works pretty well on Solaris, aside from the fact that it has “alsasink” hardcoded in it. If you changed it to use “gconfaudiosrc”, then it would load
    the source from the GConf setting, and would be more portable, I think.

  18. Ivanka says:

    Brilliant! This is exactly what I need.

    Being a user experience person with limited python skills I am wondering if there is anything I can do to help get this packaged for Ubuntu? Let me know. Happy to join in.

Leave a Reply