Application Launch notification ideas (Hourglass)

Under development: PCMCIA, wireless, etc.
Post Reply
Message
Author
User avatar
rarsa
Posts: 3053
Joined: Sun 29 May 2005, 20:30
Location: Kitchener, Ontario, Canada
Contact:

Application Launch notification ideas (Hourglass)

#1 Post by rarsa »

Every now and then there are requests to, specifically, "show an hour glass" when launching an application.

e.g.
http://www.puppyos.net/forum/azbb.php?1172292766

I've read (and had) the argument that in windows the OS is actually very busy when launching an application. That user's have been conditioned to accept Windows ineficiency is not Linux's fault.

In Linux, specifically Puppy, the OS does not prevent the user from working while launching an application so the OS is actually not waiting so no need for an hour glass.

I want to approach that request from the actual requirement point of view, because I highly doubt that the actual requirement is to show an "hour glass".

My suspicion is that the problem is that users don't know if they clicked the icon correctly, so sometimes they click two or three times on the icon.

Based on that I think that the requirement is actually the following

Notify the user when an application is launching

This thread is to validate (or invalidate) that previous statement. And to gather ideas on how to address this requirement.

Here is my sugestion:
- Create a "Launcher" script that receives as parameter the command to launch the application
- The launcher would show a notification window indicating that the application is starting and close when the process shows in the "ps -e" list.
- Modify all menu entries and desktop Icons to use the launcher.
- If there is really too much emotional attachment to the hourglass, we could even set the window cursor to be an hour glass.

Yes, it is a hack but very easy to implement.
[url]http://rarsa.blogspot.com[/url] Covering my eclectic thoughts
[url]http://www.kwlug.org/blog/48[/url] Covering my Linux How-to

User avatar
VariEze
Posts: 114
Joined: Thu 09 Feb 2006, 17:49
Location: Oregon
Contact:

#2 Post by VariEze »

Yes, I think it's a problem that people keep clicking, There was a pup for firefox that popped up a box that said firefox is starting, I don't remember which one. That was very helpful, since firefox takes a miniute to start on a 400mhz machine.

Not all applications need a notification, they start very fast, but on slower machines, even I wonder if the app is started, or crashed.

I use a little script for many programs, to bring up a terminal :

Code: Select all

#!/bin/sh
rxvt -bg orange --geometry 60x10 -e anymp3 "$1" 
this one calls up a script that stops mplayer if needed, and starts the new song. The open terminal allows the keybindings for volume, etc to work.

but I don't know how to close the terminal automatically, say when another GUI finally starts.... My script writing is very basic.

An easily editable script for each program that has a slow start, that people can use on an "as needed" basis would be a hack, but a starting point. If you have a 4ghz machine, none of this matters.

--Karl

Leon
Posts: 265
Joined: Wed 22 Jun 2005, 21:33

Re: Application Launch notification ideas (Hourglass)

#3 Post by Leon »

I remember that I missed an hourglass too when I started to use Puppy but now an hourglass would be almost annoying to me. My computer isn't old and slow, that's true, but now I'm simply used to Puppy behavior.
rarsa wrote: My suspicion is that the problem is that users don't know if they clicked the icon correctly, so sometimes they click two or three times on the icon.
Yes, I agree. I like to start many programs and tasks by clicking JWM tray buttons. What I really miss is graphical representation that a button is pressed. I started a new tread with this suggestion.

http://www.murga-linux.com/puppy/viewto ... 381#100381
rarsa wrote: Here is my sugestion:
- Create a "Launcher" script that receives as parameter the command to launch the application
- The launcher would show a notification window indicating that the application is starting and close when the process shows in the "ps -e" list.
- Modify all menu entries and desktop Icons to use the launcher.
- If there is really too much emotional attachment to the hourglass, we could even set the window cursor to be an hour glass.

Yes, it is a hack but very easy to implement.
It seems fine. I only suggest that showing notification window would be optional and user had the chance to turn it off on fast computers.

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#4 Post by MU »

http://puppyfiles.org/dotpupsde/dotpups ... notify.pup (24kb)

Run from dotpups-menu to launch mozilla, or type something like
MU-demo-notify leafpad

It uses this small Gtk based popup that I otherwise use in my drag'n'drop trayicons.
Good thing is, that it does not take the focus.

Someone might write a program, that "paints" a custom text on the supplied background-picture before notify.bin is executed.

Mark

GuestToo
Puppy Master
Posts: 4083
Joined: Wed 04 May 2005, 18:11

#5 Post by GuestToo »

see: http://www.murga-linux.com/puppy/viewtopic.php?&t=15298

Firefox has a built in splash screen, but i find that a gxmessage popup is simple and fast ... my start wrapper script also include code that causes double clicks to be ignored

User avatar
puppyfan12
Posts: 140
Joined: Mon 04 Dec 2006, 17:25
Location: Ontario, Canada

#6 Post by puppyfan12 »

Yes, I've also encountered the same problem supporting other users which is why I also recommended some kind of notification an application has been launched.

Windows uses an hour glass but that's not necessary. Any kind of splash screen or small efficient "loading" notification would be very helpful for the end user. I'm not sure which email applications are available for linux with html email support (other than thunderbird or browser+email suites) but hopefully claws with dillo html plugin or whatever it uses will be sufficient and faster than thunderbird. I know a lot of people are against html email and want to enforce plain text but html emails are a requirement for our municipal government and becoming so commonplace that an average person needs it. (seeing html source code just confuses them)

I've found it's common on old systems that applications are clicked several times before the application loads because there's no indication it was clicked on correctly. This is especially true for elderly users or new users who aren't yet comfortable with double clicking, when double clicking is the default launch behaviour.

Of course for developers and people with fast systems it's not as important, this mostly pertains to slower systems and elderly/new users. I'd like to make a puppy that's as easy to use for everyone as possible.
Joe D.

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#7 Post by Pizzasgood »

In IceWM that isn't a problem, because you can just look at the CPU graph (if you know about it, anyway). It doesn't update as slow as the JWM one, so you can immediately see if something is making the computer "think". In JWM, it doesn't kick in for a while, and it kind of slopes up and down rather than just changing. For example, when the computer stops "thinking", the graph sloooowly levels out over several long refreshes. In IceWM, it just drops at the next refresh, which happens to be very soon after the actual event.

If that were fixed, you could tell what's going on.


As for hourglasses, in Windows there were two versions. The "GO AWAY, I'm busy," one that was only an hourglass, and the "Do stuff if you dare, but I'm working on something in the background too" one that had a cursor with a small hourglass in the corner.

Since Linux doesn't lock you down when thinking hard, you would only need the second one. It could kick in whenever it "thinks hard" for a certain amount of time. That way you wouldn't have to mess with each app, you could just have a small daemon in the background monitoring the CPU use and acting when appropriate (very little more than the graph already does).

How to update the cursor on the fly I couldn't tell you. Also, it would have to only affect the standard pointer, and leave the "window-resizer" one alone.
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]

User avatar
Nathan F
Posts: 1764
Joined: Wed 08 Jun 2005, 14:45
Location: Wadsworth, OH (occasionally home)
Contact:

#8 Post by Nathan F »

One really small hack is to call seamonkey with the -splash option, which gives you a nice graphical; splash screen until the program is up and running.

I'd rather not have a bouncing cursor or hourglass, but I think a notification in the system tray might be a good plan, or else a small popup in the lower right corner of the screen. Definately not something that steals focus, though. Those sort of things tick off just about anyone who has used a computer for more than a few hours.

Nathan
Bring on the locusts ...

User avatar
rarsa
Posts: 3053
Joined: Sun 29 May 2005, 20:30
Location: Kitchener, Ontario, Canada
Contact:

#9 Post by rarsa »

Nathan F wrote:I think a notification in the system tray might be a good plan, or else a small popup in the lower right corner of the screen.
Woow, great minds do think alike. I was thinking the same thing! ;)
[url]http://rarsa.blogspot.com[/url] Covering my eclectic thoughts
[url]http://www.kwlug.org/blog/48[/url] Covering my Linux How-to

DavidBell
Posts: 132
Joined: Fri 24 Nov 2006, 21:44

#10 Post by DavidBell »

I am pretty sure that the only time windows displays an hourglass during launch is the little hourglass+arrow that shows while the actual binary file is being loaded, which usually only takes 1-2 seconds at most. Even then it's only the desktop/taskbar that does this - windows explorer doesn't.

Once the file is loaded, it starts the WinMain function, and from that point all the hourglasses you see are done by the application, including while waiting for any internal initialisation or module loading sequences. In a large application with a lot of dynamically loaded plugin modules the initialisation can take quite a long time - maybe a minute or more - but it's done in WinMain, not by the OS window manager. And if you think about it, really the only thing the WM can measure is loading the binary file, the WM can't tell if or when any internal initialisation is happening.

So I think it's really the job of applications to indicate what they are up to, not the window manager. Often complex applications have a small launcher program that flashes a splashscreen to make it seem to go faster.

DB

User avatar
mysticmarks
Posts: 159
Joined: Tue 27 Feb 2007, 01:56
Location: California
Contact:

how about this?>

#11 Post by mysticmarks »

What about a simple confirmation dialog that asks wether you wish to run a second, third, fourth instance of the already running or executed program "X"?

kills the problem entirely, if its running, i dont need another and i know to wait a minute, and if i want more than one, ok!

even better, have it list the program status; to say, " would you like to run/execute another instance of the running/sleeping/zombie program "X" with PID "1234"

and hey!, why not have a kill existing button for zombies/sleepers just for simplicity and function if they come up as such! :D

User avatar
Lobster
Official Crustacean
Posts: 15522
Joined: Wed 04 May 2005, 06:06
Location: Paradox Realm
Contact:

#12 Post by Lobster »

MU wrote:http://puppyfiles.org/dotpupsde/dotpups ... notify.pup (24kb)
Run from dotpups-menu to launch mozilla, or type something like
MU-demo-notify leafpad
I have notified team Viz Central (WhoDo) and hope this can be included in RC1 Office for Mozilla Seamonkey and Office, the slowest programs to load . . .

On a reasonably fast machine (my Duron 1200 is fast by Puppy standards) Mozilla takes 6 secs to load, not needed but not distracting if present

On a 333mz AMD (underclocked 350) that I ran Puppy on - still awaiting a trash power supply to get that going . . . Mozilla Seamonkey took 17 secs to load, so this becomes very useful for those on restricted hardware

Nice One Mark (Moin)
Puppy Raspup 8.2Final 8)
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html :D

User avatar
Nathan F
Posts: 1764
Joined: Wed 08 Jun 2005, 14:45
Location: Wadsworth, OH (occasionally home)
Contact:

#13 Post by Nathan F »

hope this can be included in RC1 Office for Mozilla Seamonkey
For seamonkey I would just adjust the scripts to pass the -splash option to the seamonkey.bin binary, as I mentioned previously. A very easy way to make the program feel a little nicer, that I wish they would make default.

Nathan
Bring on the locusts ...

jurner
Posts: 1
Joined: Sun 25 Mar 2007, 11:55

#14 Post by jurner »

David Bell wrote:
...regarding hour glass "busy cursor"

>> So I think it's really the job of
>> applications to indicate what they are
>> up to, not the window manager. Often
>> complex applications have a small
>> launcher program that flashes a
>> splashscreen to make it seem to go
>> faster.

True, but a bit the other way round
...the window manager on windows
equipps all apps with a busy cursor on
startup and it is the job of the app to
replace it on creation time of its main
window with whatever cursor desired.

This way round no guessing is required
wether an app is slow on startup or not.
Fast apps will overwrite the busy cursor
emidiately, slower apps may take a
while todo so.

++ cursors are app specific. That is
a busy cursor is only shown over an
app wich has actually set it.


Juergen

Everitt
Posts: 331
Joined: Tue 19 Dec 2006, 21:59
Location: Leeds,UK or Birmingham, UK

#15 Post by Everitt »

This would also be great for troublesome applications that don't load. Perhaps it could also monitor the return code. If we get something before a couple of seconds is up, (and it isn't 0 ) then chances are something has gone wrong, so why not include an option to pop up a dialog offering to try again?
I don't really like the idea of popups, as I often open three or four programs at a time, so they would pretty quickly take up a lot of screen space. A single popup that contained a list of starting programs would be cool though. It could be achieved with a deamon that the scripts pass a message too, telling it what program to start. Working on a messaging system would mean that would be very CPU efficient, only doing work when needed rather than polling.

User avatar
sunburnt
Posts: 5090
Joined: Wed 08 Jun 2005, 23:11
Location: Arizona, U.S.A.

#16 Post by sunburnt »

I think a popup would look clunky in this case, the mouse cursor changing is the best approach.
I don't say this because of WinSnows, it's just an eye candy - common use - functional thing.
I hated the clunky popups I had to use for my USB auto mounter app.

Hi guys... Haven't seen (heard) some of you in a while!

User avatar
hanzf
Posts: 161
Joined: Wed 11 Mar 2009, 21:39
Location: Belzig, Germany

Re: Application Launch notification ideas (Hourglass)

#17 Post by hanzf »

rarsa wrote: Based on that I think that the requirement is actually the following

Notify the user when an application is launching

This thread is to validate (or invalidate) that previous statement. And to gather ideas on how to address this requirement.
I fully agree. Me personally, I like the KDE bouncing Cursor very much.
I always found it confusing that, in WinXP, the hourglass almost always disappears long before the application shows on the screen.
DavidBell wrote: Once the file is loaded, it starts the WinMain function, and from that point all the hourglasses you see are done by the application, including while waiting for any internal initialisation or module loading sequences. In a large application with a lot of dynamically loaded plugin modules the initialisation can take quite a long time - maybe a minute or more - but it's done in WinMain, not by the OS window manager. And if you think about it, really the only thing the WM can measure is loading the binary file, the WM can't tell if or when any internal initialisation is happening.
Thank you for the explanation.
Nathan F wrote: For seamonkey I would just adjust the scripts to pass the -splash option to the seamonkey.bin binary
Thank you, works fine with the desktop "Browse" icon that opens "/usr/local/bin/defaultbrowser". Menu > Internet > SeaMonkey web browser opens "mozilla" (according to /root/.jwmrc) and I haven't yet found an executable file "mozilla", does anyone know where it is?
(But I use the desktop icon much more anyway)

thanks from a user with little (but not no) programming ambitions

Sylvander
Posts: 4416
Joined: Mon 15 Dec 2008, 11:06
Location: West Lothian, Scotland, UK

#18 Post by Sylvander »

In Windows I have set sounds for "Open Program" [bloop] and "Close Program" [whoosh] events.

Hence, when all the programs on the startup list are being processed...
I hear bloop, boop, whoosh, bloop, etc.
This lets me know that all is progressing as it should.
It could also be of great help if there was a fault and there was no display on the monitor, and yet I could hear that the startup was progressing normally but all unseen.

I can adjust the volume at the speakers so that it can be heard, but is not obtrusive.

And during a normal Windows session...
If I do something to make a program run...
I hear the bloop as it begins...
And if I close a program...
I hear the whoosh as it terminates.

This is of great help in timing my actions to fit in with what the software is doing.
e.g. If a new action depends upon the previous action being first completed...
I hover the mouse...
And only click when I hear the whoosh.

In BoxPup I have the CPU usage display down in the tray, so feel no lack of an indicator of what's going on.
But it would be nice to have the aural feedback [sounds] too.

User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

#19 Post by rufwoof »

VariEze wrote:Yes, I think it's a problem that people keep clicking, There was a pup for firefox that popped up a box that said firefox is starting, I don't remember which one. That was very helpful, since firefox takes a miniute to start on a 400mhz machine.l
Invoking slow to start programs through a wrapper script such as the following might do the trick. i.e the program invoked and sent to the background and then falling through to display a splash screen for a couple of seconds to say that something is actually happening

Code: Select all

#!/bin/bash
PROG=$1
shift
$PROG $@ &
yaf-splash -close never -fontsize small -bg green -fb black -text "Loading - please wait" &
X3PID=$!
sleep 2
kill $X3PID

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#20 Post by mikeb »

wow old thread ...you old dog you....

Yes something I forget is not there...I use Xfce4 and it does it. Binary approach is the neatest...perhaps JWM could add something useful as that 'dead' feeling is not sophisticated :D

Actually one though...cpu monitors do their thing when a new app is launched but thats probably a hopeless non starter.

Your script makes sense IF and sensibly only IF packages for puppy were built for puppy. Big bunnies like libreoffice could have it. And tell libre not to hog the focus on its way up from the ocean depths :D

mike

Post Reply