Open Source, even then.
As I gradually migrated towards infrastructure and away from line of business applications, the reality of having to deliver applications to Windows and manage them on Windows began to dawn on me. To a developer used to centralised computing, with remote access through X Windows or terminal clients this was a considerable shock. However my first real Windows development project showed one of my most valuable character traits, I don’t give up easily! Without going into the gory details, here are some of the attributes of that first application, a system for capturing, storing, accessing and viewing large image collections:
- Very easy deployment
- Self maintaining code, i.e. a minimal system start-up application compared what was installed with what should be installed according to a central manifest, and updated itself accordingly.
- A very flexible storage model built on the concept of logical storage units, (a bit like VMS logical names on steroids), which handled the fact that images could be on removable CD’s, local disks, media libraries, networked disks etc and in different combinations.
- Data driven. The whole system was configured through simple text files and meta data definitions that defined the actual data structures in the SQL database.
- Globally unique naming of files, to avoid cache conflicts between image collections from different sources accessed at the same client
The result was an incredibly cheap system to purchase and deploy, that could run on a laptop or on 1000 networked desktops with the differences all defined in its data definitions. Data collections could be distributed on CD, with updates on floppy disk, or networked but transparently cached for fast WAN access.
My team, (a very small one), built this system making extensive use of freely available software libraries, (for Visual Basic), in a very short period of time, and by having a small team with a leader with a clear vision we kept the concept intact from design through to initial deployment. Although like all systems entropy resulted in some degradation of that concept over time, resolved only when a friend of mine reinvented the system as a web application with similar clarity of vision.