← Back to the Build Log Products

The wine database: my first real app, 1995

D
Daniel · Apr 24, 2019 · 3 min read
A giant floppy disk standing like a monolith in a dark wine cellar between rows of barrels, a tiny figure raising a glowing wine bottle toward it, in navy and teal

Before the freeware, before anything with my name on a download portal, there was a wine database. In 1995 a local wine distributor needed its price list out of the binder and into a computer, and I got the chance to be the one who put it there. I was self-taught, three years away from my first programming job, and I said yes before I had any idea how printing worked on Windows. That is the correct order of operations at that age.

The app was Visual Basic 4 with an Access database underneath, talking through DAO. One window, built around the way the business actually thought: brands, and under each brand the type, the bottle size, the pack count, the UPC, the case cost and the unit cost. Sixty-three brands by the time the screenshot below was taken. Arrow buttons to walk the records, Add, Edit, Save, Delete across the top, a search pane on the right that could find a wine by any of those fields, and a grid at the bottom showing the whole list at once.

The wine list database running on Windows 95 in March 1997: a record navigation toolbar, a wine record with type, size, pack, case and unit cost, a search pane, a data grid, and backup and compact database dialogs

That's it running in March 1997, dressed in every pixel 1995 had to offer. Toolbar icons with red arrows, a wine still-life in the middle of the window, cyan input fields. I had one customer and no design department, and it shows, and I love it anyway.

The features the business actually used

The part that mattered most was none of the data entry. It was printing. A distributor lives by its printed price list, so the app had a Print/Preview panel where you marked what to include: everything, the current set, or hand-picked records. Under the hood each row carried a print flag, and a Crystal Reports template picked up only the flagged rows and produced the formatted list, full screen preview first, paper second. Crystal Reports in 1995 was the difference between "a database" and "the thing we hand to customers," and wiring it into VB taught me more about real-world software than any manual.

The other two buttons on that toolbar tell you everything about the era. Backup, which opened a dialog recommending you back up to a floppy disk. And Compact, which explained politely that an Access database fragments as you change it and offered to squeeze it back down. Both existed because I knew that if the file died, the business's price list died with it. I was young and paranoid about other people's data. That instinct turned out to be a keeper.

What it turned into

The app ran for years. The files show edits into 1998 and the database still being opened in 2000, which for a one-window VB tool written by one person is a respectable service life.

And it set the direction for everything after it. My first real app was a database app: get the data in cleanly, keep it safe, get it back out in the exact shape someone needs. A few years later I was writing freeware utilities, and a few years after that I shipped Universal Explorer, a commercial database toolbox that replicated and compared databases across vendors. That one I sold. But the pattern was set in 1995, by sixty-three brands of wine.

Everyone who has been at this long enough has a first real app somewhere. Mine kept a wine list. If yours is sitting in an old folder too, tell me about it in the comments. Thanks for reading!

Comments