- Debugger: Getting mixed signals
- 'Packaging Infrastructure' Contract Weekly Report #4
- Haiku monthly activity report - 06/2015
- 'Packaging Infrastructure' Contract Weekly Report #3
- 'Packaging Infrastructure' Contract Weekly Report #2
- GCI 2014 winners trip report (mentor side)
- TeX Live and LyX; Changes to the boot code
- 'Packaging Infrastructure' Contract Weekly Report #1
- Beginning of 'Packaging Infrastructure' Contract
- Haiku monthly activity report - 05/2015
R2 Desktop Proposal Rev. 2, Requesting Comments
I just finished (finally) consolidating the two R2-related RFCs that I've written and revising them, and I'd appreciate comments, criticism, etc. You can get it from this link. If you have an opinion on what Haiku should look like, I'd genuinely appreciate your input. :)
- darkwyrm's blog
- Login or register to post comments

Comments
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
Nice work :) and I like the idée’s .. this would really make Haiku an modern OS.
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
Indeed, nice piece of work. Thanks
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
Morning.
DarkWyrm, first of all, thanks for taking the effort of writing the document. Now for some R2 ommisions / additions which will make Haiku stand out from the crowd:
1) Tracker.
- A GUI folder comparison tool (eg. which files are different between 2 directories and their subdirectories).
- Snapshot of all open Tracker folder windows and create "Snapshot Icon". Double clicking a snapshot icon restores all open Tracker folder windows on next session.
- The ability to Search for files on a non/BeFS image (even brute force will do).
- Each workspace has it's own Desktop folder, with different desktop icons for each workspace.
- Assign application to always open in specific workspace.
2) AppServer
- Group all common application windows to one master window with Tabs
- Dont minimise window to Deskbar, minimise to Desktop instead. Minimised applications actual appear like tab on side/bottom of screen. (can of worms - how are these minimised tabs related to Deskbar active programs list, and how do you show both?)
- Mouse over minimised tabs shows preview of currently minimised application.
3) Deskbar
- Introduce API which allows applications to overlay content on top of the program icon. This is quite useful for showing current application status.
- Introduce Deskbar API which allows applications to customise the context menu when the user right-clicks the deskbar programs icon in the list of active windows. See OSX Dock.
- Drag and drop new program icons to Deskbar/programs/category.
- Drag and drop FOLDER symlinks to Deskbar/bookmarks.
- Workspace specific deskbar, as well as master All-Workspace deskbar.
4) System application
- Encourage moving away from big-swiss-army-knife application philosophy to a smaller tool like application philosophy. A GUI tool similar to Cortex will then allow users to chain simple Tools/Apps and create Power Tools. Eg. image.jpg in => resizer => change colour depth => encode to png => image.png out
5) Apple have significantly cut down on the GUI animations. Leopard is almost dull compared to earlier versions of OSX. Yes, it was cool in early 2000's. It's annoying in 2008. OSX has almost come full circle from introducing transparency to removing it altogether. Linux/Windows have just started that game, and will come to their senses in 5 years or so. Haiku can benefit from completely avoiding this gimmick. I must admit that every time I boot to Haiku, I'm thrilled with its simplicity and purity, and enjoy an enviroment which is focused on speed and function, not lipstick and gloss. Other than adolescants, I believe that more and more people are sick of transparency on their desktop. YMMV.
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
Zenja wrote:
Encourage moving away from big-swiss-army-knife application philosophy to a smaller tool like application philosophy.
I don't really like this at all because it is probably a PITA to put together lots of tiny tools but I think we need to move away from the all in one suite mentality.
I also think it would be great if every app on the system could be as extensible as firefox. I know a lot of people who say "safari has this and chrome has that but I can't switch because I love all my firefox extensions!" That makes firefox a killer app. Every app would also be "alive" and have its own extension community.
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
Some idea i love, some i hate, some i'm indifferent (or i would need to use for a while to be sure of what i think of them).
Too bad you did not made it "frame maker" style (ie: 1.2.4 etc..) it would have made it easier to comment each point of interest. So i will take them by order with the title you gave to the section.
--------------------------------------------
1-Concerning 3D Acceleration:
That is a point you did not elaborate much, yet it is very complicated.
- I think it's needed because
Modern look bring users
On lower end PC, GPU can bring smoothness to the interface
- I think it's needed to still have a CPU-only way to do the compositing
We don't have much coder and being trap to a 3D API might remove flexibility of development.
CPU speed get better and geometry complexity of UI don't grow as fast as game, CPU might be enough soon. So if we can't code it fast enough, it's not worth it in the long term.
- I'm for vectorisation and even 3dfication (with 3d monitor), but i'm against "volumification"
Cubed workspace and tilted picture to give the impression of more screen estate, those are gimmick.
--------------------------------------------
2-Deskbar:
Here nobody will win. you say one way to organise, i will say another. That thing is personal and should remain flexible. One thing on witch we should agree is that a user A should easily find itself on user B computer. For that i think multi-user context would be the simpler solution, so we should forget the ultimate menu setup (one would be decided by default of course, but it should be as flexible to change it as current one is).
--------------------------------------------
3-System Information and Desktop Widgets:
Here i pretty much agree. What i could add is that i would like a better integration of this, something like info popper and the event sound pref panel. Also, it's ok to signal stuff to the user, but it's even better if the user can easily automate subsequent action in reaction to those info.
"Note that this applies only to the Deskbar and not the Desktop or other replicant trays.". This is stuff i don't like. I like Generalisation and i expect stuff to work and react consistently across a system.
--------------------------------------------
4-Easier Window Management:
Animated Hide / Zoom / Restore:
That will be a hard sell, of course it could be removable, but it's really bloat that add-up in the end. Not to mention i HATE that. I would be happy to have a clipUp 2.0 version without animation btw.
Show Desktop:
That is a windows feature i always felt was missing in beos. Of course i can go to an empty workspace or use "windows manipulator" (a bebits app/replicant) to acheive that. But a bring to front/back is more logical. In any case, i still find this a bad problem to think about because it's not really one fixable without causing other problem (so windows manipulator should do for now and close future). The real solution would be my old glassE sugestion to use a layer system for windowing just like in painting app. Not only it would bring the most powerfull and easy to use desktop around (everybody understand the layer concept) but app featuring layer would be even easier to code if the OS already have a basement for it.
Workspaces View:
In the context of accelerated desktop, this would bring very litte bloat and bring flexibility, i'm all for it.
Twitcher:
Nothing against that either. Only thing i would change about it is the ability to navigate it on 2 axiz instead of just a line.
Window Movement Constraints:
"window tabs cannot be dragged below the bottom edge or above top edge of the screen.". I don't like that. Moving windows freely is one of the best part of the concept as it make quick visual comparaison between 2 of them very easy and intuitive. I don't want to get old amiga feeling of windows somehow contained to the edges.
--------------------------------------------
Reduced File Management Effort:
Shift toward a tree-style file manager:
I like that, but i never liked the 2 panel view of those (it give me flashback of web site with frame). I think this must be to not stretch too much the tree while the selected part contain to many file, dunno. If that is the case i would pfefer a view with a slider bar when more than X files are present.
You don't seem to show attribute in your mockup, why? If it's becaue it would be a separate app to the tracker, i don't think having 2 "main" file manager is a good idea.
Search/Browse:
That is a very nice feature to have, not so easy to implement and still have it efficient. You bring a possibly good method and i'm not sure my own idea would be better. One thing i don't like is that your way go at the opposite of my generalisation philosophy (you split the find concept in 2). One other way to do that without spliting the concept would be to allow "level" of find (i prefer find to search, it's more positive :)). Level 0 would not exist, level 1 would be file, level 2 would be project etc... This is not obvious either, for exemple at what level would i put an archive like a zip?
One solution i once advanced on GlassE was to keep the file concept for backward compatibility and other OS interoperability but put the concept of Project at the root. The individual part of a project would then be hosted in a project and only linked from another project if common. As soon as a change would occur, only the diff would be saved in the linking project. If the original project is deleted, a subscription mechanism bring the item into one ot the project that need it. That Project concept would be the easier way to allow "contextual" find. The whole "context" would emmerge naturally from those project interrelation and linking of internal component. Of course, that would be more R3 meat than R2 :)
--------------------------------------------
Improving File Organization:
I agree with that, i find your app filer really good idea. Having it integrated into save panel is very good Vulcan logic :)
Show Desktop
Show Desktop:
That is a windows feature i always felt was missing in beos. Of course i can go to an empty workspace or use "windows manipulator" (a bebits app/replicant) to acheive that. But a bring to front/back is more logical. In any case, i still find this a bad problem to think about because it's not really one fixable without causing other problem (so windows manipulator should do for now and close future). The real solution would be my old glassE sugestion to use a layer system for windowing just like in painting app. Not only it would bring the most powerfull and easy to use desktop around (everybody understand the layer concept) but app featuring layer would be even easier to code if the OS already have a basement for it.
There is a ticket for "show desktop" on trac: http://dev.haiku-os.org/ticket/2136
Support in advocacy would be much appreciated.
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
[...]Show Desktop:
That is a windows feature i always felt was missing in beos. Of course i can go to an empty workspace or use "windows manipulator" (a bebits app/replicant) to acheive that. But a bring to front/back is more logical. In any case, i still find this a bad problem to think about because it's not really one fixable without causing other problem (so windows manipulator should do for now and close future). The real solution would be my old glassE sugestion to use a layer system for windowing just like in painting app. Not only it would bring the most powerfull and easy to use desktop around (everybody understand the layer concept) but app featuring layer would be even easier to code if the OS already have a basement for it.[...]
Nice idea! This is a quick mockup, a mix of Workspaces and a painting App, make a new layer, move windows between existing layers, double click to colorize or rename them, hide or lock them, filter by name ( Desktop is the first layer and its name cannot be taken by others or unlocked), right click to any (multiple)layer and "Show only this/these", "Show anything but this/these"
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
Very good ideas, for the most part I agree, although I did have a few thoughts/suggestions as I read them.
A good GUI keeps things simple without dumbing it down. Advance users need the flexibility to do what they want. Novices (and new but otherwise advance users) prefer for everything to be understandable. There also needs to be a good transition so novice users can learn, and advance users don't have to deal with advance options unless necessary. Some Linux GUIs are a good example of this. I.e. it goes from "Click on pictures to open a photo viewer application" to "Edit this line of this illogically named config file in this esoteric location if you want the 'Pictures' button to open a different program". This is more of a guiding concept rather than an actual suggestion. A good interface also teaches the user how to use it, so avoid using terms that are oversimplified or impossible to build upon. "Computer" would be an example of such a term (not to mention it could probably be used for anything, making it non-specific).
Program Categorization:
Reduced File Manager Effort:
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
I think the best way to manage workspaces is not graphical at all but rather with a tree based manager. For example:
Workspace 1 internet (workspaces could be given a name)
-Firefox
--Haiku Project
--OsNews
-Vision
--irc.freenode.org
---#haiku
---#reactos
--irc.efnet.net
---#whatever
Workspaces 2 creative
-Wonderbrush
--a painting of a frog
Workspaces 3 office
-Gobe
--my business proposal
etc
This way you have a top down view of everything running. Shrunken graphics won't give you an idea of what's in windows with lots of text.
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
first of all, let me say thanks for your work on a true desktop OS ;-)
then, after reading the proposal i've got to disagree with the part about enforcing such a categorization of installed programs as the freedesktop derived one - it's somewhat patronizing, and limited (besides being the first thing i hated in linux)
personally, by using windows i've got used to finding my applications in the menu, looking up the respective maker's name first, then the app's name (nested Start menu folders - that the user can arbitrarily specify during setup, one thing windows got right imo )
many people i know use professional (in some cases ad hoc created) programs, that hardly fall in one or more of the proposed categories - think of a fluid dynamics simulation tool, or one for geodesic analysis, or simply Mathematica... not really CADs nor "Graphics" nor "office" nor "education" applications...
to create a fully fiendly but versatile system, appealing to all kinds of users, i believe there should be no fixed categories at all (except one "All Programs" or "Uncategorized" fixed folder)... instead, the menu should be able to handle "dynamic" categorization, and list programs that fall into more than one category (case of ambiguous categorization) or none at all (as a special case) ;
the user should be able to freely categorize applications on his own via arbitrary class tags (though a class suggestion may be given at install time) - on the other hand, the developer / isv shall be able to tag the SW with his name -branding- that may or may not be taken into consideration by the menu
cascade-listing by Categories > Vendor, or viceversa would be very neat, though ;-)
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
Why not giving users the choice? Use queries rather than categories, ask developers to set categories as attributes for their apps.
Apps could even be in multiple categories. For example if I wanted to learn, I'd look into Education and find Celestia. If I wished to kill (no-no to learning as an activity keyword) some time in some way I'd look into Fun or Games and find Celestia. Learning could be fun :)
Using queries rather than attributes would remedy application installers to tinker with the links at all. Unzip the app and it's in the menu! Cli apps/helper executables would not have category attribute set and hence not added to the menu.
If you don't like the default categorised menu, you can edit the queries to merge categories, make a vendor-based hierarchy, or if there was an attribute specifiying mime types supported by the application even menu centered around document types e.g. folder with all apps that can handle text files and still have a secondary hierarchy based on some other arbitrary condition such as recently added apps, apps never used &c.
Cheers :)
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
personally, by using windows i've got used to finding my applications in the menu, looking up the respective maker's name first, then the app's name (nested Start menu folders - that the user can arbitrarily specify during setup, one thing windows got right imo )
Actually, that's mostly the wrong way to do it, according to Microsoft. Of course, just about every program doesn't follow that guideline. Personally, I hate having to remember vendor names because a) they change, b) they don't matter, and c) not all programs are made by "vendors". I.e. I was looking for "Groupwise" a while back and couldn't find it because it was alphabetized with the N's (Novell). Also, it's better, IMHO, to have 7 folders with ~5 programs each rather than 25 folders with 1 or 2 programs each. Plus you get the advantage of similar applications being nearby. But, I completely agree with you on '"dynamic" categorization', just have the category method be the default.
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
on linux (Gnome user here) the softwares are organized by its genre, OpenOffice is in Office, games is in Games, firefox azureus Xchatt in Internet and so it is... it's more easier and better than Windows! Windows->programs-> azureus->azureus.exe
cheers
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
@Slim Farza
on linux (Gnome user here) the softwares are organized by its genre, OpenOffice is in Office, games is in Games, firefox azureus Xchatt in Internet and so it is... it's more easier and better than Windows! Windows->programs-> azureus->azureus.exe
cheers
or start->programs-> azureus->azureus.exe?
True, but one thing windows have it right are the ability to have the last used application in start -> azureus.exe. It automatic adds my apps here and the most used application in top. I only go that long way if it's a new installed program.
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
Very interesting reading, thanks :)
Apart from my comment about application menu, I'd like to couple of thought's I had.
Deskbar/System tray
I adore the BeOS way of having deskbar in the upper right-hand corner so that it can be under the window whilst tabbed title bar keeps its title visible! Keep it this way, make it be sort of hybrid deskbar, sidebar, taskbar, tray.
I appreciate your mockup is based on Linux system which I don't particularily like because none of the prominent desktop environments support vertical task lists. Even Windows can do this in relatively nice way.
Window management
Arrange workspace - neatly arrange all windows in current workspace, setting them side by side in a table (very much like Exposé but with actual windows not previews) based on their current location and shape, would work nicely with relatively few windows
Arrange visible - Same as above but addresses only topmost/non-overlapping windows; today in users of most systems have to arrange windows manually to have two or three different apps (e.g. html editor and browser with preview) side by side and then fine tune to make them to take advantage of maximum available/required space. Windows can do this (rather obscure feature though) but is limited only tiling and cascading. There is an option to do better :)
Twitcher
Haiku applications (almost) never use MDI approach so it would be sane to present all windows from all applications on the same level (without the need to switch from cmd-tab to up/down arrows). Users work with documents rather than applications so it's pointless to ask them to locate application first and then document.
What also might help is to indicate the screen location of currently selected twitcher item in order to utilise user's location memory.
From Filer to save-to queries
Take a step further from filer which automatically fills in the gaps. For example grabbing 'untitled' text file and dropping it to a query looking for 'type=text & name=my* & category=work' would automatically prompt for the '*' part only. Obviously this query would not accept images.
As per the mockup - the user could select appropriate query with attributes already filled in instead of suggesting a default name only. With attributes already filled in by query locating the file/sorting the dropbox later would be easy :)
Use queries rather than categories, + resizing
+++
And for filtering use a (Deskbar) menu like Open Suse with a Search / Filter entry box.
As for EasyMove, add easy resize, look in KDE control center/configure desktop
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
some great ideas, but i think it would be in everyone's best interests to not perform any huge changes to opentracker.
Maybe give users the ability to switch between this new interface and the old tracker style desktop? (two separate code bases opentracker and "tracker2"?)
"Tracker2" could have all the fancy bubbly features and keep tracker compatibility.
Maybe I'm just too much of a BeOS fan-boy, I am still looking for the "tracker"-like Linux desktop :)
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
Looks pretty good, so I'll just remind about my old idea for away to accomplish visually strong hierarchy and grouping in in a menu in highly usable way (if you look at it, please ignore details like colors and what app is in what category, the main idea is hierarchy/grouping without unnecessary hiding).
I'm not sure if this is an appropriate place to make these comments, but there are a three of small interface annoyances that even the first Haiku release could do without.
1. Not accepting first click on inactive window (I'm under the impression that this is default now). There are very few programs that should work this way. Namely programs that can irreversibly destroy something (cd/dvd burners and disk formatters/partitioners). Not accepting first click is pretty much considered an interface bug in current usability principles. There's a good discussion about this in Apple's human interface guidelines. They even go so far as to set this per control, so that ONLY the controls that activate potentially harmful irreversible actions do not accept first click while the rest of the interface does.
2. Windows are resizable only from one corner. OS X does it, but that doesn't make it right. I'm too tired to look it up now, but even former Apple HCI expert Tog has complained how Apple sticks with this bad decision. The only thing that limiting one resize functionality to one corner accomplishes is that users have to move the window manually after resizing. If there is a strong preference that dragging borders should move windows because thats what BeOS did, I would suggest adding resizing functionality to all four corners.
3. Clicking the name of a selected file triggers rename. Apple originally did this because of the one button mouse. Now that rename functionality can be in a contextual menu, the almost double click rename trigger is pointless and worst of all harmful, as anyone who spends any amount of time helping normal people to use a computer can see. I think Jeff Rasking wrote about this in The Humane Interface.
Finally here's my (far) future wish for Haiku: Firefox like interface customization.
What I mean by that is to accept that usability is more sociology than anything else. While it is true that having too much choice makes people unhappy (theres a good google tech talk about that), lack of options quickly becomes "our way or the high way". In my opinion Firefox manages this problem brilliantly. Default settings are good enough for most people, mere mortals can find the kind of settings they may expect to find, and heavy duty users can go to about:config for everything under the sun. Most of the time when you think something should be different, but there is no setting for it in about:config, you can just look for an add-on that does what you want.
For instance, the above mentioned file rename trigger with almost-double-click is something that great many users may demand, but most people could live better without. Including this option as a checkbox on so preferences dialog would just clutter the interface, but something like about:config in Firefox could easily house that and hundred other details.
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
I just skimmed over the article, looks good so far. I didn't spot Internationalization (i18n) or locatization (L10n) or multi-user. As I understand it, these are planned for "future", but will they be R2 goals or R3 or later? It would be great if we can keep the scope of R2 short and focused and be able to go from R1 to R2 in a year or so.
-scottmc
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
"I just skimmed over the article, looks good so far. I didn't spot Internationalization (i18n) or locatization (L10n) or multi-user. As I understand it, these are planned for "future", but will they be R2 goals or R3 or later?"
I should hope so considering that most Haiku developers are not from an Anglo country
almost double click rename + else
I don't agree but I too found it to be annoying to click on an icon and accidentally triggering rename. One must click on the icon, not it's name. Will happen always when you are used to different behaviour.
But most of all I'd like iphone like pinch-resizeing of windows, that would be cool, Easy Resize.
Strict categories do not work, you proved it yourself
darkwyrm, you go to great lengths to makes sure one program doesn't come up in more then one category, you explain this by giving examples of apps, what their target audience is etc. That's exactly where you go wrong; you know the applications very well, you know what their target audience is, in what it is best at etc. And that's exactly the point that categories do not work, a new user would not know too look in eg. Accessories if he is looking to edit some text, I would look in text editors. Better yet, when I google it I would enter editor or text editor, text manipulation, or writing'.
Different people think and see things differently, in OpenSuse I really liked that the start menu had tabs with yes, categories, but I found the 'Leave' category/tab to be odd to contain a suspend to disk action. I'd prefer to just search / filter for pause, or halt, shutdown, power off. There are more words which have more or less the same meaning.
So to be honest, yes there is some sense it categorizing, tackling it in an universal way like "create" and "text", or "edit" and "text". But even here, multiple view points...
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
Nicely done, but i have a few concerns about the Program Categorization.
Firstly no user without prior experience will know what "Vision" or "Beam" are. What are your solutions to a new user very easily navigating deskbar and starting a certain program?
IMHO I think the menus need to be more task-oriented instead of the less codename-oriented or even program name oriented.
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
Well, to be honest, that's exactly what categories could be good for; namely offering a description. I'd rather go for tag-attributes for providing descriptions, but it does make sense to have drawers with descriptions like medicine, kitchen, bathroom. Similarly categories are useful for dividing different program categories.
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
Hi,
I have silently followed the Haiku adventure for a long time. Thank you (thousand times) to all the developers who made the old BeOS dream back on our computers.
I am not a haiku intensive user right now but there is one thing I really miss when using it : The ALT key modifier. Almost all the Linux window managers use ALT to grab and re size windows on the fly which greatly improves the windows manager experience.
Haiku: we love every bit of it.
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
@grégoire: Could not agree with you more! Now writing this from my iphone which is GUI wise very innovative IMHO and I think "R2" should add the abbility to grab and move the window contents as well, just like Adobe Acrobat Reader allows you to grab and pan/scroll PDF documents.
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
@AlienSoldier, about project concept;
Yes, only I would call it a "bundle" for setting up relations between files , for grouping windows (action "bundle windows") and for aplication bundles like in mac os x. I suppose however you could manage files relations by copying or linking them to a folder, but this is 2008 and I want to see relationships and versioning in Tracker in the form of searchble attributes. A graph view in Tracker would really be "R2" as well :)
Good work, progress!
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
I was alerted to your project by Jack Small, and I am very happy to run across it. I have been thinking about computer interfaces for some 20 years now, and have come to some tentative conclusions about the subject, and would very much like to collaborate on the design of a new OS (or to be more accurate, GUI). My ideas are too complex to explain in this kind of form, and right now I am somewhat pressed for time, but I have long been of the opinion that the present approach to GUIs, which is essentially based on the original Macintosh (nee Xerox PARC via Apple Lisa) design, outgrew its usefulness around 1989 or so. All of the main contenders are variations on this basic design, and attempt with varying success to overcome its shortcomings.
IMHO this interface has become as unwieldy and inaccessible (especially to the novice or occasional user) as the old command-line interface was when the Mac appeared. At that time the Mac interface was revolutionary, and I believe that now we need another approach that would seem as revolutionary now as the Mac was then. I think we need to put absolutely everything on the table for consideration, including some sacred cows that go all the way back to the beginnings of computers. I don't want to scare you away by listing them here, without doing some groundwork first to make the sense of what I would suggest more apparent, but if we are to truly produce the GUI of the future we need to cut loose of the past in many areas. I realize that backward compatibility is an issue when large scale adoption is the goal, but I do not see this as a major stumbling block, but rather a complex problem that has a viable set of solutions.
So while I do not wish to downplay your suggestions or deny their validity given the scope of thinking you are presently inhabiting, I would suggest that it would be a worthy exercise to consider a more revolutionary than evolutionary approach, which I am more than willing to expound under the right circumstances. Right now I do not have my ideas reduced to writing, but am able to talk about them in some detail, so for me some kind of face-to-face presentation would work best to see if my ideas meet with any kind of recognition or approval from those involved.
I would be very happy to hear from anyone interested in investigating such an approach (even if right now they may be quite skeptical about its feasibility!)
Patrick Brinton
pbrinton@sonic.net
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
I hate to be a nag, and keep saying this
BUT ALL YOUR DOING IS REMAKING LINUX
Why not just leave it alone
Leave it like BeOS R5 was
A program menu that is broken down into categories
IE Games, Apps, Education, Office etc
Thats already been done, it's freaking called Linux,
And it sucks ass
My god, the software is free, and it is still getting its ass kicked by Windows. One huge reason is the stupid way of doing things
Most users dont have 50,000 programs. There is no reason to break them down like that. It makes Linux suck, it drives away users. It's ugly, it's unintuitive, it's just plain mucky
Instead of looking for a program in a list
You have to guess at what list it is under, and why, you wonder why it is under that list, when it could easily fit under another
Linux makes it worse, because so many programs names make no sense at all. But Haiku will suffer from it as well. And it will also make Haiku look just just another version of Linux. You do not need to compete with Linux, it makes no sense at all
I hate to sound unappreciative, but if Haiku has a categorized menu. I will not be using it. Not in any way, any how
Every time I install a new version or release of Linux. Thinking, this may be the one, this may let me finally get rid of Windows forever. The same thing happens. I see that god awful menu and format the drive. I dont even want to mess with it, format and rip it out. Not all because of the menu system, but because of that way of thinking
For years now I've been waiting for something, anything that could even come close to BeOS. I still have it running in my home, But I really just dont use it much, because it just cant do some of the things I do on a daily basis, like use flash drives
And for years now I have watched Haiku progress, thinking this just may be it. But now that it's getting closer to maturity, I'm realizing it's all gonna go to hell. In the end it's going to be just another release of Linux
The original be team didn't ask, what can we put in, they asked, what can we take out ? What sucks, what pisses off users ? What is a waste of processing power
Lets try a little of that,,, BOOKMARKS, not everyone needs them, not everyone uses them, they are for the internet, lets let the internet program of choice deal with them, WHY put them in the menu, why put them anywhere in the OS at all
There we are, problem solved,,, I still remember the first time I saw the new deskbar style in 5.0, I almost jumped out of my chair, holy crap, this thing remembers what I've done, this thing remembers documents I've opened, and programs I've ran, this is the reason I tried to break free from Windows
Dont they know thats why I'm using BeOS, because I dont like Windows watching my every move, because my kids dont need to see I just watched a porn movie ?,,, Now I have to go shut it off, remember to clear it,,, be annoyed by something that does not need to be there, believe it or not, I'm smart enough to remember what documents I've opened, and what programs I've run. The .008 seconds It just saved me from having to move my mouse a few inches, I could give a rats ass. If I want something like that, let me add it, let me download it, dont build it in, and make me learn how to shut it off
I hope you all know what I'm saying, and hopefully this will jog a memory in all of you. Haiku has the chance to be the nest BeOS, and you people have the chance to become millionaire's. And I have a chance to use a OS that doesn't do it all, that doesn't guess at everything. You are so close now, dont muck it up with thinking you know it all. Dont guess at what people want. If it is not needed, dont add it, make a widget they can download later
Dont try and build a better mouse trap, dont over do it
Make a OS that does nothing but work, and work fast
The next big shock came with the leaking of Dano
Once again, holy crap, the check in a check box, is animated
There a few more resources go, there is something I did not ask for or need. And may I remind everyone, Dano was not a release, they may have taken that out of the real release, had it ever been finished
There was really only two things I didnt like about BeOS
One was the deskbar remembering what you had opened
And two, was the animated check boxes in Dano
You have to realize, Windows has all that junk, you cant compete, you cant catch up, Learn what the Linux guys dont understand. Some people are trying to get away from it, not find a better way of doing it. If there was a better way. Windows would have done it
I thank god for all the hard work you people have done, and pray that you will make it, and be rewarded for your years of work
But the closer you seem to get. the more you seem to not want it to count for anything. Your over guessing it all, your changing what worked, your adding what is not needed
The squeaky wheel gets the grease, but the complainers and people who ask for stuff, thay ruin it for everyone else
Windows knows, ask the people for what they want, and 1000 people will ask for something that 10,000 people dont want
Anyone is free to make a widget, and anyone is free to download it and install it.
This is almost as bad as the people that want to get rid of the hierarchical folder system. it works dam it. We use it every day, in every file cabinet in the world. There is no better way. It's easy and it works
But people will say, there must be something better, and I'm just the guy to find it. I'm so smart that I will save everyone from sub folders, I'm a Linux guy
Yea, and 50 years later, they will still have 5% of the worlds users. We all know, the real power users, the real Linux gods, they use the shell, servers use the shell. Why ? because no one has over guessed the shell, no one has mucked it all up. It's raw power with no addons. And that people, was what BeOS was
If you want to fix it, if you want something better then Windows
Then take a look at what sucks in Windows, and fix those problems
Fix the fact that there are 50 ways to auto run something
And most users only know 1 or 2, to clean them out
Fix the most annoying problem in the world, that some programs dont uninstall correctly, or completely
Then, look at Linux, and fix what sucks about it
Fix the god awful categorized menu system
Fix the fact that there are 50 different ways to change 1 thing
Fix the fact that program names dont sound anything like what they do
Face it, one huge thing keeps Windows users from using Linux
Is the fact that Windows calls drives A, B, C, etc
While Linux needs a paragraph to work with a drive
Linux shows a file system that scares most users
Then look at Be, and how they managed to clean that up
To keep that part of the ugly file system from being seen
To make it look a little more like Windows
Oh yea, if there is anything in Be, that needed fixed
It was the right hand corner menu
Most people that will use Haiku, are people that read from top left to bottom right, it's the natural flow of things, it's only natural for the menu to drop down from the top left corner
But where are you guys on that one ???
Anyway, I'm sorry if anyone takes this wrong
And I wish you all the best
I sell thousands of computers a week, all around the world
If Haiku works like Be did, I'll be glad to put a copy on everyone of them. I still send 5 to 25 people a week to bebits and Haiku, just to show them there is a chance for something good to come.
I still have a BeOS machine running in our store Window, just for a conversation peace.
But if Haiku, comes with a Linux looking menu
Then I will finally bow down to Gates
And throw away everything I own with Be on it
Including the computers I have running it
You might as well call yourselves yellow tab 2
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
tsteve, you seem to be about as passionate about this topic as I am. Good. Passionate people tend to be the ones getting things done :)
From the sounds of the category-related comments above, it sounds like we need a preferences option for this one, and now that I think about it, it makes sense. I *still* don't use the horrible, large, cluttered piece of junk that is called the Start Menu in XP and beyond. One of the first things I do after an install is to go to the Classic Start Menu style.
Just for the sake of argument, BeOS copied *lots* of things. The Deskbar looks and works like the Start Menu when it's placed in the bottom left corner. Tracker takes many hints from the Finder, and even its name seems to allude to it. The focus follows mouse, bash, and virtual workspaces are all from the *NIX world.
Using the attribute-based method for displaying items in the Deskbar that I've proposed, changing back and would be really easy.
Just for the sake of argument, though, I've taken two screenshots that I've posted links to below. In both cases there are the programs on my BeOS hard drive. At least 75% of them came with Max Edition when I installed them.
No Categories: http://darkwyrm.beemulated.net/images/programs-nocategories.png
Categories: http://darkwyrm.beemulated.net/images/programs-systemtools.png
The second link shows one of the two largest category, the other being Sound and Video. Now tell me, which is the bigger mess? Also, I took the shot at 1280x1024. For those people running 800x600, which is going to typically slow the user down more?
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
What is the basic problem? You can't just move apps around the file system without ruining everything. Once the app is installed, you're stuck with a cluttered mess and you can't categorize your apps the way you want. People waste too much time looking for things in the start menu or on the desktop.
Give us the tools so that we can categorize the apps ourselves...I'd tag a game with a 'Games' tag and poof it goes into the Games folder. Downloaded games may already come with a tag so that it's automatically goes into the right folder but give us a way to change it if it doesn't make sense.
Give us a tabbed icon holder (http://www.stardock.com/products/odnt/tlp.asp) so that I don't have 5 zillion icons floating (Haiku's desktop can get more cluttered than even Windows) around on the desktop. The icons on the bar should (unlike that pic) act like real icons. They'd have labels and you could right click them.
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
HI again
After reading a little more
I see other people are against categorized menus also
And I see allot of people with Ideas
So I just want to say, thats my point right there
Everyone has their own idea
The only way to win, is no ideas
Just a plain old menu, with all programs listed
Code it so different people can download and add their own widgets, I say download and add,,, because building a choice in,,, well it's windows bloat all over
And again, not to bitch, but I myself, will not even bother running a categorized OS. I say that, just to show you how strongly a person can feel. No one can feel something about something thats not there to begin with. No one would look at Be's old menu, and say I cant live with that
But many will look at something new, something different, and actually say, I can not live with that
Give a user a basic menu, let them download a widget to change it if they choose to. Dont force someone who wants basic, to have to find a way to change back
Your opening up a black hole when you try to change things. Basic should be the law
Something not there can only be looked forward to
Something there that doesn't sit well, will drive people away
All the technology in the world, to help simplify something, rapes and murders simplicity itself
Although, I do agree, double click renaming should be dropped, to many people do it by mistake, and just like I've said, there was no reason to ever introduce it, right click, choose rename, not hard, not to slow, power with a safety step built it, right click for copy, delete, cut, paste, info, and rename will make for allot less mistakes
Another common windows problem, people who drag the mouse, with a heavy finger, and move or make new shortcuts and folders by accident. BeOS was always missing the undo command, so when you were typing and double clicking at the same time, and you didnt remember the old name of a file, really caused me some problems
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
I totally understand where your coming from
But at the same time, I gotta compare it to the hierarchical folders mess.
There are really good reasons for wanting to fix it, but there really is no better way. The whole start menu thing at all these days is fading a little, with some people preferring to run portable apps. Way back in BEOS days, I really liked them better. I even used your tree application that way,,, always loved the idea of no install at all. And now people are loading portable apps on flash drives so they always have them handy, it reminds me of those days
I also know what it's like to want it your way
In BeOS 5 days, I used to drag the main hard drive over the the Be menu, then delete all the other links completely. When done, you dropped the menu down, and it listed the folders of the drive. So I had applications, media, documents, etc, and each one of them would expand out when you came over it
I loved it that way, cant remember how I got it working like that now, but it worked great. When I wanted to run an application, I just pulled the mouse over applications, then I could see each one as it expanded
Keep normal files out of root, and it looked and worked great,,, By the way, I would like to submit that idea for your thoughts should you really go ahead and make changes.
It gave you access to everything, the drop down menu with about etc, would list or show your own folders on the root drive, Drop down to documents to see your documents, drop to applications to see your programs, to media to see your music and pictures etc
Delete an application, and you dont need to worry about the link on your menu, because the menu shows the drive and files in real time
If you have never done it that way, you should really try it, after a week or so, I couldn't live with it any other way
But then again, thats what I'm talking about
No way, and everyone is ok, one way or the other, and 50% are pissed off
To bring something else up, if you dont mind
I remember talking to Scott hacker way back when
He really pushed the pro's of the Linux way of
This Folder, is different from
tHis fOlder
While I always argued that a real, normal, generic OS, should be free from that as well, A good OS should not care about caps, A better idea would be to make an OS capitalize every first letter, be it file or folder, and enforce it without asking, it makes everything so much easier and faster to read, and there is no real need to name 2 folders the same name,
Finally years later, he agreed with me.
That is a change I would not mind seeing in any OS
And lastly, while I'm on a roll
One other thing I would not mind, is not going overboard on file name length, back in the Win95 days, everyone went nuts with the idea that you should be able to name any file, any thing. At first it gave us freedom, later it gave us people using a small paragraph for a name, just try and find a file on bearshare, or kaza today, that doesn't run off into the next country and you would be lucky. A decent and normal limit of something like 32 characters would stop juvenile antics like that.
BeShare had some pretty nice people on it back in the day, but sometimes they went overboard also
Anyway, thanks for replying, I dont think I've spoken to you in about 8 years now. The kids came along, etc, and BeOS died out some, But I've tried to keep up and take a peek in on what you've been doing over the years
Now being so close to seeing something again, I felt I needed to get my 2 cents in, and I'm excited as hell that I may be able to get off my Windows machine again. 8 years, and hundreds of Linux CD's later, and I'm still using my Windows ME machine to write this. Just on a 64 bit CPU now
So to sum it all up, just to join in
Old menu, or live drive expanding
Say no, to Linux style folder/file names
Say yes, to forced, first letter capitalization
Put a respectable limit of file name length
Never ever, get rid of the BeOS CD inserted icon
Loved that thing, IE, instead of the MS autorun mess
You really gotta try expanding drive menu
I just wish I remembered how I did it. and it expands the way your talking about, IE applications expand to software name/company/manufacturer
Do it wrong and it looks weird
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
Hi
I haven't used Haiku, but from what i have seen, this is my attempt to make Haiku R2 compete with other OSs when released
I call it The Golu (The haiku Button ). This Golu can be moved to any dam place in the entire desktop like this:
http://ritrup.deviantart.com/art/Haki-OS-R2-Look-Haiku-Golu-1-106478230
http://ritrup.deviantart.com/art/Haki-OS-R2-Look-Haiku-Golu-2-106479238
http://ritrup.deviantart.com/art/Haki-OS-R2-Look-Haiku-Golu-3-106479290
http://ritrup.deviantart.com/art/Haki-OS-R2-Look-Haiku-Golu-4-106479387
Once you click on the Golu it animates into action with clock, internet, running applications, help, shut down etc. The one which is on top becomes big on the Golu ( you can select any running application through this Golu and it will pop out in front )
http://ritrup.deviantart.com/art/Haki-OS-R2-Look-Haiku-Golu-5-106479417
When you Click on any of the tab it pops that window like this:
http://ritrup.deviantart.com/art/Haki-OS-R2-Look-Haiku-Golu-6-106479441
Every thing is integrated in the Golu itself, like the sound control:
http://ritrup.deviantart.com/art/Haki-OS-R2-Look-Haiku-Golu-7-106479469
The Golu replaces the "Deskbar", when it is double clicked it contracts or expands and vice versa, that helps in saving space. The Golu in its contracted form always stays on top (how ever the user can hide it with a right click - option - hide). Application are in a folder called application, but the user can assign their most preferred applications (as a shortcut like dock in OSx) on the Golu. The problem most people face is- when a window is full screen, it is time consuming to go back to other windows behind it. The Golu contains all opened windows as small compact tab on it, the window which is on top is the biggest and rest, one behind the other. Clicking on any of the window behind and it pops in front (at this point the tab on Golu showing the current window's tab will become big).
I REALLY DON'T KNOW HOW WILL IT GET INTEGRATED IN OS, BUT HEY IMPOSSIBLE IS NOTHING ;)
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
I like your idea ritrup but sadly I don't think that would work well for Joe User (sadly). This is the kind of creativity we need though, please stick around the Haiku project :)
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
Just a few much delayed comments:
Sorting chute - save to multiple places for documents that fit in several categories, with hard links for the save so only one copy exists. Also have rule plugins, so you can add a Bayesian sort rule as well as the usual kind.
Search - move indices out of BFS and make system wide, like Macintosh a notification of a modified file causes a daemon to update the index. That would let us use non-BFS file systems with the indices. As well, generate virtual attributes from known file types, like MP3's ID3 tags, Mac does this with plugins supplied by programs which generate files of that particular type.
Support hard links: it's nice to file things under different categories. Works for the application menus and other things. Symlinks are not so good; they break if you move the file.
- Alex
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
Search - move indices out of BFS and make system wide, like Macintosh a notification of a modified file causes a daemon to update the index. That would let us use non-BFS file systems with the indices. As well, generate virtual attributes from known file types, like MP3's ID3 tags, Mac does this with plugins supplied by programs which generate files of that particular type.
Why move indices out of BFS? Why not move non-BFS indices to a BFS volume. Provide links to files on foreign or removale media and fill in the indices. SkyOS has index feeder which populates e.g. mp3 indices from id tags in the background. Why not to use similar mechanism to index all sorts of data on foreign media? For example, vCards on thumb drive would be represented by people files in a specific "virtual location" with links to original file.
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
Why move indices out of BFS?
Because BFS and every other file system has to re-implement the search language parsing engine. It would be better to have the parsing language as an OS library so that file systems would only have to implement something simpler (such as finding a file by attribute), and so that every file system uses the same parsing language. As a bonus, if the parsing language gets enhanced, then existing file systems support the new language.
There's probably a discussion of how to do that somewhere in the database world...
- Alex
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
Exactly, good idea. I'm curious how it would work in practice, you'd see people files next to the vcard files for example in Tracker on a fat32 volume for example?
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
Im not sure if we should change the interface that much. Definitely add in compositing features and work the desktop around that, but beyond that not much should be done. its best not to fix a good thing.
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
Well first of all let me say hello, this is my first post here. I've been reading through your document, and I can say we are at an exciting milestone here, the most of Haiku's future success depends on the decisions made here, so I'd like to share my thoughts, because I really care about where this project goes. I think that the greatest thing in BeOS was that it used all the resources in a small desktop computer, and it pushed out the last drop of every part it could. Nowadays we have multicore systems with very fast graphics cards, and other hardware parts. In a common BeOS sense, it's a crime not using them:) OS X is making the next step in Snow Leopard, they are now implementing OpenCL, which surely will be a great thing. But Apple's OS development has become a big slow giant mass, and that's where Haiku can (and should) gain advantage, all ideas can become reality without having to care much about compatibility with past technologies, so it's a really exciting moment here, maybe a next revolutionary OS will come out of the plans discussed here! The balance between using the GPU for accelerating the desktop, and using it's powers for advanced computations with technologies like OpenCL should be an interesting challenge. BeOS had a very good sense of resource management, this should stay in the future as well.
There is another thing despite using the latest hardware. All major interface advancements are defined by the path Haiku is targeted. I mean, it should be decided, where to go with the OS. BeOS was targeted as a mainstream media OS, all technologies were built for being one, get as much commercial media-related apps as possible. It's sad, but it couldn't go so far, it's history now.
Apple did a great thing here, they were strong in two major areas: they created hardware (so they wouldn't have to care about supporting hundreds of video cards and other hardwares), made deals with the biggest software development companies, and created free development tools for the developer community. Be did create a wonderful api, but as far as I know, they didn't came out with as sophisticated free development tools as Xcode is today. (but well, that was 10 years ago anyways.) So I think this is an area, where Haiku should really progress.
As of improving the user interface:
Be was using well proven professionals to create their GUI, it was well thoughtful until the last pixel. It's outdated now, no doubts. But we are talking here about extending some other people's work, so the only point I am here to make: be very very careful with every little change. All good things, the personality, the feel of the OS, the whole experience depends on this.
Maybe it would be wiser to come out with a whole different approach than the previous was, if the ideas represented in the new approach would be very-very revolutional, then people wouldn't be sad about losing the old one, but messing around with a legacy look and feel could easily end up offending peoples emotions. This community is very enthusiastic and emotional, so it's most important to keep them in love with the OS, because they are the ones who develop it :)
I will be following up all the improvements, and I wish you all a bright future in this project:) Keep up the good work, cheers
Peter
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
I'm slightly scared of compositing. It's a great feature, but it can have serious performance wise side-affects. Apple is able to add all of that stuff and all those many features because they have absolute control over the hardware and know what its platform can handle. Also, in the driver aspect of things, not every computer as 3D accelerated hardware and drivers are hit-and-miss.
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
I'm slightly scared of compositing. It's a great feature, but it can have serious performance wise side-affects. Apple is able to add all of that stuff and all those many features because they have absolute control over the hardware and know what its platform can handle. Also, in the driver aspect of things, not every computer as 3D accelerated hardware and drivers are hit-and-miss.
I know. I have a relatively new graphics card and am stuck with the worst drivers in history (hint: Intel). Effects would be okay however, as long as it doesn't interfere with functionality.
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
I sort of like the simplicity of the current programs menu, which just displays the content of a directory. The user is in full control and can organize the content in any way he wants. An interesting idea, however, would be to change the default content from a fixed set of links to a set of live queries. If each application had a category as an extended attribute, there could be a query for Games, one for Graphics, Network, Office, Multimedia, Demos, Preferences, etc.
A similar, flexible approach could be taken for Bookmarks. Why not just point to /boot/home/config/bookmarks? That way, it would not be limited to User and Internet. Any application could create specialized bookmark folders that would be accessible from the bookmarks menu in Deskbar.
In fact, maybe Applications could be a bookmarks folder as well? The current path, /boot/home/config/be, should probably be changed at some point anyway. The bookmarks menu would then contain Applications, Internet, and whatever other folders the user has created.
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
An interesting idea, however, would be to change the default content from a fixed set of links to a set of live queries.
If you could have queries showing up as a different kind of directory in the file system, this would be automatic. Something for me to try out in the AGMSRAMFS experiment, once I get it working in Haiku...
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
What do you mean? This already works. It's just a matter of deciding that apps should have a category attribute and that /boot/home/config/be should contain some queries by default instead of a set of symlinks. It's even possible to set cute icons on the queries.
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
I see the proposal of animating hide/zoom/restore but is there anything about being able to resize windows in ways other than only the lower right hand corner?
Also, an obvious way to maximize a window to full screen.
Alan
Re: R2 Desktop Proposal Rev. 2, Requesting Comments
First of all I would like to thank Darkwyrm for taking the initiative for creating the RFC kicking off this constructive discussion.
Secondly I cannot stress how sick I am of the phrase "apple does it" and the mentality behind it. I think much of Apple's design decisions are nothing more than well justified gimmicks. Apple's design decisions are not the be all and end all and it is the same with the Gnome Usability Guidelines which are perfect for the Gnome ecosystem but certainly not for Haiku. I think Haiku should retain some of its BeOS flavour.
As for the Applications menu I propose that we get out of the stone age and leverage a KDE4 or Windows Vista style menu in which your most used can be dragged onto the initial view for quick access, a search bar for super quick file and application selection (this is a MUST) and also tabs which expose a task oriented groups of applications (as described in the RFC).
The reason why I said the quicklaunch search is a must is because:
- It reduces program selection time to practically nothing though it does require the initial 30 seconds of experimenting to get used to it. Seriously guys, quit whining about this feature in Vista and KDE4 and spend a few seconds getting to know it.
- Haiku has a great file system that is made to leverage meta-data, this makes this style of menu natural and logical.
For the task bar, I am unsure what direction I would want this to go but as I said before I think that it is important to retain some BeOS flavour in Haiku not only to retain some of the fanbase and nostalgia but because the moment you try to be Apple people will always compare you to Apple, and ultimately you are restricting your horizons to Apple.
We as a community are most certainly not Apple and we should embrace our own culture and aim for nothing short of amazing.