Category Archives: software development

Apple censors iPhone application, threatens developer livelihood

There is an alarming report here from James Montgomerie, who has developed an application for the iPhone called Eucalyptus. It displays public domain texts hosted at Project Gutenberg.

Apple has refused to allow his application to be placed into the App Store, which in effect means nobody can buy it or use it. The reason: one of the texts on Project Gutenberg is the Kama Sutra, which Apple’s assessors consider pornographic.

It’s doubtful reasoning. Eucalyptus is a client and does not contain the contentious text directly; it is no different in this respect from Safari, the iPhone’s web browser, which can also also display the Kama Sutra, or indeed many far more objectionable web pages.

Still, it’s the wider issues that are more interesting here. Montgomerie writes:

I suspect that no-one at Apple knows how genuinely torturous the app store approval process is for developers personally after a rejection. When they hold the key to the only distribution pipe for something you’ve spent a lot of your time on – in my case a year – something you’re hoping could provide you with a livelihood – and polite email enquiries are not replied to – not even with an autoresponder, it is extremely frustrating. I don’t think I’ve ever felt as powerless in my life (and I’ve had to deal with US immigration authorities…). I think anyone that knows me would confirm that I’m a very level-headed person, but this is the only thing in my adult life I can recall losing sleep over (although perhaps that’s also a consequence of being otherwise lucky in life so far).

Let’s do a bit of what-if. What if Microsoft exerted equal control over what applications were allowed on Windows? What if Apple extended its iPhone control to any Mac computers? Unacceptable, could never happen, you might think. Sure, but it if is unacceptable in that wider context, is it not unacceptable on the iPhone as well?

Apple is not the first company to lock down a platform. Locked mobile phones have done this to some extent for years. Games consoles like Xbox and Playstation do it. Apple is taking heat because of its success in creating a device that users want to use as a platform for all kinds of applications; potentially, in some future version, it may be able to do most of the things for which we currently use laptops. Therefore we should be concerned both about the way Apple is using its control over iPhone distribution, and more fundamentally that it has that level of control at all.

Fortunately Apple does not control the Internet; and Montgomerie has done the right thing by appealing to public opinion. Apple’s PR machine will take note and no doubt resolve the immediate case.*

Nevertheless, this story and others like it are a real concern. Perhaps your next phone should run Android?

*UPDATE this is exactly what happened:

Earlier today I received a phone call from an Apple representative. He was very complimentary about Eucalyptus. We talked about the confusion surrounding its App Store rejections, which I am happy to say is now fully resolved. He invited me to re-build and submit a version of Eucalyptus with no filters for immediate approval, and that full version is now available on the iPhone App Store.

See also: Friendly to users, hostile to competition: get ready for more app stores

Technorati Tags: ,,,

Microsoft having another go at Windows help: Help 3

Online help is a part of Windows full of dead-ends and back-alleys. I’m not going to attempt the story in detail here; but it goes back many years. By online help I mean local help of course; in ancient times the word “online” meant something on your computer as opposed to being in a printed book.

The first help engine I remember was in Windows 3.x, called WinHelp, and used .hlp files. It was well-liked, but authoring the files was an arcane process involving Word, RTF, a help compiler, and a certain amount of black magic.

In 1997 Microsoft replaced .hlp with .chm (compiled HTML); its initial efforts were less good than the old .hlp, but this evolved into a decent help engine despite one or two quirks.

After that it gets messy. In 2001 Microsoft announced Help 2, still HTML based but with all sorts of improvements. It was used by MSDN and in Visual Studio; its viewer is the Microsoft Document Explorer. However, and despite the help authoring tool vendors getting all geared up for Help 2, Microsoft announced in 2003 that it would not be made into a general Windows help engine, but only used for Visual Studio. Since then Help 2 has had a curious status; it is possible to author for Help 2, and those building Visual Studio extensions have needed to do so, but it has never replaced compiled HTML.

There was a similar story with Vista Help. Microsoft built a new help engine for Vista but drew back from making this available to 3rd party applications. In fact, there is a rather wonderful tool called Guided Help which lets you include application automation within Help, complete with “show me” and “do it” functionality. You can get the Guided Help SDK if you know where to look, and it works, but the project was mostly abandoned. You are still meant to use HTML Help 1.4 for your own applications.

Now Microsoft is talking about Help 3. Microsoft’s Terry Clancy mentions it in an informative post about Visual Studio 2010:

Visual Studio 10 will come with a completely re-engineered Help system that introduces a new flexible, standards based Help framework which will ultimately be used in other products beyond Visual Studio. Help3 is a help system replacement for Microsoft Help 2.x . This new help system will be easier to produce content for, and will interfere less with Visual Studio itself. The standards based approach delivers not only a much better local experience but also a seamless transition to an online web browser and with infrastructure and tooling much more consistent other Visual Studio and internet technologies.

Will Help 3 ever replace the seemingly immortal HTML Help 1.x? Place your bets.

In practice, desktop help is less important than it used to be. Online help now means the Internet; or users just use Google.

New Visual Studio 2010 beta has WPF editor, Silverlight designer

I’ve just downloaded and installed the Visual Studio 2010 beta 1 release. I’ve not explored much yet – and it is rather slow in a virtual machine – but it does now seem to have the new editor and other pieces built with Windows Presentation Foundation.

A landmark for both WPF and Visual Studio.

I also noticed that the Silverlight visual designer now works as you would expect, though I had to download the developer runtime and SDK separately:

I’d welcome comments from anyone using the beta.

Adobe’s Flex Builder to Flash Builder name change does not go far enough

As expected, Adobe is strengthening its “Flash Platform” strategy by renaming the forthcoming Flex Builder 4 (codename Gumbo) to Flash Builder 4:

This change will provide better naming consistency for the Flash family of tools and position Flash Builder as the development tool for the Flash Platform.

This is only a name change, nothing more. Flash Builder will still be based on Eclipse, and the original Flash Professional IDE, also part of Creative Suite, will continue as before.

My question: why doesn’t Adobe go further in clarifying and promoting its Flash brand? The current situation is still confusing:

Flash Builder vs Flash Professional: the names give you no clue about the difference. Why not Flash Developer and Flash Designer?

Adobe AIR (Adobe Integrated Runtime): non-techie people do not realise this has anything to do with Flash. Flash Desktop Runtime would be better, though I guess that would not reflect the option for HTML applications. It would do a lot to promote Flash as more than just a browser plug-in.

Flex SDK: why retain the Flex brand at all? I presume the name was originally a contraction of Flash and XML, but since it is a language that compiles to Flash, this could just be called the Flash SDK.

Name changes themselves are confusing of course, so I’m surprised that Adobe is not being more thorough now rather than risking more piecemeal changes later.

Delphi moving towards cross-platform, 64-bit

Embarcadero’s Delphi Live conference is running this week, and there are some interesting reports coming out. Robert Love has the best summary I’ve found so far. As I understand it, the next Delphi is codenamed “Weaver” and adds Windows 7 support, including the Touch APIs. More interesting is that this will be followed at some point by “Project X”, a cross-platform native code compiler for Windows, Mac and Linux. There is also mention of “Project Commodore”, which brings full 64-bit support.

Project X is the one that particularly grabs my attention. Cross-platform Delphi has been tried before, with Kylix, Delphi for Linux. Although promising, Kylix suffered on the technical side from Wine dependencies and on the marketing side from lack of demand for Delphi desktop applications. I do not have any technical information about Project X yet, but on the marketing side Mac OS X (and perhaps iPhone) is a great deal more promising than Linux.

After suffering from under-investment for many years, it is great to see Delphi now getting a new lease of life in its new home, and I’m looking forward to finding out more.

Yahoo’s mindshare problem

Last weekend I attended Yahoo’s Open Hack Day in London.

It was excellent. I wasn’t hacking myself; but enjoyed the tech talks. I also had an opportunity to interview execs including co-founder David Filo, Cody Simms who does Product Management for Yahoo Open Strategy, and Sophie Major the head of the International Developer Network.

Highlights for me were Rasmus Lerdorf talking about smart PHP tricks, and a session on the amazing Yahoo Query Language which really does make the Internet look like one giant database which you can query.

I wrote up some of my interview for The Register, concluding:

Open Hack Day certainly showcased some impressive technology. The question is whether Yahoo! still has the marketing muscle to reverse its declining influence and truly to unsettle the likes of Google and Facebook and disrupt the market.

Events this week proved this exact point. During Open Hack Day there were talks on Microformats, RDFa and Yahoo Search Monkey. Search Monkey reads data on your site that includes semantic mark-up in order to present more meaningful search results.

On Tuesday Google announced Rich Snippets:

To display Rich Snippets, Google looks for markup formats (microformats and RDFa) that you can easily add to your own web pages.

So were the headlines “Google catches up with Yahoo”? Not at all; most of the world apparently thought Google had invented something new and amazing. Timothy O’Brien reported on it for O’Reilly and apparently was not aware of Yahoo’s earlier initiative. He added a postscript:

We’ve had some response about failing to mention Yahoo’s SearchMonkey which also supports RDFa and Microformats. Google is certainly not the first search engine to support RDFa and Microformats, but it certainly has the most influence on the search market. With 72% of the search market, Google has the influence to make people pay attention to RDFa and Microformats.

Correct; though I also suspect Yahoo could do a better job of marketing its technology. Talk of disrupting Google seems fanciful at this point. Having said that, Twitter is doing it just a little bit: somehow it is easier for a tiny organization with a bright idea than for a giant from the past.

In the meantime, take a look at YQL. It’s brilliant.

New York Times switches from WPF/Silverlight to Flash and AIR for Reader 2

The New York Times has released Version 2 of its Times Reader, for seamless online/offline viewing of its content. It’s interesting from a media perspective, but hardly a breakthrough, since it is not new. What’s more interesting to me is that the Times switched from a hybrid approach using WPF (Windows Presentation Framework) on Windows and Silverlight on the Mac, to Adobe AIR. Switches like this are bad PR for Microsoft, since it gives the impression that the developers were sufficiently unhappy with WPF/Silverlight, or so strongly attracted to AIR, that they were willing to throw away much of their previous development effort.

I’ve been tracking Times Reader for some years. It was presented at Microsoft Mix07 and I wrote up a panel discussion on the subject:

I asked about the cross-platform issue. According to Bodkin a Silverlight implementation is on the way, which includes most of the features in the full version, in “a matter of months.”

That was optimistic; but a Silverlight version was delivered and I used it successfully on the Mac; though it lacked some features of the WPF edition. It also attracted hostility from Mac users who are Microsoft-averse, as I reported here, and apparently ran into further problems because of incompatibility with Safari 4.

I tried the new AIR edition and it seems pretty good, though my impression is that it is not quite as smooth as the old WPF version. I might be wrong, since I could not install both on the same machine. The new version does add video support. Here’s the old one:

and this is the new effort:

I think this is a fascinating case study which demonstrates a number of things.

First, that cross-platform support is not an optional feature any more (if it ever was) for this kind of public application. Let’s assume here that the WPF version was just fine for Windows users, but was not viable long-term for lack of cross-platform support. It was inevitable that the Times would eventually either use Silverlight on both Windows and Mac, or abandon both WPF and Silverlight for a cross-platform alternative.

Second, that Silverlight is not yet mature enough for this kind of application. Although the Times developers were able to deliver a Silverlight version, it required a bit of hackery for offline support (embedded Safari on the Mac) and apparently ran into version problems when Apple upgraded Safari. Silverlight is also known to be poor for text rendering – a Google search for “blurry text Silverlight” brings back plenty of hits. Adobe also made a big improvement to text handling in Flash player 10, with the new flash.text.engine.

Third, that offline support really is a big deal. Would Silverlight 3.0 have been good enough? Possibly, though I haven’t seen any suggestion that Silverlight 3.0 offline apps will be able to run in the background while showing just an icon in the notification area, to support continuous synchronization.

It is possibel that these problems may be fixed in Silverlight 4.0. That’s a long time to wait though, when you need your application out now (and your industry is in crisis).

It would be silly to extrapolate this case study into a broader statement about the superiority of Flash over Silverlight. For the specific needs of the New York Times though, it is easy to see why Adobe AIR appeals.

Is Zend really the PHP company?

I’m at Yahoo! Hack day in London – not hacking, but here for sessions on topics such as YUI (Yahoo! User Interface Library) and PHP.

I had a brief chat with Rasmus Lerdorf who is speaking later. I asked him about Zend, which presents itself as the PHP company (that is actually the slogan on its web site). Is it really?

Lerdorf says Zend has no special status. While acknowledging its contribution, he says there are 1300 PHP committers, and only 6 work for Zend. He emphasises that PHP is a community project and that decisions are made by consensus, influenced by who is actually willing to write the code, not by Zend or any company.

I also asked about PDT (PHP Development Tools), the Eclipse-based open source IDE. Lerdorf says there are lots of PHP IDEs, and people who use generic editors for PHP, and none has any more status than any other; he doesn’t use PDT.

From my perspective as press, there are only two organizations who ever encourage me to write about PHP. One is Zend; the other is Microsoft, keen to establish Windows as a credible PHP platform (Lerdorf says PHP on Windows has made enormous progress in the last couple of years). Zend does seem to do more than any other company to promote PHP for commercial and corporate development.

Lerdorf is not surprised. We’re developers, he says, we don’t do PR.

Zend’s effort is broadly beneficial to the PHP community – provided that it does not give a false impression of who owns PHP.

Silverlight: developer win, designer fail?

I posed this question in a post over on itjoblog. There are several reasons why Silverlight struggles to get designer attention, including:

1. Designers are pragmatic and target the runtime that is already deployed most broadly, ie. Flash.

2. Flash is already good enough so why bother?

3. The tools: Adobe’s designer tools are a de facto standard, target Flash, and run on the Mac.

Developer is another matter. The cross-platform .NET runtime is Silverlight’s big advantage; and this time the tools tip the balance towards Microsoft (Visual Studio) – not for everyone, but for the substantial Microsoft platform community. That’s going to be further reinforced by Visual Studio 2010 which gets full visual designer support, plus of course Silverlight 3.0.

Microsoft does have a problem with Silverlight out of the browser. Developers need a way to have these run with more local permissions, subject to user consent, otherwise they will turn to Adobe AIR. Actually the whole Silverlight on the desktop story is confused, since you can also do Silverlight Mesh-Enabled Web Applications, or stick Silverlight content in a desktop gadget or other embedded browser. No, not the one in AIR (nice idea though): Adobe only includes Flash support and the PDF plug-in.

The tension behind this is that ultimately developers and designers need to work on the same applications, so this remains a fascinating contest.