Elegance Technologies Blog

Tuesday, January 31, 2006

Is Visual Basic destined to fade away?

I'm bound to get in trouble for this post, but I'm going to try anyway. I believe that Visual Basic (VB) is destined to slowly fade away. Please bear with me while I explain my logic. My logic is based on market forces - it has nothing to do with the power of the VB language or my opinion of it.

Special Note to VB Programmers: For the record, I admit that I'm primarily a C# programmer, but please don't come to my house and lynch me for what I'm about to say. Thanks!

Historically, VB was created by Microsoft to make it easier to create Windows desktop applications. VB made it possible for both developers and non-developers to create new application that wouldn't have been able to do the work in C/C++ (the main alternative when the VB development environment launched). VB was nicely differentiated from C/C++; it wasn't as powerful as C/C++, but it was much easier and faster to use. Even C/C++ developers (who were usually language bigots) also used VB to create application prototypes.

Today, Microsoft (MS) has VB.Net and C# which are both based on the .Net Framework. VB developers switched to VB.Net and C++/C developers switched to C#. Both languages have the same underlying power and complexity because they are based on the same framework. In fact, VB.Net and C# are semantically equivalent; they only differ by syntax (and products like C-Sharpener For VB can convert between them). The differentiation between the two languages has disappeared.

The question is what language does a new developer choose to do desktop and web development on Windows? I think he or she will choose C# for two reasons. The first reason is that most new developers are learning Java in school which is syntatically similar to C#. It is an easier transition. The second reason is that most commercial development is done on Linux or Windows. Java is normally used for Linux and C# is used for Windows. A new developer would like to have some career flexibility. It is easier to keep both Java and C# in your head than Java and VB. Therefore, the new developer is more likely to pick C# than VB to maximize his career options.

As new developers choose C# over VB, the number of VB developers will slowly decline and VB will fade away.

Uhoh, I think I hear some VB programmers banging on my door; I have to go now. :)

Friday, January 27, 2006

How to get user feedback in Lucid Spec Player?

The free Lucid Spec Player allows the authors of a Lucid Spec document to share it with other people (clients, colleagues, sub-constractors, etc - I'll call them all reviewers) who don't have the full Lucid Spec application. (Of course, we hope some of the reviewers will decide to get full copies of Lucid Spec...) The main reason to review the spec is to get feedback, and we've been thinking about different ways to capture feedback.

The most obvious approach is for the authors to sit with reviewers and watch them explore the spec. They can ask each other questions, clarify vague requirements or features, and brainstorm possible changes. This is easiest if everyone is in the same room, but can also work via web conferencing tools like Webex or Festoon.

Another approach is for the reviewers to write down comments and questions, and email them to the authors. We've gotten a lot of great feedback in this format for Lucid Spec, and we log it all in Trac. It takes a bit longer, and may disrupt the flow of simulating the application, especially if the reviewers have to wait for the authors to respond to questions.

We're thinking about ways that Lucid Spec (and especially the Player) could simplify this process. For example, Lucid Spec could generate feedback templates based on the document structure, so that reviewers could more easily comment on the spec, or even assign numerical ratings to specific pieces. Lucid Spec could also provide a way for reviewers to enter comments for each screen (perhaps with something like the Details panel), and an easy way to send those comments back to the authors, probably via email. We could also track the sequence of screens that reviewers examine (like the logs for web server), which could help the author understand what parts of the simulation attract the most attention.

In my experience, one of the best ways to improve a design is with rapid feedback and improvement. To quote Tom Peters: "test fast, fail fast, adjust fast". We'll continue to add features to Lucid Spec to make it easier to create and modify specifications, but we also need to find better ways to capture and use feedback.

Friday, January 20, 2006

Lucid Spec 1.1.0 Released

We have released version 1.1.0 of Lucid Spec. This version contains an improved ability to configure the Grid and many bug fixes.

This is the first commercial release and we want to thank everybody that participated in beta testing. The feedback that we received was invaluable.

Saturday, January 14, 2006

Welcome

Welcome to the Elegance Technologies corporate blog. We will post here several times per month and discuss new product releases, tips, and general topics on software development.