ScrewTurn Wiki 4 Releases and News

Rant Against the World

March 24th, 2007 by Dario Solera | Filed under Development.

It’s been almost a month since the last time I posted something… it seemed to me like a century, but I really had no time to put something together.

In the last three weeks, versions 2.0.0, 2.0.1 and 2.0.2 were released, and a total of about 20 bugs were reported. 20 is not a big number at all, but the problem is with the kind of issues that users happen to find.

While the most of the errors are easily reproducible, there are some of them that just happen to some users, and only to them. There are many examples of this if you go through the forum.

When you think of ASP.NET, you surely imagine something highly standardized and documented. And it’s close similar to the truth. Well, facts suggest that there are so many things that can possibly go wrong with an ASP.NET application (because of its complexity), that you should probably avoid it like the plague. But still, ASP.NET is probably one of the best (if not The Best) web application frameworks in the world (I know, Ruby on Rails is very nice – actually, I hate languages like Ruby, or Python – but the framework itself is really interesting).

ScrewTurn Wiki is the very first ASP.NET application that I ever developed targeting a wide variety of users, let alone the fact that it is supposed to be deployed by the users themselves. You know, we all are used to develop ASP.NET applications and deploy them to the customer servers*. They are not supposed to be distributed to the public. This helps a lot, because you can control every single bit of the target servers, or at least most of them. You can remote-desktop into the server and look at the Windows Event Log, install things, restart the machine and so on.

I believe ScrewTurn Wiki is very easy to deploy, especially if you have direct access to the server, but that is not enough. As I said before, there are loads of things that can be wrong, and in such case, the users are almost alone. Alone because:

  • almost all of the strangest errors cannot be reproduced by us (and for this reason they just seem plain absurd)
  • they have no time to debug the application themselves (and that’s fine: if I use a program, I don’t want to debug it in case of error. Anyhow, there are some valuable users who not only debug the Engine, but even provide patches. Very kind of you, really!)
  • if they can’t use the Wiki and ask questions in the forums, the answers usually takes at least many hours to arrive (luckily there are some other users who started helping people with trouble, so thanks to all of you too!)

We test the Wiki Engine in Windows XP (IIS 5.1), Windows Server 2003 (IIS 6) and Windows Vista (IIS 7). Usually it works, and we release. That’s it.
Then someone appears and says that something is not working after an upgrade, or even after a clean install. What are we supposed to do? We can’t reproduce an error, and unless there are at least a few users reporting the same problem, we can’t do much, or most probably nothing. And that’s sad, because the users aren’t happy and probably start using another Wiki Engine. And they are perfectly right.

Moreover, bug fixing is consuming all the time that we can spend on the Wiki. This is the biggest problem. Until we’ll fix all the bugs, we cannot develop new versions. For version 1.0, it took 11 releases to fix all the bugs (1.0.11), i.e. about 2 months, which is not much time, but it’s the exact delay that version 2.1 is going to have.
So, what am I talking about? I don’t know, this was just a useless rant.

*) In fact, there are just a few “public” ASP.NET applications out there. DotNetNuke, Community Server and even some Wiki Engine, FlexWiki for instance.


2 Responses to “Rant Against the World”

  1. Mike Mestemaker says:

    I totally sympathize with you; my company develops asp.net apps and we hit many of the same things you are describing here. When we can’t reproduce a problem, we’re still expected to produce some sort of work-around; it can be really frustrating.

    If it makes you feel better, from the perspective of someone that uses/installs your software, it does seem to install and work more reliably and consistently than many of the web based applications I’ve worked with. I have no idea what percentage of your users are having the types of problems you describe and what percentage are like me and just working. I hope I’m in the majority. :)

    When I first started thinking about deploying a wiki in my department to track our misc. documentation, I looked at flexwiki; it’s feature set was a bit too limited and so I never deployed. But with your software, the feature set is good and it’s working reliably. Honestly, I can’t think of higher praise for software these days. Thanks for all of your efforts in doing that.

  2. ornus says:

    if you’re interested in Ruby on Rails you might want to look at Monorail ( http://castleproject.org/monorail/index.html ). it’s a .NET port of RoR, and quite successful at that.

    about fixing bugs that you can’t reproduce. it helps me to think about it. sometimes I can figure it out simply by thinking about the scenario and why it would happen. sometimes I manage to find a problem that way, even if I can’t reproduce it on my machine. of course, it’s a pain to test it… sometimes I end up improving logging to find where the problem is. even if I can’t reproduce it, maybe the user can supply more information.

Leave a Reply

Side Projects

  • RESX Synchronizer allows to synchronize multi-language .resx files (used for the development of ScrewTurn Wiki).
  • Pixel Picker enables to pick the color of pixels on your screen — very handy for day-to-day graphics-related activities.

About