Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

pyZui - anyone know about this?

10 views
Skip to first unread message

Donn

unread,
Dec 10, 2009, 11:41:56 PM12/10/09
to pytho...@python.org
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: donn....@googlewave.com
home: http://otherwise.relics.co.za/
2D vector animation : https://savannah.nongnu.org/projects/things/
Font manager : https://savannah.nongnu.org/projects/fontypython/

Daniel Fetchinson

unread,
Dec 11, 2009, 5:38:46 AM12/11/09
to Python
> 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?

Youtube has a link 'Send message' on the profile of users, maybe
sending a message to the person who uploaded the video will give you a
useful response.

Cheers,
Daniel


--
Psss, psss, put it down! - http://www.cafepress.com/putitdown

Donn

unread,
Dec 11, 2009, 6:24:11 AM12/11/09
to pytho...@python.org
On Friday 11 December 2009 12:38:46 Daniel Fetchinson wrote:
> Youtube has a link 'Send message' on the profile of users, maybe
> sending a message to the person who uploaded the video will give you a
> useful response.
>
I'm a Tube-tard so that never crossed my mind. Will give it a go.

\d

Stef Mientki

unread,
Dec 11, 2009, 2:03:34 PM12/11/09
to Donn, pytho...@python.org
please let us know when you find more information about the project.
thanks,
Stef Mientki

David Boddie

unread,
Dec 13, 2009, 5:10:52 PM12/13/09
to
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

Donn

unread,
Dec 14, 2009, 2:02:30 PM12/14/09
to pytho...@python.org
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?

geremy condra

unread,
Dec 14, 2009, 2:08:20 PM12/14/09
to Donn, pytho...@python.org
might be related to this: http://code.google.com/p/rchi-zui/

geremy condra

Rami Chowdhury

unread,
Dec 14, 2009, 2:51:08 PM12/14/09
to Donn, pytho...@python.org
On Mon, Dec 14, 2009 at 11:02, Donn <donn....@gmail.com> 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)

David Boddie

unread,
Dec 14, 2009, 6:43:52 PM12/14/09
to
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

Donn

unread,
Dec 14, 2009, 7:33:29 PM12/14/09
to pytho...@python.org
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

David Roberts

unread,
Dec 14, 2009, 9:29:39 PM12/14/09
to Daniel Fetchinson, David Boddie
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 <donn.in...@gmail.com> 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: donn.in...@googlewave.com

Donn

unread,
Dec 15, 2009, 3:28:41 AM12/15/09
to pytho...@python.org
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: donn....@googlewave.com

Donn

unread,
Dec 15, 2009, 5:58:54 AM12/15/09
to pytho...@python.org
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!

alex23

unread,
Dec 15, 2009, 10:09:08 PM12/15/09
to
Donn <donn.in...@gmail.com> 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

unread,
Dec 16, 2009, 12:03:19 AM12/16/09
to
> > 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.

David Roberts

unread,
Dec 16, 2009, 2:42:14 AM12/16/09
to
PyZUI 0.1 has been released:

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

On Dec 15, 12:29 pm, David Roberts <d...@vidr.cc> 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/

Daniel Fetchinson

unread,
Dec 16, 2009, 7:55:19 AM12/16/09
to Python
> 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).

r0g

unread,
Dec 16, 2009, 8:30:05 AM12/16/09
to
David Roberts wrote:
> PyZUI 0.1 has been released:
>
> http://da.vidr.cc/projects/pyzui/
>

Cool, thanks :)

Roger.

Donn

unread,
Dec 17, 2009, 1:34:10 AM12/17/09
to pytho...@python.org
On Wednesday 16 December 2009 09:42:14 David Roberts wrote:
> PyZUI 0.1 has been released:
Magic! Grabbed a tarball yesterday.

Donn

unread,
Dec 17, 2009, 2:14:00 AM12/17/09
to pytho...@python.org
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/
:)

David Roberts

unread,
Dec 17, 2009, 3:51:03 AM12/17/09
to
> /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 <fetchin...@googlemail.com>
wrote:

David Roberts

unread,
Dec 17, 2009, 3:54:59 AM12/17/09
to
> 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/

> \/\/ave: donn.in...@googlewave.com

Donn

unread,
Dec 17, 2009, 4:13:02 AM12/17/09
to pytho...@python.org
On Thursday 17 December 2009 10:54:59 David Roberts wrote:
> Have you seen Eagle Mode[1]?
>
Yes. It's a strange beast. Good start I think; but addicted to zooming, to the
detriment of the managing aspects I think. Still, here I sit writing no code
and pontificating!

Daniel Fetchinson

unread,
Dec 17, 2009, 8:56:47 AM12/17/09
to Python
>> /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.

Great, thanks, pulled it and all looks good.

Cheers,
Daniel


>> > 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
>

> --
> http://mail.python.org/mailman/listinfo/python-list

Terry Reedy

unread,
Dec 17, 2009, 12:46:41 PM12/17/09
to pytho...@python.org
On 12/17/2009 2:14 AM, 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.

The original idea, perhaps, was from Jef Raskin in The Human Interface.
Wikipedia has articles on both. His idea was for a document rather than
app centric plain. Not clear how one would pipe data from app to app in
his model, though.

tjr

Donn

unread,
Dec 17, 2009, 1:43:15 PM12/17/09
to pytho...@python.org
On Thursday 17 December 2009 19:46:41 Terry Reedy wrote:
> His idea was for a document rather than
> app centric plain.
These days I find the notion of monolithic apps to be a pita.
The concept of many small black boxes (but open source) that each do a single
job and pipe in/out is so much more powerful. I don't see why everything in a
gui and down can't be such a box. Then we get to wire them together as needed.
We'd still have 'big apps' but they would be constructed more loosely and we
could adapt them to fit real life needs.

I dunno. I think big apps are dinosaurs. As much as I love Inkscape and
Blender and others, they are all islands with vast gulfs between them.

And let's have Python glue them all together!

> Not clear how one would pipe data from app to app in
> his model, though.

The picture I have of it is illustrated by Blender's material node system.
have a look at this pic:
http://upload.wikimedia.org/wikipedia/commons/2/26/Working_with_Nodes_Blender.PNG
Just a mental jump-off point. Think bash meets zui with a Python driving. :D

0 new messages