Standardized GUI API for OSDev projects.
- Brynet-Inc
- Member
- Posts: 2426
- Joined: Tue Oct 17, 2006 9:29 pm
- Libera.chat IRC: brynet
- Location: Canada
- Contact:
Standardized GUI API for OSDev projects.
Recently I was wondering about the possibilities of a standardized GUI API for hobby OS's.
This is a Rambling section, So I'm going to ramble quite considerably.
In my opinion it would be kinda neat, Designing an open standard that can be implemented by anyone freely.. Members of the OSDev community could suggest ideas or changes to the standard. (Or anyone really..)
It also won't be required that the OS use this API exclusively, They could offer it as a compatibility layer. Maybe the standard could also be split up into levels. OS developers could wish to only implement a basic subset of the API and could be permitted to display a special badge stating something simple like (OSDevGUI basic level compliance) on their website.
Would anyone be interested in this? This would allow people to write GUI applications and having them work on a wide range of hobby Operating Systems (At API level.. not binary)?
I'd like to hear peoples ideas, Or if my idea is even truly feasible.
Would anyone also be willing to write up and maintain the specification? Or should it be on some public version control system?
This is a Rambling section, So I'm going to ramble quite considerably.
In my opinion it would be kinda neat, Designing an open standard that can be implemented by anyone freely.. Members of the OSDev community could suggest ideas or changes to the standard. (Or anyone really..)
It also won't be required that the OS use this API exclusively, They could offer it as a compatibility layer. Maybe the standard could also be split up into levels. OS developers could wish to only implement a basic subset of the API and could be permitted to display a special badge stating something simple like (OSDevGUI basic level compliance) on their website.
Would anyone be interested in this? This would allow people to write GUI applications and having them work on a wide range of hobby Operating Systems (At API level.. not binary)?
I'd like to hear peoples ideas, Or if my idea is even truly feasible.
Would anyone also be willing to write up and maintain the specification? Or should it be on some public version control system?
- Combuster
- Member
- Posts: 9301
- Joined: Wed Oct 18, 2006 3:45 am
- Libera.chat IRC: [com]buster
- Location: On the balcony, where I can actually keep 1½m distance
- Contact:
What i can foresee is the problem of opinion: What features, programming style, UI style, design philosophy do you intend to have?
Since not everybody has the same roots regarding these matters, it becomes difficult to create an unified standard.
As such, my support depends on the specification itself. (you should add an 'Maybe' option to the poll)
Since not everybody has the same roots regarding these matters, it becomes difficult to create an unified standard.
As such, my support depends on the specification itself. (you should add an 'Maybe' option to the poll)
- Brynet-Inc
- Member
- Posts: 2426
- Joined: Tue Oct 17, 2006 9:29 pm
- Libera.chat IRC: brynet
- Location: Canada
- Contact:
Well, Programming style is kind of irrelivant I guess, People will likely have to write their own implementation. UI style would be likely dependant on the OS's Windowing Manager?.. design philosophy? I was just brain storming, I myself couldn't pull this off but It's good to read peoples opinions.Combuster wrote:What i can foresee is the problem of opinion: What features, programming style, UI style, design philosophy do you intend to have?
Well I see your point, I guess it's going to be tough.. Could put things on a vote? No idea.Combuster wrote:Since not everybody has the same roots regarding these matters, it becomes difficult to create an unified standard.
Yes I should of added a Maybe optionCombuster wrote:As such, my support depends on the specification itself. (you should add an 'Maybe' option to the poll)
Sadly I don't seem to be able to change the Poll settings anymore.
yes another standard and even optionally as another layer and so we build layer upon layer upon layer upon layer and everybody wonders about poor performance.
for myself i wouldn't be interested yet because i develop my os just for learning purposes not for future use. also i think that the gui should be completely left out of the os/kernel space and should just be an application running on the os develloped by a 3rd party.
for myself i wouldn't be interested yet because i develop my os just for learning purposes not for future use. also i think that the gui should be completely left out of the os/kernel space and should just be an application running on the os develloped by a 3rd party.
Author of COBOS
Re: Standardized GUI API for OSDev projects.
I don't really see a point in this. Isn't this already called GTK, QT, and wxWidgets? They're simply a standardized layer on top the native GUI API.
On the other hand, if someone were willing to create a binary compatible GTK clone for hobby OS's........
On the other hand, if someone were willing to create a binary compatible GTK clone for hobby OS's........
C8H10N4O2 | #446691 | Trust the nodes.
For such thing to succeed, it should assume nothing because hobby OSses are largely different (And they will be, since we are researchers or students mostly, not companies!), so, what use from such standard we would have?
Windows Vista rapes you, cuts you and pisses inside. Thought these are just nifty side-effects.
I'm the one putting forward a driver-interfacing standard, but I think this is too much.
The thing is, GUIs are pretty far up Mount Abstraction. By the time you get there, you've already got all or most of an operating system underneath you. That means piles and piles of code written using the ideas of the hobby system's author. And chances are, he has vastly different ideas about how to run a GUI from you.
I used to code a bit on the frontier between the Windows GDI and DirectDraw. Now I run Fluxbox on X on Linux. Let me tell you, even things that look mostly the same to the user can have vastly different ideas embodied in their code.
Put shortly: Every Turing-complete language can express the same programs. That doesn't mean you should standardize common programs.
The thing is, GUIs are pretty far up Mount Abstraction. By the time you get there, you've already got all or most of an operating system underneath you. That means piles and piles of code written using the ideas of the hobby system's author. And chances are, he has vastly different ideas about how to run a GUI from you.
I used to code a bit on the frontier between the Windows GDI and DirectDraw. Now I run Fluxbox on X on Linux. Let me tell you, even things that look mostly the same to the user can have vastly different ideas embodied in their code.
Put shortly: Every Turing-complete language can express the same programs. That doesn't mean you should standardize common programs.
Hi,
To me the question is, do we need yet another GUI interface library? I'd be more tempted to adopt an existing library's interface (and use it for "legacy" applications)...
Cheers,
Brendan
In this case I'm not so sure - the "GUI interface" is so far up Mount Abstraction that the interface itself could be implemented as an end-user library (with no need to modify the OS's code at all), like SDL, GTK, Ogre3D, etc.Crazed123 wrote:The thing is, GUIs are pretty far up Mount Abstraction. By the time you get there, you've already got all or most of an operating system underneath you. That means piles and piles of code written using the ideas of the hobby system's author. And chances are, he has vastly different ideas about how to run a GUI from you.
To me the question is, do we need yet another GUI interface library? I'd be more tempted to adopt an existing library's interface (and use it for "legacy" applications)...
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.
Sorry - a 'no' vote here for the following reasons:
One thing though - I am rubbish at artwork. Now, having a large, royalty free library of decent GUI-type artwork would be a fantastic idea!
Cheers,
Adam
- * I am writing my hobby OS out of interest as a learning excercise and want to do the GUI myself.
* I don't want to have to implement someone else's standard - there are already too many standards to implement when writing an x86 OS.
One thing though - I am rubbish at artwork. Now, having a large, royalty free library of decent GUI-type artwork would be a fantastic idea!
Cheers,
Adam
That's the thing I'd prefer!AJ wrote:One thing though - I am rubbish at artwork. Now, having a large, royalty free library of decent GUI-type artwork would be a fantastic idea!
So, nice variation of buttons, some cool vector graphics icons, frame decorations, background decorations...
Of course these should then also be in png -format with alpha channel and grouped by style.
Windows Vista rapes you, cuts you and pisses inside. Thought these are just nifty side-effects.
- Brynet-Inc
- Member
- Posts: 2426
- Joined: Tue Oct 17, 2006 9:29 pm
- Libera.chat IRC: brynet
- Location: Canada
- Contact:
Right, This was a shot in the dark..
From the poll it seems clear that such a standard would not be worth pursuing.
Thanks for the comments in any sense.
AJ, I'm no fan of flashy art/graphics either.. My idea of a perfect GUI/Windowing manager is OpenBSD's default FVWM or Blackbox
Feel free to lock/close this thread mods, The poll seems unified
From the poll it seems clear that such a standard would not be worth pursuing.
Thanks for the comments in any sense.
AJ, I'm no fan of flashy art/graphics either.. My idea of a perfect GUI/Windowing manager is OpenBSD's default FVWM or Blackbox
Feel free to lock/close this thread mods, The poll seems unified
Good UI graphics aren't flashy. Flashy is just the fuckup of current 'trends' made by idiots knowing nothing about usability. Modern flashy interfaces represent the deteriorated economy at the worst: cold, strict, annoying, functional, noisy. (Hey! That actually sounds like Microsoft. ) Outlined: Outrageous!Brynet-Inc wrote:AJ, I'm no fan of flashy art/graphics either.. My idea of a perfect GUI/Windowing manager is OpenBSD's default FVWM or Blackbox
Good UI graphics are calm, warm, quiet, asymmetric, lazy, harmonic. Quite lot like Japanese art. Such things do not attack your eyes or confuse. They are there, out of your way. They are just derocation, not always serving some purpose.
Windows Vista rapes you, cuts you and pisses inside. Thought these are just nifty side-effects.
The obvious errors I see here are:
1) The majority of hobby OSes I see are no where NEAR making a gui api.
2) There are, I think, already GUI standards - what is it about hobby OSes that requires a seperate standard?
3) What's the point in standardising a GUI interface when there are numerous other things that mean programs don't tun cross-OS. If we want applications (espesially graphical applications) to run on multiple operating systems, a much greater degree of lower-level standardisation would be needed first - if one wanted to do this a GUI API would not be a primary priority!
1) The majority of hobby OSes I see are no where NEAR making a gui api.
2) There are, I think, already GUI standards - what is it about hobby OSes that requires a seperate standard?
3) What's the point in standardising a GUI interface when there are numerous other things that mean programs don't tun cross-OS. If we want applications (espesially graphical applications) to run on multiple operating systems, a much greater degree of lower-level standardisation would be needed first - if one wanted to do this a GUI API would not be a primary priority!
-
- Member
- Posts: 2566
- Joined: Sun Jan 14, 2007 9:15 pm
- Libera.chat IRC: miselin
- Location: Sydney, Australia (I come from a land down under!)
- Contact:
I reckon it would work, if it was made customizable enough... You'd just have to make sure that it would work on someone's OS where they only have the basics set up (ie. just got out of GRUB) and then you'd be able to assume that it would work.
The only stumbling block would be designer's choice... I still think it might be good to put some standardized GUI API code somewhere so the few of us who have no idea what to do don't get too confused...
The only stumbling block would be designer's choice... I still think it might be good to put some standardized GUI API code somewhere so the few of us who have no idea what to do don't get too confused...