Changing the basics of a GUI

Discussions on more advanced topics such as monolithic vs micro-kernels, transactional memory models, and paging vs segmentation should go here. Use this forum to expand and improve the wiki!
User avatar
salil_bhagurkar
Member
Member
Posts: 261
Joined: Mon Feb 19, 2007 10:40 am
Location: India

Changing the basics of a GUI

Post 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.
Attachments
windows.png
User avatar
AJ
Member
Member
Posts: 2646
Joined: Sun Oct 22, 2006 7:01 am
Location: Devon, UK
Contact:

Re: Changing the basics of a GUI

Post 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
User avatar
salil_bhagurkar
Member
Member
Posts: 261
Joined: Mon Feb 19, 2007 10:40 am
Location: India

Re: Changing the basics of a GUI

Post 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.
User avatar
Troy Martin
Member
Member
Posts: 1686
Joined: Fri Apr 18, 2008 4:40 pm
Location: Langley, Vancouver, BC, Canada
Contact:

Re: Changing the basics of a GUI

Post 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.
Image
Image
Solar wrote:It keeps stunning me how friendly we - as a community - are towards people who start programming "their first OS" who don't even have a solid understanding of pointers, their compiler, or how a OS is structured.
I wish I could add more tex
User avatar
Firestryke31
Member
Member
Posts: 550
Joined: Sat Nov 29, 2008 1:07 pm
Location: Throw a dart at central Texas
Contact:

Re: Changing the basics of a GUI

Post 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).
Owner of Fawkes Software.
Wierd Al wrote: You think your Commodore 64 is really neato,
What kind of chip you got in there, a Dorito?
ruisleipa
Member
Member
Posts: 46
Joined: Wed Sep 10, 2008 8:39 am
Location: Finland

Re: Changing the basics of a GUI

Post 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).
http://code.google.com/p/rmmtos/ - Real Mode MultiTasking Operating System
User avatar
salil_bhagurkar
Member
Member
Posts: 261
Joined: Mon Feb 19, 2007 10:40 am
Location: India

Re: Changing the basics of a GUI

Post 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...
User avatar
Dex
Member
Member
Posts: 1444
Joined: Fri Jan 27, 2006 12:00 am
Contact:

Re: Changing the basics of a GUI

Post 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.
purage
On Probation
Posts: 119
Joined: Wed Feb 11, 2009 1:04 am

Re: Changing the basics of a GUI

Post 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.
User avatar
ucosty
Member
Member
Posts: 271
Joined: Tue Aug 08, 2006 7:43 am
Location: Sydney, Australia

Re: Changing the basics of a GUI

Post 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
The cake is a lie | rackbits.com
User avatar
NickJohnson
Member
Member
Posts: 1249
Joined: Tue Mar 24, 2009 8:11 pm
Location: Sunnyvale, California

Re: Changing the basics of a GUI

Post 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.
User avatar
Love4Boobies
Member
Member
Posts: 2111
Joined: Fri Mar 07, 2008 5:36 pm
Location: Bucharest, Romania

Re: Changing the basics of a GUI

Post 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.
"Computers in the future may weigh no more than 1.5 tons.", Popular Mechanics (1949)
[ Project UDI ]
purage
On Probation
Posts: 119
Joined: Wed Feb 11, 2009 1:04 am

Re: Changing the basics of a GUI

Post 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.
User avatar
salil_bhagurkar
Member
Member
Posts: 261
Joined: Mon Feb 19, 2007 10:40 am
Location: India

Re: Changing the basics of a GUI

Post 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.
User avatar
quanganht
Member
Member
Posts: 301
Joined: Fri May 16, 2008 7:13 pm
Location: Hanoi, Vietnam

Re: Changing the basics of a GUI

Post 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.
"Programmers are tools for converting caffeine into code."
Post Reply