Category Archives: mobile

Two days with Apple iPhone 4

I’ve been trying out iPhone 4 since its launch on Thursday this week. My main interest is software development, and I have a couple of ideas for apps. Apple’s platform is annoying in several respects, especially the App Store lock-in and the Apple tax, but it is unavoidable. Unfortunately when a company gets the idea that it should support the fast-growing mobile device sector with an app, the iPhone is the one they think of first, and iPad follows. Google Android is coming up fast, thank goodness, but has nothing like the mindshare or market share of Apple’s device platform.

image

Software developers have another reason to study the iPhone, which is as a case study in software design and usability. After using iPhone 4 for a couple of days, and watching friends try it even if they have not used one before, I am full of admiration for what Apple has achieved. There are a few basic concepts to grasp – home button, breadcrumbs, swipe and multi-touch – after which it is mostly delightful. There is hardly any documentation in the box – though there is a downloadable manual – just a brief leaflet describing a few essentials, but discoverability is good, especially with a little help from Google.

Need a screen grab, for example? Press and hold home and tap the top button. The grab turns up in the camera roll. It’s not something you would find out by chance, but only a search away.

Text input is a big deal for me. I am much faster on a real keyboard, but the iPhone is as good as many thumb keyboards. Again, there are things you have to discover. There are no cursor keys, but if you hold down an area of text a bubble appears, and sliding your finger left and right moves the cursor so you can easily correct an error.

image

The Exchange support, by the way, is excellent. I put in the settings for Outlook over HTTP; the iPhone complained briefly about my self-generated digital certificate and then connected without any hassles. The device picks up all the folders in the inbox without any additional configuration. The one feature I would like to add is the ability to select a different sending email address; if anyone knows a way to do this, let me know.

I am also impressed by iPhone Safari. After struggling with an old Windows Mobile browser, it is a relief to have a proper web browser restricted only by its small screen; pinch and zoom copes with most problems though it is always going to be a limitation; sites optimised for mobile work better.

Google Maps is great too. The GPS works well, and finding your way around is a snap.

The high resolution screen is lovely of course, and the camera is superb. I will do some comparisons against my Canon Ixus, but if I keep the phone it might save me the need to carry a separate camera when out and about, at least until the lens gets scratched.

Anything not to like? A few things. The price, for one, especially when supplemented by whatever scheme your mobile operator devises to separate you from your money. Many schemes offer only 500MB per month data allowance; not enough, especially as data usage can only increase.

There’s also the iTunes problem. I know others like it, but I personally don’t get on well with iTunes, finding it bloated and annoying. I don’t allow it on a PC, but keep a Mac Mini handy for when I need to do the Apple thing. It is absurd though that you cannot use an iPhone without activating it first via iTunes. What happens when a user decides that iPad plus iPhone plus cloud is all they need? I can’t help wondering if Apple simply wants to ensure that as many people as possible install its online store.

Whenever I connect the iPhone, iPhoto pops up and wants to import photos, even the ones that I’ve already imported. I have to check the option not to bother with duplicates every time. There must be a way of avoiding this annoyance, but I’ve not spotted it yet.

Then there’s the reception issue. It’s well known that many, possibly all iPhone 4 models have a bug where if you hold it in the normal way, your hand bridges a gap in the external antennas and damages reception. Steve Jobs says that reception issues when holding a phone in a certain way is “a fact of life for every wireless phone”; this is arrogant spin and I hope Apple gets lots of returns or at least hands out for free the bumper cases that apparently resolve the issue.

That said, my iPhone is on O2 and at home the reception is terrible however I hold the phone, even though I am in a high coverage area according to O2. At my desk I get only one bar and calls are not always possible – which means I will have to cancel the contract.

image

I did manage to fit the micro sim into my old Windows Mobile phone to see if it is just an iPhone problem. It was just about as bad, so no, it is O2. In general I’ve not been impressed with the O2 reception in my part of the world, though it is excellent in our local O2 shop; perhaps they have a booster under the desk.

There are little niggles elsewhere too. I tried Voice Control, for example, and found it useless; perhaps I have the wrong kind of voice.

image

If I speak to play a song, there is 25% chance that it plays, 50% chance that I get a “no match” error message, and 25% chance that it dials a random person in my address book. A hidden social media function?

A number of negatives then; but the iPhone contrives to be good enough that users overlook any faults because they like it so much. It’s certainly a better experience than the last Android device I tried; though that is well out of date now, and I intend to look closely at Android 2.2 “Froyo” as soon as the phones become available.

Update: As far as I can tell, if you buy your iPhone at a store it will be activated for you, so you don’t need iTunes to get started. However iTunes is necessary if you receive your iPhone by post and activate it yourself.

Flash and AIR for Windows Phone 7 by mid 2011?

I’m at an Adobe partner conference in Amsterdam – not for the partner sessions, but to be one of the judges for tomorrow’s application showcase. However, I’ve been chatting to Michael Chaize, a Flash Platform evangelist based in Paris, and picked up a few updates on the progress of Flash and AIR on mobile devices. AIR is a runtime which uses the Flash player for applications that are not hosted in the browser.

It’s well known that AIR for Android is ready to preview, though it is not quite public yet. Which platforms will come next? According to Chaize, AIR for Palm webOS is well advanced, though a little disrupted by the coming HP takeover, and Blackberry is also progressing fast. He added that Windows Phone 7 will not be long delayed, which intrigued me since that platform itself is not yet done. Although Microsoft and Adobe have said that Flash will not be in the initial release, Chaize says that it will come “within months” afterwards, where “months” implies less than a year – maybe six months or so.

We also talked about the constraints of a mobile platform and how that affects development. Currently developers will need to use the standard Flex components, but Chaize said that a forthcoming Flash Mobile Framework will be optimized for devices. Of course, the more you tailor your app for mobile, the less code you can share with your desktop version.

The Apple question also came up, as you would expect. Chaize pointed out that Adobe’s enterprise customers may still use the abandoned Flash Packager, which compiles Flash code to a native iPhone app, since internal apps do not need App Store approval. That said, I suspect that even internal developers have to agree the iPhone Developer Program License Agreement, with its notorious clause 3.3.1 that forbids use of an “intermediary translation or compatibility layer or tool”. Even if that is the case, I doubt that Apple would pursue the developers of private, custom applications.

Windows Phone 7: is it really consumer?

Here at TechEd in New Orleans we’ve seen some further demos of Windows Phone 7. Two features that have been highlighted are the ability to have more then one Exchange account, and a mobile version of SharePoint Workspace for easy access to SharePoint documents and an option to keep an offline copy.

Neither of these strike me as consumer features, which is intriguing given that at the Mix conference in March we were told that the first release of Windows Phone 7 is firmly targeted at consumers rather than businesses.

I also saw a report in the New York Times this morning noting that Apple is working to stave off the threat to iPhone from Google. No mention of Windows Phone 7, which I suspect has been almost written off as irrelevant by the general public. In the rarefied atmosphere of Microsoft TechEd, though, where most people I talk to seem to be solidly Microsoft platform – Exchange, SharePoint, Office Communications Server and so on – having a mobile phone that integrates nicely makes a lot of sense.

There’s also the application aspect. Windows Phone 7 runs Silverlight, which means .NET code, so for developers who already use Visual Studio it is a mobile platform that fits with their work.

In fact, it is easy to see why Windows Phone 7 will appeal to these business users, whereas in the consumer space it is up against tough competition.

I will be interested to see what Microsoft says about business use of Windows Phone 7 as we get closer to launch.

Steve Ballmer and Ray Ozzie at All things Digital – a poor performance

Microsoft CEO Steve Ballmer and Chief Software Architect Ray Ozzie put on a poor performance when quizzed by Walt Mossberg at the All Things Digital conference, judging by Ina Fried’s live blog.

What was wrong with it? They allowed the conversation to be focused mainly on competing products: Apple iPad, Google Android, Google Apps, Google search. Since these products have exposed weaknesses in Microsoft’s own offerings, it was unlikely to work out well.

Mossberg asks about the transition to the cloud. “You guys are putting, for instance, a version of Office in the cloud.”

That was a gift. You would expect the two men to enthuse about how Microsoft’s dominance with desktop Office was now including the cloud as well, how the Office Web Apps enable new opportunities for collaboration, how Microsoft’s investment in XML for Office was now enabling the same document to live both on the desktop and in the cloud.

Nope. Ozzie waffles about people being more connected. Ballmer “disputes the notion that everything is moving to the cloud”.

So what about Steve Jobs prediction, of a transition from PCs to tablets and mobile devices? Ballmer says “not everyone can afford five devices,” lending support to the notion that Windows is for those who cannot afford something better.

Mossberg asks about tablets. Although Mossberg did not say so explicitly, tablets have been a tragi-comedy at Microsoft. Bill Gates evangelised the tablet concept years ago, pre-echoing Jobs’ claim that they would largely replace laptops. Microsoft tried again and again, with XP Tablet Edition, Vista on tablets, then “Origami”, or Ultra-mobile PC. Going back even further there were was the stylus-driven Palm-size PC (I have one in the loft). Tablet PC was not a complete failure, but remained an expensive niche. Origami sank without trace.

Ballmer replied that the “race is on”. Meaning? I guess, now that Apple has demonstrated how to make a successful Tablet, Microsoft will copy it? Or what?

I am not sure how you defend such a poor track record; but the starting point would be to explain that Microsoft has learned from past mistakes. In some ways it has; Windows 7 learns from mistakes in Vista, and Windows Phone 7 learns from mistakes in Windows Mobile.

None of that from Ballmer, who says vaguely that he expects Windows to run on a variety of devices. He makes matters worse later, by defending the stylus. “A lot of people are going to want a stylus,” he says. Some do, perhaps, but Apple has pretty much proved that most people prefer not to have one. I’d like to see effort go into designing away the need for a stylus, rather than implying that Microsoft is just going to repeat its part mistakes.

Someone in the audience asks, “Will we see Silverlight on Android or iPhone?” “My guess is  if it did, it would be blocked”, says Ballmer, ignoring the Android part of the question.

He’s ignoring the force of the question. Why bother developing for Silverlight, if it is locked into a Microsoft-only future, especially considering the company’s poor position in mobile currently? Ballmer could have mentioned the Nokia Symbian port. He could have said how Microsoft would get it on iPhone just as soon as Apple would allow it. He could have said that Microsoft is working with Google on an Android port – I don’t know if it is, but certainly it should be. He could have said that Silverlight plus Visual Studio plus Microsoft’s server applications is a great platform that extends beyond Windows-only clients.

Microsoft does have problems; but it also has strong assets. However it is doing an exceptionally poor job of communicating its strengths.

Update: There is a fuller transcript at Engadget, in which Ballmer and Ozzie come over better, though they still fail to impress. On mobile though, I like this comment:

We have new talent, we had to do some cleanup, we did it for Windows, and we’re doing it for mobile. And excellence in execution is also part of the equation.

I’d be interested in hearing from anyone present at the event.

Adobe’s campaign against Apple misses the target

Nothing better demonstrates Adobe’s concern about being locked out of Apple’s mobile platform than a huge advertising campaign attempting, one assumes, to win public support and pressure Apple into yielding ground.

Still, if you are going to run a big PR campaign it helps to be right. But Adobe seems to be arguing that Flash support is essential to an open web, which is incorrect.

We believe that consumers should be able to freely access their favorite content and applications, regardless of what computer they have, what browser they like, or what device suits their needs. No company — no matter how big or how creative — should dictate what you can create, how you create it, or what you can experience on the web. … In the end, we believe the question is really this: Who controls the World Wide Web? And we believe the answer is: nobody — and everybody, but certainly not a single company.

says the open letter from Adobe founders Churck Geschke and John Warnock.

Very good, but this is not an argument in favour of Flash. Flash is not part of HTML, Flash is not a standard, and Flash is not open – the specification for the player is published, but what goes into that specification is controlled solely by Adobe, and its player implementation is not open source. Flash is a proprietary plug-in. Are Geschke and Warnock arguing that all browsers on all devices should allow all plug-ins to be installed – including Silverlight, Java, ActiveX, and anything else you can think of? Or are they arguing that Adobe Flash is a special case? It is certainly a special case for Adobe, but any company will argue in favour of its own stuff.

The full-page advertisement that I’ve seen in various newspapers is not much better. Adobe’s pitch is that Apple is:

taking away your freedom to choose what you create, how you create it, and what you experience on the web

This again is incorrect. Apple has an excellent mobile browser based on WebKit, as also used by Google, Adobe and others. You can do what you want on the Web, but if you use Flash it won’t render on Apple’s mobile devices. All that means is that Apple has chosen not to support Adobe’s plug-in. It is not an issue of freedom.

Personally I don’t like Apple’s approach. I’d prefer it to support the leading plug-ins (not only Flash); I don’t like the appification of the web -  dubbed the splinternet, or splintered web, by some. And I particularly object to Apple’s clause 3.3.1 in its new developer agreement, which blocks apps that are created with cross-platform tools, no matter how well they perform or how good they look. That, it seems to me, is anti-competitive in spirit.

I think Adobe should make more of clause 3.3.1, rather than indulging in special pleading for its plug-in. And if I were Adobe, I wouldn’t be whinging about Flash being blocked. Rather, I’d be highlighting all the great things Flash can do, and all the content you will miss without it. My full-page ad would say, “Mr Jobs, your iPhone is broken”, and extol the merits of Android and other devices that will run Flash.

I’d also be working on the technical arguments, that Flash is unstable, insecure and resource-hungry. Is it Apple’s fault? Is it because of poorly coded SWFs, and if so what is Adobe doing about that? And how will Adobe improve Flash so that it behaves better in future, and not be perceived as the new Vista?

Maybe next time round?image

Apple no longer loves Mac developers

At least, that’s the impression you get from its latest move: dropping Mac applications from its Apple Design Awards, presented during the its Worldwide Developers Conference. In 2009 there was an OSX developer Showcase alongside the iPhone Developer Showcase. This year? Well, iPad is here, and three’s a crowd, one had to go.

While the Apple Design Awards are a tiny insignificant detail in the grand scheme of things, this is still a clear pointer for anyone who had not yet noticed, that Apple is keen to focus on its locked-down devices ahead of its computers. It’s better business, because a mobile device yields multiple revenue streams: money from the device sale, money from the mobile contract, money from app sales via the only permitted route, the App Store. There is also an argument that it is better for the user, since a locked-down device is more secure and less likely to be break, though you have to set that against loss of freedom, and the impact of a single-supplier market on price and competition. It also fits with bigger industry trends, where devices are mobile and data is in the cloud, that are shaping the computing landscape.

Android the new Windows?

I’ve just reviewed the LG GW620 Android phone. I was impressed by its features but disappointed by its usability – it’s not that bad, but scrolling web pages accurately with touch I found almost impossible – it’s hard to avoid scrolling too far and missing out a chunk – and why does LG supply the device with four different email clients?

Apple’s iPhone is much more expensive and compares badly on features, but has the usability and polish that the LG phone lacks.

OEM Android versus Apple iPhone – it reminds me of Windows vs Apple on the desktop.

One is for the mass market, cheap, feature-rich, a bit chaotic, always a few annoyances, but you put up with them because you can still get things done, and it’s an open platform which lets you do what you like.

The other is premium-cost, single-vendor, less annoying, and you spend more time getting on with what you want to do and less time fighting the machine.

I don’t intend this as a  complete parallel. There are more than two popular operating systems in the SmartPhone market right now – Symbian, Meego, WebOS, Blackberry; and Microsoft has big hopes for Windows Phone 7. That said, it is hard to see all these platforms thriving long-term.

Building for multiple mobile platforms with one codebase

Individuals may have strong opinions about the merits of Apple iPhone versus Google Android versus the struggling Palm WebOS versus the not-yet Windows Phone 7; but sit them round a table to discuss app strategy and those diverse platforms change from a debating point to a problem. Presuming a web app won’t cut it, how do you target all those devices without the unreasonable expense and complication of managing multiple projects? The native languages are all different; Objective-C for iPhone and iPad, Java for Android and RIM BlackBerry, JavaScript for WebOS, C# for Windows Phone 7.

There are three possibilities that come to mind. One is that all the platforms will eventually allow you to write in C or C++, making this the unifying language, though you still have some fancy footwork to do overcoming library differences. Android now allows this via the NDK, and Palm via the PDK. There is currently no alternative to Java for Blackberry, and Microsoft says native code won’t be possible on Windows Phone 7, but well, you never know.

The second is Adobe Flash. This is an interesting one, because Apple prohibits Flash on the iPhone, but Adobe has a Packager for iPhone that builds native iPhone apps from Flash projects. Another issue is that although Flash is available or promised for all the main non-Apple devices – Apple’s gift of a selling point to its rivals – it is not Flash alone that does what it needed, but AIR, the “desktop” or out-of-browser runtime. This has been previewed for Android and promised for other devices including Blackberry. AIR for Windows Phone 7? Maybe, though I’ve not seen it mentioned.

A third idea is a clever framework that does the necessary cross-compilation under the covers. This cannot depend on deploying a runtime, nor compiling to native code, because these approaches are blocked by some mobile platforms. Rhomobile has the Rhodes framework, where you code your app in HTML and Ruby and compile for devices including iPhone, Windows Mobile, RIM Blackberry, Symbian, and Android. Rhodes includes an MVC (Model View Controller) framework and an ORM (Object Relational Mapper) to wrap database access. There is also a RhoSync server component to enable offline data with synchronisation back to the server when reconnected; and the RhoHub hosted IDE for buildings apps with a web browser.

Rhomobile tells me that Palm WebOS support is in the works. They also promise Windows Phone 7 support, which intrigued me because Rhodes says it compiles to “true native device applications”. Has Rhomobile gotten round Microsoft’s opposition to native code? Apparently not; VP Rob McMillen eventually told me that this will mean a .NET IL (intermediate language) implementation.

The Rhomobile approach reminds me of AppForge, a company which produced the well-regarded Crossfire add-on for Visual Studio and compiled Visual Basic to a wide variety of mobile platforms. Unfortunately AppForge was acquired by Oracle, and its new owners showed callous disregard for existing customers. Not only did development cease; it also became impossible to renew existing licenses. Thanks to an activation component, that also blocked new deployment of existing applications – every developer’s nightmare.

That said, there is no activation requirement for Rhodes that I know of, and the framework is open source, so I don’t mean to suggest it will suffer a similar fate.

What about Java? On the face of it, Java should be ideal, since multi-device support is what it was designed for. It is a measure of how far Java has fallen that we hear far more about the lack of Flash on the iPhone, than the lack of Java. Microsoft says yes to Flash on Windows Phone 7, though not on first release, but nothing about Java.

Java as a mobile runtime needs a strong dose of lobbying and evangelism from its new stewards Oracle if it is not to fall by the wayside in this context. Hmm, AppForge.

Windows Phone 7 emulator yields its secrets

So that didn’t take long. Microsoft has made a Windows Phone 7 emulator available to all, explaining that it is a virtual machine running the real device OS. While it works fine for debugging applications, most of the phone UI is mysteriously absent, the exception being Internet Explorer (needed for testing web applications). However, Dan Ardelean has done some nifty work with the emulator image, discovering that a lot more of the UI is present and can be exposed if you make a few modifications. He posted his modified ROM but has since removed it because of copyright concerns. I doubt it will be hard to find.

image

Applications available in the hacked emulator include Mobile Office with Word, Excel, PowerPoint, OneNote and Sharepoint Workspace (undermining Microsoft’s claim that this is only a consumer device), games including a version of Times Reader – full circle for this one, which started out in WPF, moved to Silverlight for Mac, deserted and went to Adobe Flash, and may now reappear in Silverlight – and music/video via a Zune section.

image

My tip to Microsoft: if you don’t want these things to leak, best not put them in the publicly-available image.

Ardelean has also figured out how to amend the native C# port of SQLite, satisfying demand for a local SQL database engine. SQL Server Compact Edition is actually present in Windows Phone 7, but not available to custom applications.

No native code development on Windows Phone 7 says Microsoft – so what about Flash?

Windows Phone 7 is a managed code platform, we’ve been told at Mix10 in Las Vegas. Development is via Silverlight or XNA; there is no native API.

Of course there is a native API; the question is more about what code is allowed to access it. Still, in the press briefing the spokesman was clear that native code development will not be supported.

What about projects like Adobe’s Flash runtime, which both Microsoft and Adobe have said is planned, or at least (in Microsoft’s case), not blocked – although we already know that Flash will not be available in the first release.

All my spokesman would say is that nothing has been announced about that.

My suspicion is that in reality certain privileged vendors will be able to, in effect, extend the operating system with native code libraries. Adobe could be one of those; so too could a company like Rhomobile, which has a cross-compiler for a variety of mobile platforms. So I doubt that Microsoft has yet given us the full story here.

Update: The latest on this is that Microsoft’s Charlie Kindel says that Adobe will have special native access for Flash, but that no other vendor will have that privilege. This still does not make sense to me. Let’s suppose that Windows Phone 7 is a big success. What justification could Microsoft have for supporting the Flash runtime but not the Java runtime, for example? I suspect that Microsoft is chasing the Flash checkbox to one-up Apple; but if Adobe gets native access, others will no doubt follow.