pyZui - anyone know about this?

Discussion in 'Python' started by Donn, Dec 11, 2009.

  1. Donn

    Donn Guest

    Hi,
    I happened upon this youtube link:
    http://www.youtube.com/watch?v=57nWm984wdY
    It fairly blew my socks off. In it a fellow by the name of David Roberts demos
    a zui written in Python. Aside from the zooming (which is impressive enough)
    it show embedding of images, pdf files, web pages and text.

    He says nothing about what toolkits were used or how it might have been done.
    It's Linux-based, but no other info. On some googling, I can only find a few
    bug reports on pypi related to pyQt. I would really like to find out how that
    ZUI was done, it's simply amazing.

    Any clues out there?

    \d
    --
    \/\/ave:
    home: http://otherwise.relics.co.za/
    2D vector animation : https://savannah.nongnu.org/projects/things/
    Font manager : https://savannah.nongnu.org/projects/fontypython/
     
    Donn, Dec 11, 2009
    #1
    1. Advertising

  2. Donn

    David Boddie Guest

    On Friday 11 December 2009 05:41, Donn wrote:

    > I happened upon this youtube link:
    > http://www.youtube.com/watch?v=57nWm984wdY
    > It fairly blew my socks off. In it a fellow by the name of David Roberts
    > demos a zui written in Python. Aside from the zooming (which is impressive
    > enough) it show embedding of images, pdf files, web pages and text.
    >
    > He says nothing about what toolkits were used or how it might have been
    > done. It's Linux-based, but no other info. On some googling, I can only
    > find a few bug reports on pypi related to pyQt. I would really like to
    > find out how that ZUI was done, it's simply amazing.
    >
    > Any clues out there?


    Doesn't the author give his e-mail address at the end of the video?
    (Maybe I'm thinking of a different video.)

    David
     
    David Boddie, Dec 13, 2009
    #2
    1. Advertising

  3. Donn

    Donn Guest

    On Monday 14 December 2009 00:10:52 David Boddie wrote:
    > Doesn't the author give his e-mail address at the end of the video?
    > (Maybe I'm thinking of a different video.)
    >

    Yes, in a quick and garbled way :) I have yet to try to contact the author or
    the youtube poster -- been too busy.

    I was hoping someone on the list may recognize what tools he was using, or
    have some insight into how they would attack the problem.
    I have pondered it from a wxPython pov, that being all I am experienced with
    and I would have no chance of recreating that demo. Is it using some kind of
    built-in QT/KDE voodoo?

    \d
    --
    \/\/ave:
    home: http://otherwise.relics.co.za/
    2D vector animation : https://savannah.nongnu.org/projects/things/
    Font manager : https://savannah.nongnu.org/projects/fontypython/
     
    Donn, Dec 14, 2009
    #3
  4. geremy condra, Dec 14, 2009
    #4
  5. On Mon, Dec 14, 2009 at 11:02, Donn <> wrote:
    > On Monday 14 December 2009 00:10:52 David Boddie wrote:
    >> Doesn't the author give his e-mail address at the end of the video?
    >> (Maybe I'm thinking of a different video.)
    >>

    > Yes, in a quick and garbled way :) I have yet to try to contact the author or
    > the youtube poster -- been too busy.
    >
    > I was hoping someone on the list may recognize what tools he was using, or
    > have some insight into how they would attack the problem.
    > I have pondered it from a wxPython pov, that being all I am experienced with
    > and I would have no chance of recreating that demo. Is it using some kind of
    > built-in QT/KDE voodoo?
    >


    Doesn't look like he's using KDE -- the filemanager he's using to
    choose images looks rather like Nautilus.

    I know KDE 4's Plasma framework has a ZUI and pretty good Python
    bindings, but I know very little about them other than that they
    exist.

    --------
    Rami Chowdhury
    "Never assume malice when stupidity will suffice." -- Hanlon's Razor
    408-597-7068 (US) / 07875-841-046 (UK) / 0189-245544 (BD)
     
    Rami Chowdhury, Dec 14, 2009
    #5
  6. Donn

    David Boddie Guest

    On Monday 14 December 2009 20:02, Donn wrote:

    > On Monday 14 December 2009 00:10:52 David Boddie wrote:
    >> Doesn't the author give his e-mail address at the end of the video?
    >> (Maybe I'm thinking of a different video.)
    >>

    > Yes, in a quick and garbled way :) I have yet to try to contact the author
    > or the youtube poster -- been too busy.


    I managed to catch his address and sent him a message saying that people
    were discussing PyZUI in this thread.

    David
     
    David Boddie, Dec 14, 2009
    #6
  7. Donn

    Donn Guest

    Donn, Dec 15, 2009
    #7
  8. Hi,

    Yes, the toolkit used is PyQt. The ZUI is implemented using a simple
    QPainter, and employs pyramidal tiling for efficiency (I haven't used
    any Qt/KDE voodoo in this regard). I'm using Gnome at the moment, but
    it should work just as well on KDE. Web pages are rendered using
    QtWebKit, and PDF with the pdftoppm utility.

    The project is opensource (GPLv2), but just hasn't been published
    yet :) . I'll try to make a release over the next few days, and I'll
    post a link here when I do.

    --
    David Roberts
    http://da.vidr.cc/

    On Dec 15, 10:33 am, Donn <> wrote:
    > On Tuesday 15 December 2009 01:43:52 David Boddie wrote:> I managed to catch his address and sent him a message saying that people
    > > were discussing PyZUI in this thread.

    >
    > Oooh. Sits,fidgets and waits. I want my socks back! (OP) :D
    >
    > \d
    > --
    > \/\/ave:
    > home:http://otherwise.relics.co.za/
    > 2D vector animation :https://savannah.nongnu.org/projects/things/
    > Font manager :https://savannah.nongnu.org/projects/fontypython/
     
    David Roberts, Dec 15, 2009
    #8
  9. Donn

    Donn Guest

    On Tuesday 15 December 2009 04:29:39 David Roberts wrote:
    > Yes, the toolkit used is PyQt.

    \me makes note to start learning PyQt asap.

    > and employs pyramidal tiling for efficiency

    \me ... time to hit Wikipedia :)

    > (I haven't used any Qt/KDE voodoo in this regard).

    Imho, your code should *become* that voodoo -- from what I saw in that vid
    it's unique and has such promise.

    > QtWebKit, and PDF with the pdftoppm utility.

    Ah, thanks.

    > The project is opensource (GPLv2), but just hasn't been published
    > yet :) . I'll try to make a release over the next few days, and I'll
    > post a link here when I do.

    Can't wait.

    David, thanks for replying here on the list. Well done on your pyZui and I
    hope it catches fire in people's imaginations. I think that fire may explain why
    my socks are missing! :D

    \d
    --
    \/\/ave:
    home: http://otherwise.relics.co.za/
    2D vector animation : https://savannah.nongnu.org/projects/things/
    Font manager : https://savannah.nongnu.org/projects/fontypython/
     
    Donn, Dec 15, 2009
    #9
  10. Donn

    Donn Guest

    On Tuesday 15 December 2009 11:12:21 Martijn Arts wrote:
    > You could do some really awesome stuff with that! I love the webpage
    > example where you zoom in on the exclamation mark and there's a new page.
    >

    It is very cool, but I would inject a note of caution here: I'd a hate a zui
    to become a case of "hunt-the-zoom." A link is a link. They already work very
    well, click and it goes to the page.
    I find the notion of minute "hot" areas to be a little obscure -- Quick! Zoom
    into the last full-stop, it's a whole word in there!
    What I would enjoy is when you click a link - it zooms into the sub-page so
    you get a feeling of traversal. Back buttons would zoom out again. Add to that
    a kind of birds'-eye view of one's history (like a thumbnails node-graph of
    some kind) and it would be perfect!

    \d
    --
    \/\/ave:
    home: http://otherwise.relics.co.za/
    2D vector animation : https://savannah.nongnu.org/projects/things/
    Font manager : https://savannah.nongnu.org/projects/fontypython/
     
    Donn, Dec 15, 2009
    #10
  11. Donn

    alex23 Guest

    Donn <> wrote:
    > I find the notion of minute "hot" areas to be a little obscure -- Quick! Zoom
    > into the last full-stop, it's a whole word in there!


    This aspect reminds me of the Red Dwarf episode "Back to Reality", in
    which Rimmer is criticised for not finding information contained in a
    microdot hidden in the dot on the 'i' of his name on a swimming
    certificate.

    ZUIs are useful for particular types of data - images & mapping
    especially - but I'd hate to have to navigate my desktop using its
    approach.
     
    alex23, Dec 16, 2009
    #11
  12. > > and employs pyramidal tiling for efficiency
    >
    > \me ... time to hit Wikipedia :)

    It involves scaling an image to various resolutions, and partitioning
    them into fixed-size tiles. It's roughly the same technique used by
    Google Maps/Earth.

    > It is very cool, but I would inject a note of caution here: I'd a hate a zui
    > to become a case of "hunt-the-zoom." A link is a link. They already work very
    > well, click and it goes to the page.
    > I find the notion of minute "hot" areas to be a little obscure -- Quick! Zoom
    > into the last full-stop, it's a whole word in there!
    > What I would enjoy is when you click a link - it zooms into the sub-page so
    > you get a feeling of traversal. Back buttons would zoom out again. Add to that
    > a kind of birds'-eye view of one's history (like a thumbnails node-graph of
    > some kind) and it would be perfect!

    Sure, it was just a quick mockup of a potential application. A proper
    implementation would probably have more sophisticated features such as
    that.

    > This aspect reminds me of the Red Dwarf episode "Back to Reality", in
    > which Rimmer is criticised for not finding information contained in a
    > microdot hidden in the dot on the 'i' of his name on a swimming
    > certificate.

    Haha, true.

    > ZUIs are useful for particular types of data - images & mapping
    > especially - but I'd hate to have to navigate my desktop using its
    > approach.

    Obviously there will be some applications that suit more traditional
    GUIs better than ZUIs, just like there's plenty of applications more
    suited to the command-line than a GUI. After all, things such as the
    web and the desktop metaphor came into being long before ZUIs.

    On Dec 16, 1:09 pm, alex23 <> wrote:
    > Donn <> wrote:
    > > I find the notion of minute "hot" areas to be a little obscure -- Quick! Zoom
    > > into the last full-stop, it's a whole word in there!

    >
    > This aspect reminds me of the Red Dwarf episode "Back to Reality", in
    > which Rimmer is criticised for not finding information contained in a
    > microdot hidden in the dot on the 'i' of his name on a swimming
    > certificate.
    >
    > ZUIs are useful for particular types of data - images & mapping
    > especially - but I'd hate to have to navigate my desktop using its
    > approach.
     
    David Roberts, Dec 16, 2009
    #12
  13. PyZUI 0.1 has been released:

    http://da.vidr.cc/projects/pyzui/

    On Dec 15, 12:29 pm, David Roberts <> wrote:
    > Hi,
    >
    > Yes, the toolkit used is PyQt. The ZUI is implemented using a simple
    > QPainter, and employs pyramidal tiling for efficiency (I haven't used
    > any Qt/KDE voodoo in this regard). I'm using Gnome at the moment, but
    > it should work just as well on KDE. Web pages are rendered using
    > QtWebKit, and PDF with the pdftoppm utility.
    >
    > The project is opensource (GPLv2), but just hasn't been published
    > yet :) . I'll try to make a release over the next few days, and I'll
    > post a link here when I do.
    >
    > --
    > David Robertshttp://da.vidr.cc/
    >
    > On Dec 15, 10:33 am, Donn <> wrote:
    >
    >
    >
    > > On Tuesday 15 December 2009 01:43:52 David Boddie wrote:> I managed to catch his address and sent him a message saying that people
    > > > were discussing PyZUI in this thread.

    >
    > > Oooh. Sits,fidgets and waits. I want my socks back! (OP) :D

    >
    > > \d
    > > --
    > > \/\/ave:
    > > home:http://otherwise.relics.co.za/
    > > 2D vector animation :https://savannah.nongnu.org/projects/things/
    > > Font manager :https://savannah.nongnu.org/projects/fontypython/
     
    David Roberts, Dec 16, 2009
    #13
  14. > PyZUI 0.1 has been released:
    >
    > http://da.vidr.cc/projects/pyzui/


    Cool, thanks very much!

    I'm using python 2.6 these days and noticed that you use the sha
    module which makes py2.6 spit out a deprecation warning:

    /home/fetchinson/pyzui/pyzui/tilestore.py:22: DeprecationWarning: the
    sha module is deprecated; use the hashlib module instead
    import sha

    It's no big deal but if you want to be future proof maybe you can
    switch to hashlib for py2.6 and stay with sha for py2.5 and before (a
    try/except block would suffice).

    Cheers,
    Daniel


    --
    Psss, psss, put it down! - http://www.cafepress.com/putitdown
     
    Daniel Fetchinson, Dec 16, 2009
    #14
  15. Donn

    r0g Guest

    r0g, Dec 16, 2009
    #15
  16. Donn

    Donn Guest

    Donn, Dec 17, 2009
    #16
  17. Donn

    Donn Guest

    On Wednesday 16 December 2009 07:03:19 David Roberts wrote:
    > It involves scaling an image to various resolutions, and partitioning
    > them into fixed-size tiles. It's roughly the same technique used by
    > Google Maps/Earth.

    Thanks. That gives me something to go on. Wikipedia didn't like my search
    terms.

    > > ZUIs are useful for particular types of data - images & mapping
    > > especially - but I'd hate to have to navigate my desktop using its
    > > approach.

    Ever since Corel Draw in the 90's zoomed into my life I have been in love with
    the idea of an endless canvas that makes me feel like a satellite on a bungee
    cord. I think it would fit the desktop very well.

    Personally I see a merging of normal app windows and a zui: some kind of new
    window manager.
    If I planned it out it would look something like this:
    Your apps all run as they do now*, but they live on this endless plain.
    Perhaps it can be divided up into 'zones' or 'galaxies' or something. I would
    have a 'hyperspace' or 'hyperlink' or 'jump' facility (like alt-tab, I guess)
    to make transits from one custom-defined area to another quick.

    I would have a home position for the view -- like Inkscape does in terms of
    show all, zoom to selected, zoom to last, etc.

    I would have rules about traversing. Things like file-managers need some kind
    of static display - like the bread crumbs and up, back, home etc.

    Each app would only be active when 'locked-in', beyond that it's a bitmap of
    the last paint. You could drag apps around when you zoom out, and you can
    resize them at any time too.
    (Just imagine OOCalc in a zui! Super/Capslock and mouse wheel for scroll/pan)

    The other cool idea I had was to (handwavium here) graphically convey the
    notion of pipes and import/export between apps. Also between any nodes across
    the Universe of the zui. Perhaps a special 'node view' that overlays and shows
    all the conduits between them -- sharp where your mouse is, faded away from
    that so the whole thing is not too complex.
    Imagine the flow from Inkscape to Gimp and back. Instead of File -> Export and
    then File -> Import, you connect pipes along the side of each app.
    Inkscape, [save selected as png (properties preset)] goes to Gimp [import to
    layers by names (a script perhaps)] Now as you work in Inkscape and hit a
    hotkey, all your selected vectors are sent to Gimp which reacts as if you were
    there and places the new pngs into layers.
    This can work both ways and between multiple programs. Mix-in Blender and
    Scribus and Lyx and some grep and a loop or two and some imagemagick...

    Ah, I better stop. I can ramble on sometimes :)

    *I have many issues with the endless variety of re-invented wheels afa gui
    toolkits go. This is another whole can of shai-Hulud...

    I wrote some stuff about this a while back, if anyone wants to be put to sleep:
    http://otherwise.relics.co.za/wiki/Particles/DreamDesignApp/
    :)

    \d

    --
    \/\/ave:
    home: http://otherwise.relics.co.za/
    2D vector animation : https://savannah.nongnu.org/projects/things/
    Font manager : https://savannah.nongnu.org/projects/fontypython/
     
    Donn, Dec 17, 2009
    #17
  18. > /home/fetchinson/pyzui/pyzui/tilestore.py:22: DeprecationWarning: the
    > sha module is deprecated; use the hashlib module instead
    >   import sha

    Yeah, I'd noticed that. It's fixed in the repository now.

    On Dec 16, 10:55 pm, Daniel Fetchinson <>
    wrote:
    > > PyZUI 0.1 has been released:

    >
    > >http://da.vidr.cc/projects/pyzui/

    >
    > Cool, thanks very much!
    >
    > I'm using python 2.6 these days and noticed that you use the sha
    > module which makes py2.6 spit out a deprecation warning:
    >
    > /home/fetchinson/pyzui/pyzui/tilestore.py:22: DeprecationWarning: the
    > sha module is deprecated; use the hashlib module instead
    >   import sha
    >
    > It's no big deal but if you want to be future proof maybe you can
    > switch to hashlib for py2.6 and stay with sha for py2.5 and before (a
    > try/except block would suffice).
    >
    > Cheers,
    > Daniel
    >
    > --
    > Psss, psss, put it down! -http://www.cafepress.com/putitdown
     
    David Roberts, Dec 17, 2009
    #18
  19. > Personally I see a merging of normal app windows and a zui: some kind of new
    > window manager.

    Have you seen Eagle Mode[1]?

    [1] http://eaglemode.sourceforge.net/

    On Dec 17, 5:14 pm, Donn <> wrote:
    > On Wednesday 16 December 2009 07:03:19 David Roberts wrote:> It involves scaling an image to various resolutions, and partitioning
    > > them into fixed-size tiles. It's roughly the same technique used by
    > > Google Maps/Earth.

    >
    > Thanks. That gives me something to go on. Wikipedia didn't like my search
    > terms.
    >
    > > > ZUIs are useful for particular types of data - images & mapping
    > > > especially - but I'd hate to have to navigate my desktop using its
    > > > approach.

    >
    > Ever since Corel Draw in the 90's zoomed into my life I have been in love with
    > the idea of an endless canvas that makes me feel like a satellite on a bungee
    > cord. I think it would fit the desktop very well.
    >
    > Personally I see a merging of normal app windows and a zui: some kind of new
    > window manager.
    > If I planned it out it would look something like this:
    > Your apps all run as they do now*, but they live on this endless plain.
    > Perhaps it can be divided up into 'zones' or 'galaxies' or something. I would
    > have a 'hyperspace' or 'hyperlink' or 'jump' facility (like alt-tab, I guess)
    > to make transits from one custom-defined area to another quick.
    >
    > I would have a home position for the view -- like Inkscape does in terms of
    > show all, zoom to selected, zoom to last, etc.
    >
    > I would have rules about traversing. Things like file-managers need some kind
    > of static display - like the bread crumbs and up, back, home etc.
    >
    > Each app would only be active when 'locked-in', beyond that it's a bitmap of
    > the last paint. You could drag apps around when you zoom out, and you can
    > resize them at any time too.
    > (Just imagine OOCalc in a zui! Super/Capslock and mouse wheel for scroll/pan)
    >
    > The other cool idea I had was to (handwavium here) graphically convey the
    > notion of pipes and import/export between apps. Also between any nodes across
    > the Universe of the zui. Perhaps a special 'node view' that overlays and shows
    > all the conduits between them -- sharp where your mouse is, faded away from
    > that so the whole thing is not too complex.
    > Imagine the flow from Inkscape to Gimp and back. Instead of File -> Export and
    > then File -> Import, you connect pipes along the side of each app.
    > Inkscape, [save selected as png (properties preset)] goes to Gimp [import to
    > layers by names (a script perhaps)] Now as you work in Inkscape and hit a
    > hotkey, all your selected vectors are sent to Gimp which reacts as if you were
    > there and places the new pngs into layers.
    > This can work both ways and between multiple programs. Mix-in Blender and
    > Scribus and Lyx and some grep and a loop or two and some imagemagick...
    >
    > Ah, I better stop. I can ramble on sometimes :)
    >
    > *I have many issues with the endless variety of re-invented wheels afa gui
    > toolkits go. This is another whole can of shai-Hulud...
    >
    > I wrote some stuff about this a while back, if anyone wants to be put to sleep:http://otherwise.relics.co.za/wiki/Particles/DreamDesignApp/
    > :)
    >
    > \d
    >
    > --
    > \/\/ave:
    > home:http://otherwise.relics.co.za/
    > 2D vector animation :https://savannah.nongnu.org/projects/things/
    > Font manager :https://savannah.nongnu.org/projects/fontypython/
     
    David Roberts, Dec 17, 2009
    #19
  20. Donn

    Donn Guest

    Donn, Dec 17, 2009
    #20
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. DP
    Replies:
    0
    Views:
    1,157
  2. Lasse Laegteskov
    Replies:
    1
    Views:
    502
    Rune Berge
    Jun 1, 2004
  3. Replies:
    2
    Views:
    300
    Victor Bazarov
    Jan 25, 2007
  4. Simon Egginton

    LOOK! i just want to know does anyone know...

    Simon Egginton, Jul 26, 2004, in forum: Javascript
    Replies:
    3
    Views:
    184
    Dr John Stockton
    Jul 26, 2004
  5. Andries

    I know, I know, I don't know

    Andries, Apr 23, 2004, in forum: Perl Misc
    Replies:
    3
    Views:
    255
    Gregory Toomey
    Apr 23, 2004
Loading...

Share This Page