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

navigation, zooming in/out, how to solve it?

17 views
Skip to first unread message

ks

unread,
Aug 5, 2006, 7:34:09 AM8/5/06
to
hi all,

i'm trying to build an experimental application to browse a hypertext
space. it's an unusual approach so before i ask a Tk specific question
please let me explain some details of what i want to achieve.

the idea is to have pages with text and links (like the
wikipedia). the text is structurized - among the others it has
sections, subsections, paragraphs etc. what i want to achieve is to
zoom_in/zoom_out (using mouse roll) on the text so more specific
description (e.g. subsections of section) appear or hide. it means
that the text can expand and shrink. secondly user can click on any
link to choose it. after that new small area (window) should appear in
the position of the choosen link. inside this area i will put
information pointed by the link - e.g. description of new
concept, starting with short description. further zooming in/out
should concern new area (window). it should grow taking more and more
place so more and more information could be put (subsections,
paragraphs, etc.). during the growth the previous text from where the
link was choosen should also be shown. its content should shrink and
disappear slowly as new area (window) grows.

at a time there can be more than 1 or 2 windows beceuse user could
e.g. pick another link in newly created area an proceed to it.

i want to build it to ease the exploration of big hypertext spaces
like wikipedia; to present more detailed information if requested
(zooming); to faster navigate and search for the information etc.

so to summarize:
- shrink/expand text by scrolling a mouse roll
- new areas (windows) which can grow and shrink and contain some text
- old text disappear (e.g. fade out (color changing), or transparency)

i was wondering what widgets (approach) to choose in Tk to achive
above. i thought of using frames with textareas, splitting them when
new link is choosen and insert new frame with textarea in the
middle. when the user is zooming in i could expand inner frame, put
there more and more text and smaller the outer one. color of the new
and old text could be manipulated to achieve smoothness.

i was also thinking about using TkZinc beceuse of nice feature of
transparency but i don't know if there is any nice textarea which
could limit inserted text.

do you think it could work with frames? or maybe TkZinc or maybe there
are any other widgets (not necessarly native) which could be helpful?
if you have also any ideas, suggestions or whatever what could be
helpful please answer.

sorry for long post but it's hard for me to explain it
shortly. if any example figures could help, please let me know.

best regards,
ks

Michael Schlenker

unread,
Aug 5, 2006, 11:57:39 AM8/5/06
to
ks schrieb:

> hi all,
>
> i'm trying to build an experimental application to browse a hypertext
> space. it's an unusual approach so before i ask a Tk specific question
> please let me explain some details of what i want to achieve.
>
..

>
> i want to build it to ease the exploration of big hypertext spaces
> like wikipedia; to present more detailed information if requested
> (zooming); to faster navigate and search for the information etc.
>
> so to summarize:
> - shrink/expand text by scrolling a mouse roll
> - new areas (windows) which can grow and shrink and contain some text
> - old text disappear (e.g. fade out (color changing), or transparency)
>
> i was wondering what widgets (approach) to choose in Tk to achive
> above. i thought of using frames with textareas, splitting them when
> new link is choosen and insert new frame with textarea in the
> middle. when the user is zooming in i could expand inner frame, put
> there more and more text and smaller the outer one. color of the new
> and old text could be manipulated to achieve smoothness.
>
> i was also thinking about using TkZinc beceuse of nice feature of
> transparency but i don't know if there is any nice textarea which
> could limit inserted text.
>
> do you think it could work with frames? or maybe TkZinc or maybe there
> are any other widgets (not necessarly native) which could be helpful?
> if you have also any ideas, suggestions or whatever what could be
> helpful please answer.
>
Sounds a bit like ZUI (zoomable user interfaces) (for example PAD++
http://hci.ucsd.edu/zoom-pad/PadTour.html
)

For Tk i would use something like either Tkzinc or Tcl3d to provide
smooth zooming and transparency effects. You could do it with the
canvas, but using one of the OpenGL things would be better.

Michael

Gerald W. Lester

unread,
Aug 5, 2006, 1:43:27 PM8/5/06
to
ks wrote:
> hi all,
>
> i'm trying to build an experimental application to browse a hypertext
> space. it's an unusual approach so before i ask a Tk specific question
> please let me explain some details of what i want to achieve.
>
> the idea is to have pages with text and links (like the
> wikipedia). the text is structurized - among the others it has
> sections, subsections, paragraphs etc. what i want to achieve is to
> zoom_in/zoom_out (using mouse roll) on the text so more specific
> description (e.g. subsections of section) appear or hide. it means
> that the text can expand and shrink. secondly user can click on any
> link to choose it. after that new small area (window) should appear in
> the position of the choosen link. inside this area i will put
> information pointed by the link - e.g. description of new
> concept, starting with short description. further zooming in/out
> should concern new area (window). it should grow taking more and more
> place so more and more information could be put (subsections,
> paragraphs, etc.). during the growth the previous text from where the
> link was choosen should also be shown. its content should shrink and
> disappear slowly as new area (window) grows.

Sounds like the work done on Pad++ about 8 years ago. See:
http://www.usenix.org/publications/library/proceedings/tcl95/bederson.html

--
+--------------------------------+---------------------------------------+
| Gerald W. Lester |
|"The man who fights for his ideals is the man who is alive." - Cervantes|
+------------------------------------------------------------------------+

Gerald W. Lester

unread,
Aug 5, 2006, 1:44:53 PM8/5/06
to
Gerald W. Lester wrote:
> ks wrote:
>>...

> Sounds like the work done on Pad++ about 8 years ago. See:
> http://www.usenix.org/publications/library/proceedings/tcl95/bederson.html
>

See also http://www.cs.umd.edu/hcil/pad++/

ks...@vp_removeit_.pl

unread,
Aug 5, 2006, 6:45:58 PM8/5/06
to
On Sat, 05 Aug 2006 12:44:53 -0500, "Gerald W. Lester"
<Gerald...@cox.net> wrote:

>Gerald W. Lester wrote:
>> ks wrote:
>>>...
>> Sounds like the work done on Pad++ about 8 years ago. See:
>> http://www.usenix.org/publications/library/proceedings/tcl95/bederson.html
>>
>
>See also http://www.cs.umd.edu/hcil/pad++/

thank you for the link. it is really cool and partially what i'm
looking to achieve. i didn't explain it well but zooming in and out
aside from enlarging/shrinking the bounding box also add/remove some
text (and this is the main idea). i'm not focusing on enlarging a font
(maybe a little to enrich the user experience) but enlarging the
description. i want to show the user a simple description at the
beginning (e.g. about a particular concept) and further zooming in
would enlarge the bounding area for it and add new more detailed
information, links, etc. i'm mainly considering the ways to create and
manipulate such bounding areas for text. transparency, enlarging the
font etc. are just nice additional features. is there a way in
tkzinc/tcl3d/canvas to create a scalable boudings for a text? i know
how much text i want to display at a time - i have to create a space
for it and add additional features like transparency etc. maybe you
have further thoughts which could be helpful? thanks for all in
advance.

best regards,
ks

Ramon Ribó

unread,
Aug 6, 2006, 11:29:14 AM8/6/06
to

Hi,

tcl3d can be a very nice option.

You can have transparency, animations and many more things in OpenGL.

But take into account that current version does not support printing
characters outside of the 7bit ASCII. I hope that future versions will
be fixed to allow this.

Regards,

Ramon Ribó

--
Compass Ing. y Sistemas Dr. Ramon Ribo
http://www.compassis.com ram...@compassis.com
c/ Tuset, 8 7-2 tel. +34 93 218 19 89
08006 Barcelona, Spain fax. +34 93 396 97 46

0 new messages