Object Linking and Embedding
Anyone remembers this? Before .Net, before ActiveX, before COM there was OLE, the way that various software products could communicate one with another. The idea was that a software product would delegate various tasks to another product which was better equiped for it.
I remembered it a few months ago when I went to a head-hunting agency and I watched the secretary punching in my information. She was jumping from Word to Excel, back to Word, back to a different Excel file, etc… Very, very ineffiecient. I could not help having the feeling that she was actually taking on the role of a software program, that all the repetitive jumping from one file to another could have been analyzed as a business process (it is a business process after all), abstracted and implemented.
Back in the days when desktop computing ruled one way to implement this business process would have been by using OLE. You would have basically created a shrinkwrapped product (anyone remembers this one too?) that would have delegated thru OLE various tasks to products that did them best: Word would have taken care of CV editing , Excel would have taken care of managing the client information, Access would have managed the CV repository, etc… Your product would have concerned itself with the management of the tasks of a head-hunting agency. Your product would basically take different existing software products and put them together in a meaningful way, effectively implementing a business process. This approach would have been better than creating proprietary software for all the parties: the developer would not have had to be concerned with creating a good text editor and the customer would not have had to retrain its staff because they were already familiar with the various pieces that make up the product. If your product was well designed it could have been able to plug different products (let’s say different word processors) in your business process so that the secretary would continue to use WordPerfect instead of Word if she was proficient in it. Your software product would have been tailored to your customer and its business process.
Unfortunately, this type of desktop mashup never occured. More and more proprietary software was churned out at great costs for everybody involved. Small customers continued the mundane practice of copy and paste (in some cases to this day) while big customers shelled out big bucks for `solutions` which were sent to the recycle bin the moment the web revolution took place.
Hopefully, the current `mashup` mindset will put an end to developing huge elephants and make developers concentrate on processes rather than on infrastructure. Anyway, it is more fun.
