It was a web development project, a very specifically tailored contact management application.
In the name of showing something that worked (this was students, and we needed to track parent contacts) I showed them something simple, flexible, and in keeping with how you do a database.
The customer, unable to differentiate between paper and a screen, required me to show spaces for three parent records for every student, irrespective of the actual number of parents.
No thought given to what was to happen if mom and dad divorced and both remarried; on step-parent would presumably be unviewable.
I argued theoretically, that the interface knew way too much of the data, and this was a Bad Thing
I argued practically, that I had a working implementation, and going back and lobotomizing it in the name of an ignorant requirement wasn't in the financial interest of the customer now, or when the reality set in and they had to go back and un-hack the tasteless crap I would have to do
I argued pragmatically, that what was already there was superior in functionality to what the customer thought they wanted, and giving it to them there way would be a regression.
Boy, did I waste my time. Didn't last much longer on that project, and it was only worth it in that it showed me just how hard good customers are to find.
Finex Vent-ex.
I submit that you're blaming the tool, not the user.
Technologies cited may lend themselves to myopic, tactical uses, but that is an unavoidable side effect.
You could, in the same spirit, blame the vagina for prostitution.
Furthermore, you don't offer an alternative. Do you want an MSWorks-type dumbsheet for the masses? What reasonably useful system do you propose when the cheesesheet isn't packing the heat? Something with an Emacs-derived keyboard interface for macro coding to keep out the riff-raff? What about the heuristic problems that are simply going to be a muddle while requirements evolve, where total hackability is a feature? We treat design as some sort of Revealed Truth, a magic wand that will Save Us From The Fury of the Spaghetti Code. Ahem.
As noted elsewhere, making it easy for the usele^H^Hr to drum up business is far more feature than bug.
did not get that way by filing groundless lawsuits.
No, they got that way by billing clients, first through actual products, now through FUD.
If grandparent can't see that this is the IT version of the Emperor's New Clothes, then we need to be sure not to retain his legal services, as he probably thinks Social Security is a Good Thing...
I've written a couple of applications that use.xls files as an interface.
Idea being that you gan query some relational store, put lists of default values on a back tab, set named ranges to those lists, and then, on a front tab, use data validation to constrain the users to putting Correct Stuff in data rows.
Oh, and there is no macro code in the.xls, so we don't run afoul of security settings.
This is a back-to-the-future batch system. Blank forms go out as email attachments, and come back as email attachments. They are saved to a folder inexplicably named "inbox". When the time is right, we crack them open in turn and read them into our RDBMS, and then do reporting.
If the.xls form is simple enough, in MS Access, you can have an.xls link table stub, and 'mount' each response in turn, and excecute straight SQL to read it in. Very fast and secure.
More complicated stuff might require MS Access to instantiate Excel and open each.xls explicitely to map the response to the database.
I've opened some of these.xls forms under GNUMeric with great results.
Also, languages like Perl and Python can script COM objects like Access and Excel.
Furthermore, as this is very stand-alone, you could use SQLite without concurrency issues.
The biggest advantage of all is that you've blown off the whole web server mess. Obviously our problem domain is non-real-time, batch-able applications. But there are a lot of those. HTTP is great at what it does, but for shedule requests and what-I-did-this-week inputs (the two applications I've done in this mode), here is a way to do them that doesn't require much that isn't generally available and desktop-runnable.
The other key is that most business people are fairly cozy with a spreadsheet interface, and die rapidly confronted with an.mdb similar. So the fear factor is reduced.
A GUI manages the screen at the pixel level. A text interface manages it at a character rectangle level. Thus, you can lay out buttons in ASCII-art, and have crude widgets and such. The Borland Turbo___ language products come to mind.
You could even say that such interfaces are between a CLI and a GUI, but calling them a GUI is a stretch.
The American Association of Retired People issued a fartwad (fat wife? that jihad crap the radicals are all preaching--ed) the Gay Nigger Association of America in a Four Letter Acronym Assault today.
Nicholas DILLIGAF, AARP spokesman, read the following:
"Friends, Americans, Countrymen, lend me your ears. And a few bucks.
An essential, God-given right of all Americans stands threatened by cretins of the GNAA ilk.
That's right: Socialist Security is jeopardized by their existance.
Now, anyone with two shreds of common sense can see that Socialist Security is a godforsaken ponzi scheme. Private citizens would be nailed to the wall for even trying such an audacious stunt. I guess being the government, you can just legalize it.
What matters to you and me, though, is that, like any pyramid scheme, Socialist Security relies on continued population input. And that's why the GNAA, and all other outbursts of creeping faggotry have got to be stopped.
If men continue to plant their seed where it cannot grow, who will feed the Socialist Security beast? We certainly cannot resurrect the family unit, and expect parents and children and relatives and communities to care for one another; we've got to make sure that the demolition of the family and all other outmoded values continues. Faggotry, in this sense, is an idea carried just a little too far. We want people to be heterosexual, and sew their wild oats with measured indiscrimination, so that we will continue to have a population input of people from properly disintegrated families to feed the Socialist Security machine.
In summary, ignore the GNAA, knock up some chick, but don't worry about actually making a family of the situation, and ensure that Socialist Security continues to snowball beyond its current Real Hard Problem state and achieves the ultimate goal of Problem That Could Destroy America.
Thank you for your attention. "
What's really better is an analysis that doesn't oversimplify the question into some asinine dichotomy.
How about a clear separation of data, presentation and logic? Or, if you will, model, view, and controller. That lets a particular tool have a GUI for general stuff, particularly the FNG, and a.conf file for commenting, and easy versioning, or even scripting.
But hey, I lay no claim to being an average human, for all I enjoy good health.
If Microsoft had put its weight behind Dylan, instead of C#, then I think Java would have been in serious trouble.
Can we really make suck a strong claim about a language on its own?
These days, syntax and semantics are all fine and groovy. For any language, you expect variables and functions and such. One huge contributor to making or breaking a language in the marketplace, though, is its library support. CPAN, the Python standard library, java.*, boost.org,.Net--all of these help their target language escape the ivory tower.
This is all swell and spiffy, but do we need to standardize an environment variable for browsers, as there is for editors, so that we can still use the system effectively in terrifying presence of 'Leonid_Brezhnevs_eyebrows-er'?
Using a neutral format (.rtf or.htm or whatever) might be the cost of freedom.
Understood, Aunt Tillie shan't be bothered to fret over the epistemological underpinnings behind why her table of image thumbnails of the grandkids can't be cut and pasted directly across applications.
Aunt Tillie can always be threatened with emacs, though, hehehehe....
I don't believe it true in this particular case, but we really require a term for the general case of attempting to use strange/illegal incidents for advertising.
I submit "Paris Hilton Device" as a candidate.
I'd like to add a dimension overlooked in your post. While initially counter-intuitive, those half-wits that barely dragged their sorry asses through High School are actually a feature, not a bug.
This whole 'programming still stinks' argument implies that there should be some kind of 'non-stink' end point to programming. Perhaps, when the carpenter returns for longer than a Mel Gibson flick.
Until then, what you will see is more companies peddling the same stuff over and over; files, information lumps called classes, variables, functions, arguments, like you've seen for decades. What was the last original idea in software, open source or proprietary?
And your half-wits are going to pile up even more pure dreck code with these new-old tools.
Acronyms will come, and the will go.
The intellectual vacuum epitomized by SCO will continue to suck, as vacuums do.
The problem isn't that we're elite. The problem is that good programming is no less complex or time-consuming a task now than it was 20 years ago.
Furthermore, the talent distribution is a normal curve, and the state of the art is a completely different dimension still. You may write FORTRAN in any language, but can you write FORTRAN in every modern language?
It's just a nasty, chaotic problem, and you are left to wonder about anyone carrying a truth claim about what's really wronngg with software.
Re:Still not that friendly
on
Hack This, Please
·
· Score: 4, Interesting
Loads of money is wasted on market research to define products that large numbers of people want. But consumers are not monolithic clones.
I think this needs some elaboration.
FNG consumers are monolithic clones. The fact that AOL and MS have been highly successful shows the wisdom of this.
However, consumers do not stay monolithic clones. As they progress through the learning curve, the will try new stuff. The better user interfaces realize that the user has a learning curve, and offer copious hand-holding at the low end, and get they booty out of the way once you're a keyboard shortcutting, script writing, email integrating tough guy. Like !me.
Whenever I encounter someone trying to speak English, I keep in mind that their English is superior to my ability to speak their native tongue. Although, I can speak Southern with some facility.
I dunno. That recent story about MS passing out software at no cost to the DOD may have been the tiniest shot across the bow.
Re:Yes, yes, yes, Apple's dying, blah blah blah
on
Why iPod Can't Save Apple
·
· Score: 4, Insightful
Disagree. Apple is to computers what Cadillac is to cars.
I want to see an economically-founded argument that targeting the premium segment of a market is a Bad Thing.
Had I cash aplenty, I'd be all about one o' them sexy G4 monstuhs with a flat screen the size of a sheet of plywood.
In the name of showing something that worked (this was students, and we needed to track parent contacts) I showed them something simple, flexible, and in keeping with how you do a database.
The customer, unable to differentiate between paper and a screen, required me to show spaces for three parent records for every student, irrespective of the actual number of parents.
No thought given to what was to happen if mom and dad divorced and both remarried; on step-parent would presumably be unviewable.
I argued theoretically, that the interface knew way too much of the data, and this was a Bad Thing
I argued practically, that I had a working implementation, and going back and lobotomizing it in the name of an ignorant requirement wasn't in the financial interest of the customer now, or when the reality set in and they had to go back and un-hack the tasteless crap I would have to do
I argued pragmatically, that what was already there was superior in functionality to what the customer thought they wanted, and giving it to them there way would be a regression.
Boy, did I waste my time. Didn't last much longer on that project, and it was only worth it in that it showed me just how hard good customers are to find.
Finex Vent-ex.
You know, we're looking for some political candidates...
I submit that you're blaming the tool, not the user.
Technologies cited may lend themselves to myopic, tactical uses, but that is an unavoidable side effect.
You could, in the same spirit, blame the vagina for prostitution.
Furthermore, you don't offer an alternative. Do you want an MSWorks-type dumbsheet for the masses? What reasonably useful system do you propose when the cheesesheet isn't packing the heat? Something with an Emacs-derived keyboard interface for macro coding to keep out the riff-raff?
What about the heuristic problems that are simply going to be a muddle while requirements evolve, where total hackability is a feature? We treat design as some sort of Revealed Truth, a magic wand that will Save Us From The Fury of the Spaghetti Code. Ahem.
As noted elsewhere, making it easy for the usele^H^Hr to drum up business is far more feature than bug.
did not get that way by filing groundless lawsuits.
No, they got that way by billing clients, first through actual products, now through FUD.
If grandparent can't see that this is the IT version of the Emperor's New Clothes, then we need to be sure not to retain his legal services, as he probably thinks Social Security is a Good Thing...
I've written a couple of applications that use .xls files as an interface. .xls, so we don't run afoul of security settings. .xls form is simple enough, in MS Access, you can have an .xls link table stub, and 'mount' each response in turn, and excecute straight SQL to read it in. Very fast and secure. .xls explicitely to map the response to the database. .xls forms under GNUMeric with great results. .mdb similar. So the fear factor is reduced.
Idea being that you gan query some relational store, put lists of default values on a back tab, set named ranges to those lists, and then, on a front tab, use data validation to constrain the users to putting Correct Stuff in data rows.
Oh, and there is no macro code in the
This is a back-to-the-future batch system. Blank forms go out as email attachments, and come back as email attachments. They are saved to a folder inexplicably named "inbox". When the time is right, we crack them open in turn and read them into our RDBMS, and then do reporting.
If the
More complicated stuff might require MS Access to instantiate Excel and open each
I've opened some of these
Also, languages like Perl and Python can script COM objects like Access and Excel.
Furthermore, as this is very stand-alone, you could use SQLite without concurrency issues.
The biggest advantage of all is that you've blown off the whole web server mess. Obviously our problem domain is non-real-time, batch-able applications. But there are a lot of those. HTTP is great at what it does, but for shedule requests and what-I-did-this-week inputs (the two applications I've done in this mode), here is a way to do them that doesn't require much that isn't generally available and desktop-runnable.
The other key is that most business people are fairly cozy with a spreadsheet interface, and die rapidly confronted with an
"Windows doesn't like you!"
"but you got a purty wallet..."
A GUI manages the screen at the pixel level. A text interface manages it at a character rectangle level. Thus, you can lay out buttons in ASCII-art, and have crude widgets and such. The Borland Turbo___ language products come to mind.
You could even say that such interfaces are between a CLI and a GUI, but calling them a GUI is a stretch.
The American Association of Retired People issued a fartwad (fat wife? that jihad crap the radicals are all preaching--ed) the Gay Nigger Association of America in a Four Letter Acronym Assault today. Nicholas DILLIGAF, AARP spokesman, read the following: "Friends, Americans, Countrymen, lend me your ears. And a few bucks. An essential, God-given right of all Americans stands threatened by cretins of the GNAA ilk. That's right: Socialist Security is jeopardized by their existance. Now, anyone with two shreds of common sense can see that Socialist Security is a godforsaken ponzi scheme. Private citizens would be nailed to the wall for even trying such an audacious stunt. I guess being the government, you can just legalize it. What matters to you and me, though, is that, like any pyramid scheme, Socialist Security relies on continued population input. And that's why the GNAA, and all other outbursts of creeping faggotry have got to be stopped. If men continue to plant their seed where it cannot grow, who will feed the Socialist Security beast? We certainly cannot resurrect the family unit, and expect parents and children and relatives and communities to care for one another; we've got to make sure that the demolition of the family and all other outmoded values continues. Faggotry, in this sense, is an idea carried just a little too far. We want people to be heterosexual, and sew their wild oats with measured indiscrimination, so that we will continue to have a population input of people from properly disintegrated families to feed the Socialist Security machine. In summary, ignore the GNAA, knock up some chick, but don't worry about actually making a family of the situation, and ensure that Socialist Security continues to snowball beyond its current Real Hard Problem state and achieves the ultimate goal of Problem That Could Destroy America. Thank you for your attention. "
When it grows too long
The tail wags the dog
The hand that bites gets fed
Problems mulitply
The crowd begins to cry
For some common sense
------------------
Devo is way on topic here, gentlegeeks.
What's really better is an analysis that doesn't oversimplify the question into some asinine dichotomy. .conf file for commenting, and easy versioning, or even scripting.
How about a clear separation of data, presentation and logic? Or, if you will, model, view, and controller.
That lets a particular tool have a GUI for general stuff, particularly the FNG, and a
But hey, I lay no claim to being an average human, for all I enjoy good health.
Can we really make suck a strong claim about a language on its own?
These days, syntax and semantics are all fine and groovy. For any language, you expect variables and functions and such. One huge contributor to making or breaking a language in the marketplace, though, is its library support.
CPAN, the Python standard library, java.*, boost.org,
This is all swell and spiffy, but do we need to standardize an environment variable for browsers, as there is for editors, so that we can still use the system effectively in terrifying presence of 'Leonid_Brezhnevs_eyebrows-er'?
Using a neutral format (.rtf or .htm or whatever) might be the cost of freedom.
Understood, Aunt Tillie shan't be bothered to fret over the epistemological underpinnings behind why her table of image thumbnails of the grandkids can't be cut and pasted directly across applications.
Aunt Tillie can always be threatened with emacs, though, hehehehe....
Don't Remind Me: Dumb Reasoning Misshapes Deplorable Reality Mindsets.
Famous Last Web Development Words
This may open a market for chrome codpieces. Maybe they can even run Linux.
I don't believe it true in this particular case, but we really require a term for the general case of attempting to use strange/illegal incidents for advertising.
I submit "Paris Hilton Device" as a candidate.
Or Apple emerge-ing the KDE and Gnome trees?
Or, the concern may be lack of RFI shielding, where the wood looks about like plastic wrap. YMMV with a Telefunken U47 nearby.
More the point, does anyone know of an effective DVD burner that runs under Linux, so I can get my fscking .iso on there?
I'd like to add a dimension overlooked in your post. While initially counter-intuitive, those half-wits that barely dragged their sorry asses through High School are actually a feature, not a bug.
This whole 'programming still stinks' argument implies that there should be some kind of 'non-stink' end point to programming. Perhaps, when the carpenter returns for longer than a Mel Gibson flick.
Until then, what you will see is more companies peddling the same stuff over and over; files, information lumps called classes, variables, functions, arguments, like you've seen for decades. What was the last original idea in software, open source or proprietary?
And your half-wits are going to pile up even more pure dreck code with these new-old tools.
Acronyms will come, and the will go.
The intellectual vacuum epitomized by SCO will continue to suck, as vacuums do.
The problem isn't that we're elite. The problem is that good programming is no less complex or time-consuming a task now than it was 20 years ago.
Furthermore, the talent distribution is a normal curve, and the state of the art is a completely different dimension still. You may write FORTRAN in any language, but can you write FORTRAN in every modern language?
It's just a nasty, chaotic problem, and you are left to wonder about anyone carrying a truth claim about what's really wronngg with software.
I think this needs some elaboration.
FNG consumers are monolithic clones. The fact that AOL and MS have been highly successful shows the wisdom of this.
However, consumers do not stay monolithic clones. As they progress through the learning curve, the will try new stuff.
The better user interfaces realize that the user has a learning curve, and offer copious hand-holding at the low end, and get they booty out of the way once you're a keyboard shortcutting, script writing, email integrating tough guy.
Like !me.
Whenever I encounter someone trying to speak English, I keep in mind that their English is superior to my ability to speak their native tongue.
Although, I can speak Southern with some facility.
I dunno. That recent story about MS passing out software at no cost to the DOD may have been the tiniest shot across the bow.
Disagree. Apple is to computers what Cadillac is to cars.
I want to see an economically-founded argument that targeting the premium segment of a market is a Bad Thing.
Had I cash aplenty, I'd be all about one o' them sexy G4 monstuhs with a flat screen the size of a sheet of plywood.