Apple v. HTC Offers Opportunity to Examine the Nature of Computer Programs

Brandon Evenson is a JD candidate at Osgoode Hall Law School.

Technology blogs are still buzzing over Apple’s recently filed lawsuit against HTC for patent infringement. In their filing, Apple claims that various HTC phones (including but not limited to phones running the Google Android OS) infringe a number of Apple’s patents currently used in the iPhone. Engadget’s Nilay Patel completed a good lay review of the Apple patents allegedly infringed by HTC.

Among the 20-odd patents claimed, three Apple patents stand out in particular:

Patent #7657849 issued June 28, 2007 is entitled “Unlocking A Device By Performing Gestures On An Unlock Image”. The patent describes and claims a method for unlocking a Touch Screen device with an interactive virtual graphic of a slide lock.

Patent #7469381 issued December 23, 2008 is entitled “List Scrolling And Document Translation, Scaling, And Rotation On A Touch-Screen Display”. The patent title is misleading. Though it discloses the invention of iPhone’s multi-touch actions such as pinch-to-zoom, rotation, and de-acceleration animation while scrolling, the actual claims are limited to the iPhone’s scroll, bounce-back and dampen animation when the border limits of a document, list, email, etc, have been reached.

Patent #6424354 issued July 23, 2002 is entitled “Object-Oriented Event Notification System With Listener Registration Of Both Interests And Methods”. The patent describes and claims a method to propagate changes in an object’s state to other objects interested in that change. For example, in the Mac OS X operating system a user can change the computer’s output volume via the top menu bar.  Any change in the volume will also be reflected in the Sound Preferences pane in the Output Volume option instantaneously. There are many ways to program this feature, however the method Apple uses (and has patented) involves a variation on the standard programming paradigm called Model View Controller.

Why are these patents of particular interest? Each of these patents can help explore the nature of computer programs. Such an exercise is a worthwhile endeavor.

Despite what some may argue, the debate over software patenting has been alive and well for three decades.  In 1989 Professor Reichman, Professor of Law at Duke Law School, published a paper called Computer Programs as Applied Scientific Know-how: Implications of Copyright Protection for Commercialized University Research.  In his paper, Professor Reichman describes the need for a conceptual model about (a) the purposes to be served by a protection statute for computer programs, and (b) the nature of the subject matter to be protected with respect to computer programs.

The debate regarding software patents today is not focused on the purpose of protection.  It would seem most are in agreement that the purpose is to increase innovation. There is certainly no party advocating for a decrease in innovation.

Rather, today’s debate is centered on how the purpose of protection should be brought about. While this is certainly needed, it may be taking away from a more important discussion about the nature of computer programs.

In her still relevant article entitled Proprietary Rights in Computer Software: Individual and Policy Issues, Professor Johnson argues that:

The aims and strategies of copyright and patent law seem right on target in seeking to create an environment in which invention can flourish. In this respect they are not bad laws. But while their aims are right, they seem to lack the conceptual tools to handle the issues posed by computer technology.

One of those conceptual tools must certainly be, as Professor Reichman describes, a model about (b) the nature of the subject matter to be protected. Exploring and understanding the nature of computer programs will hopefully lead to deciding what should be protected and what should not.  A good example of this in practice can be found in the USPTO patent examiner manual.

The USPTO differentiates between functional descriptive material and nonfunctional descriptive material in 2106.01 Computer-Related Nonstatutory Subject Matter[R-6] (the Canadian equivalent is 16.03.02).  The purpose of this section is to try to draw a line between computer programs (functional) and literary works, music, abstract ideas, and compilation or mere arrangement of data (nonfunctional). This is necessary since both these functional and nonfunctional elements can be represented as data and stored in a computer-readable medium. Without differentiating, one could theoretically claim patent protection over a piece of music simply by storing in a computer readable format (eg. midi or mp3).

So what does Apple’s three patents teach us about the nature of computer programs?

In its most basic form, patent ‘849 is simply a virtual representation of the physical unlock button found on any Ipod or portable CD player. Similarly, patent ‘381 is an animation using real-world kinematics. This would seem to indicate that computer programs can emulate manipulable physical elements found in the real-world. One may argue that such patents are surely not novel and thus do not deserve patent protection. The Apple patents, however, indicate how such emulation is not necessarily a straightforward implementation. Software metaphor do not always match real-world examples because of the inherent differences in working in a virtual environment. If there is inventiveness with respect to how real-world items are manifested in virtual ones, then should this not be protected?

Patent ‘354. The Model View Controller programming paradigm, as discussed above, is partially a method that makes it easier for the developer to design, program, and debug an application. The MVC paradigm is not so much a theoretical construct as a pragmatic solution to real software development problems. Graphical User Interface-centric applications, unlike command line (eg DOS) driven ones, are inherently more complex to code. Being able to compartmentalize functions into isolated sections that operate independently can simplify the process. The same is true for higher level programming languages that allow for an Object Oriented paradigm implementation.

The ‘354 patent also partially describes an algorithm for improving the efficiency of code that implements MVC. The effect is likened to that of using a binary sort algorithm instead of a bubble sort algorithm.  The quality of the information is not improved, rather, the information is more efficiency generated or manipulated. This shouldn’t be confused with efficiency gains from porting manual mathematic calculations to a computer (which would surely suffer from a lack of novelty). Efficiency gains from better computer algorithms may make all the difference when trying to solve information problems with technology (eg. Very Large Databases)

A model of the nature of computer programs can also assist with other aspects of encouraging software innovation and protection. For example, it may aid in developing a better classification system so that examiners can easily find prior art. It may also give developers a more readily accessible database for solutions to difficult problems along with more certainty about what IP rights have been granted and to whom.

More than thirty years after the first personal computer, the debate about software patentability and protection continues.  No doubt if Apple and HTC do make it to court, arguments from both sides will be heard on why each others’ software patents should not have been granted in the first place. One can only hope that the court, in deciding the case, supports their reasons with foundational principles by discussing the true nature of software.