Today's word of the day is brought to you by the letter "W". And that word is "webification."
No, don't bother calling up dictionary.com for this one, we just made it up. (Of course, I had to go try and dictionary.com suggested verification, vilification, vivification, and my favorite: vinification (pours glass of wine).
Having given birth to this neologism (clearly today is the day to throw $5 words around), we have high hopes for it. As we gaze fondly on it lying in its little crib, hoping we don't have to change its diaper any time soon, we foresee it attending all the best schools, excelling in sports, and achieving widespread renown and recognition.
But what exactly is this new creation, this spawn of ours?
You know all those really really old desktop apps cluttering up your c: drive? The ones the IT department made long before you were hired? The ones with a user interface that makes you think of that sport coat Uncle Larry has worn for Thanksgiving dinner since you were four? The ones were you can almost smell your Grandfather's attic when they start up?
Yeah, those apps.
Let's briefly look at three relevant points:
- Those Really Old Apps are written in Really Old Languages now understood only by Really Old Developers who, if they haven't already retired, are about to.
- Users are not just using Windows desktop and laptop computers to do real work anymore. They're also using Nexus phones, iPads, MacBooks.
- Despite years of work improving sofware engineering practices (Agile, Scrum, TDD, etc), writing software from scratch is still a failure-prone, high-risk endeavor (yes, I know your code is always on time and on-budget, and your users never change the requirements on the fly, but other's do).
Some of those old apps will stick around forever, just as they are or perhaps wrapped in a thin layer of services that can be consumed by something else.
Some of those old apps can be replaced by Excel, or Dynamics, or SAP, or Salesforce.
Some of those apps are so terrible but necessary they should be rewritten from scratch (see point 3 above and best of luck buddy).
But some of those old apps should be webified.
Having successfully avoid actually defining our new word for the last dozen paragraphs or so, let's cut to the chase. Taking an existing app and getting a browser-based client so it's no longer captive to a Windows desktop is what I mean by webification.
What kind of apps are we walking about?
First of all, they need to have real business value to the organization. If you are still running this app, it's because it does something useful for someone. It might have dozens, or thousands of users; it might represent some proprietary formula, algorithm, or process that provides competitive advantage; it might be the thing that gives the CEO a dashboard she's very very fond of. But it has value.
Second, the code isn't terrible. Yeah, I get that every piece of code, looked at later, is crap. But even mediocre code that has been running for years is probably pretty thoroughly debugged and reliable. And if it has business value, arguably that also means it has encoded algorithms and business logic that's important and functional.
Third, the app needs modifications on a regular basis--either to implement new functionality supporting the users or to stay current with external changes (regulations for example).
Once webified (webificated?), your users can use any ol' device they want to access the app, including the ubiquitous smart phones et al since it now runs on a browser. (Of course, if you have control-rich forms in the original Windows version, some thought will be needed to consider how to make them usable on a smaller form factor. We leave that exercise to the reader.)
How does this webification take place? My recommendation is to look into WebMAP, which can avoid the costs, perils, and time needed to do a rewrite while still meeting the goal of maintainable code at an affordable investment.