I was watching Vint Cerf on the “Google Analyst Day” event and in the earlier part of the talk he said the dumbness of the network was one of the key points for the explosive growth of Internet. Interestingly he mentioned that it was the most obvious choice and it turned out to be a rather good one. Kind of like Occam’s razor :) .

Many people are working on making the network smarter in many ways, especially when it comes to being totally oblivious to the kind of traffic that flows through it. But making the network intelligent is a dual edge sword – on one end improving differentiation for VoIP traffic can make the network better, but then on the other hand, you have companies like Comcast using the same concept to degrade P2P traffic. Yes the net should be neutral but who will decide?

While I love the idea of dumb networks and smart edges, I think the advances in technology will bring about change – whether we use it for good of bad, like any other science, is up to us and the laws we make.

Here is the video, if you like to watch it:

Every engineer appreciates good design. When it come to architecture and design of web applications I have seen very few that have taken scalability into consideration from the very beginning. It is seems like the web application was written for a single user – huge collection used for trivial operations, massive objects maintained in session, the list can go on. Given that I started programming for the desktop, I have been guilt of these design gaffes too.

However, as we move towards applications that may have 1000s of users if not millions we have to look at scalability seriously.

Here are some links that I found useful -

Here is the slide show of the Ruby On rails presentation:

Let me know if you find useful resources that address this issue.

While search and information reterival (IR) have made great strides we all know too well that the results spewed by the search engines mean nothing other than a matching keyword.

Can we add context to search? What we are looking for cannot always be translated into keywords and the same keywords have different meaning. Hard problem.

Syed Yasin, my relative, who works in R&D at Sobha Renaissance has been working on this interesting problem. Some time back they had a press release where they announced LMai. Below is the Video.

It happens too often – I want to delete a file and can’t. I have no easy way of knowing which process is locking it and with all its pretty UI – Vista does not help either.

I was looking for a solution and I found this File Process Unlocker. Really helpful. Why can’t these things be built into the OS?

Web based applications today are promising but still too immature to challenge the performance of desktop applications when it comes to the richness of the User Interface and the diversity of applications.

Apart from the limitations of what the Browser can and cannot do – some of the other major challenges are:

  • Connectivity – For the apps to work, you always need a connection. Further the quality of the quality of the connection dictates what can and cannot be done.
  • Process intensive tasks – Like image processing, data analysis, etc take too long and can make the pages time out and further server scalability a challenge.

Given that Google is so vested in online apps and they have the resources to actually address these problems – They exactly did exactly that with Google Gear. This provides a elegant way to work with web pages offline, thus enabling the web applications to work with limited or no connectivity and at the same time do some processing off line.

It is really exciting as it offers a way to solve may problems that I had in the past.

For example – In an application, I had a mobile user that had limited or no connectivity with a laptop collecting data onsite (survey) that was huge (hi-res pictures and video). To upload it we had a “web version” and a “desktop version”. The desktop version was used on-site and would sync with the server, once the mobile user got back to the “home station”. The home-station was the same laptop with a wired high-speed connection.

The problem with this solution? We had to maintain two separate application. Further we were limited to certain platforms for the desktop application which limited our choice on the server (as we wanted the same developer skill sets).

But that can change with Google Gear and I think they have really addressed very real issue with Webware. How does it solve your problem?

Some time back, I was looking at a demo in TED that talked about a multi-touch interface that allows for a different way to interact with computers. Well it has moved from the concept from Jeff Han lab into a more commercial space with Microsoft launching – “Milan”.  You can watch the video on cnet: Microsoft Milan Video.

Underneath it is a Vista OS with a infra-red multi-sensor that allow the system to recognize more than one touch points. It is too expensive to buy for the home yet, but that will surely change in a few years.

While it has very interesting applications, it would be interesting to see how it can change our interaction with the PC?

One of the most difficult things is not to learn new things, but to unlearn what we already know.

Google has a new beta service* (…lol). It is called TiSP!
Google TiSPThe nanobots travel with exhilarating nano-speed through the sewer system and into your home to perform the installation service, which should be complete within 15 minutes. Note: For your own physical safety and emotional well-being and in consideration of the nanobots’ working conditions, please make absolutely certain that your toilet is unoccupied at the scheduled appointment time.” – Google TiSP
* don’t laugh, good sense of humor does wonders for the outlook of a company! Just follow the link

ted-jeff-han.jpgKiran, a good old friend send me an email with a link to a video on Human Computing Interface (HCI) researcher – Jeff Han, from Courant Institute of Mathematical Sciences, NYU. Watch the video at:
While we strive to achieve better user experience using Web 2.0/Ajax, Windows Vista Aero, Mac Aqua – maybe there is a way to leap frog and stop thinking in terms of the mouse and keyboard. We should be thinking HAL or the computer on the Star Ship Enterprise (don’t tell me StarTrek did not at least arouse your curiosity!)

My take on the connected world is ubiquitous computing – everything is connected and computing devices are a natural extension of your everyday life. When you use something so naturally, that you do not give it a second thought – that is UI perfection. There was an interesting project called “Aura” from Carnegie Mellon that I came across a few years ago. Not sure what the status of the project is now, but you can find out more at:

HCI and wireless networking (my area of research) and a lot more will go into realizing the “true” digital world seamless.

Dream On!

Today I got to listen to Dr. Raj Jain in person, giving a talk on Internet 3.0 (a term he coined). He was was talking about what he though were the problem with today’s Internet and what he thought the new architecture would have – learning from our past experiences.

While there were may interesting aspects he covered under the GINA (Generalized Internetworking Network Architecture) like

  • Seperation of ID and address
  • Virtual seperation of control and data
  • Packet and Circuit swithing at differnt levels of abstraction for QoS. Best of both worlds – circuit and packet switching.
  • Many more, you can see the full talk here.

The most interesting thing was the architecture itself. For most of the issue today we have work around – be it firewalls (port blocking!), shortage of IP (NAT), etc. As he pointed out the foundation should be strong and broad so that implementers and user can then pick and choose what they want to implement or use. The more limited the scope the more we force the network onto the final user. Ideally the network have fundamental concepts that allow users to develop or use any kind of service that they want.. hard problem but solvable. All we need to do is distill the core concepts as building blocks that can then be used any way the user deems fit.

google_notebook.gifAs users of any device, the more we use it the more sophisticated we get. As we use it more and more we see the limitation of design and wish for features that would extent our user experience. This is true especially with software and knowledge workers. That is were you can see where Google stands out.

Like many users when I am researching a topic on the Web you want to store urls, clips etc so that you can summarize your findings and then use them to form a more cohesive picture of the area you are investigating. I would do this using Microsoft OneNote or just Notepad or MS Word. It was a work around not a solution.

Futher my requirement changed – I work from 4 -5 different computers and want access to the same set of notes, as I move from one computer to another, so I was looking at how I could do this. Voolla! I found Google Labs – Google Notebook. Very easy to use does what I was expecting it to do.

Google is anticipating its user’s evolution and software needs. No wonder they are able to keep top of mind awareness – anticipate and innovate.