Skip to main content

On Gartner's 2011 Top Technologies

A coworker stumbled across Gartner's top 10 technologies for 2011 and decided to share it with everyone in the office via email. Overlooking the need for a cluebat, and resisting the urge to similarly spam everyone with The Oatmeal's take on email etiquette, I think Gartner missed the mark on some things.

Let's be honest for a moment. Cloud computing has been hyped since '08 when Eucalyptus and Amazon's EC2 Services came out. Social media has been on the radar since since blogs became popular (though admittedly Twitter and Facebook upped the ante). Mobile computing has been slowly making inroads but I think it's still too soon to claim "The PC era is over." All the technologies have been around for years in one form or another; they just happen to be "hot" right now... and by the time someone starts touting them they've probably peaked.

In the next 12 months I predict there'll be a lot of potential for things like IPv4/6 networking, JavaScript, Flash, and whatever comes out of the Facebook v. Google storm that's brewing. I may be wrong... but hindsight is 20/20 so I guess I'll just have to make a few of my own predictions here and see how on the mark I was come next November.

Networking
IPv6 hasn't seen widespread adoption despite being standardized for over 10 years. Supposedly Europe is running thin on the IPv4 front with something like 4% of the address-space left, and getting down to around 1-1.5% might be enough to force the ISPs and TELCOs to start investing more in their infrastructure. Either that, or perhaps someone will devise a creative way to prolong the inevitable either with some new NAT/routing extensions, or a new backwards-compatible protocol obsoleting IPv6 that would overlay nicely on IPv4 to allow backwards compatibility and future growth (along the lines of how 64-bit processor registers extended their 32-bit registers, which in turn extended their 16-bit registers, etc).

JavaScript
Developers are finally starting to fully explore JavaScript's capabilities, are becoming more comfortable with duck-typing, and Google's V8 engine has done pretty well in speeding up JavaScript's execution, to the point where I can see more and more programmers attempting serious server-side programming in JavaScript. Server-Side JavaScript is nothing new, but if one or two start-ups can make it big within the next year or so using a technology stack focused on server-side JavaScript, it may make others in the market comfortable enough to take the plunge themselves... if not in 2011, then possibly 2012. This would be thanks in no small part to ECMA-262's strict mode in an attempt to clean some cruft from the language, and projects like CommonJS and node.js. I only hope it doesn't get bastardized with Java-like public/private syntax in the process.

HTML5/Flash
I think HTML5 is a lot of fluff-- the standard isn't expected to be completed until 2020ish, and technology moves so fast now that by then it'll be irrelevant. Browsers and developers are trying to be early adopters so they can be the cool kids on the block, but let's face it... the multimedia developer is going to prefer something like Flash to create their website experiences in than programing JavaScript code in an IDE; synchronizing timers to manipulate objects and sounds is easier with a click/drag-and-drop interface. JavaScript will be big with programmers/back-end developers, but if Adobe can re-align the Flash product and address some of the memory usage concerns, they can come out on top with the front-end/multimedia folks. Apple won't suffer, but people will see through their arguments for what they are-- self-preservation and vendor lock-in efforts.

Social Media
There's a turf war simmering between Facebook and Google that could have interesting repercussions for the rest of us. Facebook is rolling out new a new email-type feature to make communication with non-facebookers easier and to consolidate/streamline the social media experience, which looks similar to Google's failed Facebook-killer Wave product with a less-crappy interface. Google is suddenly concerned with defending our rights when it comes to our own content. I can imagine a spirited debate on privacy, ownership, and copyrights in the 21st century.

Then there's the question of how can a CEO take advantage of these changes in technology and the tech/social landscape to increase their company's profits. Since we're being honest with one another, I can say I don't know and not feel too bad about it. If I did know, I wouldn't be blogging about it here; I'd be out positioning myself to be the next Gates, Page, or Zuckerberg. Maybe there will be some new startup mash-up type service providers (like qwiki.com only not as annoying?) that will spring up which will eventually turn to targeted advertising for their revenue. Or, wouldn't it be nice if someone came up with a product/service to make parents be responsible and not raise douche-bag children, for it to be cool for kids to put down their cell phones and mp3 players and eat dinner at the table as a family, and maybe spread a little inter-office email etiquette just for good measure?

Just my thoughts...

Comments

  1. Forget Flash until Adobe gets a clue about security. An Adobe product, (most likely Flash, possibly AIR) will have the first true cross-platform vulnerability that gets maassively exploited IMO.

    ReplyDelete
  2. That's a very good point, Mike. Adobe will have to address security in Flash in addition to resource-usage. But HTML5 isn't security conscious either with its client-side storage and cross-domain communication.

    ReplyDelete

Post a Comment

Popular posts from this blog

Writing a Minimal PSR-0 Autoloader

An excellent overview of autoloading in PHP and the PSR-0 standard was written by Hari K T over at PHPMaster.com , and it's definitely worth the read. But maybe you don't like some of the bloated, heavier autoloader offerings provided by various PHP frameworks, or maybe you just like to roll your own solutions. Is it possible to roll your own minimal loader and still be compliant? First, let's look at what PSR-0 mandates, taken directly from the standards document on GitHub : A fully-qualified namespace and class must have the following structure \<Vendor Name>\(<Namespace>\)*<Class Name> Each namespace must have a top-level namespace ("Vendor Name"). Each namespace can have as many sub-namespaces as it wishes. Each namespace separator is converted to a DIRECTORY_SEPARATOR when loading from the file system. Each "_" character in the CLASS NAME is converted to a DIRECTORY_SEPARATOR . The "_" character has no special

Composing Music with PHP

I’m not an expert on probability theory, artificial intelligence, and machine learning. And even my Music 201 class from years ago has been long forgotten. But if you’ll indulge me for the next 10 minutes, I think you’ll find that even just a little knowledge can yield impressive results if creatively woven together. I’d like to share with you how to teach PHP to compose music. Here’s an example: You’re looking at a melody generated by PHP. It’s not the most memorable, but it’s not unpleasant either. And surprisingly, the code to generate such sequences is rather brief. So what’s going on? The script calculates a probability map of melodic intervals and applies a Markov process to generate a new sequence. In friendlier terms, musical data is analyzed by a script to learn which intervals make up pleasing melodies. It then creates a new composition by selecting pitches based on the possibilities it’s observed. . Standing on Shoulders Composition doesn’t happen in a vacuum. Bach wa

Learning Prolog

I'm not quite sure exactly I was searching for, but somehow I serendipitously stumbled upon the site learnprolognow.org a few months ago. It's the home for an introductory Prolog programming course. Logic programming offers an interesting way to think about your problems; I've been doing so much procedural and object-oriented programming in the past decade that it really took effort to think at a higher level! I found the most interesting features to be definite clause grammars (DCG), and unification. Difference lists are very powerful and Prolog's DCG syntax makes it easy to work with them. Specifying a grammar such as: s(s(NP,VP)) --> np(NP,X,Y,subject), vp(VP,X,Y). np(np(DET,NBAR,PP),X,Y,_) --> det(DET,X), nbar(NBAR,X,Y), pp(PP). np(np(DET,NBAR),X,Y,_) --> det(DET,X), nbar(NBAR,X,Y). np(np(PRO),X,Y,Z) --> pro(PRO,X,Y,Z). vp(vp(V),X,Y) --> v(V,X,Y). vp(vp(V,NP),X,Y) --> v(V,X,Y), np(NP,_,_,object). nbar(nbar(JP),X,3) --> jp(JP,X). pp(pp(PREP,N