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

Tinderbox 7.0.0 - Store and organize you...
Tinderbox is a personal content management assistant. It stores your notes, ideas, and plans. It can help you organize and understand them. And Tinderbox helps you share ideas through Web journals... Read more
1Password 6.5.5 - Powerful password mana...
1Password is a password manager that uniquely brings you both security and convenience. It is the only program that provides anti-phishing protection and goes beyond password management by adding Web... Read more
Apple Remote Desktop Client 3.9 - Client...
Apple Remote Desktop Client is the best way to manage the Mac computers on your network. Distribute software, provide real-time online help to end users, create detailed software and hardware reports... Read more
Art Text 3.2.2 - $49.99
Art Text is graphic design software specifically tuned for lettering, typography, text mockups and various artistic text effects. Supplied with a great variety of ready to use styles and materials,... Read more
WhatRoute 2.0.15 - Geographically trace...
WhatRoute is designed to find the names of all the routers an IP packet passes through on its way from your Mac to a destination host. It also measures the round-trip time from your Mac to the router... Read more
Sparkle 2.1.1 - $79.99
Sparkle will change your mind if you thought building websites wasn't for you. Sparkle is the intuitive site builder that lets you create sites for your online portfolio, team or band pages, or... Read more
Dash 4.0.1 - Instant search and offline...
Dash is an API documentation browser and code snippet manager. Dash helps you store snippets of code, as well as instantly search and browse documentation for almost any API you might use (for a full... Read more
TextSoap 8.3.2 - Automate tedious text d...
TextSoap can automatically remove unwanted characters, fix up messed up carriage returns, and do pretty much anything else that we can think of to text. Save time and effort. Be more productive. Stop... Read more
Apple Remote Desktop 3.9 - Remotely cont...
Apple Remote Desktop is the best way to manage the Mac computers on your network. Distribute software, provide real-time online help to end users, create detailed software and hardware reports, and... Read more
Paragraphs 1.1.4 - Writing tool just for...
Paragraphs is an app just for writers. It was built for one thing and one thing only: writing. It gives you everything you need to create brilliant prose and does away with the rest. Features... Read more

Dungeon Rushers (Games)
Dungeon Rushers 1.0 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0 (iTunes) Description: Dungeon Rushers is a 2D tactical RPG combining dungeon crawler’s gameplay and turn based fights. Manage your team, loot dusty... | Read more »
Blasty Bubs is a colorful Pinball and Br...
QuickByte Games has another arcade treat in the works -- this time it's a mishmash of brick breaking and Pinball mechanics. It's called Blasty Bubs, and it's a top down brickbreaker that has you slinging balls around a board. [Read more] | Read more »
Corsola and Heracross are the new region...
Generation 2 finally launched in Pokémon GO, unleashing a brand new batch of Pokémon into the wild. Even before the update went live people were speculating on how to catch elusive Pokémon like the legendary "dogs", Unknown, and whether or not... | Read more »
The Warlock of Firetop Mountain (Games)
The Warlock of Firetop Mountain 1.0 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0 (iTunes) Description: An epic adventure through a mysterious mountain filled with monsters, magic and mayhem! “...it looks downright... | Read more »
Fantasy MMORPG MU Origin’s receives a hu...
Developer Webzen are looking to take their highly popular fantasy battler MU Origin to the next level this month, with its most ambitious overhaul yet. The latest update introduces the long sought after Server Arena, new treasure dungeons, and much... | Read more »
RPG Djinn Caster (Games)
RPG Djinn Caster 1.0.0 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0.0 (iTunes) Description: SPECIAL PRICE 38% OFF(USD 7.99 -> USD 4.99)!!!A Fantasy Action RPG of far foreign lands! Summon the Djinns and rise to... | Read more »
Alto's Odyssey gets its first trail...
There's finally video evidence of Alto's Odyssey, the follow up to the 2015 App Store hit, Alto's Adventure. It looks just as soothing and atmospheric as Alto's last outing, but this time players will be journeying to the desert. Whereas Alto's... | Read more »
Last week on Pocket Gamer
What’s going on in the wider world of portable gaming? Each week we ask that question of our sister website Pocket Gamer. The PG team covers iOS gaming, just like 148Apps, but it also strays into the world of Android games and handheld consoles... | Read more »
Pokémon GO Generation 2 evolution guide
At long last, Niantic Labs finally unleashed the Generation 2 Pokémon into the wild. Pokémon GO trainers are scrambling to grab up this new set of 80 Pokémon. There are some special new tricks required to catch all of these new beasties, though.... | Read more »
The best new games we played this week
It feels as though the New Year got off to a creaking start as far as mobile games go, but that's changed over the past few weeks. The last few days alone have seen the debut of a number of wonderful games, so we thought we'd take the time to... | Read more »

Price Scanner via MacPrices.net

Apple’s New iPad Ads Don’t Address Pro Users’...
Apple launched a new tranche of iPad Pro TV ads last week addressing actual queries and challenges from the Twitterverse, albeit using actors for the visuals. That’s great. As an iPad fan and heavy... Read more
Free Verbum Catholic Bible Study App For iOS
The Verbum mobile app runs on Logos’ powerful Bible software and is an advanced resource for mobile Catholic study. The Verbum app surrounds the Bible with the Tradition. Verbum comes with 15 free... Read more
27-inch Apple iMacs on sale for up to $200 of...
B&H Photo has 27″ Apple iMacs on sale for up to $200 off MSRP, each including free shipping plus NY sales tax only: - 27″ 3.3GHz iMac 5K: $2099.99 $200 off MSRP - 27″ 3.2GHz/1TB Fusion iMac 5K: $... Read more
15-inch 2.2GHz Retina MacBook Pro on sale for...
Amazon has 2015 15″ 2.2GHz Retina MacBook Pros (MJLQ2LL/A) available for $1849.99 including free shipping. Apple charges $1999 for this model, so Amazon’s price is represents a $150 savings. Read more
Apple refurbished iPad Air 2s available start...
Apple has Certified Refurbished iPad Air 2 WiFis available for starting at $319 including free shipping. A standard Apple one-year warranty is included: - 16GB iPad Air 2 WiFi: $319 $60 off original... Read more
Apple refurbished iPad Pros available for up...
Apple has Certified Refurbished 9″ and 12″ Apple iPad Pros available for up to $160 off the cost of new iPads. An Apple one-year warranty is included with each model, and shipping is free: - 32GB 9″... Read more
Apple restocks refurbished 2015 and 2016 13-i...
Apple has Certified Refurbished 2015 and 2016 13″ MacBook Airs available starting at $759. An Apple one-year warranty is included with each MacBook, and shipping is free: - 2016 13″ 1.6GHz/8GB/128GB... Read more
13-inch 2.5GHz MacBook Pro (Apple refurbished...
Apple has Certified Refurbished 13″ 2.5GHz MacBook Pros (MD101LL/A) available for $829, or $270 off original MSRP. Apple’s one-year warranty is standard, and shipping is free: - 13″ 2.5GHz MacBook... Read more
QuickerTek Announces 5TB Apple AC AirPort Tim...
QuickerTek Inc. has announced their new 5TB hard drive upgrade for Apple’s AC AirPort Time Capsule. By customer request, this upgrade also features six external antennas and offers the highest... Read more
Apple Certified Refurbished iMacs available f...
Apple has Certified Refurbished 2015 21″ & 27″ iMacs available for up to $350 off MSRP. Apple’s one-year warranty is standard, and shipping is free. The following models are available: - 21″ 3.... Read more

Jobs Board

*Apple* Retail - Multiple Positions - Apple,...
Job Description: Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
Manager *Apple* Systems Administration - Pu...
Req ID 3315BR Position Title Manager, Apple Systems Administration Job Description The Manager of Apple Systems Administration oversees the administration and Read more
*Apple* Retail - Multiple Positions - Apple,...
Job Description: Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
Manager *Apple* Systems Administration - Pu...
Req ID 3315BR Position Title Manager, Apple Systems Administration Job Description The Manager of Apple Systems Administration oversees the administration and Read more
*Apple* Technician - nfrastructure (United S...
Let’s Work Together Apple Technician This position is based in Portland, ME Life at nfrastructure At nfrastructure, we understand that our success results from our Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.