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

Ableton Live 10.1.1 - Record music using...
Ableton Live lets you create and record music on your Mac. Use digital instruments, pre-recorded sounds, and sampled loops to arrange, produce, and perform your music like never before. Ableton Live... Read more
BetterTouchTool 3.202 - Customize multi-...
BetterTouchTool adds many new, fully customizable gestures to the Magic Mouse, Multi-Touch MacBook trackpad, and Magic Trackpad. These gestures are customizable: Magic Mouse: Pinch in / out (zoom)... Read more
Fission 2.4.6 - Streamlined audio editor...
Fission can crop and trim audio, paste in or join files, or just rapidly split one long file into many. It's streamlined for fast editing. Plus, it works without the quality loss caused by other... Read more
Drama 1.0.27 - Prototyping, animation...
Drama's handy 3-in-1 functionality uniquely integrates design, animation and prototyping into a single familiar tool. No more frustrating switching between apps or learning new stuff. And by... Read more
Adobe Lightroom Classic CC 8.4.1 - Impor...
Adobe Lightroom Classic is available as part of Adobe Creative Cloud for as little as $9.99/month bundled with Photoshop CC as part of the photography package. Adobe Lightroom Classic CC (was Adobe... Read more
iExplorer 4.3.2 - View and transfer file...
iExplorer is an iPhone browser for Mac lets you view the files on your iOS device. By using a drag and drop interface, you can quickly copy files and folders between your Mac and your iPhone or... Read more
Adobe After Effects CC 2018 16.1.3 - Cre...
After Effects CC 2018 is available as part of Adobe Creative Cloud for $52.99/month (or $20.99/month for a single app license). The new, more connected After Effects CC 2018 can make the impossible... Read more
Adobe Audition CC 2019 12.1.4 - Professi...
Audition CC 2019 is available as part of Adobe Creative Cloud for as little as $20.99/month (or $9.99/month if you're a previous Audition customer). Adobe Audition CC 2019 empowers you to create and... Read more
Adobe Premiere Pro CC 2019 13.1.5 - Digi...
Premiere Pro CC 2019 is available as part of Adobe Creative Cloud for as little as $52.99/month. The price on display is a price for annual by-monthly plan for Adobe Premiere Pro only Adobe Premiere... Read more
Navicat Premium Essentials 12.1.25 - Pro...
Navicat Premium Essentials is a compact version of Navicat which provides basic and necessary features you will need to perform simple administration on a database. It supports the latest features... Read more

Latest Forum Discussions

See All

Marvel Strike Force is adding Agent Coul...
Marvel Strike Force, the popular squad-based RPG, is set to receive a bunch of new content over the next few weeks. [Read more] | Read more »
Lots of premium games are going free (so...
You may have seen over the past couple weeks a that a bunch of premium games have suddenly become free. This isn’t a mistake, nor is it some last hurrah before Apple Arcade hits, and it’s important to know that these games aren’t actually becoming... | Read more »
Yoozoo Games launches Saint Seiya Awaken...
If you’re into your anime, you’ve probably seen or heard of Saint Seiya. Based on a shonen manga by Masami Kurumada, the series was massively popular in the 1980s – especially in its native Japan. Since then, it’s grown into a franchise of all... | Read more »
Five Nights at Freddy's AR: Special...
Five Nights at Freddy's AR: Special Delivery is a terrifying new nightmare from developer Illumix. Last week, FNAF fans were sent into a frenzy by a short teaser for what we now know to be Special Delivery. Those in the comments were quick to... | Read more »
Rush Rally 3's new live events are...
Last week, Rush Rally 3 got updated with live events, and it’s one of the best things to happen to racing games on mobile. Prior to this update, the game already had multiplayer, but live events are more convenient in the sense that it’s somewhat... | Read more »
Why your free-to-play racer sucks
It’s been this way for a while now, but playing Hot Wheels Infinite Loop really highlights a big issue with free-to-play mobile racing games: They suck. It doesn’t matter if you’re trying going for realism, cart racing, or arcade nonsense, they’re... | Read more »
Steam Link Spotlight - The Banner Saga 3
Steam Link Spotlight is a new feature where we take a look at PC games that play exceptionally well using the Steam Link app. Our last entry talked about Terry Cavanaugh’s incredible Dicey Dungeons. Read about how it’s a great mobile experience... | Read more »
Combo Quest (Games)
Combo Quest 1.0 Device: iOS Universal Category: Games Price: $.99, Version: 1.0 (iTunes) Description: Combo Quest is an epic, time tap role-playing adventure. In this unique masterpiece, you are a knight on a heroic quest to retrieve... | Read more »
Hero Emblems (Games)
Hero Emblems 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: ** 25% OFF for a limited time to celebrate the release ** ** Note for iPhone 6 user: If it doesn't run fullscreen on your device... | Read more »
Puzzle Blitz (Games)
Puzzle Blitz 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: Puzzle Blitz is a frantic puzzle solving race against the clock! Solve as many puzzles as you can, before time runs out! You have... | Read more »

Price Scanner via MacPrices.net

4-core and 6-core 2018 Mac minis available at...
Apple has Certified Refurbished 2018 Mac minis available on their online store for $120-$170 off the cost of new models. Each mini comes with a new outer case plus a standard Apple one-year warranty... Read more
$250 prepaid Visa card with any Apple iPhone,...
Xfinity Mobile will include a free $250 prepaid Visa card with the purchase of any new iPhone, new line activation, and transfer of phone number to Xfinity Mobile. Offer is valid through October 27,... Read more
Sprint is offering the 64GB Apple iPhone 11 P...
Sprint has the new 64GB iPhone 11 Pro available for $12.50 per month for new customers with an eligible trade-in in of iPhone 7 or newer. That’s down from their standard monthly lease of $41.67. The... Read more
Final week: Apple’s 2019 Back to School Promo...
Purchase a new Mac using Apple’s Education discount, and take up to $400 off MSRP. All teachers, students, and staff of any educational institution with a .edu email address qualify for the discount... Read more
Save $30 on Apple’s AirPods at these reseller...
Amazon is offering discounts on new 2019 Apple AirPods ranging up to $30 off MSRP as part of their Labor Day sale. Shipping is free: – AirPods with Charging Case: $144.95 $15 off MSRP – AirPods with... Read more
Preorder your Apple Watch Series 5 today at A...
Amazon has Apple Watch Series 5 GPS models available for preorder and on sale today for $15 off Apple’s MSRP. Shipping is free and starts on September 20th: – 40mm Apple Watch Series 5 GPS: $384.99 $... Read more
21″ iMacs on sale for $100 off Apple’s MSRP,...
B&H Photo has new 21″ Apple iMacs on sale for $100 off MSRP with models available starting at $999. These are the same iMacs offered by Apple in their retail and online stores. Overnight shipping... Read more
2018 4 and 6-Core Mac minis on sale today for...
Apple resellers are offering new 2018 4-Core and 6-Core Mac minis for $100-$150 off MSRP for a limited time. B&H Photo has the new 2018 4-Core and 6-Core Mac minis on sale for up to $150 off... Read more
Save $150-$250 on 10.2″ WiFi + Cellular iPads...
Verizon is offering $150-$250 discounts on Apple’s new 10.2″ WiFi + Cellular iPad with service. Buy the iPad itself and save $150. Save $250 on the purchase of an iPad along with an iPhone. The fine... Read more
Apple continues to offer 13″ 2.3GHz Dual-Core...
Apple has Certified Refurbished 2017 13″ 2.3GHz Dual-Core non-Touch Bar MacBook Pros available starting at $1019. An standard Apple one-year warranty is included with each model, outer cases are new... Read more

Jobs Board

*Apple* Mobility Pro - Best Buy (United Stat...
**719499BR** **Job Title:** Apple Mobility Pro **Job Category:** Store Associates **Location Number:** 001266-Charleston-Store **Job Description:** At Best Buy, our Read more
Best Buy *Apple* Computing Master - Best Bu...
**733266BR** **Job Title:** Best Buy Apple Computing Master **Job Category:** Sales **Location Number:** 000144-Union City-Store **Job Description:** **What does a Read more
Best Buy *Apple* Computing Master - Best Bu...
**730765BR** **Job Title:** Best Buy Apple Computing Master **Job Category:** Sales **Location Number:** 000565-St Petersburg-Store **Job Description:** **What does Read more
*Apple* Mobile Master - Best Buy (United Sta...
**725617BR** **Job Title:** Apple Mobile Master **Job Category:** Store Associates **Location Number:** 001095-Chesterfield-Store **Job Description:** **What does a Read more
Student Employment (Blue *Apple* Cafe) Spri...
Student Employment (Blue Apple Cafe) Spring 2019 Penn State University Campus/Location: Penn State Brandywine Campus City: Media, PA Date Announced: 12/20/2018 Date Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.