CocoaDev

Edit AllPages

JustWork is Apple’s overriding philosophy. A piece of software or hardware JustWorks when you can open it, turn it on, plug it in, etc. and it simply starts working the way it should; it Just Works. If something JustWorks it means that there is no configuration hell, no long setup procedures, and no unexpected snags.

From a user perspective, a great deal of Mac OS X falls under the JustWork philosophy, although there’s still a lot that needs improvement. Cocoa likewise often JustWorks, but has a lot of areas that don’t.

From a developer’s point of view, the important point that the user does not want to think about your program any more than absolutely necessary. For example, new developers have a tendency to throw stuff into preferences rather than think about it. Often a design is possible that obviates the need for a preference. New developers also seem to be more prone to introduce special cases of one sort or another. In many instances, special cases pull against JustWorks because they require the user to recognize the special case and the effect it has on the program.

Lastly, a developer needs to recognize that every custom control is something new for the user to learn. If the payoff from the custom control is high enough, then that’s great, but it’s necessary to see the cost as well. Here subtler features come in as well: If you make a custom control, it needs to clearly, transparently different from standard controls. Otherwise the user will treat it the same as the standard control on which it’s based, and be confused when behavior doesn’t match up.


Discussion of the JustWork Idea

I fully agree. Since the users should never see your code (unless they’re curious like us), everything has to be available and easily accessible through the interface. Basically, if you find yourself saying “I could do this a better way for the user, but this is quicker,” stop and do it the better way. This avoids the time you’ll spend in the future fixing it to do what you should have done originally. Finally, remember that JustWork is a user-based philosophy. Even if it’s a daunting programming task, your goal is to make your entire program both powerful and easy for the user to use in the end. –JediKnil


Discussion of Page Value

Is this page actually useful? Did someone smash the words “just” and “work” together then fill in the new page out of habit? From an editorial POV it seems like rather a dead-end page to have around: no useful information here, none we can add, and no reason to follow the link because everyone knows what “just work” means already.


I think MS just announced that “It Just Works” will be part of Longhorn’s marketing. Other than that, I can’t think of a single reason this page was created.


It’s linked to from MetaDataWithSpotLight. That’s about it, it seems. I’ve marked the page as deleted (which as you all know means nothing unless Steven passes by anyway, so don’t panic).


There is useful information that could go here; when talking to developers that have recently come to Mac OS X from UNIX, I’ve noticed that they haven’t always internalized the JustWork philosophy.


I wrote the original page. I believe that JustWork should be our overriding philosophy as well when developing Mac applications, and so I think that it deserves a page on the site. We have, for example, a GraphicalUserInterface page, and I’m pretty sure even the most clueless non-Mac developers know what that is. In any case, I’m not cocky enough to delete the DeleteMe entry to my own page, so I’ll let the WillOfThePeople decide it. – MikeAsh


Done and done. – DustinVoss