Idea for Deskbar

Forum thread started by zakalwe on Sat, 2009-10-03 19:04

I don't know if this has been brought up before, but I had an idea for the Haiku dock, err, Deskbar.
In current builds, when an application loads, there is no visual feedback to the user that indicates the application loading. Especially when a large application loads or the user loads multiple applications simultaneously it can give the impression nothing happens. In which case the user tries to start the application for a second time.

Haiku could use the application title-bar in the Deskbar to give the user feedback of the loading process.This can be implemented in the various possible appearances of the Deskbar.

Quick mock-up (animated gif) can be found here:
http://www.ideaspace.nl/ext/haiku/Haiku-Taskbar-loading-indicators.gif

This way an application loading indicator (in a splashdialog) is not necessary and a consistent user experience is achieved.

In addition, one can also include progress indicators in the individual window titles in the Deskbar when the application expander is used, so the user has an up-to-date overview of the tasks running in windows of applications that are hidden or in another workspace.

Comments

Re: Idea for Deskbar

I like this idea. Actually I love it.

Re: Idea for Deskbar

I really like this idea. I have the bad habit of trying to start an application twice if it doesn't load in a few seconds.

Re: Idea for Deskbar

I like the idea, but rather than a progress bar I would like to see a little loading circle (like when you boot OS X) that then smoothly fades into the application's icon.

Re: Idea for Deskbar

I also had thoughts like Polari, of an "Ajax style" loading icon that becomes the app icon. This is also something I could use in the browser (for the windows when they are loading), so I might investigate implementing this.

Of course while this is probably necessary, in general the "Haiku style" would be to have really fast loading applications. I guess the current worst example is BezillaBrowser, which loads slow for all kinds of reasons. If anyone has some other slow loading apps please let me know.

BeOS didn't have a wait cursor, Haiku doesn't either, and in general we want to avoid these sort of kludges from other operating systems.

- Ryan Leavengood, Haiku developer

Re: Idea for Deskbar

This could potentially be an amazing way to also provide bars for downloads, and syncs.

Re: Idea for Deskbar

always have a plan B. The nice thing about this idea is that you actually have information about the loading process instead of an hourglass that screams "I'm locking you up!"

Re: Idea for Deskbar

Very good idea, looks great...

Re: Idea for Deskbar

Just a thought. Why not add some Blinkenlights-like feedback per app and per window?

Re: Idea for Deskbar

leavengood wrote:

BeOS didn't have a wait cursor, Haiku doesn't either, and in general we want to avoid these sort of kludges from other operating systems.

- Ryan Leavengood, Haiku developer

Yeah but sooner or later if Haiku is to be successful there will be at least one or two kludges (like office, IDE, CAD or 3d modeling programs).

You should definitely leave it as an option. Optionally if programmer thinks his software will load quickly (less than 5 seconds) then you could have an Ajax style icon.

Re: Idea for Deskbar

The original idea of Zakalwe: "Haiku could use the application title-bar in the Deskbar to give the user feedback of the loading process.This can be implemented in the various possible appearances of the Deskbar" is absolutely awesome. If only I had thought of that =-)...
MUST implement! MUST. I was blown away when i read the post and saw the animated gif - so cool, functional and integrated... and so much more. MUST! M U S T !

Re: Idea for Deskbar

Well I'm sorry to say the original idea probably won't ever get implemented because I think it is very difficult for the system to provide an accurate progress bar for something like an application loading. Plus as I said I really hope and would think that such slow loading apps will be a rarity on Haiku. I still think the "Ajax style" loading icon could be done and could be useful.

Re: Idea for Deskbar

I looked up that "ajax style loading icon" and recognized it as the hip thing of the moment that i have seen in million places from flash player in pc to my iphone. Boring and useless imho, and soon nobody uses it because it USED to be hip.

I still think that progress bar on the Deskbar is excellent idea, something BeOS would have had if it was still actively developed. The issue of 'very difficult for the system to provide an accurate progress bar for something like an application loading' - well, I think it could be programmed so that applications can report status to Deskbar. And the status reported can be chosen by application - when app starts it reports status to Deskbar (OS) as it loads its components (simply numeric values: 10 - 20 - 30 - 40 - etc). But why stop there? Maybe apps can report any status on Deskbar - like apps doing some work in the background, downloading something, writing to a CD etc etc. So user can have excellent overview right from the Deskbar. It would be groundbreaking, cool and yet simple. Worthy of haiku. =-)

Re: Idea for Deskbar

Yes, the best thing to do when waiting for something, is to do something else that waste time or resources ? How about we all just keep using Windows. Thats what everyone seems to want anyway

Be already had something that showed you when a application was started
Having anything else start, display graphics, or do anything else at all, is simply going to make everything else take longer

I like the idea, but its really counter intuitive. Where I work, building and shipping custom computers, people call all the time to check on shipping status or tracking information. Every call, 1000 a day, makes me laugh a little. Why they dont understand that calling us to see how an order is going, is actually slowing down the whole process. I just dont understand
They also seem to all think that its just them, that no one else does or should call to do the same thing that they just did. That 1000 calls a day takes 3 people to answer. IF they didnt call, those 3 people could be working in building and shipping. Actually getting the systems out faster

Anyway, I dont mean to poke fun at this. I do like the idea. But we as humans really have to start realizing, that no new ideas, are the best ideas

If your going to do anything at all, just make it so the application shows up faster in the desk bar, since it has to be done, just do it first, so people know its working. But dont try to animate, and waste resources doing anything that does not have to be done. Be and Haiku I believe, both do the little animation when you click on a program, that lets you know the application has been started

Re: Idea for Deskbar

leavengood wrote:

I also had thoughts like Polari, of an "Ajax style" loading icon that becomes the app icon. This is also something I could use in the browser (for the windows when they are loading), so I might investigate implementing this.

Of course while this is probably necessary, in general the "Haiku style" would be to have really fast loading applications. I guess the current worst example is BezillaBrowser, which loads slow for all kinds of reasons. If anyone has some other slow loading apps please let me know.

BeOS didn't have a wait cursor, Haiku doesn't either, and in general we want to avoid these sort of kludges from other operating systems.

- Ryan Leavengood, Haiku developer

This is the kind of thinking I like.. Instead of trying to smooth over a problem, try to solve it instead! I suppose large programs could open a window that says "loading" before unpacking data or whatever adds time to startup, but I'm not sure we can count on all developers doing this. There might also be other unexpected delays for example when loading an app over a network disk, and as I think someone else said, providing users with feedback is always a good thing (well unless it gives devs the impression that it's ok to write slow loading apps :))

Re: Idea for Deskbar

I'm sorry, maybe I should expand on that
The problem at work isnt that one person calls in to check on an order
They are right in thinking that will only take 5 minutes of my time

The problem is, if we get 1000 orders that day, 500 people call in to check on their order
So that takes up my whole day, plus 2 more peoples days. And they all think they are the only person calling in, that their order is special or important

So the problem here isnt that 1 person wants to add something, its that everyone has something they would like to see or add. But when you add it all up, you get a clone of Windows. Bloated, slow, problematic, entangled, complicated, unnecessary, wasteful

The OS should be small, nimble, quick, basic, clean, fast, empty, sharp, fresh
Unencumbered by any and all ideas for looks or coolness

Let the application people make fancy animations and graphics, then you have the choice of running that application or a different application
Waste in any way promotes more waste

If the overworked people behind Haiku need to do anything, its make Haiku usable
But even after thats all done, eye candy only results uselessness

I've said it before, and I will say it again. Linux is free, its mature, its strong, its fast. And it still cant pull in more then 10% of the users in the world
It's ugly overdone and complicated. Haiku needs to stay clean and simple if it expects to pull in anyone but geeks and shut-ins

Re: Idea for Deskbar

myyr wrote:

I looked up that "ajax style loading icon" and recognized it as the hip thing of the moment that i have seen in million places from flash player in pc to my iphone. Boring and useless imho, and soon nobody uses it because it USED to be hip.

Well that has been around a while and hasn't become blasé just yet, because it fills a valid need of showing that something is loading when no definite progress bar can be shown. It is also very space efficient, fitting nicely in 16x16 pixels. I don't think they will be going away soon.

myyr wrote:

I still think that progress bar on the Deskbar is excellent idea, something BeOS would have had if it was still actively developed. The issue of 'very difficult for the system to provide an accurate progress bar for something like an application loading' - well, I think it could be programmed so that applications can report status to Deskbar. And the status reported can be chosen by application - when app starts it reports status to Deskbar (OS) as it loads its components (simply numeric values: 10 - 20 - 30 - 40 - etc). But why stop there? Maybe apps can report any status on Deskbar - like apps doing some work in the background, downloading something, writing to a CD etc etc. So user can have excellent overview right from the Deskbar. It would be groundbreaking, cool and yet simple. Worthy of haiku. =-)

Reporting progress for things like downloads or CD burning is one thing, since progress for those is fairly easy to determine. But something like application loading is just not that simple. Some apps might be like Photoshop or the Gimp and they could show progress for loading plugins or whatever, and this could in theory be reported to the Deskbar instead of in a splash screen.

But for something like BezillaBrowser, I don't think it is quite so simple. I think the slow loading is due to loading all kinds of libraries, and certain slow application initialization, and I really don't think Bezilla itself is aware of all that is going on when it is loading. I think the odd combination of both outside the program and inside the program processing would be hard to attach a progress bar too. That is my main argument against this idea.

Re: Idea for Deskbar

Update: I had a suggestion here but on second thoughts it doesn't make sense. Anyhow I'm not really in favor of an ajax style animated icon, it suggests uncertainty on stability too. And in the end there's always the Team Monitor that tells the users when an app. is in trouble (misbehaves).

Re: Idea for Deskbar

I re-read my post and it felt hostile. Sorry for that.

Tsteves comment actually proves my point, if I may say so: people like to know what's going on, even to the point where it starts to interfere with the thing they are checking the status for. From christmas gifts as a kid to a health-check as a elderly person - we like to know. I guess it's evolutionary or something...
If I click on a link (shortcut, icon etc) and expect something to happen and in after some time discover that I waited in vain, it for some reason makes me very frustrated - it's weird but that's the way it is (for me at least). If one deals with people every day (like tech-support, that I once did) You know that people always want to know the status of things, even if they actually just get best-estimate that they know can be very inaccurate.

Leavengood, Your point about Bezilla: is it maybe possible for Haiku to have a feature where apps can report THEMSELVES their status to Deskbar. They have a certain startup sequence that they go through and so it can be estimated how much of startup sequence is done. Like: they load the main executable - 25%, they are done loading plugins/extensions - 55%, they get done loading themes - 75%, they're done loading interface - 95%. I obviously don't know how Bezilla loads, but I'm just tryig to demonstrate how in theory it could work. The progress bar wouldn't move very smoothly but that isn't actully an issue, people just like to see some status of things. I don't like the Ajax thing too much beacuse it has no start and finish - it could spin there for 2 seconds or 2 hours. I know progress bar would also be an illusion in a sense that it wouldn't maybe report totally accurately progress (in sense of how much time of loading still remains) but application programmers can roughly still estimate how far in loadng the app is. And user would have something to wait for.
I think Windows XP, Ubuntu (and siblings), BeOS(!) and other OS's all have loading status information displayed on startup.

Re: Idea for Deskbar

I agree with your idea, the user interface would be much smoother looking in my opinion

Re: Idea for Deskbar

The simple ideas are often the best and this is among the best. It's like sliced bread :)

It is not actually *new* because web browsers have been doing it for many years, however, it is an excellent tweak that the system deserves.I would like the driving information to be available in the API so that the applications can read/write those values.

Taking it a step further:

If an open application wanted to inform the user that its going to be busy loading new data (perhaps a huge PDF file), it could do so by updating the values that drive the deskbar's visual output.

Re: Idea for Deskbar

How about having the program's logo in the deskbar going from greyscale when it's just been started to full-coloured when it's fully loaded? Another idea that I'd like is to be able to send keystrokes, or other commands to an app when it's loaded, but this may be already implemented.

Re: Idea for Deskbar

The problem in Bezilla is that instead of managing to change configuration on the fly when starting, it restarts the whole application, so everytime something is updated it does 1-4 restarts for things like importing profiles, updating libraries and other stupid things. Once a long time ago it could change skins and things on the fly, but I guess it was easier to just restart the whole app. Really crappy programming in other words.

Re: Idea for Deskbar

Another idea-a leaf that appears on the right of the app's deskbar block, and lights up as it loads. The only thing that I would say about the original idea is that Haiku is so fast that most apps will load instantly!

Re: Idea for Deskbar

A funny side note to this
While I do like this idea, and I do like the looks of it, the movement etc

It makes me think of a huge Microsoft farce from years ago

If anyone remembers Windows 98, and defrag, scandisk, etc

They made a new feature, where defrag reports what it saw as a time or slowness problem

In other words, you would start defrag, and it would seem like it was taking forever to start, so they made a popup, that would stop the whole process, and say something like

"DEFRAG HAS HAD TO RESTART 10 TIMES BECAUSE OF SOME PROBLEM"
"YOU MIGHT WANT TO STOP SOME OF THE PROGRAMS RUNNING IN THE BACKGROUND"
" WOULD YOU LIKE DEFRAG TO KEEP REPORTING THESE PROBLEMS TO YOU"

What was really messed up, was many people would start defrag, and then walk away, thinking they would let it run over night, and come back tomorrow to a fully defragged hard drive

Now, tomorrow when they would return, they would see that stupid screen saying defrag has had to restart 10 times etc etc etc, and it would just be sitting there doing nothing, after doing nothing all night long,,, but if it didnt stop to tell you that stupid message, it would have likely finished up in an hour or so

I'll have to copy that screen some day, and post it here, to remind everyone how stupid nagging and feedback can sometimes be, or get
That in itself is the perfect example for everything bad about Windows, and catering to people that need feedback or interaction, when making it fully automated would have been the right way to go

Re: Idea for Deskbar

so i'm using windows 7 now on my work laptop and to my surprise micro$oft has beaten Haiku to this - they have progress indicator on taskbar tasks that have somekind of progress to report. it is cool. and i'd take this feature anytime over rounded corners or skinning or whatever fancy stuff as it is also USEFUL.

Re: Idea for Deskbar

A "USEFUL stuff" would be applications starting instantaneously.
;-p

Re: Idea for Deskbar

agreed. but until we all have machines with 10 or more cores, SSD drives, 1024-bit or wider architecture, 100GB RAM and perfect code some software will still take some time to load.

btw. widows 7 uses this method to indicate the status of processes happening inside running application (like in windows explorer copy-move etc). having this in Haiku would be a start.

Re: Idea for Deskbar

myyr wrote:

agreed. but until we all have machines with 10 or more cores, SSD drives, 1024-bit or wider architecture, 100GB RAM and perfect code some software will still take some time to load.

btw. widows 7 uses this method to indicate the status of processes happening inside running application (like in windows explorer copy-move etc). having this in Haiku would be a start.

Or of course, we can have OSes that load applications on stupidly old computers very fast. BeOS is probably quicker and more useful on a 233MHz PII than Windows is on a 1GHz PIII.

Haiku is such a lean and fast (yet very useful and powerful) that really, loading indicators are almost pointless on many modern systems. The only applications i can think of that are slow to the point of needing a progress indicator are the Qt ports (KOffice as a prime example). Even BeZilla is fast compared to many Windows applications.

Re: Idea for Deskbar

The123king wrote:

... Haiku is such a lean and fast (yet very useful and powerful) that really, loading indicators are almost pointless on many modern systems. ...

Remember, Haiku also exists as a live CD appetizer. It is not that superfast there ... and this CD often will be the first impression potential new users might have for Haiku.

Re: Idea for Deskbar

IMHO this idea smells like a great idea on paper that won't work very well in practice, even if it looks really cool.

First of all, I would venture to say that more than 90%, if not 99%, of the programs available in Haiku start immediately. The ones that don't are heavyweight applications. KOffice is one of them, but considering the early state of the QT4 port, I don't think that making decisions based on KOffice is a good idea. In short, it's an edge case.

There are many ways to give the user feedback. A "Loading..." window (think Photoshop or many other Windows heavyweights) window is sufficient. A progress bar is even better, but not always practical or even possible for some apps.

From a developer point of view, it's just a glorified progress bar that has been moved from the application to the Deskbar. Progress bars are only useful if there is a quantifiable way for the app to determine how far it has to go before it is completely ready to use. Not all apps can do that. Word comes to mind. Attempting to take something non-specific and guess at quantities can only lead to inaccurate feedback. Anyone remember the copy times in Windows Explorer? I find it sad that it can jump from 1 minute remaining to 13 minutes to less than a minute all in the span of one real minute of time.

An application's loading process is also specific to the application itself. This means that each developer would need to notify the Deskbar of the loading progress, even for really simple applications. This is extra work for every developer for *every* graphical application.

Don't get me wrong. I love it when people come up with new ideas, especially if they think it will really help users work more easily. This one even looks nice. It's just that it would make for far more work than its helpfulness would be worth.

Re: Idea for Deskbar

That's because it is restricted by the slowness of the CD media itself. Haiku's LiveCD doesn't load itself into RAM like some other OSes do, so it's rediculously slow.

Re: Idea for Deskbar

ok, maybe i was a little too enchanted by the mock-up in the beginning. like a kid who decides to only eat gummy bears for the rest of his life... ;P

using this kind of progress bar as default feature for EVERY app loading could be a waste since most of them just load too fast (although, even if it only blinks for a second it would be a nice indicator that an app has finished loading and where it 'parked' itself on the deskbar menu). some huge apps (office, CAD etc) should implement it, to be more user friendly. but it could be up to the developer to decide if he's going to show the progress bar or not and it would be called from the loading app itself. but i still think that having this as a feature is important. i think this thing is going to get implemented in most OS's at some point.

google "windows 7 progress bar in taskbar", first hit already explains it quite nicely.

Re: Idea for Deskbar

If a program is so huge it cannot start within a second, it probably should be split into multiple separate programs (which, by the way, also makes it easier to let it interact with tools implemented by a different developer). "Everything and the kitchen sink" type software is awful, it's like running a whole OS on top of the OS you actually want to use.

When it really, really, really isn't possible to show a window immediately, a splash screen is OK. But that should be something less than 0.1% of software needs to do.

As for showing the progress bar when the program is doing something else than starting, it's better to place the progress bar near whatever is being done. For example, when showing multiple browser windows, the progress bars are much more intuitive when placed in those windows instead of in the deskbar.

All that said, it does look really cool.

Re: Idea for Deskbar

I don't think that this is important feature.
1) Progress usually implemented in applications individually and only if it needed.
2) Progress information cannot be got by OS, application must update progress manually. Many developers won't implement it.
3) This feature isn't minimalistic.

Re: Idea for Deskbar

> If a program is so huge
Huge programs isn't BeOS way :)

Re: Idea for Deskbar

I could imagine that the notification system, that recently made its first appearance in the trunk, could be used for these kind of things as well. This would have the additional advantage that the user has the deciding power what and how to show stuff (eventually). Plus it's not tied to the Deskbar (or even Tracker), thinking of a special minimal config for a netbook or a kiosk system.

Regards,
Humdinger

Re: Idea for Deskbar

could you provide a link or some additional information on 'notification system, that recently made its first appearance in the trunk'?

Re: Idea for Deskbar

There is the initial commit r36949, i don't have any more info on it. Its preferences are in the nightlies, but I don't think it works just yet. Or nothing is using it yet, which makes sense until the API is stable, I guess.

Regards,
Humdinger

Re: Idea for Deskbar

from the bits and pieces i managed to gather on the subject (initial commit r36949) it seems that this (a kind of pop-up notification, a distractor) is something that might be needed also. but having a non-obtrusive, integrated status indicator would be something else, an additional feature that works as the opposite of the before-mentioned pop-up. but maybe the method and protocol etc might be shared or similar.

Re: Idea for Deskbar

That's the idea behind the notification service, how a notification is shown to the user depends on what tool is listening to the service and how it's configured. It may be a pop-up or an area in the deskbar or something else. Maybe even audio only, imagine a subtle clickediclick sound while transfering a file or opening a huge app as progress-meter. Maybe even change pitch with the progress.

Regards,
Humdinger

Re: Idea for Deskbar

Sorry for the "bump" (it was still on first page anyway), but I really like this idea. I agree that developers should be allowed to choose if they want a real progress bar or not. I'd like to add that if the loading progress is unspecified, an unspecific loading bar should be shown instead, like the one in some Windows programs. Example from Windows Firefox's Downloads window: http://img830.imageshack.us/img830/2603/unspecificprogress.png

I would do a real Haiku mockup but I don't have it installed yet (A2 doesn't work with the hardware I've tried it on, will try nightly's in the weekend prob.) and I'm feeling lazy. It should animate with the little "bar" looping around, if you've used Windows you know what I mean... ;)

I agree that an active app with a measured process (such as copying in Tracker) running should display the progress to the Deskbar button. This could be done with a colored progress bar (the theme default for progress bars) running across a button, not the same "growing button" effect as for starting apps. Does that sound nice?

Re: Idea for Deskbar

I for one would like a status bar to see what is going on. For instance rendering a mp3 from wav is not instant.

Re: Idea for Deskbar

that does already exists!

Download a nightly build.
Just after the desktop appears, you will see a message that shows BeFS index rebuild (first boot only).