I disagree. Good UI design is intuitive, sure. However, basic functionality needs to be obvious. More advanced functionality can require some learning curve. Going back multiple pages simply isn't something the majority of people start out doing. Even with a dropdown, they often don't even realize they can do it.
I think it's perfectly acceptable that advanced features require knowledge, and not be in your face obvious.
It's people like you that are making so much noise. For example, when FF4 was released, everyone bitched that the dropdown menu was gone from the back and forward buttons. They wailed that there was no way to go back in the history more than one page at a time.
Of course, that was entirely false. All they had to do was one of two things. Right click on the button and the history dropdown appears, or click and hold and it appears. It's like people have forgotten that they can actually poke around and figure things out for themselves. If it's not readily apparent, they assume it can't be done.
And you think all democrats are the same? You're making the same mistake you are railing against.
Not all democrats are left wing extremists. Many are moderate (so called blue dogs).
Both Democrats and Republicans want to spend money. The difference is how they want to spend it. Republicans want to spend it in ways that help other republicans. Democrats want to spend it in ways that help other democrats.
I don't know about you, but i'd rather my tax money go to help people who need the help, rather than contributing to the profits of a company that is already well off. In other words, I don't want my taxes to help someone else become richer, i'd rather it help people from not starving to death, or dying from treatable illness, or.. heaven forbid.. provide preventative treatment before they get ill in the first place.
Cause here's the thing that Republicans forget. Poor people spend every dime they get. They put that money back in the economy. Rich people sit on it, and often send it overseas. This does nothing to help the economy.
What you describe is the exact same model that Android has used for years. And it doesn't work, because users install things and don't even read the list of required security.
All this is great, but in the end it always boils down to either letting the user do what they want, or being a nanny.
The default is not to put Domain Users in the local administrators group. Maybe your administrator set things up that way, but it's not the default. Someone configured it to do that.
Really? Care to prove that? Didn't think so. I'll do you the favor and show the real statistics.
IIS 6 has had 11 advisories in 8 years. Of which, none were Extremely critical, most of which are not exploitable by default, and require specific services to be enabled.
IIS 7.x has had 6 advisories in 4 years. Of which, none were Extremely critical, most of which are not exploitable by default, and require specific services to be enabled.
Apache is not the most popular web server in the way you suggest. More websites are hosted on Apache than anything else, but that doesn't translate to more apache servers than anything else. Windows web servers tend to be run by corporations, and as such tend to have only a small number of sites on them. Apache tends to be run by ISP's, and other hosting companies who put large numbers of sites on them.
Website != server
By the way, Apache runs on Windows as well. And it's used quite a bit actually, particularly in cases where the site is running Java based code. Like so many, you assume Apache only runs on Linux/Unix. Comparing Apache security to Windows security is so far beyond apples and oranges to be just plain stupid.
Besides, Apache has had more vulnerabilities than IIS has had in the last 8 years. IIS pre-2003 was hugely vulnerable, but they rewrote it for IIS6 and rewrote it again for IIS7. And the security statistics are very much in IIS's favor.
You're confusing designing it for network transparency versus implementing it with network transparency. You can do the latter if you've done the former.
You seem to think nobody is even considering it. That's certainly not true.
If you're referring to tablets popularity, then the "cloud" is largely irrelevent.. The user experience is still local. The apps still run local. The only thing in the cloud is service and storage.
Local app execution will always be the preferred way to run apps, even if all the guts run in the cloud. The actual rendering of the apps will still be local.
Not true at all. You're confusing two things. You assume that because network transparency is not built-in from the start, that network transparency was not taken into account in the design. If the design is flexible enough to allow network transparency to be added later, and perhaps it was even designed with the ability to add it later in mind... then yes, youy can bolt it on after the fact.
My understanding is that Wayland was designed with that in mind. It's like complaining that you can't have window managers in X because X wasn't written with a window manager.
Who says it does have to go? I think they're only acknowleding that X is better at network transparency at this point. Certainly, a display server can handle both X protocol and wayland interfacing at the same time, or at worst running an X server on top of wayland.
The point is, 9x% of users use X locally now. Focus on that, and when that is good, then you can turn to network transparency. And you know what? That would allow them to focus the attention on network transparency it deserves, rather than shoehorning it in as an all of nothing proposition.
I'm pretty sure they say it's a low priority because X is still the common use for that. First priority is to get the thing viable in the most common situation, using X for network transparency. There's no reason a display server can't be both wayland and X at the same time.
That doesn't mean they're not thinking about network transparency, but just making it a "TO DO".
And I bet you just want phone that only makes phone calls as well, or a TV that just displays channels, or a DVR that only records programs, or an MP3 player that only plays music...
Fact is, the market is filled with people, and the trend is to integrate things so that one product appeals to the broad market.
Indeed. Add to that, many ISP's block port 25 into or out of their network (except for their own mailservers). You could simply download your mail from your ISP's mail server, and forward through it. But you won't get your own domain unless you are a business customer.
Even if you ISP doesn't, it's a crapshoot that your ISP may have a reverse dns record for your IP, and without that a large percentage of mail servers will reject your mail.
Then, consider that you never know who might have had your IP in the past, and your IP might already be blacklisted, or even your whole subnet might.
I find it much easier to just go to a hosting provider, pretty much any will do. They give you free email services, with webmail, etc..
While i'm not disagreeing with you, I think it's a lot more complex than that. If you're talking commands in an app, then certainly there are times where effectively instant actions are beneficial, but when moving from app to app most people take a few moments to readjust themselves to a different UI and figure out how they're going to go about doing their task.
Let me give you an example. A company I worked at was complaining that their terminal based app (running on a Unix system) was too slow, and that it took too long after finishing a screen before they could move on to the next screen.
The company spent about $30,000 in hardware and software changes to get the screen take "near instant" time, and they found that the workers were no more productive. They did exactly the same amount of work in exactly the same amount of time.
The reason was that after they entered a screen, they had to shift their paperwork and move to the next folder of data. By the time they did that, the screen was finished updating and ready for the next work item. So in other words, wasted money.
That's why IE8 and 9 (in Vista and 7) have protected mode. It runs the browser in a sandbox that doesn't let the user get attacked in the way you mention (by the way, the phrase "user-mode rootkitting" is an oxymoron. A rootkit requires root access by definition.
Oh, it's VERY easy to waste time at the design phase. Haven't you ever heard of Analysis Paralysis? It's where you keep changing your mind and trying to design it better, and never quite seem to make it into production of the code.
Why are you repeating yourself? Apparently, you didn't read what I said and made some other assumption.
That milisecond shaved off for one user is irrelevant because it can't be combined with other users in any meaningful way. It will likely be swallowed up by the users day to day activities and not returned to the universe. Like I said, you're suggesting that 9 women can make a baby in 1 month. Or in your case, a million users can make some statistically signifant productivity boost.
You're using math wrong. Just like the baby example.
Let's put this another way. Let's say it takes 5 seconds to start an app, and through lots of hard work you figure out a way to make that 4 seconds. Using your math, that would give years of productivity back to the world. Except no, it doesn't. When an app starts, most users don't instantly start doing work the nanosecond the app starts loading.
People, being people, have reaction times and they often do things like pause to consider what work they want to do. So, if the user pauses for 10 seconds after they've started the app, then all that means is that the app will be idle for an extra second before the user starts doing something. The user will pause 10 seconds regardless of whether the app loaded in 4 seconds or 5.
Most apps just don't benefit linearly from random optimization, and doing so just wastes time and money.
I fail to understand your logic. My argument wasn't that all code should be slopily written. It's that writing "elegant" or "optimized" code does not need to be written for the vast majority of applications. Hell, it doesn't even have to be good code most of the time.
Knuth is exactly right. In that 3% case, it is critical to make the code the best it can be, but most of the time doing so is a waste of money.
Not all apps need maintenance, or much of it anyways.
So let's say you spend 2x longer building the app, but there is never any maintenance done on it. You are now out 50% of the money you spent on it. What's worse, you may not even be in business because your competitor shipped 6 months before you did and cornered the market.
I disagree. Good UI design is intuitive, sure. However, basic functionality needs to be obvious. More advanced functionality can require some learning curve. Going back multiple pages simply isn't something the majority of people start out doing. Even with a dropdown, they often don't even realize they can do it.
I think it's perfectly acceptable that advanced features require knowledge, and not be in your face obvious.
It's people like you that are making so much noise. For example, when FF4 was released, everyone bitched that the dropdown menu was gone from the back and forward buttons. They wailed that there was no way to go back in the history more than one page at a time.
Of course, that was entirely false. All they had to do was one of two things. Right click on the button and the history dropdown appears, or click and hold and it appears. It's like people have forgotten that they can actually poke around and figure things out for themselves. If it's not readily apparent, they assume it can't be done.
Umm.. how exactly do frameworks mature if everyone is not supposed to question the framework and never consider writing their own?
If that were the case, we'd all still be using.. i have no idea what...
And you think all democrats are the same? You're making the same mistake you are railing against.
Not all democrats are left wing extremists. Many are moderate (so called blue dogs).
Both Democrats and Republicans want to spend money. The difference is how they want to spend it. Republicans want to spend it in ways that help other republicans. Democrats want to spend it in ways that help other democrats.
I don't know about you, but i'd rather my tax money go to help people who need the help, rather than contributing to the profits of a company that is already well off. In other words, I don't want my taxes to help someone else become richer, i'd rather it help people from not starving to death, or dying from treatable illness, or.. heaven forbid.. provide preventative treatment before they get ill in the first place.
Cause here's the thing that Republicans forget. Poor people spend every dime they get. They put that money back in the economy. Rich people sit on it, and often send it overseas. This does nothing to help the economy.
What you describe is the exact same model that Android has used for years. And it doesn't work, because users install things and don't even read the list of required security.
All this is great, but in the end it always boils down to either letting the user do what they want, or being a nanny.
The default is not to put Domain Users in the local administrators group. Maybe your administrator set things up that way, but it's not the default. Someone configured it to do that.
Really? Care to prove that? Didn't think so. I'll do you the favor and show the real statistics.
IIS 6 has had 11 advisories in 8 years. Of which, none were Extremely critical, most of which are not exploitable by default, and require specific services to be enabled.
http://secunia.com/advisories/product/1438/?task=statistics
IIS 7.x has had 6 advisories in 4 years. Of which, none were Extremely critical, most of which are not exploitable by default, and require specific services to be enabled.
http://secunia.com/advisories/product/17543/?task=statistics
Let's look at Apache.
Apache 2.2.x has had 22 vulnerabilities in 6 years. Of which, none were Extremely critical.
Apache 2.0.x has had 40 advisories in 8 years, with the same level of ctiticality.
http://secunia.com/advisories/product/73/?task=statistics
Only 5% of Apache vulnerabilties were Highly critical, which amounts to 2 for 2.0.x and 1 for 2.2.x.
IIS 7.x has had 33% of 6, or 2 and IIS 6 has had 9% of 11, or 1.
So the facts are, Apache has had anywhere from 2-7x more vulnerabilities and roughly the same number of vulnerabilities.
That means, IIS is less likely to have a vunlnerability, but is more likely for it to be highly critical than Apache. So, in the end, it washes out.
Apache is not the most popular web server in the way you suggest. More websites are hosted on Apache than anything else, but that doesn't translate to more apache servers than anything else. Windows web servers tend to be run by corporations, and as such tend to have only a small number of sites on them. Apache tends to be run by ISP's, and other hosting companies who put large numbers of sites on them.
Website != server
By the way, Apache runs on Windows as well. And it's used quite a bit actually, particularly in cases where the site is running Java based code. Like so many, you assume Apache only runs on Linux/Unix. Comparing Apache security to Windows security is so far beyond apples and oranges to be just plain stupid.
Besides, Apache has had more vulnerabilities than IIS has had in the last 8 years. IIS pre-2003 was hugely vulnerable, but they rewrote it for IIS6 and rewrote it again for IIS7. And the security statistics are very much in IIS's favor.
You're confusing designing it for network transparency versus implementing it with network transparency. You can do the latter if you've done the former.
You seem to think nobody is even considering it. That's certainly not true.
You didn't actually read my link, did you?
Yes, you can do everything you said with RemoteApp. It looks like two instance of the app open on your local desktop.
If you're referring to tablets popularity, then the "cloud" is largely irrelevent.. The user experience is still local. The apps still run local. The only thing in the cloud is service and storage.
Local app execution will always be the preferred way to run apps, even if all the guts run in the cloud. The actual rendering of the apps will still be local.
I think he's confusing copyleft with non-free. Some people are under the mistaken impression that if it's not copyleft, it's not free.
Totally untrue. RDP allows that just fine. It's called RemoteApp.
Most uses of X depend heaviliy on shared memory as well, but they can be remoted just fine. I fail to understand your point.
Not true at all. You're confusing two things. You assume that because network transparency is not built-in from the start, that network transparency was not taken into account in the design. If the design is flexible enough to allow network transparency to be added later, and perhaps it was even designed with the ability to add it later in mind... then yes, youy can bolt it on after the fact.
My understanding is that Wayland was designed with that in mind. It's like complaining that you can't have window managers in X because X wasn't written with a window manager.
Who says it does have to go? I think they're only acknowleding that X is better at network transparency at this point. Certainly, a display server can handle both X protocol and wayland interfacing at the same time, or at worst running an X server on top of wayland.
The point is, 9x% of users use X locally now. Focus on that, and when that is good, then you can turn to network transparency. And you know what? That would allow them to focus the attention on network transparency it deserves, rather than shoehorning it in as an all of nothing proposition.
I'm pretty sure they say it's a low priority because X is still the common use for that. First priority is to get the thing viable in the most common situation, using X for network transparency. There's no reason a display server can't be both wayland and X at the same time.
That doesn't mean they're not thinking about network transparency, but just making it a "TO DO".
And I bet you just want phone that only makes phone calls as well, or a TV that just displays channels, or a DVR that only records programs, or an MP3 player that only plays music...
Fact is, the market is filled with people, and the trend is to integrate things so that one product appeals to the broad market.
Indeed. Add to that, many ISP's block port 25 into or out of their network (except for their own mailservers). You could simply download your mail from your ISP's mail server, and forward through it. But you won't get your own domain unless you are a business customer.
Even if you ISP doesn't, it's a crapshoot that your ISP may have a reverse dns record for your IP, and without that a large percentage of mail servers will reject your mail.
Then, consider that you never know who might have had your IP in the past, and your IP might already be blacklisted, or even your whole subnet might.
I find it much easier to just go to a hosting provider, pretty much any will do. They give you free email services, with webmail, etc..
While i'm not disagreeing with you, I think it's a lot more complex than that. If you're talking commands in an app, then certainly there are times where effectively instant actions are beneficial, but when moving from app to app most people take a few moments to readjust themselves to a different UI and figure out how they're going to go about doing their task.
Let me give you an example. A company I worked at was complaining that their terminal based app (running on a Unix system) was too slow, and that it took too long after finishing a screen before they could move on to the next screen.
The company spent about $30,000 in hardware and software changes to get the screen take "near instant" time, and they found that the workers were no more productive. They did exactly the same amount of work in exactly the same amount of time.
The reason was that after they entered a screen, they had to shift their paperwork and move to the next folder of data. By the time they did that, the screen was finished updating and ready for the next work item. So in other words, wasted money.
That's why IE8 and 9 (in Vista and 7) have protected mode. It runs the browser in a sandbox that doesn't let the user get attacked in the way you mention (by the way, the phrase "user-mode rootkitting" is an oxymoron. A rootkit requires root access by definition.
Oh, it's VERY easy to waste time at the design phase. Haven't you ever heard of Analysis Paralysis? It's where you keep changing your mind and trying to design it better, and never quite seem to make it into production of the code.
Why are you repeating yourself? Apparently, you didn't read what I said and made some other assumption.
That milisecond shaved off for one user is irrelevant because it can't be combined with other users in any meaningful way. It will likely be swallowed up by the users day to day activities and not returned to the universe. Like I said, you're suggesting that 9 women can make a baby in 1 month. Or in your case, a million users can make some statistically signifant productivity boost.
You're using math wrong. Just like the baby example.
Let's put this another way. Let's say it takes 5 seconds to start an app, and through lots of hard work you figure out a way to make that 4 seconds. Using your math, that would give years of productivity back to the world. Except no, it doesn't. When an app starts, most users don't instantly start doing work the nanosecond the app starts loading.
People, being people, have reaction times and they often do things like pause to consider what work they want to do. So, if the user pauses for 10 seconds after they've started the app, then all that means is that the app will be idle for an extra second before the user starts doing something. The user will pause 10 seconds regardless of whether the app loaded in 4 seconds or 5.
Most apps just don't benefit linearly from random optimization, and doing so just wastes time and money.
I fail to understand your logic. My argument wasn't that all code should be slopily written. It's that writing "elegant" or "optimized" code does not need to be written for the vast majority of applications. Hell, it doesn't even have to be good code most of the time.
Knuth is exactly right. In that 3% case, it is critical to make the code the best it can be, but most of the time doing so is a waste of money.
Not all apps need maintenance, or much of it anyways.
So let's say you spend 2x longer building the app, but there is never any maintenance done on it. You are now out 50% of the money you spent on it. What's worse, you may not even be in business because your competitor shipped 6 months before you did and cornered the market.