OSDev.org

The Place to Start for Operating System Developers
It is currently Tue Apr 23, 2024 8:44 pm

All times are UTC - 6 hours




Post new topic Reply to topic  [ 44 posts ]  Go to page 1, 2, 3  Next
Author Message
 Post subject: Windowless GUI
PostPosted: Mon May 19, 2008 9:39 am 
Offline
Member
Member
User avatar

Joined: Fri Aug 03, 2007 6:03 am
Posts: 536
Location: Cambridge, UK
i've been thinking a bit about slightly different GUI's, i think the rough layout that most OS's favour at the moment works well, but with a few tweaks it could be made more interesting and unique.

I'm already certain about having multiple desktops, possibly with a zoom in/out feature for icons/windows. And im also considering having a seperate space "underneath" the main windows for widgets or other small applications.

What really got me thinking, although it may seem quite minor, is about having a GUI where the program defines its own shape. The API could include classes for basic shapes and printing pictures etc, but the program could be any shape and size. This would make for interesting app's, and give programs a sense of uniqueness.

I'm not sure how professional this would look, and indeed if it would be very user friendly, im just throwing an idea around.

The other thing i was considering about was how the program would be loaded into memory, vectors would be very helpful if i was going down the zoom view for windows, but this might be slightly harder to implement, especially when more old fashioned bitmap based images are concerned.

The other (more boring) way of doing it would be to get the program to allocate a buffer at startup, and to update it itself, then call the video driver passing the array as an argument. This removes the need for much of a window manager, but increases program bulk and makes for ugly code.

_________________
~ Lukem95 [ Cake ]
Release: 0.08b
Image


Top
 Profile  
 
 Post subject:
PostPosted: Mon May 19, 2008 9:55 am 
Offline
Member
Member
User avatar

Joined: Sun Oct 22, 2006 7:01 am
Posts: 2646
Location: Devon, UK
Hi,

Sounds like an interesting idea and I've been considering quite how the window manager of Caracal is going to work (what portions will be in the kernel / video driver / separate window manager etc...).

I hope this isn't too much of a negative criticism about your idea, but I would (as you mention) question the usability of such a scheme. The nice thing about Windows Forms / Linux Window Managers is that they provide a sense of uniformity about the whole thing. If you have a mish-mash of designs (every app has its UI designed by the programmer at a fairly low level), it immediately loses appeal to anyone using the system for the first time. How many users are going to stick with it and say "I'll keep giving this a go", and how many will just go back to their old, comfortable desktop environment?

Sorry that I'm an old [stick in the mud] / [fart]*, but I would be one of the latter. I find it bad enough trying to get used to odd shaped skinnable apps in Windows. Being rubbish at graphics myself, I would also be put off programming for such an environment.

What I definitely like about your proposed design is the idea of zoomable Windows / vector graphics.

I expect that if you disagree with me and go down your route anyway, your OS will be immensely successful and people will be quoting this post for years to come!

Cheers,
Adam

(*delete as appropriate)


Top
 Profile  
 
 Post subject:
PostPosted: Mon May 19, 2008 10:12 am 
Offline
Member
Member
User avatar

Joined: Fri Aug 03, 2007 6:03 am
Posts: 536
Location: Cambridge, UK
haha, thankyou for your criticism, i was thinking the same thing actually.

and you assume that i would actually be able to code this highly successful OS :) i'm having enough trouble getting bits of my base kernel to work.

the zoomable idea was actually the one i favour more, im definatly going to look in vector graphics for my window manager, as although this may not be a huge usability improvement, it may have its uses.

_________________
~ Lukem95 [ Cake ]
Release: 0.08b
Image


Top
 Profile  
 
 Post subject:
PostPosted: Mon May 19, 2008 10:37 am 
Offline
Member
Member
User avatar

Joined: Fri Jan 27, 2006 12:00 am
Posts: 1444
I agree with AJ, i have notest if you code a differant GUI from the normal and you do not have the power of M$, people will not use it.
I tryed to make a game sys type GUI for DexOS, but i get more comments on the only 10% finished XP type gui.


Top
 Profile  
 
 Post subject:
PostPosted: Mon May 19, 2008 3:28 pm 
Offline
Member
Member

Joined: Mon May 05, 2008 5:51 pm
Posts: 118
I'm going to have to side with the masses here mostly from the programmer's perspective. Odd shaped windows sounds like a pain and a half to get to work correctly but I do like the idea. Maybe it could become a suppliment to the normal window gui and then as years go on and god willing you gain fans you could slowly phase your market into it. However it would cause shell shock for programmers for you to instantly step over into it.


Top
 Profile  
 
 Post subject:
PostPosted: Tue May 20, 2008 2:57 am 
Offline
Member
Member
User avatar

Joined: Sat Jan 15, 2005 12:00 am
Posts: 8561
Location: At his keyboard!
Hi,

chezzestix wrote:
Odd shaped windows sounds like a pain and a half to get to work correctly but I do like the idea.


Not necessarily - if the OS supports alpha blending, then the "odd shape" is just be a rectangle (with some transparent parts).


Cheers,

Brendan

_________________
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.


Top
 Profile  
 
 Post subject:
PostPosted: Tue May 20, 2008 7:40 am 
Offline
Member
Member

Joined: Tue May 06, 2008 9:32 am
Posts: 87
Location: The Netherlands
I prefer a GUI with standard Windows and widgets.

Maybe boring, but it has some adventages:
- It's userfriendly and simple. Everything looks and acts the same. In my opinion Mac OS X is really confusing with both applications with Aqua GUI and de metallic-look.
- Size of applications. When application use fancy shapes and looks, it will increase the size without offering extra features.
- Speed. The best real example is Mozilla. Every widget was drawn my Mozilla itself, it was slooooooooow... The Windows version of Firefox uses more standard Windows widgets, what increases speed.

Many applications use nesessary custom gui's. I can imagine a special GUI for a media player is preferred to give it the look of a real mediaplayer. And of course for games. But the control panels for an antivirus program?? Both Norton does it, it increases size, pull down the speed and it hasn't any adventages.


Top
 Profile  
 
 Post subject:
PostPosted: Tue May 20, 2008 1:56 pm 
Offline
Member
Member
User avatar

Joined: Fri Aug 03, 2007 6:03 am
Posts: 536
Location: Cambridge, UK
i apreciate the comments, i think having an API for widgets may be the way to go. Widgets fit well into my idea for a GUI anyway, so this shouldn't be a problem.

_________________
~ Lukem95 [ Cake ]
Release: 0.08b
Image


Top
 Profile  
 
 Post subject:
PostPosted: Wed May 21, 2008 12:31 am 
Offline
Member
Member
User avatar

Joined: Sat Jan 27, 2007 3:21 pm
Posts: 553
Location: Best, Netherlands
If you can get a hold of the book: "Design Patterns - Elements of Reusable Object-Oriented Software" by Erich Gama, Richard Helm, Ralph Johnson en John Vlissides you should have a look at it. They have an example with respect to Supporting multiple look-and-feel GUI's (dynamically at runtime) and i also used the book to abstract hardware also. I just wrote a simple application which supported the different look and feels on different rendering engines (Bitmap, DrawDib, DirectX and OpenGL) and this could all be switched on runtime. Very powerfull stuff.

_________________
Author of COBOS


Top
 Profile  
 
 Post subject:
PostPosted: Wed May 21, 2008 1:27 pm 
Offline
Member
Member
User avatar

Joined: Fri Aug 03, 2007 6:03 am
Posts: 536
Location: Cambridge, UK
thanks for the recommendation, i'll put some money in my bank and see if i can order it online.

has anyone used www.abebooks.com? its good :)

_________________
~ Lukem95 [ Cake ]
Release: 0.08b
Image


Top
 Profile  
 
 Post subject:
PostPosted: Fri May 23, 2008 4:16 am 
Offline
Member
Member

Joined: Wed Oct 31, 2007 9:09 am
Posts: 1385
Having odd-shaped windows is of course quite old, think of all the 'skinable' media players out there. Apart from the slighly more difficult technical aspects, what I think is the main drawback is that in general, you are working with one or two programs on a single task (or perhaps a third as a miscellaneous task, but you get my drift). You want to optimally see the content of the windows of these program(s), but not of any others. With odd shaped (instead of rectangular shaped) the danger is that between the shapes of the window, you see many others, which will distract you from your tasks. In fact, I think having no windows at all for main programs may be even better. I almost always have my windows maximized, which works quite well.


JAL


Top
 Profile  
 
 Post subject: Re: Windowless GUI
PostPosted: Fri May 23, 2008 7:47 am 
Offline
User avatar

Joined: Tue May 20, 2008 1:25 pm
Posts: 19
Location: Finland
I'm tired of windows too... to be exact I'm tired of moving and resizing them. They never come out just right.

If I ever get to the point of constructing a graphical user environment for my OS I'll probably just discard the whole thought of having windows in the "normal" sense. Instead I'll just give the user access to multiple desktops and make it possible for the user to freely split and join the screen area of each of those desktops into blocks. The closest examples I can think of are Emacs and Blender. The user could then choose which application gets to display itself on each of those views (i.e., blocks). I think this would be cool. 8)

I have an even cooler idea but I'll try to implement it as an actual application before I tell you guys about it. :P (And with my luck someone else has probably done it already...)

_________________
If debugging is the process of removing bugs, then programming must be the process of putting them in.
- Edsger W. Dijkstra


Top
 Profile  
 
 Post subject: Hangover from my Software Engineering Classes
PostPosted: Tue Jun 03, 2008 2:12 am 
Offline
Member
Member

Joined: Tue Jun 20, 2006 9:17 am
Posts: 566
Golden rules for designing a good user interface

    1 Place the user in control
    2 Reduce load on users memory
    3The user interface must be consistent


:arrow: Stollen from Pressman , Software Engineering , a Practioners Apporach . However most of the guidelines in the book are an overkill for small and hobby projects . Just hack your way through :twisted:


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jun 06, 2008 1:04 pm 
Offline
Member
Member
User avatar

Joined: Fri May 23, 2008 5:30 pm
Posts: 66
Location: Malaysia
How about Sugar GUI?


Top
 Profile  
 
 Post subject:
PostPosted: Sun Jun 08, 2008 9:30 am 
Offline
Member
Member
User avatar

Joined: Fri Aug 03, 2007 6:03 am
Posts: 536
Location: Cambridge, UK
the sugar approach is interesting, but i think there are still too many benefits with having more than one window open - watch a movie and talk on MSN for example.

currently im going with a more traditional desktop with a slight twist (to make it more user friendly) and i plan to have a method to split this into multiple desktops onscreen, which can independantly be blanked etc.

_________________
~ Lukem95 [ Cake ]
Release: 0.08b
Image


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 44 posts ]  Go to page 1, 2, 3  Next

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 37 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group