If you had bothered to read the linked demo page you would know that the bug is present in IE and Opera as well.
I just tried it in IE6 (Win2K) and it works just the same as Firefox.
The only problem is that this feature (affecting the frames of one window from another) is actually used a lot, for example when pop-ups are involved. I know of at least one banking application which will break if they flat out disallow changing one frame from within another.
A better solution would be to only allow it for frames sharing the same domain, I suppose.
1) Thief. Note that Thief 1/2 are considered better than Thief 3. True stealth gameplay: outsmart guards, be a ghost or knock out everyone, leaving them lying around in compromosing positions for the Lord of the Manor to find. As little violence as you want. At highest difficulty level, the game forbids you from killing anyone.
2) Deus Ex (1, not 2). Near-future nanotech conspiracy fun. Ignore the comparisons with The Matrix. Very high replayability, it's a game about making choices, both practical as ethical. Even on your 5th way through you'll discover new ways to achieve your goals. The locations are great too.
3) System Shock (2 is on Home of the Underdogs, 1 might be hard to get running). Another shooty RPG, like Deus Ex, but on a creepy spaceship. Amazing atmosphere, great sounds (the monkeys are after me), fascinating story, easy to use interface too.
Each of these takes a while to get in to, but once you're there you're hooked. And they are all fun. The graphics are a bit dated, but this is only noticable for the first 5 minutes.
And if you really don't like FPSes anymore, try Fallout. Awesome post-nuclear RPG: if you're tired of Wizards, Elves and Dwarves this is for you. Great sense of humor too. Doesn't treat the player like an idiot.
Each of these is several years old, but still refreshing and unique.
The criticism in the article is not just whining: in Mail, Apple is violating its own Human Interface Guidelines on icon design, and the author clearly states this. Consistency and thoughtful design is what separates Aqua from Luna, Microsoft's toy-box UI skin.
I was also very disappointed to see that quirky Finder inconsistency video: it goes against everything Apple has been preaching since day 1.
Of course, you need to see these for what they are: small missteps in an otherwise very nice update.
It would be pretty boring if it was 21 pages of praise, no? Regardless of whether you like or hate Apple, this review helps you form a much more informed opinion. Let's hope someone writes a similar one for Longhorn when it is (finally) released:P.
Internet explorer actually treats width and height as min-width and min-height. Very annoying if you don't want it, but you can use it like this:
select {
min-height: 100px;
_height: 100px; }
IE will (mysteriously) ignore the underscore prefix and parse the second style, while compliant browsers only recognize the min-height style.
This shows that the important question is in fact not "how many CSS bugs will IE7 fix?" but "how many CSS bugs will IE7 keep?". These bugs are currently needed to make IE6 behave properly. If IE7 fixes the rendering bugs but keeps the parsing bugs, we'll have to figure out new bugs to update the IE6-only hacks with.
It is true that the shell namespace has hardlinks in it. It also has virtual folders like the Control Panel or enhanced folders like the Desktop or Fonts.
The problem is that none of this is present in the filesystem which still uses those lovely drive letters. If you want to iterate the filesystem, you can use simple, tried-and-true APIs. If you want to iterate the shell namespace, you have to deal with the most convoluted system ever devised and handle numerous design flaws yourself (example: when retrieving the name of a shell item, it can be returned in one of three ways, each of which you have to handle).
This is in fact the reason why there are so many Windows applications out there that ignore the shell namespace and only give you drive letters. It is a pain in the ass to do it properly.
This means that if you want to access your desktop, your home dir or your documents in such an application, you have to go to the relevant filesystem folder. Confusion and anger follows.
This shows another idea that Microsoft doesn't get: making Windows development easy and intuitive for programmers.
The big hole is that you could still have another app modify Firefox's settings externally, and install a spyware extension that way.
And you know what? It wouldn't seem at all out of place to most people.
On Windows, application makers have this horrible idea that it's okay for applications to put themselves all over your computer. Desktop icons, search items, control panel entries, top-level start menu icons, Internet Explorer bars, etc. And not just spyware, but legitimate apps. And it's all stuff that no-one is ever going to care about.
Of course, Microsoft is to blame for this as well. They're constantly inventing new ways to break consistency all over, integrating their own applications in ways that don't scale. Third party makers imitate it, badly, and you end up with a cluttered, unusable desktop.
Regardless of languages that have IMEs for them that happen to be compatible with a plain latin keyboard, there are still thousands of characters in Unicode that are hard to use.
And I'm not talking about some rare ideographic script used by the lip-stretching tribes of the Amazon. I'm talking about mathematics, currencies, phonetics, arrows, line/box drawing, dingbats, etc.
People aren't using these characters because they're nearly impossible to enter practically. And in fact, the dead keys on western european keyboards are limited to the combinations found in Latin1. So while I can enter 'â' with '^a', I can't do it with a 'y', even though this character exists (U+0177).
There is a need for better input methods, beyond 'smart quotes' or replacing hyphens with em/en-dashes based on context. I wrote my own program so I could type a friend's name properly with an 's' in it. Typing it with a plain 's' wasn't the end of the world, but it's not ideal either. In the majority of western languages, accents are not considered to alter the base letter, but are considered to form an entirely new letter. Imagine reading an english text where one of the vowels has been replaced by another.
I don't think the average person types in URLs that much, especially not to sites they don't know or visit often. You just Google it.
However on the subject of typing: the real problem is that typing foreign characters is insanely hard in every OS out there. If you have a US keyboard, you're out of luck completely. Luckily my keyboard has 'dead' keys which allows me to put several types of accents on various letters, but it still doesn't help me with e.g. an Å.
Typically all you have is some dumb character map which you have to hunt through, and which is buried somewhere deep. That's why I wrote an IME-like app which pops up a small in-place dynamic character map with a keystroke. It allows you to select characters based on a 'base' character. See http://www.acko.net/blog/sprankle. Sure it's Windows-only and it doesn't work on apps that do weirdo stuff with keyboard input, but I blame the Win32 API. It's GPL'd though, so you are free to port it to one of the 'superior' OSes that Slashdot likes.
That's because they use HTML entities to disguise the characters. If they were really smart, they'd have used a unicode encoding like UTF-8 and used plain characters all the way. Then even the source would look normal.
The whole script collision thing has been known for a long time. The only way to fix it is to restrict the sets of characters that can be used to register internationalized domain names. E.g. restrict them to characters from one script only.
You do realize that everything you've said is just crap perpetuated by British tabloids? It's gotten so bad that the EU has had to put a website for debunking these myths. Guess what, almost all of them are from the UK:
"I wanted to scream as people dickered over whether 0xCCFFEB was better than 0xCCFF8B for a background color,... just pick one of them, dammit!"
And of course, you've/never//ever/ heard coders bicker about which storage structure to use, or which object organisation is best.
In my opinion, the reason most geeks suck at design is because they think they're special somehow. Graphical design skills, just like coding skills, are cultivated. That kid in primary school that always wowed everyone with nifty drawings of superheroes? He became that good because he spent tons of time practising. Sure, he probably had a little helping in the fine motor skills department, but that's not what made him good. And digital tools mean you can try and change and practice without having to take a new piece of paper every time.
Most of the people here will have been programming way before ever having any computing class in school. And they'll be lightyears ahead in terms of coding skill than the average CS graduate who knows all the "best practices" by heart. Knowing how to code does not make you good, doing it does. You cultivate your sense of good and bad code over the years, just like graphical designers cultivate their sense of proportions, curvature, light/shading/shadows and spacing.
If you're a geek, take the geeky approach: look at shapes in terms of curvature and torsion (calculus!). Making nice flowing shapes is nothing but making sure the derivatives are continuous. Lighting and shadows? Vector math and phong/radiosity/gi. And most 2D pixel operations are nothing but signal processing.
Every person has a sense of aesthetics, all you need to is turn it from a feeling into a practical guide. You need to learn that when your brain tells you "something does not look right", whether it is due to lack of contrast, too little/too much spacing, lack of depth, etc.
So, fire up The Gimp, Photoshop, Paint Shop Pro, or whatever you're comfortable with, and start making mockups (don't try to design directly with XHTML/CSS, it's inpractical). Try out tons of variations. Feel free to imitate the CSS Zen Garden (without copy/pasting) as this is a good excersise in discovering the many almost invisible details that turn them from good design into great design.
It does take time and practice, but then, there's no such thing as a free lunch.
The current state of XHTML/CSS is no worse off than 'good old' HTML.
CSS is simple and straightforward. The block model is unambiguous. You specify where things go, and you know how they will behave. Various browsers may have different defaults, but if I say paragraphs have 2ems of margin between them, then that's what they'll have. In your own example, you used BGCOLOR on the table. What would've happened if you used it on a different tag... like a blockquote or a paragraph? Nothing, because BGCOLOR wasn't implemented for them.
Today, web designers can rely on the rules in the standards, rather than just using whatever happens to work in the popular browsers. No more fucking around with layout tables, spacer images or cut up designs. And advanced CSS makes 90% of the things that Javascript was used for obsolete (image rollovers, pop up menus, etc). (*)
However, none of this matters to the real Joe User. He will keep on using whatever crappy WYSIWYG tool he can get his hands on and keep polluting the web with technically valid but semantically horrifying HTML (hello Microsoft Word), wondering why the geeks are upset.
In my own experience, most of the complaints and stupid questions I get about CSS are from programmers or designers who simply haven't read the relevant standards.
(*) Relying on CSS does not work if you consider IE5/mac to be a valid target, and want IE5/win to display everything correctly.
This is not that hard. The main problem is that usually there is no easy way to get exactly what is coming out of the speakers, due to varying drivers and latency.
Once you have the speaker signal, you need to implement an echo canceller which subtracts the signal including reflections. This is usually done by using an LMS or FDAF algorithm to find the impulse response of the speakers relative to the microphone. And you can easily design microphones that are sensitive to (mostly) one direction to get rid of more background noise.
This is implemented in every phone that has a speaker-phone function. Without it, the person on the other side would constantly hear themselves talking back with a delay, which is very annoying.
The Zen Xtra (and probably the Zen Mini too) requires a custom driver (Nomad Explorer) in order to access it and put audio and data on. Unfortunately, their program sucks: it is clunky, inconsistent and ugly. On top of that, it leaves a permanent "Nomad Explorer" icon in "My Computer" whether the device is plugged in or not.
This effectively makes the Zen Xtra useless for carrying data files around. Even if you go through the trouble of taking the driver CD with you, you will annoy the owners of the pc's you install it on by polluting their PC with annoying crap they don't need. This could've all been prevented by designing the Zen as a removable mass-storage USB device, with the audio tagging features on top of that or with an extra application.
When I emailed Creative about this, their reply was that "the Zen Xtra is not intended as a portable data storage device". Right. I guess someone forgot to tell them that the Zen IS a portable harddrive.
Who comes up with this crap? Having the Zen as a standard USB mass storage device is the only sane thing to do. If they hadn't crippled it, I would be plugging in the Zen into friend's and families' PCs, doing their marketing for them.
Wearing a hard drive platter on your head has nothing to do with how you yourself look, and everything to do with your image and how you present yourself to others.
Please point out where in my post I crapped on RMS for how he looks, rather than what he says and does.
Those of us that actually leave our parents' basements know that in the world outside, presentation does matter, and geeks are just as shallow in that aspect as regular people. Unless this isn't Slashdot anymore, and suddenly there are no more Natalie Portman jokes?
GNU have no-one to blame but themselves if everyone talks about Linux rather than GNU/Linux. If Richard Stallman is their idea of marketing, then good luck (yes, I've heard him speak): they'll be stomping their feet in anger for years to come.
Take a look at http://www.gnu.org. Wow, what a smashing site! Gotta dig that retro HTML 1.0 look.
GNU is aimed at geeks and programmers. Regular users will keep on talking about 'Linux' because GNU doesn't directly deal with any of the things that are important to them. Compilers? Shells? Drivers?
GNU needs to market free software in a way that regular people can understand. That means explaining how free software will not prevent you from ripping your CD to your iPod with DRM. It's telling managers that the expensive software package they had developed will be safe from the whims or bankruptcy of the developer, because it is GPL licensed. Telling webdesigners how Mozilla's open development gets bugs fixed rather than letting them linger on for years.
This would do infinitely more for GNU than the hippie with the harddrive platter on his head will ever achieve in his lifetime.
I'd strong recommend against making your own UI toolkit. Many programmers seem to have the idea that anything involving GUIs is easy, because it's designed for 'stupid users'. Not so.
UI's are complex beasts that need to be fast, consistent, flexible and powerful. 'Designing' a UI is not about making pretty skins for the buttons, but defining the behaviour and actions in the UI so that they form a harmonious whole.
Take for example, the 'simple' scrollbar. It consists of 4 areas to click on: the up/down arrows, the thumb to drag around and the gray area outside of the thumb which you can click to go up/down a page. The thumb's length should represent the visible portion of the document/item. If the view shows 75% of the item, then the thumb should cover 75% of the scroll 'gutter'. When viewing a list of lines or items, scrolling should stop as soon as the last item has appeared at the bottom. The granularity of the scrollbar should match the contents that are being scrolled (don't make a smooth scrolling bar if the contents only skip up/down line per line).
Nearly every Flash brochure site and computer game out there which implements its own widgets violate at least one of these rules for scrollbars. Think about all those tiny little implicit rules about buttons, checkboxes, menus,...
If all you want to do is make a GUI, then by all means, code one. If you want to make a game, find a good, existing toolkit and use it.
This is not suprising given the fact that the site runs on CivicSpace.
This is the funded continuation of DeanSpace, the Drupal-based grassroots campaigning software created for and used in Howard Dean's campaign.
1) IE does support transparent PNG, you just need a CSS hack for it. There are tons of scripts around the web to include the hack automatically, one of which is the 'IE7' DHTML behaviour which fixes a lot more than just PNG transparency, and which anyone who wants to do modern webdesign (semantic and tableless) should consider.
2) If you simply omit the gAMA chunk from your PNGs (pngcrush can do this easily, plus you get tiny PNGs to boot), then the gamma issues will be gone for 99.99% of the browsers. The only ones that will mess up are an outdated version of Opera, a pre-1.0 mozilla on Mac OS, and (unfortunately) Safari on Mac OS X. But Safari is still under development. You can assume that people who use it are keeping it up to date.
You don't include any gamma information with the rest of your colors (CSS), so it makes sense not to have any in your PNGs either.
The basic summary is, PHP does not support Unicode or any other encodings properly. PHP strings are 8-bit-per-character and do not have any explicit encoding. Sure, there is a multibyte string extension available, but when you look at the big picture, it's worthless.
The reason is that PHP's biggest strength is that these days, you can get a PHP-enabled host for virtually no money. However, most of these installs run a standard PHP, some even a locked down one.
The consequence is that anyone who wants to develop PHP software for a large audience cannot use any non-standard stuff (except/maybe/ the popular graphical extensions like GDlib). Which means that for those developers, PHP does not do Unicode at all.
I don't see why they won't do native Unicode, when Perl, Python, Java and all the other popular web languages support Unicode with all the bells and whistles.
If you had bothered to read the linked demo page you would know that the bug is present in IE and Opera as well.
I just tried it in IE6 (Win2K) and it works just the same as Firefox.
The only problem is that this feature (affecting the frames of one window from another) is actually used a lot, for example when pop-ups are involved. I know of at least one banking application which will break if they flat out disallow changing one frame from within another.
A better solution would be to only allow it for frames sharing the same domain, I suppose.
1) Thief. Note that Thief 1/2 are considered better than Thief 3. True stealth gameplay: outsmart guards, be a ghost or knock out everyone, leaving them lying around in compromosing positions for the Lord of the Manor to find. As little violence as you want. At highest difficulty level, the game forbids you from killing anyone.
2) Deus Ex (1, not 2). Near-future nanotech conspiracy fun. Ignore the comparisons with The Matrix. Very high replayability, it's a game about making choices, both practical as ethical. Even on your 5th way through you'll discover new ways to achieve your goals. The locations are great too.
3) System Shock (2 is on Home of the Underdogs, 1 might be hard to get running). Another shooty RPG, like Deus Ex, but on a creepy spaceship. Amazing atmosphere, great sounds (the monkeys are after me), fascinating story, easy to use interface too.
Each of these takes a while to get in to, but once you're there you're hooked. And they are all fun. The graphics are a bit dated, but this is only noticable for the first 5 minutes.
And if you really don't like FPSes anymore, try Fallout. Awesome post-nuclear RPG: if you're tired of Wizards, Elves and Dwarves this is for you. Great sense of humor too. Doesn't treat the player like an idiot.
Each of these is several years old, but still refreshing and unique.
The criticism in the article is not just whining: in Mail, Apple is violating its own Human Interface Guidelines on icon design, and the author clearly states this. Consistency and thoughtful design is what separates Aqua from Luna, Microsoft's toy-box UI skin.
:P.
I was also very disappointed to see that quirky Finder inconsistency video: it goes against everything Apple has been preaching since day 1.
Of course, you need to see these for what they are: small missteps in an otherwise very nice update.
It would be pretty boring if it was 21 pages of praise, no? Regardless of whether you like or hate Apple, this review helps you form a much more informed opinion. Let's hope someone writes a similar one for Longhorn when it is (finally) released
Internet explorer actually treats width and height as min-width and min-height. Very annoying if you don't want it, but you can use it like this:
select {
min-height: 100px;
_height: 100px;
}
IE will (mysteriously) ignore the underscore prefix and parse the second style, while compliant browsers only recognize the min-height style.
This shows that the important question is in fact not "how many CSS bugs will IE7 fix?" but "how many CSS bugs will IE7 keep?". These bugs are currently needed to make IE6 behave properly. If IE7 fixes the rendering bugs but keeps the parsing bugs, we'll have to figure out new bugs to update the IE6-only hacks with.
It is true that the shell namespace has hardlinks in it. It also has virtual folders like the Control Panel or enhanced folders like the Desktop or Fonts.
The problem is that none of this is present in the filesystem which still uses those lovely drive letters. If you want to iterate the filesystem, you can use simple, tried-and-true APIs. If you want to iterate the shell namespace, you have to deal with the most convoluted system ever devised and handle numerous design flaws yourself (example: when retrieving the name of a shell item, it can be returned in one of three ways, each of which you have to handle).
This is in fact the reason why there are so many Windows applications out there that ignore the shell namespace and only give you drive letters. It is a pain in the ass to do it properly.
This means that if you want to access your desktop, your home dir or your documents in such an application, you have to go to the relevant filesystem folder. Confusion and anger follows.
This shows another idea that Microsoft doesn't get: making Windows development easy and intuitive for programmers.
The big hole is that you could still have another app modify Firefox's settings externally, and install a spyware extension that way.
And you know what? It wouldn't seem at all out of place to most people.
On Windows, application makers have this horrible idea that it's okay for applications to put themselves all over your computer. Desktop icons, search items, control panel entries, top-level start menu icons, Internet Explorer bars, etc. And not just spyware, but legitimate apps. And it's all stuff that no-one is ever going to care about.
Of course, Microsoft is to blame for this as well. They're constantly inventing new ways to break consistency all over, integrating their own applications in ways that don't scale. Third party makers imitate it, badly, and you end up with a cluttered, unusable desktop.
Regardless of languages that have IMEs for them that happen to be compatible with a plain latin keyboard, there are still thousands of characters in Unicode that are hard to use.
And I'm not talking about some rare ideographic script used by the lip-stretching tribes of the Amazon. I'm talking about mathematics, currencies, phonetics, arrows, line/box drawing, dingbats, etc.
People aren't using these characters because they're nearly impossible to enter practically. And in fact, the dead keys on western european keyboards are limited to the combinations found in Latin1. So while I can enter 'â' with '^a', I can't do it with a 'y', even though this character exists (U+0177).
There is a need for better input methods, beyond 'smart quotes' or replacing hyphens with em/en-dashes based on context. I wrote my own program so I could type a friend's name properly with an 's' in it. Typing it with a plain 's' wasn't the end of the world, but it's not ideal either. In the majority of western languages, accents are not considered to alter the base letter, but are considered to form an entirely new letter. Imagine reading an english text where one of the vowels has been replaced by another.
Unicode range U+2500 - U+257F, box drawing:. pdf
http://www.unicode.org/charts/PDF/U2500
Enjoy.
I don't think the average person types in URLs that much, especially not to sites they don't know or visit often. You just Google it.
However on the subject of typing: the real problem is that typing foreign characters is insanely hard in every OS out there. If you have a US keyboard, you're out of luck completely. Luckily my keyboard has 'dead' keys which allows me to put several types of accents on various letters, but it still doesn't help me with e.g. an Å.
Typically all you have is some dumb character map which you have to hunt through, and which is buried somewhere deep. That's why I wrote an IME-like app which pops up a small in-place dynamic character map with a keystroke. It allows you to select characters based on a 'base' character. See http://www.acko.net/blog/sprankle. Sure it's Windows-only and it doesn't work on apps that do weirdo stuff with keyboard input, but I blame the Win32 API. It's GPL'd though, so you are free to port it to one of the 'superior' OSes that Slashdot likes.
That's because they use HTML entities to disguise the characters. If they were really smart, they'd have used a unicode encoding like UTF-8 and used plain characters all the way. Then even the source would look normal. The whole script collision thing has been known for a long time. The only way to fix it is to restrict the sets of characters that can be used to register internationalized domain names. E.g. restrict them to characters from one script only.
You do realize that everything you've said is just crap perpetuated by British tabloids? It's gotten so bad that the EU has had to put a website for debunking these myths. Guess what, almost all of them are from the UK:
See this site.
If you're really fast, it could be done in time for presenting at FOSDEM in Brussels :P.
"I wanted to scream as people dickered over whether 0xCCFFEB was better than 0xCCFF8B for a background color, ... just pick one of them, dammit!"
/never/ /ever/ heard coders bicker about which storage structure to use, or which object organisation is best.
And of course, you've
In my opinion, the reason most geeks suck at design is because they think they're special somehow. Graphical design skills, just like coding skills, are cultivated. That kid in primary school that always wowed everyone with nifty drawings of superheroes? He became that good because he spent tons of time practising. Sure, he probably had a little helping in the fine motor skills department, but that's not what made him good. And digital tools mean you can try and change and practice without having to take a new piece of paper every time.
Most of the people here will have been programming way before ever having any computing class in school. And they'll be lightyears ahead in terms of coding skill than the average CS graduate who knows all the "best practices" by heart. Knowing how to code does not make you good, doing it does. You cultivate your sense of good and bad code over the years, just like graphical designers cultivate their sense of proportions, curvature, light/shading/shadows and spacing.
If you're a geek, take the geeky approach: look at shapes in terms of curvature and torsion (calculus!). Making nice flowing shapes is nothing but making sure the derivatives are continuous. Lighting and shadows? Vector math and phong/radiosity/gi. And most 2D pixel operations are nothing but signal processing.
Every person has a sense of aesthetics, all you need to is turn it from a feeling into a practical guide. You need to learn that when your brain tells you "something does not look right", whether it is due to lack of contrast, too little/too much spacing, lack of depth, etc.
So, fire up The Gimp, Photoshop, Paint Shop Pro, or whatever you're comfortable with, and start making mockups (don't try to design directly with XHTML/CSS, it's inpractical). Try out tons of variations. Feel free to imitate the CSS Zen Garden (without copy/pasting) as this is a good excersise in discovering the many almost invisible details that turn them from good design into great design.
It does take time and practice, but then, there's no such thing as a free lunch.
The current state of XHTML/CSS is no worse off than 'good old' HTML.
CSS is simple and straightforward. The block model is unambiguous. You specify where things go, and you know how they will behave. Various browsers may have different defaults, but if I say paragraphs have 2ems of margin between them, then that's what they'll have. In your own example, you used BGCOLOR on the table. What would've happened if you used it on a different tag... like a blockquote or a paragraph? Nothing, because BGCOLOR wasn't implemented for them.
Today, web designers can rely on the rules in the standards, rather than just using whatever happens to work in the popular browsers. No more fucking around with layout tables, spacer images or cut up designs. And advanced CSS makes 90% of the things that Javascript was used for obsolete (image rollovers, pop up menus, etc). (*)
However, none of this matters to the real Joe User. He will keep on using whatever crappy WYSIWYG tool he can get his hands on and keep polluting the web with technically valid but semantically horrifying HTML (hello Microsoft Word), wondering why the geeks are upset.
In my own experience, most of the complaints and stupid questions I get about CSS are from programmers or designers who simply haven't read the relevant standards.
(*) Relying on CSS does not work if you consider IE5/mac to be a valid target, and want IE5/win to display everything correctly.
This is not that hard. The main problem is that usually there is no easy way to get exactly what is coming out of the speakers, due to varying drivers and latency. Once you have the speaker signal, you need to implement an echo canceller which subtracts the signal including reflections. This is usually done by using an LMS or FDAF algorithm to find the impulse response of the speakers relative to the microphone. And you can easily design microphones that are sensitive to (mostly) one direction to get rid of more background noise. This is implemented in every phone that has a speaker-phone function. Without it, the person on the other side would constantly hear themselves talking back with a delay, which is very annoying.
For the average user, the most important stuff is their own documents, images and programs. These would be in danger as well on a Linux box.
The Zen Xtra (and probably the Zen Mini too) requires a custom driver (Nomad Explorer) in order to access it and put audio and data on. Unfortunately, their program sucks: it is clunky, inconsistent and ugly. On top of that, it leaves a permanent "Nomad Explorer" icon in "My Computer" whether the device is plugged in or not.
This effectively makes the Zen Xtra useless for carrying data files around. Even if you go through the trouble of taking the driver CD with you, you will annoy the owners of the pc's you install it on by polluting their PC with annoying crap they don't need. This could've all been prevented by designing the Zen as a removable mass-storage USB device, with the audio tagging features on top of that or with an extra application.
When I emailed Creative about this, their reply was that "the Zen Xtra is not intended as a portable data storage device". Right. I guess someone forgot to tell them that the Zen IS a portable harddrive.
Who comes up with this crap? Having the Zen as a standard USB mass storage device is the only sane thing to do. If they hadn't crippled it, I would be plugging in the Zen into friend's and families' PCs, doing their marketing for them.
Don't worry. Not even the US government can keep them apart: just look at the crap people who visit the US have to endure.
Wearing a hard drive platter on your head has nothing to do with how you yourself look, and everything to do with your image and how you present yourself to others.
Please point out where in my post I crapped on RMS for how he looks, rather than what he says and does.
Those of us that actually leave our parents' basements know that in the world outside, presentation does matter, and geeks are just as shallow in that aspect as regular people. Unless this isn't Slashdot anymore, and suddenly there are no more Natalie Portman jokes?
GNU have no-one to blame but themselves if everyone talks about Linux rather than GNU/Linux. If Richard Stallman is their idea of marketing, then good luck (yes, I've heard him speak): they'll be stomping their feet in anger for years to come.
Take a look at http://www.gnu.org. Wow, what a smashing site! Gotta dig that retro HTML 1.0 look.
GNU is aimed at geeks and programmers. Regular users will keep on talking about 'Linux' because GNU doesn't directly deal with any of the things that are important to them. Compilers? Shells? Drivers?
GNU needs to market free software in a way that regular people can understand. That means explaining how free software will not prevent you from ripping your CD to your iPod with DRM. It's telling managers that the expensive software package they had developed will be safe from the whims or bankruptcy of the developer, because it is GPL licensed. Telling webdesigners how Mozilla's open development gets bugs fixed rather than letting them linger on for years.
This would do infinitely more for GNU than the hippie with the harddrive platter on his head will ever achieve in his lifetime.
I'd strong recommend against making your own UI toolkit. Many programmers seem to have the idea that anything involving GUIs is easy, because it's designed for 'stupid users'. Not so.
...
UI's are complex beasts that need to be fast, consistent, flexible and powerful. 'Designing' a UI is not about making pretty skins for the buttons, but defining the behaviour and actions in the UI so that they form a harmonious whole.
Take for example, the 'simple' scrollbar. It consists of 4 areas to click on: the up/down arrows, the thumb to drag around and the gray area outside of the thumb which you can click to go up/down a page. The thumb's length should represent the visible portion of the document/item. If the view shows 75% of the item, then the thumb should cover 75% of the scroll 'gutter'. When viewing a list of lines or items, scrolling should stop as soon as the last item has appeared at the bottom. The granularity of the scrollbar should match the contents that are being scrolled (don't make a smooth scrolling bar if the contents only skip up/down line per line).
Nearly every Flash brochure site and computer game out there which implements its own widgets violate at least one of these rules for scrollbars. Think about all those tiny little implicit rules about buttons, checkboxes, menus,
If all you want to do is make a GUI, then by all means, code one. If you want to make a game, find a good, existing toolkit and use it.
This is not suprising given the fact that the site runs on CivicSpace.
This is the funded continuation of DeanSpace, the Drupal-based grassroots campaigning software created for and used in Howard Dean's campaign.
And it's all open-source too.
Your two problems are easy to get around.
1) IE does support transparent PNG, you just need a CSS hack for it. There are tons of scripts around the web to include the hack automatically, one of which is the 'IE7' DHTML behaviour which fixes a lot more than just PNG transparency, and which anyone who wants to do modern webdesign (semantic and tableless) should consider.
2) If you simply omit the gAMA chunk from your PNGs (pngcrush can do this easily, plus you get tiny PNGs to boot), then the gamma issues will be gone for 99.99% of the browsers. The only ones that will mess up are an outdated version of Opera, a pre-1.0 mozilla on Mac OS, and (unfortunately) Safari on Mac OS X. But Safari is still under development. You can assume that people who use it are keeping it up to date.
You don't include any gamma information with the rest of your colors (CSS), so it makes sense not to have any in your PNGs either.
'Telemarketing'? What's that?
The basic summary is, PHP does not support Unicode or any other encodings properly. PHP strings are 8-bit-per-character and do not have any explicit encoding. Sure, there is a multibyte string extension available, but when you look at the big picture, it's worthless.
/maybe/ the popular graphical extensions like GDlib). Which means that for those developers, PHP does not do Unicode at all.
The reason is that PHP's biggest strength is that these days, you can get a PHP-enabled host for virtually no money. However, most of these installs run a standard PHP, some even a locked down one.
The consequence is that anyone who wants to develop PHP software for a large audience cannot use any non-standard stuff (except
I don't see why they won't do native Unicode, when Perl, Python, Java and all the other popular web languages support Unicode with all the bells and whistles.