Shuttleworth Proposes Overhaul of Desktop Notifications
Thelasko writes "Mark Shuttleworth is considering a controversial overhaul to the way Ubuntu manages notifications." I'm not thrilled with all of the changes proposed, which would mostly value simplicity over confusion at the expense of flexibility and permanence. But anything that would make more people read over and specifically approve the wording of error messages and other notifications is a good thing.
Can't I just dump a stack trace to stderr and be done with it?
This looks to me almost exactly the same way KDE 4 notifications work. Just a slight change in the bubble look.
They should have the devs do the experimentation work in Fedora, and then incorporate the final product into Ubuntu and others. At the very least it would be good for cross distro relations.
"Thanks for all the money you paid to us. We've used it to buy off ISO among other things" -Microsoft
a little off topic, but some configuration tools would be nice. You know for the general public. until ubuntu can do that it's going to be no where near desktop ready for most people.
thank God the internet isn't a human right.
So the entire summary is Thelasko's opinion , with a one sentence description that links to shuttleworth's blog? Perhaps a true summary of proposed changes in Ubuntu desktop notifications would have been more informative.
I like it. Maybe I'm alone here, but note in the article that Shuttleworth says that some notifications are important and should be treated differently (as "persistent panel indicators") - but there's no reason why you should have to click on "Wifi stopped working" and "Wifi started working", hence distracting you from what you're doing. Exploring new ideas is more important than whether they're good or bad, especially four months ahead of release.
xterm -n 8
"tail -f" is all the notification you need.
But anything that would make more people read over and specifically approve the wording of error messages and other notifications is a good thing.
People can't follow written instructions when dumbed down so far that a six year old can follow. What makes you think people would read what an update to an OS does?
Case in point. We sent an email to everyone in our organization, including consultants, on Thursday afternoon (1:41 PM to be exact) specifically telling people to restart their machines, not turn them off, so Microsoft's critical update could be applied. We also told them in the same email that this procedure should be followed until further notice. Here is the relevant part:
Microsoft has issued a critical security patch that corrects a vulnerability problem with Internet Explorer. Tonight, the Client Support group will start applying the patch to all desktops/laptops within the agency. Therefore, we are requiring that all users follow the recommended procedure of daily restarting workstations. Upon a successful restart of your workstation you will be at the Windows sign-on screen.
Perform these steps before you leave each day.
1) Close all open applications as you normally would.
2) Click Start button\icon on the task bar at the bottom of your screen
3) Select Shutdown from the available list of items
4) Select Restart from the list of values - This is important - you must select "RESTART"
5) Click OK - Your PC will reboot itself to the Welcome to Windows sign-on screen - from there we can apply the corrective solution
On Monday, when I checked a log file, there were roughly 30 machines in my building alone that were turned off on Friday night rather than restarted. There were others in the field who had done the same thing.
We know they restarted their machine on Thursday night as requested so for them to have their machines off would mean they had to physically change the value from Restart to Shutdown, completely ignoring the email that was sent to them 24 hours before.
Only those who truly want to know what is going on will take the time to review updates. The rest will just click a button or not bother reading what is put in front of them.
We will bankrupt ourselves in the vain search for absolute security. -- Dwight D. Eisenhower
Our hypothesis is that the existence of ANY action creates a weighty obligation to act, or to THINK ABOUT ACTING. That make notifications turn from play into work. That makes them heavy responsibilities. That makes them an interruption, not a notification. And interruptions are a bag of hurt when you have things to do.
Then what, exactly, is the purpose of the notifications? If not to invoke immediate action, then just send an email summary at the end of the day of all the "notifications" that happened in the last 24 hours. Short of showing changes in a network state, what would be urgent enough to show immediately, on top of all other windows, but not important enough to want to address at the same time?
"Your download is complete." I'll want to open the file.
"You have new email." I'll want to read the email.
"Your mom cried when she read your heartwarming birthday card." I'll want to pick up the phone.
What are these mysterious notifications that won't invoke a desire to perform some sort of action from the user?
Old-school programs often had a messages window which contained notifications. You could view or dismiss it at will, and it was unintrusive. Try running xfig for that old-school feeling. In some, it was even embedded in the main window, so it was always there.
Or to get closer to the point, there's always xterm... Messages appear and scroll by eventually, but they have nothing except their existence oaasociated with them. No buttons, no links, no hideous, evil, modal dialogs and so on.
SJW n. One who posts facts.
Having the notification bubbles disappear when you mouse over (well, under) them doesn't seem usable. The user will see the bubble and want to interact with it in some way. Mousing over should decrease opacity and allow the user to interact with the dialog, such as immediately remove it or click on it to bring up the application that spawned the notification. I'm very familiar with computers, and it still seems very strange to "mouse under" something.
It almost sounds like UAC or that permissions window in OSX ... Isn't it great to see linux innovating, again?
Quartz Extreme and Core Image. Are there any other real reasons to spend all that money on generic hardware?
That mockup looks like my desktop: OSX with Growl notifications for mail.
This is one case where I think that Microsoft has been the industry leader.
White lettering on azure field, clearly states the information, and no user can ignore it or work past it.
"A problem has been detected and windows has been shut down to prevent damage to your computer..."
THL phish sticks
But it's only a minor UI change, instead of a yellow box with an 'x' I get a floating translucent one...
But why can't changes like this be put on the GNOME roadmap, instead of having ubuntu drive linux UI development?
I am quoting Mark Shuttleworth here, from the article:
The most controversial part of the proposal is the idea that notifications should not have actions associated with them. In other words, no buttons, sliders, links, or even a dismissal [x]. When a notification pops up, you won't be able to click on it, you won't be able to make it go away, you won't be able to follow it to another window, or to a web page. Are you loving this freedom? Hmmm? Madness, on the face of it, but there is method in this madness.
This goes with the "There should be no actions on notifications" bullet point from the article. This leaves the user with no recourse other than to kill the notification agent in case a notification becomes stuck. While this is only the display agent, there should always be an "exit" for the user.
We want to make notifications truly ephemeral. They are there, and then they are gone, and that's life.
[snip]
If you miss it, that's OK. Notifications are only for things which you can safely ignore or miss out on.
I left in the relevant text. At first glance, it may seem like the approach that they are going to take with all notifications, but the second point they make is:
We think there should be persistent panel indicators for things which you really need to know about, even if you missed the notification because you urgently wanted that coffee. So we are making a list of those things, and plan to implement them.
So this is a little better. If something is broken, there will be an indicator somewhere that will always let you know. For all other things, like someone logging in or your wifi connecting and disconnecting, it'll pop up and fade away. If you're there to see it, great. If you're not, then great. This isn't an entirely new concept. In Windows, if my wifi goes dead, I'll get a disconnection notice, which will fade away forever. In the system tray, I'll have a visual indicator in the form of a red X over the wireless icon.
One question I have - is this new notification agent something that will just sit in front of libnotify and take care of the aesthetic properties of the notification, or will the two work separately? I guess I just want to know the relationship between this agent and the libnotify daemon.
Best "String" Ever!
It looks and acts like growl. Not that that's a bad thing - it'd be a great feature to have on Linux.
What'd be cool is if they'd support growl's network protocol (or work with them implementing a common one). It'd be nice to have servers send me small status updates this way, rather than through emails or whatever.
I think what SABDFL said is just about perfect. While I can appreciate being able to click a notification to go to the instant message I receive, I'll be far more likely to alt-tab to it instead.
I would like themes, though. I'm spoiled on Growl, check out my brainstorm idea... http://brainstorm.ubuntu.com/idea/15447/
"Most people, I think, don't even know what a rootkit is, so why should they care about it?"
Every so often the interface should generate a dialog box that says: "Are you an idiot Y/N" If the user consistently answers no then the dialog boxes disappear. If they just click yes on every box in front of them then the operating system trojanizes its self to save other people the effort.
As if notifications weren't intrusive enough already.
I've had a pain in the ass time doing dual monitors. Not to mention, one of my monitors can pivot (rotate) 90 degrees.. (its nice to see 2 whole pages of text when your typing on a "long screen", instead of a widescreen) but last time I looked, there is no easy way to adjust that either..
For what it's worth, both 2nd monitor and rotation are easy GUI options in KDE. I haven't used Gnome in many years...
Plugged a new monitor into my laptop and it just works.
I am cool with these notifications as long as there is a "disable all these annoying notifications" button somewhere.
- Wireless on/off?, just change the little icon in the bar
- Updates?, just show something I can hover to check
I don't know you but, besides pulseaudio, annoying little notifications are the only thing I would like to rip off Ubuntu.
HTML is obsolete. It's time for a new, simpler and richer markup language.
Any machine built in the last decade or so supports it. Makes life easy for you, and you don't have to waste everyone's time and electricity.
In Windows land, it seems just about dang near every application you install has notification annoyances when you start the PC.
1. Java Virtual machine seems to get an update every other day. This is just great, since I don't have enough java VM versions on my add/remove programs. Thanks!
2. Windows Media Player will irritate you with a media update every day, it seems.
3. Can't forget Itunes! What minor revision do you have now that doesn't seem to do much for me? Hey, what's all these extra applications you think I should install as well?
4. Macromedia Flash, ahh, can't forget that one.
5. HP Printer drivers. Just screams "me too".
6. Probably Steam has an update too.
And that's not even the usual update patches from Windows Update.
Don't turn your computer on in over a week, and you'll be going through 20 minutes of updating stuff. There are times I wish software WASN'T updated so frequently.
Hover translucency is OK, I guess. I'd rather have my cursor to push an always-translucent notification away, or squish it against the side of the screen, or do something else that actually got it out of my way. And it should shake when it's something really important. And flash! Mandatory PC speaker sound effects! Rumble mouse support! A frowny face graphic that becomes more sinister as the problem becomes more severe! Insert the warning text into the music you're listening to as replacement lyrics! THOSE BASTARDS NEED TO KNOW THIS STUFF!!!!!
Another team has started a port of Growl to MS-Windows:
http://code.google.com/p/growl-for-windows/
Given the way things are, maybe Growl should simply be port to Linux, so that the same themes can be used?
Jumpstart the tartan drive.
I love this remark from the article about notifications -
They are gone like a mystery girl on the bus you didnâ(TM)t get on, and they enrich your life in exactly the same way!
The first thing I thought of was, "So...they don't."
So Linux users can finally get what Mac users have had for four years?
No, sounds more like new Linux users can get what old linux and older unix users have had since before Apple existed. Writing messages to the console.
Good to see apple catching up at last. I hear they've even got virtual desktops, too.
SJW n. One who posts facts.
I was halfway through writing a post saying I didn't like the lack of interaction at all, but I changed my mind halfway through.
Frankly, this'll work far better than any current system. I hate multiple options on a notification that programs often do, it's annoying. This way notifications are just what they say on the tin. They tell you something.
Now, that said, I think the answer to the interactivity disappearing is already there. Tray Icons. Pidgin does this well. If you get a message, when you click on the icon, it raises the window. So you can have a notification from pidgin, then interact with the tray icon, rather than the notification (it would be good to have a picture to link the two).
That said, what I'd most like to see is basically what the G1, or rather, Android has. It's notification bar adds an icon when an application needs to tell you something, when you drag down, you get a list, then you can hit one to deal with it. It's effective, gives you lasting notification, so you don't miss things, and allows interaction. Combine this with the current statusbar cleverly, and it'd work well.
So Mac users recently got what GNU/Linux users have had for over a decade?
Revolutionary! :-)
(let's face it: software development is an iterative process, where it often makes sense to take inspiration from other people doing similar things. As everyone does this, it's not a bad thing, in fact it helps spur innovation.)
It is exactly this notion that Shuttleworth is challenging. You see notifications as a sort of transient dialog box that implies action. He sees them as, well, notifications. I am inclined to agree with him. If you might want to read your new email, why only give yourself a 3-second window in which to click the notification? Does your interest in reading the email (or opening the file, etc.) disappear after a few seconds? What if you're busy now, but want to read the email later? Transient notifications are the wrong tool for the job. Put a clickable mail icon on your panel to signal that there is unread mail. Use the pop-up notification only to provide a heads-up about there being new mail. If the user is busy (or away from the computer) they will still want to read their email once they have the attention to spare.
And don't you dare suggest that notifications should be permanent until the user dismisses them! That's intrusive and obnoxious.
Gnome users. Linux users who use KDE already have this and had it before OSX did.
I love hardcore Linux users. Always wondering when the Year of the Desktop Linux will arrive, and for the most part, always kicking and flailing anytime something is introduced that takes the User into account. From reading the article (cardinal sin) and watching the video they posted (OMG) I think a system like that would be pretty cool.
Before I switched over to IT I did administration and business management for a larger organization (we managed management at smaller satellite offices). One of the most important things I learned there was when you add or implement policies peoples reaction to them will be directly proportional to the level of convenience or inconvenience.
It's really pretty simple if you stop and remember most people are already really quite busy, frustrated, over-worked, etc. And of course it's tricky, but if you stream-line your business processes with the goal of simplifying or improving things for your users you can turn the tables on them and in the process make it easier to get your own job done. I think we have a tenancy to consider the importance of what *we* need to get done without having the time or interest to see how it directly impacts others, which results in resistance and requires more work (monitoring, baby-sitting) for ourselves.
Quack, quack.
Exactly. It's sad to see an entire discussion with hundreds of comments discussing the pros and cons of something that is old news on every other major desktop in existence.
There once was a file named mybest.gif
whose owner wanted to replace it.
That act it did not permit,
the file did not have the write bit,
and out this error did spit.
Love the mockup, hopefully it would transitions into something like that in 9.04
I agree with most, if not all, of the proposed changes to the notification system. I agree, for example, that notifications are just "extra information" if you happen to be present and shouldn't require interaction. However, that's not to say that I don't think it would be convenient to have a gesture/keystroke shortcut that causes a predetermined interaction with a notification type. For instance, it would be convenient for me if there was a short snippet about each incoming email, displayed in a notification, as opposed to "1 new message". That way I could know if the email was worth checking or not. If it was, it'd be nice, at the time of notification, to hit a key combo or something that took me straight to mail to see the new content. While I think that's a great idea, I have no idea on how to implement it in such a way that doesn't negatively affect other users.
I think one of the longest standing problems with Linux is the tray / notification area. Too many competing methods, sloppy looking icons, and inconsistencies that create a negative experience for the user.
As soon as notifications start annoying me just like windows XP notifications did, you will hear the sound of my shuttling feet moving to another operating system.
Without actually having seen your situation, it does seem as if you've given people something very wordy, and the most important parts of it seem buried in lots of stuff that's not so important. If that's only the relevant part of the email, how much other stuff was around it?
What happens if you get straight to the point and simply start the email by saying something like "Please restart your computer tonight, and DO NOT shut it down. Detailed instructions about how to do this are below." For anyone who actually cares about why or how, you could then continue with a "This is because..." section.
Reading what you've shown, the most important part of the instruction is hidden in the middle of a paragraph. It starts off with a phrase about Microsoft issuing something, and some people will just ignore it from that point because Microsoft isn't something they really care about, and you're not obviously telling them to do anything.
It's also expanding a very simple instruction into a daunting wordy 5-step process that most people won't need to understand in that much detail. This is one of the reasons that I often find Microsoft KB instructions frustrating to follow, because every time they suggest something like editing a registry key, the actual relevant part gets hidden in the middle of a lengthy process that's dumbed down and designed for a person who's never seen the registry before, and surrounded by warnings about how editing it could cripple your system, etc etc.
A 6 year old with nothing better to do than impress someone might read the whole thing, but an adult who's trying to focus on their day-job for which they're employed will probably try to locate what you're actually saying in as short-a-time as possible and ignore it if they can't find it in the time they have.
Hate to be a Negative Nancy here, but I gotta disagree with Mark on this one. Notifications should have actions associated with them. I don't WANT to see "Wifi signal lost" followed immediately by "Wifi signal found". (My Windows installation does this and it drives me crazy!) The only important type of notification is one that prompts a user response, such as "CD burning finished" (action: eject), "Bob sent you a chat!" (action: reply), or "New kernel installed" (action: reboot). I WANT to be interrupted to be told these things. And I can handle notifications that present multiple actions to choose from. Example: "Download finished!" (actions: Open file, Open containing folder) If it's a freedesktop.org spec, support the FULL spec, or we'll risk the spec becoming obsolete. Only supporting a subset will do to notifications what Internet Explorer does to CSS.
I don't understand how is it different from what exists already. The mechanism is already there:
[CLI] notify-send "Hi there!" -t expire-time-in-mseconds [/CLI]
does the same thing. If app wants to make sure user doesn't miss it: give expire time as 0. If app wants to convey critical message there is urgency option (-u).
I am sure some graphics work can make the notifications prettier (like growl on macosx); but the mechanism is already there. And the decision of whether to demand action from user, is left to apps.
Just write software that never crashes.
It would be nice if these was someway to disable the darn annoying volume display that comes up when you adjust the volume.
But there isnt!
ARGH!
I think this is just a side effect of the relatively fragmented nature of closed source software. Vendors don't work together or allow anyone to modify their products because of IP issues, which is why you don't see distro-like entities re-packaging existing apps so they'll work together nicely and upgrade nicely, as happens with open source.
Also once something's installed, it's in the vendor's interests to be as in-your-face as possible to make sure you remember it's there. Hence all the loading-at-startup splash screens that you'll often see on a Windows PC, and update notifications... because every vendor wants to individually make sure that all users know about their latest offerings.
I love desktop innovation, I really do. I use Ubuntu on every machine I own and I use it exclusively. No Windows.
I hate to bring this up seeing as how your awful excited about adding new features but I would like to ask you for something.
Can we please get what we already have working? Bluetooth completely barfed all over the place with 8.10. I'm still cleaning that up.
Sabayon (the app not the distro) is a mess and hasn't worked well in two releases (despite still being in the repos). I need that to work.
VPN. The voodoo in 8.10 to get PPTP or OpenVPN to work is nasty. A kind soul made it work weeks later and you still have to download his fix from the PPA even though he submitted his patches. This should have worked OOTB IMHO.
Look I could go on here but I won't. Do you think we might put just a little energy into making what already exists work before trying to add anything new? Posting as AC to avoid the obvious karma whoring.
Gnome has had notifications forever, too. People donÂt really understand what this proposal is about.
Many moons ago at Siemens Sietec, a colleague did a similar notification/error popup, but didn't think to make it go away without your clicking it.
However, the cool thing was what happened if you right-clicked it or clicked the "more" button: it displayed a series of messages, starting with the most meaningful to the user, usually written by the GUI designer. This was followed by messages from farther and farther down the call stack, until you got so something quite user-unfriendly like "invalid block count at inode #16538128".
The sequence could be pasted into email by users if and only if they were inconvenienced by the thing the message reported.
In effect, the message producer was an exception mechanism, handling both minor exceptions to the expected behavior and also more serious ones, and at each level the handler could and often would add their interpretation of the problem.
The engineers loved the very precise pointers to the problem, and users enjoyed knowing that they could hand the nerds something useful, and not be grumbled at for reporting a problem but not knowing the solution(;-))
--dave
davecb@spamcop.net
Seriously. I rarely use windows at all but the few times I do one thing really pisses me off completely
You're typing text and all of the sudden some crap application (windows or 3rd party) decides it wants
to popup either a splash screen or some alert dialog box.. and immediately the focus is taken away from
the text window and given to the dialog box...
Tell you what Windows assholes: Nothing you can popup is more important than what I'm typing. I don't
give a fuck whether Outlook wants to compact my inbox. Don't pop up when I'm typing. It's like slapping
the keyboard out of my hand.
Here's how notification and popups need to be solved. Have a short queue of icons representing popups
on the right upper corner of the screen. There can be a configurable message beep for each item (or one
beep for multiple items should a lot of them popup at once). The icons can't blink or otherwise try to
distract. If I click them the dialog box folds down Mac OSX style. I can configure it to expire dialog boxes
if I chose to ignore them. In that case the application gets told the dialog has been cancelled. Optionally
I can tell the application that I'm ignoring its popup and it is also then blacklisted for that dialog or for
any dialog for that matter.
The only time I can actually envision an exception to the icons not blinking or being distracting is if
the OS or an app is reporting a catastrophic event (about to lose power, disk errors etc.).
So I've been bitching about Windows but this is something I'd like anybody designing a desktop to
think about.
I actually run my computer without notifications. It's one of the reasons I chose Gnome to begin with. It always bugged the heck out of me how programs liked to pop up distracting bubbles.
So with this I should have made it back to 2004. If I can figure out some of these other tricks, I should be able to return to my home time in 1984. The fashions back then were so much better.
Once you start despising the jerks, you become one.
I have to endure this stupid nonsense, where we have to change password every month, ...
and it must have enough different characters,
and it must have at least one number,
and at least one punctuation,
and you can't reuse a previous password,
to achieve what?
Care to guess what everybody's password ends up looking like? ...
qwerty!1
qwerty!2 the next month
qwerty!3
qwerty!4
qwerty!5
Result = opposite of intent
My luks passphrase has only letters, and you won't bruteforce it, trust me.
@echo off
for
"Be grateful for what you have. You may never know when you may lose it."
There are a few computer games that I have played that have notification systems. They are usually somewhat unobtrusive, give some indication that an event has happened, but don't show you the message or event until you interact with them.
One in particular that I'm thinking of is Theme Hospital, where a little icon would pop up at the bottom of the screen and slide across, waiting for you to click on it to see the message (and deal with the situation as necessary). Once the event was dealt with (sometimes even without your interaction), the icon would disappear. There were different icons for information / decisions / visits, which made it easier to prioritise your management of the notifications.
Other ones I can think of were "goal/achievement reached" notifications (different game). You'd know something had happened, but not what it was until clicking on the message area of the screen.
Ask me about repetitive DNA
... and I'm going to tell you about things that already exist, that other people are working on and make it sound like it's exclusive to Ubuntu.
Thank you for your time.
-- I care not for your foolish signatures.
I think it is an experiment worth doing.
I have spend about 15 years designing systems for the financial markets and almost without fail, at first instance, a customer will say "Such and such" an event is really important and the User must have something pop up and tell them. Well, it isn't.
What I mean is that you really need to understand the "workflow" of a given situation and given that understanding it is almost always true that one should never interrupt the work that a User is currently doing with something that they "must" do to proceed. All you will do is annoy them.
In every situation I encountered above, the customer came to understand why interrupting the workflow is never a good idea.
These notifications are a good idea from that perspective. Besides if something really is "that important" there will be a better way of managing it than these kinds of things.
What is interesting to me is the question of what is the best way to make these notofications appear. Again in the environment with which I am familiar, the "ticker" model seems to be a strong one. The most common implementation being a "page" (sometimes very small) of messages scrolling by with colour being used to indicate importance/severity/careworthyness. I reckon that the mock up shown is pretty good but I suspect that "colour coding" is a useful/necessary addition.
"The first thing to do when you find yourself in a hole is stop digging."
The clue is in this part:
>That makes them an interruption, not a notification.
>And interruptions are a bag of hurt when you have things to do. I for one turn off as many notifications as possible.
If i get a new email i dont mind a tray icon appearing that looks like an envelope but i DO NOT want a notification, or the taskbar button to flash, and i certainly do not want it to leap to the front of the screen. I would like to get on with doing whatever it was i was doing and check that tray icon once every hour or three to see if any emails have arrived.
On a slightly side rant this is somewhat related to the way my mobile phone OS (Sony Erricson) annoys me. I leave my phone on silent 98% of the time - unless i'm expecting a call basically, and if i get a missed call i'll phone that person back, or sms them or email them at MY convenience. But my mobile shows a red icon and a splash screen saying basically "OMG YOU MISSED A CALL!!" and i have to open an option menu, scroll down three items and select "Dismiss" to make the splash and icon go away, it then says "ARE YOU INSANE!? IF YOU DON'T RING THEM BACK RIGHT NOW CIVILISATION MIGHT END!!?!?".
And I click "Yes, Fuck Off"
There's a Ray Bradbury short story about this, it's a good few decades old so muses about intercoms, fax machines and telephones but it ends with a guy sitting at his desk not getting any actual work done because he's constantly switching between them, all to the background of muzak. Sound familiar?
If you don't risk failure you don't risk success.
"Notifications are only for things which you can safely ignore or miss out on." Fred explains well -- do not display anything that nobody needs to see.
The best portion of this proposal is everything using Mark's API can be safely disabled completely. The bad is wasting effort on something completely useless. The worst result is splitting the interface for applications communicating with people. This interface does not allow actions, therefore any communications requiring actions must use a different interface so using this project requires multiple interfaces for communicating with people.
Programmers were (and most are still) not trained about usability. A good interface for a messaging system would have been easy if dialog boxes with standardized buttons had not become common. Windowing systems also kept the modal model from the single-thread paradigm. Multi-threading has been used for performance rather than interfacing with people.
Specifications: Only the front-end application can force message window to front. Applications can check whether a message was answered and receive the answer, preferably asynchronously, but people can switch applications freezing the current application if the response was mandatory and urgent. System may limit frequency of additions and checks by applications to prevent overloading. Every message appears in list interface and log(s). Reactivating a message moves to the top of list. List remembers first time, last time, and number of appearances. People can remove messages from list without using application-defined actions (to prevent fear that application dialog box's close action has other consequences.)
The new API is simple. Only the first string is required in each function. Answers are the text of the parameter (so changing the order has no other effect.)
Synchronous (application waits for answer, gaining focus automatically reopens message):
action = ask_wait("Question", "Action1", "Action2", "Action3");
Asynchronous (application can continue):
ask_log("Question"); - Add to list without move messaging to front, and continue.
id = ask_new("Question", "Action1", "Action2", "Action3"); - Add question, move to front, and continue.
ask_again(id); - Move question to top of list and move messaging to front.
action = ask_get(id); - Empty string if no answer.
Should be easy to create library for use with Gnome, KDE, and Win32. Simplification includes:
- Window title cannot be specified.
- One standard font without decorations. This avoids Gnome's practice of using bold for the first line so the critical question at the end is less visible.
- No images. Some systems add icons to indicate type of dialog. These types are unnecessary. People only care if they need to choose an answer.
- Text is required for actions, hopefully ending the reign of OK|Yes|No|Cancel dialogs.
Future possibilities include:
- Filter/sort list by application and whether actions exist.
- Incorporate the messaging system as a status bar in applications.
An early version of this text was posted on the original article. The comment either will not appear until moderated or failed moderation. My website contains an expanded version.
I spend my life entertaining my brain.
Welcome to the internet, where people are not always trying to be as serious as you.
"linux is just DOS with a UNIX like syntax" -- Galactic Dominator (944134)