Monday, December 27, 2004

Challenges of maintaining an almost 9 year old piece of software

 Originally posted on:

This in a sense is just a rant, but also a serious post.

I've been working for this company (still the same one I wrote about before) for the last five years in changing roles, I always had some sort of connection to the web component, and in the past 2.5 years, I have been on the actual dev team of it.

To outline the past roadmap of this application, lets just say that it started as a demo. which is the worst mistake that was done here. Why? because when you develop something as a demo/poc/ just for a show, the code behind looks exactly like that.

At the beginning it was developed on Access database (?!?!?!) this was supposed to be software that sold to enterprises - and believe it or not, it was sold... The web application itself was created as the worst spaghetti code possible, with ASP, VBSCript, HTML, SQL, Javascript all mixed up on innocent .asp pages. As I said this was designed as a demo by people not very knowledgeable of Web development - and it looks it.

Lets continue along memory lane.

Then came the next version (this is more than two years after the beginning), support for running the database on SQL server was added (notice added - you could still work with Access). Of course since there were budget restrictions (I wasn't there yet, but I can guess) - they couldn't re-write data layer (remember it was all spagheti code) - and since everything needed to work, the database scheme on SQL server, was essentially the same as the one on Access. So no SPs, no Foreign Keys - nothing... Same badly designed tables and views.

Here comes the next version, I already worked in the company but not on the team. A huge effort to modernize the software (got its own major version). Here there was a newer team. the concept of COM for business and Data layers (the three tier model) finally was implemented, but again - only for the newer features. again because there was no time and not enough money. From then on development is done primarily in VB DLLS, but still some is implemented as spaghetti code in ASP, and of course no re-writes are being done on old code, unless a bug is being reported. Not to mention that no documentation of any kind is being kept or ever created - you have to go through the entire code to understand what is going on. At this stage the QA team leader actually knows better than the Dev team leader how the application will behave at certain scenarios.

By this time it is already quite a large amount of code, with different historical layers, that an archeologist would happily dig through to understand how men thought at prehistoric times, and I inherited it. Of course no one gives me the time to re-write even the most atrocious parts of it (unless there is a serious bug).

By now for each major object, there are at least three ways of creation, all supporting different parameters and sometimes different business logic. I'm always on the crusade to retire old sections and to re-write as much as possible.

As you can understand the main causes for this situation were:
1. a bad beginning
2. unwillingness by management to understand that beginning was bad - and therefore needs some fixing up

Result: code is a mess, adding new / modifying features is real hell - development is much slower, and the chances for mistakes and problems (bugs, backward compatibility, upgrades between versions, security) are greatly enhanced.

We are now planing to migrate the application to .NET - I foresee a nightmare.

Thursday, December 16, 2004

Why I'm currently staying with Google desktop

 Originally posted on:

I Installed MSN Toolbar suite a few days ago, and I just noticed today that I'm not using it, actually I spent more time to configure it (and there aren't that much configuration options), than the time I spent searching with it.

I continue to use Google desktop all the time. Why? well I can think of quite a few reasons.

1. For some reason the MSN Deskbar on my computer is flickering all the time (the buttons are blinking constantly) - which annoys me to the the point that I turn it off, therefore my only option is to search with the IE/Outlook toolbar
2. Outlook is constantly open on my desktop, however, I rarely actually look at it, what is almost always open is a browser (mostly IE), so the outlook integration doesn't help me and actually I haven't even used it once. I am a geek and I love testing things - but I do it in a context because I have it near me and the option is appealing, so I don't use outlook.
3. The default option in the MSN IE Toolbar is search web, this obviously sends me to the MSN search on the web - I don't like it at all. I like to search through Google. If I want to search my computer I have to select the option from the toolbar - Ouch!  I like to click “Enter“ instead of using buttons.
4. The Outlook email indexing of the MSN search is annoying, for example searching for my name, I expect it to bring only emails that contain my name (obviously most everything, but still not all of them). MS brings me each and every item, why? because my mail box is named after me, so that everything under that path is returned, Google brings much more relevant results, even on the desktop.
5. Web integration. when I search with Google I get all the results in one place and window - I like that. The fact that I can't directly do things like “send as attachment“ is uncomfortable, that was one of the main pluses of the MSN toolbar for me, but I miss viewing the web results in the same window...... Very much!
6. Last but not least, for me at least - Google is still a lot faster.

Actually I think the real main reason (while all the above is true) is that I had Google Desktop for longer and I'm already attached. That's the biggest mistake MS did - releasing after Google.

MSN Desktop (MSN Toolbar suite) is nice, but for now I'm sticking with Google.

Google has a lot to work on: Firefox integration, context handling, allowing extension of indexing engine like IFilter, which is a great feature of MSN Toolbar, I don't want to hack to add search capabilities (GD+), Gmail integration (why do I need notifier if I have the GD already), full blogger integration (I love the blogThis button), and more... and I'm sure they will do most of it soon.

I'm proposing a software challenge. Develop a small IE adding that integrates with Google search results, and allows displaying windows context items. anybody up for this?

Monday, December 13, 2004

Lookout Google - MSN Toolbar behind you!

 Originally posted on:

Hot of the presses, MSN Toolbar is out there, still a beta, but what isn't these days.

Its almost 1:00 AM here in Israel so I'll wait till tomorrow to actually download and install it, I fell a need to be focused. This Toolbar promises a lot.
1. Popup blocking, autofill forms and more things you'd expect from an IE toolbar
2. Email search
3. Desktop search (indexes Office docs, pdf etc..)
4. Web Search
5. Integration to hotmail
6. Integration to the new MSN Spaces
7. Integration to Outlook

And probably a lot more that I'm missing, there are two available options, Full suite (including everything), and Toolbar only which is only the basic IE toolbar (doesn't even include autofill)

Mike Torres is raving about it... I'll see tomorrow how it fares against Google Desktop+

Truth is I saw it a week ago when Yosi was demoing for us at my company, he asked me to be quiet about it so I was... I didn't get that much of a look at it, but was very intrigued by it.

The Desktop search fight is getting VERY interesting, and no I didn't forget Copernic which is also reputed to be a very good and free engine.

Sunday, December 12, 2004

A new one from Google - Google Suggest

 Originally posted on:

If you already use Gmail, you know about the excellent Auto-Complete feature in the address book. Google just went one step ahead and implemented Auto-Complete in the google search engine itself, this is of course still beta, but is accessible through this link or through Google Labs.

Just type anything in the search bar, and google suggests searches, including how many results such a search would bring.

Via Scoble and Google Labs (which is a web site you should check periodically if you like those stuff).

Thursday, December 9, 2004

Thunderbirds' RSS

 Originally posted on:

I've been a Firefox + Thunderbird user for years now, been following each and every release. I like the combination of two different utilities. I never did like the Netscape suit (you remember Netscape Gold ?). Two lightweight utilities that supply most all of my needs. I completely abandoned Outlook Express once Thunderbird was stable, though I still use IE most of the time.

I was especially excited when looking at the release notes before downloading the latest version of Thunderbird (congrats on finally reaching version 1.0), hear that it supports RSS, to me reading RSS in the Mail reader is the most logical thing, I was going to purchase NewsGator, but after getting the feel of it on the trial version I decided it's not yet where it should be. Since then I've been using SauceReader (I've used SharpReader before that).

But the first look at the interface was disturbing, it wasn't quite clear how to start using RSS (you need to create a new folder with the type of “News & Blogs“), NO OPML importing - A big miss for mozilla! how am I going to import my current blog roll? one by one for some 300 blogs? not to mention no commenting or composing capabilities - Mozilla just wants us to have read only rights on blogs.

It seems like a rush to put in the functionality without filling some basic needs of users, just so that they could say “Hey, we did it! we have RSS!“, and really it's a shame because a slightly longer delay on the release would have enabled them to put out a more complete solution.

I won't be using Thunderbird to read my RSS anytime soon.

Monday, December 6, 2004

Starting the .NET path

 Originally posted on:

Today we had a meeting with several Microsoft Israel people, where we discussed how to best bring our current application into the .NET world.

This is after the long time that I have been pushing to do this and giving all the reasons, apparently hearing it directly from Microsoft has a different effect on management :-)

There still is a long way to go, management which actually wants to go forward with this now, has to decide exactly what path to follow, somewhere between a full application re-design and no leaving the current situation as is - in the middle lie several options, out of which it appears that we will take the slow route - probably at first running ASP and ASP.NET side by side, and create some sort of data sharing between them (Session and Application), and from there creating new features in .NET. but this is just one of the options that was presented. So I'll just have to wait and see.

Anyway I enjoyed the meeting very much, even heard a few secrets :-) and saw a cool demo of master pages in ASP.NET 2.0 - excellent stuff. As a veteran of systems like Vignette I saw many familiar things there, and this are things that I was missing in standard ASP - combining Application Server into the language itself.

I think the message got across to the top level of our company that was attending.

In addition to this, I think everybody watching during the demo was more than a little impressed with Visual Studio 2005 Team System, my team leader was shocked. That's what you get when you are stuck to long using InterDev IDE (VB 6), and suddenly see how simple life can be.

Thanks Yosi and Leon and Doron for showing us the light :-).

Thursday, December 2, 2004

PDF Speedup - A must utility - Update!

 Originally posted on:

Just thought I'd pop and mention this excellent utility called PDF SpeedUP, it's freeware.
You can download it here or read about it here.

Thanks to and the Daily Grind - an excellent blog, with news you can use (at least if you are a software oriented geek :-))

I used it and it works as promised, speeds up acrobat speed by 10 fold. you only need to run it once, or if you want to restore a specific plugin then maybe once more... Who would've thought a one time use utility can be so useful.

Update: If you already installed GoogleDesktop and enjoy it, you will probably want to install this Addin/Replacement right now. It indexes a lot more file extensions (actually you can configure it to index whichever you want....)

Highly recommended, however, note that these are HACKED binaries so installation is at your own risk (make sure you follow the readme.txt file to the dot...).

This one from Scott Hanselman's blog