Category: <span>Development</span>

Back in August, I switched to Chrome, when a Firefox update broke some of the extensions I was using. I was reluctant to switch at the time, but the breakage was annoying enough that I turned off Firefox (i.e. stopped launching it), and switched to Chrome for my personal browsing when on mine or my wife’s Mac at home, or when I need access to a personal bookmark while at work. (I keep IE’s bookmarks segmented to work-related links.)

The Firefox update glitches were most likely transient, and may have been peculiar to my installation, but even so I haven’t switched back…

The main reason: Startup performance.

I haven’t done any real measurements, so what I’m writing here is purely from the standpoint of my own personal perception but the feeling I get when launching Chrome is that it’s somewhat satisfyingly fast. The feeling I get when launching Firefox is that it’s slow to very slow to start.

While both browsers take longer to load the first time you start them after rebooting, and neither is enough faster than the other to win me over on that first-launch experience, Chrome feels significantly faster to launch the second time, while Firefox still feels like it’s pulling its feet out of the mud.

The fact of the matter may be that they’re equally fast to get me to the point where I can type onto the address bar. But feel is important too. The perception of good performance is a super-important part of the user experience.

What does this feel like if it’s a person, not a web browser?

Here’s a real-world example that everyone can identify with: If I say “Hello” to you, I expect that you’ll look at me pretty much right away, and then respond. If you look right away, and then take a second (one second) to say hi back, I probably won’t notice. But if you take that same one second to look at me in the first place, it doesn’t matter if you say hi right away or not – the feeling I get is that you’re either distracted, or you don’t care about our interaction.

In both cases, it takes roughly one second plus the time it takes to say the word hi, but the initial responsiveness makes a huge difference in how I feel about the interaction.

Development Web

Small pieces, loosely joined” is making its mark in the cloud. Adrian Cockcroft on ZDNet UK:

“Everyone is sitting in the middle of a bunch of supplier and consumer relationships and every team is responsible for knowing what those relationships are and managing them. It’s completely devolved — we don’t have any centralised control…

“[We] got rid of the operations … and just have the developers, so you can’t depend on everybody and you have to assume that all the other developers are writing broken code that isn’t properly deployed. And when you write a REST call to them, you might get nothing back or broken code and you just have to deal with that.

“By making everyone responsible for the robustness of their code, we’ve ended up training a whole building full of developers to build their code very robustly…”

Cockcroft’s statements seem almost obvious to me as a platform guy, but it still amazes me how many complex and fragile interdependencies our industry is building. Sometimes it’s NIH at work, and sometimes there’s a perceived competitive advantage in building proprietary systems.

But I also have to wonder if a more general lack of experience isn’t also at play here. Taking a bet on a platform is hard even when you have all the information and understand why generalization is useful. It’s even harder when a substantial number of decision-makers don’t really understand what a platform actually is.

I heard a story recently about a Director of a small IT department (&lt;100 people), who insisted that his team “had to move to The Cloud as soon as possible”. But it was clear to the person he was talking to, that he didn’t really understand what “The Cloud” was, much less how or why their organization should “move to it”.

I don’t know enough about their needs to say whether it’s the right thing for them or not, but it seems obvious to me that this type of infrastructural change needs to be managed carefully, and with as much information as possible.

The fundamental question that the Director never seemed to ask is, “What is a platform?”, and then “What is a cloud platform, and why might I want one?” — And not, “How fast can we switch to the latest [insert-buzzword-here]?”

Cloud Development

frontier.gif:
I posted some of my initial thinking on how to integrate source code control (SVN) with Frontier’s IDE over on the frontierkernel Yahoo! Group.

I think this is going to be important if we want developers to take the project seriously, and contribute meaningful code, rather than just a patchwork of fixes and mini-features.

I’ve had bits and pieces of this working in the past, but never all in one place, and never with a rational user interface.

Any Frontier/Radio/OPML Editor types out there: Any thoughts?

Development Frontier