Your opinion please - Web Apps vs. Desktop Apps

O

owen

I have been developing web-based applications for around 3 years, first
using ASP, and more recently, ASP.NET.

I am starting to wonder if web applications are really the way forward for
software. And by 'software' I mean applications, (eg. word, excel) not web
sites (eg. amazon.com). I am starting to think, with the .NET framework
being shipped with new operating systems, and freely available online, that
a better way forward is thin-client desktop (VB.NET Windows Forms)
applications - and leave the ASP.NET web for 'real' web sites.

It's true that deployment is infinitely quicker with web-based solutions.
But what about the quality of the product after deployment? Isn't that
important too? Having to make round-trips to the server all the time can
slow things down for the user. And maintainance and support - with web apps
that's always complicated by a specific user's browser settings, server
settings, operating system etc. - whereas desktop apps don't have those
issues.

I wondered what you people think.

Thanks!
Owen
 
G

guy

I have had 4 contracts over the last 2 years
1 winforms c#
1 winforms vb.net
1 webforms c#
1 webform vb.net
so i have tried the lot:)
personally I would always go for winforms unless you ***
really *** need a brower based app
you get much more functionality, performance, state
management goes away...
and I would diagree with you on 1 point - winforms
development is faster.
I can not see any advantages that webforms have over
winforms

hth guy
 
W

WL\(fromSJTU\)

I have done 3 projects using vs.net,
VS.NET + Mobile Internet Toolkit + WebService
ASP.NET + WebService
WinForm(server side) + SmartDeviceApplication(client) + WebService

I think the advantage of web app is that the client just needs a browser,
but you must have .NET Framework to run winform app.
If every pc connects to network, web app will be more powerful.
What do you think?
 
L

Lasse Cederström

Hi
I can not see any advantages that webforms have over

Easier to make changes, and deply the changes to everyone. Plus if you make
an intranet application, people need the winform somewhere, maybe even to
install it on each computer. Webform you only need a browser, and your good
to go.

- Lasse
 
O

owen

Lasse Cederström said:
Hi



Easier to make changes, and deply the changes to everyone. Plus if you make
an intranet application, people need the winform somewhere, maybe even to
install it on each computer. Webform you only need a browser, and your good
to go.

I just dont get why people get obsessed with ease of deployment, to the
extent where it's all that seems to matter. We forget that deployment /
installation, realistically is just a tiny % of the product's lifetime.
What about the quality of the product after deployment? Surely thats more
important?

If Technlology A is easy deployment but crappy product, whereas Technology B
is tricky deployment but nice product, I'd choose B everytime!

Owen
 
O

owen

guy said:
I have had 4 contracts over the last 2 years
1 winforms c#
1 winforms vb.net
1 webforms c#
1 webform vb.net
so i have tried the lot:)
personally I would always go for winforms unless you ***
really *** need a brower based app
you get much more functionality, performance, state
management goes away...

my feelings exactly ! :blush:)
and I would diagree with you on 1 point - winforms
development is faster.

Umm, I actually agree with that 100%. I'm not sure how I implied
otherwise - perhaps you misread the word "deployment" as "development" in my
post.?
I can not see any advantages that webforms have over
winforms

Me either, except in cases where it's... guess what.... a Web Site !!!

Webforms are easier to deploybut IMHO, that's not enogh to justify the poor
work-to-quality ratio for developing a web based product.

Thanks for the feedback!
Owen
 
M

Marina

It depends on who you ask what is more important. If a big corporation has
1000 employees that all use the same application, you will see the IT staff
will not be happy about upgrading every workstation every time there is a
service pack or a critical service patch. Depending on product, this might
need to happen once a month or more, and you will instantly see the benefit.
More and more companies are moving toward buying web enabled applications
because of this maintainability issue.

Also, more and more people work from home, or need to login while away on a
business trip. This is becoming a frequent scenario, and the idea of being
able to use the application from and PC with a browser is a big plus.

However, winforms can be deployed from a server via a virtual directory.
However, most users do not have the .NET framework installed, so for a
general application, you cannot count on your users having them. Some day
this may become a reality, but until then...
 
M

Michael Giagnocavo [MVP]

Yes, web apps are WAY over hyped. I've been saying this since '95 or
'96 when people would say "see this frog disection thing online, isn't
that cool?", and I'd say, if I gave you a CD with that app on you'd
say "oh, interesting." and throw it away.

We just had a bank want to build new teller software. They *insisted*
on having a web-based interface. The project cost to provide a UI
anywhere remotely near the quality of a Win32 app was going to be
huge. Then they thought since it was web based, they could run it in
Netscape on Linux. Plus they totally forgot the part where they need
to print receipts using native libraries (which you simply can't do
easily on a web page).

Just goes to show you how some people will have been hypnotised into
"web...web...web..." that it way overclouds thier good sense. I think
it's starting to get a bit better (during the Internet boom it was
just ridiculous).

Anyways, always consider the project needs. Another cool twist that
..NET adds is the ability to host .NET Win Forms controls in IE :)...

-mike
MVP
 
O

owen

Jon Skeet said:
You would, but would your customers? In a situation where product A has
a demo version which installs easily and it does 90% of what the
company wants, and product B has a demo version which takes hours to
install but does everything the company wants, often a company will go
for product A...

And that's wrong!!! Part of our job as IT professionals is to educate the
customers about what benefits them most... they must be made to see beyond
the installation, and think carefully about the long term usage - ie. how
their lives will be made easier / more difficult as a result of the end
product. They might be happy with the speed and ease of installation - but
after four weeks using hte product, will they be regretting their choice?
Happy customers must remain happy, long after installation.

A difficult two weeks of deployment will soon pay for itself, if the
application meets their needs perfectly, performs better, and is developed
in half the time of the web based equivalent...

Besides which, winforms based deployment needn't be difficult: Just have a
thin client front end but keep all the data tier and business logic on the
server; give the users a URL to download the front end, and Viola! Job
done. (You'd give them a URL to the .Net framework too, but longer term
this will be shipped with most MS operating systems anyway).

Owen
 
O

owen

Marina said:
It depends on who you ask what is more important. If a big corporation has
1000 employees that all use the same application, you will see the IT staff
will not be happy about upgrading every workstation every time there is a
service pack or a critical service patch.

I dont think it has to be so difficult. How about giving the users a URL
to directly download the upgrade. Just email it to everyone. Keep the
upgrade/patch on a production server and there you go. And besides if the
product is good quality the 'patches' will be rare, and when they happen,
will be seen as being worth the 5 mins (or whatever) it takes to upgrade.

Depending on product, this might
need to happen once a month or more, and you will instantly see the
benefit.

If you are releasing service patches once a month you've got a very poorly
tested product!!!
More and more companies are moving toward buying web enabled applications
because of this maintainability issue.

Hold on a second. Maintainability is one thing, but what about Support?

We've got a web based application which is installed at around 30 different
companies. Each of those 30 sites have their own unique combination of
Browser versions, IIS versions, server types, thin/thick client
combinations, O/S versions, etc. etc. etc.

Supporting the product is a nightmare because you have to first try and
replicate their exact environment before you can investigate any problem.
(because half the 'bugs' in web apps are in fact a consequence of specific
environmental factors such as caching or unsupported javascript in the
browser version). -- With winforms applications you dont have any of that
crap. It's a simple .EXE, and you can debug it. Easy. Doesnt matter
about the other stuff. And guess what, the user's happy because you fix the
problem quicker.
Also, more and more people work from home, or need to login while away on a
business trip. This is becoming a frequent scenario, and the idea of being
able to use the application from and PC with a browser is a big plus.

Yeah... until you try using it, and realise it performs awfully slowly and
you cant do basic UI functions like navigating through a grid, or updating
values without having round trips to the server, because HTML is designed
for web pages, not sophisticated software applications.
However, winforms can be deployed from a server via a virtual directory.
Bingo!

However, most users do not have the .NET framework installed, so for a
general application, you cannot count on your users having them. Some day
this may become a reality, but until then...

I think that day is upon us NOW, or certainly will be upon us by the next
release of Windows.

Owen
 
O

owen

Michael Giagnocavo said:
Yes, web apps are WAY over hyped. I've been saying this since '95 or
'96 when people would say "see this frog disection thing online, isn't
that cool?", and I'd say, if I gave you a CD with that app on you'd
say "oh, interesting." and throw it away.

A frog disection on CD? Cool! I'll take it !!! ;o)
We just had a bank want to build new teller software. They *insisted*
on having a web-based interface. The project cost to provide a UI
anywhere remotely near the quality of a Win32 app was going to be
huge. Then they thought since it was web based, they could run it in
Netscape on Linux. Plus they totally forgot the part where they need
to print receipts using native libraries (which you simply can't do
easily on a web page).

Oh dear.... yep, thats exactly the kind of thing which frustrates me.
People just dont seem to think it through, they just think "must be web
based, must be web based". Rarely do they stop and ask themselves: "WHY?".

When I ask my manager why we produce web-based apps, he says: "Because it's
what people want". When I ask "Why do they want it?" I'm told, "They just
want it". It's crazy!

Owen
 
J

Jon Skeet

owen said:
And that's wrong!!!

Only if the time taken to make up for the missing 10% is more than the
time spent installing and maintaining the software that gives that
missing 10%.
Part of our job as IT professionals is to educate the
customers about what benefits them most...

No, that's the job of sales. Our job is to make the benefits available
in the first place, and make them as easily available as possible.
they must be made to see beyond
the installation, and think carefully about the long term usage - ie. how
their lives will be made easier / more difficult as a result of the end
product. They might be happy with the speed and ease of installation - but
after four weeks using hte product, will they be regretting their choice?
Happy customers must remain happy, long after installation.

Sure - but people can be happy with a maintainable but suboptimal
solution and equally can be unhappy with something which gives them the
moon on the stick but can't be maintained.
A difficult two weeks of deployment will soon pay for itself, if the
application meets their needs perfectly, performs better, and is developed
in half the time of the web based equivalent...

Two weeks of deployment pain can only pay for itself if the difference
is two weeks' worth of benefit. Not all apps will be able to give that
much benefit differential.
Besides which, winforms based deployment needn't be difficult

That's an entirely different point. I was only replying to your
suggestion that ease of installation is effectively not an issue.
 
O

owen

Jon Skeet said:
No, that's the job of sales. Our job is to make the benefits available
in the first place, and make them as easily available as possible.

.....Well we don't all have the luxury of a large, dedicated sales force ;o)
Sure - but people can be happy with a maintainable but suboptimal
solution and equally can be unhappy with something which gives them the
moon on the stick but can't be maintained.

Agreed. But why can't it be maintained? Why is that so hard? With a
little forethought it can be easy, especially if it's a 'thin' front end
with all the business logic on a server.
Two weeks of deployment pain can only pay for itself if the difference
is two weeks' worth of benefit. Not all apps will be able to give that
much benefit differential.

Again I dont understand why it must be as "painful" as you seem to suggest.
But I take your point, the product as a whole must deliver more benefit than
inconvenience!
That's an entirely different point. I was only replying to your
suggestion that ease of installation is effectively not an issue.

....Hence my use of the word "Besides"...... ;o)

Owen
 
J

Jon Skeet

owen said:
....Well we don't all have the luxury of a large, dedicated sales force ;o)

You don't need a *large* dedicated sales force - but just as I wouldn't
trust most salesmen I know to write software, why should they trust
developers to sell it?
Agreed. But why can't it be maintained? Why is that so hard? With a
little forethought it can be easy, especially if it's a 'thin' front end
with all the business logic on a server.

Sure - I wasn't taking issue with maintainability being possible. I'm
just saying that it's more of an issue than you seem to acknowledge.
Again I dont understand why it must be as "painful" as you seem to suggest.

I wasn't suggesting any such thing - I'm just responding to your view
that installation pain just doesn't matter.
But I take your point, the product as a whole must deliver more benefit than
inconvenience!

Right - and you should also accept that people aren't willing to gamble
two weeks installing something which *might* meet all their needs when
they may well see something which they can get up and running in 10
minutes and which serves *most* of their needs.
...Hence my use of the word "Besides"...... ;o)

Fine - different debate then, and one which I'm not particularly
arguing about.
 
K

KN

Major problem is security. A lot of IT departments do not give full
administrative rights to the end user to his own desktop.

IT departments are very touchy about non certified applications installed on
the box. One more reason things move onto the web. IT maintenance cost(which
is always pretty high) is a lot lesser if they have to maintain a few
servers to every desktop in the company.

But I agree that by moving to web we are denying the end user with a lot of
functionalily and better productivity. Well in a lot of cases that end users
time is not as expensive as the IT support guys time.

But with .Net things can change as there is a lot of security features in
..Net which the administrator can configure and control. But .Net is very
much in the beginning stages. At the moment its hard to say which direction
it is going to go to.

I personaly would love to give my users more functionality and performance.

KN.
 
M

Michael Giagnocavo [MVP]

Part of our job as IT professionals is to educate the
No, that's the job of sales. Our job is to make the benefits available
in the first place, and make them as easily available as possible.

Yep! Clients have a list of checkboxes they look for. If App1 can
check off 10 and App2 can only check off 8, then they like App1 :).

In the case of the client wanting the "web app" for their software
that needed native Win32 API access, we decided to do this: Make a
web page with an Active X control on it. Write everything inside the
Active X control. Viola! Checkbox "Is web enabled?" filled.

Reminds me of a time this guy I know wrote an app in ASP. Later, the
clients *insisted* that it be .JSP. Solution? Rename .asp to .jsp
and map the .jsp pages to ASP filter. Result? They were happy.

-mike
MVP
 
N

ncaHammer

Jon Skeet said:
You would, but would your customers? In a situation where product A has
a demo version which installs easily and it does 90% of what the
company wants, and product B has a demo version which takes hours to
install but does everything the company wants, often a company will go
for product A...

if the 90% was a real number i will agree with you
But imho a web app has less than 5% of what a win-app has in UI richness and
general functionality
if inside the boundaries of those 5% you can deliver what a "company wants"
then the company has very small expectations and you have a lot of
competition to deal with
 
N

ncaHammer

owen said:
I am starting to wonder if web applications are really the way forward for
software.

Asking this in a dotnet forum ?
dotnet is "the end of the browser"

IMHO you should use Web for very basic stuff (reports, add-to-basket orders)
for serious app functionality use WinForms and pick some auto-update method

http://msdn.microsoft.com/msdnmag/issues/02/07/NetSmartClients/default.aspx
is a good start, but you can find many more searching www.windowsforms.com
or www.gotdotnet.com
It's true that deployment is infinitely quicker with web-based solutions.

In Web client side code (ie basic validation) must be performed using
java-script.
It maybe powerful to combine it with IE object model, but still is a
weak-type, interpreted language.
despite the fact that you distribute the source code i doubt it will ever
was (or be) a language that a company can heavily invest on, to write any
part of an app (offers no added-value)

Add this to the already *very* poor UI functionality that browsers have, to
reach today facts : browser is dead as app platform
 
G

guy

one misconception seems to be that for a winforms app you
have a maintenance overhead - when making a change you
have to update each workstation even if it by downloading
it via a url.
this is *** wrong ***
all you have to do is ensure the workstation has a trust
to your applications server and then run the app directly
from the server - no code on the workstation at all - just
like we used to do in dos days!

all the workstation needs is the Framework and in a year
or two most of them will have that anyway

hth

guy
 
O

owen

Add this to the already *very* poor UI functionality that browsers have, to
reach today facts : browser is dead as app platform

Hallelujah!!!!! Oh happy day!

Maybe we can all get back to writing "proper" software now!!!

:blush:)

Owen
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top