Tuesday, April 3, 2007

My First Blog Post

Welcome to my "Never In Doubt" blog whose title trumpets the arrogance I hope never to display. Fat chance.

Well, actually I intend to maintain a high degree of civility and respectfulness in this blog even as we (you and I) make bold, unflinching pronouncements.

I am the v.p. of Product Management and a founder of IdeaBlade, a .NET enterprise application development framework company (www.ideablade.com). I won't shy away from talking about our product - it is my passion after all - but I'm not here to flog it either.

I am excited by issues surrounding development of enterprise apps such as Smart Client, Object Relational Mapping, data access, web services, WinForm UI development, Microsoft Composite UI Application Block (CAB), deployment, and agile development practices. If you are following along, you'll be reading a lot about these topics and adding your two cents I hope.

"Enterprise Applications" is one of those broad, typically meaningless terms. I have something quite specific in mind - something that many would call "line of business" applications.

These are "sovereign applications" (see Alan Cooper, http://www.cooper.com/articles/art_your_programs_posture.htm) that capture the attention of "knowledge workers" for extended periods almost every day. Think stock traders and travel agents.

You would recognize such apps instantly; they
  • fill the screen (rather than a small corner of it)
  • sport many "forms" and window panes
  • demand crisp user interaction
  • support rapid task-oriented "context switches"
  • display a lot of rich, often complex data
Such applications still dominate the corporate scene, usually as tried-and-true "client / server" Windows applications. Someone along the way may have tried to migrate them to the browser ... and failed miserably ... at least from the perspective of user productivity.

It always amazes me how many organizations will inflict a poorly performing mess of browser eye-candy on a put-upon work force. The culprit typically has been promoted by the time the company acknowledges that productivity has actually declined. Not that the users didn't scream from day one; it's just that no one seemed to care or they were too powerless to resist the juggernaut of money and senior management committed to the browser app fantasy.

Here comes Ajax, giving mouth-to-mouth to that corpse. We see the chest rise and fall and shout "it lives!" Sorry folks. I think Ajax is great for the one page app but it is hopeless for the multi-page, highly stateful, enterprise app.

That's my rant of the day. Cheers, Ward


Chuck said...

Hear, hear! The last large enterprise web application I worked on ended up being deployed via Citrix. Yes, Citrix.

Aside from the UI issues (which, as you mention, are now being addressed by Ajax), data volume in this enterprise application gave us fits. We were using quite a nice, homegrown framework, passing data (with state) via xml between server and browser. This payload ending up being so large, that running the application via Citrix was the only solution.

There are probably solutions now to our volume problems we experience several years ago. It just feels like we are working very hard to solve the same problems we solved ten years ago. I sometimes wonder if the web paradigm hurt more than helped, when building and deploying "sovereign" applications.

Ward Bell said...

I hear this a lot.

BTW, I am not diss'ing all web applications. They have their place, especially where reach and zero deployment time are essential.

My words target certain kinds of applications ... like SalesForce.com which is hated by everybody who has to use it. They endure it in spite of its absurdly undeserved reputation for greatness ... primarily among the people who do not have to use it. SalesForce.com gets my PRODUCTIVITY KILLER OF THE DECADE award.

cbasoz said...

Nice. It is a good feeling to know I was not alone in my thoughts about browser based applications.
Ironically I'm starting to build one by tomorrow morning. However (maybe I'm being clever more than I think) I'll do a side by side smart client version to show my boss that might be better (hoping to convince on first few prototypes where I think browser based one really would fall short).
PS:My first Devforce application.