This is not a question. Just a general comment for all programmers (especially those at Microsoft) to keep in mind. And a bit of a rant, I suppose.
It is really annoying when programmers try to get too clever.
For example, did you know that if you don't have a printer installed, you can't use most of the options on the Page Layout tab in Excel 2010?
So what, right? Why would you need to use those settings if you don't have a printer?
Well, I email dozens of reports each week to hundreds of people. Rather than forcing all of them to check print settings for each document, I make sure the print settings are already setup right. Everyone knows they can just mindlessly click "Print" on any document I send them and it will come out right. I rarely print the documents myself.
And sometimes the network printer I'm connected to goes down and IT has to load new drivers and such. While they are doing that, I don't have a valid printer, and Excel—being that it is so clever—disables many of the print related settings on the Page Layout tab. So I can't properly setup my documents for distribution. (OK, I can... But not as easily.)
See, super-clever Microsoft programmers? There is a good reason to have Page Layout options available even when I don't have a valid printer. And even if there was no good reason to have those options available, there would still be no harm in keeping them active. In general, I think good programming practices would have options disabled under certain conditions only if they would cause harm or confusion while enabled. In this case, there is clearly more confusion from having them gray out when there is no printer. It certainly took me a few minutes to figure out what was going on.
So basically, programmers are asking themselves the wrong questions. "Would users who don't have printers ever need the Page Layout functions?" is not the right question. The better question is, "Would having Page Layout functions enabled while there is no printer connected cause any harm?" I think the answer is obvious.
Anyway, Microsoft is not great about fixing this sort of thing and they are terrible at taking feedback. One example is the three-digit code pivot table bug. At work, I use pivot tables with coded letters concatonated together for clasification purposes. However, if you happen to end up with a three letter code that corresponds to a month abbreviation, there is no way to sort it properly. Any three digit code that looks like a month (JAN, FEB, MAR, etc.) will always be sorted at the top and in month order even if 99% of the other codes have no similarity to months. There is no way around this other than to tack on a space to the end so the algorithm no longer recognizes it as a month, but that causes vLookup issues if you forget about the space. Well, I've found posts relating to this all the way back to 2002, so clearly Microsoft is not interested in fixing this idiotic, inflexible, hard-coded sort method. This is an example of terrible programming practices. It should be the goal of all programmers to make their methods as general as possible.
It's great that programmers try to make their applications easy to use and idiot proof. But disabling Page Layout is not protecting the computer from idiots. It's just silly, annoying, and embarrasing for Microsoft.
It is really annoying when programmers try to get too clever.
For example, did you know that if you don't have a printer installed, you can't use most of the options on the Page Layout tab in Excel 2010?
So what, right? Why would you need to use those settings if you don't have a printer?
Well, I email dozens of reports each week to hundreds of people. Rather than forcing all of them to check print settings for each document, I make sure the print settings are already setup right. Everyone knows they can just mindlessly click "Print" on any document I send them and it will come out right. I rarely print the documents myself.
And sometimes the network printer I'm connected to goes down and IT has to load new drivers and such. While they are doing that, I don't have a valid printer, and Excel—being that it is so clever—disables many of the print related settings on the Page Layout tab. So I can't properly setup my documents for distribution. (OK, I can... But not as easily.)
See, super-clever Microsoft programmers? There is a good reason to have Page Layout options available even when I don't have a valid printer. And even if there was no good reason to have those options available, there would still be no harm in keeping them active. In general, I think good programming practices would have options disabled under certain conditions only if they would cause harm or confusion while enabled. In this case, there is clearly more confusion from having them gray out when there is no printer. It certainly took me a few minutes to figure out what was going on.
So basically, programmers are asking themselves the wrong questions. "Would users who don't have printers ever need the Page Layout functions?" is not the right question. The better question is, "Would having Page Layout functions enabled while there is no printer connected cause any harm?" I think the answer is obvious.
Anyway, Microsoft is not great about fixing this sort of thing and they are terrible at taking feedback. One example is the three-digit code pivot table bug. At work, I use pivot tables with coded letters concatonated together for clasification purposes. However, if you happen to end up with a three letter code that corresponds to a month abbreviation, there is no way to sort it properly. Any three digit code that looks like a month (JAN, FEB, MAR, etc.) will always be sorted at the top and in month order even if 99% of the other codes have no similarity to months. There is no way around this other than to tack on a space to the end so the algorithm no longer recognizes it as a month, but that causes vLookup issues if you forget about the space. Well, I've found posts relating to this all the way back to 2002, so clearly Microsoft is not interested in fixing this idiotic, inflexible, hard-coded sort method. This is an example of terrible programming practices. It should be the goal of all programmers to make their methods as general as possible.
It's great that programmers try to make their applications easy to use and idiot proof. But disabling Page Layout is not protecting the computer from idiots. It's just silly, annoying, and embarrasing for Microsoft.