5 ms·
This is the first batch of APIs that my team - the Watson Developer Cloud team - is exposing through IBM BlueMix for everybody to try and use. We have many more
by pesenti 12y ago
This is the first batch of APIs that my team - the Watson Developer Cloud team - is exposing through IBM BlueMix for everybody to try and use. We have many more APIs in the pipeline but we decided to come out quickly with a small set to start with. We are trying get some early feedback from the developer community on what they find useful, what they'd like to see, how the APIs are designed, the quality of the documentation and example code, etc. Comments and questions are very welcome!
- philbarr 12y agoI have some questions: - It says, "During the BETA period, all Watson Services will be available for free on Bluemix." So what are the prices after the beta period? I can't put the time into learning this if it's not viable after the beta. - What is Bluemix? Is it just the "place where all the services are?"
- zrail 12y agoBluemix is IBM's implementation of CloudFoundry, an open-source Heroku-like platform-as-a-service. Presumably they're making this API available as an add-on to Bluemix applications.
- pridkett 12y agoThat's correct. These APIs are some of the many services you can attach to your applications within BlueMix.
- pesenti 12y ago1. Right now we are working on a revenue sharing basis with the start ups that sign up as ecosystem partners (they also have access to more capabilities). http://techcrunch.com/2014/10/07/ibm-sees-salvation-in-watsons-new-york-home/ http://techcrunch.com/2014/10/07/ibm-sees-salvation-in-watso... has a few examples of these start ups and you can sign up here: http://www.ibm.com/smarterplanet/us/en/ibmwatson/ecosystem.html http://www.ibm.com/smarterplanet/us/en/ibmwatson/ecosystem.h.... We will likely come up with a pay-per-call model that's compelling for start ups as well. 2. BlueMix is the IBM PaaS - it has a lot of powerful services beyond Watson - http://bluemix.net http://bluemix.net. It allows you to create and deploy apps in the cloud.
- philbarr 12y agoThis makes it sound like you are really only thinking about specific partners at the moment then? So it's not yet for the masses? Like - I'm not really going to be using this in my next Android / IPhone app any time soon.
- pridkett 12y agoWhile it's not something that you'll have running completely on your mobile device, it's something that you can easily run on the backend server. Fortunately, BlueMix provides lots of very useful services for mobile devices, including automatic crash monitoring, user feedback, and cross platform push services. Feel free to find me on twitter (same name) and I can provide more details.
- virmundi 12y agoPresently IBM's just getting in the space. I was offered a chance to use BlueMix during the closed beta. I didn't for the same reason you mentioned: they didn't have a pricing plan. I too thought, "What's the point of building something if it will be really expensive later?" Fortunately, IBM seems to be reasonable when they came out with pricing. I wouldn't build my company around the beta of Watson, but if you experiment during beta, you could have first mover advantage when the pricing comes out and you find it acceptable.
- pesenti 12y agoOur plan is definitely to allow you to use this on your Android/IPhone app once we are GA.
- trose 12y agoI dont think they were intending for this to go out on production applications just yet. You could just play around with the API in some personal or open source project for now. Whatever pricing plan they come out with should be reasonable.
- mattmanser 12y agoIt's great that you've released the functionality. And you asked, so I hope I don't come across too harsh. I'm looking at your examples, here for example: http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/glimpseapi/index.html http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercl... To make a simple call with the Java example, you've managed to write 372 lines of code. Three hundred and seventy two lines. That's some bad code. There's nothing I can point at and go, that, that's what's wrong, the whole thing just has a lot of code smells. The 'zZz's (what is that DIY escaping all about?). The multiple http calls that should have been abstracted into one function, but aren't. The over commenting. The api structure requiring you to do 3+ calls. The exponential call back time (this is not a good idea, have fun with weird bugs). That you've made your own json objects. That you've used PUT for a pretty tenuous reason. That you've put all the urls in some config file or something, so the code isn't particularly clear at what it's doing. The ruby & javascript are more terse because those languages are, but they aren't that much better. It's often silly little things, like this: '/status?' + querystring.stringify({'jobid':jobid}); Could have been written simply as this: '/status?jobid=' + jobid; There really is no good reason to use 'querystring.stringify' in that instance, it's not user input. The code's simply over-complicated. The code reads like a sysadmin/amateur/uni professor's code, a scripter rather than a professional programmer's. It's like you don't have a senior dev on the team to cast an eye over it and get rid of the excesses. The APIs themselves are not bad, as I mentioned there's the slightly tenuous PUT stuff, the only other annoyance I could see is that you'd have to ping it all the time to see if it's ready. I appreciate why, and you've made the right call in the callback vs ping, simply because so often when hacking setting up a callback would be hell. It's better than a lot, like google or paypal, so it's not all bad. NB: But now I just found this exploring github: https://github.com/Watson-Explorer/wex-wdc-integration-samples/blob/master/wex-ce/BlueMix/concept_expansion_service.rb https://github.com/Watson-Explorer/wex-wdc-integration-sampl... Which at first glance is better code than the examples on the site? Bit odd.
- jsstylos 12y agoFor the jobid example, the stringify is necessary because the jobid returned by the server includes a # symbol. Try the code you suggested and you get the result: "Error: ContextExpansion Error: jobid is in incorrect format."
- phodo 12y agoLooks great! One question: Any plan for additional client libraries / demos beyond java, nodejs, ruby/rails? e.g. - django (python) - flask (python) - obj-c - scala - go * Plug for python - lots of ml / nlp / scientific computing done with using python.
- pesenti 12y agoYes you can use Python with these services and BlueMix. See a tutorial here: http://thoughtsoncloud.com/2014/08/getting-started-python-ibm-bluemix/ http://thoughtsoncloud.com/2014/08/getting-started-python-ib...
- transpy 12y agoWhat you guys do is awesome. I'm interested in machine translation. I know python and NLTK. I have a grasp of statistics, I'm learning everyday more. Will I be able to design a domain-specific machine translation system with Watson?
- pesenti 12y agoYes but it's not yet available. The current service only provides a fixed domain but we will extend the API and provide tools to allow you to specify a custom domain. Offering the ability to domain adapt all these services will be a key differentiator of the Watson services. Stay posted!