Take the 2-minute tour ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

Every so often I accidentally click on an icon in my dock, when I meant to click on the icon next to it. The application chugs into action, slowing down my computer a bit, and I have to wait until it's launched until I cancel it. It's all mildly irritating.

I'm sure I can't be the only one to experience this, but Apple don't seem to want to do anything about it. Do you think this is because there's no elegant solution, or can you think of something?

share|improve this question
    
Wow, I am not the only person having this issue. +1 for good question :-) –  greenforest May 18 '12 at 7:45
    
Not that this is an elegant solution to the problem, but what I usually do is just right click and force close as soon as I accidentally click on an icon. –  Tim May 18 '12 at 14:16
    
Could it be that The magnification effect creates an illusion of a larger clickable area? However, because of the drifting of the neighboring icons, it is just as wide as before the magnification. –  Kris Van Bael May 19 '12 at 7:43
add comment

3 Answers

This is not unique to Mac OS. Windows 7 'pinned' applications, and Ubuntu app bar both have this same problem. While technically it would be nice to have a 'Cancel Launch' choice if you right clicked, the practical issue is that terminating a program mid launch is dangerous; the programmer who wrote the application is very unlikely to expect you to change your mind like that. Half-initialized data structures could be left dangling. Cleanly handling an aborted launch is heavily on the application developers side, and the OS developer can't tell which apps are safe to terminate early and which are not. Due to this, it's unlikely to see it anytime soon.

So it's not technically feasible to interrupt a launch in progress. But there is one way I've seen made popular by tablet interfaces: if a user clicks near a border, ignore the click. In other words, make the click targets smaller, closer to the middle of the icons, and borders become a 4-10 pixel 'no man's land' where clicks are ignored. This greatly helps in inaccurate touch devices, but it can easily be adapted to this use case as well.

share|improve this answer
    
Note that actually some Microsoft Office 2010 applications handle this and DO have a cancel button on the splash screen. So it is possible, but maybe not always feasible. –  GotDibbs May 18 '12 at 0:58
3  
This is exactly what I said; it is on the app developer side, the OS cannot assume a program launch can be aborted. In this case the Office team coded in launch canceling; that doesn't mean the Windows OS team can. –  Myrddin Emrys May 18 '12 at 1:15
    
Must've misread, thanks for clarifying! –  GotDibbs May 18 '12 at 1:59
add comment

As others have pointed out, it's unsafe to force-quit an application during its initialization phase. So I would allow the user to right-click on a bouncing application icon while it loads, and allow them to select Quit (rather than Force Quit). I would then stop the bouncing animation and buffer the Quit event until the application finishes launching, and as soon as it's finished lanuching, send it a clean Quit message. This should prevent the application from ever actually appearing or drawing any windows or consuming any resources other than what it needs at startup. This won't prevent disk activity and memory allocation during startup, but would save the user the hassle of having to switch to the application and manually quit it.

share|improve this answer
    
Nice suggestion –  Kris Van Bael May 19 '12 at 7:31
add comment

I would have the window manager hide the application and issue a SIGTERM to it. This is an implemented-practically-everywhere Unix signal that tells the application to shutdown cleanly, whatever its state.

Because the application is hidden, the user doesn't need to know that it is in the process of shutting down. It doesn't solve the issue of the disk read / cpu usage, though.

share|improve this answer
    
You could also "nice" the process, limiting the amount of CPU time it's allowed to consume and the amount of disk access it's permitted. This would mean it would not have such an impact on the rest of the system, but would take longer to clean up. –  Peter Bagnall May 18 '12 at 23:44
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.