Mobile devices bring back that old client-server feeling
It's deja vu all over again
If you see the phrase “any time, any place, anywhere” in relation to mobile access, and are tempted to point out the language redundancy (any place, anywhere), then you are probably not old enough to remember the birth of client-server in the late '80s and early '90s.
If, however, cheesy music from a Martini ad is now running through your head, you probably were there and can recall exactly how client-server panned out.
You will remember how liberating it all seemed. Business groups and departments no longer had to wait in line to get their requirements dealt with by the high priests of the mainframe or the custodians of the VAX, the HP3000 or whatever other mini-computer central IT had adopted.
One giant leap
Chuck an Oracle database onto a Unix server, do a bit of that new-fangled 4GL development, fire up a few workstation clients and you were sorted. And that GUI running on your desktop – so much nicer to use than the old green screen terminals – was a massive leap forward in usability.
Over the years, of course, the realisation dawned that client-server brought with it as many problems as it solved. As client machines multiplied, developers ended up having to develop and test for a whole range of workstation specs and environments, and whenever something changed operations staff had to worry about getting new versions of software out to every desktop.
Users discovered they could create their own little offline empire
As support became more complicated and users discovered that an intelligent client with local storage meant they could create their own little offline empire, the overhead, costs and risks began to escalate.
Following a period of re-centralisation using Web-based architectures, it looks as if we are beginning to come full circle. When some of us old-timers see how the next generation is getting all excited about using mobile apps as front-ends for accessing services across the network, we can’t help noticing parallels with the past.
Just as they did two decades ago, people are talking about ease of use, flexibility, and how great it is to be able to store your stuff locally or copy central data from the network so it is available offline when you need it.
With these new intelligent devices (this time lightweight notebooks, tablets and smartphones), so much can be done to liberate users from the clutches of those killjoys in the IT department (sound familiar?)
But things are arguably a bit more challenging this time around, at least from an IT perspective.
With regard to endpoint proliferation, it is not just a matter of deciding whether to support the iPad or iPhone, popular Android devices, less popular Android devices, old Windows 7 phones, new Windows 8 phones, Windows 8 RT, BlackBerrys, Symbian phones, and so on (phew).
Driven by consumer-calibrated release cycles, devices are superseded within three to six months, which means each platform is a moving target in its own right.
On top of that, we have Byod (bring your own device) and cloud storage services such as Dropbox to consider. All of this creates a set of challenges that makes client-server look easy-peasy.
But surely we have as our friend that ubiquitous access mechanism known as the browser? With a few tweaks of the server-based application to deal with different screen sizes and browser standards, and knowing that all data stays on the server, can’t we be pretty relaxed about all that client-side diversity?
If only that were the case.
In the real world, the fast and reliable connectivity upon which this model depends just isn’t there in most countries at the moment – hence you quickly get back to local applications and offline data storage, with a heavy reliance on replication and synchronisation for more critical applications.
But at least HTML5 and cross-platform development and execution environments are now with us to save us from all of the historical overhead associated with client-side software. Or are they?
Time for action
The debate continues to rage about whether HTML5 cuts it and whether cross-platform environments pose too much risk of lock-in, not to mention user interface compromises so those native apps keep accumulating.
The emergence of mobile device management and mobile application management solutions that allow us to monitor and control everything out there can help but the truth is that it is all pretty fluid at the moment.
In the meantime, the genie is out of the bottle with regard to user expectations of Martini-style access and Byod. IT departments don’t have too long to figure out how to enable as much user freedom as possible while keeping costs and risks under control.
Arguably the most urgent task is to deal with that most basic of requirements in the mobile context: email. Here, at least, the combination of messaging standards, Webmail interfaces and back-ends that support larger inboxes (to minimise the need for client-side storage) provide an increasing number of workable options.
What is your experience? Where do you see the biggest challenges and questions? And do you have any tips that might help others navigate the mobile-client minefield?
Let us have your thoughts in the comment area below. ®
- Dale Vile is research director and CEO of Freeform Dynamics
My thoughts are: Yeah. What comes around goes around. Oh and I've yet to find an HTML based front-end that felt as solid as a dedicated application. Even when they are just talking to localhost they feel klunky.
When I started programming it was the age of DOS and the idea of sharing data between different applications was scary. If you were lucky they both understand CSV (with a bit of effort) but most often you were stuck. XML was supposed to be a better CSV (amongst other things) but that hasn't entirely panned out. It can do the job but it can really do your head in sometimes.
So now we wonder how to get data from one VM to another... hmmm.
On the plus side IT seems to be doing well creating jobs for the boys. Those of us who understand it should be assured of employment for as long as we want it :)
While client-server was not the panacea one thought it would be let's not exaggerate the other way: CS was way better than mainframe-dumb terminals and part of its limitations also came from exploding demands for computations and data management.
This time it's a little different as someone mentioned above. It is devices connected to cloud data centers, with virtual server programming, management and utilization miles ahead of what it was, a payload better shared with more reliable, secure and connected devices. There are still many challenges such as security especially if many byod types are authorized, and new risks with interconnected cloud services/apps but in other ways it is more reliable with lots of redundancies that many corporations could not or would not afford (communication redundancy, server redundancy, power redundancy and so forth).
Also personally I have never worked for a company or even know of a company through business acquaintances where byod is primarily used. While some people use byod at work, it is only in addition to a main computer where 90% of the work takes place. In addition, it may not be true everywhere but in my company byod were not supported by the company, except for ultra basic access such as wifi (with internet access not corporate access and printing, the same access we gave external people). Only company notebooks and smartphones were supported because the cost of setting up, maintaining and supporting byod was too expensive and did not make sense.
Surely no discussion possible on the subject? If client software was designed that well, client server would have taken over completely.
However, I really don't think there is any argument. Successive waves of client/server have fallen on the rocks of cycle time, bandwidth, platform diversity, network access, and hardware cost. Remember when a "thin client" cost as much as a reasonably full featured desktop? Not long ago. Now the technologies are converging; the Nexus 7 and its ilk are thin clients that would have seemed inconceivable in the mid-2000s, bandwidth and the other network issues are getting sorted, and platform diversity is, despite the best efforts of Redmond and Cupertino, shrinking.
But IT does need to get a grip on BYOD. It's a lazy solution by people who don't want to do hard thinking about security and have decided it is easier to just let the shouty people have what they want. They are largely the same shouty people that cause companies and banks to go pear shaped, so somebody needs to persuade the bean counters that not only does it cost more in the long run, in a year or so when the hardware is completely commoditized, the shouty people will just be back demanding that IT provide something that works and all the effort will have been wasted.
We could all have a discussion about how fat is too fat when it comes to client software.
Or we could all have a discussion about whether Nicollette Sheridan is too fat, too thin, or just about right in the Martini ad :
Yes but this time we have SAAS on the other side!
Nice article and now I feel old indeed! I remember when Oracle scrambled to put a client-server layer (SQL*Net) on top of its database and how many users ended up cooking an unhealthy amount of MS Access databases on their "powerful" PCs!
This time however, we're having the SAAS this going on where vendors are climbing up the food chain and no one is talking of Data or Application but rather a Service. It's all happening of the cloud and the package comes with mucho bells and whistles. Having said that I'm starting to hear of off-line Salesforce!