Sunday, April 24, 2011

Making Smart Device Development Smarter

You see them everywhere. At the office, on the train, at the airport, at the corner coffee shop: We are glued to them. Eyes down, thumbs typing… they have changed the way we communicate. They are the iPhones, iPads, Andriods and BlackBerrys -- the smart devices that have changed our lives.

Once again, technology has taken us by surprise. It didn’t happen gradually… it was a sudden wave, and smart devices are the new norm. Working in the technology industry, I know that once you see the wave, you’d better get on board fast.

Mobile computing gives businesses a unique opportunity to get even closer to customers -- their social network. Through these little devices -- these little pieces of technology -- businesses can be taken into customers’ homes, be with them as they make decisions, and most importantly, have an opportunity to influence those decisions.

As consumers, we are more than happy to invite businesses into our homes, because we are now empowered. We can drive discounts, or become critics or advocates in a global marketplace. Businesses and consumers… we both win.

However, as exciting as this new mobile world has become, there are the inevitable roadblocks. At a time that our industry is looking for ways to lower development costs any way we can, here comes technology playing a joke on us. It turns out that, in this new mobile marketplace in which we all want to compete, it’s not just one new development language we need to learn…. It is three or four new languages. It’s not one new platform, but a whole set of them. Here’s what we face:

· A “dominant” operating system has yet to emerge – the market remains highly fragmented and looks like it will stay that way for some time to come. There’s iOS for the iPad and iPhone; Google’s Android; OS 6 for the BlackBerry, Symbian and Windows 7 mobile, to name some of the big ones. And I don’t see this changing any time soon.

· Apps aren’t interchangeable from one operating system to another – so significant development work is required every time an app is adapted to a different operating system.

· Each OS uses a different development language: there’s HTML 5,, Java, Objective-C, Ruby, Silverlight, and so on.

· The experience in each device is different, and even within the same operating systems like Android or BlackBerry, each version offers a different experience.

· There’s a shortage of knowledgeable mobile app developers right now that isn’t going away any time soon. While new graduates are hitting the job market and experienced software developers are transitioning into mobile app development from other areas, look at any company’s or recruiter’s list of sought-after hires: mobile app developers are at or near the top.

How do companies that generate their own apps overcome the roadblocks regarding cross-platform functionality, time to market, cost and talent?

I believe the answer lies in automation.

On April 25 and 26, at our customer event in Chicago, GeneXus USA debuts its Smart Device Generator tool. GeneXus software enables developers to write code once, in a simple and high level manner, and then detailed code is automatically generated for multiple smart device platforms like the iPhone, iPad, Android and BlackBerry. Developers only need to customize appearance and layout for each device.

Think about the possibilities: instead of writing code multiple times for multiple devices, you write it once and GeneXus generates the application for you. It lets you write and deploy apps exceptionally fast - literally 65 percent faster than if you were starting from scratch.

Wouldn’t it be wonderful to live in a world where you do something only once, and the rest of the work is done for you? Wouldn’t it be great to quickly and easily build out an app across multiple smart device platforms? Wouldn’t it be beneficial for us to concentrate only in the areas where we add value as a human being, like designing the best layout for a particular device, and let technology generate the code?

As economic challenges mount, I believe there is tremendous opportunity to increase automation and omit some of the repetition in the software development process. Even though an app is coded differently for each device, all versions solve the exact same business problem. And we shouldn’t have to start from ground zero as we build each one.

Technology will continue to evolve and surprise us –we just need to find more cost-effective ways to harness it. Increasing automation in the development process is key.

We are witnessing the next wave in technology, and I’m excited to be playing a role in it.

No comments:

Post a Comment