[HN Gopher] Zooming User Interface (ZUI)
       ___________________________________________________________________
        
       Zooming User Interface (ZUI)
        
       Author : TheFreim
       Score  : 50 points
       Date   : 2024-04-15 11:33 UTC (11 hours ago)
        
 (HTM) web link (en.wikipedia.org)
 (TXT) w3m dump (en.wikipedia.org)
        
       | aappleby wrote:
       | I made a proof-of-concept text viewer with this in mind -
       | https://github.com/aappleby/wideboard
        
         | skulk wrote:
         | I wonder if instead of shrinking the text geometrically when
         | zoomed out, you could shrink it semantically (with a LLM or
         | something similar) as in the wikipedia image ZUI example. Of
         | course this would require an enormous amount of pre-processing
         | to get multiple levels of zoom shrinkage.
        
           | peddling-brink wrote:
           | Just as much as a map. I did something similar using a local
           | LLM to summarize paragraphs. Using a public turbo model or
           | even something local would be very doable.
        
           | postepowanieadm wrote:
           | That's a really cool idea!
        
           | bradmcnally wrote:
           | There is a great demo of this in Sensecape.
           | https://youtu.be/MIfhunAwZew?t=165
        
           | hateful wrote:
           | I like this idea, but it should have a limit - because every
           | time I zoom in to read the name of a road on a map and the
           | text resizes to a smaller size for infinity I wish it didn't.
        
         | Solvency wrote:
         | just because this zooms doesn't mean you made a ZUI. the spirit
         | of a ZUI is change of information/density/etc at different
         | levels of zoom.
         | 
         | like google maps.
        
           | hateful wrote:
           | Or that infinite scroll game of life that was on here a few
           | weeks ago! more density, same information!
        
         | tomthe wrote:
         | Wait, how is this possible?? I tried to visualize a few tens of
         | MB of text in the browser [1] on a canvas and it gets really
         | choppy if I don't optimize it by not showing stuff that can't
         | be read. Impressive that it can handle gigabytes of text!
         | 
         | [1]: https://tomthe.github.io/hackmap/
        
           | wongarsu wrote:
           | I'd wager by making the requirements simpler. Wideboard is
           | rendering monospace, so every document is made up of of
           | 8x16px cells, and you just have to decide which glyph to
           | render in each.
           | 
           | From a quick skim of the source code this is mostly
           | precalulated. Basically each document is rendered as one
           | rectange, where the shader converts the current position to
           | the row/column of the character to be rendered. There is one
           | texture that holds the length and starting offset of each
           | line (using one pixel per line), and another texture that for
           | each offset tells you which glyph to render (using one pixel
           | per glyp). The third texture is the glyph map that holds the
           | actual glpyhs (a simple 256x256 texture of all supported
           | characters). The last texture is static, the other two are
           | calculated once as the document is loaded, and there is a
           | neat shader that uses all three textures to render the actual
           | document view. Since the shader is sampled at fewer points if
           | the rectangle takes up fewer pixels on your screen this works
           | out well for zoomed out views.
        
       | azinman2 wrote:
       | Hint: it's a dead end people! Been around forever as an idea,
       | lots of academic studies and some industry apps. Doesn't really
       | work and has never taken off despite many attempts. Many reasons
       | for this, including the real world doesn't include zoom at
       | multiple orders of magnitude, going in all planes is harder than
       | a linear list for people to scan, semantics in 2D isn't something
       | that's easy to grasp cognitively unless you specifically arranged
       | things that way (which isn't the case for this kind of software,
       | and even then you can lose what's happening / adjusting
       | everything to account for something new isn't well supported),
       | and not many use cases where this is broadly useful (especially
       | compared to other tried-and-true approaches).
        
         | arrakeen wrote:
         | i don't know, miro and figma seem to be pretty popular
         | applications using a ZUI
        
           | ramesh31 wrote:
           | Figma is popular in spite of this. It's my number one
           | frustration. Actually being able to link someone to a
           | specific view is nigh impossible to do consistently.
        
         | ramesh31 wrote:
         | >Hint: it's a dead end people! Been around forever as an idea,
         | lots of academic studies and some industry apps.
         | 
         | Indeed. For a concrete example see Ted Nelson's "Zigzag" UI
         | concept:
         | 
         | https://en.m.wikipedia.org/wiki/ZigZag_(software)
         | 
         | https://www.youtube.com/watch?v=WEj9vqVvHPc
         | 
         | tl;dr: a lot of good and interesting ideas that should never
         | actually be implemented.
        
           | adamrezich wrote:
           | Why not? That was quite an interesting presentation.
        
         | sebastianconcpt wrote:
         | Aren't maps a successful use case for them tho?
         | 
         | Google Maps and Waze and friends being universally useful these
         | days?
        
         | stcredzero wrote:
         | _Hint: it 's a dead end people! Been around forever as an idea,
         | lots of academic studies and some industry apps._
         | 
         | Is it, though? For one thing, many feel that projects like
         | Dataland led directly to the modern Windowed User Interface.
         | One can think of opening windows as a kind of limited zooming
         | with very specific affordances. The iOS UI is cited in the
         | Wikipedia article on ZUI as being another example.
         | 
         | Basically, any UI in which one can "drill down" into greater
         | detail or smaller/more specific contexts is effectively a kind
         | of zooming. The problem, is losing the connection to the larger
         | context.
         | 
         | Another thing to consider: At the time many of these things
         | were tried out, there wasn't enough capability in the CPU and
         | UI to render complex data fast enough. In fact, I was involved
         | with a round-trip UML DB to UI product dating from the 1990's,
         | which looked great in demos. However, it became dog slow when
         | actually given someone's company database. This was a problem
         | which dogged many projects with innovative UI ideas. (A problem
         | which many CAD software apps deal with, and which seem to have
         | been solved to some degree.)
         | 
         |  _semantics in 2D isn 't something that's easy to grasp
         | cognitively unless you specifically arranged things that way_
         | 
         | Do you have specific examples?
        
           | karmakaze wrote:
           | I was hoping that this was going to be about zooming contexts
           | rather than renderings. It would be much effective to me if I
           | could zoom in/out of contexts like on a distributed system
           | diagram, and zooming in and in, until I got to a code browser
           | for part of subsystem I wanted to change, and have those
           | changes immediately effective, like a REPL but in the style
           | of Smalltalk image.
        
             | stcredzero wrote:
             | _like a REPL but in the style of Smalltalk image_
             | 
             | Funny, but in my comment above, I'm referencing a Smalltalk
             | program!
             | 
             | Smalltalk environments are actually full of things that are
             | functionally just about a REPL.
             | 
             |  _until I got to a code browser for part of subsystem I
             | wanted to change_
             | 
             | There are a variety of query languages for code repos.
             | VisualWorks Smalltalk had two versions of this. One was
             | based on the RefactoringBrowser code. There was another one
             | that was a VisualWorks library. These could be used to pop
             | up a _very_ specific browser. For example, you could have a
             | browser that just showed all of the implementers of a
             | certain method X and referenced instance variable Y and
             | called a method Z.
             | 
             | I wish "modern" IDEs could support something like that.
             | This would actually be very useful for providing context to
             | LLMs.
        
         | kristopolous wrote:
         | Windowing systems have this zoomout mode for application
         | selection these days and smart phone web browsers have a
         | similar thing for tabs.
         | 
         | Many modern text editors have a zoomed out view of the code
         | that you can use to scroll around it.
         | 
         | There's photo browsers with thumbnail views. As you zoom in to
         | each photo, more information is exposed.
         | 
         | Then there's video and audio editing software with complex
         | zoomable timelines.
         | 
         | They're kind of everywhere to be honest, just a bit hidden.
        
           | marcosdumay wrote:
           | I'd say that directory organization of filesystems is an
           | example of it too.
        
       | harporoeder wrote:
       | While I'm not sure I would claim it is practical, playing around
       | with eaglemode is fun. It is available in the AUR among other
       | places
       | 
       | 1. https://eaglemode.sourceforge.net/screenshots.html 2.
       | https://aur.archlinux.org/packages/eaglemode
        
       | benpm wrote:
       | it's a novelty but a fun novelty. check out Eagle Mode
        
       | dhc02 wrote:
       | Reminds me of Prezi. Do people still use Prezi?
        
         | czscout wrote:
         | First thing that came to mind. I remember in school at least 10
         | years ago we used it because a teacher liked it. Most of us
         | just used it as a Powerpoint alternative, but a few kids
         | definitely harnessed the extra power available over a generic
         | slideshow. I remember being really impressed at the creative
         | presentations a few people made with it. Fun times.
        
         | orthoxerox wrote:
         | I remember it being "the future of slideshows" back in 2012,
         | and then the hype died.
        
           | dhc02 wrote:
           | I made a resume with Prezi that landed me a pretty great job,
           | and then never used it again.
           | 
           | It was really great for that one use case: something the
           | recipient could click through and continuously be surprised
           | by the complexity of without having to know the tool. Click.
           | Wow! It got bigger. Click. Woah! It got bigger and rotated!
        
       | niutech wrote:
       | Do you remember Microsoft Deep Zoom and Deep Earth?
       | https://en.wikipedia.org/wiki/Deep_Zoom
        
       | gasi wrote:
       | To make images zoomable, check out https://zoomhub.net
       | 
       | Can be extended to full ZUIs, e.g.
       | https://zoomhub.net/showcase/ecommerce/watches (desktop
       | preferred)
        
       | RyJones wrote:
       | I worked for a Microsoft spin out in 2007 called ZenZui, which
       | provided a ZUI for Windows Mobile devices. Then the iPhone was
       | released!
        
       | Cockbrand wrote:
       | Wasn't this pretty much the UI/UX for microfiche, when it was
       | still a thing?
        
       | tripdout wrote:
       | There's a Wayland compositor called Newm [0] that uses a similar
       | approach [1].
       | 
       | 0: https://github.com/jbuchermn/newm?tab=readme-ov-file 1:
       | https://www.youtube.com/watch?v=otMEC03ie0g
        
       | whartung wrote:
       | No mention of Zoomracks? https://en.wikipedia.org/wiki/Zoomracks
       | 
       | Usually the go to early example of a zooming UI.
        
       ___________________________________________________________________
       (page generated 2024-04-15 23:00 UTC)