Writing software is easy, but writing good software is very difficult

By Gene Quinn
February 26, 2015

Fatih Ozluturk stands in front of his numerous patent plaques.

Fatih Ozluturk stands in front of his numerous patent plaques.

On January 20, 2015, I interviewed Fatih Ozluturk, a prolific inventor who has close to 200 patents to his credit and a similar number of patent applications still pending. His inventions have been licensed by every major cellular OEM, and have created over $1 billion in licensing revenue.

Today Ozluturk continues as an inventor himself, but he is also now an investor and mentor to start-up companies in New York City, particularly software related start-ups. In part 1 of our interview we discussed the importance of filing provisional patent applications. In part 2, which appears below, we discuss the importance of treating software development as an engineering project. He succinctly explains that it is easy to write software code, but very difficult to write good code that is useful, scalable and secure.

Without further ado, here is the finale of my interview with Fatih Ozluturk.

 

OZLUTURK: I’ve developed some of my own software and I have started two software companies over the last few years actually. It’s inevitable that you get into building some of your own code. So what I’m going to say is not as a spectator but as a software entrepreneur as well. A lot of companies build things very quickly because of the need to get to the market quickly, and if they are successful enough to raise money, they sit down and rebuild it properly the second time. Part of the reason for this is the modularity of software tools. You can plug things together and create complicated platforms. This way you develop quickly although the code may not be production quality. This methodology is great for testing ideas but when it is time to build something that is product quality you cannot cut corners and you cannot slap things together.

New software libraries are introduced time-to-time and popular software stacks of the day change frequently. That’s why there are challenges in maintaining code that’s been created using libraries that may not be supported in the future. I don’t want to fault software entrepreneurs too much for this because I know they’re under time pressure and they want to build and test one idea quickly and then move on to test another idea. But in the process of doing this I think it is an extremely good practice, and a necessity, to draw state diagrams, flowcharts, and message diagrams. Draw the general workings of what you’re building in a descriptive way. Because if you can’t describe it to yourself and to your teammates in a clear way how are you going to describe it to your customers and let alone how are you going to describe it in a patent application. So the importance of flowcharts as you mentioned especially for software applications is huge. And it doesn’t have to be such a demanding process.

I’ll give you a quick example. Myself and a few of us actually got together and participated in a hackathon in New York City a couple of years ago. Typical rules of these hackathons is that you basically pick a product and build it over a weekend. You start on a Saturday, work overnight, and Sunday afternoon basically the products are shown and judged and there are winners and losers. We brainstormed and came up with a product concept, and one of the coders in our team stayed up and built our product overnight. In the morning when we looked at it it looked very good. To me it looked like the type of thing that we want to protect before we actually show it to the rest of the participants. But we had only about an hour and a half. So I took all of the hand drawings we had the night before, took pictures of them with my smartphone, then we put together a few PowerPoint slides. I took a pdf copy of those slides and also added screen shots of the app that was built overnight. We also had hand drawn flowcharts of how this was going to work, where the server was, and how we were going to access it, what the API looked like and a description of the data structures. I made a pdf copy of all of those and wrote up a two, three page text to tie it together. Finally I just went on the USPTO electronic filing system and filed a provisional patent application. That provisional application was prepared in an hour and a half. By the time we got up to present our product to the audience, I could say that it was patent pending.

I’m giving this example in case there are entrepreneurs reading this who believe they don’t have the time to prepare and file a provisional application. It is a false. There is always enough time if you know how to put it together and if you’re methodical in generating flowcharts as you pointed out. Since then I put together a couple of page template and when people ask me about how to get started with a provisional application, I send them the template. I find that a lot of entrepreneurs are able to do their own provisional patent applications pretty well. And like you say there are other kits for $99 and they can use those. As a matter of fact, one of the software products that I’m building right now is a patent search and analysis tool and within it there is an automatic provisional patent application generation capability. The tool is called Patentory and it is something that we use in our work at Soryn as well.


Do You Have a New Invention Idea?
CLICK HERE to Submit your Invention. 100% Confidential. No Obligation.

QUINN: That’s what I’ve always encouraged people to do, at least at the frontend do as much of the work as you possibly can yourself. Whether it be a patent search, whether it be creating at least a first draft of your provisional application or what have you because, yeah, you can run out and hire an attorney right off the bat and that’s fine and good but you know a lot of people particularly in the startup world are bootstrapping and you have to come up with ways to move forward responsibly without compromising rights to the greatest extent possible. And I find that the people in the software area that complain that well, I haven’t got time to do this, one, they either don’t really understand what they could accomplish and what they could do. Or, two, more likely is that they just started coding and they didn’t do the things that you mentioned about trying to work through to figure out the flow to create the notes, to create the data structures and that point if all you’ve done is just started coding without much thought than it can become very daunting to reverse engineer that into a patent application.

OZLUTURK: Very true. I see hundreds of companies every year that come and go. I can assure everyone that no matter how good the idea is if it’s slapped together poorly, if it is bad software, it just won’t work, it won’t get funded, it won’t grow, it’s not going to be successful. If you want your code to turn into a commercial product, you need to follow good coding practices. There is nothing that replaces good software engineering. And if you’re doing the things that you need to do as a good developer whether software or otherwise, then you always generate the information that you need for the patent application. If you think about building a hardware product you would never go to a manufacturing outfit and ask them to build you something without having board layouts or specs or some sort of a schematic, right?

QUINN: Yes.

OZLUTURK: You would never do that. It would never work. It is really no different for software. If you start off without proper planning, flow diagrams, definition of interfaces and the APIs and any without understanding the plugins you plan to use, there is no way that the end product is going to be successful. And obviously you’re not going to have enough information to put in your patent application either. So I’d say for all good software engineers as well as hardware engineers for that matter, if they’re following proper engineering practices, they already have the information they need for the patent application. And then when they test their idea, which may lead to funding or customer traction over the 12 months that the provisional application affords you, you could decide whether you want to spend the additional let’s say $5K to $10K for the non-provisional application. That’s why I say that provisional applications are like chicken soup for the entrepreneur. You cannot go wrong by filing.

QUINN: I love how you say that. It’s chicken soup for the entrepreneur. And it really is. I preach the engineering philosophy is what you need to create your software properly. You can’t just write it. And if you’ve gone through the engineering process then you’ve got all that information there, and if you haven’t it’s just not going to be production quality. When I say that people will sometimes sneer and say, oh, yeah, well, I’m a genius I can do this I don’t really need to create a design document. And that’s fine. If you didn’t do any of the engineering processes and you wound up with something that was worthwhile you were extraordinarily lucky, but I can guarantee you that you will not have something that is scalable, you will not have something that is maintainable and in today’s day and age with identity theft and data breech issues that becomes a very costly endeavor. You must stay on top of it and if you haven’t stopped and thought about how to engineer it and all you did was create it you’re just never going to be able to stay in front of those people who are going to want to break it and break into it.

OZLUTURK: Writing software is easy but writing good software is very difficult. Security is one thing you mentioned. And the other concern is the fact that they have to operate on multiple platforms especially for mobile applications. It has to work on iOS, or android, and perhaps as a web application, and you have to worry about security on all of those platforms especially if you’re taking personal information, if you are processing payments. Also you have to worry about whether your web application is behaving correctly in all current versions of popular browsers. So there is so much to think about.

I do agree with you on all those accounts. It is consistent with my own experience as an occasional software developer. At the end of the day patents are business assets just like the code you wrote and the product that you developed. Ultimately a patent is attractive to VCs also, because it’s a collateral even if you go under. They still have the patent portfolio to monetize. And it is good for you because it creates business opportunities down the road whether it’s in cross licensing, whether it is in protecting your own products and services, whether it is in straight out divesting of your portfolio to raise cash. It creates options. But if you don’t have the portfolio you cannot go back and rewrite it, obviously.

QUINN: Right.

OZLUTURK: So for all of those reasons, if you’re doing proper engineering you have the information you need in order to prepare a provisional application and file it. Then one needs to make sure patent prosecution is done correctly especially since the patent system is becoming a little more specialized, more complicated for a lot of lay people. At Soryn time to time we have inventors coming to us that have a great technology or product and they’ve been filing and prosecuting patents for a number of years. They have a small portfolio. But when you take a closer look at the issued claims you see that the patents have been prosecuted just to get something to issue. Obviously having issued patents is good but having proper claims in those patents is really the key. That’s why we always stress doing it right from the beginning because if you show up with a portfolio that needs a lot of rehabilitation many years down the road, if it’s not covering what you think it is covering, it may be too late. So I would say our additional advice to companies is to have a portfolio strategy suitable for your situation and prosecute patents accordingly. Just so you don’t get stuck down the road with a patent portfolio that is not a valuable business asset.

QUINN: Right. Well, hopefully people will follow that advice more than they have in an odd way with the patent market collapsing and then the Alice decision I think a lot more creators and startups have become keenly aware of the importance of the patent system and hopefully that bodes well over time. And like you said earlier, I agree that the law is going to change. We know that for sure. The law in this area never stays the same. And by the time you get prosecution in these areas the law may have changed once or maybe even twice. So if you think you’ve got something worthwhile it’s now or never in the first to file world.

OZLUTURK: Absolutely. It is good that the US system is in line with the rest of the world now. It makes it a little more uniform and easier to grasp and explain for everyone. However, it puts a lot of small companies at a disadvantage. Because a lot of small companies are working hard to build their products with scarce resources and get them out into the market. They don’t have internal IP departments at their disposal to collect the inventions and properly file patent applications without losing time. They don’t have that luxury. I would put most companies up to 100 people size in that bucket. Those guys are all at a disadvantage compared to a large company that has an internal IP department that’s probably a hundred people just by itself. Right? And so it requires a certain level of awareness and a certain level of prioritization and diligence in attending to the IP matters and for a lot of these small guys it may also mean that they need to partner up with outside expertise to develop the right patent strategy and prosecute patents.

QUINN: Yes. I agree. I really appreciate you taking the time to talk to me about this, Fatih. I think this is going to be good for a lot of startups and entrepreneurs to hear.

OZLUTURK: Absolutely, Gene, I hope so. I hope so. I know a lot of entrepreneurs and inventors follow IPWatchdog as I do, so I’m hoping that there’ll be some nuggets of information that they can take from our conversation and it will give them a starting point. I appreciate you giving importance to this and picking it up at IPWatchdog.

The Author

Gene Quinn

Gene Quinn is a Patent Attorney and Editor and founder of IPWatchdog.com. Gene is also a principal lecturer in the PLI Patent Bar Review Course and an attorney with Widerman Malek. Gene’s specialty is in the area of strategic patent consulting, patent application drafting and patent prosecution. He consults with attorneys facing peculiar procedural issues at the Patent Office, advises investors and executives on patent law changes and pending litigation matters, and works with start-up businesses throughout the United States and around the world, primarily dealing with software and computer related innovations. is admitted to practice law in New Hampshire, is a Registered Patent Attorney and is also admitted to practice before the United States Court of Appeals for the Federal Circuit. CLICK HERE to send Gene a message.

Warning & Disclaimer: The pages, articles and comments on IPWatchdog.com do not constitute legal advice, nor do they create any attorney-client relationship. The articles published express the personal opinion and views of the author and should not be attributed to the author’s employer, clients or the sponsors of IPWatchdog.com. Read more.

Discuss this

There are currently 9 Comments comments.

  1. Simon Elliott February 26, 2015 1:00 pm

    This title’s principle applies in other areas. Combining A+B might seem easy in the abstract, and in hindsight, but the reality is much much harder.

  2. Simon Elliott February 26, 2015 3:39 pm

    Interesting article on how the revolving door in Washington now leads to Silicon Valley rather than Wall Street.
    http://nymag.com/daily/intelligencer/2015/02/jay-carney-takes-revolving-door-to-amazon.html

  3. step back February 26, 2015 4:13 pm

    Simple thoughts are dangerous in the hands of simple minds.

    That tag line scares me: “Writing software is easy (but …)”

    I can easily imagine what the demigods of Mount Olympus are going to do with that one … Not only can a bunch of Silicon Valley coffee shop nerds code Alice over the weekend, but it’s “easy” … and therefore trivial, obvious, and never deserving of a patent. BTW, how do you work this emails thing over the internets? Where is the telegraph key for it?

  4. Simon Elliott February 27, 2015 10:57 am

    The demigods don’t even use email, but have staff to shuttle letters between themselves.

  5. step back February 27, 2015 12:01 pm

    LOL

    That explains the hitching post and all those My Little Ponies lined up in front of Olympus headquarters with the word “Express” emblazoned on their saddles.

  6. Simon Elliott February 27, 2015 3:43 pm

    step back, I’m actually not joking.

  7. Fish Sticks February 28, 2015 6:56 pm

    two of the last four provisional applications which I have inherited and which were prepared by inventors without the help of patent practitioners were not worth the paper they were written on.

  8. step back March 1, 2015 6:49 am

    Simon @6:

    Yes, I know you are not joking.

    The joke is that the ancients of Olympus are too incompetent to know they are incompetent when it comes to matters of modern science and technology.

    The extent of their incompetence is made clear in several of the oral argument tapes as well as the final opinions.

    Take for example Alice (please):

    “The representative method claim in this case recites thefollowing steps: (1)“creating” shadow records for each counterparty to a transaction; (2)“obtaining” start-of-day balances based on the parties’ real-world accounts at exchange institutions; (3)“adjusting” the shadow records as transactions are entered, allowing only those transactions for which the parties have sufficient resources; and (4)issuing irrevocable end-of-day instructions to the exchange institutions to carry out the permitted transactions. See n.2, supra. Petitioner principally contends that the claims are patent eligible because these steps “require a substantial and meaningful role for the computer.” Brief for Petitioner 48. As stipulated, the claimed method requires the use of ***a computer*** to create electronic records,track multiple transactions, and issue simultaneous instructions; ***in other words,*** “[t]he computer is itself the intermediary.” Ibid. (emphasis deleted).
    In light of the foregoing, see supra, at 11–14, the relevant question is whether the claims here do more than ***simply instruct the practitioner*** to implement the abstract idea of intermediated settlement on ***a generic computer.*** They do not. … Taking the claim elements separately, the function performed by ***the computer*** at each step of the process is “[p]urely conventional.”

    These people are simpletons in thinking there is a singular “the computer” or that the purpose of a claim is to “instruct” the [isolated?] practitioner. In other words, these caveat Emperors wear no clothes.

  9. Tomek March 4, 2015 2:03 pm

    truth not only for software. Same thing with design and other areas.