November Novelist

I’ve joined NaNoWriMo and will be writing a novel this month (NaNoWriMo is a “contest” where you try to write a 50,000 word novel between November 1 and November 30).  I almost tried it a couple of years ago but didn’t go through with it.  This year I’m going to win!

Normally I wouldn’t mention this kind of thing on the off chance that I fail miserably, but one of the tips from the site is:

“Tell everyone you know that you’re writing a novel in November. This will pay big dividends in Week Two, when the only thing keeping you from quitting is the fear of looking pathetic in front of all the people who’ve had to hear about your novel.”

So yeah, I’m going to write the most awesome novel you’ve ever seen!  It’ll be the best thing ever!

I only signed up on the 4th, so I’m a few days behind the curve.  As of now I have 26 days to work with.  That is an average of 1,923 words per day.  That sounds like a lot!  But if we assume I typed at the incredibly slow rate of 50 words per minute, that translates into about 38 minutes of writing a day.  Piece of cake!

Tom’s NaNoWriMo Page

A Peek at Google Web Toolkit

So I’m looking over this Google Web Toolkit thing since someone around here thinks it’s the greatest thing since sliced bread.  I hate to disappoint but it’s conceptually the same as the much-hated ASP.NET WebForms – it’s a framework to abstract HTML and Javascript away from the programmer.  But instead of .NET and Visual Studio, Google’s version is based on Java and Eclipse.

Unfortunately this abstraction is pretty much exactly what I’m getting tired of in ASP.NET.  Microsoft went to great lengths to build this huge Web Forms framework to try to make HTML development look exactly the same as Windows Forms development, and I think there’s a growing body of evidence to support the assertion that it was a mistake (hence ASP.NET MVC).

So, not to be outdone, Google built this Web Toolkit to make HTML look like X-Windows widgets.  Deja vu.

So setting aside philosophy and getting into practicalities, the first thing I’m noticing about GWT is that there doesn’t seem to be any way to build an interface declaratively.  All the examples in the Showcase build things programmatically.  That harkens back to the early 90s when it took a thousand lines of code just to make one little gadget on the screen.  (Not to mention the inability to separate designers and programmers on the same project.)

Second thing I’m noticing (which is related to the first) is the almost 100% reliance on Javascript for the finished product.  The HTML host page is basically empty except for a <script> tag*.  I like Javascript as much as the next guy, but I’m nowhere near the point where I think all web apps should be 100% pure Javascript.  Maybe it’s better for the Googles and Facebooks of the world to offload all the processing onto the client, but is it really necessary for every web site?

(Yeah, I know I was just talking about Silverlight which is all client-side processing, too.  But that’s different. :)

* Okay I see that you can insert GWT functionality into any element of the HTML, it doesn’t have to be the entire page.  But it’s hard to think of scenarios where that makes sense.  The only reason I can think of is to plug in one of the fancy GWT widgets (like the TreeView or RichText) somewhere on an existing page.  In that case, though, it would be just as easy to plug in some Javascript.

Basically I’m not seeing why this is the greatest thing since sliced bread, or why this is better or even as good as ASP.NET.  But I guess if already prefer Eclipse and Java, it’s probably worth checking out, so you too can experience the disappoint and frustration that ASP.NET developers have.