The Splitting Pendulum
“The Cloud.” It’s something I’ve been keenly interested in since the very beginning, even though I now realize that back then I had no idea what it meant. I mean, I thought I did, but I’ve since learned better.
I’m one of the more, er, seasoned developers at Jive. I’ve seen a lot of changes in the industry since my career began almost 20 years ago. Back then, client-server was en vogue, but the job I had at that time was writing terminal-based software for UNIX systems. Software like that was based on the state of computing at the time: Large-scale processing was expensive, so you wanted to spend your money on one “powerful” (at the time) server to run your apps and buy cheap terminals to let everyone use the app. But right as my career was beginning, desktop PCs were becoming much more affordable and much more powerful, and application development was switching to where you would put more processing power on the desktop, thus providing a richer user experience, and share the data in a centralized database.
I kind of missed that technology trend and had to spend some time catching up. Since then, we’ve seen the pendulum swing back toward the server. Client-server offered a rich experience, but maintaining a different codebase for each client OS was a pain, especially since so much of the code was similar. Therefore, we started using middleware and then web services. Then we got fed up with managing installations on every desktop and tried writing web applications, and the pendulum swung further towards the server. Today, web applications can offer truly rich user experiences, and the pendulum seems to have come all the way back to the server side.
Except that isn’t exactly what’s happening.
The “web applications” of today aren’t exactly what we thought they would be a few years ago. We thought that rich web applications would take the place of rich desktop applications and that we would be doing everything through a website. But what has actually happened is something different.
To follow the metaphor, the pendulum is splitting in half.
Ironically, as applications have become more web-based, we are seeing more rich-client experiences alongside the web applications themselves. Facebook, for example, was originally created as a web application that people used through a web browser. But when was the last time you actually accessed Facebook through a web browser? Almost everyone I know uses Facebook, and almost everyone I know uses Facebook through some application other than www.facebook.com—usually, through an application on their mobile device. Thus, for all intents and purposes, Facebook isn’t a web application at all—it is a web-based application platform atop which many different client applications can be built. It is a set of features and services, with a number of clients that can avail themselves of the features and services, one of which is www.facebook.com.
That’s why I say the pendulum is splitting in half. The demand for device-specific client experiences has moved us beyond choosing between doing processing on the server side versus the client side. Today you might have an app for every desktop, every smartphone, and every tablet, and a web page for the ones you missed. And now that the demand for server isn’t being counterbalanced by the demand for client, the server half of the pendulum has swung all the way to the server side.
There’s one other effect of this. This explosion of custom user experiences and well-behaved server-side functionality has led to huge growth in user adoption for many applications. Huge growth leads to huge CPU consumption, huge storage consumption, huge memory consumption, huge bandwidth consumption, and huge scale, the kind of problems we all want to have.
This is the trend of the future of computing:
- Numerous, customized user experiences, designed for your device of choice, your form factor, even your job function
- Web-based services and features that are used by all of the custom client apps
- Huge scalability, fault-tolerance, and redundancy concerns
The leaders of tomorrow’s technology innovations are the ones who are learning the lessons of today, and to learn the lessons of today you need to work for a company that is solving the lessons of today.
That’s what we are doing at Jive. The platform we are building is going to be the world’s first hosted unified communications platform that is ready for cloud scale. This platform will enable untold numbers of unique client experiences as applications for business communication are built atop this platform. Those that choose to join us on this adventure will learn things that cannot be learned anywhere else. They will be uniquely qualified to lead the world into the next generation of technology innovations.
That’s why I think Jive Communications is the best opportunity for technologists anywhere. Come join us on this adventure.