In WIMP interface, rather than a window representing an output source and a form of interacting with the application, most users tend to think that the window IS the application.
I'm thinking about alternative user-interface designs. Why do I want to implement something other than WIMP? Because I can (this is a research OS).
My first "alternative UI" idea was to have each applications' viewport stretch across the entire screen (except for a bar at the top), called a "page". The bar at the top lists the open pages, which you can switch between. Then I thought to increase productivity you could have side-by-side pages, and perhaps floating pages you could move around yourself - but this would be essentially describing a window.
How can a multitasking system enable it's user to be productive (while keeping away from the WIMP interface)?
Usually, you're only doing one thing at a time - a main activity (browsing the web, using a word processor, writing code, playing a game), but also perhaps with several side activities (instant messaging, watching a movie, downloading). The focus should be on that main activity.
I think we can learn a lot from Archy. It features a consistent interface through which you work - that is based around
But I got to thinking that would be far easier to design such an interface if all the commands are built into the UI, but this limits the flexibility of the system to be what it was initially designed to do. For example, you'd want to be able to add features to the system (e.g. a way to manipulate images, a way to browse web pages, a way to compile your code) that was designed by a third party. In a traditional system these would be applications, which would invoke using the a command line and/or interact with through a window, but I'm thinking about something completely different.content persistence, modelessness, a nucleus with commands instead of applications, navigation using incremental text search, and a zooming user interface (ZUI).
Imagine you had a completely consistent environment, based around the concept of data. The environment must allow you to create, view and manipulate your data freely as you see fit. This data maybe a text document, a spread sheet, a video, a piece of source code, or a web page. Rather than having "applications" which you load and work in, applications are instead abstracted as "formulas" which you load into the environment to tells it how to manipulate a certain type of data.
This may not be the correct way to go about it, but I'm interested in something which can provide a modern multitasking evironment but is radically different from classical UIs.