IBM Watson™ is a technology platform that uses natural language processing and machine learning to reveal insights from large amounts of unstructured data. IBM Watson™ can answer people’s most pressing questions, quickly extract key information from all documents and reveal insights, patterns and relationships across data.
IBM Watson™ reveals insights by analyzing unstructured data (80% of all data today), including news articles, research reports, social media posts and enterprise system data. IBM Watson™ understands complex contexts and question, evaluating all possible meanings. Then, presents insights and solutions, providing supporting evidence and quality of information found.
The Watson Developer Cloud is a library of Watson APIs that you can use to create Powered by Watson apps. From gaining insights from text to analyzing images and video, you can tap into the power of Watson APIs to build cognitive apps.
The Watson Developer Cloud services are organized in four categories:
Gain insights, extract value, and learn more from any written content. For instance:
Transform your interactions and applications using speech:
IBM Watson™ isn’t just sound or text. It can do many interesting things for your images:
Harness your big data and simplify the complex with Watson Data Insight services:
Each Watson service provides a Representational State Transfer (REST) API for interacting with the service. Also, SDKs and client libraries in several programming languages, like Node, Java, Python and IOS, are available to leverage the IBM Watson services.
IBM Bluemix™ is the cloud platform in which you assembly, manage and deploy application that you develop with the Watson Developer Cloud services. In IBM Bluemix™ you can use a combination of the most prominent open-source compute technologies to power your apps:
Need ideas to integrate IBM Watson™ capabilities into your application? Check out featured apps that were built using the power of Watson APIs and cognitive technologies. Experiment with existing applications and get code to begin your development journey.
We will provide everything you may need to utilize the IBM Watson™ Services at the Challenge, via IBM Bluemix™. However, we have prepared a Starter Kit to help you understand and prepare your ideas and get familiar with the development and deployment environment.
First things first, sign up for IBM Bluemix™! What is IBM Bluemix™, you ask? It's IBM's simple and flexible cloud development platform. Whether you're looking to build a web app or a mobile backend in the cloud, IBM Bluemix™ has you covered with a variety of runtimes (like Node.js, Python, Ruby on Rails, Java, etc...) and services (like Mobile Push, Cloudant, Twilio, MongoLab, etc...) that we're sure will fit your app's use case.
Since this is a short event, a IBM Bluemix™ 30-day free trial is well suited to anything you're looking to build for now - no up front credit card required either! Once everything is said and done (and you've won, right), you'll have an awesome app running on IBM Bluemix™ and all the enterprise-grade tools at your disposal to take it to the next level.
Take your time to get familiar with the Watson APIs, especially with the functionality they provide. Although you can access the APIs documentation directly in IBM Bluemix™, in the Watson Developer Cloud you can test the services without coding. It also provides additional documentation and examples.
Log in and start playing! Head over to the catalog and spin up a boilerplate or a standalone runtime that works for you. Node.js, Ruby, and Java come standard, but you can bring your own (i.e. Python, PHP, etc...) from the Cloud Foundry community. Be sure to check out all of the different IBM, third party, and community services available in the catalog as well.
Once your boilerplate/runtime is up and running, follow its "getting started" guide to download:
Once you've installed the Cloud Foundry command line tool, open that starter code in the editor of your choice and make a change, any change. Let us guess, you added the text "Hello Hackathon" somewhere in the UI, didn't you?
Once your code is saved (and compiled if you're using Java), cf push back to IBM Bluemix™ using the command line and realize the fruits of your labor, live in the cloud! For more info on pushing your code up to IBM Bluemix™, see the link below.
P.S. You don't always have to use the command line to push your code into IBM Bluemix™, this is just a good place to start. For more options, search the docs for our online editor, IBM Bluemix™ Eclipse Plugin, or just Google any other Cloud Foundry compatible IDE plugins.
Now that you understand the basics, start thinking (if you haven't already) about what you actually want to build at this hackathon!
First ask yourself, who is the end user of my app and what problem(s) am I trying to solve for this persona? Really put yourself in your user's shoes and then write down as many ideas (even crazy ones) as you can that might solve one or more of their problems.
We typically recommend sticky notes for this ideation exercise - especially if you're working with a team.
Silently throw one idea per sticky note up on a wall (time box this to only a few minutes), group them together based on commonalities, notice any trends, and then vote on what makes the most sense. You'll be amazed at how much focus this will bring to you and your team (if you're working on one - alone is cool too)!
We use IBM Design Thinking activities like this one everyday to build user-centric and forward-thinking products like IBM Bluemix™. Click the link below to learn more about IBM Design.
As you further define what you're actually going to build, look through the IBM Bluemix™ catalog again. Determine which services make the most sense for your app. Once you're ready to experiment with or fully implement a service in your app, the IBM Bluemix™ docs will help you further understand what a service does, how it works, and how your app can connect to it.
Teaming up? Need somewhere simple and quick to manage all of your source code? We've got you covered.
Go to the overview pane for any IBM Bluemix™ app you've created and click Add GIT up at the top by the app's url. This will place that initial starter code you edited a few steps back into an IBM GIT repo. It links directly to your app in IBM Bluemix™ (and can auto-deploy to it when the origin is updated). Your source code is kept private by default.
Check out our Dev 2 Dev forum any time you need a bit of extra help. If you ask a question in the forum, tag your post with MixHack so we can track your questions and respond even faster!
Oh, and you can tweet us too!
Ready to dive deeper?! We've curated some useful sample code that will help you really WOW the judges: JAVA
Java Webapp with Cloudant, Watson. Uses Bootstrap and JQuery also. (tutorial)
Java data mining app
CloudTrader - A Java stock trading app
Picture Finder App
Picture Uploader app using a MySQL database
RUBY ON RAILS
Simple Rails app
Rails app using an Arduino
Conference Checkin app
Simple Python App
Python app with Cloudant and a Raspberry Pi
Nutrition Management app using MySQL and PHP and Angular.JS
Simple Getting Started PHP App