Showing posts with label Technology is constantly evolving. Show all posts
Showing posts with label Technology is constantly evolving. Show all posts

God could not be everywhere – so he made man invent “digital”.

An interesting experience the other day made me stop and think about this phenomenon called “digital” that has everyone so excited.

I was driving to work and stopped at a gas station to fill-up my tank. However, when I reached for my wallet, I realized that I had left it at home. I had no cash or cards with me. I panicked. I was already running late. Neither could I drive away, nor did I have the time to leave my car and go back for my wallet! In that dark moment came inspiration. I did have my mobile! So I fired up my mobile-wallet app, scanned the QR code at the gas station, paid with a click and was on my way in a jiffy. Woohoo, “digital” to the rescue!

That set me thinking. Why was this experience so powerful? This was like having an ATM where I needed it, when I needed it! Not only that, to the vendor, it was like having a cash-register connected directly to their bank account. If the gas station had a NFC capable POS, I could have moved cash from my bank to their bank by just waving my phone! “Digital” is omnipresent. Bank accounts, health data, weather information, maps and directions, public records, music, movies, books, real-time video from across the world, a dictionary or the complete encyclopedia – you name, you have it – whenever you want it, wherever you want it. Today, it is with us through gadgets and wearables, and all around us in thousands of digitally-enabled “things”. Tomorrow, it will be within us through implantable chips. And one day, at the moment of singularity, when the boundaries between brain and chip dissolve, it will be us.

Is this just about being everywhere? No, that is just the beginning. Not only is “digital” everywhere, it is also interconnected. An internet of digitally-enabled “things” bound together in a myriad of connections, talking to each other, exchanging information, acting in collusion. And, when the light of AI and analytics is thrown on this vast pool of interconnected data and events, “digital” becomes omniscient. The Google map in my car can see the data from all other cars along my route to tell me that I am heading into a traffic-jam, immediately sifting through all other possible routes to come up with the best alternative - all this, while continuously communicating with a satellite thousands of miles up in space! If that is not a pretty good definition of “all-seeing”, tell me what is.

Now what happens when these astounding powers of digital are coupled with robotics and sensors? The results are truly magical. Scientists can effortlessly control a Mars rover millions of miles away, surgeons can conduct extremely complicated surgeries remotely, cars drive themselves and warehouses become completely automated! “Digital” is becoming omnipotent. As more things become digital, as computing power multiplies and as more and more data is collected, the possibilities of digital keep expanding.

But why now? Why did the digital curve jump the chasm only recently? To explain, let me take you back to an interesting product that I built more than fifteen years ago as part of a team at HP’s Advanced Technology Labs. We were building a banking product based on “Zero Latency Enterprise” technology. While a customer withdrew cash at the ATM, a recommendation engine would do a near-real-time analysis of the customer’s relationship history, and come back with personalized up-sell and cross-sell offers on the screen. If the customer opted-in, an email would be sent to the salesperson’s palm-pilot to initiate necessary action. This was as close to “digital” as you could get fifteen years ago. But the ecosystem that truly propels digital to its current omnipresent, omniscient and omnipotent capabilities simply did not exist in those days. Our recommendation engine did not have the insight into the customer’s online activities, social circles, loyalty and credit cards, location history, online and offline purchases, club memberships, investments, online-trading transactions – the mountain of data that is available today. Nor could we reach the customer anytime, anywhere through their smartphone to make offers at the point of purchase or to send location-aware promotions. And, AI and robotics were still in their infancy. You can see how the possibilities would be limited even a few years ago.

“Digital” has come of age today because the network effects of the Internet of Things has crossed a tipping point, compounding the impact of the technology. I am not omniscient enough to see where this new technology wave will take us, but I can definitely advise you to grab your surf-board and start riding this wave – and be prepared for a wild ride!

Technological Advances, or just "degrees of separation"?

I am very sure you have heard about the "Six degrees of Separation" theory as a party-topic or at the office water-cooler. Interestingly, as computer hardware, software, and networking have advanced through the ages, computing has gone through its own "degrees of separation".

In the beginning, everything was one big block - the hardware, the OS, the applications - everything came from the same vendor and ran on the same box that took up the space of a house! Things were simple, it was a close-knit family living in a single room.

Then, in the mid-to-late 1960s, the first "application software" was developed and sold by a third party. This was a major step, since till this point, the business software applications used to be bundled along with the hardware and OS, and no-one thought it could be any other way. Now, the computer hardware companies were joined by a new class of software companies - the Independent Software Vendors. Thus were the giants like Microsoft born.

Meanwhile, the dumb terminal had separated from the mother-ship, and we were on to the next era of separation - the client-server era! This hardware separation was soon copied into software-side separation too, and voila, we had our "two-tier architecture"! Well, three is always better than two, right? At least the architecture pundits thought so, and stretched the two-tier architecture to create the new "three-tier-architecture", leading the English dictionary to create space for a new word in our vocabulary - "middleware".

Things were going well with the three-tier world for some time, and then the industry was bitten by the separation bug again. We started hearing about "distributed" systems. Everything could now be distributed - services, servers, databases, disks - and they could be distributed around the room, around the data center, or across larger LAN/WAN setups. We were now in the world of "n-tier" architecture, and our single-room-dwelling family had now separated, divided-up into hundreds of sub-members, and sprawled out across town and country.

However, the story was far from over. Before we had time to lament the break-up of the close-knit family and their scattering all over terra-firma, the separation drama reached for the clouds. And when mobile joined the party, things went really crazy! As I sit here and type on my web browser, it looks like it is all happening on my lap (now, don't get any ideas, all I mean is it is happening on my laptop...), but in reality, the server sending me this page could be anywhere on earth, the database storing my words could be at the other corner of the globe, and my precious text could be merrily flying around clouds, traveling over thin air or undersea cables. It truly is mind-boggling. The single-room dwelling is now a global village. How separated is that?

But why limit our thoughts to mere earth? The farthest computer today is probably on the Voyager 1 spacecraft which is a mind-boggling 20 million kilometers away from the earth and counting, and if a client on earth were to "ping" the server on Voyager 1, it would take about 38 hrs. to come back with a response, since that is the round-trip time for light to Voyager 1! (http://voyager.jpl.nasa.gov/where/) Talk about a really slow network!  So, it is not hard to imagine the day when our computing cloud would be separated across millions of miles of intergalactic space.

Well, enough about separation, it is time for my separation from this close-to-too-long post. See you soon in my next post.

Web 3.0 - are we there yet?

We are now all too familiar with Web 2.0. It has been around for sometime, and we have heard a lot about how it has transformed the world of internet. Now, with the advent of HTML5 and the rapid developments in "rich media" and "responsive web", Web 2.0 already seems like a relic from the past. So why are we not getting to Web 3.0 yet?

Don't you know, Web 3.0 is already here! "Why did I not hear about it?" - you ask. Well...remember, Web 2.0 was more a marketing terminology than anything else. It was used to put a label to the state-of-the-art web at the time, it was a handle technology marketers could use. It was never really a "technical specification". So, though I find that in many ways, we are already into Web 3.0, we are still waiting for someone to turn on the marketing and publicity blitz to make us sit up and take notice.

Why do I say we are already into Web 3.0? Just as Web 2.0 was defined by a few major things - democratization of web, Asynchronous Calls (AJAX) and Subscription and feeds (RSS etc), Web 3.0 is supposed to be built on four key concepts - semantic web, personalization, artificial intelligence and "anytime anywhere" access. All of these are already available today in some form or other! Twine, which was first announced way back in 2007, was a good attempt at a semantic web. Though it did not succeed, it still laid the foundations. Today, many social networking and search sites use semantic search. iGoogle is the best example of personalization, and it is very much here. Artificial intelligence is evident in many of the features of popular sites, be it the graph searches of Facebook, or iGoogle, or Siri. And need I say anything about "anytime anywhere"? It is one of the most heard terms these days.

So believe me you, Web 3.0 is already here! If you are interested in knowing more about Web 3.0, this site has links to some wonderful material.

Technology Deja Vu

I feel like I am in the middle of that popular sci-fi film - "Back to the Future" !

Every new technology that hits the headlines, seems to remind me of something I have seen before. It brings back memories of the past, it raises the same old questions, the concept does not feel truly "novel".

Do you feel so too? If you have been around in the IT industry for more than a couple of decades and have earned your programming chops on the trusty old mainframes, I bet you do get that feeling, right?

Enough of talking in the abstract. Let us look some examples...

Let us start with that prime example of new technology - the cloud. Wow, you can now have your software and services run anywhere out there in the wild, and access them at will! You need not know where they are running, you need not worry about resource constraints (kind of, since you can set it up to be elastic), you need not worry about downtime. Heavenly, isn't is? Yes, it is, but is the concept new? Were things very different in the "multiprocessor" days of the mainframe? We never used to bother where our processes and programs were running, and resources were not usually a constraint either. And downtime? Well, in my days as a Tandem (later Compaq NonStop, and then HP NonStop) programmer, I remember the demos at the Cupertino (California) labs, where the customers were shown true redundancy - you could bring down a CPU, pull out a memory or network card, and voila! the system would continue as if nothing had happened! Was the concept of having your software programs, processes, and services running on a "processor farm" with true redundancy built-in very different from the concept of your services running on a "server farm" with cross-region redundancy? The scale is different, of course, but I believe the template is the same.

Hadoop is making waves with its capability to split large workloads into smaller chunks and then ship them to separate machines which can then chew on these bites in parallel. That must be a new concept, right? Well, I think not. In the mainframe world, we used to have the concept of DB queries being broken down into smaller chunks during the "compilation" of the queries. These chunks would then be intelligently shipped-off to the "disk processes" that the RDBMS would be running close to each physical disk. The idea was that each work-unit of data processing would be done by a disk process that was closest to the physical disk that the data was residing on - thereby guaranteeing the best performance. Again, the scale and infrastructure today are different, but the concept is tried and tested.

And what about all the excitement about responsive and interactive web pages? Aren't they making the web pages heavier and heavier? Aren't they moving more and more processing to the client? Aren't the heavy Javascript frameworks starting to look more like client-server technology of the old days, with AJAX calls to servers and listeners and call-backs? I leave it to you to decide...

So, what is really happening here? In my opinion, the new capabilities of the hardware and infrastructure are allowing us to use the old concepts in new ways. The massive scaling possibilities of connected processors are feeding the cloud and technologies like Hadoop. The increasing capabilities of mobile devices are fuelling heavier clients. Thus, it is more like old wine in new (and much larger) bottles! I would really love to see some truly new wine, though.

Technology Turns Social

Social: Adjective, [attributive] relating to society or its organization, … suited to living in communities, living together in groups … with complex communication. Origin: … from Latin socialis 'allied'…[Oxford Dictionary].

As technologists, we should not forget that the consumers of technology are primarily humans – “social” animals.

Therefore, changes in social behavior often influence the direction of technology. And, when technology enables the natural tendencies and aspirations of society, a “tipping point” is quickly reached, propelling massive adoption. This happened with Facebook when it made “social networking” truly social with photo tagging, and is seemingly happening with Groupon, as proved by its sky-high valuation in a takeover bid.

Hence, to predict the technologies that are bubbling-up to the top now and will shape this decade, let us look at trends in society and social behavior, and see where that leads us…

People today are “on the move”, but need to maintain their complex communications. Therefore, “mobility technologies” are definitely going to be a growth area in the coming years.

Society has come to expect “infrastructure as a service”. Though recently popularized by cloud and virtualization vendors, such services are not new. Telecom services have been available for some time now as prepaid packages that can be “topped-up” as needed, and wireless broadband has replaced the modem and router at home. Virtualization and cloud computing will become equally prevalent.

Realizing the importance of social behavior, technology is trying to understand and predict it, like a dog chasing its tail! As a result analytics, business intelligence and behavior/sentiment analysis are thriving. These will be areas to watch out for in the years ahead.

“Social” traits are now evident even in new computing paradigms. “Elastic computing”, seamlessly distributing large workloads across a community of allied resources is the theme for technologies like MapReduce, Hadoop/Hive, Terracota/BigMemory, Azul Systems’ Zing JVM, and similar projects. This trend will keep gaining momentum in 2011. Growing volumes of “relationship” data in the “social networks” has given rise to “graph databases” and the related concept - “NoSQL”. These are still very early-stage, but will rapidly mature in the next couple of years.

Am I the only one thinking "social"? Of course not. The Gartner 2011 top10 strategic technology list includes – Cloud computing, Mobile Applications and Tablets, Social Communication/Collaboration, Video, Next-Generation Analytics, Social Analytics, Context-aware Computing, Storage-Class Memory, Ubiquitous Computing and Fabric-based Infrastructures. As you can clearly see, most of these technologies follow the themes of social usage patterns, mobility, infrastructure as a service and “computing-infrastructure communities”.

So, if you are a Technologist, better start thinking like a Sociologist!