Disconnected Subsystems

Systems rule the world. For almost every task, function, and process we have systems. Unfortunately very rarely they are aware of each other. Living in disconnected domains.

In my car I have a built-in navigation system. It has a nice feature of being able to select points of interest near the currently active route. I often use this function to find a gas station ahead. I have a Shell fleet card, so naturally Shell is my preferred station. The navigation lets me "spell" the name, it is enough to enter "SHE" and all Shells ahead of me are presented. Very nice. The car also has a fuel gauge (of course) and the onboard "computer" calculates the consumption and available range. But this data does not interface to the navigation subsystem, so the driver is responsible for selecting a station at an appropriate distance. Now, wouldn't it be nice to have the two talking together. I enter the destination. Be it Rome. Shouldn't this clever computer already plan refueling stops? This is just an example of a simple problem, we will probably wait a decade to have solved.

The heating subsystem in my house. It drops the temperature for the night, raises for the day. It heats water for morning shower. But it was not once or twice I was getting up earlier than usual and found only cold water in the shower. So when I set up the alarm clock on my BlackBerry smartphone, shouldn't this clever computer at least ask me if the next day I am willing to take morning shower earlier? Sounds simple from user's standpoint. But imagine the monumental task of interfacing Alarm Clock applications for all current smartphone platforms with all heating systems n the market? Honestly - I doubt this will happen.

I remember the fairly old story from 1990's. Somebody had to interface a PC-based subsystem to an old mainframe. They ended up placing a camera in front of the green CRT tube terminal connected to that mainframe. And doing image recognition on the other side. Today, Web Services simplify that process at the technology level. Modern open systems expose their properties and methods in universal way. Easy to consume and interface. But to complete the task we have to get to the level of actual user. Setting the alarm clock, I will not be calling my heating web service by hand. The app has to do it. But there is no universal way to magically interface all the applications. The task of integrating disconnected subsystems is monumental. It looks like humans will be the universal inter-subsystem interfaces for a long time...

Comments

  1. >> They ended up placing a camera in front of the green CRT tube terminal

    This has to be a joke :-)

    Any PC can "pretend" being a dumb terminal. In 90s terminals were connected to mainframes via standard serial ports, and all PC also had those standard serial ports. 10 years ago I used a PC app that "pretended" being a dumb terminal. That app communicated with the mainframe, and my app communicated with that app.

    ReplyDelete
  2. Not a joke at all... Often the issue, I have not covered here, are domain responsibilities among (sub) system vendors. Some simply forbid in their contracts to "touch" their systems. Hence various sniffing / scrapping methods.

    In my professional life I have procured a number of large scale solutions for mobile carriers, solely based on passive (high impedance) sniffing of signaling links.

    ReplyDelete

Post a Comment