Skip to Content

C4 Tip: Drag-and-drop text in Cocoa apps

During The Grube's UI presentation at C4, he pointed to one particular example of "functional inconsistency" in Apple's software: the discrepancy in results when you drag-and-drop text in Carbon apps (TextWrangler, AppleWorks, etc.) vs. Cocoa apps (TextEdit, Safari, etc.).

When you select text in Carbon applications, you're able to drag the text by simply clicking the selection and dragging it. In Cocoa apps, however, you need to click the selected text and hold the mouse button down for a fraction of a second before you're able to drag it. Your cursor changes from the text selector to the pointer. But clicking and immediately dragging results in you re-selecting the text.

The Cocoa differentiation is a result of NeXT designing a way to enable both dragging and re-selecting, which was carried into OS X.

It's a minor inconsistency, but has frustrated me countless times. Glad that's all cleared up.

Thanks John!

Categories

Software Other Events Apple

During The Grube's UI presentation at C4, he pointed to one particular example of "functional inconsistency" in Apple's software: the...
 

Add a Comment

*0 / 3000 Character Maximum

12 Comments

Filter by:
John Calsbeek

The cross-platform compatibility I referred to was the fact that Carbon uses a C API, like most other platforms today, whereas Cocoa uses Objective-C with Apple-specific extensions. Carbon is much closer ground to most other platforms; porting to the Mac is often done through it.

October 23 2006 at 11:03 AM Report abuse rate up rate down Reply
Macskeeball

John, the (optional) cross platform compatibility of Carbon you mentioned referred to compatibility with both Mac OS Classic and Mac OS X. It doesn't mean that Carbon apps can run on Windows or Linux, etc. Another reason some developers like Carbon is that it's somehow similar to programming for OS 9 (relatively minor modifications required to Carbonize a Classic app).

Mr. Lizard, my limited understanding of it is that Carbon and Cocoa are both APIs (application programming interfaces) that developers use to make programs for Mac OS X. As mentioned in the previous paragraph, Carbon has the (optional) ability to run on both Mac OS X and Mac OS Classic and is also easier to port from mac OS Classic with. On the other hand, Cocoa provides a lot of features (spell checking, font panel, find and replace, and a lot more) without the developers having to do much work (if any). Carbon can access those same features, but it's more work.

October 22 2006 at 10:08 PM Report abuse rate up rate down Reply
Mr Lizard

Excuse my ignorance- what is there difference between a Carbon app and a Cocoa one?

October 22 2006 at 6:35 PM Report abuse rate up rate down Reply
John Calsbeek

I'd just like to point out that there is very good Carbon-Cocoa integration in Mac OS X. Carbon can fairly easily access Cocoa controls and interface widgets. The disadvantage is that's not cross-platform—which is, I think, a major reason to develop in Carbon.

Cocoa is an excellent way for Mac-only applications to reach their full potential quickly, which is why it's generally become synonymous with "pretty" Mac applications.

October 22 2006 at 1:32 PM Report abuse rate up rate down Reply
twin

Did anyone of you work in Windows? It has exactly the same problems....

October 22 2006 at 9:26 AM Report abuse rate up rate down Reply
bikeham

I have found that cutting and pasteing is inconsistent in some apps. If I want to paste a note into the address book, the right click/paste doesn't work.

October 22 2006 at 8:16 AM Report abuse rate up rate down Reply
Martin

You can decrease the time you have to wait. See http://www.macosxhints.com/article.php?story=20051121074003638

October 22 2006 at 7:17 AM Report abuse rate up rate down Reply
The Hater

Holy hell, you can't mean that...

...

Okay, you meant it. F**king hell, why did they do that? Someone dosed rather heavily before their usability design session...

October 22 2006 at 12:40 AM Report abuse rate up rate down Reply
Macskeeball

Ryan, Camino uses Cocoa for the app's UI itself, but not for the content area. The content area uses Gecko.

October 22 2006 at 12:39 AM Report abuse rate up rate down Reply
Appleologist

The Cocoa interface really is what makes OS X so different from Windows and other OSes. Its the "alive" and clean feeling you get when you use a Cocoa app that makes Mac OS X so special.

There are rumors that 10.5 Tiger will significantly improve the interface of Carbon applications and unify the experience, for applications such as Adobe Creative Suite and Microsoft Office. But until then, I suggest finding Cocoa alternatives to Carbon applications.

October 21 2006 at 11:07 PM Report abuse rate up rate down Reply
Buy an ad here

Hot Apps on TUAW

Tweets

© 2012 AOL Inc. All Rights Reserved.