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.
[laughter]
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.
[radio break]
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.
Gene: Whoa.
[radio break]
Announcer: You're listening to the Tech Night Owl Live,
with Gene Steinberg. You never know what to expect!
[music]
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: Absolutely.
Gene: OK.
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.
James: Right.
[laughter]
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.
[laughter]
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.
Gene: OK!
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.
James: Right.
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.
James: Exactly.
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...