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.