You're confusing two very different things. "Pay attention to the user's behavior" and "listen to what the user asks for".
The first is always valuable. Seeing what users do is just plain good. You should be doing that. You should absolutely be doing that.
The second, however, is a frequent mistake. Users don't know what they want. They know what they want to do, and they either know they can't do it or they know how they used to be able to do it, but the ideas they come up with to fix that issue tend to range the gamut from "barely acceptable" to "horrible".
Any change you make to an existing UI - *any change whatsoever* - will result in a storm of people calling for blood. No matter how good the idea is, no matter how good the change is, people will scream for it to be changed back. If you want to create a good UI, at some point you just have to ignore this. People yell for reversion, you tell them "no", and a few months down the line you find out if you made the right call or not.
You might think he made the wrong decision here, but "listening to the users" has absolutely nothing to do with real user experience testing.
Actually, WoW does all player motion on the client, which is why speedhacks and flyhacks and all other sort of movement hacks work. It's been a recurring problem for them with regards to cheat protection - as far as anyone can tell, the WoW servers do absolutely no position verification of any sort, and people can fly around at supersonic speed for quite a while before the GMs catch on.
EVE does indeed bounce every command off the server - the client is little more than a dumb terminal (with, admittedly, a complicated buggy window manager attached.)
So negotiate with the artists for songs. If the songwriters don't give artists songs, the artists don't have new songs to play. Put it in the contract, make the artists and labels sign it. That's what contracts are for. Don't try to change contracts after the fact when you get greedy and see how much money is slipping through your fingers.
Apparently, the music industry can't obtain the fees through negotiations
Here's how I see this conversation going.
ASCAP> Give us lots of money! Apple> You're already getting lots of money. ASCAP> We want *more* money! Apple> No. ASCAP> We *demand* more money! Apple> No. ASCAP> If you don't give us more money, we'll take our music off your service! Apple> No you won't, and we both know it. ASCAP> WAAAAH GIVE US MORE MONEY
C'mon. If they wanted the extra fees so bad, they'd take their music off. Obviously they don't - they just want the government to step in when their own demands for money fell flat.
Why don't they make their own music distributor? Oh, that's right, because that takes work, and they don't want to do work. They just want free money.
Except that it does. In fact, it did between me making that response and this reply. It might not crash for you, in which case you're lucky, but for me it's somewhat frequent.
And yes, I have 150 tabs open spread across 15 windows, and don't really want to change my work habits to accommodate a flaky piece of software. Firefox should deal with this properly, and right now, it doesn't.
(I've never gotten a memory warning from it, and it seems to gradually use more RAM over time - not like it used to, but it slowly crawls up towards 2gb over time. Once it hits around 1.6gb according to Windows it melts down shortly, I'm assuming this is it hitting the 2gb barrier.)
I don't care what the user's behavior is - Firefox shouldn't crash. It could warn about memory issues, and swap pages to disk. It could split the app into multiple processes to dodge the 2gb memory barrier, if that is actually the problem. It could simply use less RAM.
The only situation where crashing isn't an app bug is when it's an OS bug. The user shouldn't be able to make it crash.
But you do have to pay people to lock things and unlock things. You do need to deal with the overhead of losing keys and keys getting stolen. And, as mentioned, it's less attractive - I'm not saying that the lock is necessarily ugly, but the mere fact that you can see it's visibly locked is a visual detraction. (And it's worse if you try to pick it up and can't.)
Apple computers are supposedly about freedom. They've spent a lot of money on this image. What does it say if you walk into an Apple store and have to call over a tech to unlock the computer so you can see how heavy it is?
Or with a textbook, or by discussions with people who already know it, while applying that knowledge to problems in the field. A combination of those above is how I learned the standard stuff related to programmming algorithms and algorithmic complexity.
More difficult, maybe, but only if you already have access to a competent teacher. And in the end, I learned more from experience than I ever would have through regurgitation, which is the teaching method of an unfortunate number of classes.
Essentially-retired at 25, working on starting a video game studio because I've always wanted to start a video game studio. I mean, I probably can't convince you that I know my shit, but . . . things aren't going badly for me.
No, but it might be great for actually learning something. I don't know about the majority of people here, but I learned despite my school, not because of it - every skill I now use professionally is a skill that my school took great effort to teach glacially, incorrectly, and uselessly.
On the other hand, the year in which I basically dropped out of high school, I learned a huge amount.
I don't know if this will be better than conventional education, but, honestly? It'd be hard for it to be worse.
Even if I agreed with you about hardware DIY dying - which I don't - I'm not sure it's the important part. Maybe it's harder to put together machines, but putting together programs? Anyone with a computer and an internet connection can grab a full suite of completely free development tools and tutorials in minutes. I'd love to see Lego or Meccano beat that.
It's not the same - but I'm not convinced it's worse.
It's possible to take dirty water and turn it into clean water. We have the technology. We've had it for quite a while. If we start "running out of water", you know what the solution is?
Build more water treatment plants.
Bam. More clean water.
Water is, by and large, not "consumed on use", and even with the small amount that is, there's fucking gargantuan reservoirs of water just waiting for some enterprising soul to desalinate them. Stop pretending that clean water is a tightly limited natural resource that the combined knowledge of humanity can never increase - it just flat-out isn't.
Impact resistance is complicated, but there's parts that are very, very simple. Let's say you drop your laptop from five feet up. When it hits the ground, it'll be going at a certain velocity (I am currently too lazy to calculate it) with a certain amount of momentum. That velocity and momentum will go into crushing the impact point against the ground. If the impact point is forced to decelerate rapidly, and is a small enough point, it'll be subject to a huge amount of force. Boom, shattered plastic.
Now we add padding. The thing about padding is that it doesn't actually reduce the velocity or momentum in any way (in fact, unless it's literally weightless, it *increases* momentum.) It also doesn't change the basic physical requirements - that momentum will get absorbed somewhere. Guaranteed.
There's two ways the padding helps. First, it lets your dropped object decelerate more slowly - instead of having to go from fall to stop in a tiny distance (namely, the amount your laptop plastic deforms without permanent damage) it goes from fall to stop in a much larger distance - the distance that the padding can be compressed. (Plus the plastic deformation.)
Second, it provides - potentially - a larger impact zone, distributing the force more equally over the plastic of the laptop. A force that would shatter a corner may not do much at all distributed over a few square inches.
The first part, unfortunately, has some very basic physical limits. If the padding is an eighth of an inch thick, it will provide, at most, an eighth of an inch of extra speed reduction. There is just no way to improve this until you fit your shock absorber with little rockets and sensors to determine when it's about to impact the ground.
The second part is a lot more theoretically capable, but also a whole lot harder to solve. The ideal situation is a material that somehow deforms at the impact spot in exactly the manner that lets it stop at its maximum deformation point, without any extra jerks or impacts, while simultaneously spreading the impact over the entire surface of the protected item.
That is a damn hard thing to accomplish. If he's succeeded in it, or in anything remotely like it, I'm impressed.
The press releases seem to feel that d3o is absolutely fantastic for human garments, where the fabric has to be malleable until the impact occurs. That's quite different from electronics protection, where malleability is simply not an issue, and I'm not convinced that it will make the changeover smoothly.
While I agree with most of your comments, it's worth mentioning that oil can be synthesized in many ways. We're not going to run out of it - it's just going to get more expensive, and we're going to need to get the energy we'll use to produce it in other ways.
There are three truly irreplaceable resources in the world - mass, energy, and manpower. We're not about to run out of mass, we'd be fine on energy if we could get rid of NIMBY issues (and, in a century or two at most, we'll presumably have fusion) and we're certainly not about to run low on manpower until we absolutely destroy our biosphere.
Talking about running out of oil, however, is kind of ridiculous.
Yes, that's certainly what happened to the BSD kernel when Apple forked it.
Oh, wait, it wasn't at all.
The vast majority of people don't make open-source packages because they have something to sell, and they don't stop when people start selling it. (People sell open-source software even when it's GPL licensed, remember.) Some people do grab BSD-licensed things and improve them . . . and sometimes they contribute improvements back to the project. And sometimes they don't. Such is life.
People can't force BSD code to stop being free. I'm really not sure where that ever came from, but it's just complete falsehood. They can make their own improvements, and own those, but the core code?
Well, it's free - and chances are good that unless the improvements are a major, major amount of work, they'll end up implemented in the original version soon anyway.
I don't know of any case where the hypothetical situation you claim as inevitable has happened.
Do you see the Linux kernel gravitating to BSD? Do you see GIMP gravitating to BSD? Do you see OO.o gravitating to BSD?
No. Never. The legal issues alone would be near-insurmountable.
I do, however, see a point where the Linux Kernel is Good Enough, and there are no longer major underlying improvements being made because, well, what would be improved? And on that day, the Linux kernel stops moving forward . . . and the BSD kernels don't stop moving forward, since they are not yet at that point . . . and eventually reach the Linux kernel in capabilities and stability.
And at that point, the Linux kernel goes away, and the BSD kernel becomes the norm.
It's a long ways off. But I think, long-term, it's inevitable, for much the same reason as Windows became Good Enough many years ago and the Linux kernel and applications have been catching up ever since.
I don't know of any immediate competitors to GIMP or OO.o. But I think, eventually, they'll show up. (It may take some time - office software is not as suspectible to this as operating systems and libraries are, simply because almost nobody needs to link them in.)
You may note that I've licensed several packages under the GPL. I'm no stranger to the GPL at all, and it's a good license. I just think it's rather inevitably going to give ground.
Applications gravitate towards being perfectly open-source. He's right. They do. If there's a closed-source app, eventually someone's going to sit down and clone it to be open-source. They'll do it because they need a version that they can access the source code for, and they'll do it because they're not willing to pay the license fees, and they'll do it because, hey, we went to all this work, why not let other people use it?
He's right.
But the license that code gravitates towards isn't the GPL.
The GPL is restrictive. The GPL is - in some senses - closed, rather than open. The GPL cannot be used for all purposes.
The license code gravitates towards is the BSD license. The MIT license. The libpng/zlib license. The license that says, in brief, "Hey. Here's some code. Don't sue us. Have fun."
Because every software package - every software package - is pushed by that same force, that force that says "I need software with specific allowances, and if I cannot find it, I will make it." And the GPL does not allow everything.
The GPL is a fantastic, amazing license. I've licensed code under it, and I'm glad it exists.
What's she competing in? Well, she's competing in the "female division". What does "female" mean? Turns out they never bothered defining that.
Is it fair that she be allowed to compete?
Who the hell knows? They've already tossed in an "unfairness" by removing half of humanity. Is it a justified unfairness? Probably. But there's no objective answer to where they should draw the line - they could restrict it by weight class, by height, by age, by whatever the hell they wanted to.
Even assuming we discover there's something wacky about her genetics, the problem isn't her genetics - the problem is that nobody sat down and scientifically described what "female" meant, and now they're going to end up in the middle of a shitstorm because everyone defines it slightly differently without realizing it.
You're confusing two very different things. "Pay attention to the user's behavior" and "listen to what the user asks for".
The first is always valuable. Seeing what users do is just plain good. You should be doing that. You should absolutely be doing that.
The second, however, is a frequent mistake. Users don't know what they want. They know what they want to do, and they either know they can't do it or they know how they used to be able to do it, but the ideas they come up with to fix that issue tend to range the gamut from "barely acceptable" to "horrible".
Any change you make to an existing UI - *any change whatsoever* - will result in a storm of people calling for blood. No matter how good the idea is, no matter how good the change is, people will scream for it to be changed back. If you want to create a good UI, at some point you just have to ignore this. People yell for reversion, you tell them "no", and a few months down the line you find out if you made the right call or not.
You might think he made the wrong decision here, but "listening to the users" has absolutely nothing to do with real user experience testing.
Actually, WoW does all player motion on the client, which is why speedhacks and flyhacks and all other sort of movement hacks work. It's been a recurring problem for them with regards to cheat protection - as far as anyone can tell, the WoW servers do absolutely no position verification of any sort, and people can fly around at supersonic speed for quite a while before the GMs catch on.
EVE does indeed bounce every command off the server - the client is little more than a dumb terminal (with, admittedly, a complicated buggy window manager attached.)
So negotiate with the artists for songs. If the songwriters don't give artists songs, the artists don't have new songs to play. Put it in the contract, make the artists and labels sign it. That's what contracts are for. Don't try to change contracts after the fact when you get greedy and see how much money is slipping through your fingers.
Here's how I see this conversation going.
ASCAP> Give us lots of money!
Apple> You're already getting lots of money.
ASCAP> We want *more* money!
Apple> No.
ASCAP> We *demand* more money!
Apple> No.
ASCAP> If you don't give us more money, we'll take our music off your service!
Apple> No you won't, and we both know it.
ASCAP> WAAAAH GIVE US MORE MONEY
C'mon. If they wanted the extra fees so bad, they'd take their music off. Obviously they don't - they just want the government to step in when their own demands for money fell flat.
Why don't they make their own music distributor? Oh, that's right, because that takes work, and they don't want to do work. They just want free money.
I feel so sorry for them.
I hope you're never in charge of any serious software package, because that would flatten some rather important webpages.
Except that it does. In fact, it did between me making that response and this reply. It might not crash for you, in which case you're lucky, but for me it's somewhat frequent.
And yes, I have 150 tabs open spread across 15 windows, and don't really want to change my work habits to accommodate a flaky piece of software. Firefox should deal with this properly, and right now, it doesn't.
(I've never gotten a memory warning from it, and it seems to gradually use more RAM over time - not like it used to, but it slowly crawls up towards 2gb over time. Once it hits around 1.6gb according to Windows it melts down shortly, I'm assuming this is it hitting the 2gb barrier.)
I think you just invented America's current employment model.
I don't care what the user's behavior is - Firefox shouldn't crash. It could warn about memory issues, and swap pages to disk. It could split the app into multiple processes to dodge the 2gb memory barrier, if that is actually the problem. It could simply use less RAM.
The only situation where crashing isn't an app bug is when it's an OS bug. The user shouldn't be able to make it crash.
Not a user error.
I think you need to go read my post over again, as never did I say anything that disagreed with any of that :P
But you do have to pay people to lock things and unlock things. You do need to deal with the overhead of losing keys and keys getting stolen. And, as mentioned, it's less attractive - I'm not saying that the lock is necessarily ugly, but the mere fact that you can see it's visibly locked is a visual detraction. (And it's worse if you try to pick it up and can't.)
Apple computers are supposedly about freedom. They've spent a lot of money on this image. What does it say if you walk into an Apple store and have to call over a tech to unlock the computer so you can see how heavy it is?
Or with a textbook, or by discussions with people who already know it, while applying that knowledge to problems in the field. A combination of those above is how I learned the standard stuff related to programmming algorithms and algorithmic complexity.
More difficult, maybe, but only if you already have access to a competent teacher. And in the end, I learned more from experience than I ever would have through regurgitation, which is the teaching method of an unfortunate number of classes.
Essentially-retired at 25, working on starting a video game studio because I've always wanted to start a video game studio. I mean, I probably can't convince you that I know my shit, but . . . things aren't going badly for me.
In fairness, that's true. Some skills they didn't even try to teach, and some certainly had no effort involved.
I can't honestly think of anything both academic and useful that I learned from 5th grade onward, however.
No, but it might be great for actually learning something. I don't know about the majority of people here, but I learned despite my school, not because of it - every skill I now use professionally is a skill that my school took great effort to teach glacially, incorrectly, and uselessly.
On the other hand, the year in which I basically dropped out of high school, I learned a huge amount.
I don't know if this will be better than conventional education, but, honestly? It'd be hard for it to be worse.
Even if I agreed with you about hardware DIY dying - which I don't - I'm not sure it's the important part. Maybe it's harder to put together machines, but putting together programs? Anyone with a computer and an internet connection can grab a full suite of completely free development tools and tutorials in minutes. I'd love to see Lego or Meccano beat that.
It's not the same - but I'm not convinced it's worse.
It's possible to take dirty water and turn it into clean water. We have the technology. We've had it for quite a while. If we start "running out of water", you know what the solution is?
Build more water treatment plants.
Bam. More clean water.
Water is, by and large, not "consumed on use", and even with the small amount that is, there's fucking gargantuan reservoirs of water just waiting for some enterprising soul to desalinate them. Stop pretending that clean water is a tightly limited natural resource that the combined knowledge of humanity can never increase - it just flat-out isn't.
Considering that right here we have an example of a package being rewritten from GPL to LGPL, I can't say I agree with your logic.
Not every action is motivated by fear, you know.
Impact resistance is complicated, but there's parts that are very, very simple. Let's say you drop your laptop from five feet up. When it hits the ground, it'll be going at a certain velocity (I am currently too lazy to calculate it) with a certain amount of momentum. That velocity and momentum will go into crushing the impact point against the ground. If the impact point is forced to decelerate rapidly, and is a small enough point, it'll be subject to a huge amount of force. Boom, shattered plastic.
Now we add padding. The thing about padding is that it doesn't actually reduce the velocity or momentum in any way (in fact, unless it's literally weightless, it *increases* momentum.) It also doesn't change the basic physical requirements - that momentum will get absorbed somewhere. Guaranteed.
There's two ways the padding helps. First, it lets your dropped object decelerate more slowly - instead of having to go from fall to stop in a tiny distance (namely, the amount your laptop plastic deforms without permanent damage) it goes from fall to stop in a much larger distance - the distance that the padding can be compressed. (Plus the plastic deformation.)
Second, it provides - potentially - a larger impact zone, distributing the force more equally over the plastic of the laptop. A force that would shatter a corner may not do much at all distributed over a few square inches.
The first part, unfortunately, has some very basic physical limits. If the padding is an eighth of an inch thick, it will provide, at most, an eighth of an inch of extra speed reduction. There is just no way to improve this until you fit your shock absorber with little rockets and sensors to determine when it's about to impact the ground.
The second part is a lot more theoretically capable, but also a whole lot harder to solve. The ideal situation is a material that somehow deforms at the impact spot in exactly the manner that lets it stop at its maximum deformation point, without any extra jerks or impacts, while simultaneously spreading the impact over the entire surface of the protected item.
That is a damn hard thing to accomplish. If he's succeeded in it, or in anything remotely like it, I'm impressed.
The press releases seem to feel that d3o is absolutely fantastic for human garments, where the fabric has to be malleable until the impact occurs. That's quite different from electronics protection, where malleability is simply not an issue, and I'm not convinced that it will make the changeover smoothly.
We'll see.
While I agree with most of your comments, it's worth mentioning that oil can be synthesized in many ways. We're not going to run out of it - it's just going to get more expensive, and we're going to need to get the energy we'll use to produce it in other ways.
There are three truly irreplaceable resources in the world - mass, energy, and manpower. We're not about to run out of mass, we'd be fine on energy if we could get rid of NIMBY issues (and, in a century or two at most, we'll presumably have fusion) and we're certainly not about to run low on manpower until we absolutely destroy our biosphere.
Talking about running out of oil, however, is kind of ridiculous.
Yes, that's certainly what happened to the BSD kernel when Apple forked it.
Oh, wait, it wasn't at all.
The vast majority of people don't make open-source packages because they have something to sell, and they don't stop when people start selling it. (People sell open-source software even when it's GPL licensed, remember.) Some people do grab BSD-licensed things and improve them . . . and sometimes they contribute improvements back to the project. And sometimes they don't. Such is life.
People can't force BSD code to stop being free. I'm really not sure where that ever came from, but it's just complete falsehood. They can make their own improvements, and own those, but the core code?
Well, it's free - and chances are good that unless the improvements are a major, major amount of work, they'll end up implemented in the original version soon anyway.
I don't know of any case where the hypothetical situation you claim as inevitable has happened.
I never claimed that this gradual push would happen entirely out of a hatred of GNU :P
Do you see the Linux kernel gravitating to BSD? Do you see GIMP gravitating to BSD? Do you see OO.o gravitating to BSD?
No. Never. The legal issues alone would be near-insurmountable.
I do, however, see a point where the Linux Kernel is Good Enough, and there are no longer major underlying improvements being made because, well, what would be improved? And on that day, the Linux kernel stops moving forward . . . and the BSD kernels don't stop moving forward, since they are not yet at that point . . . and eventually reach the Linux kernel in capabilities and stability.
And at that point, the Linux kernel goes away, and the BSD kernel becomes the norm.
It's a long ways off. But I think, long-term, it's inevitable, for much the same reason as Windows became Good Enough many years ago and the Linux kernel and applications have been catching up ever since.
I don't know of any immediate competitors to GIMP or OO.o. But I think, eventually, they'll show up. (It may take some time - office software is not as suspectible to this as operating systems and libraries are, simply because almost nobody needs to link them in.)
You may note that I've licensed several packages under the GPL. I'm no stranger to the GPL at all, and it's a good license. I just think it's rather inevitably going to give ground.
While I mostly haven't needed to respond to this debate, I thought I'd point out that GCC *is* being replaced . . . by a package with a BSD license.
(It'll take a bit, of course - something as huge as replacing GCC isn't an overnight thing.)
Applications gravitate towards being perfectly open-source. He's right. They do. If there's a closed-source app, eventually someone's going to sit down and clone it to be open-source. They'll do it because they need a version that they can access the source code for, and they'll do it because they're not willing to pay the license fees, and they'll do it because, hey, we went to all this work, why not let other people use it?
He's right.
But the license that code gravitates towards isn't the GPL.
The GPL is restrictive. The GPL is - in some senses - closed, rather than open. The GPL cannot be used for all purposes.
The license code gravitates towards is the BSD license. The MIT license. The libpng/zlib license. The license that says, in brief, "Hey. Here's some code. Don't sue us. Have fun."
Because every software package - every software package - is pushed by that same force, that force that says "I need software with specific allowances, and if I cannot find it, I will make it." And the GPL does not allow everything.
The GPL is a fantastic, amazing license. I've licensed code under it, and I'm glad it exists.
But it's a midpoint - not an endpoint.
What's she competing in? Well, she's competing in the "female division". What does "female" mean? Turns out they never bothered defining that.
Is it fair that she be allowed to compete?
Who the hell knows? They've already tossed in an "unfairness" by removing half of humanity. Is it a justified unfairness? Probably. But there's no objective answer to where they should draw the line - they could restrict it by weight class, by height, by age, by whatever the hell they wanted to.
Even assuming we discover there's something wacky about her genetics, the problem isn't her genetics - the problem is that nobody sat down and scientifically described what "female" meant, and now they're going to end up in the middle of a shitstorm because everyone defines it slightly differently without realizing it.