Patent Obsolescence

The Lodsys debacle over the past 2 weeks as really shaken up our little (or not so little) community of iOS developers. The patent itself is now obvious to anyone who has ever done any kind of programming over the past 10 years. The concept of an “Upgrade” button after all is pretty simple. Especially in 2011 where we now have app stores and complex frameworks abstracting the work for us.

Beyond the validity of the patent and wether or not Apple has the right to sub-licence their rights, this case for me is the perfect example of why software patents as they exist today are ridiculous. Now we could argue that software patents should not be possible at all, a position I’m more than willing to agree with, but at the very least, the current 20 years period of protection in the US for a patent makes no sense in the insanely-rapidely evolving world of technology.

When the patent law was drafted in the US, those kinds of periods made sense. It works beautifully for example with the pharmaceutical industry where developing a new drug can take billions of dollars in research. Where it doesn’t work however is when a software developer thinks of a new algorithm to fix his problem. Regardless of how imaginative the solution is, protecting it for 20 years makes no sense on the Web.

This particular case affects me and my clients greatly so I’m obviously eager to see what will happen, but beyond that, I hope this example will be the drop that overflows the bucket and will convince the US congress to re-examine the law. It’s much needed. In fact it was much needed 2 years ago.

Keep it Pure (I’m Going To Sound Selfish Here)

Today, Apple announced a new version of the iPhone OS, the software that powers their mobile platforms like the iPhone, the iPod Touch and the newly released iPad (I’ll have my review soon). As part of that announcement, they have released a beta version of the SDK for us developers to play with but so far, the biggest news to come out of this is a little something they added to the license agreement.

John Gruber on Daring Fireball has a couple of post on this. To sum it up, Apple seems to have banned the use of Adobe’s Flash CS5 to iPhone technology or anything similar to that. What Apple has done basically, is force everyone to use their standards and their tools to code on their platform. Anything else is forbidden. That also impacts other tools like the Mono to iPhone stuff that’s also available.

John makes the point that it’s in Apple’s best interest and his arguments are good. I highly recommend you read the article in question but I’m going to go one step further here : I’m actually glad they did it and I think it’s a great thing for everyone involved except of course for Adobe and Flash-only developers. Here’s why.

If the Mac is known for anything, it’s for being a platform where attention to details is important. On OS X, we’ve seen a lot of application succeed because of the look and usability alone. The name “Delicious generation” was used to describe apps like these. Mac users expect apps to not only function well, but to look good, to act like a native app and to work like a native app. As such, the vast majority of apps available on OS X today are apps coded using Apple’s standards.

So what about the iPhone OS then? Well, by forcing people to use Apple’s tools, it forces people to be Mac users to develop for the iPhone platform. By doing so, it at least forces people to have a minimal knowledge of what it’s like to be on that platform. With any luck, that’ll end up improving the quality of apps on available on the App Store. Most people switching to Macs in my experience tend to become addicted to nice Apps anyway even if that was never really a concern before. It’s just part of the Mac mentality I guess.

I can understand why Flash developers are not happy and I can certainly sympathize with them, but I’m glad Apple did this. Let’s face it, Flash apps and Flash sites are not known for their great usability. They are known for flashy animations, terrible performance and for being generally harder to use.

From the start, the iPhone platform has never been an “open platform”. There are other platforms out there that are more open and equally great like Android. This is a closed garden. That comes with big advantages, but it also means you need to conform to the rules if you want to play in it.

Fix Outlook!

As both a software and Web developer, I have two very different opinions of Microsoft. On  the one hand, Microsoft creates fantastic developer tools like Visual Studio and their .Net platform is quite nice. As a Web developer though, you have IE, a browser used by the vast majority of the world but unfortunately also the least standard compatible browser and a major pain when it comes to coding standard compliant web sites.

For some time now, the folks at the Email Standards Project have been working to help Web developers  understand the limitations of the various email clients with regards to HTML rendering. That site is quite useful by the way, but this is not the reason of this blog post.

Today I want to talk about Fix Outlook!, an initiative by the Email Standards Project to convince Microsoft not to use the Word rendering engine to render HTML emails in Outlook for Office 2010. If you’ve ever designed an HTML email campaign for a client, you know how painful it can be to test all the different clients and by the look of it, Outlook 2010 will make it even worse.  Go on the Fix Outlook! site and have a look at the same email rendered in Outlook 2000 and Outlook 2010 to understand the extent of the damage. By using Word to render the email, Outlook basically loses most of its CSS support.

What’s sad here is that this isn’t some small piece of unknown shareware, it’s a major new version of a software that will probably be used by tens of not hundreds of millions of users around the world for several years. Just like a new version of Internet Explorer, this new version of Outlook will have a major impact on what’s possible and what’s not possible with HTML emails in the near future.

Please support the Fix Outlook campaign by tweeting. Visit the site for more information. Let’s hope Microsoft will get the message and will use a real HTML rendering engine for its email client.

If only they had such a thing in house…