Showing posts with label mobile. Show all posts
Showing posts with label mobile. Show all posts

Sunday, 8 February 2015

When open source software goes astray

     I have just spent about half a day installing and configuring the latest version of Apache Cordova. I've used Cordova for several years now, it remains a great way to write a cross-platform mobile app.
     The reason for this article though lies in the first line. I spent half a day simply installing and configuring a mobile framework, I haven't opened an IDE yet, less still written a line of code. Let's consider that for a minute, this is a mobile framework, not an OS distribution! I am guessing I would have spent less time reinstalling Debian than I did yesterday to end up with a few megabytes of mobile project.
     Because that's all Cordova is, when you get down to it. A set of ready-to-go mobile projects for each platform that you pull into your IDE and start pushing HTML and Javascript into. And until version 3 that was how it was distributed. Unpack the downloaded archive, pick up the directory for your platform, pull it into the IDE, start coding. Have your prototype app in front of the boss at the end of the day.
     Cordova 3 changed all that, and going by my experience yesterday Cordova 4 hasn't fixed it. You install Node, use npm to get Cordova, run a command line to create your project, then another command line to add your chosen platforms and plugins to the project. The project directory has one master www directory in which you put your app code, and a simple command line builds each platform-specific project from that www directory. Putting aside the version and configuration hell that marred yesterday afternoon's install for me it sounds really elegant.
    Unfortunately though that is not the way apps are written in the real world. It would be great to write one copy of your HTML5 app and then deploy it to each platform and compile it from the command line on the same computer, but sadly cross platform app development doesn't work that way.
    Picture for a minute the office of a typical Cordova developer who produces apps across more than one platform. They may have a Linux box for Android development, running Android Studio or maybe Eclipse. Their Windows Phone apps will be developed on a Windows box with Visual Studio. And finally they will have a Mac running Xcode on which they develop their iOS apps. This is not a choice but a necessity, try asking Tim Cook or Satya Nadella for permission to develop for their mobile platform on the other's OS and you won't get very far. It's possible that the Android apps could be developed on the Mac or the Windows box, but it's still largely true that if you want to do cross platform app development for multiple target platforms you are going to have to have multiple development platforms and more than one IDE. It's not ideal and none of us really want it or like it, but it's the harsh reality of developing software for closed-source commercial platforms.
    In that environment Cordova's elegant project build structure is almost completely useless. Putting aside the unfortunate fact that each platform demands subtly different code for its in-app browser, it is impossible to load the generated Cordova projects directly into Android Studio, Xcode, or Visual Studio and develop them from their Cordova build directories because each time the project is rebuilt at the Cordova end the project you see in your IDE is overwritten. So you end up using Cordova's build system to create vanilla projects for Android, iOS and Windows Phone that you copy somewhere else and load into the IDEs before never touching the Cordova build system again. Instead of being an elegant and useful addition to the project it has become an annoyance and a significant inconvenience.
    So there's my Cordova rant. It's a bit unfair, Cordova remains a really useful piece of software. In reality I think it would be better to characterise my rant as one against the tendency in open source software to incorporate features not because they make sense for the software itself, but because someone thinks they are a good idea. In the same way that the developers of PHP who are not PHP coders but C and C++ coders seem to be on a mission to turn a sequential scripting language into a clone of C++, it makes sense to them but is increasingly divergent from the use case for the vast majority of PHP developers.
    Every open source project risks this pitfall as a side-effect of success. People write software because they want to solve a problem in their lives, but eventually they transition from being the people with a need for the software to being the people who only write it. They lose touch with why and how the end users use the software and imagine that they and not their users know best how it should be used.
    There is an obvious difference between the open source movement and the closed source commercial world. But one thing remains constant in both worlds: the customers will dump your product if you ignore their needs and try to dictate to them what they will have. IBM learned this the hard way in the 1980s with the PS/2; the customers and the rest of the industry continued evolving the PCs they already had rather than taking the direction IBM wished to impose on them.
    I find it sad that the same tale is played out in the open source world. Open source software could be a rich dialogue between users and developers, instead each successful project eventually loses its way just as commercial entities do. I suppose moribund companies spawn upstart competitors just as moribund open source software spawns vigorous forks, but there are times when the wait for a fork seems awfully long.

Wednesday, 13 November 2013

Developing the Oxford Dictionaries Quick Search app

    Well here we are after what seems like an age of tweaking, the Oxford Dictionaries Quick Search app is finally available for installation. It can be found on the iTunes website here, and on Google Play here. The Windows Phone 8 version should with luck be out in a few days.
    As the developer of course I'm going to say it's a brilliant app, but that would verge on shameless astroturfing. What I can say is that it's a simple and lightweight free English dictionary look-up app that I hope users will find useful.
    Under the hood, it's a client for the Oxford Dictionaries API. This of course means that it requires a data connection to run, but does give the advantage of the app taking very little space and providing the most comprehensive and up-to-date dictionary entries. Though it's hardly a novel use for the API it does demonstrate the functionality and speed of the service, as well as the ease with which the API can be developed against.
    The app uses the PhoneGap cross-platform HTML5 app framework with jQuery and jQuery Mobile providing the Javascript heavy lifting and user interface respectively. These packages have allowed us to deploy the app on three platforms in quick succession with minimal investment, something we could not have done had we been required to write all three versions natively. The quirks of the different HTML5 implementations have caused us a few headaches along the way, but not significantly more than web developers are used to when dealing with different browsers.
    It's been interesting to compare side-by-side the ease of development on the different mobile platforms. Android is the easiest as you'd expect, but with a Wild West of devices and OS versions out there it needs to be. We've been scouring our colleagues for odd Android versions and form factors to try our app on, yet I'm sure we've not tried them all. In particular we decided that with 25% or thereabouts of the Android market we couldn't abandon support for version 2.3, so we've had to contend with its incomplete font support and sometimes shaky HTML5 implementation.
    iOS by comparison with a set number of devices should be easy to develop for but starts to become more effort due to the stringent demands of Apple. Attaching different iOS devices to our development environment can at times be a challenge, and the ballooning demand for supporting resources such as splash screens, icons and screenshots for different resolutions and OS versions sometimes feels as though it is getting out of hand. However the App Store approval process was much quicker than we expected it to be.
    The Windows Phone 8 development environment shows Microsoft's typical attention to detail. The supporting resource requirements are well-thought-out, getting the app on a device is straightforward, and the free version of Visual Studio is a delight to use. However the fact it would only run on 64 bit Windows 8 seems rather strange, and Microsoft have not quite shed their reputation for quirky HTML environments. I didn't expect the problem we had with an animated GIF loading spinner, for instance.
    So it's been an interesting experience. I'd recommend PhoneGap to anyone wanting quick development of multi-platform mobile apps, though it's provided a few learning experiences of its own.

Tuesday, 5 November 2013

Fixed jQuery Mobile footers on Windows Phone 8

    Here's a solution to something which baffled me for a while: making a jQuery Mobile footer that stayed at the bottom of the screen and didn't scroll away with the content in a PhoneGap app on Windows Phone 8.
    jQuery Mobile is usually pretty good at making fixed footers. The code below works fine on Android, using data-role and data-position attributes on the footer div.

<body> 
<div id="container" data-role="page" data-theme="f">
    <div id="header"  data-role="header" data-position="fixed" data-tap-toggle="false">
    Header content here
    </div><!-- /header -->

    <div id="content" data-role="content">
    Page content here
    </div><!-- /content -->

    <div data-role="footer" data-position="fixed" id="footer" data-tap-toggle="false">
     Footer content here
    </div><!-- /footer -->
</div><!-- /page -->
</body>

    Unfortunately, on Windows Phone 8 it places the footer at the base of the screen but does not allow the content to scroll underneath it. Thus your footer scrolls up the screen with the content, hiding a bit of content as it goes and looking really horrible.
    You might think breaking out of jQuery Mobile by losing the data-role and data-position attributes and then applying a fixed position and a z-index to your footer would do the job. After all, it's the standard fix for some of jQuery Mobile's footer quirks on iOS. But sadly all that does on WP8 is anchor the footer to the bottom of the page rather than the bottom of the screen, resulting in a long scroll to see it. Less obviously broken, but still not what we want.
    My solution then was to apply a fixed height to the content div and allow the default WP8 overflow:auto; CSS to make its content scroll out of sight beneath it. I removed the data-role and data-position attributes from the footer and used a little piece of javascript to calculate the height of the content div from the heights of the surrounding divs and set it. Not necessarily the most elegant solution, but one that should reliably work across a range of devices.

<body> 
<div id="container" data-role="page" data-theme="f">
    <div id="header"  data-role="header" data-position="fixed" data-tap-toggle="false">
    Header content here
    </div><!-- /header -->

    <div id="content" data-role="content">
    Page content here
    </div><!-- /content -->

    <div data-role="footer">
     Footer content here
    </div><!-- /footer -->
</div><!-- /page -->
<script>

//NB the code below references jQuery, not included in this HTML for simplicity

var headerSpace = parseInt($('#header').css("height")) + parseInt($('#header').css("marginTop")) + parseInt($('#header').css("marginBottom")) + parseInt($('#header').css("paddingTop")) + parseInt($('#header').css("paddingBottom"));

var contentSpace = parseInt($('#content').css("marginTop")) + parseInt($('#content').css("marginBottom")) + parseInt($('#content').css("paddingTop")) + parseInt($('#content').css("paddingBottom"));

var footerSpace = parseInt($('#footer').css("height")) + parseInt($('#footer').css("marginTop")) + parseInt($('#footer').css("marginBottom")) +
parseInt($('#footer').css("paddingTop")) + parseInt($('#footer').css("paddingBottom");

var contentHeight = window.innerHeight-headerSpace-contentSpace-footerSpace;


$('#content').css("height", contentHeight + "px");

</script>
</body>

    I hope this helps put you on the right path. There seems to be frustratingly little documentation out there on what WP8 does and does not support, and on workarounds for what seem to be common problems. With luck this fix has plugged one such hole.

Thursday, 24 October 2013

There will be no iPad killer

    This week brought the news that Nokia have launched their long-rumoured tablet running Windows RT. Despite their woes of the last few years when it came to understanding what their consumers wanted, when Nokia get their act together they are still capable of making some of the best hardware there is. It's by all accounts  a decent effort, and the word is if you want an RT tablet it's the one to get.
    The trouble is, it wasn't long while reading about the new Nokia that I read the dreaded phrase "iPad killer". And it looks as if Nokia and Microsoft themselves believe that description because they've priced it in iPad territory, at just under 500 quid with a keyboard.
    I can't remember when I first heard a device described as an iPad killer. Probably not long after the iPad came out. Just for fun I tried to remember a few of the devices once described as iPad killers. Here they are, just a few of many.

  • HP WebPad
  • Motorola Xoom
  • BlackBerry PlayBook
  • Toshiba Thrive
  • Sony S1
  • Microsoft Surface RT
  • Samsung Galaxy Tab (the original one)
    All of these were launched with a fanfare and priced against the Apple product, yet with the possible exception of the Samsung flopped and sank without trace. The BlackBerry and the HP were both particularly nice devices, yet they both ended up being sold at fire-sale prices. The HP famously flopped so badly that HP dumped WebOS overnight and pulled out of the tablet business. Evidently being an iPad killer is a tough business.
    Here's the thing. Despite what the fanbois will tell you, the iPad isn't anything special. All it's got is the Apple logo and all those apps, otherwise its hardware is not too different to its competitors. But the consumers don't care about the niceties of different processors or display technologies (beyond Apple's rather meaningless "retina" marketing fluff), they just know they don't want the tablet equivalent of a Betamax video. So if they're asked to pay iPad money for something that isn't an iPad they'll know a risky deal when they see one and walk away. Meanwhile each successive marketing team makes the mistake of believing their own hype and yet another device heads towards the dustbin.
    So sadly the Nokia tablet will fail. It will do so on price alone, without that consideration the Microsoft Metro interface is a joy to use and Nokia hardware is beautiful. If they forgot the iPad and sold it for half the price it would be an unexpected success, as it is it'll be yet another tombstone in the iPad killer Boot Hill. You'd think a company and an OS vendor desperate for market share at all costs would think about that.
    The title of this piece is "There will be on iPad killer". That's not to say that the iPad will never lose its place as the tablet to own, more that as Apple lose the ability to give it meaningful differentiation its position will inevitably be eroded by ever cheaper and more numerous competition. If I were marketing a tablet I'd rather my device beat that competition than took a pop at the iPad. Let the fanbois have it.

Saturday, 12 January 2013

A month with an Intel smartphone: Motorola RAZR i review

    It's been a month since I received my upgrade from Orange, a shiny new Motorola Razr i. I swore I'd never touch another Motorola after being caught out when they didn't upgrade my DEXT beyond Android 1.5 despite releasing version 2.1 for its American counterpart, but here I am suckered into owning another Moto.
    So why did I pick the Razr i over the competition? After all, there are a whole slew of rather good phones out there at the moment and this one might seem a little of an outsider.
    At this point most phone reviews go into a great long spiel about the minutiae of differences between  near-identical smartphones, talking about screen technologies, fractions of a millimetre in device thickness, minor screen size variations and pointless manufacturer-installed software bling. But it's a futile exercise. Within reason, pretty much all phones at a particular price point are functionally identical; one black slab these days is fairly interchangeable with another of similar specification. What matters in a phone is this: will it run my apps quickly enough and will its hardware ever let me down?  In more specific terms, is it OK for making calls, does it run a decent operating system, does it have a reasonably quick processor, and does it have a decent camera for its price? And if it satisfies those criteria and doesn't come with an outrageous price tag, that's all that needs to be said. If you want a traditional review of the Razr i then most tech sites should have one by now, meanwhile here are my impressions as a user.
    So here are the basics: Build on the Razr i is good, it feels solid with an aluminium frame, Kevlar back and Gorilla glass front. The screen is an OLED job, nice and bright with plenty of space and resolution for desktop site browsing. It's far better than my DEXT was at getting 3G signals in rural areas and it doesn't lose calls as frequently. It's not quite as good as most Nokias at conjuring signals out of nothing though. The OS is Android 4.0, thankfully without Moto's awful MotoBlur interface, and an upgrade to 4.1 is promised. As a DEXT owner that brings forth hollow laughter, but at least by the time 4.0 feels old there will be third party ROMs available for it. The camera is not as good as those on the best phones on the market but it is perfectly acceptable for the price and has a few tricks up its sleeve, of which more later.
    The Razr i's party piece and the feature that attracted me to it though is its processor. It has an Intel processor rather than the more common ARM, and it is one of the first Intel-powered phones to move forward from the Intel reference design.
    The Intel processor in the Razr i is a single core device as opposed to the the multicore configurations usually found in ARM phones. It makes up for this with a faster clock speed, at 2GHz nearly twice that of its ARM competition, and enough to run Android and its apps at a truly blistering pace.
    An Android phone with this processor faces two problems, and on how well Intel have tacked them will ride the success or failure of their push into smartphones. First, the Intel instruction set is not the same as the ARM instruction set so there might be an expectation of software incompatibilities with Android apps designed and tested on ARM devices. And second, such a high clock speed might be expected to shorten battery life as faster processors run hotter than slower ones.
    Based on a month with an Intel smartphone I think they've done a pretty good job. On software incompatibilities there has been no issue save for the unavailability of one app, BBC iPlayer. Since this depends on Flash, a dead mobile technology if ever there was one, I can forgive them for this. In fact the lack of Intel support rather proves that Flash is dead on mobile, for if it was still alive it would surely have been ported by any of the rather large parties involved.
    And on the power consumption front I think they've succeeded too. Intel have a lot of experience in their more traditional markets making silicon that adapts its clock speed and thus power consumption for portable use, and this has resulted in a phone that I need to charge every other day in general usage. Considering that it's not uncommon for smartphones to barely last a day on one charge, that's pretty damn good.
    The camera is one of the make-or-break pieces of hardware in a phone for me. In hardware terms the Razr i's sensor is not as good as some of its competition, at 8Mp it lacks the resolution of more expensive phones and its lens is nothing to shout about. But that said the hardware is perfectly acceptable, and the way it has been implemented makes it stand apart from other phones in its price bracket.
    This camera is fast. Really fast. And it has a mode in which it starts from sleep mode with a single press of the shutter button. I can wave goodbye to fiddling with an unlock sequence to take a picture, to those camera phone pictures that failed to catch fast moving subjects due to shutter lag, or that embarrassing wait while the phone saved your latest JPEG. Press the Razr i's shutter button, and that's the photo taken and saved. No messing about, on to the next one. As someone who takes a lot of camera phone pictures, that has changed the way I use my phone, it really is a point-and-shoot device.
    There's only one feature of the camera software that sticks out from the crowd; it has an HDR mode. HDR, for the uninitiated stands for High Dynamic Range, and it refers to composite photographs created from multiple shots of the same scene at different exposures to ensure that all parts of the scene are at optimum exposure.
    The trouble with HDR is that like all new toys there is a tendency to push it a little too far. Thus if you search Flickr for HDR pictures you'll find reams of startlingly garish pictures in which the photographers have turned the software up to 11 without considering whether or not it makes a better picture. Thus those three letters don't always instill confidence, they usually mean something a little painful to look at.
    The HDR mode on the Razr i is fortunately not turned up to 11. Usually it brings out the detail in shadowed areas of your scene and results in a brighter picture. Exactly what you want from a snapshot camera. However, it sometimes produces a picture with a bit too strong an HDR effect, and at other times it has problems mixing the different exposures. So I find it broadly useful, but sometimes capable of getting it wrong
    Here are some example pictures: First, an outdoor shot in bright sunlight. HDR above, no HDR below. Probably the camera at its point-and-shoot best, it may not be capturing the nuances of a professional model but as a snapshot camera it produces pictures that are bright and full of detail.

 Here the scene is a little more challenging, an overcast day and a tree against the sky. Again the HDR is the upper picture. It's done a good job with the pub, but straight away you can see in the branches of the tree that the HDR algorithm is having problems deciding which exposure to use.

 Now we're pushing the camera to the limit with a night-time shot. As expected, there is plenty of noise present in these images. However, the left-hand HDR image does manage to pull out more detail, for instance the car numberplate is legible. 


 So would I recommend the Razr i to a friend? After all the market is very crowded at that level and there are some real contenders, why buy something a little off-the-wall when you can have a Nexus 4, for example? The answer's simple. I'd recommend the Razr i to someone who wanted a quick phone with a very quick camera and had it on offer as a carrier upgrade. For someone paying up front for a phone I'd suggest they look at getting a phone with a cast-iron guarantee of receiving Android upgrades while its technology can support them.Sorry Moto, you've made a really great phone here, but I still can't forget your cavalier attitude to Android upgrades in the past.

Thursday, 4 October 2012

What I really want from a mobile phone

    Every week it seems, there comes a new smartphone launch. Despite the fact that they are increasingly becoming identical black slabs, we're told that this one is different, special somehow because of one of its new features. It has an extra few mm of display width, it's 0.5mm thinner or it has an extra core in its processor.

    All very nice, but y'know what? I don't give a toss.

    For me, a technophile, to say that indicates that for me at least the multi billion dollar mobile phone industry has failed. Its products are all pretty much indistinguishable, but more importantly for me they don't do what I want from a smartphone.

   My perfect smartphone must have these features:
  • Nuke-proof hardware. Tough enough to survive my pocket, clever enough to conjure a signal out of almost nothing.
  • A useful and popular operating system. And a realistic chance of OS upgrades over its life, if I buy a phone from you that gets Osborned you simply will not get another chance. I'm looking at you, Motorola, I haven't forgotten my DEXT with its official support for Android 1.5 only.
  • No stupid manufacturer front ends or resource-consuming bloatware.
  • A QWERTY keyboard. Hey phone companies, I've got NEWS for you! We don't all have tiny fingers, and sometimes we use our phones in environments where touch screen keyboards are quite frankly shit. No, let me qualify that. Touch screen keyboards are ALWAYS shit.
  • A kick-arse camera. No, simply having a gazillion megapixels is not enough. It has to be a decent quality camera module in the first place. Nokia cracked this one a decade ago, wake up at the back there!
  • Enough screen area and resolution to be useful for browsing, enough processor power to keep up.
  • Decent hardware expandability. 3.5mm audio, Micro SD, USB, no weird and expensive proprietary connectors. 
That's it. I don't give a toss about device thickness, dot pitch, chipset willy-waving, Angry Birds, tinny built-in speakers, cheap music deals or all the other crap. If I could buy a bullet-proof QWERTY Android smartphone with a camera like the Nokia Pureview 808, I'd pay full price. Five hundred quid, there and then. Until then, you can keep your shiny black slabs, and I'll keep my money.

Monday, 21 November 2011

Android vs. iOS apps: it's a matter of status

So my mission has been to research a category of smartphone apps. I've been to the iPhone App Store, the Android Market, the Windows Phone Marketplace, and the BlackBerry App World.

And I've seen a lot of apps, and a lot of screenshots. A hell of a lot of screenshots.

iPhone screen shots normally have the status bar included. The time, the battery and the connectivity status. Or 'iPod' if they were taken on an iPod Touch. You can level many criticisms at Apple, but you can't fault their design.

Microsoft and BlackBerry screenshots don't have a status bar. Their designs don't need one.

But Android? Oh dear. Fine, Android has a status bar. But for some reason developers uploading screenshots think it's perfectly OK to tell the world they've got mail. Or voicemail. Or missed calls, Advanced Task Manager, or a hundred other icons in their status bars.

Here's the thing, I'm an Android Market customer. As such I have the attention span of a goldfish, I'm not paying you any money for your app and I owe developers no loyalty. Therefore if your app fails to grab my attention in the first couple of seconds after page load, it's history. So if the screenshot looks a little crap, the developer loses a download.

Amazingly it seems the majority of Android developers don't get this and fail to clear their status bars and turn off their connectivity before taking a screenshot. Just for fun I pasted a few status bars together in the image alongside this article.

I downloaded them because I had to to complete my task. But would you?


Friday, 2 September 2011

How smart does a smartphone have to be?

    It started with an argument I heard last year at an event for mobile application developers. On my left, a developer, on my right a mobile phone industry maven. The developer was waving his three-year-old Nokia E71 and using it to illustrate a point about the smartphone market.
    The maven remarked that in the context of the smartphone market in 2010 the Nokia was not a smartphone even though it meets the basic criteria for being a smartphone of having a general purpose operating system on which the user could install their own software. His reasoning was that it was not marketed as a smartphone in the same way as iOS and Android devices have been and it lacks the readily accessible app stores available on those devices, and most users would not use an E71 in the same way that they would use an iPhone. They would use the E71 as a phone while they'd use the iPhone as a computer.
    A lengthy argument ensued with the developer demonstrating the apps on his Nokia and the maven simply pointing out that a developer prepared to source Symbian apps and install them himself is hardly the typical mobile phone user.
    I can so see how both sides of the argument have merit. Any Symbian phone is a smartphone in the classical sense, but the differing experiences between using the Nokia and using a modern phone running Android or iOS mean that most users of Series 60 phones like the E71 would have been just as well served by a series 40 feature phone, such was their low uptake of the smartphone features.
    I've been given cause to rememeber the argument a couple of times this year, as I've left the charger for my Motorola DEXT Android phone at my parents house and had to revert to using my previous phone, a Nokia N73. I'd never fully made use of the N73's smartphone facilities when it was my only phone because I didn't have a data plan worth anything, so how easy would it be to use a series 60 device as a smartphone in 2011? I installed the Motorola's SIM with its hefty bandwidth allowance and set the N73 to work.
    At the very start I knew there were areas in which a five year old phone could not compete. The N73 is one of the best voice phones I have ever owned and it has an excellent camera, but events have moved on since it was my fancy new toy. There is no touch screen so input is from a numeric keypad and thumbstick, no wifi or GPS, and its rather archaic miniSD card is limited to only 2Gb. It seemed so large when it was new! So I was interested in two areas only: what is the ease of finding and installing software on a Series 60 device and can the device and software do the jobs I demand of my smartphone?
    That posed the obvious question: what do I use my smartphone for? Like most Android or iPhone users I have installed a variety of apps for all sorts of purposes. I guess you could call me an Android power user, the DEXT has been rooted and sports a CyanogenMod community ROM.
    Some of the apps on the DEXT such as the compass app or the GPS-driven OS map app were not applicable to the N73 because of the lack of GPS. Others I might have installed but never really used much. So I thought about it and decided that I use the Android phone most for web browsing, Gmail and Google Maps. All tasks that should be within the capabilities of a device like the N73.
    As soon as I turned the N73 back on earlier this year I realised that there was another issue to consider. Not one that would prevent the phone being used but nevertheless a big consideration when comparing with a modern smartphone: Symbian is a capable modern OS under the hood, but Nokia's interface feels so much like one created for an appliance while the iOS and Android interfaces feel like those of desktop computers. You might excuse this by the age of the device, but having recently had a go with my wife's brand-new Nokia N8 I'd have to say that this is still the case with their most recent version. This is not necessarily a bad thing but does reflect the culture behind it, Nokia are a manufacturer of dedicated devices while Apple and Google come from a general purpose computing background. Another point for the maven above's premise that the marketing for Symbian devices never really capitalised on their smartphone abilities. Perhaps if they had, Nokia wouldn't be in the position they are now.
    So I had an old phone ready to go. Fortunately I'd charged the battery every month or two so everything still worked. My first step was to plug it in to Ovi Suite and run the software updater. At this point I hit another area in which the Nokia fails to compete with other smartphones. This was the very latest version of Ovi Suite as installed for my wife's N8, you'd think that by now Nokia would have employed a user experience designer to make it easier to use. By comparison with similar tasks on an iOS or Android device which Just Work, Ovi Suite is painful to use, a piece of annoying bloatware.
    New firmware in place, and what did it do for me? Nokia Maps was new, so it was back to Ovi Suite to download the UK maps. Yet more tedious fiddling. Then to look at the apps.
    Here I met the biggest let-down and the confirmation of the maven's view over that of the developer. Comparing the choice of apps on an Android phone with those in Ovi store reminded me of my Amiga days nearly twenty years ago when I would see poor quality software being punted for several times the price of its equivalent for the PC. How many idiots really pay five quid for a novelty theme for their Symbian phone? Yet that seemed to be most of what was on offer in the app store, to find anything useful I had to resort to Google to find individual developer sites.
    Fortunately though, I didn't need to look very far for my main apps. The updated firmware gave me a newer version of Nokia's Symbian browser but that hardly delivers a modern browsing experience. The same goes for the Nokia email client, in a cloud email world it just seems so dated. So my web browsing was always going to be taken care of by Opera Mini and email was well catered for by Google's native S60 Gmail app. I also took the time to install Google's search app and Google Maps app.
    So my viewport on the world became a 240x320 pixel portrait display and my input device a numeric keypad and thumb joystick. I needed to relearn the art of entering text using a keypad and resist the urge to use my finger on the display.
    My respect knows no bounds for the developers of Opera Mini. To fully replicate a modern desktop browser with server-side rendering on a very basic phone was always going to be a tall order, but they have come as close to that goal as they can, delivering a surprisingly useful web experience that comprehensively shames even the latest version of Nokia's own browser on the N8. I can check my work email using the web version of Outlook, I can easily browse full desktop versions of most of my favourite web sites and I find the interface squashed into the tiny screen of the N73 to feel modern, be intuitive and easy to use.
    The same can not quite be said of the Gmail client interface. It's easy enough to use but it has a very different feel to that of Opera Mini. It uses the Symbian GUI features heavily, and as such it feels like something running on a phone from 2001 with a grey LCD rather than one from 2006 with a colour TFT.
    Having spent a couple of weeks back in N73 country I have to admit I found it perfectly adequate for 2011. Sending a Tweet or replying to an email is a little tedious through a numeric keypad but using the joystick to control the pointer soon became second nature. And the Nokia's far superior hardware meant I had a signal in the most unlikely of places where the Moto would have been a relatively useless brick. I've posted pictures to Twitpic, made forum posts, referred to an email from my boss in a meeting and sent a drunken Tweet from a pub looking for a quiz team. In short, the N73 has been my constant companion in exactly the same way as the DEXT and though it can't quite do all the things the Android phone can, it's been useful enough for me not to become frustrated with it.
    On the whole after a while using Series 60 again I agree with the maven's view above. It is most definitely a smartphone OS and I've used it as such, but get it to do so I've had to search the web for apps and navigate a rather tedious and unintuitive PC software suite. But I can see the developer's point of view, it's been a rock solid small computer for some quite intensive mobile browsing and email on the go. Even with CyanogenMod I'd have had to reboot the DEXT a few times in a couple of weeks, by comparison I never had to reboot the N73 to make it perform properly. The only thing I found tedious with the Nokia was its text input, but then again I never got on with numeric keypads. If I get the chance I'd like to try a Bluetooth keyboard with it, or perhaps a QWERTY device like the E71.
    So I'll not be giving up the Motorola. It is a better computer, even if not always the better phone. But the Nokia has been rescued from the drawer and kept charged, because I now realise it's too useful to ignore.

Friday, 31 December 2010

Three easy predictions for 2011

   ...All of which will look delightfully naïve by late December 2011.

(1) People will consider Microsoft Windows Phones worth having
    Windows-toting mobile phones have never been cool, have they. Everyone's got at least one friend who's got one, but they're always the friend that has to enthuse a little too much about their mobile because it doesn't quite deliver. I remember being quite excited about one friend's XDA, before finding just how clunky it was compared to the ageing Nokia running Symbian I had at the time. A high end smartphone has to be *really* clunky to make the Symbian interface from circa 2005 seem slick and easy to use.
    Windows Phone 7 has changed all that in my view. Sure it's no iPhone, but the interface doesn't make you want to smash the phone in frustration and unlike some earlier Windows Phone offerings it delivers what you expect of it. But that's not the key feature that I think will make Windows Phone 7 cool in 2011.
    The first Windows Mobile phone I ever saw was owned by a friend who is a .net developer. He was excitedly showing his desktop .net  app of the moment running on his phone. It was pretty useless with a tiny screen, but it ran. Because as a Microsoft device it came bundled with the .net runtime, and as a .net developer his skills were instantly transferrable to his phone.
    And there is the reason I think Windows Phone 7  phones will become cool. Apps, and its tight integration of .net. Decent hardware paired with a lot of marketing and a good app store, these phones will sell. And since there is a huge developer community of .net developers who do not need to learn any new skills to create Windows Phone 7 apps, I think that Microsoft will not face the same challenges that Symbian or Bada face to attract developers in 2011, and the resulting high quality apps will make Windows Phones worth having. Not even Microsoft could screw up such an opportunity, could they?

(2) Companies and the media will wake up to the idea that not just the iPhone can run apps
    Am I the only person who is sick of seeing companies, newspapers and others proudly touting their new mobile capabilities with an iPhone app? My prediction for 2011: a chill wind will blow through the marketing departments of the land as they realise that all the cash they spent on that shiny new app isn't going to make them a penny from all the millions of owners of Android and other smartphones who can't run iPhone apps.
    Whether this means that they will start offering a range of apps for different platforms or simply move their app content to in-browser online delivery I wouldn't dare to predict. I'd expect the latter though. Shame it's a little early for W3C Widgets.

(3)Tablet computers will become cheap enough to be given away free
    If you are unfortunate enough to have handled one of the cheap and nasty Android tablets that have appeared in the last few months, you'll know just how nasty they are. Horrible user interfaces on resistive screens, too-slow processors, not enough memory and too-short battery lives. At around about £100, they are a huge disappointment and waste of money.
    But how would you view them if they sold for £50? Too much? How about £25? Or how about free? Imagine, you are a large home-delivery or mail-order business, perhaps a supermarket. You have millions of customers and you want them to be able to access your service with the minimum fuss wherever they are. If only they could just pick up a tablent while they are slumped in front of the telly, go straight to your site and spend their money.
    If you are a nationwide supermarket chain, you have the buying power to pick up cheap and nasty Android tablets from China in shipments of millions for relative pennies per unit. And if by giving away a tablet to each customer you guarantee yourself a massive sales increase, then a free tablet for all becomes a no-brainer.
    I don't know who will be first to do it. Tesco perhaps, to their phone or broadband subscribers. But I'd be surprised if 2011 didn't see at least one free branded tablet in the living rooms of the UK.

    So there you go. I've set myself up for a fall this time next year, but I think these three really do have a chance of happening in 2011. Only sitting out the year can tell me the really interesting stuff I missed.

Friday, 3 December 2010

Report from OpenMIC9

     So I spent yesterday at the Jam Factory in the company of about fifty geeks talking about everything mobile at Open Mobile Innovation Camp 9. These type of events are a good place to meet others of like mind and learn about emerging trends and technologies in a particular field. Sometimes the geek level is higher than others and at times one can be left behind by people far further ahead of the wave than oneself, but thankfully yesterday was very accessible and I came away with far more information than I went in with.
    As is often the case at such events, the morning's schedule was filled with talks from selected luminaries of mobile development and the afternoon to "barcamp" sessions - geeks talking shop.
    Google's Reto Meier couldn't make it due to the snow, so we had a talk on the future of mobile technology from IBM research's Dale Lane, a talk on the comemrce and marketing of the mobile app space from Everything Everywhere's Mark Watts-Jones, a talk on upcoming W3C mobile standards including my interest of the day, W3C widgets from Vodafone's internet evangelist Dan Appelquist and a demo of mobile app technologies from Calvium's Tom Melamed.
     In the afternoon's melee I ended up caught up in a weighty discussion on identifying your mobile users and their device capabilities - important to us if we ever want to get the best experience over to our visitors - and then an examination of the evolving nature of a smartphone. Interesting, if rather geeky stuff.
    All in all a worthwhile day. I came away knowing more about widgets which was my objective for the day. I'd like to think in a year's time when I'm waving a phone with a dictionary widget on it at anyone who'll listen, that the marketplace will be just about ready for them and we'll thus steal a march on all our competitors who've rushed headlong into the app stores.
   I can hope, can't I.

Friday, 29 October 2010

Identifying your mobile visitors from web stats

    As mobile browsers have moved from gimmick to the mainstream over the last few years the job of a web developer has had to evolve to service their needs. With full-featured mobile browsers replacing the cut-down early offerings we might have to worry less about our mobile users than we used to but we still have to ensure that they can use our sites with few problems.
    The problem with mobile platforms from a developer perspective is that there are so many of them in use. Testing a web site on the desktop is comparatively easy, once you’ve made it work in IE and Firefox, you’re unlikely to find any issues in Chrome, Safari or Opera so once you’ve given it the once-over on a Mac there’s not much left to do. By comparison it is almost impossible to have one of each of the plethora of mobile phone platforms so once you’ve looked at the iPhone, Android, and Opera browsers, with maybe Windows Mobile and Blackberry as well (assuming you are fortunate enough to know owners of all those handsets) you have little idea how the rest of your mobile users will experience your offering. In my case I have an Android phone and a Series 40 Nokia clamshell, and I borrow a friend's iPhone 3G when I need to test that platform.
    To shed some light on the matter you need to know the scale of the problem. So you go to your web stats or analytics package and look at the browser/OS combinations. If you’re lucky, your package will be capable of recognising smartphones, so you’ll pretty quickly see stats for visitors with iPhones, Android phones and maybe Blackberries. But a cursory glance at the detected user agents should tell you that is only the tip of the iceberg. A quick look at mine reveals a huge list of feature phones, some from well-known manufacturers like Nokia or Samsung and other devices I’ve never seen and in most cases never heard of.
    On my site I finally settled on looking at screen resolutions. I decided anything smaller than 640x480 had to be some kind of mobile device, so added those numbers to those of a few well-known larger-screened devices. The iPhone 4's 960x640 pixel display being a good example. In the end I found that around a tenth of a percent of my site's visitors were mobile users. This was less than I expected because I think the number of different user agents had led me to believe there would be more, however it tallied with the figures for browsers and OSs so I found it to be believable.