Tuesday, September 25, 2007

A Drop of Intelligence II - Making Things Simple

A while ago I wrote an article about how smart applications can improve our lives by taking care of menial and common tasks for us and allowing us to spend more time on the things we actually enjoy doing.

Since lately I have been doing some research of my own on how can we use the AI theories in making practical applications that can act as personal assistants for their users in helping them find information or in doing common repetitive tasks for them, I would like to begin a series of articles in which I am going to share my conclusions and my problems as I progress along with my research.

Today I am going to expose my perspective on why I believe that Artificial Intelligence practices have a small adoption percentage in commercial applications, so without any further due, here's my take on it.

The industry that makes the most use of Artificial Intelligence theories in its applications is the gaming industry. Games have come a long way in AI evolution and some of them use complex techniques like neural networks for machine learning, planning and and adaptive behaviors for their actors (NPCs) to provide great entertainment for the gamers, but even games still have a long way to go in this domain until the experience provided will be more realistic.

So how can the AI techniques evolve taking into consideration the current technological developments and the research invested in this field of Computer Science? I believe that if the AI research would be better promoted to and understood by the developers working on commercial applications today, the field would have a lot to gain in new advancements since if these techniques will start to be adopted in commercial applications and the practical experience will be very valuable to perfecting them. What the AI field really needs is some promotion and some good non-academic books that can be easily assimilated by the masses, and then the experience and the practice of its wide adoption would help in its advancement and growth.

In the following articles I will try to share my experiences and my problems in learning the AI techniques form my perspective. Bear in mind that I also am in the process of learning and understanding the intricacies of this field and any help, experience or ideas that you have or would like to discuss are welcomed, so keep close :).

P.S. I really had a lack of inspiration for the article title, so if you have a better suggestion, do share :).

Monday, September 17, 2007

No iPods on Linux? Why?

There's been a rumor going around that Apple implemented some kind of protection for their new iPods so they could not be used with other synchronizing software. What does this mean? It means Linux users owning an iPod won't be able to synchronize their music since there's no iTunes for Linux and the software available on Linux for this won't work anymore (unless hacked).

What puzzles me is why on hell would Apple go on and do that? Don't they want people using Linux to buy their iPods? Doesn't that bring more profit for them?

This piece of news started some passionate arguments and complaints...I am not going to complain about their decision, after all, the requirements of an iPod are on the box and you always have the choice not to buy it. Still, as a company, wouldn't you be interested to make the requirements list as low as possible? Wouldn't making your product available to more people be more profitable for you?

Some opinions state that it might not be Apple's fault and they may be constraint by the record companies in order to have more control of what's played on the iPod. Even so, I don't think that is a good excuse, why don't they release a Linux version of iTunes? Isn't the money of Linux users just as good as other customer's money?

You might say that in order to support iTunes on Linux, they will need more developers, more developers cost money and in the end the effort might not be worth it or it may rise the prices on iPods. I say that with today's technology there is no excuse for such a thing. I am sure that if they thought about it, they would find a way. Ever heard of portable software? Why not implement iTunes in Java or in Python, after all they are portable and almost ubiquitous...

As I think about this issue more and more, I really cannot find a good explanation as to why Apple would act like this. The only reason coming in my mind would be that they want to keep the ecosystem built around their iPods intact, so if you want and iPod you should buy a Mac also. Well, not everybody wants to buy a Mac or windows in order to own an iPod, this requirement is absurd. I just want to be trendy and own an iPod and not have to spend more than it's price to be able to use it.

It's not that I want to condemn them and the way they run their business, after all they have the right to choose their customers, but if I were running things at Apple, every customer would be important to me, after all more customers = more profit, it's basic business thinking.

Playing for Change