Monday, September 15, 2008

StackOverflow is open to the public!

Stackoverf
>low

StackOverflow is open to the public!

StackOverflow is a community driven developer Q&A site... the general idea is to be an Experts Exchange type community that doesn't charge for sharing information and doesn't use dirty tactics to link-whore search rank. If you are interested you can read my previous rant about ExpertSexChange.

The StackOverflow site is a joint venture between the famous Joel Spolsky of Fog Creek Software and Joel on Software and  Jeff Atwood of the also famous Coding Horror blog, though a lot of the development effort for the site involved some other people that I don't know too much about too.

So far, I like the general feel of the site. I honestly can't say yet how useful it will be since there aren't enough questions or users yet...  but if anyone can pull together a definitive software development wiki-forum kinda thing, it would be these two industry heavy-weights.

My only complaint so far is that it uses OpenID... and I absolutely HATE OpenID... whatever... a minor issue.

Friday, September 12, 2008

Google Chrome: Under the hood!

Google's new Chrome browser, which I reviewed earlier this week, is planned as a platform on which Google will build out more ambitious web applications...

My own review covered Chrome mostly from the user's perspecive, but I didn't get too deep into the internal mechanics and future possibilities that Chrome offers... mostly because I'm still playing catch-up myself.

For a reasonably in-depth overview of Chrome's technical design, e-week has posted a fantastic overview. This article hits the technical highlights of the new design. If you want to dig deeper, Google has a decent start on developer resources... but hopefully we'll see more coherent and comprehensive developer documentation in the near future.

I should be interesting to see where Chrome goes in the next couple of years.

I also wanted to point out that, while Chrome is getting a lot of press related to the technical design and future plans Google has for making Chrome a full application platform, there is a lot of very similar stuff going on with Internet Explorer 8 too... it just isn't getting the same level of press coverage. If anyone falling behind in this area it is Firefox and Opera... though Firefox has a very good development team and a reputation for very rapid development, so I'm sure they should be able to keep pace. With Opera I'm not so sure though.


Thursday, September 11, 2008

Browser Reviews: Internet Explorer 8

Part 3 in my roundup of the new breed of web browsers. In this installment I'll discuss the beta version of Internet Explorer 8...

Browser Roundup Series:

Part 1: Firefox 3
Part 2: Google Chrome
Part 3: Internet Explorer 8

Ever since IE 5, Microsoft has been letting me down with each release of Internet Explorer... but I think with IE 8, Microsoft may have redeemed themselves.

IE 8 could, possibly, restore Microsoft to legitimate technical dominance, instead of just having the inherited market-share dominance that allowed previous versions of IE to skate by for so many years.

First off, IE 8 has finally dropped automatic backward compatibility with pages that make use of poor HTML techniques that run counter to W3C recommendations.

This has been the biggest problem that IE has faced over the years. IE is the only survivor of the original browser wars, and so it carried a lot of baggage with it. There was a time before there was a W3C to "decided" what was going to be "standard", and back then browsers were making their own rules.

IE has always had to maintain a certain level of backwards compatibility for those non-compliant pages simply because there were so many popular sites using them. Making things worse was the fact that some of those techniques made more sense and worked better than the official W3C way; so a lot of lazy developers continued to use non-standard IE specific techniques long after they had became obsolete.

I'm guilty of this myself.

Then making it even worse... newer browsers entering the market also had to support some of those non-compliant mechanisms too... which gave lazy developers even more room to continue using the IE specific techniques.

The result... 10 years later, there are still a LOT of crappy sites out there.

Microsoft has always felt compelled to tread carefully when adopting newer W3C recommendations where adoption would break backwards compatibility. They didn't want to "break" half the internet when IE users upgraded to a newer version.

But finally, IE 8 will embraced the W3C recommendations full on with the new "super-standards mode". Futher, this will be the default mode for IE 8.

For those sites that still suck, there is button at the address bar that reverts to the IE 7 style of rendering. .

IE 7 was a good step in fixing the security and privacy issues that plagued IE 5 and 6. But IE 8 has taken this to a whole new level. If you want a more detailed summary check out this post at the IE blog.

There are major improvements in every area of security, but my favorite part is in how IE 8 keeps the user aware of privacy and security conditions as they browse around. The security and privacy settings are also much friendlier this time around too.

Like Google's Chrome, IE 8 has a special super-privacy mode. IE calls it "InPrivate" while Chrome called it "Incognito", but they are essentially the same feature. It handy for those times when you don't want to leave a trail of history, cookies, or saved passwords behind you as you browse. Useful when you check your bank accounts on a public computer, but we all know that the REAL reason this will be popular is for surfing for car-bumper porn without anyone else finding out about your "special interests".

While it remains to be seen how secure the underlying browser actually is, the user features around security and privacy are much improved compared to previous versions and in most ways are better than those of rival browsers.

IE 8 has a mixed story with add-on support. IE has always had decent extensibility and support for add-ons, but security issues have been a bit of a problem in the past. IE 7 didn't really try to do much with add-ons except lock them down against abuse. This gave the competition, especially Firefox, a lot of time to gain ground with much newer and more modern add-on architectures and management features.

IE 8 still has the classic add-on mechanisms they've always had, though much improved under the hood. Management of add-ons is quite a lot better in IE 8 though. Compared to Firefox though, the add-on system still kinda sucks overall.

The good news is that "most" of the popular toolbars and media plug-ins for IE 7 will still work in IE 8 too.

Instead of a major overhaul with add-ons, IE 8 has added some features that are totally new in IE, and are a bit different from what you find in most other browsers.

"Accelerators" are a new type of add-on. What these do is allow you to select (highlight) something on a page and a semi-transparent button will appear. This allows you to select an accelerator. The specific accelerators that will be shown will depend on what exactly you selected on the page; it is pretty intelligent about not showing options that don't make sense for the selected text. I'm particularly fond of the "Define with Wikipedia" accelerator.

The other new type of add-ons are Web Slices. Web slices sit on the toolbar, and when clicked they pop-up little mini-windows that show content pulled from a web services somewhere on the internet. A classic example is the "Facebook status" web slice, which just pulls recent status updates from your account. Web sites that have support for web slices can expose those slices very similarly to how RSS feeds are exposed so that when you browse a site with an available Web Slice, a button will appear at the address bar to allows you to install that slice.

You can get slices, accelerators, toolbars, and add-ons from an online add-on gallery too, and thisis very similar Firefox's add-on system. IE also has a centralized add-on manager that resembles Firefox's equivalent. Firefox's add-on system still remains better overall, but IE 8 is taking a pretty good step in that direction.

Probably the most important change in IE 8 for me is the increased performance and much improved visual quality of the rendering engine.

IE has always been a tad on the slow side, and the ugly rendering has been a source of constant frustration. But pages on IE 8 look are almost as good as those rendered in Firefox, and is very comparable to Google's Chrome. The speed is amazing, much faster than Firefox 3 and very comparable to Chrome.

The majority of the UI features remains the same, or are very similar to those in IE 7. It is clean and professional. The only down-side is that it doesn't feel very "new" when you first upgrade from IE 7... so IE 8 has a little less "wow!" factor for the users.

A highly marketed feature is the color coding of tabs. Tabs are color coded when opened from the same source tab. This is kinda neat at first, but overall I don't find it very useful after having used it for several weeks. I do; however, find that the color coding detracts from the overall visual appeal of the browser making the tabs area seem noisy and out-of-sync with the clean and crisp appearance of the rest of the user interface.

IE 8 also improves the pop-up prompts that you see when you type in the address bar. Pretty much everyone has improved this feature, but I think IE 8 has done the best job organizing items in the pop-up suggestion box. Unlike Chrome though, IE 8 doesn't include suggestions from online searches in the address bar's pop-up... Instead it still has the separate search box. Oddly, the search box has it's own pop-up suggestions that does show suggestions from an online search provider, as well as suggestions from history, favorites, etc. that are pretty much the same as the address bar's pop-up.

While I find that the suggestion pop-ups are incredibly well done in IE, much better than those in the other browsers, I also think they should combine the search box with the address bar like Chrome does... It seems crazy to have two different suggestion boxes that look almost the same, but behave differently. It's even crazier since it was IE that actually invented the "search from the address bar" feature in the first place. It wasn't until IE 7 that there was a separate search box.

One step forwards, two steps back I guess.

The beta of IE 8 still has some rough edges, but it has narrowed the gap with Firefox for the majority of users. Microsoft is clearly taking the renewed competition in the browser space seriously. It has plenty of advanced features, is very fast, renders pages much better, has an intuitive UI, and still manages to keep a clean and professional design despite the highly advanced and complex feature set.

IE 8 will compete very well with Google's Chrome simply because the two share so much in common, but IE has features that remain absent from Chrome (for now).

Power users and developers may still prefer Firefox for the add-ons and customization advantages though.


Tuesday, September 9, 2008

Browser Reviews: Google Chrome

Part 2 in my roundup of the new breed of web browsers. In this installment I'll discuss the beta version of Google Chrome.

Browser Roundup Series:

Part 1: Firefox 3
Part 2: Google Chrome
Part 3: Internet Explorer 8


Google is the new kid on the block with the beta release of Chrome. This is a very interesting release in many ways, not the least of which was that there was not much in the way of a public announcement before the beta was delivered.

Overall, chrome is made up of a variety of 3rd party open-source components that Google has cobbled together into a workable browser.  

The result is a very clean, elegant, and sparse user interface on top of a very capable rendering engine.

Chrome may look simplistic and spartan, but there is plenty of elegant power and subtle complexity behind each and every one of those features. This is the mark of true software mastery... features so well designed that you aren't even consciously aware of how complex or advanced they really are.

Even Apple will have to be quite impressed by the slick nature of the Chrome UI --perhaps a little jealous since part of Chrome uses the open source WebKit, which also powers Safari.. I haven't really used Safari on the mac platform, but Chrome sure beats the shit out of Apple's Safari for Windows (Safari for Windows sucks so bad, I'm not even going to review it).

One thing about Chrome is the speed. It is really snappy. Quick to open, quick to respond to mouse clicks, and quick to load pages. I'm impatient and I open new pages and tabs like a fiend so this really appeals to me.

Google has re-thought some of the more basic assertions about the browser UI, but without straying so far from the familiar that it would alienate experienced users.

The most obvious example of this re-thinking is in how Chrome handles tabs. Instead of a browser that contains tabs, Chrome has tabs that contain browsers. The tabs are at the top.  Within tabs you have your toolbar (if you enable it), the address bar, and whatever web page you might have opened. This is a subtle distinction, but if you take a little time to examine how this affects the UI's behavior you can see that a lot of thought went into the idea.

Another obvious thing is that the address bar doubles as a search bar... this is not new (IE has had this feature for about 10 years), but it works much smoother than in other browsers and is much more intuitive. Typing pops-up the expected auto-complete window, which is quite similar to that found in any other modern browser, but Chrome manages to put a lot into this pop-up with less noise and a lot more appeal.... plus it includes search results, bookmarks, history, feeds, etc.  right in the same pop-up. Again, nothing really new, just a slicker and more streamlined take on an old favorite.

Chrome is also exceptionally very well animated, giving subtle but very important visual cues to the user about what is going on, where, and why. Instead of just "popping into existence", new tabs slide into position. Drag and drop operations are smooth and intuitive, but more importantly dropping things is very smart... Chrome just seems to magically "know" what you want it to do when you drag/drop something.

The Chrome rendering engine is fast, smooth, and most of the pages that I've viewed have work perfectly and look really good. While it isn't quite as awesome as Firefox's rendering engine, it is so very close that I usually can't tell a difference in the quality at all.

Options and settings in Chrome are also sparse, but it has some of the friendliest settings editors that I have ever seen. Even rookie end-users will find it very easy to change settings without being overwhelmed with techno-babble.  Power users might wish for a few more options, but all the really important stuff is there.

File downloads are handled elegantly using a status bar like display at the bottom that shows progress and details about you downloads (it is almost exactly the same as the very popular "Downloads Progress Bar" add-on for Firefox). I do have a major complaint here though... the download bar is embedded within the tab where the download was initiated. When you change tabs, you can no longer see status on downloads that are taking place within other tabs. I would much prefer if the download bar was part of the overall instance of the application so I could monitor all my downloads no matter which tab I'm in.

The major thing that is missing is a comprehensive system for managing 3rd party add-ons, but as far as I can see there aren't any add-ons yet anyway. It does have support for plug-ins for flash, acrobat, etc. but nothing quite like the add-on gallery for Firefox and or the new accelerators and web slices in IE 8... but I'm positive that we'll see this side of Chrome very soon.

Another missing feature seems to be support for RSS feeds. If it is there, it sucks... but as far as I can see it doesn't do anything with RSS at all... I sure hope that's on the top of their "to-do" list.

Overall Chrome is a welcome entrance into the newly competitive browser landscape. It lacks many of the advanced features you might be used to from other browsers, and end-user customization is very limited in the beta.  But what has been delivered out-of-the-beta-box is still amazingly well done.

Add-ons will keep power users on Firefox for a while, but Google's biggest competition will be from the new, and much improved, Internet Explorer 8... which has so many of the same features as Chrome that it is almost creepy! I wonder who is copying who here?

Still, I've only had this thing a week or so, but I find that I am using it more than any of my other browsers, and I am really enjoying the speed and simplicity quite a bit.

Monday, September 8, 2008

Browser Reviews: Firefox 3.x

With the recent releases of so many new web browsers, I thought it might be time to take my bearings again and review the new landscape. I'll tackle Firefox 3 first.

Browser Roundup Series:

Part 1: Firefox 3
Part 2: Google Chrome
Part 3: Internet Explorer 8

For most people, the web browser is the most important piece of software they will ever use. As a programmer specializing in web applications, browsers are even more important to me. Applications I build can be viewed in a variety of browsers, and so I have always had several installed at any one time.

I make a habit of switching my default browser from time to time, so that I can get a good feel for the "end user" experience, and I also do a lot of testing of my applications in various different versions.

I have a lot to say about each of the current contenders, so I'll split this up into several posts. First, we'll tackle what has been my preferred default browser for the last 2 years.

Mozilla's Firefox 3:


Since this one has been out a while I'll not spend too much text on describing the specific features in much detail, but I do have a lot of overall opinions to venture.

Firefox was born out of a desire to take Mozilla's impressive rendering engine and embed it into a stripped down browser UI without the commercial constraints and bloat that had complicated Mozilla first browser suite (which had been bankrolled by Netscape).

Firefox got started by being simply a great browser! It re-thought the UI which gave it an edge over stale old IE, and the rendering engine was light-years ahead of the competition. The most successful feature was tabbed browsing.

Firefox also evolved a fantastic add-on architecture that would allow users to pick up advanced features on an as-desired basis without those features hampering development of the core browser... and most importantly it was easy for users to find add-ons, install them, and manage them.

Firefox 1 and 2 were all about perfecting the initial design, and so changes between versions had been fairly incremental, but Firefox 3, the current incarnation, was a major overhaul.

Overall I'm disappointed!

There are tons of new features in the new version, most of them quite good even, but I generally find that Firefox 3 is not as enjoyable as the previous versions were. It has a lot of power, but it has also added a lot of complexity. 

The UI is loud, crowded, and noisy. The default theme has a cheese-ball cartoony feel that just isn't any fun, and and finding a 3rd party theme that doesn't look like it was designed by a middle-schooler on crack is neither easy nor fun.

Another major problem is that Firefox 3 takes much longer to launch, opening new tabs is slower, and the interface is sometimes sluggish to respond to commands (and I see this behavior even on my top-of-the-line XPS M1730 laptop).

Firefox 3 still has the best rendering engine out there. And it remains the king of  flexibility and customization via an amazing add-on infrastructure. But the new version has trended very far away from the regular user's needs.  It just feels bloated and complex... which is ironic considering the history that spawned Firefox in the first place. 

Firefox's popularity with most users had stemmed from the tabbed UI and fantastic rendering engine. It offered enough gravy via add-ons and advanced features to tip many users away from IE.

But now Firefox is facing a really big problem...

The new entrants in the browser competition have finally gotten their own rendering engines caught up to the W3C recommendations (including IE 8, which has made massive strides in that area). Even though Firefox had enjoyed several years of leadership in technical compliance, this isn't much of a big deal anymore. The recommendations (the so-called "standards") don't change that fast anymore, which means that Firefox can't leverage much expertise here to differentiate it's browser offering.

The other side of Firefox's success was always in the convenience features, slick UI, and tabbed browsing... but the competition has also caught up in this area, and they have many more years of experience in design and usability... plus the financial incentive to really do a good job with their new designs.

So Firefox is fast finding that it only has significant market appeal for power users and developers... but catering to that market segment has caused it to drift away from the needs of the vast majority of end-users who just want to browse the web without complications.

I'm still a big fan, but even as a power user and developer myself, I generally find that I don't use that many of the add-ons and advanced features either. Sure they are nice, and I played with them for a while, but after the "wow, neat!" factor wears itself out, I find that all I really want is to open a browser and browse... not muck about configuring things and keeping up with a dozen wonky 3rd party add-ons.

I do love the integrated spell checker though... I wish that was standard in all browsers.