It is by no means obvious that human society is complex enough to be called unpredictable in principle...
While human beings may not be predictable in a strictly deductive sense, most people are (for better or for worse) rather mundane in terms of how eccentric they can be (in a way that actually affects other parts of society).
There's still the issue of dealing with the tail end of any distribution. I don't care about the 99.999% of people who, in the aggregate, fit a model. I care about that 0.001% of people who are going to completely blow it (because, as always, "past performance does not implly future performance").
However, what happens when you consider small online business where location isn't an issue?
If you are interested in planted aquaria, you have probably heard of Aquarium Hobbyist Supply. They're a little store in New York that sells excellent light bulbs, and their website more-or-less sucks from Google's/John Doe's perspective; from what I can tell, they mostly survive from a set of die-hard repeat customers.
If they were to find some way to add a community aspect to their site, that would probably change a lot. Something like this section on lighting. The Krib gets fairly good Google search results based on a few criteria:
It's very old, and it's had time to accumulate a lot of inbound links
It's well-organized... it comes back from the era of tree-based sites, which lend themselves towards more direct SEO (no "complete graphs" of links to deal with).
It's chock full of real information, so it naturally has very distinctive terminology.
All it really takes is a few interested employees to start up a blog on a commercial site, where they can start up community discussion. Then some inbound links start cropping up on other forums, and people start hanging out "outside the front door" of the store, because it's a good place to get useful hobby info. Then viola! A tiny little web storefront now has a WWW presence, because it took the effort to involve the community (in the right way, not in the "pretend to care" way).
Thank God we arn't fighting WW2 with today's media and technology, cause we would have lost that war long ago!
Are you kidding? Having a well-defined enemy with unambiguously evil goals who is willing to fight more or less face-to-face is awesome. At least, relative to situations like Iraq and Vietnam, both of which are "conflicts" with half-hearted support back at home and very little support from locals (who don't necessarily see us "liberating" them as a good thing).
But seriously, yes. "Feed the world" only works if we're willing to usurp all of the local governments of the world (particularly some of the more poorly-behaved African nations) and handle the entire supply chain ourselves (USA/UN/whoever).
I'm sorry, I usually let the occasional affect/effect error slip, but this one is just too funny. "Effect" as a verb means "to produce", as in "the company began offering overtime pay in order to effect 60-hour work weeks" (which didn't exist prior). "Affect" is what you want, which means "to modify", as in "the company offered a generous bonus in order to affect employee morale" (which did exist prior).
What you said amounts to "war creates people." Which I suppose is true (look at the Baby Boomers), but probably not what you intended.
I hope that you have at least some baseline for accessibility. Because generally speaking, if your website sucks for blind people, it sucks for search engines, and it may suck for sighted people as well. Put another way: making your website more accessible to people with real disabilities has the side effect of making it more accessible to the average population as well.
Though ultimately, I agree that it matters little (in a moral sense) whether you follow the letter of "ADA compliance" or not.
Would someone who relied on standards-compliant code that wasn't browser supported (use of voice styles, for instance-- many "screen scraper" readers don't support that) be liable in noncompliance?
Yes, there is a general problem with standards that far exceed current browser support... but an ADA-compliant rendering shouldn't really be relying on CSS voice styles. The HTML document itself, without any images or styles, should be accessible. CSS should be used to enhance the user experience, not to enable it.
Browser support is one big sticking point I have with this. The problem is that web designers are supposed to support disabled people.
In general, "browser support" is a perpetually unsolvable problem, because there's a potentially infinite set of user agents (browser) that may be invented. What if I write my own screen reader that's freely-available, but sucks? Can a blind person using my screen reader complain that an arbitrary site doesn't work with my (awful) screen reader? My opinion is generally "only if it is a problem that would affect an overwhelming majority of screen-reader users." That is, if it is a general problem that affects most non-visual user agents, then it's probably a site issue. If it only affects a few user agents, it's probably a UA issue.
But these can't be hard-and-fast rules, since at the core, the W3C web standards are really just "recommendations", and there's no authoritative governing body. This probably falls under some larger legal issue along the lines of "you have to prove that you probably tried to be accessible," which plagues every other legal gray area.
...the fact that we are already expected to make the site look the same across BROKEN browsers...
Whoever said the site needs to look the same? Your boss? Customers don't care about the relatively minor differences between major browsers with standards-compliant markup. They aren't going to do side-by-side cross-browser comparisons before they purchase. They just want the site to be easy to use, and at least structurally similar between different browsers. That's very easy for a professional web developer (which surely a company like Target can afford tens of).
If your boss is the one requiring pixel-perfect matching and "latest and greatest" technologies like Flash for core functionality, then your organization is at fault. Don't blame the rest of the world for your company's bad technology management.
On another note, the web is primarily a visual medium.
100% wrong. You think the web is primarily a visual medium because you primirily use your eyes to view it. It's a common asssumption to make, though: the human visual system is the highest-bandwidth input that our brain has, so people tend to gravitate towards visual things.
Is it efficient to allow people who use a wheelchair to starve because they have nowhere to buy groceries?
That, my friend, depends on your definition of efficiency. A particularly spartan society could say "it's not worth the effort. If you can't walk, you are as good as dead to us." Essentially, this says that the a disabled person is worth $0, and it's obviously efficient to allow the disabled to starve.
On the other extreme, a society could say "everyone must be 100% supported, no matter what the economic burden." In that case, a disabled person is worth $\inf, and it's obviously efficient to cater to them.
We live somewhere in between. I don't think a modeling agency should be legally obligated to employ people with Treacher Collins disease. I do think a local/state/city government is legally obligated to provide low-grade ramps for wheelchairs and "open sesame" buttons for the doors.
Every organization has to draw the line somewhere. Few people would argue "let the wheelchair people die". But what about when a website for a local store in Podunk Whitebread Town, North Dakota gets sued for not providing Japanese-, Chinese-, and Spanish-language equivalents for Californiaites who through the magic of the Internet can surf to this site, but comprise 0% of the clientele of the store?
It's really the other way around. All browsers should implement similar-enough systems so a standard-conformant site is accessible. You can't say "this (html) document must be accessible in all browsers", because there is a potentially infinite set of browsers that are arbitrarily unconformant.
The web sites themselves should be designed from a baseline of standards-support. Only then should they be customized from there to provide enhanced experiences (e.g. "work around bugs") in the browsers du jour.
The standards for "web accessibility" also help stabilize the web. Simple text web pages, or ones with well defined ALT tags, remain legible in newer and older browsers. They also make the content more easily searchable and editable by the authors. It's not as "flashy", a pun I choose deliberately.
Even still, it's possible to give a flashy website accessible underpinnings, via techniques like Fahrner Image Replacement. While right now, tricks like this are currently hacks within the HTML/CSS/JS environment, I suspect that continued pressure from lawsuits like this will eventually lead to cleaner solutions, from browser vendors and standards bodies.
You're thinking in too narrow of a focus. The more general problem besides stress-measurement is attention modeling. If your computer can identify the general notion of what you're doing ("he's busy, don't bother him" vs. "he's just surfing the web, him him with distractions!"), it is one step towards not distracting you when you're in the middle of getting work done.
Think about it... you're furiously working on a problem... lots of mouse and keyboard activity... you get up to go get some coffee, and when you come back, your computer has new alerts for you (new email arrived and a Windows security update). It could have distracted you when you were obviously busy, but by guessing your attention model, it saved you a few seconds of distraction. It's not perfect, but it's better than what we have now.
Now, whether a sweatband around your head is required or not, I don't know...
The adaptive UI story is just a smokescreen deployed at employee level to hide the real intent of this device.
Well sure, any technology can be used by the dark side, but your statement reeks of paranoia and foot-in-mouth syndrome. A big issue in modern desktop systems is information overload. If you boot up a windows computer that hasn't been on in a year, it'll spend about the first 10 minutes randomly pestering you with things (new updates available, unused icons on the desktop, unused icons in the task bar, blah blah blah). On my desktop, suppose I am running Thunderbird, Firefox, Gaim, and downloading a few torrents. My OS, web browser, and mail client are all periodically polling for updates. Currently, I'm deeply focused on getting some piece of code working (or as the case is now, blabbing on Slashdot). At any point in time, I can be interrupted by these messages:
Firefox has an update
Thunderbird has an update
A new conversation has started on Gaim
Someone spoke in an existing conversation in Gaim
My OS has an update
My wireless network access temporarily breaks, but then repairs itself
A torrent download completes
An email arrives
My laptop batter is low
Any number of events that currently don't produce alerts (but maybe will in the future):
A Web2.0 site modifies itself (say... it's my bank, auto-logging me out)
A long-running command in a background SSH process completes
A "soft timer" from my list of scheduled tasks goes off ("buy groceries today")
A new update is available in a svn repository I happen to have checked out
My computer is going to pester the crap out of me with all of this, and ultimately slow my work down. Conversely, if I'm just browsing the web, I want immediate notification of some of these things. To the best of my knowledge, no one has come up with a good solution to this (implicit prioritization). Some of the folks at the UIUC HCI lab are researching it, but I don't know the status of their work. The general gist, however, is known. The fact that a computer cannot currently detect "general intent" of a user is a weakness, and it causes unnecessary distractions. If a desktop system wants to manage distractiveness, it needs to implement some sort of attention model measuring any of the following:
estimated stress
typing/mouse-movement speed
heuristics based on current programs running (full-screen games should always imply 100% attention)
explicit user commands
any combination of these (maybe combined by some sort of machine-learner with built-in feedback mechanisms for training)
Trying to decide when (and how) to interrupt someone is very difficult. The current solution of "all or none" is not feasable in the long run. It's not just your boss trying to squeeze a bit more juice out of you. Get a new boss.
The scorched earth policy isn't the males fault, it is the females for being controlling manipulative bitches.
Being unmarried myself, I am probably not in the best position to be offering advice, but this doesn't sound like the sort of marriage you should be continuing, if it is a two-way battleground (why wait for infidelity to get some marriage counseling or a divorce).
Anyhow, I doubt you've told us the whole story... what if your wife views you as weaponizing money?
There's a crap-ton of material in CS that I (we) take for granted, even discounting patterns. State machine. Stack/queue/vector (std::vector and friends are semantically very different from mathematical vectors).
This is very different from the jargon people see superficially: SOAP, WS-Security, WSDL... all generally commercially-pushed "technologies". One style describes ideas, whereas the other simply describes products.
The clearest would be to say "'Neurotic is best RTS game strategy". The strategy of a real-time strategy game, without any of the confusion of PIN numbers.
Or, just accept that acronyms eventually turn into nouns, for better or for worse. People go scuba diving. The buy scuba gear — nevermind that it expands to "Self-Contained Breathing Apparatus gear" — because scuba has become a word by itself.
I am faced with multiple-choice decisions every day. In many cases, however, the answer may be: a, b, c, d, e, any combination of the above, or none of the above and I need to make a new set of choices immediately.
Ok, you're a big kid now. You've gotten better at effective decision-making (hopefully), and now your boss expects you to be able to ask yourself your own multiple-choice questions.
The point of a scantron test isn't to memorize a set of available choices. The point of a scantron test is to encourage the students to learn the material. Buying servers is very different from learning how Kirchoff's Rules for current in wires works, and scantrons really just exist to make it feasable to grade the "easy stuff" without any human effort, so more effort can be focused on the more important parts.
One of the complaints I often hear, and sometimes voice, is that much of college today has turned into vocational school. This is very apparent in a lot of CS and business curricula.
Any curriculum that reads like a vocational track but is labeled as a CS track is a lie. It's not a surprise that most CS schools are crappy. In any popular field in life, there are a bajillion crappy options, and less options as you go higher up the quality scale. This is perfectly natural, but I agree, can be an annoyance to deal with.
He said he wants to pay someone to do the programming because he knows about point-of-sale systems and not about programming. He's what some software teams call the "domain knowledge contact", or what a freelance programmer would call a "client".
Actually, the OP didn't actually say he had any specific domain knowledge about POS systems. A domain expert is not the same as a client. It's very dangerous in this case to make that mistake, because if the OP really doesn't have much of a clue about POS systems (besides the superficial "list of peripherals it should interface with"), a programming team can't rely on him for anything more than interface-related desires. Hence, a failed project, because it's all a mess, because no one thought about bringing in a POS domain expert, who would likely be more expensive than run-of-the-mill OSS developers.
...running any mission critical application on an unsupported OS scares me...
I don't agree with the term "mission critical" being used for a POS system. What happens if the system goes down? Nobody is in physical danger. A business isn't going to fail if it can't upgrade it's POS Win95 boxes. Cashiers need to pull out the paper receipts and calculators, and continue selling by hand. Inventory needs to be done by hand by reconciling with paper sales receipts. IMO it devalues the term "mission critical" to use it for anything just "very useful".
A crowd won't kill you if you take 30 seconds instead of 5 seconds to check your tuning.
A crowd will get bored real fast if it's dead air, though. You definitely want a frontman that can yak while everyone re-tunes. If the frontman is holding a guitar... give the drummer a mic!
I was told my by guitar instructor that I couldn't play guitar because I couldn't tune one.
I would tend to agree with him; unless you're a prodigy, you're best of at least starting at square one. But that's an awful thing to say to a kid. An instructor should never be sending such a negative image to a student. Rather, you should have been encouraged to practice intonation more (perhaps by using your voice, or perhaps with the aid of a digital tuner) in addition to the other material.
There's still the issue of dealing with the tail end of any distribution. I don't care about the 99.999% of people who, in the aggregate, fit a model. I care about that 0.001% of people who are going to completely blow it (because, as always, "past performance does not implly future performance").
If you are interested in planted aquaria, you have probably heard of Aquarium Hobbyist Supply. They're a little store in New York that sells excellent light bulbs, and their website more-or-less sucks from Google's/John Doe's perspective; from what I can tell, they mostly survive from a set of die-hard repeat customers.
If they were to find some way to add a community aspect to their site, that would probably change a lot. Something like this section on lighting. The Krib gets fairly good Google search results based on a few criteria:
- It's very old, and it's had time to accumulate a lot of inbound links
- It's well-organized... it comes back from the era of tree-based sites, which lend themselves towards more direct SEO (no "complete graphs" of links to deal with).
- It's chock full of real information, so it naturally has very distinctive terminology.
All it really takes is a few interested employees to start up a blog on a commercial site, where they can start up community discussion. Then some inbound links start cropping up on other forums, and people start hanging out "outside the front door" of the store, because it's a good place to get useful hobby info. Then viola! A tiny little web storefront now has a WWW presence, because it took the effort to involve the community (in the right way, not in the "pretend to care" way).Are you kidding? Having a well-defined enemy with unambiguously evil goals who is willing to fight more or less face-to-face is awesome. At least, relative to situations like Iraq and Vietnam, both of which are "conflicts" with half-hearted support back at home and very little support from locals (who don't necessarily see us "liberating" them as a good thing).
A lot of that has to do with the warlords in various nations, as Bill Clinton tells us.
But seriously, yes. "Feed the world" only works if we're willing to usurp all of the local governments of the world (particularly some of the more poorly-behaved African nations) and handle the entire supply chain ourselves (USA/UN/whoever).
I'm sorry, I usually let the occasional affect/effect error slip, but this one is just too funny. "Effect" as a verb means "to produce", as in "the company began offering overtime pay in order to effect 60-hour work weeks" (which didn't exist prior). "Affect" is what you want, which means "to modify", as in "the company offered a generous bonus in order to affect employee morale" (which did exist prior).
What you said amounts to "war creates people." Which I suppose is true (look at the Baby Boomers), but probably not what you intended.
I would. I disagree with what you have to say but will fight to the death to protect your right to say it. I would probably also hope for the store owners to receive poor business, lots of harassment, and an inability to find employees willing to work at such a blatantly racist store.
I hope that you have at least some baseline for accessibility. Because generally speaking, if your website sucks for blind people, it sucks for search engines, and it may suck for sighted people as well. Put another way: making your website more accessible to people with real disabilities has the side effect of making it more accessible to the average population as well.
Though ultimately, I agree that it matters little (in a moral sense) whether you follow the letter of "ADA compliance" or not.
Yes, there is a general problem with standards that far exceed current browser support... but an ADA-compliant rendering shouldn't really be relying on CSS voice styles. The HTML document itself, without any images or styles, should be accessible. CSS should be used to enhance the user experience, not to enable it.
In general, "browser support" is a perpetually unsolvable problem, because there's a potentially infinite set of user agents (browser) that may be invented. What if I write my own screen reader that's freely-available, but sucks? Can a blind person using my screen reader complain that an arbitrary site doesn't work with my (awful) screen reader? My opinion is generally "only if it is a problem that would affect an overwhelming majority of screen-reader users." That is, if it is a general problem that affects most non-visual user agents, then it's probably a site issue. If it only affects a few user agents, it's probably a UA issue.
But these can't be hard-and-fast rules, since at the core, the W3C web standards are really just "recommendations", and there's no authoritative governing body. This probably falls under some larger legal issue along the lines of "you have to prove that you probably tried to be accessible," which plagues every other legal gray area.
Whoever said the site needs to look the same? Your boss? Customers don't care about the relatively minor differences between major browsers with standards-compliant markup. They aren't going to do side-by-side cross-browser comparisons before they purchase. They just want the site to be easy to use, and at least structurally similar between different browsers. That's very easy for a professional web developer (which surely a company like Target can afford tens of).
If your boss is the one requiring pixel-perfect matching and "latest and greatest" technologies like Flash for core functionality, then your organization is at fault. Don't blame the rest of the world for your company's bad technology management.
100% wrong. You think the web is primarily a visual medium because you primirily use your eyes to view it. It's a common asssumption to make, though: the human visual system is the highest-bandwidth input that our brain has, so people tend to gravitate towards visual things.
That, my friend, depends on your definition of efficiency. A particularly spartan society could say "it's not worth the effort. If you can't walk, you are as good as dead to us." Essentially, this says that the a disabled person is worth $0, and it's obviously efficient to allow the disabled to starve.
On the other extreme, a society could say "everyone must be 100% supported, no matter what the economic burden." In that case, a disabled person is worth $\inf, and it's obviously efficient to cater to them.
We live somewhere in between. I don't think a modeling agency should be legally obligated to employ people with Treacher Collins disease. I do think a local/state/city government is legally obligated to provide low-grade ramps for wheelchairs and "open sesame" buttons for the doors.
Every organization has to draw the line somewhere. Few people would argue "let the wheelchair people die". But what about when a website for a local store in Podunk Whitebread Town, North Dakota gets sued for not providing Japanese-, Chinese-, and Spanish-language equivalents for Californiaites who through the magic of the Internet can surf to this site, but comprise 0% of the clientele of the store?
It's really the other way around. All browsers should implement similar-enough systems so a standard-conformant site is accessible. You can't say "this (html) document must be accessible in all browsers", because there is a potentially infinite set of browsers that are arbitrarily unconformant.
The web sites themselves should be designed from a baseline of standards-support. Only then should they be customized from there to provide enhanced experiences (e.g. "work around bugs") in the browsers du jour.
Even still, it's possible to give a flashy website accessible underpinnings, via techniques like Fahrner Image Replacement. While right now, tricks like this are currently hacks within the HTML/CSS/JS environment, I suspect that continued pressure from lawsuits like this will eventually lead to cleaner solutions, from browser vendors and standards bodies.
You're thinking in too narrow of a focus. The more general problem besides stress-measurement is attention modeling. If your computer can identify the general notion of what you're doing ("he's busy, don't bother him" vs. "he's just surfing the web, him him with distractions!"), it is one step towards not distracting you when you're in the middle of getting work done.
Think about it... you're furiously working on a problem... lots of mouse and keyboard activity... you get up to go get some coffee, and when you come back, your computer has new alerts for you (new email arrived and a Windows security update). It could have distracted you when you were obviously busy, but by guessing your attention model, it saved you a few seconds of distraction. It's not perfect, but it's better than what we have now.
Now, whether a sweatband around your head is required or not, I don't know...
Well sure, any technology can be used by the dark side, but your statement reeks of paranoia and foot-in-mouth syndrome. A big issue in modern desktop systems is information overload. If you boot up a windows computer that hasn't been on in a year, it'll spend about the first 10 minutes randomly pestering you with things (new updates available, unused icons on the desktop, unused icons in the task bar, blah blah blah). On my desktop, suppose I am running Thunderbird, Firefox, Gaim, and downloading a few torrents. My OS, web browser, and mail client are all periodically polling for updates. Currently, I'm deeply focused on getting some piece of code working (or as the case is now, blabbing on Slashdot). At any point in time, I can be interrupted by these messages:
My computer is going to pester the crap out of me with all of this, and ultimately slow my work down. Conversely, if I'm just browsing the web, I want immediate notification of some of these things. To the best of my knowledge, no one has come up with a good solution to this (implicit prioritization). Some of the folks at the UIUC HCI lab are researching it, but I don't know the status of their work. The general gist, however, is known. The fact that a computer cannot currently detect "general intent" of a user is a weakness, and it causes unnecessary distractions. If a desktop system wants to manage distractiveness, it needs to implement some sort of attention model measuring any of the following:
Trying to decide when (and how) to interrupt someone is very difficult. The current solution of "all or none" is not feasable in the long run. It's not just your boss trying to squeeze a bit more juice out of you. Get a new boss.
Being unmarried myself, I am probably not in the best position to be offering advice, but this doesn't sound like the sort of marriage you should be continuing, if it is a two-way battleground (why wait for infidelity to get some marriage counseling or a divorce).
Anyhow, I doubt you've told us the whole story... what if your wife views you as weaponizing money?
There's a crap-ton of material in CS that I (we) take for granted, even discounting patterns. State machine. Stack/queue/vector (std::vector and friends are semantically very different from mathematical vectors).
This is very different from the jargon people see superficially: SOAP, WS-Security, WSDL... all generally commercially-pushed "technologies". One style describes ideas, whereas the other simply describes products.
The clearest would be to say "'Neurotic is best RTS game strategy". The strategy of a real-time strategy game, without any of the confusion of PIN numbers.
Or, just accept that acronyms eventually turn into nouns, for better or for worse. People go scuba diving. The buy scuba gear — nevermind that it expands to "Self-Contained Breathing Apparatus gear" — because scuba has become a word by itself.
By the way, that is awesome. My parents were always involved in scouting with me, and it's made a tremendous difference in my life.
Ok, you're a big kid now. You've gotten better at effective decision-making (hopefully), and now your boss expects you to be able to ask yourself your own multiple-choice questions.
The point of a scantron test isn't to memorize a set of available choices. The point of a scantron test is to encourage the students to learn the material. Buying servers is very different from learning how Kirchoff's Rules for current in wires works, and scantrons really just exist to make it feasable to grade the "easy stuff" without any human effort, so more effort can be focused on the more important parts.
Any curriculum that reads like a vocational track but is labeled as a CS track is a lie. It's not a surprise that most CS schools are crappy. In any popular field in life, there are a bajillion crappy options, and less options as you go higher up the quality scale. This is perfectly natural, but I agree, can be an annoyance to deal with.
Actually, the OP didn't actually say he had any specific domain knowledge about POS systems. A domain expert is not the same as a client. It's very dangerous in this case to make that mistake, because if the OP really doesn't have much of a clue about POS systems (besides the superficial "list of peripherals it should interface with"), a programming team can't rely on him for anything more than interface-related desires. Hence, a failed project, because it's all a mess, because no one thought about bringing in a POS domain expert, who would likely be more expensive than run-of-the-mill OSS developers.
I don't agree with the term "mission critical" being used for a POS system. What happens if the system goes down? Nobody is in physical danger. A business isn't going to fail if it can't upgrade it's POS Win95 boxes. Cashiers need to pull out the paper receipts and calculators, and continue selling by hand. Inventory needs to be done by hand by reconciling with paper sales receipts. IMO it devalues the term "mission critical" to use it for anything just "very useful".
A crowd will get bored real fast if it's dead air, though. You definitely want a frontman that can yak while everyone re-tunes. If the frontman is holding a guitar... give the drummer a mic!
I would tend to agree with him; unless you're a prodigy, you're best of at least starting at square one. But that's an awful thing to say to a kid. An instructor should never be sending such a negative image to a student. Rather, you should have been encouraged to practice intonation more (perhaps by using your voice, or perhaps with the aid of a digital tuner) in addition to the other material.