Pioneers in Mac Development

Andrew Barry on Why REALbasic Is a Great Rapid Application Development Tool

- 2008.08.04

The Macintosh has long been the gold standard in friendliness for the end user, but what a lot of people don't realize is that the Mac can be a real pain to program for. The situation has gotten a lot better for OS X with the variety of scripting languages available and Apple's excellent developer tools.

However, there is a niche on any platform for a rapid GUI builder coupled with a high level language. Visual Basic filled this niche on Windows but on the Mac OS, REALbasic is a great choice and pre-OS X it was pretty much the only choice. If you don't believe me, fire up your old Mac and try whipping together a quick application in C using MPW and compare it to the same application in REALbasic.

In my opinion, REALbasic is a better RAD (rapid application development) tool than Visual Basic with even early versions providing decent Object Oriented support. It truly was and is a great tool for prototyping and rapid application development.

I recently had a chance to chat with Andrew Barry, the principal author of REALbasic. Andrew started development of REALbasic as a hobby project in 1995 when he was 25 years old. Popularity and features grew, and it turned into a commercial product in 1997 with it's first release on July 4, 1998.

Andrew, you are well known as the principal originator of REALbasic. Much great software has started as an "itch" the programmer was trying to scratch.

What were you trying to do with REALbasic ?

My main intent in writing REALbasic was to provide a tool that covered the same sort of use cases that Visual Basic under Windows did - a development tool that took care of the drudgery of managing windows, buttons, etc. and let you jump straight to the interesting part. The funny part is the backlash you get from "real programmers", who think that doing that drudgery builds character, or at best provides some sort of "talent filter" or "rite of passage". Of course similar arguments were made about word processors.

While I had originally developed REALbasic both for myself and other people, I ultimately found it to be too limited for my own use - I had failed to create the path between simple and powerful. I should note that I still haven't successfully scratch that itch for myself yet.

How much did developing on the Mac figure into your work? Do you wish you had developed on other platforms? What drew you to the Mac?

I've always been a big Mac fan - the first Mac I could afford was the Mac IIsi back in 1990, but I had otherwise taught myself to program the Mac on a friend's machine. The Mac has usually been the platform that I developed on for fun, and also it was the platform that was most in need of something like REALbasic.

For whatever reason, I've never pigeonholed myself as a solely Mac developer - most of my professional career has actually been spent writing Windows and Java software, and more recently I've been getting pretty capable at web development. So from that perspective I think I have a reasonable grasp of what the strengths and weaknesses of each of the platforms.

But fundamentally I appreciate the attention to detail and usability that's present in Mac applications - details that are often missing on other platforms, whether misaligned baselines or preference dialogs that intimidate.

REALbasic met a huge need on the Classic Mac OS, given the dearth of development tools for the casual to mid level programmer. For OS X, this is no longer the case, since OS X has easy access to scripting languages such as Perl, Python, and Ruby. Do you still feel that REALbasic meets a need on OS X?

Certainly the presence of a command line means that these scripting languages can be easily leveraged for batch style operations. What I'm not sure about is whether they provide a suitably integrated experience for creating a GUI.

So from that perspective, I don't think that REALbasic's niche has been supplanted by those scripting languages. The real threat facing REALbasic is the same one facing all native app development: The World Wide Web.

To put it another way, if I was starting on my career today, I'd be well advised to focus on web app technologies that are applicable to pretty well any device capable of running a web browser - as opposed to limiting myself to any given client platform.

Do you feel that programming is an art or a science?

Yes (inclusive or) - it's not a toggle or two extremes on a single axis.

You can develop software with varying amounts of either, but I'd argue that healthy dollops of both are beneficial to development.

I'd argue that art encompasses getting that clear understanding of what the end user is wanting to achieve such that the software naturally anticipates their desires.

Science involves various best practice such as automated regression testing, and separation of concerns (for example by using design patterns such as MVC).

What are you working on now ?

Lots of stuff.

My primary daytime job is being Product Architect for an international company called Haley where I do a lot of Java, .Net, and JavaScript work in the enterprise space.

I'm also doing some graphical GIS stuff for the government involving Java, .Net, and JavaScript.

Furthermore, I'm doing some web app development for another client using a combination of .Net and PHP (it's also fun, because I get to communicate with a credit card gateway)

I'm playing around with iPhone app development and/or experimenting with some different approaches for OS X development, which I have little time for because I also have four young daughters aged 12, 9, 8, and almost 3.

What excites you about the future of the Mac or about computers in general ?

A bit over a week ago I got an iPhone, which I find to be a pretty interesting device. Certainly there's a lot of commonality with OS X with regard to underlying operating system functionality, but it goes all the way back to the original concept of the Mac being an appliance. I could certainly envisage the successor to the iPhone interface being pulled back into the consumer Mac space, making them substantially easier to use/administer.

So while this is probably a heretical view, I'm excited about the prospect of the personal computer being replaced by the information appliance. Why does everybody need to understand overlapping windows, how to use the Finder, and that they should close an application when they close its last open window? LEM

Join us on Facebook, follow us on Twitter or Google+, or subscribe to our RSS news feed

Today's Links

Recent Content

About LEM Support Usage Privacy Contact

Follow Low End Mac on Twitter
Join Low End Mac on Facebook

Favorite Sites

MacSurfer
Cult of Mac
Shrine of Apple
MacInTouch
MyAppleMenu
InfoMac
The Mac Observer
Accelerate Your Mac
RetroMacCast
The Vintage Mac Museum
Deal Brothers
DealMac
Mac2Sell
Mac Driver Museum
JAG's House
System 6 Heaven
System 7 Today
the pickle's Low-End Mac FAQ

Affiliates

Amazon.com
The iTunes Store
PC Connection Express
Macgo Blu-ray Player
Parallels Desktop for Mac
eBay

Low End Mac's Amazon.com store

Advertise

Open Link