Advice on implementing a zooming interface?

chombee chombee at nerdshack.com
Wed Apr 16 08:54:29 EDT 2008


         I thought this list might be a good place to ask for advice.
                                                      
 I have tested a paper + card version of a prototype story writing tool
    with children, and now need to implement a computer version of the
prototype. I don't have my interface mockups handy, but it is card-based
    story writing. Imagine looking down at a set of 10, 20 or 30 or so
                                                 "story
     cards" on a table, you write a bit of the story on each card. The
 interface needs to be able to provide a zoomed-out overview of all the
   cards, and to zoom-in on each individual card, and the cards need to
                                                   have
text entry widgets on them for the user to input their story (they also
                                need text labels and images).
                                                      
I initially envisioned the 2D cards existing in a 3D scene with proper,
  animated, continuous zooming. This isn't really necessary though, the
                                                   zoom
   is rather used to connect a fixed number of discrete screens, so it
                                                  could
    be implemented more like in Sugar, where you don't actually see an
                              animation of the zoom happening.
                                                      
   Initially I thought to use pygame for the implementation as I knew I
                                                  could
use this on an XO. But I have looked around, and the GUI toolkits I can
find for pygame seem a bit limited. A text input area widget is missing
   from pgu, for example. And I'm not sure I would be able to place GUI
  widgets onto sprites (the cards) with any of the toolkits I saw, they
                                                   all
 seem to allow a 2D interface to be overlayed on the game scene but not
   integrated *into* the scene, whereas I have been imagining my story
                                                  cards
     as sprites in a game scene and the GUI widgets being on the cards
                                             themselves.
                                                      
 The most promising, in fact the only workable option I've found, seems
                                                    to
 be the 3D game engine Panda3D, and its DirectGUI library. I believe it
  would allow the cards to be implemented as flat objects in a 3D scene
                                                   and
  allow GUI widgets to be placed onto these objects in the scene. But a
                                                   full
                                  3D engine may be overkill.
                                                      
Does anyone have any advice on how I could implement this, and hopefully
      make it OLPC compatible, either using pygame or something else?
                                                      
                                                 Thanks





More information about the Devel mailing list