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.
Saturday, 12 January 2013
Friday, 4 January 2013
The most valuable piece of code I ever wrote
Thinking about a planned interactive feature for the OxfordWords Blog recently I was reminded of a little piece of Javascript which is probably the most valuable piece of code I ever wrote. Valuable in terms of revenue generated for the customer that is rather than value to me, for it took a very short time to write.
It was a mid afternoon in 2007 or 2008 when one of my customers at the time rang up with an idea for a little feature for his web site. His company is a rather large second-hand vehicle specialist and he's one of those customers for whom I have a lot of respect. No-bullshit, but fair in return and one of those guys you can learn stuff from.
The second hand vehicle business works over the telephone, if they can get you on the phone they're pretty good at persuading you to part with your cash to drive away in one of their machines. Their conversion problem therefore lies in getting the customer on the phone in the first place.
So their site, a large catalogue of vehicles, was and still is plastered with their phone number. No need for a shopping cart or online payments, their industry has enthusiastically gone online but their customers still like to deal with someone directly when parting with cash.
The problem facing my customer was that his conversion rates were still pretty low. Our spiffy site was generating him lots of traffic so he knew the customers were interested, but they were browsing and shopping around rather than giving him a ring in sufficient numbers.
His idea was a simple one. If they stop on the page for a particular vehicle for any length of time, they must be interested in it. So he asked me to make a little pop-up that asked the question "Do you want us to call you about this vehicle?" the first time a customer stopped on an individual vehicle for more than a minute. Fill in your name and number, click the "Yes" button, and an email went off to his salesmen who'd give you a ring.
Coding it took about half an hour. A hidden div containing the HTML form, a little bit of Javascript with a timer to unhide it after a minute, a bit of code to set a cookie so the user didn't get bothered by the form more than once, and an extra address for his form-to-email script. Nowadays I'd use a line or two of jQuery code and probably a fade or something, but back then it was straight Javascript. Still, hardly a big job, and I had it ready for his approval by the end of the day and live on the site the next day.
A second-hand vehicle dealer like my customer buys his vehicles at auction, mostly not very old vehicles in bulk from the fleets run by large corporates. He then services them and gives them a current MOT test and warranty before offering them to his customers. His is the reputable end of the second-hand vehicle market so his customers pay a premium for good quality vehicles with a provable history, something they can't get from dodgy used car lots. He thus has quite a high turnover and running cost, but the margin on each vehicle sold is also fairly large. If he sells a vehicle by a means that didn't cost him much money, he's made a four figure sum.
Hence my half-hour piece of Javascript was the most valuable piece of code I've ever written. Because it provided him with many more conversions from his web site at a very low cost, the first vehicle sold through it paid for it many times over and it made him many thousands of pounds thereafter. I'm guessing over the years it will have generated an astounding amount of money, for even though the company I worked for then has since folded in the recession and the customer's site now runs on a different platform it still features an updated version of my pop-up form.
I'm glad that it was such a small piece of code that did so well for my customer. The customer went away happy and rewarded us with more business and lots of word-of-mouth recommendation, and I learned something important about calls to action and that not all industries fit the same web shop model.
If only all my code proved to be of such value to the people paying for it!
It was a mid afternoon in 2007 or 2008 when one of my customers at the time rang up with an idea for a little feature for his web site. His company is a rather large second-hand vehicle specialist and he's one of those customers for whom I have a lot of respect. No-bullshit, but fair in return and one of those guys you can learn stuff from.
The second hand vehicle business works over the telephone, if they can get you on the phone they're pretty good at persuading you to part with your cash to drive away in one of their machines. Their conversion problem therefore lies in getting the customer on the phone in the first place.
So their site, a large catalogue of vehicles, was and still is plastered with their phone number. No need for a shopping cart or online payments, their industry has enthusiastically gone online but their customers still like to deal with someone directly when parting with cash.
The problem facing my customer was that his conversion rates were still pretty low. Our spiffy site was generating him lots of traffic so he knew the customers were interested, but they were browsing and shopping around rather than giving him a ring in sufficient numbers.
His idea was a simple one. If they stop on the page for a particular vehicle for any length of time, they must be interested in it. So he asked me to make a little pop-up that asked the question "Do you want us to call you about this vehicle?" the first time a customer stopped on an individual vehicle for more than a minute. Fill in your name and number, click the "Yes" button, and an email went off to his salesmen who'd give you a ring.
Coding it took about half an hour. A hidden div containing the HTML form, a little bit of Javascript with a timer to unhide it after a minute, a bit of code to set a cookie so the user didn't get bothered by the form more than once, and an extra address for his form-to-email script. Nowadays I'd use a line or two of jQuery code and probably a fade or something, but back then it was straight Javascript. Still, hardly a big job, and I had it ready for his approval by the end of the day and live on the site the next day.
A second-hand vehicle dealer like my customer buys his vehicles at auction, mostly not very old vehicles in bulk from the fleets run by large corporates. He then services them and gives them a current MOT test and warranty before offering them to his customers. His is the reputable end of the second-hand vehicle market so his customers pay a premium for good quality vehicles with a provable history, something they can't get from dodgy used car lots. He thus has quite a high turnover and running cost, but the margin on each vehicle sold is also fairly large. If he sells a vehicle by a means that didn't cost him much money, he's made a four figure sum.
Hence my half-hour piece of Javascript was the most valuable piece of code I've ever written. Because it provided him with many more conversions from his web site at a very low cost, the first vehicle sold through it paid for it many times over and it made him many thousands of pounds thereafter. I'm guessing over the years it will have generated an astounding amount of money, for even though the company I worked for then has since folded in the recession and the customer's site now runs on a different platform it still features an updated version of my pop-up form.
I'm glad that it was such a small piece of code that did so well for my customer. The customer went away happy and rewarded us with more business and lots of word-of-mouth recommendation, and I learned something important about calls to action and that not all industries fit the same web shop model.
If only all my code proved to be of such value to the people paying for it!