I Want to Own my Own Software — Really?

Here is a plea from a small business owner who wants to own their own software:

“I had a programmer, who is no longer in the picture, develop software for me.  He placed the program on his server. I can use the program but, I cannot register others to use it, etc. I need someone to put the program on MY server where I have control.”

OK.  So you own the intellectual property rights to some code that helps your business succeed.  But what if your business needs change?  You still need someone to take responsibility for understanding that code, have the skills to modify that code, and be interested and compensated sufficiently to continue to support that code.   If you own it, now you are in the software business.  You need to keep an employee or a freelance web programmer interested in your business application long enough to survive the next operating system or framework upgrade, business process change, or hardware upgrade.

What if the framework vendor decides it no longer wants to support that framework?  Vendor acquisitions, product sunsets, or management changes usually result in someone (or a lot of someones) rewriting the same code over again every 3-5 years.   So now your precious intellectual property is made obsolete by forces beyond your control, those external forces operating behind the scenes that only seasoned IT executives understand all too well.

But you just want to run your business as efficiently as possible.  A software package made for your industry seems appropriate.     That is, until that vendor gets gobbled up by a competitor or makes upgrades to features you don’t use.  Again, you are back to  rebuilding into code your unique business process–your trade secrets–that make your business run efficiently.

Standards.  Yes, the answer is standards.  But what is the standard today?  When and how will that standard change over time, and will that affect your application development? This is a moving target that is at the bleeding edge of the software field.  For business applications that process transactions, does this really need to change as often as software vendors churn out new features?  Why should your IT support persons change more often than your accountant?

Business computer systems serve two purposes.  They keep track of Things and they keep track of Events (i.e. transactions).  For example: “Sold 34 Widgets on Thursday”.  “Widgets”=Thing.  “Sold 34 on Thursday”=Event.  Not a lot has changed in 40 years with respect to the technology needed to handle this.  HTML behaves like CICS.  Relational databases replaced ISAM.  The software industry’s penchant for “new and improved” is why spreadsheets run half the world.  But I digress.

If you focus on the SERVICES related to keeping order among your chaos, you will likely succeed with less technology pain.  Like having a good CPA keep track of your books or an ATTORNEY keep track of your contracts, having a good professional keep track of your software development will likely make you more successful, measured in your preference of either more profit or more free time.

So what is this type of “professional” called?  There isn’t one name for such a person.  There are no well known licensing boards certifying information technology professionals.  In fact, if you asked a hiring manager (or professional recruiter for that matter) what to look for in a freelance web programmer, they would list a litany of products, technologies, and programming languages.  If carpenters were hired like programmers, the interview for a “Walnut Guru” would go something like this.  If you read that link, you get my point.

Bottom line, technology matters, but only if you have the professionals who can sift through the pile and find your pony in there.

 

What is a Software Application?

In 1983, as an analyst for a respected information technology industry marketing research organization1, I once had a debate with another analyst on how to classify a database management system.  Was it “application software” or an “operating system”?

I argued that applications, or at least the processing logic of software applications, were being built in the database language, SQL, and this made it part of the application software arena.  My counterpart argued that database management systems controlled access to the disk hardware to the extent2 that no file system was required.  I said that the “file system” was separate from the “operating system”3, could possibly be considered “application software” by itself, and so on, and so forth.  I lost that argument in 1983, but I think today an analyst would be hard-pressed to succeed in convincing anyone that a database was an operating system.  In fact, today’s virtual software platforms turn present day “operating systems” into “application software”.

IBM’s VM operating system was just beginning to take shape in 1983.  Today, most companies are relying on VMWare to run their businesses and not looking back.  Desktop operating systems are even being “deployed” via VMWare to terminal emulators, now called Internet browsers.  How the evolution of CISI became Chrome today was a world-wide cooperative effort.

But is the Internet browser dead? Apple’s venture into the touch-screen user interface powered by client-based code, and Google’s foray into the same architecture with Android, has brought the “fat client” back.  With Apple it worked because they controlled the hardware and limited the user interfaces to a small number of dimensions.  Android has since blown that away in market share and a plethora of screen dimension choices and accessory options that create insurmountable cross-platform testing challenges.

There is a New Hope.  After ten years of existence, HTML5 and CSS3 are finally getting some attention. These two new standards bring back the Internet browser to the application software domain because they support a wide variety of user-interface controls, while providing greater control over adaptation to displays.  This forethought occurred before the invention of the iPhone because such is the evolution of software.

To stay ahead of these changes, reduce your ever-redundant software development efforts, and truly empower your staff to seek out new applications, to boldly solve the backlog of end-user demands, and breath new life into your business processes, you need to rethink the Internet browser as the primary user interface for your applications.

Konduit provides custom application development and workflow design delivered over the Internet that combines all IT services: database development, hosting services, data stewardship, and end-user support into a single plan.

Footnotes:
1 INPUT (acquired in 2010 by Deltek, Inc.), was bigger than Gartner Group at the time.
2 Pun intended
3 The file system is an API to the disk like shells are user interfaces.