The Interface Mafia
NewsAbout UsArticlesReviewsSubmit SoftwareLinksThe Mafiosi

The Art of Interactive Web Site Design

by Amar Sagoo

Part 1: Introduction

With release 3.0 of REALbasic, REAL Software gave us a way of compiling Carbon applications, opening the floodgates for a host of new and existing software to come to Mac OS X. Although I was eager to get my hands on this and start porting my projects, one of my first thoughts was "I bet we're going to see a lot of ugly software." Unfortunately, this fear became reality, and what we have today are many products that are blatantly designed without consideration of Mac OS X's unique features and just don't fit in with those ones that "feel good."

For one of my own projects, I have made it a primary goal to make it look and feel like a native Mac OS X application. I quickly found that REALbasic lacked many of the features needed to achieve this. There were also many features I had seen in Cocoa applications that I desperately wanted to include but that I knew were not easily available to Carbon developers. Lastly, REALbasic had some issues that seemed to make it impossible to get rid of that quick-Carbon-port-look. (Aqua: The Grand Unified Interface (Not) discusses differences between Cocoa and Carbon interfaces.) I started my quest for work-arounds, looking for third-party solutions, writing my own custom classes and even reading C-header files in search for hooks into the deeper layers of the operating system. I also studied Apple's Aqua Human Interface Guidelines to find out exactly what makes a user interface "fit in."

I think I can say that I was successful, and even though there remain minor issues that give away the Carbon nature of my application, it looks and feels as much like a Cocoa application as I think is currently possible using REALbasic. To make life easier for other developers and, of course, to promote good interface design, I have put together this guide to squeezing the last bit of nativeness out of REALbasic, using the solutions I used and some others I found along the way.

If you know of any other solutions and tricks that you think should be in this article, feel free to let me know. Same goes for improvements or corrections to any of my suggestions.

Here's a list of topics covered in this article, in case you wish to jump to one directly:

1. Introduction

2. Essentials

3. Layout

4. Windows

5. Menus

6. Text

7. Special Controls

8. Documentation

9. Packaging

10. Limitations

 

Links

Aqua: The Grand Unified Interface (Not) by Amar Sagoo
http://www.interfacemafia.org/articles/200108/200108-ar0004.shtml

 

Next: Essentials ->


To post your comments on this article, go to the last page.

The Interface Mafia - www.interfacemafia.org
News - About Us - Articles - Reviews - Submit Software - Links - The Mafiosi

this page last updated on Thursday, December 13, 2001
site design by tobyrush.com - web space by westhost.com
follow this link for copyright information