Fog Creek Software
Discussion Board

Multi-tier vs. Desktop Development

This question has been bugging me for a while.  In your opinion which is more difficult developing win32 desktop applications or developing multi-tier systems (database driven, web, enterprise dev, etc).

I have only been doing multi-tier since I started my professional career almost 7 years ago.  I find it frustrating having to constantly debug through the numerous application levels.  To be really efficient, you need to be a DBA, server admin, network admin and on and on.  A bulk of my time is spent patching servers, getting correct versions of drivers etc.  After that is done, I can then try to see where I need to fix my code.

For those who have done both, care to share your thoughts and opinions on this subject?

Friday, April 30, 2004

Developing for a tiered arch is definately harder than for the desktop. 

But think of the benefits you get from deploying a tiered app in a large environment.  You can easily upgrade levels of your application w/o touching a thing on the end user's computer.  You have centralized layers of application that you can monitor rather than hundreds of individual installations.  Because of that extra development, your maintenance and enhancements will be much easier.

If you were to deploy a desktop app throughout a large environement, you would have installation problems to deal with, versioning issues, log management, etc.

Personally, I'm looking forward to Microsoft's Smart Client to mature alittle more.  It allows you to run full windows forms apps via a web browser.  Man that'll be great.

Friday, April 30, 2004

Any well designed OO desktop app ends up following a multi-tier logical architecture anyways. You my not run it on multiple physical tiers, and you may not store your data in a db, but in my experience there is really no difference in the development of either.

That is, unless you do a purely procedural app with all or most of the code in the UI, then all of the work is centralized in one area and type of technology, but the development there gets uglier as it gets bigger, and maintenance usually sucks.

Friday, April 30, 2004

"If you were to deploy a desktop app throughout a large environement, you would have installation problems to deal with, versioning issues, log management, etc."

Clue to MS and others that view the pc as the center of the univers.

Uncle Jesse
Friday, April 30, 2004

Games are hardest
Shrinkwrap desktop is middling
Multi-tier are easiest

This is more because of the market place
and the psychology of the consumer than
the technical details, because the vendor
would do the minimum he can get away
with profitably.

A businessman doesn't mind if his big
enterprise tracking/optimization system
has glitches because it's doing a big
important job so it must be difficult
technically too. Anyway, it's his staff
who actually have to use it.

Grandma has less tolerance for her
email not working simply because she
can use the phone or some other
convenient method instead. Since her
email is less important (it doesn't have
career-dooming consequences) she
doesn't have to suffer it working badly
or to pay for such a product.

Junior will throw a tantrum if his Christmas
present doesn't work. "Xenoids from Outer Space"
not only can never, ever crash, he has to be
able to pick up a control pad and start playing
with zero training, and the thing has to look
and sound like a George Lucas special-effects
movie. Or else "Xenoids" goes back to the

Saturday, May 1, 2004

*  Recent Topics

*  Fog Creek Home