Here is the story that is both controversial and funny:
I will withhold specific names etc to avoid tying my story to irrelevant details.
There is a company that produces commercial office applications, like electronic billing applications, company database, and generally everything a small and middle office (or freelancer) uses.
The company is fairly large including i d say from 50 to 100 employees.
My mother bought the software package for 300$ on international market.
To this day she says "I cant use this program, but i guess its all about getting used to it". Getting used ? The software completely ignores any design guidelines(looks like people wanted to build their own GUI on top of windows), doesnt run under Users group (which is also a standard de-fact now) in Windows despite its completely non-administrative nature, only uses ActiveX components (components are great, but activeX components ?!)at its base and is well....slow. This kind of thing may of course be completely of no importance to some especially when office software is concerned, but when i sit with my mom helping her navigate a supposed-to-be-incredibly-easy program design, i wonder where did those 300$ go ?! And its not like she cant use computers..
Sometimes the software reminds me of those cases taken from www.iarchitect.com articles. But the most strong proof of the doubtful quality of this software is of couse me watching my mom struggle with it everytime. She could have easily done all her paper work the old-way instead without paying money for it.
Dont get me wrong the software does have good sides. But it doesn't justify its price and effort spent on using it.
So here is the second part of the story:
I spent some private time investigating the package, and manually discovered some additional bugs (plus those i mentioned already). Wrote them down and used some time on R&D in order to understand how they can be fixed. Then what i did is that i in a polite way I mailed the company and told them that i would like to help them to improve their product either on full-time or freelance basis. I also barely hinted that it NEEDS improvement, in a way so people dont feel harmed by me - i mean i know the programmers there struggle to make product better. However the product approached third generation and some bugs just beg for question "Doesnt this take 10 seconds to fix guys ?". One dont need version updates for THOSE, because no beta testing team that respects itself would ever allow those to slide through their hands.
Yesterday i got answer from them telling me they cannot accept my offer. Now, what i find funny and strange is that they never mentioned the core of the letter i sent them where i specifically hinted them about the quality of the product they provide. It doesnt matter if they really want my help, what matters is their honesty in their answer. Dont want to use my help - fine. This is a free market, and many actors and factors are involved..The fact they never mentioned that they will think about improving their product is much worse.
This is how the market works today - produce crap, and charge so much money for it, that people will think you actually implemented a nuclear reactor into it, and thats why they HAVE to pay that much. Not to mentione a framework that binds ActiveX controls together cannot cost more than 50$ alltogether. I mean that was the reason they chose it in the first place - development costs ?!?!?!
You know you never notice such things until you dsee some regular close relatives or friends of yours who are not geeks but simply want to improve their efficiency and pay good money for it deluded by the marketing folks - and they end up with this.
Just a food to the brain,
Yves M
October 21st, 2002, 09:57 AM
Hopefully they have a (or more) competitor in their field. On a side note, special purpose software is always going to be expensive, since it only has a limited audience and the time needed to produce it is not necessarily smaller than for more general purpose programs.
Amn
October 21st, 2002, 10:03 AM
Originally posted by Yves M
Hopefully they have a (or more) competitor in their field. On a side note, special purpose software is always going to be expensive, since it only has a limited audience and the time needed to produce it is not necessarily smaller than for more general purpose programs.
Somewhere inside i knew you will post the first reply. Call it faith ;)
Now anyway, yes the point is taken regarding the special purpose software, but also keep in mind that its not like they didn't think about costs - they have chose the erm.. ActiveX approach after all..
Simon666
October 21st, 2002, 10:05 AM
That doesn't mean the programmers actually got noticed of your request. These mails are probably handled by some secretary who probably already stops reading at you wanting to help improve the product since :
a) A lot of companies are alergic to possible leaks of industrial secrets, although these "secrets" are often nothing special.
b) It is a lot easier for the person who reads it to write something like that it will not be accepted rather than to go through the hierarchy chain: alert the boss (often not a nice guy) if this is possible and then even if it the person thinks it would be approved and it does reaches the boss, he also does probably not want to take chances of being commented that he and probably the sender too knows nothing about this kind of things, which is for the first person usually the case.
Yves M
October 21st, 2002, 10:17 AM
Well, about the ActiveXs... Our company's product uses quite a lot of these and I'm the lucky (?) guy who programs most of them, so I would not agree that that's necessarily a cost cutting factor ;)
But yeah, Simon you are right about this... Amn, you might have more luck if you had a means of contacting either the head of programming or some programmer directly. But well, some companies are not very open about who works for them and how they can be contacted.
And hum, I'm not sure that saying that you would like to work for them in your letter was a good thing. If you did want to work for them I would rather have gone for an interview. Then while saying that the product was interesting you would have pointed out some of the shortcomings and the ways that you would make them better. This would probably have impressed them much more ;)
Amn
October 21st, 2002, 10:30 AM
Originally posted by Yves M
Well, about the ActiveXs... Our company's product uses quite a lot of these and I'm the lucky (?) guy who programs most of them, so I would not agree that that's necessarily a cost cutting factor ;)
But yeah, Simon you are right about this... Amn, you might have more luck if you had a means of contacting either the head of programming or some programmer directly. But well, some companies are not very open about who works for them and how they can be contacted.
And hum, I'm not sure that saying that you would like to work for them in your letter was a good thing. If you did want to work for them I would rather have gone for an interview. Then while saying that the product was interesting you would have pointed out some of the shortcomings and the ways that you would make them better. This would probably have impressed them much more ;)
ActiveXes are a paradigm. They work like a charm ! - if they work at all. And when they do, they have to be fast and small. You of all should know that. I also did some programming myself, both ActiveX servers and controls. Like i said, the idea is great; it is the implementation that suffers. Still, this is a free world, i am glad you are having a good time with them :)
Yes indeed, you guys are right - i should have drawn other kind of attention and instead either contact the top or explain my intentions in details. I just didn't want to sound like "Your software sucks, if you dont hire me, it will suck for years to come still ;)" Instead i told them literally that i "want to make their products EVEN better" - note the kind of abstract and polite approach ;) Maybe thats what ruined the decision ?
Yves M
October 21st, 2002, 10:43 AM
Originally posted by Amn
Still, this is a free world, i am glad you are having a good time with them :)
I never said I was having a good time with them !!
No seriously, the reason why I'm coding these is because there are no controls on the market that would solve our problems AND would be fast enough. I'm not saying mine are great (otherwise why would I be on the fourth rewrite ? ;)) but if you would look at all my caching you'd see that I'm trying hard to make them fast :p
Originally posted by Amn
Yes indeed, you guys are right - i should have drawn other kind of attention and instead either contact the top or explain my intentions in details. I just didn't want to sound like "Your software sucks, if you dont hire me, it will suck for years to come still ;)" Instead i told them literally that i "want to make their products EVEN better" - note the kind of abstract and polite approach ;) Maybe thats what ruined the decision ?
Well, sometimes one is just unlucky even with the best intentions ;) Maybe the company is realizing that they aren't the greatest and are downsizing so they wouldn't want to hire anybody else. Who knows ?
Elrond
October 21st, 2002, 10:44 AM
Originally posted by Amn
ActiveXes are a paradigm. They work like a charm ! - if they work at all. And when they do, they have to be fast and small. You of all should know that. I also did some programming myself, both ActiveX servers and controls. Like i said, the idea is great; it is the implementation that suffers. Still, this is a free world, i am glad you are having a good time with them :)
There's something else about activeXes. If you want to use them to cut costs, you can sometimes buy them, instead of programming them. THere's more chances you will cut costs that way. There's always the risk that the ActiveX is buggy, or that the conpany that has created is just close, but if you are careful in your choice, make tests, ... you should usually be able to get something correct.
I'd say that for a first version of your product, it can be useful, until you have time to develop your own activeX (or any other type of compenent) to replace it. Even if they can seem sometimes expensive, they will cost you much less than the time required to code it yourself. And if you don't have a specialist in your company, it can also be something you would have had a lot of trouble to do yourself.
On the other hand, a company that only connects activeX to create its project will probably miss something...
Amn
October 21st, 2002, 10:50 AM
There is one ActiveX I simply adore .....(fanfares) ... the Macromedia Flash ! ;)
Such a great functionality and power in a tiny piece of code. Truly experts make most out of anything ! ;)
Brad Jones
October 21st, 2002, 10:57 AM
Alan Cooper ("father of VB") wrote a book called
The Inmates Are Running the Asylum (http://books.internet.com/books/0672316498).
This book is about "why high-tech products drive us crzy and how to restore the sanity". It is all about how applications should work the way people do things not necessarily the way programmers think they should work. (We programmers are some of the inmates....).
I think of this book everytime someone says something like, "I cant use this program, but i guess its all about getting used to it".
-Brad
Amn
October 21st, 2002, 11:16 AM
Originally posted by Brad Jones
Alan Cooper ("father of VB") wrote a book called
The Inmates Are Running the Asylum (http://books.internet.com/books/0672316498).
This book is about "why high-tech products drive us crzy and how to restore the sanity". It is all about how applications should work the way people do things not necessarily the way programmers think they should work. (We programmers are some of the inmates....).
I think of this book everytime someone says something like, "I cant use this program, but i guess its all about getting used to it".
-Brad
Brad saves the day ! ;) Thanks Brad !
Not only that book kicks major butt, also all others on the same page are not amateur works either !!! OMG, such a great literature. Especially the "The Invisible Computer" - the idea which i totally share with the author, he is so right. I didnt read it, i just peeked into its heading.
Elrond
October 21st, 2002, 12:41 PM
Originally posted by Brad Jones
I think of this book everytime someone says something like, "I cant use this program, but i guess its all about getting used to it".
Obviously, it is not that simple. One user will want it to work one way, and another user will want it to work another way. Whatever happen, one of them will say the fatidic "I cant use this program, but i guess it's all about getting used to it". And the programmer will say "But this IS how users wanted it to be!?!?!?".
And on the other hand, somehow, the programmer also have to make user's point of view evolve, as the programmer knows about new and more efficient ways of working that the user doesn't know about.
If we always keep it the old way, bye, bye progress. And finally the tool may end up being relatively slow and inefficient compared to others. If we always keep doing it the newer way, user won't know how to use the product, and if they do not pay it enough, they will just buy another to replace it. Finding the middle of it is almost <i>impossible</i>.
Making a software expensive while it's not easy to use has an advantage: Once the user has paid for it, he will want to be able to use it and make more efforts to do so. On the other hand, I don't say this is how it should be... :rolleyes:
proxima centaur
October 21st, 2002, 01:31 PM
Unfortunatly, this is how the market works.
When the product is for a very specific domain, and even when it's not (e.g. Ms Word) it tends to show the kind of behavior you experienced.
Unless it is a well grown company, which would usually tend to invest in their software, smaller companies tend to hire the minimum programmers to "get things done". This often leads to fast development, and very rarely consistent software. This doesn't mean the programmers aren't good, it means they were too much "goal" driven to even care.
And yes, the bug might be trivial, but if you don't have the time to fix it, because you're working on adding features for example, when are you going to do it? If your boss wants you to add features, he doesn't pay you to fix the bugs, so they stay there. Until somebody finds them, and then it becomes a priority for the company, because you're the client.
So my advice to you Amn is: complain. If they don't listen to you, that means they don't listen to their client and it means they will eventually die by their own out of natural selection.
Meanwhile, you got jipped 300$... but then again, didn't you try it before you buy? :)
Yves M
October 21st, 2002, 01:41 PM
Well, from experience, the most obvious bugs are sometimes the hardest to fix... :p
Why does the caret disappear when I edit and go to another field and then come back ?
I don't believe though that many companies value new features higher than fixing old, known bugs. Either the bug is obscure or it is low incidence or the company is just plain silly :p
proxima centaur
October 21st, 2002, 09:25 PM
They don't value it less than new features. However, they are a lower priority, because they have limited human resources and the new clients want new features! So unless the "older" clients want fixes, they just don't get done.
A company like I describe is very appreciated from custom application customers because it is customer driven. However, if you look at the software produced, it might end up with some "easy to fix" bugs.
And I also speak from experience. :D
SolarFlare
October 21st, 2002, 10:08 PM
I'll take this opportunity to play Devil's advocate:
Imagine I'm the accountant of this company. The goal of a company is to make money, right? Well lets see... we have low costs because we have crappy programmers... we have even lower costs because we don't pay them to find the bugs - as long as the bug doesn't affect most of our users, it doesn't require our attention - ... and we have high profits because I sell the product for an outlandish amount of $$$. High profits and low costs = money for my company! Isn't this exactly what I said was the goal? So, I'm getting consistent sales to uninformed consumers like Amn while not really spending much to make a product. It's win-win! Obviously my company will be gone in a year and a half, but in that time we will have swindled a lot of people!
See what I mean? They don't care about the individual, they care about the green (or whatever color money is in your countries). Here's a personal example:
I recently purchased a Targus Stowaway Keyboard for my Casio Cassiopeia EM-500. That's one of those cool ones that folds up and fits in your pocket. Now, Casio is a horrible maker of pocket PCs because they don't support their products, and if I could go back in time and buy a different one, I would buy one of the Compaq Ipaqs. But that's beside the point. The software Targus sold with the keyboard doesn't work. The keyboard software would not install, so I couldn't use the keyboard. And on the targus website, there are several models of the stowaway keyboard, but the casio one has stopped being produced, and there is no record of its ever having existed on their site. So even if they don't sell it anymore, they should at least support it, right? Well, I emailed different addresses at targus: Cust. support, tech. support, etc. at least a dozen times, with varying degrees of displeasure and begging. Their response each time was something along the lines of: try this, and if it doesn't work, email us back. Of course, it never worked, and they never emailed me back, unless I started an entirely new request. I never got the keyboard working, and the cost for shipping it twice left a hole in my wallet. Is that fair to me? No, of course not. But targus is still around, even though I wish they would burn in he||.
Okay sorry, I had to let off some steam there. But you get the point, this type of thing is widespread.
Elrond
October 22nd, 2002, 03:15 AM
Originally posted by solarflare
I'll take this opportunity to play Devil's advocate:
...
Okay sorry, I had to let off some steam there. But you get the point, this type of thing is widespread.
And the worst it that is that we are the people who work for these companies. Except if you're lucky, you have to work. When you join the company, you don't know how thing will go. I know that in mine, I had enough time to do a proper testing and debugging at the beginning. For the moment we are in a rush and we have to add new features quickly, with little time to design, and almost no time to test. The result is that we are adding bugs.. :(
They promise us that we will have time to test and redesign when thing will go better. It might be true, but who know... :confused:
On the other hand, why change company? The next I will be into might be even worse about that. And anyway, there's no job around for the moment, not enough for the number of programmers looking for jobs. :o
I still feel I'm not a bad programmer, but for the moment I don't really have the possibility to make real good programs :( :(
One day, thing will change and all the programmer will be happy and have time to do what they want and give customer perfectly customer oriented products bug free and efficient :rolleyes:
Gabriel Fleseriu
October 22nd, 2002, 03:54 AM
A few thoughts:
- each and every bug that appears in your program is your fault. It does not matter to your boss that you had to implement under very tight dead-lines.
- the more solid you are planning the design of your code, the more probable it is that your boss will change the requirements when you have 80% of the code. In a way that breaks your design.
- you don't need to have any contact to other programmers. That's a waste of time. You should code, that's what you're paid for!
- Using the on-line MSDN is considered surfing the internet. You should do that in your free time.
- What? Revise your old code? Why didn't you write that 3000 lines of code in a way so they don't need revision? You had an entire night to do that!
- It is a question of a few minutes to make your NT code run under 98, isn't it?
- Write a test harness for the code? What for? Just burn the darn CD and ship it. If there will be a bug, it's your fault, anyway.
- You don't need any course. You are supposed to know everything by now. And if not, a book will do, too.
:D
Elrond
October 22nd, 2002, 05:13 AM
Originally posted by Gabriel Fleseriu
- You don't need any course. You are supposed to know everything by now. And if not, a book will do, too.
You company is very kind to get you books. You're lucky!!! :D ;)
Unfortunately, most of what Gabriel said is close to reality. And if not, it will usually become reality after some time. The beginning can be better, until the boss realises that you might make money, but not enough...
Gabriel Fleseriu
October 22nd, 2002, 05:44 AM
Originally posted by Elrond
You company is very kind to get you books. You're lucky!!! :D ;)
You have to buy the book yourself, of course.
Unfortunately, most of what Gabriel said is close to reality. And if not, it will usually become reality after some time. The beginning can be better, until the boss realises that you might make money, but not enough...
Well, I wrote it down in a funny way, and I also exagerated a little bit here and threre. But if none of that applies to you, you can say that you're lucky.
It actually is the old clash between the technical guys and the ones who make the decisions (marketing, CEOs - you know). But I have the feeling that, when it comes to software, the gap is even larger than in other fields. I have met a LOT of people, otherwise smart guys, who consider writing software being some sort of "hacking". All you have to do is tell the computer what it has to do, using a small set of simple words - what's the big thing?
Except for the companies specialized in writing SW, you will often find that:
- the software that drives the machine is considered "that thing we do afterwards in a hurry"
- any mechanical or electronical flaws of the machine can be compensated by the software, isn't it?
- if the machine doesn't work, it must be the software
- if the RS232 standard says that the cable should be no longer than 1.8 m, you surely can modify the software so it works with a 25m cable, isn't it?
I don't know whether I should laugh or cry...:rolleyes:
Amn
October 22nd, 2002, 07:17 AM
OK the poll so far leans towards people telling me that this is the way market operates today. And I am (by self-nomination) teh...uh...erm...mm...the..silly guy, well :D
If thats the case, so be it. But then again, IT SUCKS :D
I didnt try the software before i bought it, coz its my mom who did, and at the time she didn't have neither time nor energy to go through the list of other products with similiar offerings. She simply , as many others, tempted by the commercial.
I hope the company will either perish or reconsider its values. Because such programs shall simply not exist. If i would scan in and send what the box looks like you will laugh your *** off ;) The typical happy smiling office group enjoying a "truly" rewarding and joyful experience in front of a computer screen, which undoubtefully shows the software "at its best".. Mmmm, quality... ;)
But you guys are right - this is how it is, simple as that. Of course it sucks, but well thats the way it is. Programmers have a communication problem with CEOs, CEOs with marketing folks, nobody knows what a compiler is, but everybody knows that software should be installed and run on Windows. Hohoho..
proxima centaur
October 22nd, 2002, 09:56 AM
Of course, if there are bugs in the software, you boss could:
1. If he's an a$$... say that it's your fault
2. Be understanding, "but you know... we didn't have the choice... we will do better next time" (tm)
3. Panic.
4. Allow you to fix them right away.
Out of the four options, 4 is the best, although having a better planning is probably the solution to "design bugs".
But you know what?
Ultimately, whatever your boss says, if the company doesn't produce quality software, be it whoever's fault, the company will go bankrupt, and *I* as a programmer, would NEVER feel ANY responsibility.
proxima centaur
October 22nd, 2002, 10:03 AM
Originally posted by Amn
OK the poll so far leans towards people telling me that this is the way market operates today. And I am (by self-nomination) teh...uh...erm...mm...the..silly guy, well :D
Sorry to bring you back to earth and to make your illusions vanish :D
If thats the case, so be it. But then again, IT SUCKS :D
More than you think.
This is a war. Between managers and programmers. And unfortunately, the managers always win :rolleyes: because they have the means to. We, as programmers, are paid to execute, not to think.
you face the choice of:
1- keeping your mouth shut, and just go with the flow
2- try to change things.
If you try to change things, you'll get the label: Whiner by the bosses
If you keep your mouth shut, you'll get the label: KissAss by the programmers
:p
You know, Dilbert is not that far from reality. That's a sad realization.
Amn
October 22nd, 2002, 10:10 AM
Originally posted by proxima centaur
We, as programmers, are paid to execute, not to think.
LOL. No wonder programs also 'execute' when its about time to start making efforts to 'think' ;) Has anyone asked those 'managers', how are we supposed to write software WITHOUT THINKING :D
Gee...reminds me of that sci-fi story where those aliens from a planet had to bodies, one for walking and one for thinking. Need i say evolution took care of them ? :D :D :D
Yves M
October 22nd, 2002, 10:23 AM
I sort of realize that I'm in the amazing situation where the boss of my company is also a programmer. This helps since he knows which issues are involved. It doesn't help though when I try to say that fixing a certain bug would require a week of work :p
Amn
October 22nd, 2002, 10:29 AM
Originally posted by Yves M
I sort of realize that I'm in the amazing situation where the boss of my company is also a programmer. This helps since he knows which issues are involved. It doesn't help though when I try to say that fixing a certain bug would require a week of work :p
You mean nobody thinks and everybody executes :cool:
Yves M
October 22nd, 2002, 10:56 AM
Originally posted by Amn
You mean nobody thinks and everybody executes :cool:
No I would rather say that everybody thinks a bit and executes a lot ;)
Amn
October 22nd, 2002, 11:05 AM
Originally posted by Yves M
No I would rather say that everybody thinks a bit and executes a lot ;)
Sounds like the U.S. capital punishment way of things :rolleyes:
RUN YVES RUN ! OR THEY WILL EXECUTE YOU (A LOT) :D
Nah, I am just fooling around today.. Ignore me, i ll go help people with REAL problems on VC++ forums instead. Sayonara
SolarFlare
October 22nd, 2002, 05:11 PM
Originally posted by Gabriel Fleseriu
if none of that applies to you, you can say that you're lucky.
Then call me lucky- I don't program for a living ;).
It seems that you're describing two things: the rush to get items to the market, and the rule of the ignorant over the bright. The first is, of course, directly related to monetary profit, so I'm not even going to go there. There are many different kinds of problems, however, of stupid people controling smart people. The people in control think they don't need to be smart because they have a lot of money; they expect too much from their subordinates so instead of receiving one good, small product, they get one, large, massively erroneous product. Etc. etc....
Xeon
October 23rd, 2002, 10:51 AM
From Amn:
There is one ActiveX I simply adore .....(fanfares) ... the Macromedia Flash !
Such a great functionality and power in a tiny piece of code. Truly experts make most out of anything !
Now, Amn......the thing is : do u know where to get this Macromedia ActiveX? Is it freely downloadable and such?
I was thinking of getting a Macromedia ActiveX control or some other ActiveX controls that can play Flash files.(*.swf)
Thanks, Amn and guys. :):):):):)
Amn
October 23rd, 2002, 10:56 AM
Hey wassap Xeon :D
as far as i know, Flash is available at www.macromedia.com, and most likely you already have it. In that case it is in the c:\windows\system32\macromed\Flash.ocx (if you have swflash.ocx that is the 5.0 version, Flash.ocx is Flash MX control).
Having an ocx file, it wont be difficult to embed it. You might watch out for copyright, i know Macromedia places no restrictions over using it on the web, but when it comes to distributable standalone binaries, i dont know. Mail them :D
Good luck and lotsa chiken chopz
codeguru.com
Copyright Internet.com Inc., All Rights Reserved.