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!
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 ...
> 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.
--
Canadian Mind Products, Roedy Green.
http://mindprod.com Again taking new Java programming contracts.
Roedy Green wrote:
>... 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
>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?
>Imagine having to update a Swing application on
>every workstations in your company each time
>an update is released ...
JAWS!
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!!!
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 ...
--
monique
Ask smart questions, get good answers:
http://www.catb.org/~esr/faqs/smart-questions.html
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.
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"
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.
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
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.
> 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
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 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.
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
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
Prostitution is indeed practiced in evey field, software development is
no exception. However, once you violate your professional standards, you
are no longer qualified (not technically, but ethically). In other
fields, such as medical, legal or civil engineering, you'd loose your
license, I'm sure you'd find a surgeon who would amputate someone's
perfectly healthy legs if she/he's offering a half million USD and a
written statement relieving the surgen from all liabilities. However,
that surgeon would become a real estate investor the next morning! :-)
Yet, the client also has the option of going offshore and get the
amputation done for 10% of the price :-D
- There is no lie nor scam to the customer, no fake orgasm :-)
since it was stated at the very beginning that this was not the
most appropriate solution.
- Assuming the application content is ethically appropriate, you
are not doing any non-ethical work, just a web application.
> fields, such as medical, legal or civil engineering, you'd loose your
> license, I'm sure you'd find a surgeon who would amputate someone's
> perfectly healthy legs if she/he's offering a half million USD and a
> written statement relieving the surgen from all liabilities.
This is a completely non-sense comparison example :-P
Regards,
Giovanni
Maybe you could give me your definition of unprofessional (or
equivalently, your definition of professional), as I don't see how what you
call my "excuses" as being unprofessional.
Let's say you're a chef, and your customer asks you to make an omelette,
and then asks you to put some ketchup on the omelette, and let's say that in
your opinion, omelettes shouldn't have ketchup on them. Are you doing to
refuse to put ketchup on the omelette because doing so is beneath your
standards, or are you going to do it because that's what the customer asked
you to do?
I would think that the chef who refuses to put ketchup on the omelette
is far more unprofessional than the one who does. The refusing chef has some
sort of diva complex, thinking himself to be far more important than he
really is.
> 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.
I don't think the statement "Any self-respecting professional would do
the same." is universally true. As a counter example, I consider myself to
be a self-respecting professional, and I would not have done the same as
you.
>> 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.
My understanding of mercenary is that it means to be solely motivated by
money (Dictionary.com agrees with me:
http://dictionary.reference.com/search?q=mercenary). The example I stated
where I said I wouldn't murder someone for money specifically shows that my
attitude is not mercenary in nature.
It's very easy to bash Y2K in hindsight. When programs with the Y2K bug
were written, it was around 20 or 30 years before the year 2000, and no
program had been older than 10 years old by then, the vast majority of them
being barely a year old. It seemed to be a statistical anomally that any
program would last for 30 years.
Furthermore, there was a major memory problem back then. A savings of 2
bytes was a big savings money wise.
When a customer asks you to write a calendar program for them, do you
ensure that it will display valid dates back until the known age of the
universe, and infinitely forward? Do you invest in several millions of
dollars to build some sort of hot-swappable RAM architecture so that when
you 2 GBs of RAM isn't enough to hold the date far enough into the future,
you can swap it in for 4 GBs of RAM without rebooting the system? Do you
then write a x86 emulator so that the user can also run his favorite Windows
applications on your new architecture? No, it simply doesn't make business
sense because the amount of money it'll cost to fix this problem now is too
large compared to how much it'll cost to fix it when the problem actually
arises.
I think you're of the mentality that software engineers are like
unapproachable wizards or oracles who live in their ivory towers to whom
even kings must bow down in order to consult with their sage advice. Then
when people like me come along who help out the local villagers with
whatever problems they have, without all the mysticism and the "You are not
noble enough to have earned my help" pretentiousness, you complain that I'm
lowering the standards of wizardry and giving wizards a bad name.
- Oliver
I'll have myself examined, thanks for the tip! :-)
Never heard of "Professional Prostitution"? The term is widely used in
the medical and engineering practices. A quick google search on "what
is professional prostitution" will supply you with a bit more info such as :
#1: http://www.reporter-archive.mcgill.ca/Rep/r3206/macklem.html
#2: http://ngin.tripod.com/090202a.htm
Main symptom of professional prostitution:
"If professional values fail, professional prostitution results."
Fake orgasm or not, your half million USD example is indeed professional
prostitution.
> Fake orgasm or not, your half million USD example is indeed professional
> prostitution.
>
Why?
Regards,
Giovanni
Absolutely agreed.
Apparently Jan has never heard the expression, "The customer is always
right."
Give me a break.
If your problem domain is aerospace, flight, medical equipment, etc.
and your customer insists that you do something in a way that you know
will cause the system to fail, then yes, it is unprofessional to do it
that way.
If your problem domain is a tetris-style game, though, and your
customer asks you to make it an Applet when you think it would be
better implemented as a stand-alone app? Refusing to do this makes
you difficult, not professional.
Whether they are genius so their bosses tolerate their whole
bunch of arrogance and eccentricity or they are bastardly rich who
have never had to work for a living.
Regards,
Giovanni
When you knowingly and willingly participated in building a solution
that is not in the best interest of your client, you have violated your
professional values, regardless of the client's approval. Your were
bought with the client's money, and that constitutes nothing less than
professional prostitution. The fact that you fail to see the similarity
to someone asking a surgeon to amputate his legs for no good reason does
not surprise me.
The applet vs stand-alone example is somewhat weak, but your point is
well understood.
Suppose that instead of an Applet, the client wants it as an
HTML/JavaScript only webApp, that refreshes the page at least once every
second, downloading dynamically generated graphics from the server.
Where would do you draw the line that defines what redicoulous is? Say
now the client has put good $ on the table to get it done. Yes, it's
not rocket science, but it would clearly be unprofessional to accept.
I would do my damnedest to understand the problem they're trying to
solve and present to them a viable alternative.
If they still want to do it their way, and I believe that their way is
actually possible, then I wouldn't refuse. Refusing is basically saying
to the client that they're idiots who can't understand your
oh-so-complicated job. I don't think that's professional, either.
That being said, if you can communicate technical issues to
non-technical people effectively (which should be part of the job reqs
for anyone interacting with customers), it shouldn't get to this
point.
It is not up to the programmer to have the final say in what is in the
best interest of the client. If the programmer suspect that the solution may
not be optimal, she may explain why to the client, but it is the client
alone who has the responsibility of deciding what is best for the client.
- Oliver
Agreed. Anything else is patronizing.
It's not an issue of responsibility, it's an issue of values and ethics.
When a programmer accepts a project knowing that it's a bad solution
for the client, then that's just a violation of professional values.
Not knowing what is good or bad solution for the client has a different
definition: incompetence.
Not nescessarily. Sometimes the company I work with deals with very
secretive clients, or with the government. In situations like these, quite
often any questions about the environment that the product will run in are
met with "You shouldn't need to know that." In these cases, we don't know
for sure that the solution we're producing is the best (from a technical
perspective) one for the client's computing environment, but this has
nothing to do with incompetence.
I think you should make fewer generalizations. The way you phrase your
statements, you seem to be implying that they are universally true when that
is not the case.
- Oliver
Next time you go to the doctor with a serious problem, please, please ask
him to prescribe something *you* think will solve your problem. Then when
your chosen medication lands you into much deeper shit, please go complain
to your doctor for prescribing you something that made matters worse.
Maybe (thought I doubt it), this thought experiment will make you see the
light.
Your comparison of writing non-critical software to medicine is
insulting to doctors. They have to worry about people dying if they
make the wrong decision. That's completely different from the vast
majority of software projects. If a software project is critical,
then yes, refusing to do something that might cause the system to fail
is important. But for most projects, this simply isn't the case. The
worst that will happen is that customers will choose a different
product.
That being said, I do research my options and make suggestions to my
doctor. I have most certainly refused to take medicine and left a
practice before when I felt the doctor was trying to drug me without
actually paying attention to what was wrong. A different doctor
actually listened to me. The expert isn't always right.
Lowering down the example I made before, lets say that there
is no such half a million USD to remove the touch of suspiciousness
and possible convenience. Lets now put the company or developer
offers its customer the Swing App but the customer ask explicitly
for the thin web application ...
How can You define the line of difference between what the
customer *wants* and what the customer *needs* ? Sometimes is
obvious but here not ... there are no death bodies, no crime, no
threat as consequence of the choice made and most importantly
the developer/company has not made "Professional Prostitution"
but just satisfied that customer demand and made the customer
happy e.g. perhaps because the customer wants to hire more
data entry people in the near future and is just trying to be cautious.
Does "happy customers are returning customers" ring a bell to you? :)
I admit at the beginning I was very defensive and exceptical
about your arguments but now I see you much more positively :-)
Best Regards,
Giovanni
I don't see the negativity in this professional prostitution phrase,
anyway. Prostitutes are there to make their customers happy. It's
certainly been a viable profession far longer than software
development has.
Do you think a prostitute is going to say, "I know you say you want
this, but I don't think it's the best way to get you off, so I'm not
going to do it?" And why would saying that be a good thing?
> Do you think a prostitute is going to say, "I know you say you want
> this, but I don't think it's the best way to get you off, so I'm not
> going to do it?" And why would saying that be a good thing?
>
I would never trust and accept as "good thing" someone
willing to sell anything including its own body and dignity,
and I come from a country where economical and political
pressure takes the worst from each person.
I was trying to show at the beginning that they were being too
radical with those judgements, likely each one of us has
its own line of defining good from bad, I thought they were
on the very low tolerance side.
Best Regards,
Giovanni
LOL
And that's exactly what it is... Make customers happy for the money,
regardless of ethical standards.
Not really... You're overlooking the "incompetence" factor! :-)
Why is this so difficult to understand?
The line is usually very clear. If there is no clear advantage of one
solution over the other, then the issue does not exist. However, when a
customer insists on what you have determined to be the wrong solution,
then *you* make the choice between professionalism and business. I
doubt that the customer will ever come back should you decide on the
latter; perhaps the customer's lawyers will.
> I admit at the beginning I was very defensive and exceptical
> about your arguments but now I see you much more positively :-)
>
> Best Regards,
> Giovanni
>
I'm certainly glad you're taking this positively, specially when we're
discussing orgasms :-)
I don't see what why this sort of sex is considered unethical. I
wouldn't do it if I could avoid it, but then, I wouldn't work on an
oil rig or in retail either. Nothing to do with ethics.
Right, consensual sex is just like matricide.
I think I'm done here ...
I'm with you 100% Monique. There is nothing inherently ethically wrong
with having sex with someone in exchange for money, especially when all
parties involved are consenting adults (in my opinion anyway).
Perhaps gerrards8 is from a culture where sex is considered to be
ethically bad. It doesn't make sense to me, as most people I've met owe
their existence to sex, but comp.lang.java.programmer is probably not the
place to debate the moralities of sex.
Much more likely, gerrards8 is using the term "professional
prostitution" for its shock value and to instill emotional (as opposed to
logical) responses.
At any rate, it has already been addressed why we believe that barring
any exceptional circumstances (e.g. developping buggy "nuclear-weapon
controls" software) there is nothing wrong with producing software according
to the client's specifications. Unless gerrards8 brings up new arguments
other than "doing what the customer wants == prostitution; prositution ==
bad; therefore by transitive property, doing what the customer wants ==
bad", we can probably let this discussion rest.
- Oliver
True enough.
> Much more likely, gerrards8 is using the term "professional
> prostitution" for its shock value and to instill emotional (as
> opposed to logical) responses.
>
> At any rate, it has already been addressed why we believe that
> barring any exceptional circumstances (e.g. developping buggy
> "nuclear-weapon controls" software) there is nothing wrong with
> producing software according to the client's specifications.
> Unless gerrards8 brings up new arguments other than "doing what
> the customer wants == prostitution; prositution == bad;
> therefore by transitive property, doing what the customer wants
> == bad", we can probably let this discussion rest.
Good point. Sometimes it's hard for me to recognize when a debate has
devolved into a "You're Wrong!" "No, you're wrong!" situation. I'll
try to keep my mouth shut, er, my fingers from hitting send.
Indeed. The final choice of a technology may depend on issues such as
business relationships between companies, legal opinions on
intellectual property law, and licensing terms.
The "Software Engineering Code of Ethics and Professional Practice" at
http://www.acm.org/serving/se/code.htm includes:
"2.01. Provide service in their areas of competence, being honest and
forthright about any limitations of their experience and education."
My experience and education qualify me as neither a lawyer nor a
business expert. As far as I can tell, it would be unethical for me to
try to override a decision made by managers who are responsible for
considering all the issues, not just my technical input.
Patricia
> > > 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.
>
> 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.
Nonesense.
The customer gets to call the shots, as they are paying us for our
services. We can wheedle, convince, harangue, but if we do not
convince, then we probably should implement the software the way the
person paying the bills wants. If it is utterly stupid, well, then
implement it in a way that is easy to change. Unless there is real risk
of physical harm, doing anything else is stealing.
Software is rarely life and death.
My wife worked for a city. They had firefighters and paramedics, and
software supporting them _did_ save lives. That software was pretty
carefully checked, because screwing it up could kill someone.
Software that let people type letters, send email, etc., was likely not
as important. It should work, but if it does not, the cost is not
death, and thus failure to test it as thoroughly does not indicate
malfeasance.
So, if someone asks for something dumb that might get someone killed,
then implementing dumb is immoral. If all they are wasting is money,
and it is their money to spend, then I am not sure immoral is the right
term.
As far as this cowardly behavior screed of yours, you might want to tone
it down. Once you get shrill, people stop listening and stop caring.
I remember when a Linux hothead managed to convince the entire IT staff
at one company I was with that Linux is only for young radicals who
hated Microsoft. He used words like 'cowardly', 'unprofessional', and,
in his case, 'evil'. This was not convincing to the IT staff.
Words like 'not cost effective', 'poorly tested', and 'expensive to
relicense each year' about MSSQL then fell on deaf ears for a long time
to come.
All because one twerp decided to say 'I cannot respect anyone who runs
windows, or maintains it. They are stupid, greedy, or both.' Not a
great way to convince a primarily Windows IT shop to look into an open
source alternative.
The same group was willing to look at the MacOS, because I did not tell
them they were fools. I did tell them it let me get more done because
of the underlying Unix layer.
Besides, often clients insist on a dumb idea for a reason. If they will
not or cannot tell me that reason, I may implement what they ask for, so
that its flaws can be exposed. After all, blowing a month on a several
year project to prove that a bad design is bad may be the only way to
convince people, and it may be the only way to get them to tell me why
they wanted the bad design in the first place.
Scott
--
Scott Ellsworth
sc...@alodar.nospam.com
Java and database consulting for the life sciences
> 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 ...
not a problem.
oracle database, preloader .
update part of app when user logs in.
thats what java is for.