_ Someone pointed out I had said that Jack Kreindler was at 56 Harley Street, whereas it is actually 76 Harley Street, a very different place. Correction now in place. _
Yesterday I attended the ONEIS Open Day. ONEIS is a new way of managing information created through a collaboration between Ben Summers and Jennifer Smith. Ben is a programmer and Jennifer an information management expert. Between them they have created a system which may be the harbinger of doom for the relational database as the way most people manage their information.
Saying that the demise of relational database is nigh, may seem a bit over the top. But we have the NOSQL people (MongoDB, CouchDB, Cassandra, etc.) bringing new ways of managing persistence, and now there is ONEIS which is a data store, but is neither SQL nor NOSQL. ONEIS treads another path, that of the object store. The critical thing that ONEIS brings to the persistent data store game is that of not enforcing a schema that remains static throughout the life of the repository. Instead, data and meta-data are held as objects with links. Simple, obvious, and very effective. Why is it so effective in the eyes of the current user base? Because of the attention to the detail of the user interface and user experience.
Having a domain expert be half the development team, it is nigh on impossible not to have a system that works for the domain expert. In this case the domain expert has had an excellent grasp of what works and doesn't work for a wide range of people using the system.
The presentations by the ONEIS folk were interspersed with "stories from the trenches" of people already using the system. Most of these were interesting, and certainly supported the marketing of ONEIS as the next big thing for users, but one in particular stood out as a show case for what is wrong in traditional information management systems and what is exciting about ONEIS.
Jack Kreindler, Medical Director at 76 Harley Street, a private medical practice, definitely not part of the NHS, talked about how they are using ONEIS to create a complete, useful and usable electronic medical record system. The splendid thing about their system is that it works for the patient, the medics and the practice. This is something the NHS electronic patient record system can only dream of becoming. Yet Kreindler's system is exactly what the NHS system should aspire to be.
What is so different? Well two things. First Kreindler's system has evolved from a small system that worked to a larger system that works, albeit with a very different schema to the original. Secondly, it has been evolved by the users as they use the system, i.e. it has changed in response to perceived user needs. Contrast this with the NHS system. Firstly it is a government procurement which implies massive upfront specification and huge documents, almost none of which is actually useful -- even though very large amounts of money are given by the government to the contractor. Secondly, there is an attempt to create a huge working system by direct fiat, and as John Gall has pointed out in his work on Systemantics, big upfront design, and direct creation of big systems, just never works. The government is seemingly unable to learn this simple lesson. Time and time again, huge projects are let and fail. Or is there a conspiracy theory here that the contractors have a deal with the government to extract vast amounts of our tax money in exchange for doing nothing useful?
The moral is of course that Kreindler's system looks like an excellent prototype for the NHS to pick up on and evolve, stage by stage, into a national electronic patient record system. Sadly this is highly unlikely to happen as government procurement is so entombed in waste and failure, and isn't going to change.
But let's go out on a high note. The beauty of ONEIS is that it allows the schema of the repository to change over time according the the needs and desires of the users. Relational databases just do not have a chance in the face of user evolvability to match need that the ONEIS way of doing things provides.