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.

Is Objective-C Really a Bad Thing For Apple?

Whenever flash on iPhone is debated, one of the thing that’s mentioned is that Objective-C is really terrible and Flash (or Action Script) is a much easier language to learn and to use. Of course, Action Script is loosely based on Javascript, a scripting language and Objective-C is a layer on top of C, so that does confer Action Script an advantage when it comes to ease of use.

What people seem to be forgetting however is that there’s more to life than ease of use. By using Objective-C and the Cocoa Touch APIs, Apple has a set of technology that’s not that hard to use (really, try to learn it, you’ll see) but also, a set of technology that while open, is also pretty much only used by them. I’ve said this before in my last post, but forcing people to learn Apple technologies is not a bad thing. It’s certainly a bad thing for flash developers looking to make quick bucks by quickly porting existing code, but for the rest of us, it means the developer has to spend some time on the Mac, learning how it works, what the UI paradigms are and why things work the way things work. Ultimately, this leads to a developer that might spend more time thinking about the UI issues and how to really optimize the interface for an iOS device.

Objective-C has been pretty successful for Apple on the desktop for years. When Apple “forced” developers to ditch Carbon APIs (C APIs) for Cocoa APIs a few years ago to benefit from the latest advances in the OS, many balked and predictions of doom were also thrown by many. As far as I can tell, my Mac seems to have survived and so did all of the apps I’ve used. Certainly it means that companies like Adobe and Microsoft had and have a lot more work ahead of them rewriting large portions of legacy code. You know what though? At the end of the day, we get stuff like Outlook for Mac, a newly written app that takes full advantage of Mac OS X instead of Entourage.

During WWDC, Apple announced that Farmville was coming to iOS. It’ll be interesting to see if that version will take advantage of iOS 4’s Game Center feature when it launches. By being a native app, it certainly has the potential.

Meanwhile, iOS 4 is coming out today for all users. Grab it, it’s a great update.