"Num lock"
Why the heck would i never want Num Lock not enabled? I don't even know what num lock is/or was designed for. The only thing I know about this key on my keyboard is that it is the stupid thing that I need to push in order for me to enter my password. I've never needed to turn it off and I have no idea why I would want to turn it off. I hate using the number keys across the top of the keyboard the ten key pad is way better for entering numbers. Why must i push this button everytime my computer reboots? I have no idea, I only know that I think it is a sign of stupid and inconsiderate software.
As you probably know, if you've been following my posts, that I've been reading About Face 3 (by everyone, I mean everyone who can fit into a small 2 person sized closet). I've gotten about half way through this weighty tomb, and it has gotten more enjoyable to read. I'm not sure if I've just gotten used to the writing style or it's just gotten more interesting, but I'm learning stuff. Learning stuff is good. Anyway, they believe that good software should be like a considerate assistant or considerate person. A considerate person thinks of others, namely your user. A considerate person remembers that you like your num lock on, that you visit the same site all the time, and you like to read about Markie Post. This software will look for ways to use this information to help you achieve your goals. I agree, and I'd just like to say "Num lock, you're an inconsiderate jerk"
Showing posts with label rant. Show all posts
Showing posts with label rant. Show all posts
Thursday, November 15, 2007
Tuesday, November 13, 2007
Silly Interaction Designs
I have been reading "About Face 3" and I am about half way through it. It has crystallized some concepts I already have and introducing a few new ones. One of the early points that they made was that software should work (or at least appear to do so to them) how people think it works and not how it actually does. IQ blog has another good example of this, although I have never seen the example he uses in the states.
Another good example is Apple's beloved trash can. This crazy little character has been around since the beginning (history lesson via kernelthread). Initially it was only used to delete files; poof, gone goodbye. Nice, that makes sense and it even works pretty well as a metaphor. Kinda simple & pretty cool.
But wait, someone decided that I should also eject media (cds, disks, mounted drives, etc) by putting it in the trash! Huh? But why would I put the disk that contains the only copy of my dissertation in the trash! I don't want to delete it, I just want to get the physical disk out of my mac take it to the lab to print it out. How on earth does putting something in the trash equal ejecting media?
Via kernelthread:
Since the original Macintosh had no hard disk, and a single floppy drive, it was expected that users will typically use several diskettes while working on the Macintosh. A convenience feature of the system was that it cached (in memory) the list of files on a diskette even after it had been ejected. This was indicated by a grayed-out icon for that diskette on the Desktop, clicking on which would prompt the user to insert the appropriate diskette in the drive. If a user wanted to free-up the memory used by a diskette's cache, he would have to drag the grayed-out icon to the trash.
Thus, even if a user intended to permanently eject a diskette, two actions were required: the eject command, and dragging an icon to the trash. The redundancy was removed by combining these actions to a single action: dragging an "active" (non-grayed-out) icon to the trash caused the disk to be ejected, and its cache to be deleted.
They designed it to help explain the implementation model, simplified it as technology and usage patterns changed, but never bothered to explore a better way. Leaving us with the illogical and strange idea of throwing away things that we want to keep. They have tried to make it better by changing the trash icon into an eject symbol when you drag mounted media, but who is gonna look at the trash for a place to physically eject something. Which brings up another point, why would you think you needed the softwares permission to get your disk back. I can imagine sitting there thingking "okay, how do i get my disk out of this machine." Reminds me of the zoolander bit about files inside the computer.
Don't even get me started on "ctrl alt delete" as a way to lock my computer. I may be considered an expert user because I employ this shortcut, but that doesn't mean that my fingers don't make mistakes. There have been a few times when the only button my finger manages to connect with is the delete key. What usually follows in quick succession is the enter key. In photoshop, in a hurry, "shift alt delete" enter and I just deleted a layer. Talk about dumb. Why would you include delete in that sequence? Talk about "Which one of these things doesn't belong". Should call it bunnies, rainbows, and hellfire missiles.
I can imagine the developer saying; "Awe come on. It's totally safe and easy, they only have to get all three keys right!"
Another good example is Apple's beloved trash can. This crazy little character has been around since the beginning (history lesson via kernelthread). Initially it was only used to delete files; poof, gone goodbye. Nice, that makes sense and it even works pretty well as a metaphor. Kinda simple & pretty cool.
But wait, someone decided that I should also eject media (cds, disks, mounted drives, etc) by putting it in the trash! Huh? But why would I put the disk that contains the only copy of my dissertation in the trash! I don't want to delete it, I just want to get the physical disk out of my mac take it to the lab to print it out. How on earth does putting something in the trash equal ejecting media?
Via kernelthread:
Since the original Macintosh had no hard disk, and a single floppy drive, it was expected that users will typically use several diskettes while working on the Macintosh. A convenience feature of the system was that it cached (in memory) the list of files on a diskette even after it had been ejected. This was indicated by a grayed-out icon for that diskette on the Desktop, clicking on which would prompt the user to insert the appropriate diskette in the drive. If a user wanted to free-up the memory used by a diskette's cache, he would have to drag the grayed-out icon to the trash.
Thus, even if a user intended to permanently eject a diskette, two actions were required: the eject command, and dragging an icon to the trash. The redundancy was removed by combining these actions to a single action: dragging an "active" (non-grayed-out) icon to the trash caused the disk to be ejected, and its cache to be deleted.
They designed it to help explain the implementation model, simplified it as technology and usage patterns changed, but never bothered to explore a better way. Leaving us with the illogical and strange idea of throwing away things that we want to keep. They have tried to make it better by changing the trash icon into an eject symbol when you drag mounted media, but who is gonna look at the trash for a place to physically eject something. Which brings up another point, why would you think you needed the softwares permission to get your disk back. I can imagine sitting there thingking "okay, how do i get my disk out of this machine." Reminds me of the zoolander bit about files inside the computer.
Don't even get me started on "ctrl alt delete" as a way to lock my computer. I may be considered an expert user because I employ this shortcut, but that doesn't mean that my fingers don't make mistakes. There have been a few times when the only button my finger manages to connect with is the delete key. What usually follows in quick succession is the enter key. In photoshop, in a hurry, "shift alt delete" enter and I just deleted a layer. Talk about dumb. Why would you include delete in that sequence? Talk about "Which one of these things doesn't belong". Should call it bunnies, rainbows, and hellfire missiles.
I can imagine the developer saying; "Awe come on. It's totally safe and easy, they only have to get all three keys right!"
Wednesday, October 31, 2007
Current Read: About Face 3 - Update
I've been reading this book on the bus, to and from work. I have gotten as far as chapter 5 and I have a few impressions.
Good Things:
That's all for now. Happy halloween.
Good Things:
- The information is comprehensive and detailed. Cooper & gang include some good real world example cases and anecdotes.
- The authors are obviously seasoned experts and can explain why they advocate the approach they do, because they've tried the other theories and adopted the best parts for themselves.
- Their process is detailed and well documented.
- They don't use plain english. Many of the words they use are either new to me or not part of my common vocabulary.
- The author also LOVES to use commas. They create extremely long sentences that group several concepts, subjects, phrases, terms, and methods together, and, that just aint kosher, cool, desirable, or advantageous.
That's all for now. Happy halloween.
Saturday, October 20, 2007
Smashup: Blend 2 vs Flash
I've been dutifully attempting to learn Microsoft Blend 2. I have a few gripes so far.
I am not a programmer. I often wish I was. While immersion techniques work well for learning things, it can be quite the learning curve. I really do think programmatic approaches are usually more flexible and can be easier to control, but c'mon Microsoft! give me a little break here!
Example you say! Ok, says I: Fading
flash
mc.onRollOver = function(){
--- mc.onEnterFrame = function (){
------- if(mc.alpha >= 20){
----------- mc.alpha -= 10;
------- }
--- }
}
blend 2
I am actually not sure how you go about this... I have found that you can't invoke a loop and use setTimeout or setInterval to achieve it (common and pre-existing methods to achieve this with javascript). It appears that you have to use a "storyboard". Storyboards are a method to animate things.
My understanding at this point is that there are three ways to go about this:
Non-programmatic. You can set up unique storyboards for each object you want to fade in blend itself. Imagine that you want to fade a button as you hover over it, each button will need it's own Storyboard (time line based transition). Not efficient use of my time or of the technology.
Semi-programmatic. Have several predefined duplicate storyboards that have the storyboard target dynamically modified with javascript. Why several of the same thing? Silverlight can only have one instance of a storyboard running at a time. So if you want multiple fading elements, you will have to have x number of storyboards that you switch back & forth between when they aren't in use. Kind of a hassle!
Programmatic. Dynamically create storyboards on demand and insert them into your xaml code structure. This approach is most flexible but I haven't gotten it to work yet. I find this method as annoying as the rest because, rather than just needing to manage my javascript fade code, I also need to create xaml, insert it into the document structure, and then remove it when I'm done. Way more complicated than what I did with flash.
I am left feeling like microsoft wants me to be a programmer. Or at least have one on speed dial. While I really enjoy learning programming, there is a point when it gets kind of ridiculous just to do something simple like an opacity fade.
Why so many hoops? Maybe someone can explain why their way is better?
I am not a programmer. I often wish I was. While immersion techniques work well for learning things, it can be quite the learning curve. I really do think programmatic approaches are usually more flexible and can be easier to control, but c'mon Microsoft! give me a little break here!
Example you say! Ok, says I: Fading
flash
mc.onRollOver = function(){
--- mc.onEnterFrame = function (){
------- if(mc.alpha >= 20){
----------- mc.alpha -= 10;
------- }
--- }
}
blend 2
I am actually not sure how you go about this... I have found that you can't invoke a loop and use setTimeout or setInterval to achieve it (common and pre-existing methods to achieve this with javascript). It appears that you have to use a "storyboard". Storyboards are a method to animate things.
My understanding at this point is that there are three ways to go about this:
Non-programmatic. You can set up unique storyboards for each object you want to fade in blend itself. Imagine that you want to fade a button as you hover over it, each button will need it's own Storyboard (time line based transition). Not efficient use of my time or of the technology.
Semi-programmatic. Have several predefined duplicate storyboards that have the storyboard target dynamically modified with javascript. Why several of the same thing? Silverlight can only have one instance of a storyboard running at a time. So if you want multiple fading elements, you will have to have x number of storyboards that you switch back & forth between when they aren't in use. Kind of a hassle!
Programmatic. Dynamically create storyboards on demand and insert them into your xaml code structure. This approach is most flexible but I haven't gotten it to work yet. I find this method as annoying as the rest because, rather than just needing to manage my javascript fade code, I also need to create xaml, insert it into the document structure, and then remove it when I'm done. Way more complicated than what I did with flash.
I am left feeling like microsoft wants me to be a programmer. Or at least have one on speed dial. While I really enjoy learning programming, there is a point when it gets kind of ridiculous just to do something simple like an opacity fade.
Why so many hoops? Maybe someone can explain why their way is better?
Labels:
actionscript,
Blend 2,
flash,
programming,
rant,
silverlight
Subscribe to:
Posts (Atom)