TweetFollow Us on Twitter

An Interview with Geoff Perlman

Volume Number: 20 (2004)
Issue Number: 6
Column Tag: Interview

REALbasic Best Practices

by Guyren G Howe

An Interview with Geoff Perlman

Talking with the CEO of REAL Software

Recently, I sat down with Geoff Perlman, the CEO of REAL Software, for a brief interview about REALbasic.

[Guyren] Tell us a little of your personal and professional background.

[Geoff] Alright, well let's start with computers.

I'd come home from school, and I'd want to watch reruns of MASH. The reruns of MASH came after Star Trek, so I ended up liking Star Trek. Well, computers for me were the closest that I could get to Star Trek in real life, so that's what got me interested in computers.

Initially, my Dad brought home a Texas Instruments portable terminal, and they had BASIC on there, so we could program in BASIC. Then, I got into programming Applesoft BASIC. And then, when the Mac came along, I convinced my brother who had a limousine business that I would write him a program to track all his orders. It took me six months to write it. I could write it today in REALbasic probably in a day, or less.

After high school, I went to work for AT&T for a couple of years. Our office was about 300 people, and they would do the break schedules manually, which would take a manager one whole day per week. Well, I said to one of them, "I can write a program to do this". So, I spent several weeks writing this program, and it got to the point where they could press a button, and out came the schedule.

That led to all kinds of other opportunities. Later, I went to work for myself, doing 4D consulting. I did that until 1990, went to work for 4D for 4 years, went back to consulting with 4D for a while, and then in late '97, came across CrossBASIC.

I downloaded CrossBASIC, found it really interesting, contacted Andrew [Barry], found out that he was not really working on it full time. I asked if he wanted to. He said yes. I put a business plan together, and off we go with CrossBASIC becoming REALbasic, and you know the rest of that.

On to some questions about business today. How are your licenses distributed, between Mac and Windows and both, people who get professional, standard...?

[After the interview, Geoff sent me a breakdown of recent sales, which he says are 80 percent commercial, 20 percent academic; 74 percent standard, 26 per cent professional; 77 percent Macintosh, 23 percent Windows.]

So how does REAL Software go about deciding what new features to have in a release?

That's a good question. Part of it is sort of our long-term strategic vision for the product. That's a big part.

Is that very detailed, or is it just sort of a broad concept?

We start with something that's very broad, and we know that there are pieces that need to be implemented to make that vision happen. So, for example, with our new database engine; ultimately, we'd like the REALbasic database engine to stand up there with just about any database engine. But right now, it's fairly basic, no pun intended....

A database engine is a non-trivial thing to do; I'm a little surprised you haven't tried to license something instead for that.

We looked at licensing, and we even looked at acquiring a few engines, and that just never seemed to work out. So, ultimately, we decided, let's just write our own engine. We try to create layers of technology so that we can give benefits to the customer in pieces. For example, with the database engine, the first thing we did was we created the virtual volume. It was a deliverable that was a foundation for the database engine.

Just as RBScript was the first step toward the new compiler.

Exactly right. RBScript was the first deliverable.

Another big part of what drives the feature set is the feedback system. We go into the feedback system, we find all the feature requests, sort them by the number of people that have reported the feature request, and then we start looking down the list, and we basically start asking ourselves, bang for the buck, what are the best features? I mean, support for Palm is high up on that list, but we're not ready for that, so there's no point in us banging our heads against the wall trying to make that happen. That will happen down the road.

Is there also any room for engineers to add their own sort of creative concepts?

Sure. The new IDE for version 6: that wouldn't have happened if I hadn't pushed it. The way the new IDE happened was that there were just a lot of variables that came together that made me realize that we were at a point now where it's fish or cut bait.

We'd planned two large features for 5.5. If we did them, that was an even bigger investment in the current IDE. We knew we wanted to port the IDE to Linux. That was going to be another big investment in the IDE, so I knew that if we didn't port the IDE to REALbasic now, it probably was going to become prohibitively expensive to ever do it in the future.

Would you care to say what those two features were?

Yes, one is version control, and the other is visual printing, laying out something that you want to print visually rather than having to do it all in code.

So what has been the most interesting thing that has happened in the last six years?

When Andrew departed, it was an interesting experience to rebuild the engineering team. It also became clear to me as I started down that road that we had to grow up as a company. We didn't have enough formal processes in place, so we became a more mature company as a result.

That was really interesting, because it felt like such an unknown to me. How quickly would we build a new team? How well were they going to work together? Were we going to go through a lot of turnover in that process?

What about difficulties? That sounds like that was a pretty major difficulty.

Probably the thing that was the most difficult is that it's surprisingly difficult to create a culture in a company.

I was going to ask you about that. You've done a very good job [with the] user community. Did you set out with a deliberate vision of culture within the community and the company?

It was all the things I wished a software company did when I wasn't running a software company.

And that's pretty much worked out the way I wanted it to. I think part of that too is that it's easy to say well, that doesn't scale, as you grow you're not going to be able to be as communicative, you're not going to be able to answer email questions from individual customers. Well, if you believe that, then that's right.

Tell us more about the culture of the community and the company.

As we've grown, I've felt that it's important for us to continue to be really close to our users. A lot of companies have that closeness when they're very, very young. And as their product and their company matures, they kind of back off from that, believing that they can't do that any more. I don't believe that.

Any customer, for example, who orders our product and bothers to write something in the comment field, will get a response from me, personally. People are shocked. They can't believe that anyone read the comment, they figured it just goes into a bucket somewhere. They can't believe they got a response to the comment. They can't believe they got a comment so fast, and they can't believe it's coming from the CEO. They're just amazed.

Scott Cook, who's the chairman of the board for Intuit, was once CEO, President, founder and all that; I don't know if he still does this, but I know that when he was CEO, he would spend a few hours every week doing tech support for Quicken, because he wanted to stay in touch with customers. I think that was really smart.

In terms of our culture inside the company, I really like consensus, so if I suggest something and the consensus is no, this isn't a good idea, unless I feel very, very strongly about it, I'm going to let it lie. Now, if I feel very strongly about it, then I'm going to try to continue to hammer on it to achieve consensus.

Is there anything you'd nominate as being the most satisfying?

There are two things that have been the most satisfying. The first is, it's really, really satisfying to provide people with something that's so enabling for them. That allows them to do something that they felt they could never do before. We get comments on a daily basis, from people saying I could never have done this. I have a whole new career, I'm so proud of myself for doing this or that.

The second thing is that in the past, I've either worked for myself as an independent consultant, or I've worked for a company. And I saw how the company operated, and I had my ideas about how it should be changed to operate better. And a lot of that was just my thoughts, I had no idea if those things would really work. And in that respect, REAL Software has been an experiment in my own vision for how a software company should run.

Is there anything you wish you'd done differently?

Well, okay, so here is how I feel about that whole idea of looking back, about I wish I'd done this or that: life doesn't work that way. Every decision you make leads to a new set of variables, leads to a new scenario. Your life takes a different path.

For me, I see an ad in MacWeek magazine, a tiny little ad for 4D, saying they were looking for tech support people.

So I sent them my resume. And that led to Silicon Valley, which led to my life in the computer industry. Chances are, had I made a different decision at that moment, I wouldn't be doing what I'm doing today. I wouldn't have moved to Texas, I wouldn't have met my wife. So, would I have done anything different? My attitude toward this is that if you like the way things are now, then you can't look back in hindsight and say you wish you did anything different.

So I know that's kind of a philosophical answer, but it's the way I really feel about all kinds of things.

Now the compiler is done....

Wait wait wait. The compiler is never 'done'.

Now that you've implemented the same features you had in the old compiler...

We've switched the compiler, yes.

...can we expect any interesting new language features, perhaps something novel like Events?

One of our reasons for implementing the new compiler was we needed a better way to extend the language. The old compiler was a hand-written parser, and that led to lots of ambiguities in the language. The new compiler is written using Bison, which creates a very consistent language, and that was our first goal, to get that out and just get parity of the language. Now that we've done that, there are all kinds of things that we think about adding. And, we've already done some of them -- if you look at the release notes for 5.0 and 5.5, there are new language features in there.

Nothing really major, though.

There are bigger fish to fry at this point. We have optimizations we want to put in, support for different back ends, native linkers for Linux and Windows, that kind of stuff. So right now, you're seeing kind of smaller language features that are going into the product, only because there are more important things that we've just decided must come first.

For example, the way we handle resources on Windows is limited by how we do our linking on Windows. We need a native linker for Windows, rather than the sort of boot-strap linker we have now, in order to solve the resource problem. So you'll see more, bigger language features in the future than you're seeing now.

I'd like to go back to something that I'd like you to expand on very briefly: just what is your long term vision?

The long-term vision for REALbasic is for people to be able to use one language, one IDE, one framework, and be able to create any kind of software they want and deliver that on any platform they need.

Right now, we deliver on Mac, Windows and Linux, but there are other platforms, PalmOS, Pocket PC, Symbian OS for cell phones. Right now, we deliver just desktop applications, and now console applications in 5.5. But there are other formats that software comes in. At the [REAL World] conference, we showed off a new product code-named Swordfish, for building web applications. We want our users to be able to build PDA, or handheld device applications. We want them to be able to build plug-ins for other products.

And this is for three reasons. One is that it makes sense for there to be a single environment, language and framework, that you can use for writing whatever kind of software you want, but we've come far enough with computers, and software that you should be able to use a higher-level language to do that.

Also, people invest a lot of time learning a language, and learning a framework, and learning an environment, so the more things they can do with that, the more confident they are going to be that they've made the right choice in learning that environment, which is only going to help the user community grow.

Lastly, all those ways to deliver software that we give our customers are potential entry points for people that aren't using our product now. For example, if you have no interest in building desktop applications, we can't get you as a customer today. But, when we ship Swordfish, if you're interested in building web applications, that may be how we get you as a customer. Or maybe you look at REALbasic and you say, if I learn this, not only can I build web applications, but I can also build desktop applications. So you may have come to us with only one very narrowly defined need, but then your confidence in choosing us grows because you realize that that investment of your time and energy is applicable to lots of other areas.

So that's kind of what the vision is for the product.

Do you get a lot of people coming from VB?

Oh, yes. Recently, Gartner Group did a poll of like a thousand VB users, and found that 43% of them were looking for an alternative to VB.net. They're looking at Java, they're looking at other things. Hopefully, if we can get the word out more in the Windows community, they'll be looking at us.

While we're on the subject of Microsoft, I just wondered about the Office API. As I understand it, some of the add-ons you get when you get Microsoft Office are actually written in REALbasic, is that right?

Yes, they do a lot of prototyping at Microsoft using REALbasic. And Microsoft Query for Mac OS X is written in REALbasic. The Welcome App that tells you about the features and the software license and so on, that's written in REALbasic. They would actually like to be able to write Office plug-ins in REALbasic, but we don't support that yet.

That's really surprising; it doesn't sound at all like Microsoft. Who came to whom?

That all started when we shipped Version 1 at Macworld in New York, July 1998. We were sitting there in our little ten by ten booth, pitching REALbasic. And these two guys from Microsoft on the very first day of the show, come walking into our booth, and I'm just thinking the worst.

They introduce themselves and they say that they're with the Mac Business Unit at Microsoft, and we'd like to talk to you guys about working together to make your product talk to our product.

So they came to you.

They came to us, at the trade show. And I was totally shocked. I thought this is the last thing they were interested in. And later, as they were porting Office to Mac OS X, we talked about adding Office support, but it was a big job, and we always had bigger fish to fry. So when they started doing the port for Mac OS X, they weren't totally confident that they were going to port the VBA code to Mac OS X. Their thinking was that maybe we can get the guys from REAL Software to provide this functionality, and then if the port of that VBA code doesn't go very well, we can shift over to using REALbasic.

As it turned out, that port actually went fairly smoothly. So they went ahead and ported the VBA stuff, but they really did not want to promote the VBA stuff. We existed, they wanted us to provide a solution, and they wanted to point people to us. They figured we were going to do a better job in that space than they were going to be able to do. And because we're going through their library directly, the APIs are 99% the same. You could go buy a book at Amazon on VB or VBA, and chances are just about all that code is going to work in REALbasic just as it is in the book, and be cross-platform.

You've mentioned hand-helds and plug-ins. Are you prepared to say anything about the time frame for any of that stuff?

Not really. It's likely to be the next thing that we take on after Swordfish. I mean, we certainly want to do it sooner rather than later. We don't generally talk in much detail about what we're going to do in the future, because we prefer to under-promise and over-deliver.

What about community features? As I say, I think you've done a great job so far of building community around REALbasic, but there are some things that it seems to me could be improved. For example, although I think RB Garage does a pretty good job, it may be better if something like that had the imprimatur of the company. Are there any other sort of community features you're working on?

We've talked about a code library in the past. Our general feeling is that we prefer places like RB Garage to do that. I think that places like RB Garage, if they stay on track, they could become that.

On the other hand, we've talked about building a feature right into the IDE that would access a server here at REAL Software, where people could contribute code, and we could indicate that we reviewed it, and they could type in a few keywords, and have it find some function that they've needed. We've also talked about building a chat application into the IDE, so that if you wanted to ask a question, you could go to this chat application and it would say that there were 40 REALbasic experts online, and you could type in a question, so that people in our community that want to help each other don't have just the list in order to do it. They would have a more instant interaction.

Well, thanks for the interview. Is there anything that you'd like to say to the readers of MacTech?

I guess what I would say is that if you have any impressions of what you think REALbasic is, and you haven't really given it a thorough run through, you really should look at it. A lot of people who are C and C++ programmers hear the word BASIC and they think it's a toy language, that it's interpreted, and so on. Well, it's not a toy language, it's as object-oriented and as powerful a language as Java. It's machine code compiled, and you'll be able to do practically anything you were doing in C++ a lot faster in REALbasic, and on more platforms. But you have to be willing to look at a new language, and get past the name BASIC, and leave behind all of your prejudices or preconceived notions about what you think BASIC is, and what you think REALbasic is, because chances are, it's not anything like what you expect.

The engineers here at REAL Software are all C++ guys. But in general, they all prefer to code in REALbasic now, because they can simply work faster than they can in C++. And they're all extremely talented C++ programmers, so it's not that they're lacking in that respect.

Thanks.

You're welcome.


Guyren G Howe works in artificial intelligence research after years of work as a technical writer and developer. He is married with one child, is an Australian, and lives in Austin, Texas. Guyren has been working with REALbasic for several years. Most notably, he wrote the REALbasic Curriculum Project, an extensive computer science curriculum, for REAL Software (available from the REALbasic website).

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Latest Forum Discussions

See All

Pack a magnifying glass and practice you...
Somehow it has already been a year since Torchlight: Infinite launched, and XD Games is celebrating by blending in what sounds like a truly fantastic new update. Fans of Cthulhu rejoice, as Whispering Mist brings some horror elements, and tests... | Read more »
Summon your guild and prepare for war in...
Netmarble is making some pretty big moves with their latest update for Seven Knights Idle Adventure, with a bunch of interesting additions. Two new heroes enter the battle, there are events and bosses abound, and perhaps most interesting, a huge... | Read more »
Make the passage of time your plaything...
While some of us are still waiting for a chance to get our hands on Ash Prime - yes, don’t remind me I could currently buy him this month I’m barely hanging on - Digital Extremes has announced its next anticipated Prime Form for Warframe. Starting... | Read more »
If you can find it and fit through the d...
The holy trinity of amazing company names have come together, to release their equally amazing and adorable mobile game, Hamster Inn. Published by HyperBeard Games, and co-developed by Mum Not Proud and Little Sasquatch Studios, it's time to... | Read more »
Amikin Survival opens for pre-orders on...
Join me on the wonderful trip down the inspiration rabbit hole; much as Palworld seemingly “borrowed” many aspects from the hit Pokemon franchise, it is time for the heavily armed animal survival to also spawn some illegitimate children as Helio... | Read more »
PUBG Mobile teams up with global phenome...
Since launching in 2019, SpyxFamily has exploded to damn near catastrophic popularity, so it was only a matter of time before a mobile game snapped up a collaboration. Enter PUBG Mobile. Until May 12th, players will be able to collect a host of... | Read more »
Embark into the frozen tundra of certain...
Chucklefish, developers of hit action-adventure sandbox game Starbound and owner of one of the cutest logos in gaming, has released their roguelike deck-builder Wildfrost. Created alongside developers Gaziter and Deadpan Games, Wildfrost will... | Read more »
MoreFun Studios has announced Season 4,...
Tension has escalated in the ever-volatile world of Arena Breakout, as your old pal Randall Fisher and bosses Fred and Perrero continue to lob insults and explosives at each other, bringing us to a new phase of warfare. Season 4, Into The Fog of... | Read more »
Top Mobile Game Discounts
Every day, we pick out a curated list of the best mobile discounts on the App Store and post them here. This list won't be comprehensive, but it every game on it is recommended. Feel free to check out the coverage we did on them in the links below... | Read more »
Marvel Future Fight celebrates nine year...
Announced alongside an advertising image I can only assume was aimed squarely at myself with the prominent Deadpool and Odin featured on it, Netmarble has revealed their celebrations for the 9th anniversary of Marvel Future Fight. The Countdown... | Read more »

Price Scanner via MacPrices.net

Every model of Apple’s 13-inch M3 MacBook Air...
Best Buy has Apple 13″ MacBook Airs with M3 CPUs in stock and on sale today for $100 off MSRP. Prices start at $999. Their prices are the lowest currently available for new 13″ M3 MacBook Airs among... Read more
Sunday Sale: Apple iPad Magic Keyboards for 1...
Walmart has Apple Magic Keyboards for 12.9″ iPad Pros, in Black, on sale for $150 off MSRP on their online store. Sale price for online orders only, in-store price may vary. Order online and choose... Read more
Apple Watch Ultra 2 now available at Apple fo...
Apple has, for the first time, begun offering Certified Refurbished Apple Watch Ultra 2 models in their online store for $679, or $120 off MSRP. Each Watch includes Apple’s standard one-year warranty... Read more
AT&T has the iPhone 14 on sale for only $...
AT&T has the 128GB Apple iPhone 14 available for only $5.99 per month for new and existing customers when you activate unlimited service and use AT&T’s 36 month installment plan. The fine... Read more
Amazon is offering a $100 discount on every M...
Amazon is offering a $100 instant discount on each configuration of Apple’s new 13″ M3 MacBook Air, in Midnight, this weekend. These are the lowest prices currently available for new 13″ M3 MacBook... Read more
You can save $300-$480 on a 14-inch M3 Pro/Ma...
Apple has 14″ M3 Pro and M3 Max MacBook Pros in stock today and available, Certified Refurbished, starting at $1699 and ranging up to $480 off MSRP. Each model features a new outer case, shipping is... Read more
24-inch M1 iMacs available at Apple starting...
Apple has clearance M1 iMacs available in their Certified Refurbished store starting at $1049 and ranging up to $300 off original MSRP. Each iMac is in like-new condition and comes with Apple’s... Read more
Walmart continues to offer $699 13-inch M1 Ma...
Walmart continues to offer new Apple 13″ M1 MacBook Airs (8GB RAM, 256GB SSD) online for $699, $300 off original MSRP, in Space Gray, Silver, and Gold colors. These are new MacBook for sale by... Read more
B&H has 13-inch M2 MacBook Airs with 16GB...
B&H Photo has 13″ MacBook Airs with M2 CPUs, 16GB of memory, and 256GB of storage in stock and on sale for $1099, $100 off Apple’s MSRP for this configuration. Free 1-2 day delivery is available... Read more
14-inch M3 MacBook Pro with 16GB of RAM avail...
Apple has the 14″ M3 MacBook Pro with 16GB of RAM and 1TB of storage, Certified Refurbished, available for $300 off MSRP. Each MacBook Pro features a new outer case, shipping is free, and an Apple 1-... Read more

Jobs Board

*Apple* Systems Administrator - JAMF - Activ...
…**Public Trust/Other Required:** None **Job Family:** Systems Administration **Skills:** Apple Platforms,Computer Servers,Jamf Pro **Experience:** 3 + years of Read more
IT Systems Engineer ( *Apple* Platforms) - S...
IT Systems Engineer ( Apple Platforms) at SpaceX Hawthorne, CA SpaceX was founded under the belief that a future where humanity is out exploring the stars is Read more
Nurse Anesthetist - *Apple* Hill Surgery Ce...
Nurse Anesthetist - Apple Hill Surgery Center Location: WellSpan Medical Group, York, PA Schedule: Full Time Sign-On Bonus Eligible Remote/Hybrid Regular Apply Now Read more
Housekeeper, *Apple* Valley Village - Cassi...
Apple Valley Village Health Care Center, a senior care campus, is hiring a Part-Time Housekeeper to join our team! We will train you for this position! In this role, Read more
Sublease Associate Optometrist- *Apple* Val...
Sublease Associate Optometrist- Apple Valley, CA- Target Optical Date: Apr 20, 2024 Brand: Target Optical Location: Apple Valley, CA, US, 92307 **Requisition Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.