If Watson is so smart, why does it not write my software?

Written by jacobfunch | Published 2016/11/01
Tech Story Tags: ibm-watson | ai | innovation | software-development | machine-learning

TLDRvia the TL;DR App

Hi Watson, can you help me build a web app that allows my friends to sell their handcrafted clothes. Like a marketplace. I don’t want the money, just a fee for each sale. We also need an administration dashboard to edit the products, change pricing, etc.

Have you ever had an idea for a new product but not quite the skills to build it? A few weeks ago I showed a few colleagues some of the modern web development tools.

I found some projects that target my colleagues as an audience. But it’s still a lot of trouble for novices or people who did frontend when CSS was good old CSS . They do programming to add an idea to the world, not to get a computer science degree. Some of the frameworks walk you through the setup, which makes a lot of sense if you understand questions such as “Sass or PostCSS?” and “ES6 or Coffeescript?”

It made me wonder, why do we have to deal with tons and tons of anxiety when I just want to test out a simple high-fidelity prototype? I come across many startups and companies that want to validate their ideas fast. Development can be costly so an alternative is to fake everything, which can give you a good picture but can also be … well … fake.

Who needs a server?

It’s time-consuming to develop an entire infrastructure. Scalability takes time, which is why concepts like Firebase or plug-n-play servers like Heroku and Azure are so popular. AWS used to be mainly for engineers, but now that’s also changing with the Serverless Framework. A project that makes it much easier to spin up Amazon servers. This is what I hope to see more of in the future: easier ways to build your product like a skilled engineer would have done it.

That’s nice, but I think we could be more ambitious. I don’t want to write all my software myself. With Serverless, I’m able to launch products without the normal hassle of setting up servers. However, we still have to write the backend code ourselves. This is where I see a perfect fit for Watson.

IBM Watson is a technology platform that uses natural language processing and machine learning to reveal insights from large amounts of unstructured data. […] a cognitive system enabling a new partnership between people and computers. (http://www.ibm.com/watson/)

What IBM is trying to say here is that Watson is not like your computer that understands a specific kind of data. It’s more like a brainy friend that memorises and stores all kinds of information to make clever decisions. Watson is able to distinguish between different types of information, which is unusual compared to typical computers. By crawling relevant data from many sources, it is able to form hypotheses and test those continuously to narrow down to the most reliable result — data that is produced by humans for other humans to consume. Watson reads similar to humans, it analyses and learns from natural language, and makes informed context-specific decisions. And it’s all available through their SDK’s.

Hi Watson, I have this idea…

A lot of products are simple: Users sign up, maybe through Google or Facebook. They start creating, reading, updating and deleting information. Share it with friends, etc. A good foundation for many concepts. To launch this kind of concept we would need a way to log in, security and a database with the information users create. WebSockets would deliver the data and of course some custom backend logic. The whole package can then be shipped with Serverless to AWS.

Usually you’ll pick your preferred language (if you are a developer), read all the provider and framework specific documentation (just kidding), and then you are ready. But what if this process were simpler — or not even involving you? We just established that Watson is capable of reading the web, just as humans can. So imagine …

Most services and products provide external API’s and well-crafted documentation — at least the cool ones do. Imagine if Watson just found the best stack for you, a package of great libraries, services and a programming language that fit you and the purpose. There’s a ton of examples in almost any language available on Github to start off with. Put that together with good knowledge of available external services, tools and a common understanding of architecture, then you have a good foundation for anyone to work on.

The goal is to have your own developer that could help you with anything when making new digital products. Give advice, write the code that actually makes your product special, making the infrastructure, architecture etc., but the MVP is simpler than that. In the long run, it’s like having a good friend who’s coding instead of eating and sleeping. But in the nearer future it could just be a friend who takes care of the foundation for your product, helps you a bit here and there. A friend that can answer normal stupid questions in your own non-technical language.

So what’s this really about? It’s about my dad, it’s about my friends and family. All the countless times I’ve heard them talk about great ideas. Some have even tested and validated their ideas. But they don’t know how to get the product out there. They can’t afford developers and have no clue where to even begin. They are experts in their areas with deep knowledge of how things can be improved in their businesses.

Realistically speaking though, it is quite difficult to make Watson do any of this in the short term. It’s possible to make machines write code, if you provide it with complete and detailed specifications. Watson doesn’t understand the derivation of our creative specifications. It has no motivation or internal desire to do anything. It reads and understands the world in a human-like way, but that’s when you provide it with very precise instructions. It’s much more complicated to ask Watson to be creative. Watson can help doctors make better decisions and be more efficient, but for now it doesn’t provide answers per se, it gives direction.

You may say that this idea is harder to do than teaching Watson to treat cancer. Maybe that’s right. But Watson can do unlimited things at the same time. So imagine. Just imagine all the crazy, cool, smart and creative new products that we could potentially experience in the future. Products that don’t get to exist today due to the technical barriers. Maybe even products that treat cancer.

Grandads and bus drivers should build apps, too. Everyone has a killer app in them, but not everyone is a computer scientist. And that includes you, the next startup founder.


Published by HackerNoon on 2016/11/01