Small phones will rise again!

In 2007 Apple launched the iPhone. It was a fancy phone, but big and heavy by the standards of the time.

For the first few years after that, it seemed to be generally accepted that the iPhone was big. Even by 2010 commentators were writing things like “Apple has to expand its product range [with] a nano model … give it a modestly smaller screen than the iPhone 4, ie 3.2 inches.”

In time, other companies started making Android phones with even bigger screens. Perhaps they were working on the hi-fi shop principle that if you play it a bit louder, listeners will think it sounds better. Commentators supplied compelling arguments why Apple would never follow suit: you wouldn’t be able to reach the edges of the screen while holding it one-handed.

In 2011, the Google and Samsung flagship Android phone was launched with a surely ludicrous 4.65 inch diagonal, and iPhone users mocked it (“That’s no moon. It’s a phone”).

Time passed. In November 2013, The Verge opened a review of a Nokia Windows Phone with: “Three years ago, Nokia shipped over 110 million smartphones worldwide. None had a display larger than 3.5 inches. Today the company moves far fewer smartphones, every single one of them with a display bigger than its largest option in 2010.”

In January 2014, Sony launched its Xperia Z1 Compact, a new device promoted as being pleasingly small. It had a 4.3-inch-diagonal screen.

Mobile

The most distinctive feature of a mobile phone is that it’s mobile. You can carry it anywhere.

No matter how engaging the experience or how captivated you are, you’re never going to spend as much time poking at your phone as you do just carrying it around. The main thing a phone has to do is sit in a pocket and shut the hell up without making you constantly aware that it’s there. Small is good.

I recently retired my Nokia 700, a Symbian-powered phone with a 3.2″ screen. With the Swype keyboard it was nicely usable, but Nokia had started shutting down many of the Symbian services. I would love to have been able to keep using that hardware with a different OS, but that’s impossible with these devices.

I’ve been testing a FirefoxOS device and I’d like to be able to switch to that—but the smaller FirefoxOS phones have pretty ropey hardware (nasty screen, awful camera) and the only other one available now is too big. I’d have been happy with a device no bigger than a Keon but with a better screen and camera.

Apple have stayed pretty sensible: the iPhone did go a 3.5 to a 4″ screen, but it got thinner and lighter at the same time. But I don’t want an iPhone.

(I ended up buying a lightly-used Nokia 620, a nice enough phone with Windows Phone 8 and a 3.8″ screen. It’s a year old and I think it’s technically been discontinued in favour of larger models. It’s still a bit too big, but it’s the best I could do.)

 

A quick update on Firefox OS

A couple of months ago I wrote about having bought a Geeksphone Keon, one of the early developer devices for FirefoxOS. I haven’t done much—all right, any—developing with it, but I have continued to use it and update it occasionally on the Firefox 1.2 developer track.

Some of the changes so far:

  • Navigation and browsing have got quite a bit faster, kinetic scrolling is improved, and the on-screen keyboard has become more reliable. There’s evidently been a lot of tuning going on. As a pure web-browsing experience, this device is now really nice.
  • I wrote, “Anyone know what audio recording and playback latencies are like?” — well, it turned out that audio capture was not supported at all in the device as shipped. Support is now appearing in the Gecko 26 release branch which Firefox OS 1.2 will be based on, and basic audio input works on my device now.
  • Strangely, the on-screen keyboard has changed from showing a mixture of caps and lower case (i.e. lower case on each key until you hit Shift, then switching to caps), as on Android devices, to showing only caps as on iOS. I wonder why?
  • The 1.2 track isn’t all that reliable at the moment. For example the email client doesn’t work on my device, though that doesn’t actually bother me because the Fastmail browser interface works very well on it. Screen rotation seems to be taking a holiday, and the notifications pulldown doesn’t always want to go away when I ask it to. Very interesting to keep an eye on though.

 

Firefox OS on the Geeksphone Keon

(Previous post: What is Firefox OS all about?)

Hardware

KeonTo get this out of the way first: this is clearly intended to be the lowest-end device that Firefox OS apps will need to support. It’s distinctly bargain-basement.

By far the best thing about this hardware is its soft-touch orange plastic rear cover, which is nice to look at and delightful to grip.

(Digression: it’s interesting how many expensive smartphones are unpleasant to hold. The iPhone 4 and 5 are sharp and angular, Samsung’s premium phones feel alien and tacky, and Nokia’s Windows Phone devices that I have encountered have been either very hard around the corners or grossly big. HTC is the one company that seems to have focused on how to make a phone feel natural in the hand. Not that it’s done them any good in the market.)

The loudspeaker isn’t bad, in a kitchen radio sort of way. The headphone jack is not so good. The battery is removable; the mini-SIM and micro-SD card slots are easily reached.

The worst thing about it, by “modern” standards, is the screen—but then, good screens are expensive. My first impression was pretty bad because the first thing I tried to do with it was use it outside on a sunny day. That doesn’t work so well.

Basics of the OS

Starting up and running a current Firefox OS build (as of June 2013) is pretty painless. It boots quickly into a sensible homescreen arrangement. An over-the-air update arrived just after the phone did, and installed without trouble. SIM and SD card are recognised, it makes calls and sends texts, and the wifi is more stable than my usual phone. (Much of this stuff is borrowed back from Android.)

The browser is as you’d expect from Firefox; there’s a Nokia maps app—though I didn’t manage to get it to recognise my location—; app installation from the marketplace is painless. Not that there’s much to install, and I’ve no idea how billing will work, as it seems to be free apps only at the moment.

It works well as a music player. My kids rapidly requisitioned it for that purpose, resulting in embarrassment at work the next day when I hit the wrong button and got Harlem Shake at top volume. Kids, what were you thinking? That song is over four months old!

Email is easy to set up and pleasant to use.The camera’s crap, but the camera app appears to be OK.

Angry Birds is not available.

UI design

KeonI’ve no idea how provisional the general design of Firefox OS is, but I like the basics. You get a homescreen with a clock, a few quick access buttons, and your wallpaper. Swipe one way to get a grid of installed apps, the other way to get the marketplace. Swipe down for the now-traditional translucent notifications pane. It’s simple and it works fine. I like it.

Navigation design within apps is less satisfying. The sheer inclusiveness of a browser-app-based phone means that many apps are not going to be well-adapted to a common platform design. The principle seems to be, mainly, to hope that there’s enough in common amongst mobile versions of websites to avoid too much user confusion.

There are a lot of half-width buttons at screen edges, which I assume are intended to take advantage of the fact that there’s more “effective” touchable space there. That works, kind of, but the Keon’s touchscreen isn’t responsive enough for me to trust it. (Similarly, using the on-screen keyboard is something I anticipate without much joy.)

Scrolling and transitions are currently just functional. There’s no bounce scrolling, and kinetic scrolling sometimes stops working or works only in one direction. Interactions like these are sometimes jerky. I have confidence in the Mozilla developers’ ability to sort out things like this.

Firefox OS is unusual in using a distinctly humanist font. Appropriately, it seems to be an evolution of the “anti-Helvetica,” FontFont Meta, from the same designer (Erik Spiekermann). The Firefox version (called Feura) is tuned for small-screen legibility, and it looks lovely.  I do worry that I might tire of it; the less mechanical and more distinctive a font, the more likely it is to wear you out eventually. Let’s see.

Would I buy it?

KeonEr, I did buy it.

But would I buy it as my only phone?

Not at the moment. There’s potential, though, and I think it may depend on how practical I was feeling. You might expect this to be a fun toy that isn’t particularly useful, but the opposite is true: it would be quite workable for down-to-earth business use, it just currently isn’t that much fun to use. Still, if my other phone died, I could certainly get by with this one.

Hardware-wise, I’d quite like a phone from this manufacturer, with this case, with fancier screen and innards. It’s not the most elegant object, but I do rather like it.

But this isn’t a consumer product, it’s a developer device.

Will the platform succeed?

Here I’m moderately optimistic.

I hope improvements are possible to the general slickness and smoothness of the device, because there’s definitely some work to be done there. But the functional basics are sound, and I think the fact that your business is already developing for this device (almost) could work out for it.

The OS seems designed to be minimally obstructive for everyday communications work, and it is complete enough to do that work. I appreciate it and I am keen to mess with it. Anyone know what audio recording and playback latencies are like?

What is Firefox OS all about?

When I first read about Firefox OS, the ongoing project to make an operating system for phones and tablets that runs entirely in a Firefox browser, I thought: what a marvellously futile idea.

The world isn’t short on niche, provisional, or failed experiments in operating systems for phones: Sailfish, Tizen, webOS, BB10, Ubuntu-for-phones, Meego, (cough) Windows Phone 8… Firefox OS is aimed at low-end phones—just the sort where you’d expect the hardware efficiency and limited data requirements of offline native-code apps to offer a big advantage over the browser. So I was ambivalent about its advantages to the user.

The developer side is interesting, though.

C++, the Portable Choice

Look at the current mainstream phone platforms.

For iOS, the “native” development language and framework is Objective-C with Cocoa. For Android, it is Java. For Windows Phone 7 (I do mean 7, rather than 8) it was C# with Silverlight or XNA frameworks.

These three are totally mutually incompatible. You can’t reuse Objective-C/Cocoa code on Android, you can’t run Java on iOS, and the Windows Phone managed environment was incompatible with both.

But every platform has an embeddable web browser, so besides native apps, there have always been somewhat cross-platform HTML apps—often developed using tools like PhoneGap. These aren’t always popular with users, something widely acknowledged when Facebook rewrote their HTML-based iOS app as a native one.

The tension is that while native apps usually work better than totally cross-platform ones, it is desirable to be able to reuse at least some of an app’s business logic across platforms. So developers have increasingly been shifting business logic from the platforms’ primary languages to C++. Google made increasingly more of the Android frameworks accessible from C++ using the Android NDK; Microsoft switched to C++ as their recommended language when developing for Windows Phone 8. Objective-C apps can incorporate C++, so the same code can serve across all three platforms. (How interesting that C++ should have become the portable choice in preference to Java or C#.)

This situation isn’t wholly satisfactory, not least because C++ is a difficult language to learn to write reliable, comprehensible code in.

The Web Angle

So there may be no successful portable managed runtime for typical apps, but there is a very widely used portable runtime on the web, in the form of Javascript. All the major browser makers have been hammering on Javascript optimisations for some years; it now runs pretty much as fast as managed environments outside the browser do, and it’s become widely accepted as a compilation target for other languages (this page lists over 200 of them). The Firefox developers have formalised this arrangement through asm.js, a subset of Javascript designed for fast execution and intended only to be used as a compilation target.

The final piece in that particular puzzle is Emscripten. This so, so wrong piece of software is a backend for a standard C++ compiler, which compiles C or C++ to Javascript. It includes Javascript libraries that map some widely used C infrastructure (such as OpenGL or sockets) to the browser equivalents (WebGL, WebSockets). The resulting code approaches half the speed of native code—except that work such as 3D rendering happens at full speed, because it’s handled by the same OpenGL stack in either case.

So: we have a code environment (the Javascript target) that is genuinely cross-platform, comparable with managed runtimes like the JVM or CLR for performance (though not as sophisticated in terms of memory management) and supported on every current desktop and mobile device. We have a tool that takes existing portable C++ business logic and compiles it to that target. And now, in the shape of Firefox OS, we have a phone OS on which that environment is the native one.

Now there are still all sorts of holes and potential pitfalls here. But you’ve got to admit, it’s a pretty interesting proposition.

So I bought one of the Firefox OS developer devices to have a look at. In my next post I’ll make a few notes about the current state of the platform, and try to guess whether any non-developer would ever want to use it.

Updating into oblivion

I updated my Nokia 700 today. It’s an unlocked, unbranded phone running Symbian Belle, that was advertised as having OS updates in February and April this year—but those updates never arrived. I eventually lost patience, and made the updates using underhand and possibly illegal tools. iPhone 4 (with bumper), Galaxy Nexus, Nokia 700

In an earlier post I said that I wasn’t too bothered about OS updates. For the most part that’s true. I don’t mind that my Android tablet (the original Galaxy Tab) hasn’t had an update since Android 2.3. I appreciate that Samsung gave some sign of having actually looked into whether an update would run well on it and decided that it wouldn’t. That puts me in a better position than friends with the iPhone 3 who had their devices rendered into sludge by an iOS update too far.

But Nokia—they really worked hard at winding me up. The February update didn’t just piddle about with the core OS, it also added some applications that I was genuinely interested in trying and that couldn’t be installed any other way. The April update didn’t mess about either, it actually increased the phone’s CPU clock speed. (How? Why was it lower to begin with?)

And for UK unlocked devices, they had two product codes: evidently the good and the bad. The good got the updates, and I had the bad. The bad didn’t get the updates.

So having waited until late July, I lost patience and re-flashed the thing.

I’m a bit cross about it because of, well, being put to such lengths and made to feel like I actually cared, about something so trivial.

On the other hand… a Nokia 700 with the latest Belle FP1 is a really nice phone. It’s hard to stay cross for long.

Neat, thin form factor, excellent screen, expandable storage and replaceable battery, physical buttons all well placed. Yes, it’s immaculately built… in Hungary, where Nokia laid off most of their workers at the end of last year.

With Belle FP1 and the faster clock speed, it’s smooth, straightforward and enjoyable to use. Sure there are some extra things I could still do with (integrated notifications of new email for example) but it’s for the first time a phone I could actually recommend to friends who liked the size and construction… running on an operating system cut adrift in February last year and effectively canned with Nokia’s last round of layoffs.

There aren’t as many good apps as on other platforms, but it does have a number of smooth Qt-based ones, including a few very slick and useful apps from Nokia, and it’s an attractive device for a Qt developer like me to think of developing for… if only there was an ecosystem around it and if only future devices were compatible… and if Nokia hadn’t abandoned Qt in their platform strategy twice, once with the switch to WP7 and again when refocusing on S40 a month ago.

Yep, the 700 is a wonderful example of what might have been.

I’m tempted to buy another as a spare, just because I like it so much and its future is so plainly bleak. I wonder how many of the services on it would stop working if Nokia went under?

Windows Phone 8 and Nokia

Microsoft formally announced Windows Phone 8 yesterday.

There were some interesting technical details in the announcement: it permits running native code, will apparently support individual app distribution centres for corporate users, and has a less boring home screen.

They also confirmed, as expected, that there will be no upgrades from Windows Phone 7.

I’m not sure this will be such a big deal for existing users. I think it’s easy to overstate how much users generally care about updates, and at least this way there is certainty—in contrast to Nokia’s update mechanism for Symbian which involved announcing the update first, then rolling it out to devices over a period of months or in some cases not at all.

It can’t help the sales potential of current devices though.

What are Nokia trying to sell?

Looking at Nokia’s UK site now, it shows 24 phones (that’s down from 105 phones and a laptop, just before the February 2011 reshuffle).

Of those 24, four run the Windows Phone 7 whose non-upgradeable successor was just announced.

A further four, I think, run variants of Symbian. The most up-to-date (Belle) was recently effectively canned. But hey, only one phone ships with that anyway—the rest come with even more out-of-date variants.

The remaining 16, if I’m counting correctly, run the S40 Java-mobile feature phone platform and are presumably sold at pretty thin margins.

Nokia are I suppose hoping to have WP8 phones out by Christmas. That’ll be nearly two years after their “burning platforms” strategic reset, and they’ll be pretty much back where they started: abandoning three legacy platforms, pinning their hopes on a new one starting from zero market share. How much cash have they got left?

Nokia: “You know, we might be in a spot of bother after all”

(All over the internet for the last couple of days, but for best subhead I must link to the Register.)

Nokia 700, iPhone 4 (with bumper), Galaxy NexusBeing a contrary type, I recently bought a Nokia 700. You can see it on the top of the pile in the photo on the right.

It runs Nokia (Symbian) Belle, an unevenly-supported platform that started at a disadvantage and is now to be abandoned by a dying company. The software is not this phone’s high point, though it’s better than you’d expect from that description.

The hardware is fantastic. It’s just the right size, shape, and construction. I resisted the iPhone and friends for years because they were so clumsy, but the 700 is small and thin enough to fit in any jeans pocket while still being entirely manageable with the Swype keyboard. (There are small Android phones, but they’re all horrible.)

And it’s a more beautiful object than any other phone I’ve seen. It isn’t any nicer to hold, or more practical: there are Android and WP7 phones that are better in the hand, and the 700 has no parallel lines in its design and so is impossible to balance satisfactorily on any edge. But it has the air of a weird tablet passed to us by aliens in its thinness, lightness, solidity, and amenability to single-handed hold and operation.

What Nokia Did Back Then

The way Nokia made their mark, back when mobile phones first became popular—in the mid to late 90s—was by producing desirable hardware with a recognisable operating system.

Nokia pioneered the idea of a consistent operating system for phones. They made a series of devices all working in much the same way, at a time when others were producing new interfaces for every device, and they had a sensible and comprehensible structure for information and functions on screen.

Nokia quickly became the phone you could actually understand, while producing the desirable hardware that made them the phone you yearned to own. This is just the combination we see in Apple now, and it’s the combination that Nokia lost sight of during their years of pushing capable but complex Symbian systems.

Of course, Nokia have now managed to pull Symbian back into a position where ordinary people can enjoy it—four or five years too late.

Our Frightful Infrastructure

I had never used Symbian before buying this phone.

I had used Windows Phone 7, and I liked it. So I could see where Nokia were going and why.

I knew that the WP7 ecosystem is entirely owned by Microsoft. You get your new phone and switch it on; you’re asked to register a Windows Live account (or whatever they’re calling it now); and you’re entirely managed within Microsoft’s network of services. Music, games, video, support services, what have you: it’s all Microsoft.

What I hadn’t realised was just how much infrastructure Nokia already had around Symbian. You get your new Nokia 700 and, as soon as you try to do anything acquisitive with it, you’re asked to register a Nokia account. You use entirely Nokia services for music, games, video, support services, and what have you. And they work quite well.

As an ignorant observer, I had thought that Nokia was deferring to Microsoft in these services because they didn’t have them already. I now realise the switch to Microsoft services is simply a change of landscape. They already did have all of these things working fine.

But the way Nokia ran these services was terribly labour-intensive. Their dependency on mobile phone carriers meant they had to organise separate billing and delivery plans several times over for every region. Delivering OS updates appears to be an almost impossible task: my phone is still waiting for updates that Nokia announced, and I know that other editions of the same phone received, over four months ago.

I’ve been in touch with Nokia support several times about failed music downloads and missing OS updates, and they’ve never been able to tell me anything useful about what was really going on. The system has been creeping past its operators on both flanks.

Can Nokia recover?

No. Though everyone is saying that, so I’m hardly original.

Nokia have clearly discarded Symbian, which seems to be both expensive to run and without a place in the market. (I wonder how long the services for my lovely phone will keep running for.)

That means they have only two totally incompatible platforms to manage, instead of three: S40 running Mobile Java, and WP7 running managed .NET code.

WP7 is not going to succeed for Nokia. I like it, but not only does it look like a hard sell for consumers, it’s also an operating system that people talk about more than they talk about the phones.

What I mean by that is: Nokia are trying to sell phones with a nearly two-year-old operating system called Windows Phone 7. Delightful though it is to use, it has no very immediate appeal to consumers in terms of immediate visuals or capabilities so the publicity talks about the operating system rather than simply presenting the phones. We know that the phones are running Windows.

Meanwhile, Microsoft are already talking up Windows 8. Anyone in a position to influence reluctant consumers is probably already thinking of WP7 as a strange and not necessarily compatible predecessor of Windows 8, whatever that turns out to be. (We’ve seen a lot of Windows 8, but it’s proposed that it will run on phones as well as PCs and tablets [isn’t it?], and we haven’t seen any of that yet.)

Nokia are in the awkward position of betting their entire business on explicitly promoting an operating system that seems to have been already superseded by its producers.

No, I think they’ve had it. It’s been a long time coming, but I just don’t see the way out. Let’s hope I’m wrong, because it’s terribly painful to watch a strong European company fall apart because they couldn’t understand the nature of competition from a formerly minor American rival. Damn it.