Live data from Hacker News

Simula: A VR window manager for Linux

github.com

151–160 of 180 posts

Re: Simula: A VR window manager for Linux

#151
Soon after the invention of the movie camera, there was a "genera" of films that consisted of nothing but pointing a movie camera at a stage, and filming a play in one shot.

That's the classic example of using a new technology to emulate an old technology, without taking advantage of the unique advantages of the new technology, before the grammar and language of film had been invented.

https://en.wikipedia.org/wiki/Film_grammar

https://en.wikipedia.org/wiki/History_of_film

>The first decade of motion picture saw film moving from a novelty to an established mass entertainment industry. The earliest films were in black and white, under a minute long, without recorded sound and consisted of a single shot from a steady camera.

>Conventions toward a general cinematic language developed over the years with editing, camera movements and other cinematic techniques contributing specific roles in the narrative of films. [...]

>In the 1890s, films were seen mostly via temporary storefront spaces and traveling exhibitors or as acts in vaudeville programs. A film could be under a minute long and would usually present a single scene, authentic or staged, of everyday life, a public event, a sporting event or slapstick. There was little to no cinematic technique, the film was usually black and white and it was without sound. [...]

>Within eleven years of motion pictures, the films moved from a novelty show to an established large-scale entertainment industry. Films moved from a single shot, completely made by one person with a few assistants, towards films several minutes long consisting of several shots, which were made by large companies in something like industrial conditions.

>By 1900, the first motion pictures that can be considered "films" – emerged, and film-makers began to introduce basic editing techniques and film narrative.

Simply projecting desktop user interfaces designed for flat 2D screens and mice into VR is still in the "novelty show" age, like filming staged plays written for a theater, without any editing, shots, or film grammar.

VR window managers are just a stop-gap backwards-compatibility bridge, while people work on inventing a grammar and language of interactive VR and AR user interfaces, and re-implement all the desktop and mobile applications from the ground up so they're not merely usable but actually enjoyable and aesthetically pleasing to use in VR.

The current definition of "window manager," especially as it applies to X-Windows desktops, tightly constrains how we think and what we expect of user interface and application design. We need something much more flexible and extensible. Unfortunately X-Windows decades ago rejected the crucially important ideas behind NeWS and AJAX, that the window manager should be open-ended and dynamically extensible with downloadable code, which is the key to making efficient, deeply integrated user interfaces.

For example, the "Dragon Naturally Speaking" speech synthesis and recognition system has "dragonfly", a Python-based "speech manager" that is capable of hooking into existing unmodified desktop applications, and scripting custom speech based user interfaces.

https://github.com/t4ngo/dragonfly

Another more ambitious example is Morgan Dixon's work on Prefab, that screen-scrapes the pixels of desktop apps, and uses pattern recognition and composition to remix and modify them. This is like cinematographers finally discovering they can edit films, cut and splice shots together, overlay text and graphics and pictures-in-pictures and adjacent frames. But Prefab isn't built around a scripting language like dragonfly, NeWS or AJAX.

Here's some stuff I've written about the direction that user interfaces should take to move beyond the antique notion of "window managers", and enables much deeper integration and accessibility and alternative input and output methods.

https://news.ycombinator.com/item?id=14182061

>Glad to see people are still making better window managers! [...] I think extensibility and accessibility are extremely important for window managers. [...] I'd like to take that idea a lot further, so I wrote up some ideas about programming window management, accessibility, screen scraping, pattern recognition and automation in JavaScript. [...] Check out Morgan Dixon's and James Fogarty's amazing work on user interface customization with Prefab, about which they've published several excellent CHI papers: [...]

>Imagine if every interface was open source. Any of us could modify the software we use every day. Unfortunately, we don't have the source.

>Prefab realizes this vision using only the pixels of everyday interfaces. This video shows the use of Prefab to add new functionality to Adobe Photoshop, Apple iTunes, and Microsoft Windows Media Player. Prefab represents a new approach to deploying HCI research in everyday software, and is also the first step toward a future where anybody can modify any interface.

https://news.ycombinator.com/item?id=18797818

>Here are some other interesting things related to scriptable window management and accessibility to check out: aQuery -- Like jQuery for Accessibility

https://donhopkins.com/mediawiki/index.php/AQuery

>It would also be great to flesh out the accessibility and speech recognition APIs, and make it possible to write all kinds of intelligent application automation and integration scripts, bots, with nice HTML user interfaces in JavaScript. Take a look at what Dragon Naturally Speaking has done with Python:

https://github.com/t4ngo/dragonfly

>Morgan Dixon's work with Prefab is brilliant.

>I would like to discuss how we could integrate Prefab with a Javascriptable, extensible API like aQuery, so you could write "selectors" that used prefab's pattern recognition techniques, bind those to JavaScript event handlers, and write high level widgets on top of that in JavaScript, and implement the graphical overlays and gui enhancements in HTML/Canvas/etc like I've done with Slate and the WebView overlay.

Re: Simula: A VR window manager for Linux

#152
post #130

Earlier quoted context omitted.

I love the idea of a VR workspace. There are so many limitations in our current workflows and tools that mainly just arise from being restricted to a small flat surface. Even just having your perfect setup anywhere you go would be amazing. All you need is a headset and a small portable cube computer - basically a laptop without a screen. --- But after watching your video, I feel like this really needs some tiling win…

Yes, a tiling functionality is something we're considering as a future feature. In fact, the shortcut system is inspired by it. I'll put curved windows onto our todo list. Not sure if they're a good idea for all applications but at least some would benefit.

After using curved ultrawide monitors like the Philips 499P9H, I think a gentle curve is not an issue for most applications, and feels very natural.

I won't get to try out Simula until Sunday, but based on the video, my intuition says the apps being curved would look more natural / immersive.

Re: Simula: A VR window manager for Linux

#153

Been thinking about VR workspaces since sometime in the '80's. Broadly, they suck. It seems so cool but in practice VR adds pointless overhead to efficient UI. Windows with affine transformations suck at their one job . Very few people use Second Life as an IDE. The big win, as far as I can tell, would be to engage the user's spacial memory. (There is a small but non-zero niche for 3D visualization of complex systems…

Great ideas! The Method of Loci is a very powerful concept, that takes excellent advantage of how human memory works, and works nicely with zooming user interfaces, and is a great way to support user-defined editable pie menus that you can easily navigate with gestures.

I've experimented with combining the kinesthetic advantages of pie menus and gesture with the method of loci and zooming interfaces, including a desktop app called MediaGraph for arranging and navigating music, and an iPhone app called iLoci for arranging notes and links and interactive web based applets.

https://medium.com/@donhopkins/mediagraph-demo-a7534add63e5

>MediaGraph Music Navigation with Pie Menus. A prototype developed for Will Wright’s Stupid Fun Club.

>This is a demo of a user interface research prototype that I developed for Will Wright at the Stupid Fun Club. It includes pie menus, an editable map of music interconnected with roads, and cellular automata. It uses one kind of nested hierarchical pie menu to build and edit another kind of geographic networked pie menu.

MediaGraph Demo Video:

https://www.youtube.com/watch?v=2KfeHNIXYUc

https://medium.com/@donhopkins/iphone-app-iloci-by-don-hopki...

>iPhone iLoci Memory Palace App, by Don Hopkins @ Mobile Dev Camp. A talk about iLoci, an iPhone app and server based on the Method of Loci for constructing a Memory Palace, by Don Hopkins, presented at Mobile Dev Camp in Amsterdam, on November 28, 2008.

iLoci Demo Video:

https://www.youtube.com/watch?v=03ddG3jWF98

Here's some more discussion about window managers, the Method of Loci, MediaGraph and iLoci, and pie menus:

https://news.ycombinator.com/item?id=22089694

DonHopkins 81 days ago | parent | favorite | on: Nototo – Build a unified mental map of notes

>Great idea, I totally get it! Your graphics are beautiful, and the layering and gridding look helpful. It reminds me of some experimental user interfaces with pie menus I designed for creating and editing memory palaces: "iLoci" on the iPhone for notes and pictures and links and web browser integration in 2008, and "MediaGraph" on Unity3D for organizing and playing music in 2012, both of which I hope will inspire you for ideas to implement (like pie menus, and kissing!) or ways to explain what you've already created.

>A memory map editor can not only benefit from pie menus for editing and changing properties (like simultaneously picking a font with direction, and pulling out the font size with distance, for example), but it's also a great way for users to create their own custom bi-directionally gesture navigable pie menus by dragging and dropping and "kissing" islands together against each other to create and break links (like bridges between islands). (See the gesture navigation example at the end of the MediaGraph demo, and imagine that on an iPad or phone!) [...]

>I like the idea of moving away from hierarchal menu navigation, towards spatial map navigation. It elegantly addresses the problem of personalized user created menus, by making linking and unlinking locations as easy as dragging and dropping objects around and bumping them together to connect and disconnect them. (Compare that to the complexity of a tree or outline editor, which doesn't make the directions explicit.) And it eliminates the need to a special command to move back up in the menu hierarchy, by guaranteeing that every navigation is obviously reversible by moving in the opposite direction. I believe maps are a lot more natural and easier for people to remember than hierarchies, and the interface naturally exploits "mouse ahead" (or "swipe ahead") and is obviously self revealing.

Re: Simula: A VR window manager for Linux

#154
post #130

Earlier quoted context omitted.

Yes, a tiling functionality is something we're considering as a future feature. In fact, the shortcut system is inspired by it. I'll put curved windows onto our todo list. Not sure if they're a good idea for all applications but at least some would benefit.

After using curved ultrawide monitors like the Philips 499P9H, I think a gentle curve is not an issue for most applications, and feels very natural. I won't get to try out Simula until Sunday, but based on the video, my intuition says the apps being curved would look more natural / immersive.

I use a curved monitor (Samsung CRG9) myself as my daily driver, and it appears curved when I use desktop view in SteamVR, so I definitely see the appeal. Just not sure how nice it looks on smaller windows.

Re: Simula: A VR window manager for Linux

#155
post #8
post #5

Is this for Xorg or Wayland? I couldn't find the answer in the readme.

It's based on wlroots, but Wayland is less supported than the X compatibility layer via Xwayland. That's fixable though.

Developing a VR desktop on top of X-Windows seems like driving very fast down a dead-end dirt road with a cliff at the end.

Re: Simula: A VR window manager for Linux

#156
post #132
post #129

There's something a little humorous about a new VR system whose primary feature is how well it can display VT100 emulators. I don't know anyone who used MS Windows when their software was all still MS-DOS programs. Windows really took off when programmers started writing programs designed to take advantage of the native GUI paradigm. Likewise, VR is never going to be accepted as a practical user interface until it mo…

Programmers work with text and will continue to do so for the foreseeable future. Terminal based editors are powerful, so properly displaying terminal is a great goal. What would a non-rectangular UI for manipulating text look like?

> Programmers work with text and will continue to do so for the foreseeable future.

Programmers work with 2D overlapping windows and will continue to do so for the foreseeable future. I'm giving a criterion for when that's going to change. They're connected. You can't beat a 2D display for displaying 2D data.

> What would a non-rectangular UI for manipulating text look like?

Looked at a DOM Inspector recently (HTML)? Or Computed Styles (CSS)? Or Network Activity (HTTP)? All of the most common text formats I use, I view through a non-text interface. These aren't inherently 2D data streams -- that's just what we do because they're being put on a 2D display. All of them would be even more useful in 3D.

That's not even counting the biggest classical use for an extra dimension: time, e.g., version control history, animation state, or database transactions or migrations.

Re: Simula: A VR window manager for Linux

#157
post #8

Earlier quoted context omitted.

It's based on wlroots, but Wayland is less supported than the X compatibility layer via Xwayland. That's fixable though.

Developing a VR desktop on top of X-Windows seems like driving very fast down a dead-end dirt road with a cliff at the end.

We don't actually use X as the framework. The underlying code is Wayland, and then Xwayland as a compatibility layer. It's just that most apps we test against are X11.

Re: Simula: A VR window manager for Linux

#158

This looks very nice! I've been thinking about something like this for quite a while. May I suggest two additional features that I would love to see in such a window manager: 1. A way to neatly arrange all the windows on a virtual sphere that surrounds the user, possibly arranging them automatically in a similar manner as a tiling window manager. 2. A way to rotate the before-mentioned sphere around you without forci…

> 2. A way to rotate the before-mentioned sphere around you without forcing the user to rotate it's head. This would avoid much of the neck strain. It could be done by, for example, holding a button on the keyboard while moving the mouse or by a simple keyboard shortcut to rotate the sphere by X degrees in any direction.

one more thing for the author to play around with (I don't have the hardware to try it myself) is experiment with speed/acceleration -- the mouse pointer movement has speed and acceleration parameters that affect how it moves, so that if you want you only have to move your mouse very little in real dimensions to move it thousands of pixels.

It might cause motion sickness, but maybe you can get away with pitching/yawing 5 degrees for every 1 degree of head movement, so to look "straight up" you only have to tilt your head up 18 degrees. Hopefully you'd still have the illusion of being oriented in a space.

Re: Simula: A VR window manager for Linux

#159
post #132
post #129

There's something a little humorous about a new VR system whose primary feature is how well it can display VT100 emulators. I don't know anyone who used MS Windows when their software was all still MS-DOS programs. Windows really took off when programmers started writing programs designed to take advantage of the native GUI paradigm. Likewise, VR is never going to be accepted as a practical user interface until it mo…

Programmers work with text and will continue to do so for the foreseeable future. Terminal based editors are powerful, so properly displaying terminal is a great goal. What would a non-rectangular UI for manipulating text look like?

I love using terminals and I've always wanted a VR window manager so I've put some thought into how it could work.

I've always envisioned an infinite 2D plane. I would love a terminal that stretches off forever above me, like the Star Wars opening text. Or a spreadsheet that goes on forever in 2 dimensions.

You could also embed your 2D-non-euclidean spaces in 3D. Want to enforce 80 character line wrapping? write on the surface of a cylinder that literally wraps around after 80 characters.

Another idea could be to use depth instead of colours for syntax highlighting. Comments could pop out of the page.

I think there are a lot of possibilities.

Re: Simula: A VR window manager for Linux

#160

How change would it require to run on MacOS?

It would require Apple it care about VR and gaming and VR capable GPUs. Except for a MacPro, no Apple devices are powerful enough for VR. Even the top end MacBookPro at $19000 still has an underpowered GPU below the lowest VR specs.

The highest possible price for a MacBook Pro is US $6099. How do you get $19000? The iMac Pro can get to $14,299.
Post reply on HN