Category Archives: apple

Apple locks down its platform just a little bit more

How much money is enough? “Just a little bit more”, said J D Rockefeller; and Apple is taking a similar line with respect to control of its mobile platform. It is no longer enough that all apps are approved by Apple, sold by Apple, and that a slice of any sales goes to Apple. It now wants to control how you make that app as well, stipulating the tools you use and prohibiting use of others:

Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine.

On the face of it, bad news for third-party companies like Adobe, whose Flash to iPhone compiler is released tomorrow, Novell’s Monotouch, or Unity3D:

JavaScript and C# scripts are compiled to native ARM assembler code during the build process. This gives an average performance increase of 20-40 times over interpreted languages.

What is interesting is not only the issue itself, but the way debate is being conducted. I don’t know how Novell is getting on in “reaching out to Apple” concerning Monotouch, but as far as I can tell Apple introduced the restriction by revising a clause in a contract shown only to paid-up iPhone developers and possibly under NDA, then seeing if anyone would notice. Now that sparks are flying, CEO Steve Jobs is participating by one-line emails to a blogger referencing a post by another blogger, John Gruber.

Further, his responses do not altogether make sense. Gruber’s post is long – does Jobs agree with all of it? Gruber says that Apple wants the lock-in:

So what Apple does not want is for some other company to establish a de facto standard software platform on top of Cocoa Touch. Not Adobe’s Flash. Not .NET (through MonoTouch). If that were to happen, there’s no lock-in advantage.

Probably true, but not the usual PR message, as lock-in is bad for customers. How much are inkjet cartridges? I suspect Jobs was thinking more of this part:

Cross-platform software toolkits have never — ever — produced top-notch native apps for Apple platforms. Not for the classic Mac OS, not for Mac OS X, and not for iPhone OS. Such apps generally have been downright crummy.

As it happens, I think Gruber, and by extension Jobs, is wrong about this; though it all depends what you mean by the output of a cross-platform toolkit. Firefox? NeoOffice? WebKit, as found in Safari? Jobs says:

We’ve been there before, and intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform.

Well, we know he does not like Java – “this big heavyweight ball and chain” – but there are many approaches to cross-platform. In fact, I’m not even sure whether Jobs means technical layers or political layers. As Gruber says:

Consider a world where some other company’s cross-platform toolkit proved wildly popular. Then Apple releases major new features to iPhone OS, and that other company’s toolkit is slow to adopt them. At that point, it’s the other company that controls when third-party apps can make use of these features.

The point is: we don’t know what Jobs means. We might not know until apps hit the app store and are approved or not approved. It is a poor way to treat third parties who are investing in your platform; and that was one part of the reason for my initial reaction: it stinks.

The other reason is that I enjoy the freedom a personal computer gives you, to install what you want, from whomever you want, and the creativity that this inspires. At the same time, I can see the problems this has caused, for security, for technical stability, and for user experience. Personal computing seems to be transitioning to a model that gives us less control over the devices we use, and which makes a few privileged intermediaries more powerful and wealthy than anything we have seen before.

In the end, it is Apple’s platform. Apple does not yet monopolise the market – though my local supermarket has iPods in all sorts of colours but no other portable music player on sale – and the short answer is that if you don’t like the terms, don’t buy (or develop for) the product.

As Apple’s market share grows, the acceptability of its terms will lessen, and protests will grow louder, just as they did for Microsoft – though I hesitate to make that comparison because of the many differences between the two companies and their business models. Having said which, looking at Zune and Windows Phone 7, Microsoft seems to like Apple’s business model enough to imitate it.

Apple’s impact on Flash penetration

While checking the latest figures from riastats for an article, I noticed something that surprised me. The installed figures for Adobe Flash, while still over 96%, seemed a shade down on what they used to be. I could think of only one reason for that – Apple. I switched the operating system to Mac OS X and saw this:

image

That’s 14.18% of OS X users who do not have Flash installed. By contrast, only 3.98% of Linux users show “Not detected”. I am presuming that OS X includes iPhone and iPad, on which Flash is unavailable.

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.

Slow JavaScript on Apple iPad?

Charlie Wood reports that his MacBook Pro is 26.7 times faster than his iPad at the SunSpider JavaScript benchmark.

I thought it would be interesting to put the iPad up against something more comparable, the Atom-powered Toshiba NB300 Netbook I’ve been using and enjoying for the last few weeks. I installed Safari and ran SunSpider, running on batteries. The result: the Toshiba is 4.52 times faster.

TEST                   COMPARISON            FROM                 TO             DETAILS

=====================================================================

** TOTAL **: 4.52x as fast 10999.0ms +/- 0.7% 2434.6ms +/- 4.7% significant

A lot slower than the MacBook Pro of course. Still, the iPad starts at $499. The NB300 is around $325.00 – though lacking that lovely touch screen. By way of compensation, it has a rather good keyboard, on which I am typing this post.

Note: I do not yet have an iPad so I’m relying on Wood’s test.

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.

Fragmentation and the RIA wars: Flash is the least bad solution

The latest salvo in the Adobe Flash wars comes from the Free Software Foundation, in an open letter to Google:

Just think what you can achieve by releasing the VP8 codec under an irrevocable royalty-free license and pushing it out to users on YouTube? You can end the web’s dependence on patent-encumbered video formats and proprietary software (Flash) … Apple has had the mettle to ditch Flash on the iPhone and the iPad – albeit for suspect reasons and using abhorrent methods (DRM) – and this has pushed web developers to make Flash-free alternatives of their pages. You could do the same with YouTube, for better reasons, and it would be a death-blow to Flash’s dominance in web video.

Fair point; but one thing the FSF misses is that Apple’s stance has not only “pushed web developers to make Flash-free alternatives of their pages”. It has also pushed developers into making Apple-specific apps as an alternative to web pages – which to my mind is unfortunate.

The problem goes beyond web pages. If you have an application that goes beyond HTML and JavaScript, maybe for offline use or to integrate with other local applications or hardware, there is no cross-platform solution for the iPhone, iTouch or forthcoming iPad.

While I understand that non-proprietary platforms are preferable to proprietary platforms, it seems to me that a free cross-platform runtime is less evil than a vendor-controlled platform where I have to seek approval and share income with the vendor just to get my app installed.

More broadly, it is obvious that the days of Windows on the desktop, Web for everything else are over. We are seeing a proliferation of devices, each with their own SDK: alongside Apple there is Palm WebOS, Nokia/Intel Meego, Google Android, and when Windows Phone 7 comes along, Microsoft Silverlight.

The question: if you have an application and want to reach all these platforms, what do you do? A web app if possible; but otherwise?

It is the new fragmentation; and frankly, Adobe Flash is the closest thing we have to a solution, particularly with the native compilation option for iPhone that is coming in Creative Suite 5.

I don’t like the idea of a single company owning the runtime that unifies all these platforms. That’s not healthy. Still, at least Adobe is currently independent of the obvious industry giants: Google, Apple, Microsoft, IBM and so on.

Dealing a death-blow to Flash is all very well, but the end result could be something worse.

VMWare: the cloud is private

I attended this morning’s VMWare roundtable, debating the rather silly proposition that IT should be removed from the boardroom agenda. To be fair, even VMWare does not really believe this, but is arguing that its virtualisation technology makes IT service provision so trouble-free that the board can focus on IT as it advances their business, rather than just keeping the show on the road. I don’t believe that either, though no doubt it can help. It was nevertheless interesting to hear Jim Fennell, Information Systems Manager for the Lagan Group, explain how his virtual infrastructure allowed him to run up servers or applications such as SharePoint on demand, with internal charges based on usage.

The very definition of a private cloud, in fact; and this chimed nicely with some other research I’ve been doing on cloud security. Current cloud computing models are flawed, for the following reason among others.

So-called private clouds do not relieve organisations of the IT burden, though they may simplify it, and do not fully yield the benefits of multi-tenancy, elasticity and economies of scale except perhaps in the case of the largest enterprises, or governments.

On the other hand, public clouds are also flawed, because the customer retains legal responsibility for their data but loses operational responsibility. That split surfaces in debates about SLAs, legal liability and consequential loss, compliance with regulations concerning data location and segregation, and conflicts over whether customers should have the right to audit their cloud provider’s technology and security practices. The public cloud is not yet mature; it lacks the standards and regulatory frameworks that it needs, though work is being done.

VMWare may not mind about this, because it has positioned itself as the first choice for technology to drive private clouds. I talked to Chief Operating Office Tod Nielsen (formerly of Microsoft) after the event, and he told me that the majority of enquiries from potential customers relate to setting up private cloud infrastructures.

Another big growth area is desktop virtualisation, where customers with thousands of aging PCs running Windows XP want their next desktop upgrade to be their last, and see virtual desktops as a route to that goal.

I am intrigued by the desktop issue, since maintaining desktop PCs remains a significant maintenance challenge. The rise of non-PC devices is also relevant here. Isn’t the future more in pure web applications – perhaps enhanced with RIA technologies like Flash and Silverlight – rather than in virtual desktops? Nielsen said that the huge numbers of legacy applications out there made this impossible in the near future.

Nevertheless, you can see how VMWare is planning for more of a pure web play longer term, with acquisitions such as the Java application framework Springsource. One idea that was mentioned during the roundtable was a sort of server app market, where you can plug in pre-built applications into VMWare’s ESX platform.

Finally, one side-effect of increasing desktop virtualisation, in Nielsen’s view, is that more users will choose to run Apple Macs as the host. He also says that the number one customer request, in the weeks since Apple’s announcement, is for iPad support for their virtual clients. Make of that what you will.

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.