Tech Night Owl Interview of Jim Rea
- August 7th, 2008
(Running Time: 26 minutes)
Gene Steinberg: James Rea of
ProVUE Development. You've been around the Mac universe for
a long, long, long, long time. Did I say a long time?
James Rea: Yeah.
Gene: I think from the beginning of Apple Computer, almost. So how did you get involved in software development?
James: Well, I was never involved with the Apple II. So not quite from the beginning of Apple, but I actually got involved by originally I built a computer from scratch in the mid-1970s, starting when I was in high school. I had to look into this software thing, and I wound up actually having a software product for CP/M, which was the precursor to DOS. Back in the late '70s I actually took off from college for a week, I cut classes to have a booth at the West Coast Computer Fair, I think in 1978 or 1979.
Then I was involved with a computer called the Alpha Micro. I worked there for a while, and then left and started a business, writing software for that. They wound up having 68000 based computers, and then the Mac came out for the 68000. I said, "Hey, I know about that computer." So I actually bought a Mac in, I think, February of 1984, about a month after they came out. There was no development software or anything for that, but I figured out a way around that.
By April or so I had a product that I could demo a little bit, and I found out a number to call at Apple where there were these strange evangelists, and called them up and they said, "Well, send us a copy of your software." And I said, "I won't do that, but I'll get on a plane." So I got on a plane and went to Cupertino, and that's sort of how it got launched. They were like, "Where did you come from? We've never heard of you. How could you have written a program?"
They had me come and exhibit in their booth at the National Computer Conference. I think it was July of 1984. And actually shipped the product, which was OverVUE, that was our first product, our first RAM based database, in I think late August or early September of 1984. We were one of the, I think we were the sixth or seventh product to ship for the Mac.
Gene: Wow. Sixth or seventh product? And you're still producing it?
James: And we're still producing it. The only other company that is still around that was around in those days is Microsoft. Microsoft actually shipped a product, I think, in March of 1984. For extra credit, what was Microsoft's first product on the Macintosh?
Gene: Let me think. Word?
James: No, Word was two years later.
Gene: Then it has to be Excel.
James: Nope, but that's close. It was a spreadsheet called Multiplan, which they had on DOS. They ported that, and that was the very first third-party program that you could buy for a Mac. Then there was Habadex and PFSFile, there was a program called FileVision, and then there was us. So yeah, pretty much from the beginning. Interestingly, we just got some press with our new product. I got an email from one of the guys that used to be at FileVision this morning saying, "Hey, glad to see you're still around." FileVision's not around anymore.
Gene: Yeah, that's interesting, how you survived and so many other companies went by the wayside or they became Windows only or none of the above. How does someone manage to stay put in this kind of business?
James: Well, I think we've just had incredible customer loyalty. We've got a unique product. Nobody has ever come directly against us. There's obviously other databases that we'll probably talk about a little bit later. Our product uses a different technology than every other product out there, and so the people that use our program, Panorama, they're really fanatics about it. It's kind of like Apple in the larger PC world, where people that use Apples, even in the dark days 10-15 years ago when it was like Apple's going to go out of business, Apple users still loved their Macs.
Panorama's kind of like that. Obviously we don't have the largest market share. We're a small company, but we have users that are really loyal and they know that they couldn't do what they can do with Panorama with any other program. A lot of them have tried other programs.
Gene: I'm going to ask you that. First though, I want to go into the dark days of Apple Computer. We know back in the mid 1990s, before Apple bought NeXT, before Steve Jobs came back, people were essentially saying Apple is dead, this is it. What did someone like you do to stay in the market, have a roof over your head, that sort of thing?
James: [clears throat]
Gene: That's a good answer.
James: Well, we just did. At the time, I don't think; because Panorama is RAM based, I don't think it would have worked on those early versions of Windows, especially Windows 3.1. Maybe 95 could have. We eventually did come out with a Windows version, around 1999-2000, but the Mac is still our primary business. Windows is auxiliary. It was pretty tough, but I never really thought the Mac would go out of business because they're such loyal customers.
I don't know that I thought it would have the incredible resurgence that it's had, but I never thought it would go out of business.
Gene: Interesting question here, which is how does a small developer like you differentiate yourself. When I think of databases, I think FileMaker Pro. I think Microsoft Access, which they've never brought to the Mac platform. So with your product, how do you differentiate yourself from them?
James: There's other minor differences, but the number one difference is there's one big, huge key difference. That's that Panorama is RAM based and it's not disk based. Every other program on the market is disk based, which means as you're accessing your data, the bulk of it remains on the disk and is accessed that way. In Panorama, when you open a database, it actually loads the entire database into the memory of the computer. The disk is not involved except when you save.
It's more like a word processor or spreadsheet in those terms. Of course, the RAM has no moving parts; it's all electronic, it's all solid state. And so, it's hundreds of thousands of times faster than the disk. You don't need to wait for the disk at all. That makes it much more flexible than the disk as well, because things that you would never even dream of doing in a disk based database, you just say that's too hard and it takes too long. They're really easy to do in Panorama.
Announcer: You're listening to the Tech Night Owl LIVE with Gene Steinberg. You never know what to expect.
Gene: OK, I'm going to ask you about specifics in a second, but I want to tell everybody we're talking to James Rea. We call you the chief cook, bottle watcher, founder, president, etc., of ProVUE Development, which has been a Mac developer for almost as long as it's been a Mac, and a developer for longer than Macs have existed.
So OK, we have the RAM based system from you. Specifically for someone who needs to use a database, we're getting faster performance. So what kind of tasks can they perform that they can't otherwise?
James: Well, first of all, on a disk based database, in order to get even remotely acceptable performance on searching and sorting, what they do is they use a technique called indexing. It's kind of like making a table of contents. They have this big, complicated structure. If you say "search for Thompson" it's already got a pre-cooked structure that allows it to find "Thompson" without going through however many records, say you've got 100,000 records in your database.
You'd have to search every record in the database to find "Thompson." By doing it on the disk, it'd take like 10 minutes or 30 minutes, depending on how long it is. So they build this structure called an index that helps them to do searches.
Indexes have some problems. First of all, they're big and complicated. If you could take, say, a FileMaker database and have X-ray vision and see inside it, actually only about 10 or 15 percent of what's in there would be data. The other 85 percent or 90 percent would be the index. So, it greatly increases the size.
As the database gets bigger, the index gets more complicated. So it gets slower and slower every time you edit or add data because you've got to update the index, which is this real complicated structure. In fact, sometimes indexes get corrupted because they're so complicated, then you have to rebuild the index.
Panorama doesn't use an index at all. If you search for "Thompson" it actually brute force searches every record in the database for Thompson. Because RAM is so fast, it can do that on the fly and it's just as fast.
What's really cool is that means with an indexed database, a disk based database that uses indexes, you can only search for things you decided in advance you want to index. But Panorama can search for anything. For example, you can do a phonetic search. For example, say you want to search for somebody named "Miller" but you're not sure exactly how it's spelled, you think it's Muller or certain names like that. You can actually do a phonetic search in Panorama.
You can do a search based on a formula in Panorama. You can say, "I want to find all the records where this field is two and a half times what this other field is" or "I want to find all the fields that aren't capitalized properly" -- maybe they have a stray capital letter in the middle. It can find that just as fast as it can find a search for the name "Thompson". It's really great, much more flexible in terms of being able to find things and not having to know in advance what it was you were going to search for, or that sort of thing.
Also, it makes it much more flexible in terms of let's say you decide you want to rearrange the way the data is stored. Maybe you stored the first name and the last name together in one field, and now you say, "Oh geez, I really want to have that separate in two fields." Well, because Panorama is RAM based it's really easy to create two new fields and then split the data. That's the kind of operation that on a disk based database would take hours, or sometimes even days, if the database is big enough.
Panorama is almost liquid. With "regular" disk based databases you really want to think very much in advance, and plan really carefully because it's hard to change once you start putting data in the database. With Panorama, not so much. Even if you've already put a lot of data in, you can say, "Hey, wait a minute, we didn't really quite organize this right. Let's rearrange it." And very quickly, you can.
Another benefit that ties into that is because Panorama's RAM based, your changes aren't permanent until you use the save command. It's got a revert to save command, just like Microsoft Word or Excel does.
So you can go in and say, "What if I make these changes?" And make really massive changes to the database, and then say, "No, that's not quite what I wanted." Just revert to saved, and you're back to start over, no harm, no foul.
Gene: OK, I have a $64 million question to ask. How much RAM do you need to do this stuff?
James: These days, it's not very much because we don't store indexes, our databases are much smaller. Typically you can get 10,000 records -- say if you had contact information like name and addresses -- into a single megabyte.
So, we have people that have over a million records in a Panorama database and with today's memory amounts, where machines typically have 500 megabytes or a gigabyte or two gigabytes very frequently. We've been doing RAM based from the days of the 128k Mac.
That was always the big question, but nowadays you're probably not going to put the whole United States Social Security information into it, but there aren't too many applications that are too big for Panorama these days.
Gene: Well that's interesting too. The fact that even the simplest applications require a couple gigabytes of RAM these days, how do you stay slim, lean and mean?
James: With Panorama, the application is a few megabytes these days. It normally takes about 100 megabytes when it starts up. It's not horribly bloated, but it's bigger than it used to be. I think in 1996 we still fit on one single floppy, but we don't fit on a floppy anymore.
Gene: Nobody does. What's a floppy?
James: Yeah, exactly.
Gene: The transitions that Apple has undergone. First you had 68k to PowerPC, then PowerPC to Mac OS X, from Mac OS X to Universal. How does a longtime developer like you with, I am sure a lot of legacy code, go through all these transitions? A lot of jumps and grumps and binds and stuff?
James: Yeah, they keep us busy. The 68k to PowerPC transition was pretty easy. OS X was a little bit more of a job, but we got it done. Panorama, the program was started in 1986 when I started programming it, and it's the same code. The same people have been working on it pretty much that whole time.
Gene: Now, another consideration here to ask is learning curve. When you go into things like database, people look at it like, "Oh, it's math. It's this, it's that, and the other thing I've got to figure out. I've got to figure out records and I've got to figure out how to organize those records." So, how does somebody who has never used your kind of program before learn how to use it as quickly as possible?
James: Well, we've got a tutorial that comes with it that'll walk you through creating a database. It's pretty simple. You can get a simple database going in a minute or two. One of the things that a lot of people like about Panorama is its default view is like a spreadsheet, it's rows and columns. Basically, when you come up with Panorama the first time, it comes with what we call the New Database Wizard. You can just type in a list of the names of the fields that you want -- say name, address, city, state, zip or whatever it happens to be for you -- and then you just press go and it makes a database with those fields in it.
It brings up what we call the Data Sheet, which is a spreadsheet type view of the data, and you can start entering data right away. That just takes like 30 seconds or something like that, and you can start entering data. When you want to get a little fancier, you can add what we call forms. People use FileMaker there, I think they call it layouts in FileMaker, but basically where you can arrange things, it's got a graphical editor. People will be pretty familiar with how that works, it's pretty much the same as anything else that does layout where you select objects and move them around.
One of the things that people like about Panorama is it starts out real simple, it's real easy, and some folks never go past the data sheet stage, but it is fully programmable. It's got a programming language built in, you can also program it in Perl, Python, Ruby, and PHP and some people have made commercial applications. They've built whole companies around selling applications that are built in Panorama.
Announcer: You're listening to the Tech Night Owl Live, with Gene Steinberg. You never know what to expect!
Gene: Hey, I want to tell our listeners we're talking to James Rea. He's the chief cook and bottle-washer, sometimes known as president, of ProVUE Development, a longtime Mac developer. It's been around since the beginning. And of course, he has Panorama, which is a major-level database application.
What about templates, instead of trying to figure out, or reinvent the wheel, do you have templates for things like mailing lists and sales receipts, and stuff like that, that people could use, just adapt to their purposes?
James Rea: We have some simple templates. There's about a hundred example databases that come with Panorama, and also that new Database Wizard that I mentioned. It has about twenty pre-configured templates. Instead of typing the fields manually, as I mentioned, you can say, "Oh, bring up this or that template."
It's got little layouts for contacts, and expense reports, and checkbook. There's a number of common things you can either use as-is or use as a starting point and easily modify. There's also a real active online discussion list for Panorama that's really friendly, which I think is not true of all lists.
So a lot of times, users help each other out -- you know, somebody will get on, like, "I'm trying to do this," and usually two or three people will jump in and say, "Yeah, here's how you could do that." So that's really helpful.
Gene: So you don't have to necessarily always call customer support. You can just go to the discussion group and maybe ask questions and an expert will get in there and figure it out for you.
James: Yeah, we've got some pretty sharp people on that list.
Gene: Now, say I already have several years' worth of records in FileMaker Pro. I'm thinking right now of a longtime Mac user -- he produces concerts every year, jazz concerts. And as a result of this, he keeps a customer database of what they ordered -- the tickets and everything. He prints out envelopes, OK?
So, fairly basic. Now, he's got all this data that he's accumulated over these years, updated every year with a new concert. Can he bring that into Panorama and have it figured out?
James: Yeah, the data is real easy to bring out. You just go into FileMaker and export it as either a tab-delimited or comma-delimited text file, and Panorama will eat that up real quick.
Gene: OK, this is something that once he brings it in, he can kind of start using it almost immediately? Or you have to change a lot of things to get started?
James: You know, when you bring it in, it'll bring it in in that spreadsheet-type view, so that'll instantly come up. If he has layouts in FileMaker, those would have to be recreated in Panorama. So it depends on how complicated they were. If it's just something like labels, or maybe a data entry form, probably in an hour you could have everything up and going.
Gene: OK. Because he'll call me and ask me to do this, you see.
Gene: Now, among the people, by the way, using Panorama: our friend Adam Engst of TidBITS! I guess Tonya's going all the work, and Adam just sits back and smokes cigars and everything. No, he doesn't do that. He's a hard-working guy.
James: I don't know, Adam's the one I get email from.
Gene: Adam's a great guy!
Gene: OK! And what do you plan for the future? This is version 5.5 now, that you have?
James: 5.5, and actually what we just released last week is a new product, called Panorama Enterprise Server, which actually allows Panorama to be used in a multi-user environment, and also for web publishing.
James: So you can have a bunch of people over a network, or even over the Internet, sharing databases. And each one has a copy in RAM, so it's still RAM based, and it's still real fast. But it has full record locking, and so person A can make a change and it shows up on everybody else's computer automatically.
And in fact, actually, you can even disconnect. Like, say you have a laptop. You go off on an airplane, you can actually still access the database because you've got a copy locally [on your computer]. And if you make changes, when you connect, it synchronizes with the server. So it's kind of, rather than the client-server method that FileMaker and 4D and Access use, it's more of like a cloud synchronization that is kind of like a -- I don't want to say MobileMe -- that's not really a good example right now.
Gene: Right now, MobileMe is MobileFailure, I think.
Gene: There's a story this week where Steve Jobs sent a memo to Apple employees, apologizing for the mess. Wow. Yeah, so we'll not discuss MobileFailure -- I mean, MobileMe. But OK, so basically, it's a situation here where you don't want to spend $10 for a glass of water on the plane.
Get some work done! Be productive for your company and as soon as you connect to a WiFi network -- your hotel's network, or you're back at your office -- once you get connected, this will synchronize the content with the server.
Gene: Hey! I figured it out! Listen to this.
James: But nobody else does it. Nobody else has ever done it that way.
Gene: Yes, you tend to do things different, and that's a very important thing. A lot of times, it's the smaller companies that do the most innovation.
James: Well, we kind of have to come up with a different way to do it because of our RAM based thing. We couldn't do it the other way, and so we realized, wait! We can turn this to an advantage. So that's what we did.
Gene: James Rea, president of ProVUE Development. Thank you so much for joining us on the Tech Night Owl Live!
James: Thank you!
Gene: Coming up next on the show, we enter the...