Social Connections

Where's My Elevator?

If I ever got a job teaching introductory computer science, the first major assignment I would give would be to write an algorithm for the optimal distribution of a bank of elevators. If the current state of the art is any indication, everyone would fail.

I know it doesn't sound thrilling to most, but there's actually nothing more intriguing than standing in the lobby of a large building and watching the crazy paths some elevators take to pickup their cargo. Often, you can guess the algorithm used by just observing the traffic. There's the Stay-Where-You-Are-And-Wait algorithm. This one usually lead to a mad dash from all floors when the first request comes in. Others employ the sometimes more optimal Half-Sit-On-The-Top-Floor-The-Other-Half-Sit-On-The-Ground-Floor algorithm, which usually leads to confusion when picking up passengers in the middle ("Are you going to go get him, or shall I? Me? No, you? Wait, I'll get him. Oh, okay, you've got him.") Then there's the Whichever-One-Is-Going-In-The-Same-Direction algorithm. You can be on the 2nd floor with 10 elevators sitting on Ground, but if you push the 'down' button, you'll have to wait as an elevator from the 40th floor slowly makes its way to you. Apparently, elevators are subject to a new law of physics which makes moving a short distance, stopping, and returning, too difficult.

There is nothing...NOTHING...more frustrating than waiting for an elevator, only to have it shoot right past your floor! Unless, of course, it's finally getting an elevator to stop at your floor, only to find that it's filled to capacity and you're staring face-to-face with 20 stressed and cramped passengers who are all silently giving you signals that if you even attempt to enter the car, you should not expect to exit alive.

The building I used to work in had a frustrating flaw in its elevator control system. Say I was on the 5th floor and requested an elevator going down. It would dispatch a free car from, say, the 10th floor to come and get me. If another elevator going up happened to stop on the 5th to release a passenger, the algorithm was totally confused. My elevator would think "Well...I was called to pick up Don on the 5th floor, but I see there's already an elevator on the 5th, so he can take that one." and would bail on coming to pick me up. Of course, I didn't want to go UP with the rest of the people in the 5th floor car, so I essentially got dropped from the system. My request light would be extinguished, and I would have to try all over again.

Modern elevators have been in existence since the mid-1800s and the technology hasn't really changed all that much over the years. The system has become automated, and significantly safer, but modern advances in computer systems has done little to help optimize the flow of traffic. I witnessed one valiant effort on a recent trip to the West Coast. 

My hotel was equipped with an elevator system with NO floor buttons inside the car. You had to tell the elevator which floor you wanted when you called it. This way, it could optimize elevator usage. For instance, to get to your room from the lobby, you would press your floor number on one of a series of panels in the hallway, and the system would tell you which elevator to take when it arrived. Only the named elevator would be told to stop on your floor. Of course, this led to all kinds of interesting scenarios. If you got on the wrong elevator, you were toast. If you happened to be chatting with your colleagues as they called the elevator, and you all entered the same one, you had better hope they were staying on the same floor as you. There was nothing funnier than seeing people walk into a waiting elevator car, wait until the doors closed, and then look for a button to press, not finding any. Talk about a feeling of entrapment!

One additional feature of this system, was that you could simply 'scan' your room card in the elevator hallway, and it would know what floor to send you to without you even pushing a button. theory at least. In my case, when I scanned my room keycard, the system requested an elevator for "Floor 31" on my behalf. Unfortunately, my room was located on the 21st floor. That's progress for you.

I'm sure that being in the elevator business must have its ups and downs (Come on! You knew I was going to say something like that, didn't you?). But I think it's time we put some real effort into optimizing the algorithms in these systems. If you ever have me as your computer science'd better be prepared!



A Quarter Century in Tech

Twenty five years ago today, on May 19th 1987, a young, naive software engineer fresh out of university, took a deep breath and walked through the doors of his first full-time job. That software engineer, was me.

The tech world was a different place then. There was no Internet. There were no iPhones. Twitter was strictly a bird sound. And contrary to what my kids think, yes, there were computers, but a fast computer was an IBM PC '386' with a math co-processor. My first job, at Canadian high tech giant Cognos, was to use the beast to program a 4th generation language called "Powerhouse". Powerhouse was designed to run on much larger 'mini' computers,  so the challenge of building a PC version was daunting at times. Sharing files among team members meant using the 'SneakerNet'. Without a proper network to share files on, SneakerNet was simply a set of physical binders with floppy disks in them. If you wanted to update a master file, you had to put on your 'sneakers' and walk over to the master cabinet where the binders were stored. It was much less efficient than an online system, but you certainly got your exercise!

I remember the day the new '486' PCs arrived. They were so fast that you could ask DOS for a directory listing and it would give it to you so fast you couldn't read it before it scrolled off the screen. Now that's fast! The building wasn't wired to have so much power drawn from each cubicle, and I can remember blowing many circuits on our section of the floor. I had a secret weapon though...a 30ft extension cord. That meant I could simply plug my PC into the extension cord and walk it to the other side of the building and get power from there.

One day, the IT department connected to this new service called the WorldWide Web. The Web was only available on a single machine in the glassed-in computer room. As a new technology guy, they asked me to take a look at it. I remember the first page I went to was a tourist site for Hawaii. It was so cool to think that I was actually connected to information in a distant land! "Hmmm. Who knows...this thing could catch on." I was contracted by the company to work after hours and create the first Cognos website. I learned to write HTML by hand, and soon was alive!

The business changed from creating 4GL software, to this new thing called 'Business Intelligence', and our technology changed with it. Our PCs became 'connected', and even replaced by connected workstations. Our development environments matured, and we dabbled (somewhat unsuccessfully) with object oriented languages. I became a graphics guy and had a system with a special high performance graphics card costing thousands of dollars. Of course, whatever device you're viewing this blog on likely costs much less, and is orders of magnitude more powerful. Such is the world of technology.

After many years of fiddling with technology, and the occasional award and wildly successful product, I eventually landed with my dream job as Chief Technology Officer. It's the only position I ever aspired to. CEOs work way too hard, but CTOs get to play with new stuff and experiment all day. I always seemed to have a new gadget at my disposal, with lots of people asking me to show them how it worked, and that was key to making the experience fun. Blazing new trails is always more interesting than following in someone else's footsteps.

Our acquisition by IBM only opened the aperture of possibility. Still with a CTO role, but now having access to world leading technology, and an entire division of top notch research talent meant more places to play.

In the past 25 years, I think I've learned a lot about technology and how it applies to business. I've learned from leading experts, and from customers always pushing the envelope. I've had the extremely good fortune of traveling the globe, and speaking to tens of thousands of people about technology trends and directions. Perhaps I've even influenced a few.

One of the best parts about a career in high tech, is that it is always changing. From the PC to the Internet to social media to whatever the future holds. Guaranteed, it will be exiting and challenging.

As my friends and family know, this journey with Cognos/IBM, lasting a quarter century, is about to end for me. Retiring next month will provide me, oddly enough, with even more opportunity to parlay my knowledge and interests forward. I'm looking forward to the next 25 years in tech. We may still not have our flying cars, but I'll bet it will be spectacular!



Playing with Time

Of all the powers we have as humans, there is nothing we are more powerless against...than time.  -  Don Campbell

Many of the great science fiction authors of our time have dealt with the wonders of time travel. From H. G. Wells to Isaac Asimov, they have depicted a world where the human race has finally mastered this elusive ability, and made time its master, although often to some unforeseen and tragic conclusion. Even classic films such as "Back to the Future", "Bill and Ted's Excellent Adventure", and "Hot Tub Time Machine" have taken a crack at it. Okay, maybe not the 'classic' films you were thinking of, but you get my point. Controlling time has always been a human fantasy.

Well, maybe we already control more than you think...

Some of our most successful technological advancements are really time modifiers. Look at this blog for example. I write a post, and sometime in the future, when you're looking for inspiration and a fascinating read, you dive in. It doesn't matter what time these thoughts run from my brain to my fingertips, you can enjoy them whenever you wish. It's really the same concept with email, which is why I prefer it to instant messaging, and voicemail, which is why I seldom answer my phone.

Entertainment is much the same. I almost NEVER watch a live television event. My digital video recorder captures all the shows that are interesting to me, and saves them on its disk for me to watch whenever I wish. I'll even record a live broadcast so I can watch a pre-recorded show rather than be at the mercy of time. The power of pressing PAUSE, going to the kitchen for a snack, and returning exactly where you left off, is a heady power trip!

One of my favourite hobbies is photography. Essentially, that's the art (and science) of forever capturing a moment in time. That moment will never happen again. Think how important old images are to you. Pictures of your youth. Your wedding day. Your child's birth. Freezing time in an instant, so you can recall it later. Often, the element of time, rather than their artistic nature, is the very thing that makes these images priceless.

The list of impactful time-altering technologies goes on and on. You could put up a good argument that the microwave alters time too, "I don't want to eat in 30 minutes. I want to eat in 30 seconds!" How powerful is that!

So the next time you're reading "The Time Machine" or watching an episode of "Dr. Who", remember that time altering technology is not as elusive as you think. Now if only I could use some of this power to restore my constantly receding hairline.