10 Technologies to Keep an Eye On, Part I

We live in an exciting technological time where the only thing constant is change.  When faced with creating the next big thing, there are many time tested technologies to choose from, and a slew of new technologies that promise to allow you to do things more quickly and easily.  Navigating through all of the choices can be a somewhat daunting task.  To that end, I have compiled a list of what I consider to be ten of the most compelling up-and-coming technologies:

This is part one of a two-part post.

Scala

What is it?

According to their website, “Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. It smoothly integrates features of object-oriented and functional languages, enabling Java and other programmers to be more productive. Code sizes are typically reduced by a factor of two to three when compared to an equivalent Java application.”

Why should you care?

A friend and colleague of mine, Vince Marco, who has been kicking the Scala tires for some time now, has raved about it:

… its functional programming features and Actor-based concurrency model makes Multi-core and Multi-processor development much easier and more importantly more reliable.  This will become increasingly more valuable as core density increases.  But that is not all.  The Scala typing system catches covariants and contra-variants that Java doesn’t detect.  It is a more disciplined language without putting the burden on the developer, by introducing ‘Sensical Typing’.  It will reduce code dramatically over Java and increase the explicitness of code while reducing duplication of syntax.

He adds,

Scala really is a better Java even without the concurrent programming.  I reduce lines of code, effort managing types, and encourage fundamental programming.  A lot more can be done with very little code, which can produce a comprehension problem for some developers.  Ultimately you can’t put more functionality in less code without beefing up our comprehension skills.  As always, good commenting can go a long ways, and will be important with Scala.

Wow, now that’s impressive!

SproutCore

What is it?

On their website, SproutCore poses one big question (literally), that it claims to have the answer for: “How do we build blazingly fast, desktop-class web applications?”

In reality, it is really a JavaScript library (or framework, as they call it) of controls, effects, behaviors, and more.

Why should you care?

If you are all interested in building an HTML5/JavaScript/CSS based Rich Internet Application (RIA), you should be looking at SproutCore.  It will allow you to jumpstart your efforts, using proven technology that Apple even has faith in.

App Inventor

What is it?

App Inventor for Android, as it’s officially called, is a next generation programming “language” that aims to allow non-programmers the ability to create their own apps through a simple to understand drag and drop interface.

Why should you care?

If this ever becomes successful, it could open up the flood gates to a whole new generation of non-traditional developers — from texting teenagers to business analysts.

iAd

What is it?

The next game changer from Apple does not come in the form of another phone, tablet, or even set-top box.  Instead, the Cupertino-based company has unveiled a new advertising framework, dubbed iAd, that has Google shaking in its shoes.  According to their website, their aim is to “… [reach] millions of iPhone and iPod touch users around the world — a highly desirable audience for advertisers — in their favorite apps.” (ok, so their English isn’t the best, but their technology is cool!)

Why should you care?

Whether you’re an app developer, publisher, or advertiser, this technology provides a new way to tap into the millions of iTunes users and the millions of iTunes apps that they use.  So, of course, what this boils down to is money, and lots of it.  Advertisers will gladly shell it out to reach a huge target audience, and publishers and app developers have a new way to earn it, beyond the $.99 per app paradigm that currently exists.

Chrome Web Store

What is it?

There’s no doubt that iTunes is currently the dominant distribution platform for apps, and I’m sure Apple won’t be resting on their laurels (think iTunes in a cloud).  However, Google has an opportunity to challenge their supremacy via their Chrome Web Store, slated for release in October of this year.  The store promises to be the central clearinghouse for Web apps, allowing “users … to discover a broad range of amazing web apps while [allowing] developers [to] be able to reach millions of new users.”

Why should you care?

If you’re looking to create the next killer app, there are many compelling reasons for using Web technologies, such as the HTML5 stack.  If you’re looking to monetize it, the Chrome Web Store offers you the framework to charge for the app, offer subscriptions, and entice users through free trials, all for the amazingly low price of 5% of your revenues.  Apple will have to take note of this, since they presently take a 30% slice of the pie.

Help me write Part II

Well, that’s the first five must-know technologies. Notably absent are some obvious choices such as HTML5, iPad, iPhone OS, and Android, since everyone already knows about them and I need to diversify my posts :-) . Also missing are some former hot technologies. Just a short time ago, I would have included technologies such as Google App Engine (GAE), Google Gears (now dead), Google Wave (now dead), Google Web Toolkit (GWT), Flex4, Spring, or Yahoo! Pipes (by the way… notice a Google trend here?).

Stay tuned for the next five, and while you’re at it, send in your opinions on what should be included!

This entry was posted in Technology and tagged , , , , , , , , , , . Bookmark the permalink.

2 Responses to 10 Technologies to Keep an Eye On, Part I

  1. Vince Marco says:

    Great list!! It is definitely early for Scala adoption. It is always difficult for the industry to shift a primary language, and we quite often get stuck with less than the best. But given Scala’s full integration with Java, there is a path of gradual adoption. That opens the door for teams to alter their syntax a bit, switch to the scala compiler, throw in the scala library, and keep developing full speed. Then gradually fold in (or should I say foldLeft, hehe) more fundamental principles, Monads, etc. Processors will get more cores. Software will become more concurrent. Scala also currently deploys and runs both on the JVM and CLR. And yes, you can build an Android app in Scala. Very Interesting.

    SproutCore is an interesting framework, which is good for those that are targeting HTML5. It presents a solid MVC pattern to HTML5 apps in pure JavaScript, deploys to apache cleanly, and helps users manage and apply views and animation transitions. Not a full replacement for Flex4, but is a good fit for an app that needs to span devices (browser, iPad, iPhone, Android).

    I’m not that excited about iAd (I think web advertising is overblown), but entirely agree with the Chrome App Store. I love the iPhone and iPad, but I don’t think Objective-C is it. Feels like a historical choice by Apple instead of one to build momentum on, at least from a language feature perspective. It seems that Android’s biggest problems are app consistency and ease-of-use. App Inventor might help this tremendously. Back to the old open vs. closed battle. If Android can produce consistent high quality across the multiple vendors of hardware for their OS, then adoption could shift their way, otherwise it is up to Apple to keep ahead via innovation and the experience they can push by producing the whole solution (both hardware and software). Apple has an uphill battle in the enterprise space and pushing Objective-C doesn’t help them at all. Nobody wants to carry multiple phones, and with the network family plans it means that Android can probably catch up to iPhone just from enterprise adoption and its fallout. But I wouldn’t count Apple out either, they have a knack for inventing and delivering the goods that we want.

    Gene, you’ve got a great blog here!!

    • Gene says:

      Thanks for the vote of confidence Vince.

      Someone tweeted about this post and felt that the SproutCore section was light, so thanks for adding your comments on that (perhaps they can as well).

      I also agree with your points on Objective-C. It’s a very archaic language. I’m surprised that they still haven’t come up with a better alternative, say some 4GL language, hiding it’s complexities, ala App Inventor or Pipes. But at this point, I think that Apple simply doesn’t care, given that it’s been so successful with this god awful language.

      I do disagree about iAd though, at least from the perspective of the impact it will have on the advertising industry. It could seriously affect Google’s bottom line and Google knows that. I think it’s very interesting how these two companies, who not long ago seemed like allies, are now primed to go head to head on many fronts. In general, I think that is good news for all of us.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>