Category Archives: Software Development

Native Apps v Web Apps

It’s almost like every developer and his donkey are creating new mobile native device applications these days. With the runaway success of the iPhone and the Google Android Smartphone OS its not hard to see why. There are a plethora of start-up companies who base their business modeled around the development of native applications for a specific device…dangerous in my opinion – but possibly successful, I’m just not sure.

Developing for devices is not a hard game to get into. With well documented APIs, downloadable development kits, tools & videos, backed by internet behemoths Apple and Google further coupled with a strong community of existing developers – it’s not hard to see why developers have produced over a 300,000 iPhone and 85,000 Android applications to date.

Other incentives for developers and development houses to create device specific apps are:

Attractive revenue splits: developers keep 70% of revenue from paid applications. The splits are the same across Apple and Google with Apple retaining their 30% whilst Google are currently opting to pass their 30% onto network operators and partners.
Easy billing: Both Apple and Google have established billing relationships or can establish a relationship quite easily should customers want to purchase applications. Apple have had this relationship with it’s customers through the iTunes store whilst Google have introduced Google Checkout. Without the need to integrate complex payment systems into their own applications, developers simple focus on functionality. Another barrier developers need not consider.
Continuing growth: Androids adoption by manufactures, carriers and customers is rampant, a recent US study had Android in second spot with 28% market share compare to Apples 21%. However Apple have not really faltered, with the introduction of the iPad & iPhone 4, even more applications are now being introduced into the Apple app store.
Low cost of inception: got a computer? got internet access? it’s as easy as that with Apple even providing development membership with access to additional resources for a measly $99/year. Expensive tools like Visual Studio are not required for a developer or small development teams to get into the game.
Low total cost of ownership: deployment or hosting overheads are eliminated with the marketplace hosting developer applications, a prohibitive cost for developers on a shoestring budget.

It’s hard to predict when, or even if, native application development will stagnate, prompting developers to seek new models or users to be behaviorally coerced into using alternatives. However, if we look at 4 new offerings in the mobile market we can draw some predictions. By no means do I mean this to be a well researched prediction but more or less what I’d like to think of as an educated guesstimate as to what the next year will bring into the mobile internet landscape. The following are in no particular order:

Sencha: From the creators of ExtJS, these guys have been around for years, most notably having created a robust Javascript framework used by many web applications. It was certainly used to power multiple applications for previous clients of mine and I can vouch for it’s rapid development abilities and expansive library of UI controls. The company behind this original framework have no created what is dubbed “The First HTML5 App Framework”. It there success with ExtJS is anything to go by then get ready for some creativity unleashed as the framework taken up by more and more web developers. The Sencha framework promises developers the ability to develop and deploy essentially a mobile app site with the look and feel of a native iPhone or Android application. Taking a look at their Kitchen Sink examples it’s certainly impressive. Transitions are smooth, there is already a vast array of controls to use, the framework picks up multiple gestures and I’ve found it to work just as well on both my iPhone 4 and my Nexus One. The killer app for me was solitaire allowing users to use gestures and utilize local storage so I could come back and complete my game at a later time.

Jolicloud: from the creators of NetVibes, is a free new netbook operating system which recently came out of beta to v1.0. Jolicloud sounds promising in it’s attempts to mix both native apps and web apps. It preaches “bringing all the benefits of cloud computing” not sure how true it is but having run it on a virtual machine the interface is pretty and it does make discovering content seem like childs play.

hahlo: is a twitter client developed to run as a rich AJAX enabled application right from your mobile browser. Personally I find the user interface fantastic. It comes with options to view your lists, mentions and messages. Clicking on ‘Menu’ displays a great looking modal overlay which will trick you into thinking it belongs in a native app. Clicking tweet is magical…you know where I’m going with this one so best if you check out the web app yourself and make up your own mind.

Chrome Web Store: from Google opens later this year. Google are building an app store directly into their browser offering! not a bad move given they already have so much scale and have been advertising everywhere. On a recent trip to Paris I noticed on the underground, Google Chrome ads which eventually made my travelling partner – a local Parisian state “I’m going to check out Chrome from Google”. Clearly underground advertising works. Given Googles user base a big element then will bring is educating users about the so called web apps. Thanks to Apple people know about the App Store, expecting apps to be made available locally on their handset – and now Google have an opportunity to not only push web apps to browsers but to sync these with the Android operating system.

My personal view on this is as the internet become more pervasive and ubiquitous in the developing world and speeds improve in the developed world we are going to turn to the browser to deliver more of our consumption needs, more so in the mobile space. It will take time – no doubt. Web apps need to be more discoverable, but throw developers new technologies such as Sencha, support it on the mobile, and we might just find gravity moves away from Native Apps towards Web Apps.

Quake Powered By HTML5

HTML5 has recently received loads of attention. Will it be the way we will consume the future Internet? … I personally don’t know – and doubt anyone you ask can give you a firm and gospel answer. So rather then pretend that I know enough about it or preach about it’s destined capabilities, I thought I’d share what the engineers over at Google have done.

2 guys from the GWT (Google Web Toolkit) team Ray and Joel have ported quake 2 to run on the browser!  No it’s no April fools joke as I originally thought.

Specifically they have taken Jake2 which is a version of Quake 2 (opening sourced by ID Software) and compiled it into Javascript using GWT. The final results are impressive. They claimed to have achieved 25fps on a Macbook and 60fps! on a Linux notebook. The port includes sound, has local storage + multi-player between Mountain View HQ in the States and Sydney, Australia was also tested … in short freakin impressive!

So What?

It’s a milestone.

As one of the developers indicates in his own post

“I hope that this port encourages some people to become even bolder and crazier in the types of Web Apps they’re trying to build, because if Quake2 is possible in Javascript using browser APIs, then even more amazing applications are waiting for you to develop, so get started!”

Both these guys have demonstrated to the Internet community (trolls included) that anything is really possible in the browser using HTML5. The significance is more important for applications rather then gaming. Today more and more applications are being released on the Internet with the power that was only ever previously experienced on desktops. With the shift to cloud computing and SaaS it’s an approach clearly here to stay.

For mobile application development this is equally significant. Right now device manufacturers, media and telecommunication companies are all scrambling around to build their own application ecosystem generally centered around using traditional desktop languages and wall gardening developers & consumers into a specific channel. e.g. Symbian, iPhone, Android, Black Berry.  With the use of HTML5 developers, consumers & companies don’t need to rely on distribution through a single ecosystem, nor do they tie themselves into web technologies such as Flash or Silverlight. They can develop for the biggest channel of them all – the browser.

If your keen to try the port yourself you can get it here.

Or check out the end result in this video.

Doing More with Less

lessismore

The Architect Ludwig Mies van der Rohe adopted the motto “Less is more” to describe his aesthetic tactic of arranging the numerous necessary components of a building to create an impression of extreme simplicity. But it was designer Buckminster Fuller who adopted the engineer’s goal of “Doing more with less”, his concerns were oriented towards technology and engineering rather than aesthetics….this view fits in perfectly into the current development state of most IT projects. No surprise then why “Less is More” was this years theme at the Web 2.0 Expo New York City.

Recently this whole notion that we can produce more with less has become more and more apparent, at least in my personal observations. I’ve certainly noticed most development teams in the Internet sector are more effective in smaller teams (< or = 5) rather then bloated groups. They produce more functions, require less guidance and management, provide deeper feedback, ask less questions and generally and simply adopt to the changing environment conditions. WHY? … it simply comes down to a mixture of autonomy, ownership, freedom, deeper domain knowledge & less management overhead.

Continue reading