How Software Gets Done

Today, we saw the release of the PocketFox logo. We're all anxiously waiting for this mobile version of Firefox. We've actually been waiting too long. And that's a problem. It seems to be taking forever. This means that the developers are busy polishing the product, getting it up to 99%. It will probably be released then, almost bug-free. But what are we to do in the meantime? Ever heard of Release Early, Release Often? The sooner you get your product out to the masses, the sooner it's used, the sooner you get feedback on it, the sooner you can focus on the 20% of the functionality that will please 80% of the users. Worse is better, kinda like less is more, is a model that holds in this fast changing world. We are already used to bugs, aren't we? We don't care. We just want those nifty features. That's why Opera has taken the browser market by storm. They're pushing Beta's to users. And we love it because we get to play with the new toys, not to mention have a say in the final product through our feedback. -- When you're taking forever planning the perfect first kiss, you're missing the point. The point is that it's supposed to be a kiss that you'll enjoy. It does not have to be one to tell you grandkids about. You'll have plenty of other stories to tell them. In life, like in software, too much planning and polishing hurts. It's quite rare that someone discovers a gem of an idea, spends years turning it into reality and being a total hit. The things we use most today, all started as rough products, that were then blessed by progressive improvement. Twitter, facebook, youtube, yahoo, gmail, telephones, TV, pens, paper, houses, clothes. It's through progressive improvement that relationships will grow. The first step is to plant a seed, take some action, make a choice! The rest will follow.

The Power of Twitter

If you don't know what twitter is by now, you should. And here's my profile: @hdragomir. What surprisingly many twitter-ers  don't know about is search.twitter.com. Imagine being able to know what the internet-broken world is thinking, saying, sharing, on any topic, in real time. It's not just about the links, and their indexing — it's about everything. Think about the twitter revolution, or the #SaveJon campaign. Google needs some time to crawl pages, index them, calculate their rank and even after that, older results may still be ranked higher — so you're not to trust google.com for insight into what's hot now. twitter search is like a realtime google. What's also notable is that twitter search isn't competing, shouldn't and most probably won't compete with google for searching. For searching the web, google is king and will be for a very long time. Twitter is doing something else. My wet dream about this has to do with localization. Imagine searching twitter for a phrase and having the option for it to return only results from your area. Imagine how fast information would travel then, and the ease with which you can find it. It's totally possible, even right now. When you tweet, twitter can access your  browser's geolocation API and see where you are. Some browsers support this out of the box, like Firefox and Opera, many new cell phones come equipped with GPS and, for the rest of the people, twitter could use an IP to location service — plenty of them available. If this happens, twitter will know where you are when you tweet and when you search. I'm pretty sure twitter can put two and two together for the rest. Of course, this idea will never fly because some people are too concerned with their privacy. But maybe twitter could add an opt-out for this feature. Like I said, it's just a wet dream.

Affirmative action

As you might know, the EU will be forcing Microsoft to unbundle MSIE from Windows distributions. http://yro.slashdot.org/article.pl?sid=07/12/13/1524233 This news brought great joy to the web development community. Finally, the market share will change. Lazy people will have to get off their asses and download a browser of their choosing, and chances are they'll choose something different from MSIE. Even if they do choose to use Internet Explorer, it's their choice. It's no longer forced down their throats. Not that they'd put up much of a fight. Lazy people are bad that way. Back to the point. Well, not just yet. You might wonder how will people access the internet to get a browser if they don't have a browser? I don't care! Linux users have dealt with this problem already. It's called software packaging. You get your software — free software, mind you — from repositories. Alternatively, you can download them via the command line using the old built-in wget. So Windows users will have to either do that, or something like that, or maybe get cd's with FireFox or Opera or whatever. Maybe the ISP`s could do it for them. Maybe we can go to a friend's house who already has a browser because they have linux or an older version of Windows. Where there's a will, there's a way. And people are addicted to and dependent on the internet nowadays, so there's both a need and a will. We'll find a way. Luckily, the EU has given this issue some thought and they came up with this great solution: bundle FireFox with Windows. They must have been high! http://tech.slashdot.org/article.pl?sid=09%2F01%2F26%2F1459205 I should rejoyce at hearing this news, but it's hard. It's not that it's FireFox. It's the idea. You're forcing them to unbundle a piece of software, then forcing them to bundle another one? Where's the point? Seriously. The silver lining is that there's a chance that both browsers will be installed. This seems somewhat better, but only just. At least this way people have some sort of a choice. As a web developer, I'll be very glad about this in the morning. As a half-human being, I'm disgusted.

Browsers and browser experience

Cross-browser compatible! That's one project requirement I know I'll dread near the deadline. It's been years since people started standardizing the web. It's been great to see how websites have flourished with all that puff that makes them stand out from one another. Really. As  a web developer, I really know what I'm talking about. CSS, for example, is one field where standards really matter. It's nice to know that browser follow the box model, and that display modes are implemented correctly and render OK in all (major) browsers. Safe for IE, of course. Ever since I started doing stuff for the web, I've had a problem with Microsoft Internet Explorer, MSIE or just IE. Up to version 8, standards are poorly supported, the box model is all screwed up, and I'll cut this here as this post is not meant to bash IE. If you think I have an unjustified grudge with IE, try to fathom the idea of twenty pixels being interpreted as forty pixels. Yes, that's how much IE loves web developers. One thing I'm good at is coding in dynamic languages. My flavor of choice: ECMAScript. Nowadays, you can do the same thing, using the same script in different browsers. Naturally, some browsers tend to think they're special, and they don't provide the same API that all the other browser do, and which are specified in the ECMA standard. Of course, IE is the problem child here, causing Javascript developers to come up with unthinkable hacks to make things work in IE. Opera came up with a great solution to this problem: support the standard AND the IE API. This means that pages which are 'optimized' for IE, will no longer break in Opera. Add that to the many reasons for which I love Opera.

Read the rest of this post »