Category Archives: iphone

Apple banning Flash applications from iPhone 4.0? That stinks.

John Gruber reports on a new clause in the iPhone 4.0 SDK, to be agreed by developers before downloading:

3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

Gruber interprets this as prohibiting Flash applications compiled to iPhone, as well as other development tools such as Monotouch. Flash compilation for iPhone is a feature of Creative Suite 5, to be launched on Monday 12th April.

This raises several questions, including:

1. Why? Why should Apple care what development tool is used, provided it behaves correctly? Applications are still subject to Apple’s approval,  distributed through the App Store, and if commercial are also subject to Apple’s fee.

2. Is this anti-competitive? I guess this depends on the answer to (1) above.

Either way, it stinks. It especially stinks if Apple gave no notice to companies such as Adobe and Novell; but it stinks anyway.

That said, it’s a beta SDK and a beta agreement so … it could change.

If the clause is intended, enforced and remains in the production SDK, expect fireworks. Given that the designer community loves both Apple and Adobe, there will be some stressed folk out there; they will make a lot of noise.

I have asked both Apple and Adobe for comment, and will report back on the responses.

Update: Adobe has tweeted:

We are looking into the new SDK language. We continue to develop Packager for iPhone OS which will debut in Flash #CS5

No Flash on iPad? No problem – we’ll redesign the site says NPR and others

It is fascinating to see the impact of Apple’s hostility to Adobe Flash on iPhone and now iPad.

On the one hand, it’s a gift to rival vendors such as Google, which is bundling Flash into Chrome (a contentious decision judging by the comments), and Microsoft, which has promised Flash support in Windows Phone 7, though not in the first release. These vendors can claim better Internet support than Apple, thanks to the large amount of Flash content, games and applications on the Web.

On the other hand, I’ve not seen many web sites that encourage their users not to use iPhone or iPad. Rather, those with the resources to do so are simply making their content available in ways that are iPhone/iPad compatible. There are two obvious ways to do so: either create an App, or make a Flash-free web site.

One of my favourite music sites is NPR, which is a great source of concerts and exclusive sessions, and which uses Flash for streaming. NPR’s research told it that five percent of its 26 million weekly listeners were likely to purchase an iPad. I was also intrigued to note that these purchasers consider it more of a “living space” device than something they take everywhere. Either way, they wanted to continue consuming NPR’s content.

NPR responded by taking both of the options mentioned above: a redesigned web site, optimised for touch control as well as eliminating Flash, and an iPad app that builds on an existing iPhone app.

We’re excited about this latest innovation because we think it brings us closer to capturing NPR’s unique identity on a digital platform. The iPad’s casual touch-screen navigation seems more conducive to immersive reading than even the lightest laptops. And it opens up new opportunities for casual listening.

The worrying thought for Adobe is that sites such as NPR might decide to use the Flash-free site for all browsers, instead of just those on an iPad, to save on duplicate work.

Adobe’s decision to enable native compilation to iPhone and iPad in the forthcoming Creative Suite 5 is looking increasingly significant.

Update: James Governor on Twitter says awesome! the new IE6! Good point, though how you see this depends on what you think of Flash in the first place.

Stephan Richter observes that “Judging by the comments, not many NPR users are happy that effort is wasted on supporting 5% of potential users.” There’s certainly evidence of resentment at Apple users getting preferential resources, though the fact that Apple purchasers pretty much match the dream profile for many advertisers may be a factor.

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.

Penguin’s Apple love-in

An article on paidcontent gives me pause for thought. In it, Penguin Books’ CEO John Makinson talks of plans to publish content on Apple’s forthcoming iPad device.

The iPad represents the first real opportunity to create a paid distribution model that will be attractive to consumers

says Makinson.

This is all to do with the App store; somehow we are more willing to buy stuff on the App Store than to pay for other forms of content on the Internet. Penguin’s conclusion: make books into apps:

So for the time being at least we’ll be creating a lot of our content as applications, for sale on app stores and HTML, rather than in ebooks. The definition of the book itself is up for grabs.

Adobe’s .epub format is not good enough, apparently; only the full flexibility of a native application will do.

Two things strike as notable here. One is Makinson’s presumption that the iPad will be a big hit, thanks presumably to Apple’s success with iPod and iPhone. The tablet format has been a niche market in the past, because it lacks both the convenience of a pocketable mobile, and the capability of a keyboard-equipped netbook or laptop.

The second point is that here is a major publisher planning to create single-platform content that can only be sold through Apple and consumed on Apple’s devices.

Makinson does say “for sale on app stores and HTML”. I am not sure quite what he means; but clearly Penguin does not intend to use iPad apps for all its epublishing. Nevertheless, it raises the possibility of some content that is only on Apple, or best on Apple, or earliest on Apple.

If this idea takes hold, the consequence will be to disadvantage users of non-Apple devices. For example, what if you are on a course, and the recommended reading is only available as an Apple application?

I am already experiencing some of this pressure. I was at a conference earlier this week where the organisers provided an iPhone app to help attendees schedule their time:

This year QCon also has an iPhone app allowing you to browse the schedule by track, by time, favourite a track and access the #qcon twitter channel.

This is not a trend that I welcome. In some respects it is worse than having to run Windows for the sake of some particular application, since iPhone apps have to be approved by Apple, and emulators that have helped us cope with Windows-only requirements do not exist.

I do not have an iPhone; but I am beginning to think that it is a business requirement.

What’s on at Mix 2010 – some surprises as Microsoft talks standards

Microsoft’s Mix conference is on next month – probably the company’s second most interesting conference after PDC, though this Mix looks rather better than last year’s relatively drab PDC (free laptops aside). The company has plenty to talk about, primarily around Windows Phone development – twelve sessions! – Internet Explorer 9, and Silverlight 4. Mix is meant to be a web design conference – though it has always strayed extensively into Windows-only territory – and the inclusion of Windows Phone is a bit of a stretch, but I doubt attendees will care.

It’s notable that Microsoft is making more than a nod to web standards and open source. There is a full day workshop from Molly Holzschlag on HTML5 Now: The Future of Web Markup Today, John Resig on How jQuery Makes Hard Things Simple, and Doug Schepers from the W3C with Microsoft’s Patrick Dengler on SVG: The Past, Present and Future of Vector Graphics for the Web; Christian Heilmann on Participating in the Web of Data with Open Standards; and not forgetting Miguel de Icaza on The Mono Project.

Why would Microsoft talk about such things? Arguably it is a kind of smokescreen, talking standards while busily promoting proprietary stuff like SharePoint and Silverlight. I think there is some of that; but that this new focus also reflects power shifts in the industry. In the new cloud-based era Microsoft has to compete with Google, Mozilla and others; and to make sure that its stuff works in some measure on a diversity of clients, from Android to iPhone. Note the session on Practical Strategies for Debugging Cross-Browser Display Issues.

I would not call this a conversion. I would say this is more about “Windows if we can, standards if we must”. That necessity is increasing though, and the sessions at Mix reflect that.

Why I don’t want to view bbc.co.uk through an app

The BBC has announced mobile apps for BBC content, the first being for the iPhone. There is a demo posted by David Madden here:

Our aim is to develop core public service apps that bring some of the BBC’s most popular and distinctive content to mobile in a genuinely user-friendly and accessible way.

In another post Erik Huggers explains our mobile future.

I have reservations about this approach, and wonder if the BBC has been unduly influenced by Apple’s iPhone marketing – “there’s an app for that.” The iPlayer desktop application makes perfect sense for downloading and viewing video offline; but why make an app to view a web site? I can think of several objections:

1. It introduces inequality between devices. So iPhone is first. Blackberry and Android are mentioned. What about Palm WebOS? What about Windows Phone 7? Maybe Flash can help with that as a common runtime; but Flash won’t be on Windows Phone in its first release. Older devices will be left behind, even where they have decent web browsers.

2. It breaks the web. Well, one app does not break the web. But if every major web site decides it has to deliver its content through an app, what happens to hyperlinks? You can go from app to Web, I imagine, but if the target site also delivers its best mobile content through an app, what then? Imagine what the web would be like if, instead of browsing, you were constantly app-switching.

3. It moves mobile to a separate world. The truth is, there isn’t a hard and fast distinction between a mobile device and a desktop device. A laptop is mobile, but more like a desktop in terms of web browsing. What about the iPad? What about all the new form factors coming down the line? There isn’t any more reason to have apps for mobile devices than there is for desktop devices.

4. It distracts investment away from what the BBC should be doing: optimising its web site for mobile, and degrading gracefully for less powerful web browsers.

Are there cases where a BBC app might make sense? Maybe a special for the 2012 olympics, that delivers the latest results, for example? Quite possibly; but what concerns me is the idea that apps become the main way to view BBC content on a phone, rather than the web browser. It is a bad precedent, and one that I hope is not imitated by others.

Windows Phone 7 Series and Microsoft’s partner problem

I watched Microsoft’s Steve Ballmer, Joe Belfiore, and Andy Lees introduce Windows Phone 7 Series. It appears to be a complete departure from previous iterations of Windows Mobile, in fact borrowing more from Zune than it does from earlier Windows phones. At one point, Lees noted that it has a “new core OS” optimized in partnership with Qualcomm, though I would not rest too much speculation on that one phrase.

image

Unfortunately, the piece that I am most interested in, which is the developer platform, was not much discussed. It is to be unveiled at Mix next month in Las Vegas. Ballmer did say:

We raised the platform on which people can build … a new foundation with a rich set of development tools, built in and complete service availability that software developers can assume as a foundation.

Make of that what you will. I’d be surprised though if Silverlight is not a big part of the development story, along with revamped Windows Live services. I guess I’m expecting Microsoft to deliver with Silverlight something similar to what Adobe is doing with Flash and AIR – AIR for mobile devices has just been announced – but without the breadth of support across devices that Adobe has achieved.

We have been told that Flash will not be part of Windows Phone 7 in its first version, so it looks like it may live in its own development world to some extent.

The demo at the press launch has been well received, and it looks likely that Microsoft is creating a more usable phone than earlier generations. That’s good, though it is telling that it took Apple with iPhone and perhaps Google with Android to convince Microsoft that maybe the Start menu and a cut down Windows API wasn’t the best way to do a phone.

In the absence of technical details, what interested me most were the comments about how Microsoft relates to its partners. It is a hot topic for me. I am taking heat for talking about a poor experience on WIndows 7 that is really the fault of 3rd parties. The problem is that the partner system which worked so well for Microsoft in the early days of the PC is now working against it, and an unpleasant experience of a Windows 7 netbook is a symptom of that.

Clearly Microsoft also understands this. Ballmer noted that

We want to lead and take complete accountability for the end user experience … have more consistency in the hardware platform, more consistency in the user experience, but still enable [partner] innovation

Translation: we are being hammered by OEMs who wreck our product with poor quality hardware and add-on software.

But how will Microsoft change this aspect of Windows, whether on the desktop or a device? “There’s a bit of a conundrum here,” said Ballmer, and he is right. If Microsoft tries Apple-style lockdown, it may run into anti-trust trouble and/or drive OEMs to Linux. If Microsoft does no more than talk the talk, then the problem remains.

It is true that Microsoft is strictly specifying minimum hardware. That’s nothing new; it has done this since the earliest days of Pocket PC.

I’m inclined to think it is just talking the talk and that nothing will change. Still, here’s Lees on the same subject. He begins by restating Microsoft’s belief in the partner model:

One of the things we’ve kept constant is our belief in the partner model. There are three reasons why partners are fundamental to our business. Firstly, they add rich experience and expertise across a broad spectrum of areas, hardware, software and services. Second, is … scale. We need partners to develop, market and support Windows phones at this scale. Third, partners meet diverse needs by providing customers with choice. One size does not fit all. People want different kinds of phones.

It’s odd how Apple thrives without all that “rich experience and expertise.” But never mind. Lees adds:

We have changed how we work with them. The goal is to improve the quality and consistency.

So Microsoft says with one breath how it just loves the partner model, and with the next that it is changing it. We all know why it wants to change it. It is because it is broken, though Microsoft cannot bring itself to admit it out loud.

The question: which of these near-contradictory statements do you believe? That it is sticking with the failing partner model, or that it is changing it? My guess is the former, because I am not sure that Microsoft really has the will or even the ability to change, but I would like to be proved wrong.

Oh, and Lees says that the mobile operators:

… have tremendous value to add. They are not just dumb pipes. Our model is about enabling those innovations so that they can add software and services and benefit from our … platform.

I understand why Lees said this; but I find it hard to think of tremendous added value from the operators. Apple’s iPhone success is partly thanks to its skill in working round them.

Joining the Smartphone dots

Google has made a big splash with its launch of Nexus One, even though technically it is not all that exciting. A neat phone; 1 Ghz Qualcomm processor; runs Android 2.1; good for web video with its inclusion of Adobe Flash 10.1, along with the ability to capture your own videos at 20 frames per second in 720×480 pixels. No keyboard though; and the q&a at the press briefing revealed a few limitations, such as lack of tethering support (using the phone to connect a laptop to the Internet), and that downloaded applications all end up in the 512MB on-board RAM rather than on an SD card, making it more likely that you will run out of space. Tethering is being worked on, apparently, and the application restriction is for copy protection, supposedly making it more difficult to pirate paid-for downloads.

My biggest disappointment is the price. It is a fraction cheaper than an Apple iPhone, but still far from a mass market product; though it won’t feel that way in the tech influencer community.

All this is rather unimportant; even prices will fall eventually. What matters is that attention is shifting from web+desktop (or laptop) to web+smartphone as the computing platform of the moment. That shift is far from complete; most of us still need the large screen and comfortable keyboard of a laptop to do our work. It is real though, and it is obvious that the need to carry around a bulky laptop with a short battery life is diminishing. Netbooks and Apple’s rumoured tablet are part of the same movement towards smaller, lighter and web-connected.

Although these gadgets are getting more capable, there is no sign of them following the desktop model with feature-rich local applications and heavy use of local storage. The applications being downloaded in huge numbers from Apple’s app store – a breathtaking three billion to date according to today’s announcement – are small, single-purpose apps where speed and usability is valued over richness of features, and where data comes from the Internet. This is the new model of application development.

Google’s announcement is also an important move in the identity wars. Most computer users have multiple identities: maybe an Active Directory account on a Microsoft network, a Facebook account, an Apple ID for iTunes and MobileMe, a Google account for Gmail and Google Docs. All these competing players gain hugely if they can increase the importance of your identity on their platform versus the others. If Microsoft can keep your Active Directory account at the centre of your world, then you will be a customer for Exchange, Office, SharePoint and so on. On the other hand, if your Google sign-in becomes more important, then Google’s products are correspondingly more attractive and it can sell you more services and advertising. Buy a Google phone and you hook directly into Google’s world. In ChromeOS the link is even more obvious, since you sign onto the computer with your online Google credentials.

The power shift is obvious. And as Tim O’Reilly implies in his excellent post, Google’s lack of legacy desktop baggage is helping it to compete against Apple as well as Microsoft.

Miguel de Icaza on eight years of Mono, its future, and the Silverlight desktop

Mono founder Miguel de Icaza spoke at the Monospace conference – 250 enthusiasts in Austin, Texas – on the past and future of the project. I wasn’t there but enjoyed listening to the keynote as posted by Redmonk’s Michael Coté.

“Never ask for permission, ask for forgiveness – that’s how we’ve done a lot of things in the Mono world,” said de Icaza, who also remarked that in the beginning “we thought it would be a walk in the park, we thought it would up and running in 6 months.” His motivation: “We think that .net is a fantastic development platform – we were envious when Microsoft came out with it.”

Eight years on and the Mono team is now around 35 people at Novell, plus 30-70 external contributors. “We don’t dictate the direction of mono, it’s mandated by the direction of the community,” says de Icaza. He talks about MonoDevelop, the Mono IDE, which is now licensed under LGPL allowing commercial plug-ins; about MonoTouch which lets you develop for Apple’s iPhone and “will expand towards Android”; and about XNATouch, a Mono game framework for iPhone.

The task of keeping up with Microsoft – insofar as Mono succeeds – has become easier thanks to open source. “In the last couple of years Microsoft has become very open-source friendly in some areas,” says de Icaza. “For example ASP.NET MVC, we don’t have to do anything, it just runs on our ASP.NET implementation.”

Someone asked about Mono’s plans for WPF, which is becoming more important on Windows, and this led to some intriguing comments on Moonlight/Silverlight and its future. “I think Silverlight has more potential than WPF has, because it runs on the Mac, it runs on Linux, it runs on Windows, and Silverlight is easier to learn than WPF is. We like the Silverlight model but we don’t like that it is limited to a sandbox on the browser,” he said.

“Moonlight can be used in two modes. One of them is moonlight in the plug-in, like you do with Microsoft, and you can out-of-browser if you want, but you are still restricted by the sandbox. We also offer the same graphical engine that we use for Silverlight [Moonlight] but with the .NET 4.0 APIs. You have full access to .NET 4.0 with the Silverlight UI. Isn’t that awesome?”

“WPF is interesting but a lot of work, and we don’t have the bandwidth and the resources. Our best possible option is to use Silverlight with the .NET 4.0 APIs. Our wish is to bring this expanded Silverlight to Windows and Mac OS. Maybe we’ll gently push Microsoft in that direction.”

One of his team is working on “the whole desktop rendered by Silverlight.”

In general I agree that Silverlight is more significant than WPF, particularly if Microsoft keeps up its current energetic level of development. I will be surprised if we don’t hear from Microsoft about an enhanced desktop Silverlight at the forthcoming PDC and Mix conferences.

There is another side to this though: if you can do your cross-platform .NET development in Microsoft Silverlight, do you still need Mono? Particularly if official ports to Linux start appearing?

Of course there is more to Mono than Moonlight. Running ASP.NET on Linux web servers is an attractive proposition, though historically its performance and reliability hasn’t matched that of Microsoft .NET – not surprising given its relatively small resources. Eight years on, and Mono has done more than just survived, yet has not quite tipped over into a platform popular enough to attract the level of contributions it needs.

Is Apple iPhone now unstoppable in the mobile platform wars?

I’ve been reflecting on a chat I had with a mobile application developer at Qt Developer Days last week. He thinks that Apple has all-but won in the battle to dominate the SmartPhone platform.

His reasoning is based on a couple of things. The first is that Apple is easily outpacing others in application availability and number of app installations. I guess there are many ways of counting this, but have a look at these figures. Handango, which has been in this game for over a decade, reported in January that it had over 140,000 apps and 100 million all-time downloads across a number of SmartPhone platforms. Apple reported this month that it has 85,000 apps and 2 billion downloads.

His second point is that Apple is one of the few companies to understand that users like consistency better than choice. “If I pick up an iPhone, my fingers know what to do,” he told me. This makes users reluctant to switch, except to another iPhone. By contrast, Nokia has a zillion different devices supposedly tailored for the needs of different customer segments, but as a result there is no sense of a consistent platform and users can easily switch away. Windows Mobile has the same problem but with multiple vendors as well as frequent design changes from each vendor.

These are points well made. If the much-rumoured Apple tablet appears, we can expect the App Store concept to extend its reach to larger devices as well. No wonder Adobe is so determined not to be left out on this platform, announcing a compiler to convert Flash applications to native iPhone code, as well as stepping up its campaign for Flash in the iPhone browser.

That said, I can think of counter-arguments. One is that iPhone isn’t yet, as far as I know, strong for corporate development. Windows Mobile has some advantages here, for Microsoft platform companies, while Java (not available on iPhone so far) is also appealing to corporate developers.

Another is that Google Android will give strong competition and take advantage of Apple’s weakness, its reluctance to abandon premium pricing.

Third, the consistency argument only goes so far. If you look at today’s iPod touch, for example, compared to the first iPods, there are huge differences. Users will in fact switch if there is convincing value in what is new.

Fourth, the more iPhone grows in importance, the more discontent over the closed nature of its platform will grow.

It is still early days for SmartPhones as a development platform; and while it is fun to speculate, things may look very different in a couple of years.

Still, let’s acknowledge that right now it is advantage Apple.

See also: What’s your choice in the mobile battleground?

and this great rant from a frustrated Symbian/Nokia developer:

Calling all Nokia & Symbian geniuses: Am I wrong?