I've been writing a similar UI

2008-06-18
2013-04-16
  • Phil Endecott
    Phil Endecott
    2008-06-18

    Hi there!

    Just saw Eagle Mode on freshmeat.  Looks very interesting - but I'm not going to try to run it because I don't have any hardware even close to your minimum requirements.  What do you do that's so CPU-intensive?

    For a while I've slowly been implementing a ZUI for a digital picture frame that I've built.  It has a 500 MHz VIA processor and a 1440x900 LCD in a nice wooden frame; I control it using a Gyration gyroscopic mouse.  My photos are rendered on a selection of views including a calendar and a world map (using some NASA images) for those that are geo-tagged.  Even on this slow hardware I'm able to get screen update rates of >15 fps for simple views, and maybe around 4-5 fps for more complex views.  I think it's font rendering that limits it most of the time.  I'm doing this using DirectFB as the bottom layer.

    Anyway, having implemented this photo viewing ZUI I'm convinced that it could be very useful for other purposes.  Directory browsing, as you have done, is an obvious one; but how can we browse e.g. our archived email or the web from a ZUI?  It would be great if it could be done.

    Search is something that I plan to add soon.  Is that something that you've thought about?  I'm imagining that it will zoom out far enough so that all matches can be seen (with some yellow highlighting); as you type more characters the matches will be filtered and you'll zoom towards the remaining ones.  Eventually you'll be able to cycle through the matches somehow.

    Have you thought about how to "fly" from one viewpoint to another?  i.e. if I want to go from pt1 at zoom level z1 to point pt2 at zoom level z2, what "trajectory" should I take?  If the points are far apart it's essential to zoom out, pan, and then zoom in; but getting the maths to provide a "natural"-looking experience is hard.

    I presume that you've read The Humane Interface.  Have you tried Archy?  How does that compare with what you're doing?

    Cheers,

    Phil.

     
    • Oliver Hamann
      Oliver Hamann
      2008-06-20

      > minimum requirements ... What do you do that's so CPU-intensive?

      Anti-aliasing, alpha blending, up to half a million characters on the screen, no MMX/SSE (not yet), and maybe it has something to do with my personal taste of comfortable frame rates.

      > browse e.g. our archived email or the web from a ZUI?

      Simply invent a zoomable document format and tell all web masters to convert their sites. But *earnest* do not try to remove the concept of URL's and hyperlinks.

      > Search

      For now, Eagle Mode just has the Select Recursively command. It lists and selects all files matching a pattern. So the user can do both: view the list, or navigate around and look for the selections.

      > "fly" from one viewpoint to another

      Maybe it could be a ballistic flight, I mean a 3D model where the camera flies like a cannon ball. It's just a quick idea.

      > The Humane Interface ... Archy

      No, neither. So I'm unable to compare.

       
      • Phil Endecott
        Phil Endecott
        2008-06-20

        I thoroughly recommend The Humane Interface, as it has a whole chapter on zooming interfaces.  You can probably get a secondhand copy quite cheaply as it is often a university course textbook.

        Something else I saw recently was gdview, which is a zooming directory browser with area proportional to the size of the files.

         
      • Phil Endecott
        Phil Endecott
        2008-06-20

        One other thing that I noticed: you say something about using a mouse with a "smooth" scroll-wheel.  Do you have one where you actually get a continuously-varying 'Z' value?  I have a mouse with a wheel that doesn't have mechanical clicks, but by the time they get to my software I'm still receiving events only about every 15 degrees of rotation.

         
        • Oliver Hamann
          Oliver Hamann
          2008-06-21

          Oh, no, "smooth-running" seems to have different meanings. I meant "easy", for that the finger does not hurt after some time.

           

  • Anonymous
    2010-05-16

    Phil , I like your ideas of web browsing, traveling and searching, and I would be very interested to check out your work. How is it coming along? I loved THI and Archy too.