Here is a very beautiful thing one tends to notice on a windows computer.
Imagine that it is a regular day (Sunday), in which you had planned to quietly download a few informative videos, distributed through the bit torrent network, which requires (naturally) use of a bit torrent client. Personally, I prefer 'Micro Torrent", due to it's small size, CPU efficiency and an impressive list of features.
The download would take most of the day on a regular DSL line, so it would be running in background, among some other constant friends: MSN, Anti-Virus, keyboard and sound card drivers and a ton of Windows-kernel stuff that we aren't supposed to know about.
A nice readout on my keyboard's led display tells me that the CPU is currently 0% utilized and memory about 65% full. That leaves me my entire CPU power and 170Mb of memory, which I suppose _should_ be enough for one instance of firefox.
You see, it happened that I needed a printout of my bank account traffic and as I use firefox exclusively, all my digital certificates are there. It loaded in it's usual 15 seconds flat and took the normal 5% of my memory. CPU utilization didn't budge above 2%, but I can understand that as most of the work was getting the program and its data from the hard drive.
So, it is now loaded and I happily browse to my bank account page and filter the records to only include the specific month I need.
Here is where the pain starts.
When I click the "Print Preview", which is a fairly regular and common task that a lot of people use, I guess, I don't like to be kepy waiting for 7 bloody minutes for the window to open. Furthermore, when I am satisfied with the look of the thing and click the "Print" button, it is not polite to leave me waiting for another 4 minutes before I see the "Print" dialog.
Still, I do enjoy sitting in front of my PC and watching the fancy hourglass icon while my system is COMPLETELY CRIPPLED, so much, in fact, that redrawing of the screen stops.
All the while, I see absolutely NO CPU USAGE, RAM CHANGE or DISK ACTIVITY WHATSOEVER.
I heard about 'hidden processes', but COME ON!
In short, the very advanced features that make Windows so dear to our hearts (dynamic use of free memory, preloading, delayed unloading, paging, etc) happen to really destroy performance in very specific circumstances. (Downloading a file on bit torrent and trying to print a webpage at the same time).
Alas, I fear, this cannot be remedied, as computer software complexity grows even faster than the hardware boom can match it.
I'd only wish to see the statistics on my various system monitoring utilities (such as the Microsoft's own Performance Analyser) to show me the real values.
P.S:
In case the values I do see are real, then please tell me why, OH WHY, doesn't Windows use all that free CPU and memory to finish loading the dialog boxes faster? It's not like the CPU was completely devoted to some critical other task, was it?
Sunday, August 26, 2007
Thursday, August 16, 2007
Drivers, Drivers, Drivers
How often do you re-install your Windows?
Unfortunately, after a certain time, Windows gets old and slow and it's time to replace it with .. Windows. Why this must be so, nobody knows, for my Linux installation has no such problems.
Well, aside from the fact that Windows XP installer always overwrites the boot records which means that I need to boot Linux from a CD later and restore things.
Microsoft, your's is (contrary to your belief) _not_ the only OS out there, so please either:
a) Make a boot loader that recognises this fact, or
b) Add an option _not_ to replace the boot loader.
Still, once that it done, the only thing left is to configure the system in a way I like it.
Swap files, disable error reporting, system restore, disable security center, watch the "windows xp tour", remove MSN, Windows Catalogue and some other useless icons that find their way into every new install's Start Menu.
Then comes the most tedious task: Installing drivers.
In the olden days, we had a driver CD (which a hi-tech friend burned for us) and we'd simply click through the exe files and restart about 50 times. All in all, it was done in about 3 hours or so.
But nowadays, with all the internets and security vulnerabilities, you have to have the _latest and greatest_ drivers and right when windows is freshly installed is the proper time to install those to. So, you open the ugly Internet Explorer 5.5 and head over to google, only to discover that your network card isn't working.
So you take an USB key and head over to the parent's/neighbor's/friend's computer and download the network card driver.
Which is 69Mb. It will not fit your 64Mb Kingston USB key. The friend has no CD burner. You are then forced (if you are smart) to split the file into two parts and add a utility to 'un-split' it later. Then just make two trips.
Finally, network card working and you can get online with your 512Kbps cable modem and search for other drivers.
Here is an average list:
VIA chipset: 12Mb
Intel chipset: 2Mb
NVIDIA chipset: 70Mb
ATI graphics card: 35Mb or 14Mb (but the smaller one is second on the list, so most people select the larger one)
NVIDIA graphics card: 46Mb
Creative sound card: 40Mb
HP Printer: 50 - 150Mb
And this is mostly all you need for the basic system to work, on average about 200Mb to download. Which with the aforementioned line takes 60 minutes to download and about half an hour of restarting to install.
It seems better, no?
But wait, there's more. After all that is done, Windows asks you to please install the following 90 windows updates, which take a few hours to get and you don't really dare to use the computer without them, lest you get a nasty virus or adware.
The point I'm trying to get across is that sometimes I don't have the luxury of 100Mbps fiber connection and am instead on a relatively slow line. Sometimes I even need a particular driver or update on the road, which limits me too about 128Kbps cell phone connection.
In such cases in particular do I find it rather irritating that I should download more than 20Mb for a single driver.
After all, some of us are perfectly comfortable with the way Windows XP settings dialog boxes look and their functionality and I don't particularly need 150Mb worth of software for a printer that allows me to print at a 4,78 degree angle (I very rarely do that).
Cut the crap away and produce nice, 2-5Mb basic drivers (I just need the *.inf, *.sys, *.dll and probably a few others. I don't need fancy installers with hot images of naked women parading the latest and greatest network card. And sound in installers is not nice either.)
Incidentally, this will also get rid of any automatic updaters, driver control panels, assisting processes and similar, which I'd be very grateful for in order to clean up my Task List.
Oh, and _please_ cut us some slack with product names, okay?
There are two extremes I noticed. One is the overly-abundant-imagination names, such as (i.e.) "Deathmatch Ultimate NetExtremity 2.0 Bloodshed Fatality enhancing accelerator". The other extreme is purely numeric, such as "Graphics card 3.456 v2 S/N: 68rty8456".
Both are rather useless. A special note to some WiFi network card vendors (I'm thinking of you, Linksys and Netgear), who replace the entire chipset on a wireless network card and simply change the revision from A1 to A2 (a tiny tiny marking on the side of the 3rd contact pin).
Try getting one with a particular chipset from some store where they can't even distinguish between different cards from the same vendor. If you replace the whole freaking chipset in a card, please, please, change the name a bit more than in the last digit, okay? Some people _need_ to know what exactly the card contains.
Thank you for your attention.
Unfortunately, after a certain time, Windows gets old and slow and it's time to replace it with .. Windows. Why this must be so, nobody knows, for my Linux installation has no such problems.
Well, aside from the fact that Windows XP installer always overwrites the boot records which means that I need to boot Linux from a CD later and restore things.
Microsoft, your's is (contrary to your belief) _not_ the only OS out there, so please either:
a) Make a boot loader that recognises this fact, or
b) Add an option _not_ to replace the boot loader.
Still, once that it done, the only thing left is to configure the system in a way I like it.
Swap files, disable error reporting, system restore, disable security center, watch the "windows xp tour", remove MSN, Windows Catalogue and some other useless icons that find their way into every new install's Start Menu.
Then comes the most tedious task: Installing drivers.
In the olden days, we had a driver CD (which a hi-tech friend burned for us) and we'd simply click through the exe files and restart about 50 times. All in all, it was done in about 3 hours or so.
But nowadays, with all the internets and security vulnerabilities, you have to have the _latest and greatest_ drivers and right when windows is freshly installed is the proper time to install those to. So, you open the ugly Internet Explorer 5.5 and head over to google, only to discover that your network card isn't working.
So you take an USB key and head over to the parent's/neighbor's/friend's computer and download the network card driver.
Which is 69Mb. It will not fit your 64Mb Kingston USB key. The friend has no CD burner. You are then forced (if you are smart) to split the file into two parts and add a utility to 'un-split' it later. Then just make two trips.
Finally, network card working and you can get online with your 512Kbps cable modem and search for other drivers.
Here is an average list:
VIA chipset: 12Mb
Intel chipset: 2Mb
NVIDIA chipset: 70Mb
ATI graphics card: 35Mb or 14Mb (but the smaller one is second on the list, so most people select the larger one)
NVIDIA graphics card: 46Mb
Creative sound card: 40Mb
HP Printer: 50 - 150Mb
And this is mostly all you need for the basic system to work, on average about 200Mb to download. Which with the aforementioned line takes 60 minutes to download and about half an hour of restarting to install.
It seems better, no?
But wait, there's more. After all that is done, Windows asks you to please install the following 90 windows updates, which take a few hours to get and you don't really dare to use the computer without them, lest you get a nasty virus or adware.
The point I'm trying to get across is that sometimes I don't have the luxury of 100Mbps fiber connection and am instead on a relatively slow line. Sometimes I even need a particular driver or update on the road, which limits me too about 128Kbps cell phone connection.
In such cases in particular do I find it rather irritating that I should download more than 20Mb for a single driver.
After all, some of us are perfectly comfortable with the way Windows XP settings dialog boxes look and their functionality and I don't particularly need 150Mb worth of software for a printer that allows me to print at a 4,78 degree angle (I very rarely do that).
Cut the crap away and produce nice, 2-5Mb basic drivers (I just need the *.inf, *.sys, *.dll and probably a few others. I don't need fancy installers with hot images of naked women parading the latest and greatest network card. And sound in installers is not nice either.)
Incidentally, this will also get rid of any automatic updaters, driver control panels, assisting processes and similar, which I'd be very grateful for in order to clean up my Task List.
Oh, and _please_ cut us some slack with product names, okay?
There are two extremes I noticed. One is the overly-abundant-imagination names, such as (i.e.) "Deathmatch Ultimate NetExtremity 2.0 Bloodshed Fatality enhancing accelerator". The other extreme is purely numeric, such as "Graphics card 3.456 v2 S/N: 68rty8456".
Both are rather useless. A special note to some WiFi network card vendors (I'm thinking of you, Linksys and Netgear), who replace the entire chipset on a wireless network card and simply change the revision from A1 to A2 (a tiny tiny marking on the side of the 3rd contact pin).
Try getting one with a particular chipset from some store where they can't even distinguish between different cards from the same vendor. If you replace the whole freaking chipset in a card, please, please, change the name a bit more than in the last digit, okay? Some people _need_ to know what exactly the card contains.
Thank you for your attention.
Monday, August 13, 2007
Balloons
A thing I find very useful in windowing operating systems is a 'notification' area, which shows you things that you may want to see, but aren't as important as to bother you immediately. It should be a place to display a few lines of text with (possibly) a nice icon somewhere out of the way.
In Windows 2000 and forward, this has been solved with the so-called 'balloon' pop-ups. You have probably noticed them in the past. They say such interesting things as "Local area connection is now connected" or "No wireless networks found" and, my personal favourite, "Updates are ready for download."
All this is just fine and dandy, were there a few less annoying design flaws.
Let me list them in no particular order:
1. Any program may use the balloon pop-ups, with a few restrictions. The main restriction I have in mind is the 30 second timeout. The program is required to remove the balloon in 30 seconds or sooner, otherwise it will be removed by windows.
Why don't some Windows programs and servies adhere to that time limit?
I have a DSL net access at home which disconnects and reconnects once every 24 hours to reset the router. When that happens, I see the balloon for "Local area network : Cable unplugged" and a minute later "... is now connected." Great. But that last little pop-up doesn't go away. Ever. At least on my windows XP SP1 machine. I woke up one morning to see that friendly balloon and thought to myself: "Well, whatddya know, it just reconnected. Great!" Only to discover when checking my own statement that the line had been connected for over seven hours! Which, incidentally, means that the balloon was on the screen for that long. Now imagine what it's like when this happens while you're working.
You will need to stop typing, take the mouse and close the balloon, otherwise it will keep hanging there and disturbing you, catching attention and all in all mocking you.
2. Have you seen balloons such as: "See the Windows XP tour!" or "You firewall may be out of date!" and, of course, the "Click here to clean up your desktop"? Not to forget the infamous "Hard disk space is low on drive C:"
When I said 'notifications' above, I meant relatively important stuff which (preferably) doesn't happen very often. And even if the balloon does appear, I may wish to acknowledge it and think about it later, not have it pop up again with the same message about 15 seconds later. There should be a sort of filter to select which messages are displayed and which aren't.
3. No offense to 'bright' people, but the yellow in the balloon hurts my eyes, especially in the middle of the night, when I work with all screens dimmed down as low as they would go. There should be a way to change the colors of the balloons, their duration, position and size. Why isn't there? Not all people like the defaults, you know?
4. Why do the balloons queue up while my computer had been in stand-by or hibernation? (I know they don't actually queue up, but rather all the timers expire instantly when Windows wakes up.) Usually, when I start my computer I would like to begin working on what I had in mind, instead of the following procedure:
Click start, close the balloon about security center. Click start again, point to All Programs, close the balloon again. Click start, point to All Programs, start Mozilla Thunderbird, close the balloon about "Windows XP Tour". Click one of the new mails, begin reading, close the "Low disk space balloon". Begin reading again, close the "Clean up Destop" balloon. Ignore the "New updates are ready" balloon, click "Reply to Sender", close the "Updates balloon", see that the focus is in the "new message" window, start typing to the chorus of Windows XP alert 'dings', as focus really wasn't there. (See my post on input focus for details about this one.)... etc
The account is slightly exaggerated, but certainly possible if you have a messy computer. I _DO NOT_ wish to keep closing balloons for the first five or ten minutes while I work.
Luckily, here is a solution:
-------------------------------------------
1. Click Start, then Run, type in "regedit" and press enter.
2. Find the key "HKEY_CURRENT_USER\Software\Microsoft\Windows
\CurrentVersion\Explorer\Advanced" in the structure.
3. Right click the empty space on the right side of the screen and create a new value of type "String".
4. Name the value "EnableBalloonTips" (no quotes).
5. Double click the new value and type in 'NO' (no quotes).
6. Close the registry editor and live a life free from balloon tips.
In Windows 2000 and forward, this has been solved with the so-called 'balloon' pop-ups. You have probably noticed them in the past. They say such interesting things as "Local area connection is now connected" or "No wireless networks found" and, my personal favourite, "Updates are ready for download."
All this is just fine and dandy, were there a few less annoying design flaws.
Let me list them in no particular order:
1. Any program may use the balloon pop-ups, with a few restrictions. The main restriction I have in mind is the 30 second timeout. The program is required to remove the balloon in 30 seconds or sooner, otherwise it will be removed by windows.
Why don't some Windows programs and servies adhere to that time limit?
I have a DSL net access at home which disconnects and reconnects once every 24 hours to reset the router. When that happens, I see the balloon for "Local area network : Cable unplugged" and a minute later "... is now connected." Great. But that last little pop-up doesn't go away. Ever. At least on my windows XP SP1 machine. I woke up one morning to see that friendly balloon and thought to myself: "Well, whatddya know, it just reconnected. Great!" Only to discover when checking my own statement that the line had been connected for over seven hours! Which, incidentally, means that the balloon was on the screen for that long. Now imagine what it's like when this happens while you're working.
You will need to stop typing, take the mouse and close the balloon, otherwise it will keep hanging there and disturbing you, catching attention and all in all mocking you.
2. Have you seen balloons such as: "See the Windows XP tour!" or "You firewall may be out of date!" and, of course, the "Click here to clean up your desktop"? Not to forget the infamous "Hard disk space is low on drive C:"
When I said 'notifications' above, I meant relatively important stuff which (preferably) doesn't happen very often. And even if the balloon does appear, I may wish to acknowledge it and think about it later, not have it pop up again with the same message about 15 seconds later. There should be a sort of filter to select which messages are displayed and which aren't.
3. No offense to 'bright' people, but the yellow in the balloon hurts my eyes, especially in the middle of the night, when I work with all screens dimmed down as low as they would go. There should be a way to change the colors of the balloons, their duration, position and size. Why isn't there? Not all people like the defaults, you know?
4. Why do the balloons queue up while my computer had been in stand-by or hibernation? (I know they don't actually queue up, but rather all the timers expire instantly when Windows wakes up.) Usually, when I start my computer I would like to begin working on what I had in mind, instead of the following procedure:
Click start, close the balloon about security center. Click start again, point to All Programs, close the balloon again. Click start, point to All Programs, start Mozilla Thunderbird, close the balloon about "Windows XP Tour". Click one of the new mails, begin reading, close the "Low disk space balloon". Begin reading again, close the "Clean up Destop" balloon. Ignore the "New updates are ready" balloon, click "Reply to Sender", close the "Updates balloon", see that the focus is in the "new message" window, start typing to the chorus of Windows XP alert 'dings', as focus really wasn't there. (See my post on input focus for details about this one.)... etc
The account is slightly exaggerated, but certainly possible if you have a messy computer. I _DO NOT_ wish to keep closing balloons for the first five or ten minutes while I work.
Luckily, here is a solution:
-------------------------------------------
1. Click Start, then Run, type in "regedit" and press enter.
2. Find the key "HKEY_CURRENT_USER\Software\Microsoft\Windows
\CurrentVersion\Explorer\Advanced" in the structure.
3. Right click the empty space on the right side of the screen and create a new value of type "String".
4. Name the value "EnableBalloonTips" (no quotes).
5. Double click the new value and type in 'NO' (no quotes).
6. Close the registry editor and live a life free from balloon tips.
Microsoft 'Shortcuts'
I have just returned from an user with a very interesting problem in Microsoft Outlook 2003.
The user had just been transferring his files to the new PC (which I am very grateful he can do by himself), when he discovered that even after exporting all his mail and contacts from Outlook 2003 on the old PC into Outlook 2003 on the new PC, the email address auto completion didn't work.
Looking through the information on the web - the main problem being discovering how Microsoft named that feature, I learned that it's called 'Nicknames'.
It seems that when you export all the mail and settings and contacts that little thing is not included.
A brief search on Microsoft help sites reveals a tutorial for 'transferring nicknames to another computer', which includes approximately the following steps:
1. Change explorer settings so that you see hidden files and folders and file extensions.
2. Find the file in c:\Documents and Settings\Username\Application Data\Microsoft\Outlook\Profile.NK2
3. Copy the file into the same location on the new computer.
4. If the profile name on the new computer is different, rename the file.
5. Start Outlook again, woila, now it works.
The fact of the matter is that it really does work, but I find it tedious to perform this procedure for such a simple task, which should have been included in the 'Transfer all my mail and settings' in the first place.
What bothers me most are two things: that this is not an isolated incident, and people have grown used to similar tasks.
Let me provide an example.
Suppose that you wish to change a setting on a Linux or FreeBSD box. You look the thing up with google and the tutorial tells you to go and modify some settings files. There are no GUI setup tools (except for rare programs - the number is increasing quite quickly over the past few years, but for many tools the conf files are the only way still). Incidentally, all the configuration files are saved in the same place, under the user's home folder.
Such is life, people are used to it.
Then look at Microsoft. See their 'flaunting' of Graphical User Interface(tm), which removes all need for command line. Guess what? Most of the 'tricky' settings require either a special program to change them (which often costs money), or rummaging around the system registry. I'll admit that the system registry has a nice gui, but that's simply not a nice way to change settings, especially as it is bloated and slow.
Some settings cannot even be changed in that manner and still require file editing (example: hard-coding DNS resolves for local machines).
Well, this, dear Microsoft, just won't do. If you are going to have a purely graphical user interface, I'd expect the instructions to go like this:
"Open control panel. Click Administrator tools. Open the user rights management console..."
And not like this:
"Click Start, then Run. Type in 'gpedit' and press Enter..."
Can you imagine how confusing it gets when you learn how to change a myriad settings in slightly different ways?
Please choose one way or another, just not something in between that tips to either side, depending on how the specific programmer felt like when implementing it.
To give a real world example:
C - customer, S - support person
C: "So, how do I lower the window on the driver's side?"
S: "Simply press and hold the switch on the door with the small arrow on it."
C: "Okay, so how do I open the passenger's window?"
S: "Not a problem. Take a 7/26 wrench, unscrew the car door screws on the inside, remove cover. There you will see a few wires. Refer to your manual to see which two control the window motor, then simply cross them. They have already been peeled for your convenience. Don't forget to replace the cover afterwards."
Somehow I don't see it happening.
The user had just been transferring his files to the new PC (which I am very grateful he can do by himself), when he discovered that even after exporting all his mail and contacts from Outlook 2003 on the old PC into Outlook 2003 on the new PC, the email address auto completion didn't work.
Looking through the information on the web - the main problem being discovering how Microsoft named that feature, I learned that it's called 'Nicknames'.
It seems that when you export all the mail and settings and contacts that little thing is not included.
A brief search on Microsoft help sites reveals a tutorial for 'transferring nicknames to another computer', which includes approximately the following steps:
1. Change explorer settings so that you see hidden files and folders and file extensions.
2. Find the file in c:\Documents and Settings\Username\Application Data\Microsoft\Outlook\Profile.NK2
3. Copy the file into the same location on the new computer.
4. If the profile name on the new computer is different, rename the file.
5. Start Outlook again, woila, now it works.
The fact of the matter is that it really does work, but I find it tedious to perform this procedure for such a simple task, which should have been included in the 'Transfer all my mail and settings' in the first place.
What bothers me most are two things: that this is not an isolated incident, and people have grown used to similar tasks.
Let me provide an example.
Suppose that you wish to change a setting on a Linux or FreeBSD box. You look the thing up with google and the tutorial tells you to go and modify some settings files. There are no GUI setup tools (except for rare programs - the number is increasing quite quickly over the past few years, but for many tools the conf files are the only way still). Incidentally, all the configuration files are saved in the same place, under the user's home folder.
Such is life, people are used to it.
Then look at Microsoft. See their 'flaunting' of Graphical User Interface(tm), which removes all need for command line. Guess what? Most of the 'tricky' settings require either a special program to change them (which often costs money), or rummaging around the system registry. I'll admit that the system registry has a nice gui, but that's simply not a nice way to change settings, especially as it is bloated and slow.
Some settings cannot even be changed in that manner and still require file editing (example: hard-coding DNS resolves for local machines).
Well, this, dear Microsoft, just won't do. If you are going to have a purely graphical user interface, I'd expect the instructions to go like this:
"Open control panel. Click Administrator tools. Open the user rights management console..."
And not like this:
"Click Start, then Run. Type in 'gpedit' and press Enter..."
Can you imagine how confusing it gets when you learn how to change a myriad settings in slightly different ways?
Please choose one way or another, just not something in between that tips to either side, depending on how the specific programmer felt like when implementing it.
To give a real world example:
C - customer, S - support person
C: "So, how do I lower the window on the driver's side?"
S: "Simply press and hold the switch on the door with the small arrow on it."
C: "Okay, so how do I open the passenger's window?"
S: "Not a problem. Take a 7/26 wrench, unscrew the car door screws on the inside, remove cover. There you will see a few wires. Refer to your manual to see which two control the window motor, then simply cross them. They have already been peeled for your convenience. Don't forget to replace the cover afterwards."
Somehow I don't see it happening.
Friday, August 10, 2007
GPLv2 simplified
As promised, I will now attempt to understand and simplify the GNU General Public License v2.
The original license is here:
(http://www.gnu.org/licenses/gpl-2.0.html)
GNU General Public License v2.0
0. This license applies to any program, for which the author decided to use this license. The license only specifies how you may copy, distribute and modify the program, matters of running the program or using it's output are not restricted, unless the author says so.
1. You may distribute the program's source code in any way you like, but you must tell people in some way about this license. It is especially important that you inform people of lack of warranty for the program. You are allowed to demand from people payment for the CD or diskettes or bandwidth cost (whichever costs you incur by giving the source code out). But you may not ask people to pay for the program itself. You are, however, allowed to run support for the program for which you may charge people.
2. You are allowed to change the program, as long as you:
a) leave notifications about what and when you did,
b) if you combine the program and your changes, the whole is also subject to this license,
c) if the program is interactive, it must tell the user every time it starts that there is no warranty (or that you provide it).
You are allowed to sell parts of the program that you wrote yourself under any license and terms you wish, as long as you don't include parts of the original program, which is covered by this license.
3. You are allowed to give people the executable version of the program (so that they don't have to compile it themselves), as long as you:
a) give them the source code as well,
b) tell them where to get the source code, or offer to give it to them for a price of a CD, diskette or bandwidth,
c) copy the original information about the source that you got with the program (if you re-redistribute the program and haven't bothered to get the source code)
Included in the source code are any scripts that help compile the program, but not included the compiler tools, libraries and operating system.
4. That above is all that you are allowed to do. But if you do things that terminate this license, people who have gotten the program from you will not be affected.
5. You don't have to agree with all this, but if modify or distribute the program we will assume that you do.
6. Anyone who recieves the program (even modified) from you, they are given the same rights from this license. You may not add your own restrictions. You also don't have to force them to comply with the license.
7. If distribution of the program would cause problems with other licenses or patents or similar, you may not distribute the program under this license. This applies if the program is later found to validate some license or patent, and requires from the users to pay royalties, you may not distribute it anymore.
8. If some countries don't allow the program to be distributed (because of the aforementioned patent problems), you can add geographical limitations to the distribution of the program.
9. You can choose any version of the GNU Public license for your program, and you can change it in the future. (But only to other versions of the GPL)
10. You can ask authors for permission, if you wish to include parts of the program in another program, which isn't covered with this license, but it must at least be free.
11. The program is free, so it doesn't come with a warranty.
12. The program may not even work, be buggy, unstable, incorrect. It may cause you to loose all your data or destroy your company's computer network. The authors won't be held responsible, and neither will the people who gave you the program. Unless you have a written agreement with them to guarantee the above.
---------------------------------------------------------------------------------------------
I cannot make up your opinion for you, all I can say: It's shorter than most Microsoft EULAs :)
Till next time
The original license is here:
(http://www.gnu.org/licenses/gpl-2.0.html)
GNU General Public License v2.0
0. This license applies to any program, for which the author decided to use this license. The license only specifies how you may copy, distribute and modify the program, matters of running the program or using it's output are not restricted, unless the author says so.
1. You may distribute the program's source code in any way you like, but you must tell people in some way about this license. It is especially important that you inform people of lack of warranty for the program. You are allowed to demand from people payment for the CD or diskettes or bandwidth cost (whichever costs you incur by giving the source code out). But you may not ask people to pay for the program itself. You are, however, allowed to run support for the program for which you may charge people.
2. You are allowed to change the program, as long as you:
a) leave notifications about what and when you did,
b) if you combine the program and your changes, the whole is also subject to this license,
c) if the program is interactive, it must tell the user every time it starts that there is no warranty (or that you provide it).
You are allowed to sell parts of the program that you wrote yourself under any license and terms you wish, as long as you don't include parts of the original program, which is covered by this license.
3. You are allowed to give people the executable version of the program (so that they don't have to compile it themselves), as long as you:
a) give them the source code as well,
b) tell them where to get the source code, or offer to give it to them for a price of a CD, diskette or bandwidth,
c) copy the original information about the source that you got with the program (if you re-redistribute the program and haven't bothered to get the source code)
Included in the source code are any scripts that help compile the program, but not included the compiler tools, libraries and operating system.
4. That above is all that you are allowed to do. But if you do things that terminate this license, people who have gotten the program from you will not be affected.
5. You don't have to agree with all this, but if modify or distribute the program we will assume that you do.
6. Anyone who recieves the program (even modified) from you, they are given the same rights from this license. You may not add your own restrictions. You also don't have to force them to comply with the license.
7. If distribution of the program would cause problems with other licenses or patents or similar, you may not distribute the program under this license. This applies if the program is later found to validate some license or patent, and requires from the users to pay royalties, you may not distribute it anymore.
8. If some countries don't allow the program to be distributed (because of the aforementioned patent problems), you can add geographical limitations to the distribution of the program.
9. You can choose any version of the GNU Public license for your program, and you can change it in the future. (But only to other versions of the GPL)
10. You can ask authors for permission, if you wish to include parts of the program in another program, which isn't covered with this license, but it must at least be free.
11. The program is free, so it doesn't come with a warranty.
12. The program may not even work, be buggy, unstable, incorrect. It may cause you to loose all your data or destroy your company's computer network. The authors won't be held responsible, and neither will the people who gave you the program. Unless you have a written agreement with them to guarantee the above.
---------------------------------------------------------------------------------------------
I cannot make up your opinion for you, all I can say: It's shorter than most Microsoft EULAs :)
Till next time
Installer annoyances
So, being the experimental sort, I often install (and uninstall) new software. Using the myriad different install tools I find some tendencies that are - after about the 1000th time - quite annoying.
To give a short list:
- Company name. Almost _every_ installer out there assumes that I am part of some company, even if I am trying to install "Generic Solitaire Games Vol 2". And most of the time it is an obligatory information, so I am forced to enter something along the lines of "Myself" or "//", or even "--".
Developers, not _everyone_ is part of the business world. At least make the information optional, if you _must_ have it.
- Too many subdirectories.
When I install software, I like to be able to find it on my hard drive. For example, if I use the "Ultimate Back Scratcher 3", I expect to look under "C:\Program Files\Ultimate Back Scrathcher" somewhere.
I do not wish to search for 5 minutes and then go look at the shortcut icon, only to discover the program in
"C:\Program Files\YourLameSoftwareInc\OurDesktopProducts\ScratcherSeries\BackScracther"
And it is also tedious to keep changing the directories for every small tool that I wish to install.
- Too many shortcut icons.
Usually, at the end of install, I am presented with a screen that asks me where I would like the shortcut. The options are: Desktop, Start Menu, Quick Launch, Internet Explorer toolbar button, My Documents, Your other PC, Send it to mail to all your friends, Your car dashboard and a tattoo in your dog's ear.
I like my software to assume that _one_ shortcut in start menu is enough and I can then (supposedly) copy it wherever I want it myself, no?
- After-Install features.
So, I have finally succeeded in installing all parts of the software, and my computer is recovering from the shock. (If you ever had two firefoxes, visual studio 2005, dreamweaver and photoshop running at the same time, you can imagine how it hurts to install a small program.) And I usually do not read the last page, just click "Finish".
Unfortunately, there were the checkboxes to Run the program, Open the Readme file, Start the registration process, See the changes list and Visit the author's website.
All that at once - _hurts_. Please make the options _disabled_ by default.
I like to think I am competent enough to actually start the program after I install it.
Too much convenience is inconvenient.
- Rebooting.
This is a standard Microsoft practice. "Whoops, your system has detected that you have farted in the last five minutes. Please restart your operating system in order for it to continue functioning for peek performance."
Why do the installers _demand_ that I restart my computer after the installation, when it is clearly not necessary. (I never restart and my computer works perfectly.)
This also applies to USB devices. I plug in my new mouse, after which the drivers are installed and the mouse starts working. After a minute or so of using it, a friendly little box pops up and tells me that "The new hardware was installed, but it won't work until I reboot."
Who is the 'smartass' here?
- Progress bars
A progress bar has behind it the basic idea of visually informing the user about the progress of something. Hence it's name. When I see a progress bar, I know that as soon as it reaches 100%, the thing will be done and I will be able to continue. Right?
Not so. The fancy Windows installer (and some others) will fill up a progress bar, then start right over, anywhere from 3 to 7 times.
Why, then, is the progress bar useful?
"Well, you can see how far the installation had progressed, allthough it may or may not start over when it reaches the end."
Either use a "global" progress bar, or add another progress bar to track the entire progress.
It feels to me almost as if the installer can't tell exactly how much work it has left - which is odd, since computers are pretty deterministic machines.
And concluding:
Why do we even need all the fancy installers?
The example RPM or DEB package managers give us prove that it can be done in an alternate manner. (More on that some other time)
To give a short list:
- Company name. Almost _every_ installer out there assumes that I am part of some company, even if I am trying to install "Generic Solitaire Games Vol 2". And most of the time it is an obligatory information, so I am forced to enter something along the lines of "Myself" or "//", or even "--".
Developers, not _everyone_ is part of the business world. At least make the information optional, if you _must_ have it.
- Too many subdirectories.
When I install software, I like to be able to find it on my hard drive. For example, if I use the "Ultimate Back Scratcher 3", I expect to look under "C:\Program Files\Ultimate Back Scrathcher" somewhere.
I do not wish to search for 5 minutes and then go look at the shortcut icon, only to discover the program in
"C:\Program Files\YourLameSoftwareInc\OurDesktopProducts\ScratcherSeries\BackScracther"
And it is also tedious to keep changing the directories for every small tool that I wish to install.
- Too many shortcut icons.
Usually, at the end of install, I am presented with a screen that asks me where I would like the shortcut. The options are: Desktop, Start Menu, Quick Launch, Internet Explorer toolbar button, My Documents, Your other PC, Send it to mail to all your friends, Your car dashboard and a tattoo in your dog's ear.
I like my software to assume that _one_ shortcut in start menu is enough and I can then (supposedly) copy it wherever I want it myself, no?
- After-Install features.
So, I have finally succeeded in installing all parts of the software, and my computer is recovering from the shock. (If you ever had two firefoxes, visual studio 2005, dreamweaver and photoshop running at the same time, you can imagine how it hurts to install a small program.) And I usually do not read the last page, just click "Finish".
Unfortunately, there were the checkboxes to Run the program, Open the Readme file, Start the registration process, See the changes list and Visit the author's website.
All that at once - _hurts_. Please make the options _disabled_ by default.
I like to think I am competent enough to actually start the program after I install it.
Too much convenience is inconvenient.
- Rebooting.
This is a standard Microsoft practice. "Whoops, your system has detected that you have farted in the last five minutes. Please restart your operating system in order for it to continue functioning for peek performance."
Why do the installers _demand_ that I restart my computer after the installation, when it is clearly not necessary. (I never restart and my computer works perfectly.)
This also applies to USB devices. I plug in my new mouse, after which the drivers are installed and the mouse starts working. After a minute or so of using it, a friendly little box pops up and tells me that "The new hardware was installed, but it won't work until I reboot."
Who is the 'smartass' here?
- Progress bars
A progress bar has behind it the basic idea of visually informing the user about the progress of something. Hence it's name. When I see a progress bar, I know that as soon as it reaches 100%, the thing will be done and I will be able to continue. Right?
Not so. The fancy Windows installer (and some others) will fill up a progress bar, then start right over, anywhere from 3 to 7 times.
Why, then, is the progress bar useful?
"Well, you can see how far the installation had progressed, allthough it may or may not start over when it reaches the end."
Either use a "global" progress bar, or add another progress bar to track the entire progress.
It feels to me almost as if the installer can't tell exactly how much work it has left - which is odd, since computers are pretty deterministic machines.
And concluding:
Why do we even need all the fancy installers?
The example RPM or DEB package managers give us prove that it can be done in an alternate manner. (More on that some other time)
EULA simplified
I had planned to carefully read some big important EULA's and try to understand what they are attempting to say to me. I finally got a bit of time and the proper mood for 'legalese' language.
In order for the community at large to benefit from my effort, I will write a short and simplified translation here:
I chose Microsoft as my first one, as most of the people use their software, so the targer audience is the largest possible.
(original: http://www.microsoft.com/windowsxp/home/eula.mspx)
Microsoft Windows XP Home Edition (Retail) EULA:
You must read the EULA. The eula is important. By even so much as _looking_ at the CD you may be accepting EULA (depending on your local laws). If you don't like the EULA, you may return the product and you will get your money back. Maybe.
1. We kindly allow you to do the following, _if_ you agree to the rest of the EULA:
1.1 You may use the software which you purchased.
1.2 ... only for the first 30 days. Then you must call us and ask us nicely to continue using the software, which we probably will approve, if you really did purchase it. Oh, and every time you upgrade your computer you will need to tell us about it as well.
1.3 Only five other PC may connect to this one, so if you have more than five PC's in the household and they all wish to print or see your files, tough luck. They will have to get in line. Oh, and the software itself may use up some of these five connections, so you may not even get that.
1.4 The above restriction doesn't apply to Remote Assistance or similar connections, as you are sure to be needing plenty of those, naturally.
1.5 If you want to use the software as a server, you will also need to buy a license for every computer using the software over the network. (Except the remote assistance, again)
2. Terms you must agree to are:
2.1 The software will be infested with DRM, which means that you can't copy digital multimedia. Should the 'content owners' decide that their multimedia was stolen, Microsoft will prevent you from playing it. This means, in short, that you do neither own, nor have control over music and movies you purchased.
2.2 We accidentally added a software development kit for Windows media, but you may not use it. That is sold seperately.
2.3 The software also includes an Internet Explorer and similar 'online' tools, which you may use to use the internet. But we may upgrade such tools whenever we feels like.
2.4 If you update your games over the internet, we, or anyone we like, may take some information about you and your computer. We promise to only use this to 'improve' our services, but if people ask us nicely enough, we will give them the information. (But not your name or anything like that. We promise.)
3. Even if it is on your PC, the software is still ours. You are merely renting it, and not purchasing, as you may have mistakenly believed.
4. You aren't allowed to closely inspect our software by decompiling it. Believe us when we say that it's good.
5. You may not let others use this software you licensed, or rent it.
6. You agree that we may collect information about you while you use our software. We promise only to use this information to 'improve' our services. We may give this information to others, but not so that know whose it is.
7. We graciously allow you to use other internet sites beside Microsoft and MSN, but we aren't responsible if your children look up porn or download a virus. You were warned.
8. This EULA also applies to everything else of ours you use, unless specifically noted otherwise. We may stop providing services or software whenever we feel like it.
9. If you wish to upgrade the software, you must first own the software, then buy (we may also give it to you for free!) an upgrade. After that, you may no longer use the original software.
10. You may not sell our software, even after you stop using it.
11. If you can prove that you're a student of some educational facility, you may get our software a little cheaper. (But with additional restrictions.)
12. The U.S. government will tell the conditions you must agree to before using this software outside of the U.S.
13. You are allowed to install this software on another computer, if you completely remove it from the current one. You are even allowed to give the software to someone else, but remember the point 1.2.
14. If we decide we don't like what you're doing with our software, we may terminate the agreement, in which case you must destroy all your copies and uninstall the software.
15. We guarantee that the software will work for at least 90 days. You may get less, depending on your local laws. If the software fails (even during the warranty) which causes you to loose important data, you aren't entitled to any damages or refunds. But if you're lucky, your state or country may force us to pay you something anyway. Without that protection, however, the most you will get from us is a full refund of the money you paid for our software or a replacement software. You will pay shipping costs yourself. This warranty doesn't apply if the problem arose because of accident, abuse, abnormal use or a virus. Basically, whatever you do voids the warranty. In order to get the refund or replacement, you must prove to us that you really do own the software, after which we will kindly provide you with a refund or a replacement as soon as we feel like it.
16. Any sort of reassurance you heard in our ads is a lie, and the software is provided with all bugs inclusive. The software may not work, be unusable, unfit for a purpose. It will not be reliable, accurate, or complete even, it may contain viruses, and may be written negligently. If you use the software, you may not enjoy it, it may not be anything like we described and you may even do illegal stuff with it, without knowing it.
17. If your company suffers because you use the software, we (or our partners) will not be held responsible, even if it is our fault because the software is buggy. Even if we were informed of the problem beforehand we may not make an effort to correct the issue and you may not sue us because of it.
18. Again, if bad things happen to you or your company because of the use of this software, we will only pay you the price of the software or USD$5.00, whichever is greater.
19. Software provided to t he U.S. Government has a different license which only they may see.
20. Your local law determines how this license is treated.
21. This EULA is _the_ EULA for the software. If you have read other license agreements, they are false and this EULA holds.
---------------------------------------------------------------------------------------------
I hope this clarifies things a bit.
In order for the community at large to benefit from my effort, I will write a short and simplified translation here:
I chose Microsoft as my first one, as most of the people use their software, so the targer audience is the largest possible.
(original: http://www.microsoft.com/windowsxp/home/eula.mspx)
Microsoft Windows XP Home Edition (Retail) EULA:
You must read the EULA. The eula is important. By even so much as _looking_ at the CD you may be accepting EULA (depending on your local laws). If you don't like the EULA, you may return the product and you will get your money back. Maybe.
1. We kindly allow you to do the following, _if_ you agree to the rest of the EULA:
1.1 You may use the software which you purchased.
1.2 ... only for the first 30 days. Then you must call us and ask us nicely to continue using the software, which we probably will approve, if you really did purchase it. Oh, and every time you upgrade your computer you will need to tell us about it as well.
1.3 Only five other PC may connect to this one, so if you have more than five PC's in the household and they all wish to print or see your files, tough luck. They will have to get in line. Oh, and the software itself may use up some of these five connections, so you may not even get that.
1.4 The above restriction doesn't apply to Remote Assistance or similar connections, as you are sure to be needing plenty of those, naturally.
1.5 If you want to use the software as a server, you will also need to buy a license for every computer using the software over the network. (Except the remote assistance, again)
2. Terms you must agree to are:
2.1 The software will be infested with DRM, which means that you can't copy digital multimedia. Should the 'content owners' decide that their multimedia was stolen, Microsoft will prevent you from playing it. This means, in short, that you do neither own, nor have control over music and movies you purchased.
2.2 We accidentally added a software development kit for Windows media, but you may not use it. That is sold seperately.
2.3 The software also includes an Internet Explorer and similar 'online' tools, which you may use to use the internet. But we may upgrade such tools whenever we feels like.
2.4 If you update your games over the internet, we, or anyone we like, may take some information about you and your computer. We promise to only use this to 'improve' our services, but if people ask us nicely enough, we will give them the information. (But not your name or anything like that. We promise.)
3. Even if it is on your PC, the software is still ours. You are merely renting it, and not purchasing, as you may have mistakenly believed.
4. You aren't allowed to closely inspect our software by decompiling it. Believe us when we say that it's good.
5. You may not let others use this software you licensed, or rent it.
6. You agree that we may collect information about you while you use our software. We promise only to use this information to 'improve' our services. We may give this information to others, but not so that know whose it is.
7. We graciously allow you to use other internet sites beside Microsoft and MSN, but we aren't responsible if your children look up porn or download a virus. You were warned.
8. This EULA also applies to everything else of ours you use, unless specifically noted otherwise. We may stop providing services or software whenever we feel like it.
9. If you wish to upgrade the software, you must first own the software, then buy (we may also give it to you for free!) an upgrade. After that, you may no longer use the original software.
10. You may not sell our software, even after you stop using it.
11. If you can prove that you're a student of some educational facility, you may get our software a little cheaper. (But with additional restrictions.)
12. The U.S. government will tell the conditions you must agree to before using this software outside of the U.S.
13. You are allowed to install this software on another computer, if you completely remove it from the current one. You are even allowed to give the software to someone else, but remember the point 1.2.
14. If we decide we don't like what you're doing with our software, we may terminate the agreement, in which case you must destroy all your copies and uninstall the software.
15. We guarantee that the software will work for at least 90 days. You may get less, depending on your local laws. If the software fails (even during the warranty) which causes you to loose important data, you aren't entitled to any damages or refunds. But if you're lucky, your state or country may force us to pay you something anyway. Without that protection, however, the most you will get from us is a full refund of the money you paid for our software or a replacement software. You will pay shipping costs yourself. This warranty doesn't apply if the problem arose because of accident, abuse, abnormal use or a virus. Basically, whatever you do voids the warranty. In order to get the refund or replacement, you must prove to us that you really do own the software, after which we will kindly provide you with a refund or a replacement as soon as we feel like it.
16. Any sort of reassurance you heard in our ads is a lie, and the software is provided with all bugs inclusive. The software may not work, be unusable, unfit for a purpose. It will not be reliable, accurate, or complete even, it may contain viruses, and may be written negligently. If you use the software, you may not enjoy it, it may not be anything like we described and you may even do illegal stuff with it, without knowing it.
17. If your company suffers because you use the software, we (or our partners) will not be held responsible, even if it is our fault because the software is buggy. Even if we were informed of the problem beforehand we may not make an effort to correct the issue and you may not sue us because of it.
18. Again, if bad things happen to you or your company because of the use of this software, we will only pay you the price of the software or USD$5.00, whichever is greater.
19. Software provided to t he U.S. Government has a different license which only they may see.
20. Your local law determines how this license is treated.
21. This EULA is _the_ EULA for the software. If you have read other license agreements, they are false and this EULA holds.
---------------------------------------------------------------------------------------------
I hope this clarifies things a bit.
Thursday, August 9, 2007
Widows and input focus
Working with a windowing operating system is great. You get these rectangles that contain different programs, you move them around and resize them with a mouse and, all in all, have loads of fun doing it. Or so the box says.
The problems begin appearing if you are too quick (like me), or your computer is too slow (like mine). What happens is that I tend to get used to the programs I use and can for the most part predict where they will open and which input box I will be typing into, so I usually begin typing before the program had finished loading completely.
This is possible because the OS stores pressed keys into a 'buffer' and sends them to the program once it's ready to receive user input.
But, here's where problems start.
Let's say that I'm using the good old-fashioned multiplayer notepad, a.k.a IRC. I happen to remember at some point: "Wait, what if the friend I wanted to speak to is on MSN?" and so I click the friendly green icon. I expect the MSN messenger to load for a while, in the meantime I can type anywhere from 5 to 15 replies to people on IRC.
Alas, it is not meant to be, as the new program grabs the focus from me and, in case of the msn messenger, accepts the text I've typed into the 'filter contacts' box. What this causes is that the text I typed on irc is incomplete and all my friends on the msn contact list are gone. The horror.
Then I have to take the mouse, click into IRC again and figure out where my text stops, then finish it (if I can still remember what I wished to type).
Well, the trouble doesn't end there, of course.
At times I'm using Firefox to search the web, and click to start it loading. While it is opening, I check my mail, look at the time, see if my FTP transfer finished yet and, finally, notice that the program is loaded in the background. So I good-naturedly close the FTP window and see that the firefox had become the _active_ application and has the user focus, which is signified by the familiar blinking vertical line in the google search box.
Believing this evidence, I begin to type, only to learn a few words later that Windows had decieved me! The input focus is dangling somewhere in the wonderland and none of my keystrokes are coming across to firefox.
Repeat the procedure again: grab mouse, click, type again.
Do you see a pattern?
There are a few problems I have with this style of thing:
- I, _the Almighty and All-knowing User of this computer_, believe that I do, in fact, know which application I would like to use right now, and _even_ if something as breathtaking as an app finishing loading happens, I would usually still prefer to continue doing what I am doing just now and DEAL WITH THE NEW APP A BIT LATER. What happened to the "Customer is always right?"
- Why do I need to almost _constantly_ grab for my mouse? True, there are 'shortcuts' to switch windows and input boxes with the keyboard, but given the choice, I would rather take the mouse than use the shortcut of "Hold ALT, Press TAB TAB TAB TAB TAB TAB, Release ALT" (at which point the app I want is active, then to find the proper input box) "TAB TAB TAB TAB ...(27x)" And woila! No thanks.
What happened to UI simplicity?
Also, dear MS Windows, if I _do_ happen to minimize an application, the reason for it may simply be that I need room on my desktop for something else -momentarily-, and I would probably enjoy having the app I minimized back, in the near future. Why, oh why, do you have to begin swapping the application from RAM the same moment I minimize it? Wouldn't it be a lot easier to just leave it there, especially if my memory is only about 60% used?
Not to mention, some 'services' within windows XP can steal the focus from the current application even without the user wanting them. A perfect example of this is the IR driver, which most laptops used to have a few years back.
So it happened that I was sitting accross my friend's laptop just so that the IR sensors aligned. But wouldn't you know it.. waiting 10 minutes for the PC's to 'find' each other produced no result, so we were unable to copy a file conveniently, and had to send it all the way to america (via mail) and back, on a 6000 mile round trip. Well, guess what, I am later programming, having been too lazy to move, and suddenly I hear the sound of "IR connecting", at which point the application becomes "inactive" (gray title-bar, keyboard no longer sends keys there). As that happened in the middle of programming, the result was about 15-20 beeps as Windows didn't know where to put my keystrokes (since the input was again in the wonderland).
Figuring I accidentally switched focus away somehow (which is entirely too easy to do), I took the mouse, clicked, continued typing.
Only to have the same episode repeat itself again a minute later. You see, the PC's kept 'finding' and 'loosing' each other over IR, and with every transition the focus went away, which produced a chorus of beeps from me and my friend. Not even taping a piece of paper over the IR sensor helped. (And guess what - we still couldn't copy files through IR, because it quickly 'lost' the other computer as soon as we wished to exploit the newfound connection)
There are other programs and services that steal your input focus, but I am complaining about the IRFTP because it was _made_ by Microsoft _for_ Microsoft Windows XP.
Or am I the only one who complains about 'efficiency' in his UI?
The problems begin appearing if you are too quick (like me), or your computer is too slow (like mine). What happens is that I tend to get used to the programs I use and can for the most part predict where they will open and which input box I will be typing into, so I usually begin typing before the program had finished loading completely.
This is possible because the OS stores pressed keys into a 'buffer' and sends them to the program once it's ready to receive user input.
But, here's where problems start.
Let's say that I'm using the good old-fashioned multiplayer notepad, a.k.a IRC. I happen to remember at some point: "Wait, what if the friend I wanted to speak to is on MSN?" and so I click the friendly green icon. I expect the MSN messenger to load for a while, in the meantime I can type anywhere from 5 to 15 replies to people on IRC.
Alas, it is not meant to be, as the new program grabs the focus from me and, in case of the msn messenger, accepts the text I've typed into the 'filter contacts' box. What this causes is that the text I typed on irc is incomplete and all my friends on the msn contact list are gone. The horror.
Then I have to take the mouse, click into IRC again and figure out where my text stops, then finish it (if I can still remember what I wished to type).
Well, the trouble doesn't end there, of course.
At times I'm using Firefox to search the web, and click to start it loading. While it is opening, I check my mail, look at the time, see if my FTP transfer finished yet and, finally, notice that the program is loaded in the background. So I good-naturedly close the FTP window and see that the firefox had become the _active_ application and has the user focus, which is signified by the familiar blinking vertical line in the google search box.
Believing this evidence, I begin to type, only to learn a few words later that Windows had decieved me! The input focus is dangling somewhere in the wonderland and none of my keystrokes are coming across to firefox.
Repeat the procedure again: grab mouse, click, type again.
Do you see a pattern?
There are a few problems I have with this style of thing:
- I, _the Almighty and All-knowing User of this computer_, believe that I do, in fact, know which application I would like to use right now, and _even_ if something as breathtaking as an app finishing loading happens, I would usually still prefer to continue doing what I am doing just now and DEAL WITH THE NEW APP A BIT LATER. What happened to the "Customer is always right?"
- Why do I need to almost _constantly_ grab for my mouse? True, there are 'shortcuts' to switch windows and input boxes with the keyboard, but given the choice, I would rather take the mouse than use the shortcut of "Hold ALT, Press TAB TAB TAB TAB TAB TAB, Release ALT" (at which point the app I want is active, then to find the proper input box) "TAB TAB TAB TAB ...(27x)" And woila! No thanks.
What happened to UI simplicity?
Also, dear MS Windows, if I _do_ happen to minimize an application, the reason for it may simply be that I need room on my desktop for something else -momentarily-, and I would probably enjoy having the app I minimized back, in the near future. Why, oh why, do you have to begin swapping the application from RAM the same moment I minimize it? Wouldn't it be a lot easier to just leave it there, especially if my memory is only about 60% used?
Not to mention, some 'services' within windows XP can steal the focus from the current application even without the user wanting them. A perfect example of this is the IR driver, which most laptops used to have a few years back.
So it happened that I was sitting accross my friend's laptop just so that the IR sensors aligned. But wouldn't you know it.. waiting 10 minutes for the PC's to 'find' each other produced no result, so we were unable to copy a file conveniently, and had to send it all the way to america (via mail) and back, on a 6000 mile round trip. Well, guess what, I am later programming, having been too lazy to move, and suddenly I hear the sound of "IR connecting", at which point the application becomes "inactive" (gray title-bar, keyboard no longer sends keys there). As that happened in the middle of programming, the result was about 15-20 beeps as Windows didn't know where to put my keystrokes (since the input was again in the wonderland).
Figuring I accidentally switched focus away somehow (which is entirely too easy to do), I took the mouse, clicked, continued typing.
Only to have the same episode repeat itself again a minute later. You see, the PC's kept 'finding' and 'loosing' each other over IR, and with every transition the focus went away, which produced a chorus of beeps from me and my friend. Not even taping a piece of paper over the IR sensor helped. (And guess what - we still couldn't copy files through IR, because it quickly 'lost' the other computer as soon as we wished to exploit the newfound connection)
There are other programs and services that steal your input focus, but I am complaining about the IRFTP because it was _made_ by Microsoft _for_ Microsoft Windows XP.
Or am I the only one who complains about 'efficiency' in his UI?
Wednesday, August 8, 2007
Java update
I sometimes find that I am forced to install the Java runtime on my computer, which I do not particularly like. Unfortunately, some programmers use Java (though the purpose eludes me).
Although the idea behind Java is commendable and the implementation finally seems close to the idea, there are a few things I particularly dislike.
Sun, I do not wish to have a process for "Java Update" running constantly. It bothers me seeing it in the task manager, which I try to keep as short as possible.
The reasons for keeping running tasks few are many fold:
- Easily find the task you wish to kill, without having to browse through pages and pages of the stuff. This comes in especially handy of the task you want to kill is hogging the CPU, in which case the task manager works _very_ slowly.
- Easily notice new things, which is good if you happen to acquire a virus or a similar nasty program. New entries can 'hide' among tons of programs.
- Less tasks = less cpu and memory used (I shouldn't have to clarify this one)
And especially relating to 'automated updates': Sometimes I have to connect via my cellphone, as I have no other network, and at that times the connection is slow and expensive. I _do not_ wish random programs to communicate and download updates at such times. This includes anti-virus and similar software.
So, back to Java. I remember being in the middle of some maintenance work on a pc when this pretty little pop-up said: "I wanna update Java!". Knowing that if I don't do it now, the thing will keep jumping up and scaring my users, I said "Fine, do your thing." I am still waiting for it to finish, 15 minutes later. (On a 3.0G pentium D, nothing less.)
I mean, come on, how much time does it take to download and overwrite a few files?
Also, Sun, thanks, but if I wished to have a google toolbar in my internet explorer, I would have downloaded it myself, you don't need to offer it to me through the bloody Java update!
Sheesh.
----------------------------------------------------------------------
As I promised, here is the solution:
1. Open start menu, click "run" (or equivalent in your language) and type in "msconfig".
2. Select the last tab "startup" (or whatever your translators called it) and look for an entry called 'jusched'. Remove the check mark next to it, click okay and don't restart.
3. Next time you restart your PC, a pop-up box will jump up and tell you that you have made changes to the startup files. (No shit, Sherlock!) Tell it that it's fine and you have it under control, and it won't bother you anymore.
4. Enjoy life free of Java Updater.
P.S.: There is probably another way to do this through some sort of java settings, but I principally don't use such techniques, as I don't like the programs calling home and telling Sun (or whomever) that I disabled updater on my machine.
Have fun, y'all.
Although the idea behind Java is commendable and the implementation finally seems close to the idea, there are a few things I particularly dislike.
Sun, I do not wish to have a process for "Java Update" running constantly. It bothers me seeing it in the task manager, which I try to keep as short as possible.
The reasons for keeping running tasks few are many fold:
- Easily find the task you wish to kill, without having to browse through pages and pages of the stuff. This comes in especially handy of the task you want to kill is hogging the CPU, in which case the task manager works _very_ slowly.
- Easily notice new things, which is good if you happen to acquire a virus or a similar nasty program. New entries can 'hide' among tons of programs.
- Less tasks = less cpu and memory used (I shouldn't have to clarify this one)
And especially relating to 'automated updates': Sometimes I have to connect via my cellphone, as I have no other network, and at that times the connection is slow and expensive. I _do not_ wish random programs to communicate and download updates at such times. This includes anti-virus and similar software.
So, back to Java. I remember being in the middle of some maintenance work on a pc when this pretty little pop-up said: "I wanna update Java!". Knowing that if I don't do it now, the thing will keep jumping up and scaring my users, I said "Fine, do your thing." I am still waiting for it to finish, 15 minutes later. (On a 3.0G pentium D, nothing less.)
I mean, come on, how much time does it take to download and overwrite a few files?
Also, Sun, thanks, but if I wished to have a google toolbar in my internet explorer, I would have downloaded it myself, you don't need to offer it to me through the bloody Java update!
Sheesh.
----------------------------------------------------------------------
As I promised, here is the solution:
1. Open start menu, click "run" (or equivalent in your language) and type in "msconfig".
2. Select the last tab "startup" (or whatever your translators called it) and look for an entry called 'jusched'. Remove the check mark next to it, click okay and don't restart.
3. Next time you restart your PC, a pop-up box will jump up and tell you that you have made changes to the startup files. (No shit, Sherlock!) Tell it that it's fine and you have it under control, and it won't bother you anymore.
4. Enjoy life free of Java Updater.
P.S.: There is probably another way to do this through some sort of java settings, but I principally don't use such techniques, as I don't like the programs calling home and telling Sun (or whomever) that I disabled updater on my machine.
Have fun, y'all.
Welcome
As probably most of the people using a computer for any length of time, I occasionally see things that make me go "What?!" by their sheer stupidity or presumptuousness. I have decided to open a blog and make note of small, insignificant details about software and programs (my pet peeves, if you'd like), and see how long it gets. :)
If at all possible, I will post a solution or work-around to the problems I encounter for the benefit of others, and in return I would be happy of the readers told me how to correct the issues if I haven't found the fixes yet.
Though I imagine that for the most part the issues described will be due to the 'capitalist mentality' of large companies and corporations and, thus, unsolvable.
A shorter version of the above:
I'm going to rant and vent about stuff that annoys me.
Get a laugh out of it all, will you?
If at all possible, I will post a solution or work-around to the problems I encounter for the benefit of others, and in return I would be happy of the readers told me how to correct the issues if I haven't found the fixes yet.
Though I imagine that for the most part the issues described will be due to the 'capitalist mentality' of large companies and corporations and, thus, unsolvable.
A shorter version of the above:
I'm going to rant and vent about stuff that annoys me.
Get a laugh out of it all, will you?
Subscribe to:
Posts (Atom)