Page 1 of 4

Changing the basics of a GUI

Posted: Fri May 15, 2009 12:43 am
by salil_bhagurkar
I was just wondering, why do we need the usual 'windows' concept in GUIs? I am pointing at the overlapping aspect of windows. Why do we need windows that can go behind one another? When I use a GUI system (windows or x) I rarely put windows stacked together and copy contents from one to another. Applications seem to be fully self-sufficient and most (90%) of the times, your work doesn't need to be done with two windows side by side. For example, when you write code, and you need to run a script, you just switch to the console and do it. You don't need to keep looking at the code when you are running the script.

Based on this, I was thinking of a GUI that removes the complexity of overlapping application spaces (windows) from the GUI system. Instead of this, I was thinking of a GUI where you have all the windows lined up side by side in a long array with only one window visible at a time. When you need to switch over to some other window, you just scroll to it. You could change the arrangement of the windows lined up by having a miniature icon representation of all the windows at the base of the screen that will allow you to drag and drop the icons and change the location of the windows in the array.

If you need to do some 'inter-window' work then you first get the windows you need next to each other in the array and then do a partial scroll to adjust them side by side. The GUI system can also resize the windows in order to get full content of the windows when they are adjusted to be side by side. You could also fit in 3 windows side by side and scale them the way you wanted to do more inter-window work.

Re: Changing the basics of a GUI

Posted: Fri May 15, 2009 2:42 am
by AJ
Hi,

Sounds very nice. I'd be interested to know if anything has been done along these lines before, but would like to see it in action.

Cheers,
Adam

Re: Changing the basics of a GUI

Posted: Fri May 15, 2009 3:00 am
by salil_bhagurkar
Thanks :D This is just an idea for now. Basically I need the disadvantages of such a system so that I can add features to it (in my mind). But I plan to develop it for ViSE.

Re: Changing the basics of a GUI

Posted: Fri May 15, 2009 8:45 am
by Troy Martin
Building on this idea, you wouldn't necessarily need a "taskbar" and "start menu" on every screen, just on the desktop one. If you need to start a new program, the desktop could always be in the left side of the window scroll bar thingy.

Re: Changing the basics of a GUI

Posted: Fri May 15, 2009 8:50 am
by Firestryke31
The first thing I thought when I saw your graphic (well, after "Sub pixel font rendering!" due to the forum's stretching and squishing) was "iPhone!"

It's very similar to the iPhone's "One view at a time" except I'm guessing you can have more than one program running at a time. It greatly simplifies the UI and data presentation, but sometimes it does so too much. I think if you could make it like a multi-program version of the iPhone's UI (concept-wise, not graphics-wise) then you might be able to do things very nicely. Just be sure the user can control 2 monitors independently (i.e. don't have an app take control of both screens, and don't lock one screen into the next/previous window in the list).

Re: Changing the basics of a GUI

Posted: Fri May 15, 2009 9:57 am
by ruisleipa
The idea might work very well if you come up with some quick and efficient way to switch between the windows. Scrolling might be a quite unpleasant way, espesially for an advanced user.

Have you thought that a large portion of the screen is going to be wasted for really simple apps?
Firestryke31 wrote:(well, after "Sub pixel font rendering!" due to the forum's stretching and squishing)
It isn't caused by the forum. The image just has been created in a system where the subpixel order is different (RGB <-> BGR).

Re: Changing the basics of a GUI

Posted: Fri May 15, 2009 10:10 am
by salil_bhagurkar
Firestryke31 wrote:The first thing I thought when I saw your graphic (well, after "Sub pixel font rendering!" due to the forum's stretching and squishing) was "iPhone!"

It's very similar to the iPhone's "One view at a time" except I'm guessing you can have more than one program running at a time. It greatly simplifies the UI and data presentation, but sometimes it does so too much. I think if you could make it like a multi-program version of the iPhone's UI (concept-wise, not graphics-wise) then you might be able to do things very nicely. Just be sure the user can control 2 monitors independently (i.e. don't have an app take control of both screens, and don't lock one screen into the next/previous window in the list).
Ah! Exactly... I was wondering what this resembles. iPhone!. But its not inspired from iPhone. It was an independent idea that sourced from the laziness to code the area redrawing in GUIs :twisted: .
mikkop92 wrote:The idea might work very well if you come up with some quick and efficient way to switch between the windows. Scrolling might be a quite unpleasant way, espesially for an advanced user.

Have you thought that a large portion of the screen is going to be wasted for really simple apps?
Firestryke31 wrote:(well, after "Sub pixel font rendering!" due to the forum's stretching and squishing)
It isn't caused by the forum. The image just has been created in a system where the subpixel order is different (RGB <-> BGR).
The scrolling is kind of adaptive. When you need to simply switch, its like an animated alt-tab (iPhone like) and when you need to arrange windows side-by-side, you scroll smoothly with control.

And when it comes to simple apps, you don't really have much to do with them alone. You need some other application or you will close them fast after your work is done. As i said, when you need to use them with some other application, the code scales the windows to fit them side by side when required...

Re: Changing the basics of a GUI

Posted: Fri May 15, 2009 10:44 am
by Dex
Cool, nice idea salil_bhagurkar, just some words of warning, you need the GUI to work better for the end user, So if you can do that, which in this case for many task it could be the case, then you will be on to a winner.
My OS is single-tasking, but i may add something like that to my GUI text editor.

Re: Changing the basics of a GUI

Posted: Fri May 15, 2009 1:21 pm
by purage
The iPhone does that out of necessity (i.e., small screens) and this is a very basic ideal. I am sure you weren't the first to think of it, however, the reason you don't see it being done in popular OSs is because it is a dumb ideal (i.e, you don't need to do that --it's lazy). You might as well just have a single-tasking OS. You still need to remember what you drew, so why not just overlap windows? It isn't that hard to accomplish. Just think, copy what was there, then draw, then copy back what was there as it moves or goes away. It's actually really easy. Draw it down on paper if you need to.

Re: Changing the basics of a GUI

Posted: Fri May 15, 2009 1:26 pm
by ucosty
It's superficially like a more advanced version of Switcher. Switcher was basically the first implementation of multitasking on the Macintosh and it worked by allowing you to slide left and right between running programs.

http://folklore.org/StoryView.py?story=Switcher.txt

Re: Changing the basics of a GUI

Posted: Fri May 15, 2009 2:49 pm
by NickJohnson
There are some X tiling window managers that sort of do this. One example is DWM: http://dwm.suckless.org/, which does this exclusively with keyboard shortcuts. You just implement virtual desktops and have each window take up the whole screen. Because this is definitely possible under X, you may want to make a prototype by writing an X window manager first.

Re: Changing the basics of a GUI

Posted: Fri May 15, 2009 8:10 pm
by Love4Boobies
You guys DO know that the iPhone is multitasking, right? You can have more than 1 process running at a time and you most usually do. So it's pretty much the exact same thing.

Re: Changing the basics of a GUI

Posted: Fri May 15, 2009 9:37 pm
by purage
My HP IPAQ is running Windows Mobile and it just fills the screen, but you can't just go back and forth between processes. You have to go to the task manager to re-activate it. Really sucks, because I might leave a process running and not know it. Anyway, it's just a phone so I don't care.

Re: Changing the basics of a GUI

Posted: Sat May 16, 2009 8:15 am
by salil_bhagurkar
Well, I think there is really no point in having overlapping windows. Multitasking has nothing to do with this. You might set up a download in a window, a check disk in one, and a game in another. This is possible with this system. You don't arrange your game window with the progress bar of the check disk to keep looking at the progress of the check disk. You never really use the overlapping functionality of the windows, other than when advertising your os gui with lots of windows one behind the other.

The base part of the screen where you see icons of the running windows, could be replaced by the live window thumbnails which would increase productivity. The GUI basically would be more like advanced GUIs. The scrolling will be like the cube desktop of compiz. That won't be difficult to implement with no overlapping.

Re: Changing the basics of a GUI

Posted: Sat May 16, 2009 8:28 am
by quanganht
I think this is not going to be liked by users. First, they have used to the overlapping windows GUI. Secondly, what will u think if a program that have only 1 or two buttons with some text float all over the 22 inch screen ? :lol: That would be sucky.

This kind of "window-less" GUI is suitable for device with small screen only, not PC.

Fix me if there is anything wrong.