DBASE on the Kaypro II
90 points by TMWNN 4 days ago | 44 comments

bruce511 20 hours ago
>> The prompt starts at the first field and <RETURN> (not <TAB> !) moves to the next.

This is hilarious to me, because times have certainly changed.

When we first started shipping Windows software the big complaint from users was the use of Tab to switch fields, while Return triggered the default button (usually Save or Close).

The change, for users used to DOS was painful - not least when capturing numbers as the numeric key pad has Enter not Tab.

Software developers either stood firm, convincing customers to learn Tab, or caved and aliased the Enter key to the Tab key. Even today I still find that option here and there in Software that's been around a while...

reply
ChristopherDrum 20 hours ago
Author here, and thanks for reading. I'm glad to hear stories from a developer POV about those days. It's interesting uncovering subtle interface changes as I investigate various applications. It makes sense to me to not use Return for fields, especially when fields could gradually accommodate longer and longer blocks of text. Being able to naturally type multiple paragraphs, say for a "Notes" field in a database, would make sense.
reply
bruce511 19 hours ago
Yes, it makes sense when viewed like that, and was probably a necessary change.

DOS chose Enter though because in those days mist data capture was numbers. Lots and lots of numbers. Data capturers could track the left hand down the column (so keeping place on yhe paper) any type with the right. Enter is right there in the keypad so only one hand needed.

Switching to Tab means 2 hands needed on the keyboard, so difficult to keep track on the paper.

Typically also, on DOS screens there was very little multi-line entry. Addresses were multiple entry fields, and so on. Tab was pretty much not used (outside of word processing).

If I went back now, to design the standard keyboard, I'd add dedicated "Next" and "Previous" buttons on the numeric keypad. No need for Enter there.

But that's design with a lot of hindsight...

reply
bluedino 11 hours ago
We had a contractor write a replacement for some green-screen software that we ran for years. The replacement was of course a web interface, written in PHP, and nicely themed and all that was great in 2005.

We kept running into all kinds of weird issues when importing data back into the legacy system. Of course, after we started looking into it, I narrowed all the issues down to the same two users.

I don't remember exactly what it was, but users would hit a certain key on the keyboard at the end of every field, before they used the mouse to click on the next field and enter more data. This resulted in an undesired character at the end of every field!

I realized exactly what was going on as I watched a person fill out the form and submit it.

  "Why are you doing that!"

  "Doing what?"

  "Hitting the space bar (or whatever key it was) every time you fill out a field!"
Of course, in the old system you had to hit that key to save each field as you entered it.

shrug

reply
ErroneousBosh 8 hours ago
So how do you fix it? Bit of javascript to trap the key and emulate the behaviour, dropping them to the next field?
reply
Someone 16 hours ago
> not least when capturing numbers as the numeric key pad has Enter not Tab.

And “Enter” isn’t “Return”.

I don’t know how the PC and PC software did it, but the Mac, when it got a numeric keypad, discriminated between return (on the alphanumeric keyboard) and enter (on the keypad), and software did discriminate between the two.

reply
pjc50 10 hours ago
On the PC you can distinguish between the two of them in "raw" mode, but almost all keyboard maps flatten them both into the same key.

The only time I've seen them mapped differently is games.

reply
astrashe2 11 hours ago
It wasn't quite as old, but there was an old MS DOS database system called Cosmos Revelation that was sort of a proto-nosql/graph database used keys and values for records, with the values being stored in long strings that contained field separators, and support for multiple values of the same time in a single field of a record. It used a language called R/BASIC that had library routines to help you work with the data structure.

This software is my retro computing white whale, I've never been able to find it. But I think it's evolved into a product called OpenInsight, by Revelation Software, which still exists.

reply
ChristopherDrum 52 minutes ago
Author here. You've intrigued me with this product, to say the least. As I get more experience with the productivity classics under my belt, I absolutely intend to branch out into titles like you've mentioned. That's assuming I can find the stuff though!
reply
pjmlp 13 hours ago
My introduction to databases was via dBASE III Plus, shortly followed by Clipper Summer '87, and Clipper 5.x (already OOP and some C++ like constructs).

The change to VB/Access and SQL later on took some mind shifting as the concepts on how to design a database are quite different.

Additionally it is quite remarkable the productivity that xBase offered, for a constrained environment like MS-DOS, in an automatic memory managed language, with AOT compilation (when using Clipper, FoxPro and co).

reply
mamcx 8 hours ago
> Additionally it is quite remarkable the productivity that xBase offered

Yeah, is still unmatched. My dream is to revive the spirit of it (https://tablam.org) and looking for partners or funding!

reply
dardeaup 11 hours ago
I had a very similar path starting with dBASE III Plus.

As you say the productivity it (xBASE/FoxPro/Clipper) offered was remarkable. One of the tools that I really wish I had was a FoxPro/Clipper compiler that took a subset of the language (general purpose stuff and screen functionality) and compiled it to either C or Go with ncurses. Who knows, I might have AI help me build one.

reply
mercurialuser 9 hours ago
Look for Harbour project on github
reply
rbanffy 11 hours ago
> The change to VB/Access and SQL

Brazil had a vibrant and omnipresent Clipper developer ecosystem until VB and Access ate their lunch. This also made a lot of businesses adopt windows.

reply
startaq 14 hours ago
> MAME has no printer emulation, which I like to use for a more holistic retro computing experience.

That's wrong. I haven't tried it with the Kaypro emulation, but here's a video showing the mc68000 computer printing to an emulated Epson ActionPrinter 2000: https://streamable.com/rvenyx

It's also possible to print to a text file.

reply
ChristopherDrum 11 hours ago
Oh wow, you're right! I see now that under MAME options there is a "Slot Devices" that has a printer selection option. I overlooked that I guess, thinking it was unrelated to printing. I'll need to dig into CP/M-80 configuration options more and see if I can get it talking to the emulated printer. Thank you very much for the heads-up!
reply
cheema33 6 hours ago
It was a fun read. Thank you for sharing!

dbase IV was popular when I was in college. I never used it. But instead cut my teeth on Paradox and later SolidDB which supported SQL 92. I was blown away from SolidDB in the early 90s. So much power in such a tiny database product at that time.

reply
sagacity 10 hours ago
This blog is so much fun to read. Super well written and researched, and it definitely scratches an itch for me. A lot of these tools seemed boring and mysterious to me when I was growing up, but seeing that these tools were actually already really powerful considering the hardware they're running on is very interesting.
reply
ChristopherDrum 57 minutes ago
Author here. Thank you very much for your very kind words. I'm quite happy to hear that I was able to make reading about a database fun; "make it not boring" is my personal goal with the posts. It's nice to have confirmation I've achieved that for someone. I hope I can continue to build something you enjoy.
reply
ludsan 20 hours ago
In a moment of serendipity, I was about 30 minutes into watching this: https://www.youtube.com/watch?v=bYU3CQomE5M

I had memories of Foxpro and Clipper on my mind, when I found myself in this rabbit hole.

reply
ChristopherDrum 20 hours ago
Author here. My timing is impeccable!
reply
Pinus 11 hours ago
Thanks for writing this! I remember reading about dBase II as a kid, and now that I’m (much!) older and actually using some of the databases of today, I have sometimes wondered what those older personal-computer databases looked like.
reply
sehugg 12 hours ago
I note that Clarion is still being developed, version 12 was released last year. I remember fondly using its screen designer to create drop-shadowed dialogs.
reply
JSR_FDED 18 hours ago
This is awesome. Loved the training video as well.

It’s kind of cool to see people putting in the effort to learn 30 commands and becoming masters of their own destiny. I guess it’s the same sense of mastery that Excel users have today.

What’s the dBase II/III equivalent today?

reply
ChristopherDrum 18 hours ago
Thank you, I'm glad you liked the article.

Hopefully someone more learned than myself about modern database programming will chime in. I'm not sure what current system offers both the database and development features in such a seamless package. That said, on the Mastodon post for this article, I was told, "Learning dBASE isn't for naught" and was directed to https://xharbour.org/ as a modern dBASE/Clipper implementation. (haven't had a chance to try it yet, personally)

reply
twoodfin 11 hours ago
Random trivia: Host of the video Gentry Lee is an accomplished space engineer, but he’s also 50% responsible for the collaboration with Arthur C. Clarke that produced the awful Rendezvous with Rama sequels.
reply
benley 7 hours ago
> awful Rendezvous with Rama sequels.

Were those so awful? I remember rather enjoying them when I read them many years ago - though the last book got pretty weird, as 4th-book-in-trilogy installments tend to do.

reply
twoodfin 6 hours ago
Reaching back 30+ years into my memory... yeah, they were pretty bad. There were some cool ideas embedded into the story, and of course teenage me was desperate to see the mysteries of Rama revealed, & Lee might be a fine writer in his own right, but the collaboration with Clarke just didn't work.

The main character (Nicole?) was the worst kind of Mary-Sue, with the rest of the characters increasingly taking on the mien of cardboard cutouts flitting around her. Sex became a major theme in a way that, again, might work well with another co-author but clashes with Clarke's palette.

And IIRC, the exploration and revelation of the Ramans loses essentially all of the hard science that grounds Clarke's work generally and Rendezvous in particular and becomes woo-woo spirituality.

reply
buescher 10 hours ago
Probably SharePoint lists, even though they’re even less relational. That’s probably a good constraint on most users ironically.
reply
mayama 16 hours ago
> What’s the dBase II/III equivalent today?

Salesforce, firebase or Supabase etc., but, all are SAAS platforms. Not sure if there is any other platform where you can do database and applications that you can host yourself.

reply
mercurialuser 9 hours ago
Have a look at harbour project on github. It compiles Clipper code to be run on several different platforms, in text and gui mode (also with Qt bindings) and mow there are several frameworks for web development
reply
pjmlp 13 hours ago
Access, FileMaker are still around, or if you going SaaS, something like Airtable, I guess.
reply
ChristopherDrum 11 hours ago
Ah, of course, FileMaker. How could I forget the system that got me started on the development career path?!
reply
shrubble 14 hours ago
SQLite; or MySQL with PHP or any other simple programming framework.
reply
kryptonomist 15 hours ago
According to users of the Kaypro II from that time, it was a very robust machine. It was even used on the 1984 Paris Dakar edition.
reply
jslaby 10 hours ago
And the Kaypro IV came out with the cool dark look.
reply
ChristopherDrum 49 minutes ago
Looking around pictures, the IV seems to have a couple of variations. I like this one: https://ids.si.edu/ids/deliveryService?id=NMAH-NMAH2000-0410... I'm not keen on this one: http://www.mrmartinweb.com/images/computer/kaypro488.jpg
reply
crandyboy 10 hours ago
I have the source code to fox pro on a tape in my garage someplace
reply
ChristopherDrum 47 minutes ago
Were you a developer for FoxPro?
reply
gareth5851 19 hours ago
Love this
reply
ChristopherDrum 19 hours ago
Author here. Thank you :)
reply
antonvs 17 hours ago
Love the guy trying to crush his red telephone handset in the CP/M-86 ad. I assume he’s just been told he has to reenter the Kermit assembler code and start again.
reply
slim 18 hours ago
"Author here" is the new "You're absolutely right"
reply
ChristopherDrum 18 hours ago
Since someone else posted my article instead of me, I felt compelled to clarify who I am. Just trying to navigate social media waters to the best of my ability.
reply