Tuesday, 31 August 2010

A Little Mathematics For Independence Day






This year (2010) 17 African countries will mark their 50 years of independence from colonial rule. Many people especially in Nigeria think there is nothing much to celebrate. Some go on to call Nigeria names like "fool at fifty". I am not going to argue for or against that point of view but I will try to make a comparison of Nigeria with the United States and see whether we have made any progress in the last fifty years. I picked the U.S.A because people often cite examples with the United States when trying to make a point about how backward we are.

The United States became independent in 1776, that is 234 years ago. If we are to assume both Nigeria and the U.S are human beings and the U.S to be an adult of 40 years old then how old will Nigeria be in comparison.
Using simple mathematics we can apply the following formula

50/234 = x/40

where x is Nigeria's age if it were human.

x =8.54 years

So Nigeria is only an 8 year old child compared to the 40 year old America. For a child of that age, I think we've not done too bad.

Friday, 27 August 2010

Dealing With Piracy








I was reading an article about Selling Software In China and came across the following statement under the topic "Dealing With Piracy";

"Actually “Dealing with piracy” is a misleading title, because in reality there is no way to deal with piracy. People will crack, copy and use your software as they wish, and they will not even feel guilty about it. Again, let’s not judge, but accept the fact that piracy is simply part of the culture (for some it is piracy, for others it is just sharing) Instead of talking about code scramblers and licensing keys, let me offer here a contrarian (perhaps even controversial) point of view, in the wisdom of “if you can’t fight them, join them”. You should consider yourself lucky if your software gets pirated, because that means that it got traction. For every pirated software there is always a happy user behind it (after all, they chose to pirate your software, and not your competitor’s), and if this user convinces their employer to use your software, then there is a good chance that these companies will be your future clients."

This statement makes a lot of sense to me. Instead of looking at piracy from the constant negative point of view why don't we try to be innovative and tactically deal with, and profit from it. For example, companies like Oracle and Microsoft have made some money in Nigeria because of piracy. The easy availability of pirated copies of their software gets a lot of users for them and these users end up paying for the certifications offered by these companies. Imagine a piracy free Nigeria where users only have access to legitimate copies of these software, definitely there will be very little or no users and almost zero dollars generated from the certifications.

I am not saying piracy is good, but if you can't get through it why not get around it.

Thursday, 29 July 2010

Webification Part 2















By now it is obvious that the web 2.0 revolution will be hinged on some particular technologies. The most important of which are JavaScript and HTML5. These technologies are all available today in most modern browsers and have started to prove that we can build desktop like applications in the browsers. But there is a flip side to the in-browser web 2.0 revolution, what happens if these technologies were made available outside the browser. What happens if modern desktop environments support JavaScript, CSS and HTML5 out of the box? What happens if web 2.0 is brought out of the browser unto the desktop instead of squeezing the desktop into the browser.

Imagine designing your desktop application GUI with HTML and CSS and getting your desktop OS to interpret JavaScript outside the browser. That way web applications can run directly on the desktop. That way all web developers automatically become desktop developers without requiring any additional skills. That way, the line between desktop application development and web application development disappears. The same can also be done on mobile operating systems. Then the dream of write once run everywhere will finally be achieved and above all it will be achieved on open standards.

Imagine having a desktop shortcut that downloads and starts a JavaScript application and runs it natively without requiring any changes. That is the future of software I envisage. The good news is that future doesn't seems to be very far away.

GNOME 3 desktop has a built-in JavaScript interpreter and also supports theming with CSS. The default text editor GEdit allows on-line real time collaboration. The default note taking application let's you drop notes into the instant messaging application allowing easy note sharing.

That may not exactly be the future I imagine, but it's a huge step in the right direction. The future will be such that you can't draw a clear line separating web, desktop and mobile applications.

And that future is almost here.

Monday, 26 July 2010

Webification Part 1









I've blogged before about my view on the future of software development. I argued that there will be a blurring of the line dividing web application development and native/desktop application development. I clearly disagreed with the argument that everything is going to move to the web. One of my key arguments was that the web was originally a presentation or publishing platform, so hacking it into a processing platform just won't be enough.

But a lot has been happening in the web space. HTML5 looks like it's going to change the game and JavaScript just keeps getting faster in all major browsers. Tools like GWT make it easy to write client side web applications using Java and VisualWebGui allows you to do the same with .NET languages.

Clearly Google is one company that is really pushing for the migration to the web. They have created a market place for web applications and have supported HTML5 on their chrome browser and on android. Given the financial and cerebral power of Google, you can bet they have the capacity to make a huge impact.

So is it time for the Webification of all applications? My guess is still no. Google itself is still actively writing desktop applications like Google desktop search and Google earth desktop client. This is because they know that an all out migration to web still doesn't look feasible.

Obviously there will be more and more web applications written than before, but that doesn't mean all applications will be moved to the web. Google knows that and that is why applications targeting android are written with Java to target the android virtual machine without any JavaScript getting involved.

Saturday, 17 July 2010

Nigerian Internet Revolutionaries







By Internet revolutionaries I am not referring to those people that brought about the Internet revolution but to those people that think they can bring a revolution using the Internet. Many times you come across them in forums or see their comments on blogs and news sites. They talk about how bad things are in Nigeria and how frustrated they are and how very soon those on top will pay for everything they owe.

The ones I am very familiar with are typically found on the political section of Nairaland or commenting to articles on 234next.

First of all, I disagree with their idea of a violent revolution being the solution to our problems in Nigeria. The solution should be built from the ground up and not the other way round.
The solution starts from you, what have you done lately to make things better. Have you stopped shunting in queues? Have you managed to fill that pot hole on the road in your neighborhood? Have you stopped that guy dumping refuse by the roadside. No I don't think so, because all those things happen in the real world and not in cyberspace. To get to the real world, you have to leave the coziness of your room or office and get out to make a change.

But I forgot, just getting outside is not enough because the greater number of the revolutionaries have left the country and plan to come back only when things get better.

Definitely the revolution will come, it will not involve shedding blood but individual efforts coming together to build a better system. But the Internet revolutionaries are going to miss it. They will miss it because it will not be fun as they imagined. They will miss it because they can't risk leaving facebook , twitter or Nairaland for so long as five minutes.

But they will read about the revolution, in fact, they have been reading about it because the real revolutionaries also use technology, but they don't call for bloodshed. They use technology to create positive change. And after adventures in the real world, some come to cyberspace and tell their stories in blogs and forums. They just know that you don't tweet a revolution.

So. What have you done for Nigeria lately?

Friday, 16 July 2010

10 Myths About Linux















I have been using Linux alongside Windows as a dual boot setup before deciding to migrate fully to Linux. This decision was prompted not only by the fact that I got tired of managing viruses but also because Linux has evolved to be an easier platform to use. Now the problem I face is when Windows users see me using Linux as my main OS. To my surprise some of them feel offended and often ask why I chose to use an OS that is not user friendly. The interesting thing is that most of them are people that have never used any non-Microsoft operating system. My question is, if you've never tasted a fruit how would you know whether it's sweet, sour or bitter? In reality most of these people have believed and often propagated myths they have heard and believed about Linux. I list ten of such myths and answers for those that believe them.

1- On Linux, you have to use the command line: Nope, you don't have to. Linux have several mature graphical environments that have been found to be more usable than the Windows desktop. Ever heard of GNOME or K.D.E ?

2- Linux is strictly for geeks: The One Laptop Per Child project uses Linux and targets kids and not geeks. Most of the target children have never used a computer before in their lives.

3- It's only good for servers: No, there are many distributions for desktops. One of the most popular is Ubuntu.

4- Linux is safe and virus free because it's not widely used: It's safe because it's well designed and viruses will find it difficult to cause much harm.

5- Hardware support is poor: Every printer I have plugged into my Linux system has worked right away without requiring any driver installation. The only time I installed a driver is to get a certain scanner working.

6- It's Insecure because the source code is available: This argument is caused by ignorance of software building process. Some people think that the Linux source code is available in it's raw form on every Linux system and mistakingly changing a line or a dot will render the system useless. Wrong, the code is built into a binary form for it to run.

7- Free means bad for business: It has fetched RedHat $653 million in 2009. It provides your business good software at no monetary cost.

8- Few applications are available for Linux: Thousands of software are available and a great number of them free of charge.

9- Poor support, hackers and hobbyist are in charge: If you want paid support, then companies like RedHat, Canonical, Novell, Oracle and many more are there for you. Those names don't sound like hobbyists' names.

10- Poor quality because it's developed by amateurs and hackers working across the globe: The open and distributed nature of Linux development means more eyes are there to spot problems and more brains are there to contribute great ideas.

So, don't make any assumption on any software whether proprietary or open source. Get a first hand experience with it first instead of just believing the myths.

Monday, 17 May 2010

Does a Startup Have To Be a DotCom ?

I find it really interesting to watch the activities of several technology startup companies across Africa through many blogs that pay attention to such companies. One trend I notice is that almost everyone talking about startups in Africa is basically talking about on-line businesses. The moment you hear "startup" it's almost certain you will hear "web 2.0" or "dotcom" in the same discussion. I think there is more to tech startups than just web based businesses. Some of the technology businesses that changed the course of history were not web oriented. Agreed Google is a glaring example of an excellent web oriented business but how many Googles do we plan to create locally? Microsoft which is the largest software company in the world is still trying to get it's web strategy right. I am not saying that web startups shouldn't be encouraged but let us not forget that startups do not really have to be dotcoms. In fact very few dotcoms are able to solve real world business challenges in Africa. Let us promote the idea of tech startups in general and not limit ourselves to dotcoms.