Re: What is NSAnimationSlowMotionOnShift?
Re: What is NSAnimationSlowMotionOnShift?
- Subject: Re: What is NSAnimationSlowMotionOnShift?
- From: Bill Cheeseman <email@hidden>
- Date: Thu, 25 Sep 2014 14:25:52 -0400
On Sep 25, 2014, at 1:37 PM, Kyle Sluder <email@hidden> wrote:
> To a rough approximation, everyone uses every feature all the time.
I have to say that I missed your point on that one. In the years since Steve Jobs showed off the slow motion feature, I've never heard of anybody complaining that the keyboard shortcut for creating a sticky note took too long because they tried to minimize a window to the Dock using the mouse at the same time. I'll bet I'm the first person in the history of the human race that ever actually did that. I even Googled it to see.
> And it's a rather poor design to explicitly implement a feature like a
> shortcut key and then punish its users by not thinking about its
> interactions with other parts of the system.
Agreed. The Xcode conflict that Alex pointed out is a conflict within a single application. The Xcode team is huge, I'm sure, so it's probably hard to root out this sort of issue. But it is at least theoretically possible, and I know they try hard. It deserves a bug report.
However, keyboard shortcuts are inherently prone to interference, especially between executables written by separate developers. There are only so many key combinations available, and the Services feature of Mac OS allows independent developers to build services that are not application-specific and that can use what amount to global shortcuts. There may be others. I have long been annoyed by the fact that the venerable and useful CalcService product uses Cmd-+ to add numbers, blocking the use of Cmd-+ in applications like TextEdit to increase font size. That use of Cmd-+ by text editors (I guess it's a system feature) is well known and the CalcService developer should have caught it. But other potential conflicts across applications are inherently undetectable during development given the size of the developer community and the number of available products.
There is an even more difficult problem in the case of global hot keys. One of my products implements two global hot keys. I spent a long time choosing hot key combinations that did not appear to be in use by other products and that complied with Apple's rules for off-limits key combinations. Nevertheless, after almost ten years on the market, my product ran into a conflict with another product's newly implemented hot key. The other product had so much commercial weight behind it that I didn't even bother protesting; I just changed my hot key in my next release.
My point here is that the mere possibility of a keyboard shortcut conflict should not lead us to abandon keyboard shortcuts in services, because they're so useful. For the same reason, I don't see the possibility of a conflict as a sufficient reason to remove the slow-motion-on-shift effect from my applications or from Apple's Minimize button. I do agree that reasonable effort should be expended by the developer to think through the potential issues and code around them. In the case of my global hot keys, I included a preference setting allowing the user to change the global hot keys at will. Apple does the same in System Preferences with hot keys for system features. I suppose I could consider including a preference to turn off the slow-motion-on-shift feature, but that will run up against Apple's design guideline to avoid over-doing preference settings relating to trivial details. If I had to balance that design guideline against the likelihood of a shift-key based keyboard shortcut conflict, I think the design guideline would prevail.
--
Bill Cheeseman - email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden