10,000 Foot Overview

(Ref Id: 1262462123)

By now you have probably read the 'About' section of this website. If you have not, you might consider reading it. This site is all about the ParadigmLIMS project, an attempt at rewriting a previously released free software LIMS with some (hopefully) better design techniques. However, rather than just writing a technical manual I've elected to use a kind of feng shui methodology where the new system is at the center of the discussion. This makes the new system the centerpiece with everything else around it in an aesthetic pattern to create a sense of harmony.

Years ago I remember seeing a one-page LabWare ad in Scientific Computing magazine that showed only a serene picture of a mountain. At the time I thought their marketing people were lost their minds but after some time and reflection I realized that it was very subliminal -- people want their LIMS to be unobtrusive in their work. Interaction with a LIMS should be like floating by the smooth-flowing, calming image of the mountain range rather than "painful" as I heard one laboratory manager refer to it. I will strive to make this experience as much like a cordial discussion as I can.

The thing to remember about a laboratory information management system is that it is governed by two main types of constraints -- internal and external. The internal constraints are purely conceptual and algorithmic. When one implements an incomplete or incorrect design an internal set of constraints is created that will eventually cause trouble when the software needs to be enhanced or extended. External constraints have to do with computing in general: networks, computing speeds, power consumption, communication standards, and even industry trends (netbooks versus PDAs versus web-based computing versus ELNs for instance) can create another set of very relevant constraints that also need to be addressed.

I'll give you a quick example of how both of these forces can be relevant when considering using a particular LIMS. A business analyst once asked me why her company shouldn't just buy a cheaper system -- essentially she was asking what the difference between her existing commercial system and another vendor's solution was. The proper answer has to do with the internal and external forces. The software may be written in such a way that it is difficult or impossible to repair the problem inexpensively. In the second sense, external forces may have changed such that the system cannot be easily converted to match the changing environment. Think of a Morse Code machine after the invention of the telephone for example. When technology changes customers ask for features to take advantage of it. In software if the code is written like spaghetti adding new features destabilizes everything, so smart

Here on this project we're faced with the awesome pressure of both forces. Internally the FreeLIMS system used coding techniques that hurt extensibility. If you have downloaded the FreeLIMS source code take a look at something like the User.java. The first line tells you something very interesting:

public class Users extends javax.swing.JPanel 
implements TreeSelectionListener


So, every user extends JPanel? This means that the User class is actually just a GUI element. Think about this for a minute -- what happens when you want to use the same User class in a web-based version of this application or elsewhere? The User class should not be used here. Instead, there should be something like a UserGUI class that utilizes a User class or perhaps extends it.

As far as external forces go we have to be honest and take a look at the current market for LIMS in general. I'm a firm beleiver in giving something away that actually has value. That means that this system should share enough features of a commercial LIMS that a laboratory could proudly say they have standardized on it.

I hope you enjoy this site and please click on the Contact link above and join me on Twitter. There is no release schedule for this project as of yet so I wouldn't fall in love with the idea of having a finished rewritten system by a certain date. However, the system will continue to be licensed via GPL so when it actually is finished (or at least stable) you should feel at liberty to do whatever you want to with it.

Go Back

Citation: 10,000 Foot Overview. (2010). Retrieved Thu Mar 23 00:16:36 2017, from http://www.limsexpert.com/cgi-bin/bixchange/bixchange.cgi?pom=limsexpert3;iid=readMore;go=1262462123