Securing a patent for software you have developed is not easy. A decision by the Supreme Court to invalidate Alice Corp's software patents in 2014 set a precedent that bars patents on software applications based on abstract ideas.
Since the ruling, patent applications for software have been judged on a much higher set of standards. To ensure your application doesn't run into problems, there are five tips you should follow before filing your paperwork with the patent office.
1. Narrow the Claim, But Wow Your Patent Officer
The temptation is often to write a patent application in the broadest terms possible in order to provide the greatest amount of protection. However, the Alice ruling makes very specific and narrow descriptions of software more important than ever. Focus on the tangible functions and benefits your software delivers, and be as detailed as possible. And don't forget the "wow" aspects of your innovation -- what makes your product stand out from the rest?
2. Include All the Necessary Technical Data in the Application
In the past, software developers have remained vague about the technical specifications of their programs. However, to maximize your chances of securing a software patent in the post-Alice era, you need to demonstrate a particular way of achieving a goal using software. Your software should have the ability to perform a completely new process rather than execute an existing process more efficiently. To demonstrate how much work has gone into your program, don't be afraid to go into technical detail about how it works.
3. Demonstrate Why Your Technology Is Needed
Software patent applications that claim to perform tasks more quickly or efficiently than humans have a poor track record of success. You will have to demonstrate that your software does something a human being can't. For instance, performing millions of calculations every second is something no human brain is capable of, so this is something you would definitely want to highlight in your application. You can prove that your software is capable of performing such complex processes by including a few lines of code in the documentation.
4. Describe the Hardware Needed to Accomplish the Same Goal
Once you've demonstrated that your program is capable of doing something a human being can't, you should demonstrate how it is more efficient than using several items of hardware for the same job. A series of servers, storage systems and multiple programs might be needed to manage "logic gates," which are the foundation of all systems that use microprocessors. Demonstrate how your software manipulates these "logic gates" and simplifies the task in question. Rather than having to rely on various programs and items of hardware, your customers should be able to rely solely on your software.
5. Hire a Patent Agent or Attorney
While there are now some semi-automated web tools that allow you to file for provisional patents, they deliver mixed results. The best way to maximize the chances of a successful patent application is to hire a patent agent or specialist attorney. Make sure the person or firm you hire has expertise in your specific area of software programming. This is a nuanced process that is becoming increasingly complex. An unsuccessful initial application could cost you or your business a lot of money. While you might be keen to avoid the cost of hiring a professional, it could save you a significant amount of money in the long term.
Filing for a software patent is not an exact science. However, the more specific and detailed you are about your software's technical data -- and the tasks it performs -- the greater your chances of success will become.