For the next part in the explanation of my feelings about browser-based software, I’ll offer up a real world example that I’ve personally dealt with, blogging.
There is a good chance you’re viewing this post in a browser, and there’s nothing wrong with that. In fact, unless you read this blog all the time and subscribe to the RSS feed, it’s the only way to do it. It wouldn’t make much sense for me to write a custom application for you to read this blog; it wouldn’t even make sense for Blogger to offer one. The web browser was specifically designed for this type of duty. I won’t belabor that point, since I doubt I’d find almost anyone who would disagree, but I just wanted to make it clear I’m not a lunatic, and I do know the browser is very good for some tasks.
On the other hand, there are two parts to a blog. You get to read it, and throw back some comments if I’m lucky, but there’s also the part where I write it, create the templates, etc. And this is where the overreliance upon the browser platform gets frustrating.
Blogger provides a browser based editor for blogging, much like other online blogging tools. Currently, Google has a new version in beta of the entire Blogger system. One of the biggest changes in the new system is a new layout system. The new system uses a lot of AJAX and a web based widget system to allow you to customize your layout. There are a lot of improvements, like the ability to categorize posts, and a more flexible archive control, both of which you can see and example of right here on this blog.
Despite all these improvements, there is one thing I really dislike about the new system. The problem is the new design locks you into Blogger’s AJAX based layout editor. It used to be you could create your template in a WYSIWYG CSS enabled HTML editor, and then upload it to Blogger. You still can, except the problem is, the new Blogger templates use lots of proprietary code that just doesn’t work in any HTML editor I know of.
And while the new AJAX editor is better than the old textbox, it’s still extremely limiting. For pretty much anything non-trivial, you’ll have to edit the code manually. To add insult to injury, the Blogger area to edit this template is really tiny, and isn’t anything more than a dumb textbox. And because it’s part of a web form, you could spend a lot of time editing it, just to be presented with a timeout or some other browser based failure.
So, I usually take the contents and copy-and-paste them out to a real editor. It used to be a HTML editor, but now it’s just a text editor, which means that if I want to see the results I have to copy-and-paste them back to Bloggers little text box, and hit preview. You can’t imagine how frustrating that process, especially when you’re trying to figure out why the sidebar is indented 40 pixels more in FireFox than IE.
That annoyance is a result of poorly specified HTML rules (although if you’re keeping score it turns out that IE uses margins as W3C later recommended, whereas FireFox uses padding). But HTML standards can be fixed, with time. Also, HTML standards are a problem regardless of what I’m using to create them, because in the end I want to be able to make my blog available to people with browsers.
What is more important, are the insane hoops the Blogger system forces me to jump through to get a halfway decent editing experience. The root cause is the lack of file system type integration. If Blogger allowed me to access my template with something like WebDAV, then I could edit it directly. Instead, they make an even more locked in system.
Also, consider the difference between the Blogger template editing experience and that of a desktop app that can validate the XML, invoke IE, FireFox, etc, or even provide inline previews of either or both browsers. It’s hard to emulate FireFox inside a IE browser window, or vice versa. And despite all the effort Google has put into their AJAX editor, it’s not even an attempt at WYSIWYG. I’m sure it’s something that can be done, but it’s a massive effort, and I just don’t see the point in all that effort when Google could just release a desktop app to edit the layouts. That app could execute a HTML editor of my choice, and pass out the editable sections of the template, and all kinds of other nifty functionality that would be difficult to impossible using AJAX.
If I’m going to write 90+ posts, I’m certainly willing to install a single app. But the dogmatic view that the browser is the solution to all problems kills this option.
Luckily, a bit more wisdom has prevailed in the area of posting, although it is still neglected. For posting, my current process is to load up Word and begin writing. I’m using Word 2007, and was using it to post, until Google broke that, so now I copy and paste out of Word into Windows Live Writer to post. Some shorter pieces I may write directly in Windows Live Writer.
Why do I use copy to Windows Live Writer rather than the Blogger edit post function? Two reasons. One is that when you copy and paste from Word to the Blogger post editor you’ll often get bad formatting. With Windows Live Writer, it just works. I don’t know whom to blame for this, but posting with IE or FireFox, both have the same problem.
More importantly, however, if you copy and paste to the Blogger post editor, you don’t actually know if it’s going to work until you post. There’s a preview button in the Blogger post editor, but it actually looks nothing like my site. It’s somewhat confusing what the purpose of that pseudo-preview is. Windows Live Writer, however, shows me exactly what my post will look like before I post it. Not only can I see what the post I’m submitting looks like, I can see what it’s going to look like on my home page, with all the navbars and other posts.
There are a few flaws in this system. There is the annoying copy-and-paste from Word to Windows Live Writer, but the only reason for that is that I like having Word’s spell/grammar checker. Windows Live Writer does spell checking, but not in the same fashion as Word, and has no grammar support at all. The other flaw is that Blogger does not allow Windows Live Writer to use the label system. I’ve used categories from Windows Live Writer with other blogging software, but Blogger for some reason has decided to use a crippled blog posting API, or something. So after I submit a post, I have to log in to Blogger and edit the labels through edit post. I wonder what effects this has on RSS readers, as far as double posts, but so far my aggregator hasn’t ended up with doubles (I’m not counting those that showed up during the labeling of old posts I did a bit ago).
Now, you might draw different conclusions from this tale, but to me, the conclusion is that life would be much easier if the developers at Google who are working on Blogger would accept that editing posts, and certainly templates isn’t something that’s appropriate for a browser. They’d be much better off spending some time on a good desktop app to handle part of it, and enhancing the support for posting API’s, WebDAV, etc. Also, a good desktop app could easily integrate with other desktop apps in other ways. For one, it could allow open/save that doesn’t require 5 clicks, like the upload/download template buttons on Blogger do (actually for practical purposes, it’s a lot more than 5 because you need to navigate to the proper folder).
I think, for my next post, I’ll start to discuss some of the technologies available for smart client development on the Java and .NET platforms. But like I said in the first part, this is going to take a while, so hang in.