Welcome to Serpia's blog!

Blog Entry

A true story

A true story: let's make a web application!

This is a true story, the names have been changed to protect the guilty...

Once upon a time there was a company

...that wanted a database that could be used by their customers. Their customers were dwarfs who wanted to keep track of their stock of chestnuts, so they could go out and find new chestnuts if necessary. Well anyway, the director of this company had a nephew and his name was Dwork. Dwork was clever with computers, you know the type. So Dwork created this not-so-bad Microsoft Access application and it was installed on the computers of some of the dwarfs that actually wanted to use this application. Yep, some of them also agreed that it was a great idea. The dwarfs, who were scattered throughout the forest (some lived in the east, some lived in the west and so on), used different flavours of Microsoft Windows: 95, 98, XP Home and XP Pro. So, things got a bit trickier because the application behaved differently on every other computer. No biggie though, after a lot of work, Dwork created a runtime that worked more or less on every flavour of Windows. The employees of the company had to keep track of all the different versions that were released because of all the dependencies and bugs that surfaced. That was a lot of work. But hey, at least it worked! Sort of...

So all dwarfs were sort of happy with their local database and so was the company. For some time at least, because at one point some other guy in the company (or was it a dwarf?) remarked that it would be nice to merge all the individual chestnut databases into one database, because that would allow them to do some wicked statistical stuff, like finding out where the largest collection of chestnuts were. That was when the first real problems arose, because it was possible, but for some reason that is still unknown, it was very difficult to do. So the company had to go back to Dwork, who spent a week merging databases. Sadly, this merged database was useless after a few days, because the dwarfs kept updating their own, local databases. That is how economy, even chestnut economy, works. It keeps changing.

So they were not happy

And who could blame them? Now, there was another guy, Eric, working at this company (I am sure it was not dwarf) who told the director that one can install a database on the internet, and that all dwarfs can use this central database for their chestnut collection! 'Can you really do that?', the director asked in disbelief, 'then why didn't Dwork tell me that earlier?'. 'Well maybe Dwork wants to keep this job', Eric thought. Eric did not dare actually saying this, because he was a bit afraid of losing his job if he would make such a remark about the director's nephew.

So the director finally went over to Dwork and asked him if this internet database stuff was true. Dwork had a moment of wisdom (but it gave him a headache for a moment) and said: 'Yes, One Can Do That' and also silently added, 'But It Is Not Safe'. Somehow the moment of wisdom sparked off to the director (they were family after all), who decided that it would be a Good Thing to put the database on the internet.

But how do you do that?

They asked Dwork to put the database on the internet, 'Can you do that, Dwork', they asked. 'Well, errr, maybe....', he said, followed by frowning silence. The director was clever enough to understand that this wasn't going to work with Dwork, nephew or not. So, he went out to find a Real Company who could do this internet stuff. Finally he found one, they were called...

Banana Utility Remote Kitchen (aka BURK)

The guys from BURK were very nice guys, okay, they used about three or four TLA's in every sentence, but apart from that they were nice guys. They looked at the Visual Basic Spaghetti that Dwork had written and told the director that they could put the entire application on the internet in just a few weeks. They would be using the same programming language as Dwork used (VB), using Microsoft's .NET technology, so they could easily reuse code. At least, they thought they could...

Silence of the BURKS

After four weeks there was nothing but silence, after five weeks BURK emailed an URL, where the company 'could test the application'. It was probably the slowest application ever published on the internet. Click and wait.... for ages. But at least it, more or less, looked the same as the desktop application Dwork created and it used the same Access database. So after three months and a lot of money, the project failed miserably and everybody was mad at each other and blaming each other.

The end

If I am informed correctly, the dwarfs are still using the original application written by Dwork and the company tries to keep things running. And Dwork? He just bought himself a Jaguar. Vroooomm!! He lived happily ever after.

The moral of this story

Read the text below, which really says it al, I got it from here , written by Chad Z. Hower, and it exactly describes what happened in my true story, spot on! Here it is:

===Start quote from here:

But I ported my application and it's 100 times slower!
That's a very common scenario. Many applications when ported do run 100 times or more slower than the original Win32 application. But I said they should run faster, right? So, how is this that so many applications run slower after porting? The answer is simple - the applications were ported, but the design remained the same. That is, a straight port was performed without using the new techniques in development. It's certainly possible to take a large engine from a 1960's hot rod and put it into a modern car and make it run. However, powering it on unleaded fuel, and integrating it in with the car system and bodies designed 40 years later will not yield the expected results. When porting to .NET, you need to take into account that it works differently in several key areas. Do you have to redesign your application from the ground up? No. But you should look at some key areas and consider altering them to operate under the new paradigms so that they will run properly, and efficiently.

===End quote from here

So, remember a desktop application is not the same as a web based application. Always redesign your app, change the navigation, get rid of functionality that is superfluous. Reconsider your programming language, your web framework, your database engine, your partners etc. Don't be a Dwork or a BURK, be a real developer.

Posted on December 22, 2007
1 Comment

Comments

#1   csseyah, January 3, 2008 at 7:57 p.m.:

nice one bro! :)
www.pinoytechnophilic.blogspot.com

Post a comment




Django!