How intelligent are the Computers of 2011

True, the computer system Watson, created by IBM beat all human competition in the US reality quiz show Jeopardy! But does it make Watson intelligent – is it an important step towards Singularity? Is it a significant step in the field of AI? Or, is the win meaningless and does not imply anything significant? What is the future of this technology? How far are we from understanding how the brain works?

If you are not familiar with Jeopardy! Then the best place to look is, where else, Wikipedia page. Let me just mention here that the open source community is quiet excited about this win as the software component of Watson relies heavily on open source software – on Apache, Linux, Hadoop…

However, if you want to know how Watson works this is probably the best post – Could Google Play Jeopardy Like IBM’s Watson? – written by Danny Sullivan. Also, here are some thoughts on what Watson can be used for in the future – Envisioning IBM’s Watson computer as a Smartphone app.

Is the core technology inside Watson significantly ahead of the others?

How well does it compare with Google? What about Microsoft? What about the semantic question answer engine – Wolfram? Here is an interesting post by Stephen Wolfram – Jeopardy, IBM, and Wolfram|Alpha.

To quote from the post:

… just feeding Jeopardy clues into it, and seeing what documents get matched. Well, just for fun, we tried that. We sampled randomly from the 200,000 or so Jeopardy clues that have been aired. Then we took each clue and fed it as input (without quotes) to a search engine. Then we looked at the search engine result page, and (a) saw how frequently the correct Jeopardy answer appeared somewhere in the titles or text snippets on the page, and (b) saw how frequently it appeared in the top document returned by the search engine…”

There is no way to tell if Watson is a giant leap forward or it is so tailored for Jeopardy! that it is of not much direct use elsewhere. The opinion in the blogosphere is divided. Personally, I find it difficult to believe that even if Google does not have the technology today, it will not take them more than 6-9 months to match or exceed it.

Why has Google not attempted something like this?

Here are the possibilities:

  1. The technology is indeed very advanced and Google cannot easily replicate it.
  2. Wait for few months and Google will have something similar in place.
  3. Google does not perceive any business value for doing this – after all it is already close to 70% accurate in retrieving the correct page.
  4. The extra computation needed to arrive at the answer will be too much and the speed of response will suffer.
  5. Giving an answer instead of the links will adversely affect the advertisement revenue.
  6. The technology inside Watson is too Jeopardy! specific and cannot be easily generalized.

Take your pick!

Is IBM only interested in selling hardware?

This TED talk gives you some insight into Watson. The participants are Steven Baker (author of Final Jeopardy!), Kerrie Holley (IBM Fellow looking for Watson’s next job), Dr. Herbert Chase (Columbia University Professor of Clinical Medicine) and Dr. David Ferrucci (IBM Watson Principal Investigator).

Dr. David Ferrucci talked sense. According to him about 20-25 people worked for 4 years to bring Watson to what it is today. The answer I really like was his reply to the question “Does Watson think?” His response was “Do submarines swim?”

However, I cannot say the same for what Kerrie Holley said. He was asked what “Watson can be used for?” His response left me speechless! How can somebody who is in charge of looking for Watson’s next job make such naïve statements? How can he be so misinformed about what Watson is? Read it for yourself – I have transcribed his reply here:

Business Analytics is a huge area. Improving decision making … making fact based decision … evidence based decision. This is something that C-suite executives are going to love. If you think what PCs have done to enable and make them more effective … think about what internet has done. I think this represents the next stage of evolution because suddenly they have the C-suite assistant and they can begin to ask questions like if I do this if I do that what impact it is going to have on my profit, what impact will it have on my revenue? If my company is under siege financially and I have to make some cuts in my marketing budget, do I cut what I spend on TV, do I cut the print. Suddenly I can ask these questions … not only do I get an answer and probability but also get the reason why the answer of why those answers are of 80% probability or 70%. So that is an example of C-suite assistant … this is going to be a powerful tool … based on analytics … based on all the technologies you see in Watson. The brilliance of human is the ability to ask questions … that is what the machine does not do right now … so it is a great complement.

If you look at city planners who are planning traffic who are dealing with congestion … dealing with weather … dealing with accidents … this could provide another tool to planners to make better decision dynamic real-time decisions of routing traffic. Look at it as a navigator on steroid … whether it is a smart phone … whether it is a navigator on a car … we also have this capability as well where we can ask questions about we need to get here in 5 minutes … there is an accident in a road right now … what do you recommend? I think that is a powerful capability as well. Also from a travel and entertainment standpoint our ability … may be I am stuck in Alaska and I need to get into London … whatever the situation is … now use this technology to get me out of the bind … but may be to recreationally to help me plan the most optimum trip based on my preferences … based on what is happening in the world.

Give me a break! Is Watson an analytics engine? Is it a GIS software?

IBM says the technology is available starting at a million dollar which includes hardware and software. Details are not yet available on what you will actually get for this money – let us wait and see. I am also curious to know if the push for healthcare industry is because of the federal spending.

Also will there be a new dot on Gartner Hype Cycle for Emerging Technologies next year?

BTW: This is what IBM says about Watson

Advertisements

Android – Can you afford to ignore it

Yes – I suppose you can ignore Android if you only work on the server side and have nothing to do with how user interacts with your application or you have taken a vow not to touch anything that has Java in it. Otherwise it may not be very wise to ignore Android. Did you know that…

  1. In Q1 2010, Android based phones outsold iPhone in US – Report from OSnews
  2. Google TV which is scheduled for launch on fall 2010 will run on Android – Announcement on Google Blog

So What?

Till about 2 years back most computing devices which end users used were PCs or laptops running some version of Windows (I am sorry Mac or Linux users – you were in small minority). Release of iPhone changed all that and created a new category of user interface device called smart phones. There followed a rush of application which would run exclusively on iPhone. Though, mobile devices and mobile applications were around for some time it had not been popular.

Now the release of iPad is threatening to create another new segment of user interface device called tablets. Again, tablets were around for a long time but it never really took off. It looks like iPod will change that. Google TV and a possible revamped Apple TV is likely to create yet another class of user interface device.

In short, the types of devices through which users are interacting with computer are proliferation. This trend is likely to continue and we may see more types of devices coming up in the future.

And, they will all be programmable and they will all have an operating system. What will that operating system be? Unless it is a device from Apple it is very likely to be Android!

Why not Windows?

Windows will remain dominant on PCs and Laptops (not sure about Netbook) but it is very unlikely to do so for these newer forms of devices. Look at these facts:

  • For smart phone, windows have not worked
    • It has less than 20% market share and it is shrinking – about 2% per quarter
    • On the other hand Android share is growing rapidly – about 2% per quarter
  • For Tablets, windows have not been very successful
    • HP Hurricane Tablet will probably use Web O/S (result of Palm acquisition)
    • Dell Streak Tablets will be Android based
  • Google TV will run on Android

So … not much of windows … lots on Android!

Have I forgotten Apple?

Though iPad has sold more than 2 million in such a short time and iPhone has managed around 28% smart phone market share in US – Apple can never dominate the market the way Windows did.

Not unless all other smart phone manufacturers (Nokia, Blackberry, Motorola, HTC, Samsung, LG, Sony-Ericson …) go out of mobile business. Somehow, I don’t see that happening!

Why can we not stick to browser based thin client applications?

Don’t forget that we are having so many types of devices because each has some distinct feature and set them apart from the rest. Obviously, user will definitely like the applications to leverage them. Browser based applications, unfortunately, cannot take advantage of the native power of any of these devices.

Sure, some of the applications running on these devices would be browser based. But, the new generation of applications will need to take advantage of the unique power of the device.

As of March 2010, Android App Store market had 35,000 applications and the number has been doubling in about 3 month’s time.

What is special about Android?

Android is open source operating system specifically designed for touch phones. Though Symbian, promoted by Nokia, is also open source it was designed for previous generation of mobile phones. It has been steadily losing market share. Palm Web O/S is powerful but it is proprietary. The current owner HP intends to use it for its tablet.

Report from OSnews (see the diagram above) indicate that Android devices have just started outselling iPhone. Even Gartner predicts that Android will grab No. 2 spot by 2012 in smart phone market.

Google benefits by openness!

Google wants open access and open standard. It is to their advantage. That is how their business works. They will strive to make Android as open as possible.

Open Source applications becomes stable and more powerful over a period of time. There are so many examples. Not only do you have Linux, you have Apache web server, MySQL database, Mozilla browser, Eclipse IDE … and many more.

You will see more and more powerful and robust Android cropping up all over place.

What if you are…

  • …a specialist in .Net
  • …only into applications which runs on a browser

You should still get to understand Android because the front end for your next application may be an Android device. Such device would not run Windows and browsers would not allow you to access the native device features of that device.

2 Things You Need to Know About Open Source Licensing

If you are familiar with different types of open source licenses – you can skip this post. Otherwise – read on …

There are 2 importing facts that you need to keep in mind when you use free software. No, I am not talking about talking issues like reliability, support, TOC etc. which gets discussed in the context of open source vs. proprietary debate. I am talking about the possible complications that may arise from the licensing terms of the free software.

  1. If you are creating commercial software and include open source code, then the some clauses in the license may compel you to make your software open source.
  2. If you include certain class of freeware as a part of your solution, you may still have to pay a license fee.

Before I answer the question “how to find out” if such problem exist with specific free software which you are planning to use – let me give a brief overview of the 4 types of licensing terms that are very common.

There are 2 characteristics which are common to all of them:

  • Self-perpetuating nature of the licenses: The license require you to include the copyright notice if are distributing the software as is or in a modified form.
  • Author has no liability: The software is provided to you in “as is” condition without warranty or liability.

Though each license may be different, they fall into 4 broad categories. Here is a gist:

  • Exclusively your headache license:
    • For this type of license very few limits are imposed on what you can do with the software. You can modify the software and also include them in your commercial product.
    • MIT License (ex. Ruby on Rails) is probably the first of this type of license.
    • BSD license (ex. BSD Unix) was designed to protect the reputation of the creator as any modification to software need to be clearly indicated and the name of the creator cannot be used for promotion as modified work.
    • Apache License also grants free use of any patented work contained in the software.
  • Down with proprietary software – long live free and open source license:
    • These are categorized under Copyleft License
      = “…the practice of using copyright law to offer the right to distribute copies and modified versions of a work and requiring that the same rights be preserved in modified versions of the work…” – Wikipedia
    • The basic principle is that you have free access to the software and you need to provide free access to any software which is a modified version. You also need to give free access to everybody on any software that you create using these types of software.
    • GPL – GNU General Public License (ex. Linux kernel) most common form of this type of license. If you are looking to create proprietary works, the entire universe of GPL-licensed software is closed off to you.
    • LGPL – GNU Lesser General Public License (ex. Mozilla) is slightly less restrictive allows to link to libraries without having to make your software also as LGPL – however, the libraries cannot be shipped together.
    • Creative Commons License or ShareAlike Licensee is normally used for work other than software.
  • Carrot and stick license:
    • This type is also known as Dual licensing where a limited version of the software is made available through one the above mentioned license – this version is known as community edition.
    • The full version of the software is proprietary and priced.
    • Eclipse, for example is available under EPL – Eclipse Public License. On the other hand IBM-Rational tools which are a derivative from Eclipse are proprietary and not free.
  • I want to make money if you do so license:
    • The author makes the software available free for non-commercial use. For commercial use you will need a license.
    • This is not an open source license – the source code may not be available.
    • The usage may be covered under a Binary Software License Agreement (ex – Scieneer Common Lisp).

How do these licenses get enforced?

If you are wondering about the legal validity of these licenses then rest assured that there is a simple explanation of how it gets enforced. It happens because of the existence of the copyright law.

Whenever you write any software you become the copyright owner. There is no need for you to go through any legal formality. Therefore, unless you allow others the use of your software through specific license you have the protection of the copyright law. So, if somebody refuses to recognize your license they are bound by the copyright law and anyway cannot use or modify your software. So, only way they can freely use your software is by agreeing to your licensing terms.

Neat – isn’t it?

How to find out if there is a problem?

Here are some more reference materials

If you have the time, patience and need then there is enough material available freely on the internet to answer practically any questions you may have. Good place to start is, as always, Wikipedia. You can even get access to some online books on this subject:

If you are searching for a particular class of open source software the following may be a good place to start

Should you open source your software?

Here is an interesting discussion on this – When you should open-source your internal apps

Apache Software Foundation Completes 10 Year

Apache Software Foundation (ASF) was founded in June 1999. eWeek.com has published a presentation highlighting top 11 Apache projects and also 10 projects for the future.

Here is the list:

11 Apache Technologies that Have Changed Computing in the Last 10 Years

10 Apache Technologies that Will Change Computing in the Next 10 Years

1.

Apache HTTP Server

 

1.

Hadoop

For building scalable

2.

Tomcat

Application Server

2.

CouchDB

Document oriented database

3.

Lucene

Text search engine library

3.

Directory Server

 

4.

Struts

Web application framework

4.

Maven

Project management & comprehension tool

5.

Geronimo

Application server build from other open source components

5.

Jackrabbit

Content repository

6.

Ant

Tool for automating software build process

6.

Harmony

Implementation of Java SE

7.

Cocoon

Spring based web application framework

7.

ServiceMix

ESB

8.

SpamAssassin

For email spam filtering

8.

MINA

Framework for developing network application

9.

Axis

SOAP implementation

9.

Roller

Multiuser blog server

10.

Logging Services

Log4J etc.

10.

Sling

Content management framework

11.

Commons

Collection of open source reusable Java components

     

 

Justin James has also published his discussion with Apache Software Foundation (ASF) President Justin Erenkrantz and Executive Vice President Sander Striker. This post will give you fair insight of what is happening inside Apache.

Hadoop is the project to watch out for because it is inspired by Google Map Reduce and Big Table.

Here are the links:

Has the time for Open Source ERP come?

For some time now I have been tracking the change in popularity of the top open source platform and I noticed a curious trend. At the beginning of the year ADempiere ERP was the top open source project. Looking down the list you would have found PostBooks at 8, Openbravo ERP at 9, webERP at 17 and OrangeHRM at 21. At that time it was mostly on my unconscious mind and had not “realized” it. But slowly the trend became more pronounced. Five of the top 7 open source projects are ERP. This is how it stands –order in which it is ranked in Source Forge:

  1. PostBooks
  2. Openbravo ERP
  3. ADempiere ERP
  4. – (others)
  5. webERP
  6. – (others)
  7. OrangeHRM

I decided to check on what other analysts have to say on this and found 2 posts which echoed similar thought.

Here is another interesting post which I came across today – “Stripped-down” open source ESBs still solid middleware engines

Open source seems to be everywhere!

Here is an interesting exercise which you can try:

  1. Think of top 20 (or top 50) software product brand – do not count versions or variant separately – example Windows OS is one
  2. Classify them as Proprietary vs. Open Source
  3. Also Classify them as Last Millennium vs. This Millennium – Use the first popular release as the date – example Windows 3.0 (1990)
  4. Fill the names in the following 4 quadrants – I have put few names (my dates may be debatable) – you can fill-up the rest

What do you see?