Tuesday, December 27, 2005

A Second Look at the Google Favicon

Update: Thousands of people are flocking to my site today (May 30, 2008), because Google changed its Favicon to a lowercase "G". This blogpost is a totally unrelated random musing; Google Blogoscoped has the story of the new icon.

The Google favicon is playing tricks with me. This is what I think it looks like:



Looks very serious and corporate, doesn't it? Just the first letter of the well-known logo, surrounded by a grey box. In reality, though, it looks like this:



The UI artists in Mountain View probably couldn't resist making it all colorful, just like the logo itself.



Am I the only one who fell for this?

Saturday, December 10, 2005

How Do we Solve the Offline Problem?

Rich web applications like GMail, Flickr, Kiko, or Basecamp are very useful for organizing your life online. But what happens when you have no Internet connection? How do get to your information?

There's two schools of thinking about this problem:

Some say that it will be easier to wire the entire planet than to make everything work offline. There is much evidence that ubiquitous online access may become reality: You can check your e-mail from everywhere in Europe these days and can also surf the web while on a plane. Google is deploying Wi-Fi in its home town.

Joel once wrote that Excel sales really took off when version 4.0 made it easy for people to save files back to Lotus 1-2-3. In the same way, I believe that online apps will really take off when it's possible to go back to viewing stuff offline.

Let's start by thinking about what we'd need to implement (Adam Bosworth also has some good thoughts on this topic):
  • Caching: this amounts to keeping a copy of your online data locally - either all of it or just some fragment.
  • Presentation: When you click around in web app interfaces, this generates requests to the server. You'd want to reproduce the online UI reasonably well, possibly by pretending there's a server that doesn't even exist.
  • Synchronizing offline and online data: When you modify data offline, you'll need to store these operations until the next time you can "call home" and talk to the server. For example, in GMail, this would amount to having "Unsent Messages" stowed away somewhere.
There are three possible architectures:

  1. Do everything in JavaScript. This could be very hard, especially since the only permanent information JavaScript can modify on your computer is cookies. (Is this right?)
    We could get JavaScript strong enough to do handle the entire application, but since it's design-by-committee, that may take some time. Also, I'm not even sure JavaScript should be that powerful.
  2. Through a browser plug-in mechanism, control the application or simulate the presence of a server. This is a better choice, but requires a separate solution for each kind of browser.
  3. Install a local server on the system that serves up the UI. This may be the easiest option. I'm sure you could even train users to go to "www.kiko.com" when they have an online connection, but click on "Start Kiko server" first when they don't. Downside: Installing software? Isn't that the opposite of what you want to achieve with a web app?
In closing, I'm sure we'll soon see online apps that have offline functionality. Hopefully, some standard programming techniques and tools will emerge. Maybe there will even be an "AJAX"-like moniker for all this. I believe "Web 3.0" is still up for grabs.

Friday, December 02, 2005

Red, Green, Refactor

A large portion of my computer time is spent with Eclipse, the Open-Source IDE.

Therefore, I was quite happy to attend today's Erich Gamma talk at ETH. He is a co-author of the Gang of Four book, and the JUnit testing suite. Currently, he works on Eclipse as a Distinguished Engineer at IBM.

The presentation was mainly about expanding Eclipse by writing plug-ins that expand Eclipse's functionality. I didn't realize that there are wizards for everything from writing the plug-in to their deployment. Finally, that explains to me why there are so many eclipse extensions out there on the web. Nicely done.

Next, Gamma showed off applications by writing applications on top of the Rich Client Platform, which is basically about taking Eclipse, kicking out all the stuff that deals with developing software, and using the framework for something completely different. For example, NASA uses an Eclipse-based tool for planning rover missions on Mars. Others have converted Eclipse into a stock trading application.



Overall, a very good talk. Erich Gamma seemed very down-to-earth and relaxed. Also, he's the only big-name CS person I've ever seen give live programming demos in front of a large audience.

Sunday, November 27, 2005

Why Geeks should Rule

Is it better to have a geek run a software company? Or is a business person 'good enough'?

In a podcast interview with VentureVoice, Joel Spolsky argues for the geek CEO:

"You need a mix of people. The pure business people, those who don't really get the code - I have the feeling they're not going to stumble on the good business ideas.

The key observation I had with Copilot was that there already existed software that did most of what we wanted. [...] But we wrapped it up nicely. [...] In order to understand what the problem was, you really did have to be a geek. [...] You really do have to understand that there exist methods of getting around firewalls by having both peers connect outwards to a reflector. That's not something a business person can understand without having a deep knowledge of what the technology can do [ ... ]. A software company is not going to be successful without having a serious geek running the show."

Meanwhile, at Google, the suits are complaining. Here's an excerpt from a recent Business Week article:

"The suits inside Google don't fare much better than the outside pros. Several current and former insiders say there's a caste system, in which business types are second-class citizens to Google's valued code jockeys. [...] They deem [the businesspeople inside Google] as underpowered in the company, with engineers and product managers tending to carry more clout than salesmen and dealmakers."




I don't think it takes an Ph.D. in computer science to run a successful tech company. Still, it does help: the more you understand the technology, the more you know what's possible and what's not. A person with a pure business background could not have come up with cool ideas such as Google Maps (or Google itself).

However, there are plenty of fields that do not require geek CEOs. When Accenture is churning out the hundredth repackaging of their middleware system for a bank, they won't need to know the coolest, latest tech stuff by heart. Instead, they'll have to make it solid and cheap.

I feel that in established IT businesses, it's fine if MBAs take the lead. They know how to streamline operations and bring down costs, which is what is needed when faced with competition and a shrinking market. In such a situation, geeks might cling more closely to their pet technologies. The business guy will coldheartedly close down things that do not earn money.

Of course, in the unlikely case that an ├╝bergeek comes out with the one middleware that rules them all, they'll all be out of business. Aaah, the circle of life.

Thursday, November 24, 2005

Metrics for judging Y vs. G

I've been toying around with podcasts recently and really like Venture Voice and IT Conversations, which I guess are the two mainstream sites with a focus on IT topics. (More recommendations, anyone?)

Here's my favorite tidbit so far: It's from Sergey Brin's appearance at the Web 2.0 conference in October 2005.

John Battelle: [I talked with Terry Semel] and he said - very respectfully - how much he much he thinks your technology is extraordinary [...]. But then, he pulled back and said "but let's judge Google as what it is: a portal." [...] "By my estimation, Google is number 4." How do you respond to that framing?

Sergey Brin: [...] Based on my reading of that, that also would make us the underdog. I think that's where we are. Further, if I may add to that ... you've had the pleasure of being at the Google cafe?

John Battelle: Yeah.

Sergey Brin: I think our food is pretty good, we continually try to improve it, but in terms of, kind of the volume and the quantity we try to deliver, if we were to rank them on cafes and restaurant chains: We're not in the first 100 or 1000 even, probably.

Wednesday, November 16, 2005

YourGMap

In my last post, I mentioned that I was working on a little web site written in Ruby on Rails. Today, I finally launched it.

YourGMap is a site based on Google Maps that allows you to create and customize your own maps. It's a simple way to make a map with your own locations!

Check it out:

http://www.yourgmap.com/

Sunday, September 11, 2005

$5 Billion for Skype?

There have been rumors about X wanting to buy Skype, where X can be either eBay, Google or Rupert Murdoch. The numbers mentioned were in the range of $2 billion to $5 billion.

But is Skype really worth that much?

A quick look into a business and ecomonics book will yield that there are two ways of judging a company's value: You can look at the substance value or the sum of expected earnings.

The latter is easiest: Skype claims to have 53 million users. They would need to make just about $100 off of each user to yield 5 billions. But let's say that their userbase grows ten-fold: Still, $10 must come from each and every user. Not impossible, but hard to imagine, given that their core product is free.

The other way to look at Skype's value is by calculating how much would need to be spent on re-building it from scratch. If you spent $100 million on development (which seems excessive even for a bunch of very talented CS engineers), and $500 million on marketing (that's how much it costs to establish a new global brand), you end up at around $600 million. A far shot from the $5 billion that eBay is offering.

Dear Niklas and Janus, I think you should accept. It's hard to imagine getting a better deal, especially with competitors quickly catching up. I might add that I haven't seen a significant product improvement lately - animated emoticons don't do it for me.