Thursday, June 2, 2011

MS Office is a problem

Microsoft word and excel are becoming serious problems. They are like drugs almost in that people in professions all over the world couldn't function without them. The same could be said about electricity so what is my point? My point is both of the programs put handicaps on productivity potential. Writing and data analysis aside the programs have been integrated into businesses to act as information carriers in the form of forms them selves.

Everyone has probably filled out a form that exists as a Microsoft word or excel file. Applications, interdepartmental requisitions, background check forms... the list of forms that are filled out in MS word or excel on a daily basis is staggering. Now i'll admit this is better than having to hunt down a paper form like 20 years ago but this is still a dead end. These forms are essentially a way to move information (data) from one entity to another, it's great that the conveyance is paperless but they require a person on both ends. Addresses, social security numbers, dates, names, all of this data on these office file forms are essentially trapped in the form unless a person looks at it. Now this information likely started in a data base, was looked up by the person filling out the form, emailed in the form, read by a person on the other end and then entered into another database. There have been standards out for years now that take both of the people out of this process. It is called extensible markup language (xml), it is a scripting language that requires that the form be defined once as a schema or DTD and then any simple web software (such as java script) can be programmed to pulled data from a data base and create an xml file automatically. If both the sending and receiving entities have access to the schema then they can ensure that there software can write or parse the xml file flawlessly with no human intervention. Even if the source of the data has to originate from human entry by design a very few lines of HTML can be written to make text entry spaces appear on a web page for data gathering and then some java script can take the entry and generate the xml file. All of this can happen with orders of magnitude less memory and processor time than opening and running Microsoft word or excel.

Office programs are overkill for this kind of information traffic. It's like constructing an imax theater just to communicate the names and phone numbers of training session participates for a particular training session. Just consider how quick you can blaze through links on twitter. Then compare that to how long it takes to open a large form in MS with macros. Oh and word can freeze completely deleting hours of work. Websites can be built to constantly save your work instantly (google docs and blogger) with some java script so even if your computer explodes the most you have lost is 15-30 seconds of work.

The problem is HTML, XML and JavaScript are foreign to people outside of computer science type fields like software engineering and web development. Yet people of all disciplines are making and updating these forms in MS office programs all the time. They gravitate toward office because it's easy to learn but as i highlighted it's a dead end to productivity. The solution lies in secondary education. These scripting languages are not hard to learn. They don't require a mastery of discrete math or data structures. A high school Junior could pick up XML in a week or two. Arming tomorrow workforce with these skills is crucial. These scripting languages should be a mandatory part of every high school curriculum.

Why does everyone need to know how this stuff works? It's because forms and information transfer are never static. Now when a company decides to do some web based data gathering from user input they rely on web developers to do the code. When slight tweaks need to be made, they are helpless without the web developers. For smaller companies that means either maintaining a costly ongoing contract or letting the required tweaks accumulate until they can be contracted as a large project justifying the cost of paying for the web developer services. If the majority of the graduating workforce was familiar with this web standards, then tweaks to web sites would be done as needed since everyone could easily update them.