Yet Another Web Application Mess...

N

nuklea

Face it, every day there is another framework coming out for web
application contruction. We developers all know that all of them are
not easy to learn. Each new framework be it struts, tiles, ajax, flex,
and all those variants are one way or another introduced another
concept. Their intentions are to make web application easier to
maintain but in reality a huge development effort introduced at all of
the application lifecycle. We know that web application is not meant to
be user friendly. Web application or application based on browser is
not meant to be user friendly because the browsers are not meant to
support complex user interface. Web application is for wider and
broader audiences. That is all about it. Why then developers are still
hacking their life away trying to make web application have rich user
interface? Is it because they are having nothing better to do ? On the
contrary, it is because they are driven by the users or business that
have no faintest idea about the browser limitation. It is time the
developer or system designer to tell the user that to truely attain
rich user interface they have to dump the browsers. It is time to go to
Swing or SWT based application. Switching to Swing or SWT will save
business lots of money in the contruction, maintain and support. Most
mission critical applications within the enterprise are not meant to be
used outside the company anyway and why build it like that?
I have worked on a project that a client want to turn a Swing
application to be a web application just for one user who happened to
be worked mostly from home. After a brief consultation with the client
it was concluded that it was a bad idea. The rich user interface has to
be watered down, the web server, application server, security
ramification, not mentioning hardwares and network usages, and all
those stuffs that come with web application package. The development
cost can easily double or triple the cost of building a Swing or SWT
based application. It is time to stop building complexity into a web
application that is not meant to be.
 
G

gerrards8

Inefficient WebApps exist for the same reason why many people like to
spend their next 4 weekends painting their house with primitive inferior
tools that they got at the Home Depot (after watching some show on the
Home & Garden Channel), while a professional painting crew can do a much
better job in 2 to 3 days.

Efficiency (*user's* efficiency that is) has suffered the most from
these HTML/JavaScript type apps, but large businesses are pushing their
customers to serve themselves (login and use a dumb webApp), and could
care less about the customer's efficiency. The most important factor
they consider is their customers reach (i.e., no Java Plugin required).
This is no different than making their customers suffer by queuing
them into some stupid automated phone system for 35 minutes before
reaching a human being. Small businesses are just monkies that like to
mimic large businesses as that makes them look bigger! And governments,
.... well ... let's just say Inefficient Dumb HTML WebApps are now the
fashion!

So, long live the WebApp frameworks!!!!! and specially those XML
configuration/mapping/screwing/... files that go with them!
 
D

dave

One big advantage of web applications is that it's
very low-impact to release updates.

After updating the server, all users in your company
instantly have the new version with no action from
their part.

Imagine having to update a Swing application on
every workstations in your company each time
an update is released ...
 
R

Roedy Green

It is time the
developer or system designer to tell the user that to truely attain
rich user interface they have to dump the browsers.

the thing that is so crazy is code I wrote for DOS back in the early
80 to do data entry sorts of applications can still run circles around
anything you do with thin client.

You got on the keystroke validation of things like phone numbers,
zips, states, provinces, amounts, codes.

The program could guide you though a complex form hiding the parts
that is discovered did not apply to you, or revealing extra parts, all
in the twinkling of an eye. None of this waiting 5 seconds to find
out about a error you keyed 40 seconds ago.

I think the key will be shipping compressed serialiased objects back
and forth between client and server. The client fully handles data
entry and validation on a keystroke level.

In addition you will have generic clients. You send them a descriptor
of an object and they dynamically compose a program to display and
edit it based on a style sheet.

Common business objects will become primitives, e.g. global address,
global phone number. It will not be the programmer's concern even
what fields are in there. It will be that class's concern alone that
Germans have a two part zip code. It will be that class's concern
alone to validate Canadian postal codes for
Letter-digit-letter-digit/Letter-Digit pattern, with some digits and
letters illegal. It is ridiculous that every business app starts from
scratch, and does a half-assed job of it. Remember the bad old days
when every one wrote their own Calendar class specifically different
for every app! It is just as silly for business logic.

An address will be treated atomically, perhaps displayed in
different ways depending on how much print or screen real-estate is
available.
 
I

Ingo R. Homann

Hi,

Roedy said:
... in the early 80...
It will be that class's concern alone that
Germans have a two part zip code.

Note that this was true in the early 80es but is no longer true since...
ah... the late 80es.

SCNR,
Ingo,
33615 Bielefeld
 
N

nuklea

You don't need to have a Swing app at the user station. You can serve a
swing app with the java web start or you can have a it residing at a
shared drive.
 
R

Roedy Green

care less about the customer's efficiency.

oh my goodness. How many websites have demanded my phone number and
address keyed in some unique form, yet not a one has ever phoned me or
written me a letter.

Web folk collect info they don't need.

Surely that sort of info could be given automatically in lump as an
electronic business card, like a vCard.

Think what happens when your email, phone number or mailing address
changes. You must manually notify hundreds of websites, all with
unique ways of accepting the info.

But that does not matter. This is CUSTOMER labour.

Ditto install programs that ask a question every 3 minutes for several
hours. They must be babysat. But since the customer is doing it, who
cares?
 
G

gerrards8

the thing that is so crazy is code I wrote for DOS back in the early
80 to do data entry sorts of applications can still run circles around
anything you do with thin client.

Even Telnet based clients running some Text UI based Wyse/VTxxx
emulation on a *28K* modem outperform dumb webApps over broadband in
both performance (although they send each keystroke back to the server
as it is typed) and user efficiency (proper intelligence, stateful
interaction).

How, we programmers, have allowed this sort of humiliation to our
professional standards is beyond me! :) It's no different than asking
today's architects to design and build colorful tents as our next
generation housing standard. Hey, they're light weight and can easily
be patched when they're torn!!!
 
M

Monique Y. Mudama

Think what happens when your email, phone number or mailing address
changes. You must manually notify hundreds of websites, all with
unique ways of accepting the info.

May I chime in with my current pet peeve? Sites that use my email
address as my username. As if this is some sort of permanent
identifier. My own email address changes rather infrequently, since I
have my own domain, but so many people switch email addresses every
time they switch ISPs! I'm paying for a yearly mailsnare.net
subscription just because I have some accounts using that address ...
 
J

jan V

How, we programmers, have allowed this sort of humiliation to our
professional standards is beyond me!

Because the vast majority of programmers

a) lick the boots of their managers/bosses, even if those boots are coated
with shit

b) don't have the guts to step back and say "Hang on a sec, does this really
make sense?"

c) don't have the spine to tell their managers that they (poiltely) refuse
to work on a nonsensical architecture or project

It takes guts to be honest and true to rational & critical thinking. Too
many are just cowards, prefering to collect their monthly pay cheques and
keep a low profile. It's a very, very sad state of affairs, but it's the
plain and simple truth.
 
J

jan V

oh my goodness. How many websites have demanded my phone number and
address keyed in some unique form, yet not a one has ever phoned me or
written me a letter.

Web folk collect info they don't need.

This is due to a failure in requirements gathering and, essentially, proper,
controlled pre-implementation analysis.

You can just imagine the poor web developer staring at the flimsy single A4
requirements doc, and then start improvising and extrapolating ... "Hmm.. I
guess this system could use the user's email address too... hmm... and
birthday... oh, and annual income... could come in handy at some point.
That's going to be a nice fat form. Right, better start coding before I
discover any more must-have fields"
 
J

jan V

One big advantage of web applications is that it's
very low-impact to release updates.

After updating the server, all users in your company
instantly have the new version with no action from
their part.

In Belgium the powers that are (arseholes) decided to let the populus fill
in their tax returns via the web. It's a good thing that releasing updates
is "very low impact", as you put it, because the system still doesn't work
properly several months after initial launch. If the state had gone for a
Swing-based Java app, the whole thing would probably have been written in a
quarter of the time, for less taxpayers' money.
 
O

Oliver Wong

jan V said:
Because the vast majority of programmers

c) don't have the spine to tell their managers that they (poiltely) refuse
to work on a nonsensical architecture or project

It takes guts to be honest and true to rational & critical thinking. Too
many are just cowards, prefering to collect their monthly pay cheques and
keep a low profile. It's a very, very sad state of affairs, but it's the
plain and simple truth.

I think this last point is very unfair. I need my paycheck to support my
family and pay my rent. When my manager comes to me with a project that
doesn't make sense, I do very politely tell him that the architecture
doesn't make sense and I recommend certain changes. Sometimes he accepts
these changes and all is well. Other times, he doesn't (usually because the
clients themselves want it that specific way). In that case, I just go ahead
and do it exactly the way they want.

It has nothing to do with dishonesty or being a coward; if the client
wants something a certain way, and if they are the ones paying for it, then
you just go ahead and do it the way they want it.

If the clients asks me to murder someone, then I'll refuse even if that
means I'll get fired. But if the clients ask for a program that is
intentionally slow, hard to maintain and buggy, then it's not beneath me to
give them exactly what they want.

- Oliver
 
J

jan V

It takes guts to be honest and true to rational & critical thinking. Too
I think this last point is very unfair. I need my paycheck to support my
family and pay my rent. When my manager comes to me with a project that
doesn't make sense, I do very politely tell him that the architecture
doesn't make sense and I recommend certain changes. Sometimes he accepts
these changes and all is well. Other times, he doesn't (usually because the
clients themselves want it that specific way). In that case, I just go ahead
and do it exactly the way they want.

Exactly my point. You are part of the problem. You exhibit the cowardly
behaviour I outlined. Your excuses ("if the client wants something a certain
way..") are completely unprofessional. In part because it gives our
profession a bad name.

Recently I attended an interview where the senior software manager admitted
that 70% of all their projects end up producing "shelfware"; software that
sits on a shelf, collecting dust. I thought this guy was the pits for being
pivotally involved with such a long-term instutionalization of waste. It is
a disgrace. The company offered me the job, I declined to become part of
their nonsense outfit. Any self-respecting professional would do the same.
If the clients asks me to murder someone, then I'll refuse even if that
means I'll get fired. But if the clients ask for a program that is
intentionally slow, hard to maintain and buggy, then it's not beneath me to
give them exactly what they want.

The mercenary attitude is despisable in all walks of life. It's mercenaries
like you who help build systems which cost taxpayers phenomenal amounts of
money (remember the Y2K scandal), and which cause phenomenal amounts of
frustration, disruption, and downright damage.... and all because of the
age-old argument "I've got a family to feed, you know.". I've got no doubt
you could still *feed* your family by raising your ethical professional
standards and *not* be part of the problem.
 
G

Giovanni Azua

jan V said:
Exactly my point. You are part of the problem. You exhibit the cowardly
behaviour I outlined. Your excuses ("if the client wants something a
certain
way..") are completely unprofessional. In part because it gives our
profession a bad name.
Is anywhere the "Customer is always right" concept in your head?
Supppose you are a freelancer, top Software Engineer, and you are asked
by your most loyal customer to build something that is slightly out of your
super-hero-ego spectrum, then you would say ohhh no, I will not do the
job because it is against my super-hero-ego? come on give me a break!
Recently I attended an interview where the senior software manager
admitted
that 70% of all their projects end up producing "shelfware"; software that
sits on a shelf, collecting dust. I thought this guy was the pits for
being
pivotally involved with such a long-term instutionalization of waste. It
is
a disgrace. The company offered me the job, I declined to become part of
their nonsense outfit. Any self-respecting professional would do the same.
This is a very different situation than what Oliver was talking about.

Regards,
Giovanni
 
G

gerrards8

Giovanni said:
...
Is anywhere the "Customer is always right" concept in your head?
Supppose you are a freelancer, top Software Engineer, and you are asked
by your most loyal customer to build something that is slightly out of your
super-hero-ego spectrum, then you would say ohhh no, I will not do the
job because it is against my super-hero-ego? come on give me a break!
,,,

Perhaps you can refer to the original post. No, here is a direct quote
from the original poster:

"I have worked on a project that a client want to turn a Swing
application to be a web application just for one user who happened to
be worked mostly from home. After a brief consultation with the client
it was concluded that it was a bad idea.".

That's professionalism, not "super-hero-ego" as you put it.
 
J

jan V

Is anywhere the "Customer is always right" concept in your head?

I know the concept, and I think it's a ridiculous concept. It's the same as
saying "I'll create anything provided the money is right." This attitude
leads to gross abuses of power (in both directions of the
customer-contractor relationship), and often leads to completely useless
systems. If you advocate "Customer is always right" then you know very
little about the requirements gathering stage of the project lifecycle. I
suggest you read up on some modern texts on requirements
gathering/management/engineering... and you will see that that professional
attitude is most definitely not a blanket "Customer is always right".
Supppose you are a freelancer, top Software Engineer, and you are asked
by your most loyal customer to build something that is slightly out of your
super-hero-ego spectrum, then you would say ohhh no, I will not do the
job because it is against my super-hero-ego? come on give me a break!

Egos don't come into it, if you're a professional. If you're a professional,
you suppress your ego so that you can do the proper thing... and that means
following [software engineering] rules and procedures, without letting your
ego, or your customer's ego, get in the way to producing a successful
solution for the problem at hand.
 
G

Giovanni Azua

Perhaps you can refer to the original post. No, here is a direct quote
from the original poster:

"I have worked on a project that a client want to turn a Swing
application to be a web application just for one user who happened to
be worked mostly from home. After a brief consultation with the client
it was concluded that it was a bad idea.".

That's professionalism, not "super-hero-ego" as you put it.
I was refering to the examples coming after the original post.
I agree it is professional to immediately identify and suggest to
the customers from doing a wrong decision BUT something
very different is the customer even being aware of the issue
and asking especifically for it? will you say no?

e.g.

Lets extend a bit the case quoted by you. The customer says yes
he agrees a Swing Application will do better the job but still he insists
he wants the thin client web application and he will be paying you
half million USD? Are You going to say no? ok if you just won
the lottery and develop software for fun, then you don't even
have customers ...

Regards,
Giovanni
 
G

Giovanni Azua

Hi,

Kind of out of topic, is there any exhaustive comparison
of Java Web Application Frameworks including more
than just a ppt with overall differences?

I would like to find:

- The same project with some level of complexity developed
using each existing different Web Framework.

- Use code metrics to estimate the maintainability of each
different implementation. Possibly including stats on lines of
functional vs framework-specific non-functional concerns code.

- Time required to a) add a new functionality b) modify existing

- Exhaustive comparison matrix including all possible features and
whether each Web Framework includes it and if not how to
workaround it.

If this does not exist wouldn't it be a great candidate for a
meta- open source project? :)

Regards,
Giovanni
 

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

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,071
Latest member
MetabolicSolutionsKeto

Latest Threads

Top