Different Is Awesome
Last updated on: 8/5/2011 4:05 PM
Created on: 3/21/2014 2:18 PM
Sometimes the cool innovations are the ones that aren't met with large amounts of fan fare. In the world of pinball there was a game designed by George Gomez titled NBA Fastbreak. The playing public however didn't really take notice of it and in many cases mocked the game for not being like other commercial success titles that hit the streets before or after it. The biggest complaint was that it was about basket ball. The designer integrated the two games so well, including using basketball scoring, that being different was deemed bad. Of course there is me, who has to be difficult and actually like the game. Different I find is good. As a student and early software developer I did the utilities, and small applications and the occasional web based stuff. Where I found my calling however is in the world of frameworks. They don't teach that technology or design in school, the only way to master it is hands on while people question your design decisions instead of going with more traditional ones.
What essentially began back in 2005 as a prototype for a simple smart phone application has ballooned into the primary client platform for my company in the area of performing data security. Although I shouldn't be surprised, I returned to DePaul University to study in the Distributed Systems concentration to build such a framework for the Internet. Ten years ago, I was in my first quarter as a Master's student. I was borrowing an old Toshiba Techra to take to class only to learn that DePaul didn't want computers up and running during lectures. I would end up saving myself a lot of trouble and just telnet or FTP my class work between home and the DePaul servers. This is also the time I got my first real cell-phone, the Motorola Star-Tec, whose biggest attraction was a built in phone book for storing contacts. Before I would graduate with my degree, a new technology toy would emerge: the PDA. Nifty little hand held computers running Windows CE.
I have lots of old school memories to cover under the general heading of Operation 2010 but lets jump back now to 2005. Windows CE version 4.2 became known as Windows Pocket PC and there was a large amount of interest in having an application that could protect the files on the devices in the events of loss or theft. There were three attempts to accomplish this request. First there was a mock up of our desktop software done in Java for the device, but that was slow and didn't look at all native. I then redid the Java mock up as an MFC application. While this was better and proved we could port our desktop software to PDAs the interface had serious issues. I observed a number of business men using their PDAs at the hotel bars and noticed a trend, minimal user interaction. I used this to help pitch the idea of work flow data security, which would be a new concept in our company's arsenal. Management essentially didn't see any customers interested in protecting the flow of data. However Pocket PC was about to become Windows Mobile and there was an interest in being on of the first among our competitors to be on this platform. I was told I could develop my prototype on the PDA/Smartphone platform and then they will evaluate how it goes.
It took about a year, I cheated and used some other modules I wrote to provide short cuts, and not only had work flow security running on devices, but also earned the company its first Certified for an OS logo. (If you see the Designed for Windows Mobile on our products, that was me.) I started porting my prototype back to the desktop in an effort to bring it into our main stream product line. Again, management questioned if there was such a need since we had an 8 year old app, while long past its life expectancy, could still be sold. The good news, a customer saw the prototype and said they would only be interested in that product. The bad news, I now had to add features to a project that it was never intended to have.Read about the SecretAgent Mobile for Pocket PC application
ISC focuses on X.509 PKI to perform real-time (or near real time) control of data. These functions were always built into our products in different ways thus requiring each project to get updated in a way it needed to for the additional supported functionality. In most cases, one product for one platform would have more features than other platforms and would have more functionality than another product. As much as our sales staff would love to sell an off the shelf solution, no two customers were alike and customizations were the standard practice. At the root of both these problems is that the standard software design practice was to go from top-down. I essentially had to start from scratch and this time I chose to design the new products using a bottom-up approach. After a decade of working in this area I determined that a person's contacts was the root of the magic of our protection services. I then built the class models around selecting people for memberships on access control lists and how to verify that they are eligible for those memberships. Since no two developers could present the same information the same way in two different apps, I chose to make the UI part of this framework and the developers would just implement interfaces to customize the layout to their needs. Finally, the applications we wanted to sell to customers to run on their computers would sit on top of that framework. Thus, the platform known as Security Console was born.
The first task was to put my workflow in the Security Console platform. About this time another product was do for an overhaul so it could meet another customer's requirements. All the feature requests and functional support enhancements were already implemented in Security Console (SC). All I did was port the code base over to run in SC. Once a few UI glitches were worked out the end result as new product that had smart card support, access to our contact libraries, and the ability to look up people in directories all with just a few weeks worth of work. The most important results of this new platform were a consistent look and feel across our product lines, the same functionality exists in our product lines, adding in support for a new standard can take place in just one spot, and the UI conforms to OS requirements to be more intuitive to the end user.
Starting in the middle of 2009 work began to remove some ad-hoc last minute additions and integrate those ideas fully into the framework. Thus work on Security Console version 2 began. Jumping feet first into my first framework project was a learning experience. I see where things could have been done more cleanly, and most importantly, optimized better. That NBA Fastbreak pinball machine had to do the same as an amusement product. The designer and software people made use of what the platform provided to create a unique experience of pseudo-basketball while preserving the feel and reliability of their pinball product. There are people today who underestimate the coolness of their game design. There are people today who underestimate the potential and capability of the framework I built and where it is going for version 2.0. If you know me from my pinball passion, there is no such thing as just running though and making some minor tweaks and changes. I plan on taking this project directly over the edge!
Wolffy's Over The EdgePower of Progress Back to School Randomness What In the World Happened To You? 8th Grader Game Coder When Hobbies Take Over Blackout: The Great Disconnect Different Is Awesome