Intelli-J makes Android Easy

On paper Android should have been a good fit for my previous experience in java and C#. I’m quite used to using the Eclipse development environment and, despite some of its more quirky configuration aspects, it has generally proven relatively painless. However, for much of the last couple of years, any involvement in Android has proven to be a bit of a heart-sink moment. Write the code…wait for the emulator…wait for the debugging to commence…wait…wait…wait. 

There is much to like about Android, as a developer, but somehow, compared to the slickness and immediacy of the iPhone emulator and debugging experience in Xcode, and the depth and sophistication of Microsoft’s Visual Studio, Eclipse has been the source of much heartache, cursing and premature ageing. Recently, however, I have moved from Eclipse to Intelli-J (IDEA 12 CE) - a free IDE from JetBrains that can be used for Android. This has revolutionised my Android experience – now I feel  like I can focus on the job at hand, and on the well-thought-out Android Framework – in short, I feel like a developer rather than a software trouble-shooter. Moreover, with sophisticated code-completion and all the other whistles and bells you’d expect from JetBrains, coding productivity shoots up.

Now we have the three major platforms with very pleasant and capable development environments, I am more convinced than ever that the advantages of quick-adoption offered by PhoneGap and other HTML-based cross-over frameworks are more than outweighed by the power of having direct access to the underlying frameworks and better performance. Indeed, my current experience of porting over a complex application framework from iOS to Android suggests to me that whilst code might not be shared directly, the platforms have enough in common to make the translation reasonably painless.

As the mobile development market matures further, we will no doubt continue to see steady advances in the ease and productivity of native code development – something no developer is going to be sorry about.

With XCode 4, Apple Start to Love Their Developers!

As I mentioned on a previous blog, compared with Microsoft’s Visual Studio and the vast array of good quality reference material and samples available, the Apple development experience could easily be found wanting. With the latest version of their Development Environment – XCode, Apple is beginning to show the kind of love that developers, and in particular new developers, need.

For developers from a non-Apple development background, with a lot of experience in Java and .Net, one of the most awkward things about the older version of XCode and Apple’s Objective-C programming language, was the need to basically tell the computer when it should remember or forget things. In other languages, this is usually taken care of automatically, although sometimes you would choose to interfere in order to keep system resource usage down. The upshot was that a whole extra pointless layer of testing was added for something that provided no benefit to the end user.

Now Apple have introduced something called Automatic Reference Counting (ARC), which does the job of working out when to remember and when to forget about things. This does not sound revolutionary, but it has gotten rid of one of the more dangerous and common pitfalls of developing for iOS. Now, instead of worrying about the internals of the platform infrastructure, developers can just focus on giving the end user a great experience.

Having used XCode 4 for a while now, I can say this is probably the biggest single time saver, but Apple have put other things in too – including a helper that will suggest fixes for small problems on the fly. There is also a storyboard that allows developers to layout transitions between views visually. Overall, the improvements make the whole development experience more slick and less painful.

Why does this matter for people who aren’t developers? I think one of the upshots of this is that it makes native app development faster, easier and hence more cost-effective. Despite having spent time going down the PhoneGap route, these new development enhancements have persuaded me, at least, that native iPhone development is now actually faster and more convenient than HTML5 based frameworks. Indeed, even if you want to combine web content with your app, it is still, I would suggest, easier to hybridise properly by going native.

Whilst XCode is still not up to the level of Microsoft’s Visual Studio, it is getting very much better, which can only be to the advantage of developers and end-users alike. I look forward to more of the love in their next release!

Mobile Apps for the Uninitiated

Last week I gave a presentation at the Web Managers group in London, giving a general overview of what is involved in getting into mobile apps, and some of the key considerations involved. I was a little surprised that of those who were not agency-side, none had yet created an app. Whilst this might be interpreted as a lack of appreciation of the importance of mobile, talking to the web managers it was also clear that this could be seen as a sensible caution over getting into a new platform just for the sake of it.

You can get the content of my presentation from here.

How mobile fits into a broader content strategy is a difficult question to answer – it depends on  the nature of the content that an organisation is providing. In order to have any kind of ongoing usefulness, a mobile app needs to be focussed on making commonly undertaken tasks more convenient to complete or on providing rich and entertaining interaction that has some possibility for progression. Given the propensity of users to offer feedback freely, creating an app with a contrived need runs the risk of negative reviews and damage to the corporate brand.

  • If your audience have a frequent engagement with your services, such as maintaining an account, ordering, obtaining guidelines or updated materials, or engaging in communication, then there is probably a case for creating an app.
  • If you provide regular content updates to your audience, but only in small volumes, then an RSS feed, or a mobile friendly site is more likely to be a good means of engaging your mobile users.
  • If you do not have regularly updated content, or news about your services or events, then a mobile friendly site is probably the answer.

Depending on the precise needs of your audience and your business, there are a whole range of options available for reaching out into the mobile space:

  • RSS feed
    not mobile specific, but can be consumed easily by smart phone users
  • Mobile friendly site
    a good starting place, but remember, just creating a mobile-skin for your site is not enough – your content and navigation must reflect the specific needs of mobile consumption – your content must be bite-sized and succinct
  • Site in an app
    brochure ware for the mobile – effectively a website wrapped up as an app – quick to produce, you can say it’s an app, but if you don’t do it well, your audience will be disappointed
  • Cross-platform HTML5 hybrid app
    implemented using a cross-mobile framework such as PhoneGap, AppCelerator, RhoMobile, AppMobi (and many more) – good for multi-platform, provides access to some of the phone’s underlying functionality, allows reuse of code – these frameworks keep getting better, but they are still not as slick as a native app
  • Native app
    created separately in the native language for each platform – provides the slickest experience, but at a price

There is no one-size fits all approach to success in mobile. The mobile space is fast changing, and there are lots of options for getting involved – mobile apps being only one form of engagement. The important thing is to be clear about your aims and your audience – reach out to them early, get user groups involved in appraising prototypes and get plenty of feedback before launching.

 

Divining the Future of Mobile Development – PhoneGap v. Native App Development

As with operating in any quickly changing fields, developing apps in the mobile space presents both opportunities and significant challenges for agencies and clients alike. Though clear trends are emerging that point towards an expansion of cross-platform frameworks, the decision is by no means clear and obvious – there are pro’s and con’s to each approach.

Native App Development

The first clear decision to make is whether to develop apps separately for each individual mobile operating system, or whether to use a cross-platform framework aimed at permitting the reuse of code across different mobile operating systems. There are quite a few frameworks out there, which operating in different ways – a good overview is available from  http://www.toolsjournal.com/tools-world/item/157-10-of-best-cross-platform-mobile-development-tools.

Regardless of the framework in question, there is a tradeoff to be made. By developing native apps, you get:

  • Access to everything in the Operating System (OS)
  • An interface that is more likely to match the expectations of the OS users (Android Users, for instance, don’t want their apps to look like iPhone apps)
  • Performance can be optimised for the environment

So far so good, if you have an app that is guaranteed only for iOS and / or Android, and if you have time for the native development process. What if your app needs to be available at the same time on iOS / Android / Windows / Blackberry / Web OS and you need to release it in the next week to beat the competition to market? What if you don’t have the money to support internal teams or suppliers with an expert capacity to deliver natively in each of the platforms required?

PhoneGap

What your cross platform framework will deliver depends on the platform itself. Following evaluation of the specific needs of our clients, and in consideration of how to best compliment the skills of our team, we have chosen PhoneGap (http://www.phonegap.com/), for the following reasons:

  • HTML5 based – can reuse web skills whilst also hooking into the undelrying OS
  • Lots of momentum behind it – for instance, Adobe include native support for PhoneGap in DreamWeaver CS 5.5
  • Clear signals from Apple that they won’t be outlawing the use of this particular platform later on down the line
  • Easy to use with a big user community to ask, and lots of excellent documentation

By developing PhoneGap apps, you get:

  • Ability to create your app for up to 6 mobile operating systems
  • Rapid prototyping – build your prototype as an HTML5 web site, continually previewable within your target mobile platforms
  • Reuse of code and design assets – don’t have to rewrite everything from scratch for each platform
  • Reuse of existing skills – web skills are easier to find and less costly than native app development skills
  • Easy deployment – you can use PhoneGaps submission service to allow you to build and distribute apps without having any of the mobile OS development software on your machine

Because PhoneGap apps run as standalone HTML5 apps within an invisible browser window, they do run the risk of feeling more like web sites and less like mobile apps unless implemented with sufficient care and attention. Perhaps the biggest question marks are over:

  • Lack of interface “flow” – the directness of coupling between gesture and response that makes good smartphones such a joy to use – without careful attention, HTML5 based apps run the risk of feeling jerky
  • User interface could easily feel inappropriate for the specific target platform, with insufficient use made of expected elements, such as tab bars
  • Poor performance – particularly where functionality that makes lots of calls to the OS is used – such as geo location
  • Patchy support for changing phone orientation, from portrait to landscape and back again
  • CSS – potential compatibility issues on some devices
  • Lack of access to some native functionality
Though requiring careful attention, these are not show stoppers. For instance, where there is lack of support for particular native functionality, it is possible to create plugins – sets of platform specific functionality wrapped up in a way that makes it accessible to the framework. However, the emphasis is always likely to be on solving the genreral problem for all platforms rather than the specific problem for a particular platform.
Which is Best – Native or PhoneGap?
As with any commercial decision, there is no absolute right or wrong answers – just strategies that are better suited to some situations rather than others. As an agency, we will be using a mix of approaches – native, PhoneGap, and other frameworks as well (such as Corona for Game App development). However, broadly speaking the advantages split out as:
PhoneGap (Cross Platform)
  • More cost effective for cross platform development
  • Faster to market
  • Easier to repurpose (e.g. for co-branding or white-labelling)
  • Relies on less-costly less-specialist skills for implementation
  • Better suited to existing work flows in design / technology agencies
Native Development
  • If you have the right budget, you get exactly what you want (if the OS permits it)
  • Users will naturally see the kind of interface they expect
  • Performance is likely to be better
Future Trends
Although I don’t have a personal crystal ball, I think it is clear that the mobile OS wars are not over yet by any means. If Gartner and other pundits are to be believed, over the next few years we will continue to see Android and iOS dominating, but with Microsoft/Nokia becoming a major smartphone player, and Blackberry retaining a significant market share. It is hard to say yet whether Web OS will really take off, despite the best efforts of HP.
Most likely then we will be looking at a market with four or five major mobile OS platforms. With so many platforms in existence, I would say for any business or initiative that doesn’t have access to major budgets, but which requires reach across diverse audiences, cross-platform frameworks such as PhoneGap will prove an attractive development strategy.

What should you expect from your CMS?

Content is key to raising your profile on the web, and having good quality, relevant, accessible content is essential to attract good search ratings. Good quality content is time consuming to author and approve – so being able to reuse it is important for increasing the returns, in terms of visits, revenue and long term interaction, that it can help to generate.

Implementing a web site using a Content Management System (CMS) is a major undertaking. The end result should be a platform that will facilitate the growth of relevant services and channels of communication for your key target audiences. A good CMS should make it both quick & easy to author content and to reuse it.

Adapting to new online behaviour

In the digital age, users expect content to be up-to-date and relevant to their needs. What is relevant at one point in time may not be relevant at another. Patterns of engaging with content are also changing rapidly with the explosion of mobile internet. The market for smartphones and tablets has already surpassed the sales of PCs[1]. Already 90% of mobile phone subscribers have phones that can browse the web[2] – but the actual use of mobile internet will eclipse that of the fixed internet within the next couple of years[3].

With mobile internet rapidly becoming the primary means of accessing the web, users will naturally expect content to be provided in a form that is appropriate for mobile devices. More and more users will be accessing your content directly from search, or from links in recommendations in social media.

In order to maximize the returns from your online presence, your strategy will need to adapt to accommodate these changing patterns of usage. Your online strategy will need to support these changes in patterns of usage and your CMS platform should enable you to easily adapt your existing content, with little modification, to use in these new channels.

The end result of a successful CMS implementation is a platform that enables you to keep up with your users by providing these key benefits:

  • Easy to author and maintain content
  • Easy to reuse and repackage content across different site areas and web browsing platforms
  • Easy to re-theme content where required, keeping content but changing its appearance
  • Easy to make content searchable and findable
  • Easy to set up new data captures and communication channels with your users
  • Clear APIs extending CMS and storing data within CMS structures
  • Easy to upgrade your platform and take advantage of new features

There are no doubt many CMS systems that can offer these benefits – but the best ones are those created by a development team that are focussed on their clients with a clear roadmap and vision for the future. Fortunately for my agency, these are things that have been abundantly provided by our chosen CMS supplier – Kentico.

Roundup of the week (w/e 13/02/2011)

Last week’s most significant news must surely have been that smart phone sales are now outstripping those of PCs . The explosion in tablets and mobile more generally is already proving to be a profound game-changer for the way we interact with both content and software. On the content side, people gather their intelligence in entirely new ways, and consume it in much smaller packages. On the software side, people expect to make choices about smaller aspects of functionality, installed and fulfilled with almost no effort – it can only be a matter of time before the app market model becomes the main model for consumer software on all platforms.

Market News

  • Smartphone Market now Bigger than PC Market
    Anyone in any doubt of the importance of mobile must surely have had their minds changed by the official announcement that smartphone sales are now outstripping those of PCs. Mobile is exploding, and the way we access information, the web and even software has changed for good. http://www.businessinsider.com/smartphone-bigger-than-pc-market-2011-2
  • Leading Industry Analyst Mary Meeker Predicts Future of Tech
    Anyone with slightest interest in the future shape of the mobile, PC and tablet markets simply must read the presentation delivered by Mary Meeker at a major Google event last week. http://www.businessinsider.com/mary-meeker-matt-murphy-2011-2
  • Microsoft Trades HP for Nokia
    Is it a case of one-in one-out for Microsoft – as Hewlett Packard departs its embrace for the enticements of webOS, Nokia recognised the increasing precariousness of its position post-Symbian and hooked up with Microsoft. Seems funny how yesterdays all-powerful-giants come to be portrayed as underdogs or has beens in relation to Google, despite their massive ongoing market share. Yet, this deal isn’t necessarily bad news for Google – Nokia’s shares have slumped and it may be that existing Microsoft phone partners (Dell, LG, Samsung, HTC) may be questioning their long-term allegiance now that Nokia is set to receive special treatment. On the other hand, the guarantee of a large market going forwards is bound to attract the more active interest of developers in Windows as a mobile platform. http://tech.fortune.cnn.com/2011/02/11/microsoft-nokia-deal-might-be-the-best-thing-that-ever-happened-to-android/
  • Sony may Abandon iTunes
    After accusations of Apple effectively holding it and other content producers to ransom, Sony may be one of the first to entirely abandon iTunes, in favour of alternatives. I sense that this is the first of many major battles ahead for Apple – whose past history is littered with examples of it attempting to keep very tight control over all activities related to its brand and platforms, and which nearly led to its demise in the 90s. http://www.theage.com.au/digital-life/mp3s/war-looms-as-sony-hints-that-it-will-abandon-itunes-20110210-1aonn.html

CMS / Knowledge Management

  • SharePoint 2010 Deployment Reaches 44%
    The proportion of SharePoint installations on 2010 is now equal to that on 2007, which marks a turning point in how developers are likely to be focussing on making use of the extra features available in 2010. As with any such version turning point, it is difficult to wholeheartedly pursue development of brand new functionality for as long as backwards compatibility is a key driver. http://www.cmswire.com/cms/enterprise-cms/sharepoint-deployment-reaches-44-but-faces-challenges-010143.php
  • Pen.io allows ad-hoc micro-content-management
    Task.fm found Anthony Feint has created Pen.io as a platform for creating ad-hoc content management for individual pages or page sections, without having to set up hosting accounts – only a URL and a password is required. As an agency, we often get situations where a static site is too difficult to update, but a full CMS seems overkill – I think this may well catch fire! http://techcrunch.com/2011/02/10/techcrunch-pen-io

Web

  • IE9 Release Candidate Available
    The first official release candidate for IE9 is now available. This will apparently make Microsoft’s browser much more standards-compliant with almost full support for CSS3, as well as adding a considerable amount of HTML5 support, as well as geolocation, privayc controls, hardware acceleration improvements and a whole bunch of other goodies. From an agency point of view, if IE9 really is as compliant as promised, there will be a lot of happy faces from designers and developers alike. http://www.webmonkey.com/2011/02/new-ie-9-offers-geolocation-privacy-controls-and-more-speed/
  • Bing Growing, more Accurate than Google Search
    After last week’s tussle between Google and Microsoft over the ownership of search results, figures show that Bing is continuing to grow at Google’s expense, whilst apparently offering more accurate results. The increasing amount of spam afflicting Google’s results is opening up a space not just for Bing, but also for others such as Blekko who are focussing heavily on the quality of search. It is not inconceivable that Google may be outflanked soon by someone in the way that it outflanked Yahoo on its own rise to fame and glory. http://www.businessinsider.com/bing-more-accurate-than-google-and-gaining-share-2011-2

Social Media

  • Cultural Dimensions of Social Media – The Facebooks of China
    The so-called Great Firewall of China has ensured that much of the social media so dominant elsewhere, such as Facebook, is simply not available, which has led to the creation of sites that first cloned, and then altered these key social media experiences. Whilst it may be marked in the case of China, there is a more general point to be absorbed about the crucial nature of social. cultural and demographic context in the use of social media. http://www.fastcompany.com/magazine/152/the-socialist-networks.html

Tablets

  • HP webOS preview
    Clearly HP want to be taken seriously as a software company as well as a hardware provider. What do they expect to bring to the tablet market that isn’t already there, other than a strong association with B2B. This roundup from the Cocoia Blog summarises some of the interface elements we can expect – webOS looks quite promising on this view. According to Silicon Valley Insider, the US launch may be as soon as June, at a price of $699 – $100 cheaper than the Xoom. From a developer’s point of view, webOS sounds like a dream, based as it is on javascript and HTML5 – one enterprising 14 year old has already built a successful company developing for webOS. http://blog.cocoia.com/2011/hp-webos-event-roundup

Mobile

  • BBC iPlayer Released for iPad and Android but not iPhone
    The decision of the BBC to release the iPlayer only for iPad and Android 2.2, and only allowing streaming over wifi, kicked off a predictable storm of protest – which would have been expected for anything much short of universal access. The combination of a commitment to Flash on the part of the BBC, and Apple’s rejection of Flash has certainly left the corporation in a difficult position. http://www.guardian.co.uk/media/pda/2011/feb/09/bbc-iplayer-app-ipad-android
  • Haptics Platform Released for Mobiles – Engagement of more than just the Visual
    One of the great boons of mobile devices, I have long thought, is the possibility for different kinds of physical engagement, above and beyond the visual domain that we habitually use – most notably in the haptic (touch) sensory modality. Thus the announcement by Immersion of their MOTIVE platform for Android caught my attention. This platform will allow companies to use an amazing range of haptic effects on nearly any Android phone. My bet is that over time muti-modal sensory interfaces will help us navigate not just games, but also tasks, with greater speed and efficiency – once a suitable shared haptics vocubulary has evolved. http://techcrunch.com/2011/02/10/buzz-editor-immersion-releases-motiv-haptics

This Week I got Excited About:

  • Kentico CMS 5.5 R2 Intranet Portal
    The new version of Kentico comes with an out-the-box Intranet portal template – which we have started using to implement our new company intranet – first impressions are very positive, though the real proof will come when we start using it in anger. http://www.kentico.com
  • Rapid-I Rapid Miner
    Very easy to get this data mining framework up and running in terms of getting it to function – but obviously you need to know exactly what you are doing – working on a hobby project with this to do textual analysis of RSS and Twitter feeds – bit of a learning curve. http://rapid-i.com/content/view/181/190/
  • CrunchBase
    Free database on technology companies, people and investors – a kind of corporate & financial wikipedia. Good for doing research on Social Media and technology start-ups, as well as the Silicon Valley big-boys. http://www.crunchbase.com/

Bespoke App Distribution – a Show Stopper for iOS in the Enterprise?

It may well be that one often overlooked issue may be a decisive factor in determining which tablet platforms become enterprise favourites: are the available distribution channels appropriate for distributing bespoke apps?

In my experience, when corporate customers purchase content or knowledge management tools, a significant consideration is the scope for company specific customisation of functionality. For the kind of custom dashboard and CM tools that my clients routinely want, this involves the release of custom installation packages.

Let me make a broad assumption that for many organisations this kind of customisation will continue to be important – along with specific security considerations. This means a continuing need for bespoke app releases.

For Apple’s iOS distribution means either iTunes or direct distribution from Apple developer accounts, which requires you to build individual user device details into distributions in advance, as well as limiting the number you can send it to. By comparison, sending bespoke apps to any Android user is a breeze – you can just email it to anyone who needs it without extra builds.

The bottom line is that unless Apple introduce a way of distributing bespoke builds to a restricted user group, then it’s hard to see how the iPad or iPhone can be a long term corporate favourite for any company that needs more than either pure web apps or pure vanilla general release apps. Does Apple have the appetite for opening other distribution channels for the corporate Market – only time will tell!

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: