The conception, birth, and first steps of an application named Charlie

Subscribe: Atom or RSS

A New Day Dawns

by Alister Jones (SomeNewKid)

I’m tempted to remove the previous weblog entry and pretend it never happened. But that would be a lie, and I do not want to lie. The truth is that I had become drowned in a sea of doubt. I had spent nights doubting whether I was doing the right thing with Charlie. I will explain my doubts, not to put my heart on my sleeve, but to put Charlie in its context.

It is well known that to create a good product, in any industry, you must do the right thing, and do the thing right. Sure enough, I had doubts about both aspects of Charlie. Was I doing the right thing? Was I doing the thing right?

First, was I doing the right thing? Why was I creating a new website framework? If I create a simple website framework, it will forever lag behind the likes of DotNetNuke, Community Server, WilsonWebPortal, and others. I have said before that I hate DotNetNuke, and that has not changed. But what about the others?

Community Server is created by some of the smartest cookies in the ASP.NET jar, and it has been used to create some truly impressive websites. I have the strongest sense that I should be using it and, to use a cliché, stand on the shoulders of giants. The problem with Community Server is that it failed my litmus test. Specifically, I could not understand its licensing, I could not find where to download it, and I could not understand whether I could extend it and, if so, how. My litmus test says that if a product is presented in such a way that I cannot shake its hand, then there’s little chance of me being able to work with it. Community Server has gone into the too-hard basket.

The Wilson WebPortal is a release I have been looking forward to ever since I hear a whisper of it. Paul Wilson is a guy for whom I have an enormous amount of respect. He is very smart, but softens his intellect with a healthy dose of modesty. He respects simplicity and eschews needless complexity—forgive the redundancy. And he is very open, providing heaps of source-code components for anyone who spends just $50 to subscribe to his website. That’s not a sales pitch, but if you look at what others charge for crappy .NET stuff, you appreciate Paul’s openness and willingness to share. The reason I am not keen on using Wilson Web Portal is that it is very ASP.NET 2.0-centric, and I have grave concerns about ASP.NET version 2.0, which I will address next.

Let me tell you that I love ASP.NET version 1.1. The fact that I can pick up ASP.NET, with no real experience in programming, and make the technology sing and dance, is a testament to its power and simplicity. (To start with, it seems a complex technology, but once you see through to its inherent design, it is a thing of simple beauty.)

But it seems that the current version of ASP.NET was created by Microsoft pinning ASP.NET version 1.1 to the wall, and inviting all its engineers to throw things at it. If any logic went into its design, the logic is opaque to me. If there’s any consistency in the new framework, that too is opaque to me. The poles of simplicity that supported ASP.NET version 1.1 have been broken under the weight of the gimmicks added to ASP.NET version 2.0. It is a bloated and unattractive thing.

Now it can be argued that if I don’t understand ASP.NET version 2.0, then maybe the problem is with me, and not with ASP.NET. Believe me, that is one of the things that has contributed to my doubts about Charlie. Maybe I am simply not smart enough to work with ASP.NET. Maybe Java Server Pages, or PHP, or Ruby on Rails, would be more agreeable to this dumb koala bear. But I do like ASP.NET version 1.1 very much, and I understand it quite well, so there seems to be no immediate gain to switching to another technology and facing the same bloody learning curve that I have just finished climbing.

Still, the fact is that I am simply not comfortable with the direction that ASP.NET is taking. I have been tempted to target Mono and not .NET. But that seems to be another example of Charlie Brown’s philosophy: the secret to life is to replace one worry with another. I am very tempted to look at Ruby on Rails, but that too seems to suffer the same philosophical argument.

Do I have a current resolution? Nope! So I’ll just move on to the second problem: am I doing the thing right?

This whole weblog has been following my attempts to do the thing right. Have I succeeded? I think so. I have so far met the main goals I set forth in my software specifications; namely that Charlie is simple, secure, globalized, and configurable. As the running software meets the initial software specifications, then it would seem that I am doing the thing right.

So there you have it. I think I am doing the thing right, but I don't know whether I am doing the right thing.

Does that largely explain the preceeding, and very negative, weblog entry? If so, I am going to carry on and finish telling you of the lessons I have learned so far. Then, I am going to tell you of the teacher who has come to my rescue and lifted me out of this sea of doubt.

by Alister Jones | Next up: Lesson: Objects Allow Emergence, RAD Does Not

1 comments

______
Anonymous Anonymous said...  
 

Seems to me like your doing just fine :)

Post a Comment

----