[Home] [Databases] [World Law] [Multidatabase Search] [Help] [Feedback] | ||
England and Wales Court of Appeal (Civil Division) Decisions |
||
You are here: BAILII >> Databases >> England and Wales Court of Appeal (Civil Division) Decisions >> HTC Europe Co Ltd v Apple Inc (Rev 1) [2013] EWCA Civ 451 (03 May 2013) URL: http://www.bailii.org/ew/cases/EWCA/Civ/2013/451.html Cite as: [2013] RPC 30, [2013] Info TLR 161, [2013] EWCA Civ 451 |
[New search] [Printable PDF version] [Help]
ON APPEAL FROM THE HIGH COURT OF JUSTICE
CHANCERY DIVISION (PATENTS COURT)
The Hon Mr Justice Floyd
Strand, London, WC2A 2LL |
||
B e f o r e :
LORD JUSTICE LEWISON
and
LORD JUSTICE KITCHIN
____________________
HTC Europe Co Ltd -and- |
Appellant in action 2043 (the '022 Patent) |
|
Apple Inc (a company incorporated under the laws of the State of California) -and between- Apple Inc (a company incorporated under the laws of the State of California) -and- HTC Corporation (a company incorporated under the laws of the Republic of China) |
Respondent in action 2043 (the '022 Patent) Appellant in action 2044 (the '948 Patent) Respondent in action 2044 (the '948 Patent) |
____________________
WordWave International Limited
A Merrill Communications Company
165 Fleet Street, London EC4A 2DY
Tel No: 020 7404 1400, Fax No: 020 7831 8838
Official Shorthand Writers to the Court)
Deringer LLP) appeared for Apple Inc
Dr Justin Turner QC (instructed by the Treasury Solicitor) appeared
for the Comptroller-General of Patents
Hearing dates: 12/13 March 2013
____________________
Crown Copyright ©
Lord Justice Kitchin:
Introduction
(i) claims 1 and 2 of the 948 patent are invalid because they relate to computer programs as such and so claim excluded subject matter;
(ii) claim 1 of the 948 patent is invalid for obviousness in the light of the common general knowledge;
(iii) claims 5 and 17 of the 022 patent are invalid for obviousness in the light of the Neonode.
The 948 patent
The technical background and common general knowledge
"32. A general goal of operating system designers is to ease the task of application software developers. The success of an operating system is likely to be driven by the scale of its adoption by application developers as well as end users. This can be done by providing features within the system on which application developers can build, reducing the amount of software which they have to write. The decisions taken by system developers as to what facilities to include in the system software have an impact on the cost of development of the application software. Thus the provision of a "button", a UI element, in the system software can allow the application developer to incorporate it by reference in the application, without the need to provide program code as to how it should look or how it should respond to input from the user."
"33. It was common to allow for the properties of a UI element to be defined by a software developer in the UI toolkit. Properties may be various. Where a property is capable of having only two possible values, it can be defined by setting the value of a "flag" attached to the UI element. The flag is stored as a single binary bit, and is either set (1) or not set (0). The property of a button whereby it is either enabled or not enabled could be indicated by a flag.
34. Dr Wigdor explained that it was well known to use the setting of a flag on a UI element to indicate whether or not particular events should be sent to that UI element. He also explained that the practice of limiting events sent to a particular UI element as a method of simplifying the development of software was also part of the common general knowledge. In each case he gave examples. Although Dr Karp quibbled with some of the examples in his written evidence, he accepted that it was common general knowledge to use a flag so that events of a particular type were not sent to the UI element. He also accepted that it was generally known that this could be beneficial for the software developer."
The specification
"On the other hand, if a multi-touch interface is being used, two or more touch events can simultaneously occur at different portions of the display. This can make it difficult to split the display into different portions and have different independent software elements process interactions associated with each portion. Furthermore, even if the display is split up into different portions, multiple touch events can occur in a single portion. Therefore, a single application, process or other software element may need to process multiple simultaneous touch events. However, if each application, process or other software element needs to consider multiple touch interactions, then the overall cost and complexity of software running at the multi-touch enabled device may be undesirably high. More specifically, each application may need to process large amounts of incoming touch data. This can require high complexity in applications of seemingly simple functionality, and can make programming for a multi-touch enabled device generally difficult and expensive. Also, existing software that assumes a single pointing device can be very difficult to convert or port to a version that can operate on a multi-point or a multi-touch enabled device."
"The ability to handle multiple touches and multi-touch gestures can add complexity to the various software elements. In some cases, such additional complexity can be necessary to implement advanced and desirable interface features. For example, a game may require the ability to handle multiple simultaneous touches that occur in different views, as games often require the pressing of multiple buttons at the same time. However, some simpler applications and/or views (and their associated software elements) need not require advanced interface features. For example, a simple button (such as button 306) can be satisfactorily operable with single touches and need not require multi-touch functionality. In these cases, the underlying OS may send unnecessary or excessive touch data (e.g. multi-touch data) to a software element associated with a view that is intended to be operable by single touches only (e.g. a button). Because the software element may need to process this data, it may need to feature all the complexity of a software element that handles multiple touches, even though it is associated with a view for which only single touches are relevant. This can increase the cost of development of software for the device, because software elements that have been traditionally very easy to program in a mouse interface environment (i.e. various buttons, etc) may be much more complex in a multi-touch environment."
i) multi-touch flags which indicate whether a particular view is allowed to receive multiple simultaneous touches;
ii) exclusive touch flags which indicate whether a particular view allows other views to receive touches while the flagged view is receiving a touch.
"Thus, embodiments of the present invention can allow relatively simple software elements that are programmed to handle only a single touch at a time to keep their multi-touch flag unasserted, and thus ensure that touch events that are part of multiple contemporaneous touches will not be sent to them. Meanwhile, more complex software elements that can handle multiple contemporaneous touches can assert their multi-touch flag and receive touch events for all touches that occur at their associated views. Consequently, development costs for the simple software elements can be reduced while providing advanced multi-touch functionality for more complex elements."
"Thus, the exclusive touch flag can ensure that views flagged as exclusive only receive touch events when they are the only views on the display receiving touch events. The exclusive flag can be very useful in simplifying the software of applications running on a multi-touch enabled device. In certain situations, allowing multiple views to receive touches simultaneously can result in complex conflicts and errors. For example, if a button to delete a song and a button to play a song are simultaneously pressed, this may cause an error. Avoiding such conflicts may require complex and costly software. However, embodiments of the present invention can reduce the need for such software by providing an exclusive touch flag which can ensure that a view that has that flag set will receive touch events only when it is the only view that is receiving a touch event. Alternatively, one or more views can have their exclusive touch flags unasserted, thus allowing multiple simultaneous touches at two or more of these views."
"(i) A method for handling touch events at a multi-touch device, comprising:
(ii) displaying one or more views;
(iii) executing one or more software elements, each software element being associated with a particular view;
(iv) associating a multi-touch flag or an exclusive touch flag with each view, said multi-touch flag indicating whether a particular view is allowed to receive multiple simultaneous touches and said exclusive touch flag indicating whether a particular view allows other views to receive touch events while the particular view is receiving a touch event;
(v) receiving one or more touches at the one or more views; and
(vi) selectively sending one or more touch events, each touch event describing a received touch, to one or more of the software elements associated with the one or more views at which a touch was received based on the values of the multi- touch and exclusive touch flags."
"if a multi-touch flag is associated with a particular view, allowing other touch events contemporaneous with a touch event received at the particular view to be sent to the software element associated with the other views."
Computer program as such
"(1) European patents shall be granted for any inventions, in all fields of technology, provided that they are new, involve an inventive step and are susceptible of industrial application.
(2) The following in particular shall not be regarded as inventions within the meaning of paragraph 1:
(a) discoveries, scientific theories and mathematical methods;
(b) aesthetic creations;
(c) schemes, rules and methods for performing mental acts, playing games or doing business, and programs for computers;
(d) presentations of information.
(3) Paragraph 2 shall exclude the patentability of the subject-matter or activities referred to therein only to the extent to which a European patent application or European patent relates to such subject-matter or activities as such."
i) properly construe the claim;
ii) identify the actual contribution;
iii) ask whether it falls solely within the excluded subject matter;
iv) check whether the actual or alleged contribution is actually technical in nature.
"Mr Birss added the words "or alleged contribution" in his formulation of the second step. That will do at the application stage – where the Office must generally perforce accept what the inventor says is his contribution. It cannot actually be conclusive, however. If an inventor claims a computer when programmed with his new program, it will not assist him if he alleges wrongly that he has invented the computer itself, even if he specifies all the detailed elements of a computer in his claim. In the end the test must be what contribution has actually been made, not what the inventor says he has made."
"So far as we can see, there is no reason, at least in principle, why that test should not amount to the same as that identified in Duns, namely whether the contribution cannot be characterised as 'technical'."
i) whether the claimed technical effect has a technical effect on a process which is carried on outside the computer;
ii) whether the claimed technical effect operates at the level of the architecture of the computer; that is to say whether the effect is produced irrespective of the data being processed or the applications being run;
iii) whether the claimed technical effect results in the computer being made to operate in a new way;
iv) whether there is an increase in the speed or reliability of the computer;
v) whether the perceived problem is overcome by the claimed invention as opposed to being merely circumvented.
Obviousness
i) define a flag to indicate the ability of a UI element to handle multiple touches or not, that is to say a multi-touch flag;
ii) define a flag to indicate whether concurrent touches with other elements should be allowed, that is to say an exclusive touch flag.
"(1)(a) Identify the notional 'person skilled in the art'.
(b) Identify the relevant common general knowledge of that person.
(2) Identify the inventive concept of the claim in question or, if that cannot readily be done, construe it.
(3) Identify what, if any, differences exist between the matter cited as forming part of the "state of the art" and the inventive concept of the claim or the claim as construed.
(4) Ask whether, when viewed without any knowledge of the alleged invention as claimed: do those differences constitute steps which would have been obvious to the person skilled in the art or do they require any degree of invention?"
"The second point is that it is important to be precise about what it is that is asserted to be common general knowledge. For example, in the present case it is admitted that "the existence of oxycodone" was common general knowledge. But the dispute here is not about whether a skilled person knew about oxycodone. The real dispute is about what oxycodone was used for. If the skilled person has not used oxycodone as an alternative to morphine for oral administration for moderate to severe pain, it becomes difficult to argue that it would occur to him to use oxycodone in the course of deciding on a controlled release formulation for use in such circumstances."
"It is also particularly important to be wary of hindsight when considering an obviousness attack based upon the common general knowledge. The reason is straightforward. In attacking a patent, attention is focussed upon the particular development which is said to constitute the inventive step. With this development in mind it may be possible to mount an attack which is unencumbered by any detail which might point to non obviousness: Coflexip v Stolt Connex Seaway (CA) [2000] IP&T 1332 at [45]. It is all too easy after the event to identify aspects of the common general knowledge which can be combined together in such a way as to lead to the claimed invention. But once again this has the potential to lead the court astray. The question is whether it would have been obvious to the skilled but uninventive person to take those features, extract them from the context in which they appear and combine them together to produce the invention."
"The critical question on obviousness is, as it seems to me, whether the skilled person would see that the way of dealing with the need identified in the previous paragraph would be at system level, or whether the skilled person would consider, as Dr Karp suggested, that the way to do it would be to send the events to the application software and "consider that his work was done"".
"(i) UI elements which will need the ability to receive multiple concurrent touches;
(ii) UI elements which require only a single touch, and multiple concurrent touches to that element will not be acted upon: e.g. keyboard buttons;
(iii) UI elements which need to be able to receive input which is concurrent with other input at other UI elements: eg holding down a shift key whilst pressing a letter;
(iv) UI elements whose functionality should not be invoked concurrently with that of other UI elements: for example operations which were in conflict with each other, such as "yes" and "no"."
Further, the skilled team would want to make sure that applications running on any new multi-touch device would be able to exhibit similar behaviour.
a) appreciating that not all components would necessarily need to act upon multiple touch inputs;
b) appreciating that the OS could assist in simplifying the handling of multiple touch inputs in cases where some components would not need to act upon them;
c) providing such assistance in the OS by means of flags used to control the passing of second or subsequent multiple touches to views;
d) appreciating that there were two separate situations which should be addressed: cases in which the same element received multiple simultaneous touches and cases in which different elements each received a simultaneous touch;
e) appreciating that each such situation could and should be addressed by a separate flag, which should address one situation but not the other.
Conclusion in relation to the 948 patent
The 022 patent
i) Independent claims 1, 6 and 18. These are respectively a method claim, a device claim and claim to a computer program product. It was agreed their validity stood or fell together.
ii) Dependent claims 5 and 17. These are respectively a method claim dependent on claim 1 and a device claim dependent on claim 6. Once again, it was agreed their validity stood or fell together.
iii) Claim 9, another device claim dependent on claim 6.
i) Claims 1, 6 and 18 were anticipated by a piece of prior art called "Hyppönen".
ii) Claims 1, 6, 9 and 18 were invalid for obviousness in the light of a piece of prior art called "Plaisant". Importantly, claims 5 and 17 were not obvious in the light of this citation.
iii) All of the claims were obvious in the light of the Neonode.
The specification
"More generally, there is a need for more efficient, user- friendly procedures for transitioning such devices, touch screens, and/or applications between user interface states (e.g., from a user interface state for a first application to a user interface state in the same application, or between locked and unlocked states). In addition, there is a need for sensory feedback to the user regarding progress towards satisfaction of a user input condition that is required for the transition to occur."
"(i) A computer implemented method of controlling a portable electronic device
(ii) comprising a touch-sensitive display,
(iii) comprising detecting contact with the touch-sensitive display while the device is in a user interface lock state;
(iv) transitioning the device to a user-interface unlock state if the detected contact corresponds to a predefined gesture;
(v) and maintaining the device in a user-interface lock state if the detected contact does not correspond to the predefined gesture;
(vi) characterised by moving an unlock image along a predefined displayed path on the touch sensitive display in accordance with the contact,
(vii) wherein the unlock image is a graphical, interactive user-interface object with which a user interacts in order to unlock the device."
"(i) The computer-implemented method of claim 1, further comprising:
(ii) displaying a first unlock image and a second unlock image on the touch-sensitive display while the device is in a user-interface lock state; and
(iii) wherein transitioning the device to a user interface unlock state comprises: transitioning the device to a first active state corresponding to the first unlock image if the detected contact corresponds to a predefined gesture with respect to the first unlock image; and
(iv) transitioning the device to a second active state distinct from the first active state if the detected contact corresponds to a predefined gesture with respect to the second unlock image."
"In the user-interface lock state (hereinafter the "lock state"), the device 100 is powered on and operational but ignores most, if not all, user input. That is, the device 100 takes no action in response to user input and/or the device 100 is prevented from performing a predefined set of operations in response to the user input. The predefined set of operations may include navigation between user interfaces and activation or deactivation of a predefined set of functions. The lock state may be used to prevent unintentional or unauthorized use of the device 100 or activation or deactivation of functions on the device 100. When the device 100 is in the lock state, the device 100 may be said to be locked."
"In the user-interface unlock state (hereinafter the "unlock state"), the device 100 is in its normal operating state, detecting and responding to user input corresponding to interaction with the user-interface. A device 100 that is in the unlock state may be described as an unlocked device 100. An unlocked device 100 detects and responds to user input for navigating between user interfaces, entry of data and activation or deactivation of functions. In embodiments where the device 100 includes the touch screen 126, the unlocked device 100 detects and responds to contact corresponding to navigation between user interfaces, entry of data and activation or deactivation of functions through the touch screen 126."
"In some embodiments, the lock/unlock feature may apply to specific applications that are executing on the device 400 as opposed to the device 400 as a whole. In some embodiments, an unlock gesture transitions from one application to another, for example, from a telephone application to a music player or vice versa. The lock/unlock feature may include a hold or pause feature."
"In some embodiments, the device may have one or more active applications running when the device becomes locked. Additionally, while locked, the device may continue to receive events, such as incoming calls, messages, voicemail notifications, and so forth. The device may display multiple unlock images on the touch screen, each unlock image corresponding to an active application or incoming event. Performing the unlock action using one of the multiple unlock images unlocks the device and displays the application and/or event corresponding to the unlock image. The user interface active state, as used herein, means that the device is unlocked and a corresponding application or event is displayed on the touch screen to the user. While the process flow 900 described below includes a number of operations that appear to occur in a specific order, it should be apparent that these processes can include more or fewer operations, which can be executed serially or in parallel (e.g., using parallel processors or a multi-threading environment)."
Neonode
The case at trial
"Q. This suffers from the same lack of feedback as the unlock screen, does it not?
A. If I use my understanding of feedback as I now understand it based upon the knowledge we have today in terms of gestural interfaces, if we look at the literature now we have available to us as designers, then I would say yes, this lacks feedback for the gestures.
Q. Right. It has the same problem as the unlock screen. The unlock screen had a lateral movement for which no feedback was provided and this has got three upward movements for which no feedback is provided. It is the same problem.
A. I think it is a slightly different problem because, as a designer, you have a bit more room for the slide to unlock, so to speak, because it is the first screen, there is nothing there but the unlock screen, so you can make a nice beautiful elegant slide to unlock image or whatever to unlock it. Once you are in the application itself it is a bit more complex because you already have icons on the screen so you do not have as much freedom to put all kinds of animations, moving with your finger, because it would then confuse the screen. It is already about the small display to begin with, the Neonode, as you know. It is not the same design challenge, you have a different problem here."
"Q. I understand your point, you may have to think about just exactly how you lay out the screen, but these present the same issue as the unlock screen basically, which is that there is no feedback.
A. Yes, you would want to have feedback for the – I am not sure exactly how you would do that honestly. I cannot come up with a design solution off the top of my – because it is a different design problem here than the initial unlock screen. So you can see how difficult it is to design these things. Even now, as you are asking me on the spot, I cannot come up with a solution here. But you would somehow want to cue the user to provide some kind of visual cues to indicate the path of movement which they could follow. It may not require – it could be a rather simple cue and you would want to somehow have an interactive cue, ideally, some kind of animation or feedback, which would indicate the direction of movement, so animating – an animated arrow pointing out changing in brightness or whatever kind of cue you would want to show to show the direction of movement you should take with that object. So it could be a rather simple animated display of something that would indicate the movement you should follow and the direction you should follow so you would understand how to use that gestural feedback. I would not suggest in such a display, for example, using the channel as a visual cue because it would clog up the whole display. That is what I was trying to point out. You would probably want to use a different kind of visual cue to show the natural path of movement you would want to take."
"Q. Now, we have just looked at paragraph 97, when you said it was highly desirable to have an unlock image. Even with your knowledge of the iPhone in 2011, did it ever cross your mind that it would be advantageous to incorporate a second unlock image?
A. Are you talking about in relationship to the Neonode?
Q. Yes.
A. So, if I may, I would like to bring your attention to the fact that the Neonode actually has, as one of its user interface states, a series of three chevrons going across from left to right of the screen, which acts in that purpose, although there is no path indicator problem with the Neonode, but there are three different ways. Sorry, it is vertical. There are three different swipe gestures that you can actually do, each leading to a different type of application. So from looking at that screen, there it would be motivation to add an image on top of that as well, which would track from that particular state to a particular other state.
Q. That would make the screen extremely complex?
A. It depends how you design. It is a matter of graphical design. I was just going to say that I actually experimented with that screen and it is very resistant to accidental activation. I just moved my finger all around it and unless you get exactly the right upward gesture on the background it does not activate to other applications.
Q. So they have built in a security feature?
A. I am just saying it is resistant to accidental activation."
The judgment
"229. I consider that it would be obvious to the skilled team, faced with the lateral-swipe arrow unlock of Neonode, that it could be improved by the provision of feedback. The skilled team would be aware that visual feedback for a lateral gesture could be provided by the extremely familiar sliders from his common general knowledge, such as the Windows CE slider.
230. It is true that this simple improvement was not done by Neonode. This is a secondary consideration which may in some circumstances support a case of inventiveness. On its own, which it would be in this case, it is of little weight."
"234. Claim 5 adds the feature that the device can be moved to a variety of different unlocked states from the locked state. Beyond the initial unlock screen, Neonode disclosed the use of three swipe gestures in order to unlock different applications: the start menu, the keyboard menu and the tools menu. Once it is accepted that claim 1 is obvious in the light of Neonode, it seems to me that claim 5 is obvious as well. The skilled person would readily see the applicability of the swipe-with-feedback to unlocking a plurality of applications."
The appeal
Overall conclusion
i) dismiss the appeal in relation to claim 1 of the 948 patent;
ii) allow the appeal in relation to claim 2 of the 948 patent;
iii) dismiss the appeal in relation to claims 5 and 17 of the 022 patent.
Lord Justice Lewison:
"(1) European patents shall be granted for any inventions, in all fields of technology, provided that they are new, involve an inventive step and are susceptible of industrial application.
(2) The following in particular shall not be regarded as inventions within the meaning of paragraph 1:
…
(c)… programs for computers;
(3) Paragraph 2 shall exclude the patentability of the subject-matter or activities referred to therein only to the extent to which a European patent application or European patent relates to such subject-matter or activities as such."
"(2) It is hereby declared that the following (among other things) are not inventions for the purposes of this Act, that is to say, anything which consists of—
…
(c) … a program for a computer;
but the foregoing provision shall prevent anything from being treated as an invention for the purposes of this Act only to the extent that a patent or application for a patent relates to that thing as such."
"(2) The technical effect approach
Ask whether the invention as defined in the claim makes a technical contribution to the known art—if no, Art.52(2) applies. A possible clarification (at least by way of exclusion) of this approach is to add the rider that novel or inventive purely excluded matter does not count as a "technical contribution". "
"For examining patentability of an invention in respect of a claim, the claim must be construed to determine the technical features of the invention, i.e. the features which contribute to the technical character of the invention."
"whether the contribution cannot be characterised as "technical"."
"It plainly requires one to identify "the contribution" (which equates to stage 2 in Aerotel) in order to decide whether that contribution is solely "the excluded subject-matter itself (equating to stage 3 in Aerotel), while emphasising that the contribution must be "technical" (effectively stage 4 in Aerotel). The order in which the stages are dealt with is different, but that should affect neither the applicable principles nor the outcome in any particular case."
"… it seems to me that useful signposts to a relevant technical effect are:
i) whether the claimed technical effect has a technical effect on a process which is carried on outside the computer;
ii) whether the claimed technical effect operates at the level of the architecture of the computer; that is to say whether the effect is produced irrespective of the data being processed or the applications being run;
iii) whether the claimed technical effect results in the computer being made to operate in a new way;
iv) whether there is an increase in the speed or reliability of the computer;
v) whether the perceived problem is overcome by the claimed invention as opposed to merely being circumvented."
"It would be a relevant technical effect if the program made the computer a better computer in the sense of running more efficiently and effectively as a computer."
"The "better computer" cases—of which Symbian is paradigm example—have always been tricky however one approaches this area. The task the program is performing is defined in such a way that everything is going on inside the computer. The task being carried out does not represent something specific and external to the computer and so in a sense there is nothing else going on than the running of a computer program. But when the program solves a technical problem relating to the running of computers generally, one can see that there is scope for a patent. Making computers work better is not excluded by s 1(2)."
i) The claimed invention has a technical effect on a process carried out outside the computer. At one end, it makes the writing of software easier. I do not agree with the judge that this is simply a redistribution of labour. It is a reduction of labour, because once the device is programmed with the claimed invention software writers can use it over and over again. To borrow Mr Burkill's analogy, a multi-touch device which sends all touches to the applications is like a water system with an uncontrolled flow of mains water. The invention consists of the provision of taps. The application designer does not have to design and fit his own taps in order to use the device. All he has to do is to decide whether he wants the taps turned on or off. At the other end, it interacts with the end user who touches the screen. This, too, is a process happening outside the computer.ii) The claimed invention operates at the level of the operating system of the device. It works with any application that it programmed to run on it irrespective of the data processed by the application. It will work just as well with a game as with a currency converter.
iii) I think it doubtful whether the device is made to operate in a new way.
iv) The invention makes the device a better device in the sense of running more efficiently and effectively as a device. It runs more effectively because it is easier to program.
v) The problem identified by the patent is difficulty of programming; and the claimed invention overcomes that perceived problem.
Lord Justice Richards: