Wednesday, October 17, 2007
Monday, August 13, 2007
Sunday, June 24, 2007
The Web's Ten Most Irritating Words on Internet
Can you believe that the World Wide Web has actually spawned words that might make users want to pull at their hair in frustration?
British pollsters, YouGov, conducted a poll for Web publisher Lulu.com, creator of the Blooker Prize that converts Web diaries/Blogs into Web books or Blooks, and came up with a string of not so happening words on the Web...
Topping the list of irksome words is 'Folksonomy', a Web classification system, followed by 'Blogosphere' at second place.
'Blog itself comes in at third position, followed by 'Netiquette' aka Web etiquette at fourth place.
The fifth most irritating word is 'Blook' or a book based on a Blog. At sixth, seventh, and eighth place respectively are 'Webinar', 'Vlog' or video Blog, and 'Social Networking'.
Qualifying as the ninth most irksome word is 'Cookie', a file sent to a user's computer after he/she visits a Web site. At tenth place is 'Wiki', meaning a collaborative Web site edited by its readers.
Reportedly, a universe comprising about 2,091 adults was questioned by the poll pundits to come up with these results.
Bob Young, Canadian founder of Lulu.com, expressed the view that the World Wide Web tirelessly continues to churn out new words so much so that there is now possibility for a new language aka Web-lish which could well be the new English.
Previously, even the Collins English Dictionary had announced that a string of words inspired by the Web would be given pride-of-place in their ninth edition. These include: 'me-media'; a term for personal content Web sites like Facebook and godcast, which is a religious service that has been converted into an MP3 format.
Friday, June 8, 2007
Kiss Boring Interfaces Goodbye With Apple's New Animated OS

Disco is software for burning disks that illustrates a new approach to interfaces: It smokes while it burns. If you blow into your computer's microphone, the smoke blows across your desktop.
When Steve Jobs takes the stage at Apple's programmers conference, he's likely to give the world a glimpse of an upgraded Mac operating system that could herald the biggest changes to the machine's interface in 30 years.
At the annual Worldwide Developers Conference in San Francisco, Jobs will probably show off Leopard, a Mac OS X update due in October that he has promised contains "top secret" features. But perhaps the most important feature is one that has been overlooked by many Apple fans: a new set of tools for building program interfaces called Core Animation.
Core Animation will allow programmers to give their applications flashy, animated interfaces. Some developers think Core Animation is so important, it will usher in the biggest changes to computer interfaces since the original Mac shipped three decades ago.
"The revolution coming with Core Animation is akin to the one that came from the original Mac in 1984," says Wil Shipley, developer of the personal media-cataloging application Delicious Library. "We're going to see a whole new world of user-interface metaphors with Core Animation."
Shipley predicts that Core Animation will kick-start a new era of interface experimentation, and may lead to an entirely new visual language for designing desktop interfaces. The traditional desktop may become a multilayered three-dimensional environment where windows flip around or zoom in and out. Double-clicks and keystrokes could give way to mouse gestures and other forms of complex user input.
The Core Animation "revolution" is already starting to happen. Apple's iPhone at the end of the month will see people using their fingers to flip through media libraries, and pinching their fingers together to resize photos.
The "Delicious Generation" is a breed of young developers who embrace interface experimentation and brash marketing. The term "Delicious Generation" was meant as an insult, but they wear it as a badge of honor.
Shipley's initial release of Delicious, with its glossy, highly refined interface, gave birth to a new breed of developers dubbed the "Delicious generation." For these Mac developers, interface experimentation is one of the big appeals of programming.
Applications like AppZapper have taken traditional tasks (deleting application files) and added a fun layer of animation to the mix -- this isn't your father's rm command. Disco is a disc-burning program that features smoke animation that reacts to sound -- blow into the mike, and the smoke blows away.
But creating animations like those in AppZapper or Disco is presently a complex and difficult task.
Leopard's Core Animation will change that, giving the next generation of developers a set of tools that will allow them to easily create new, nonstandard, interactive interfaces.
Some Mac developers are so excited by Core Animation they are going to drop support for previous versions of their software, which won't display their new interfaces on older versions of OS X.
"Our customers are going to have to upgrade their OS if they want to upgrade our program," Shipley says. "We realized any app we released based on Tiger (the current version of OS X) was going to look really pathetic when Leopard came out."
After getting a peek at Delicious Library 2, which hasn't yet been shown publicly, Mac programmer Scott Stevenson wrote that the program is "going to be a major eye-opener for Mac developers. This last point is important. Whatever you thought was state-of-the-art in Tiger is going to be blown to bits with all of the new API (application programming interface) available in Leopard."
Allan Odgaard, the developer of TextMate, says the next version of the text editor will only work on Leopard.
Because of Apple's nondisclosure agreements, most of the Mac developers approached by Wired News declined to discuss Core Animation or any interface changes they might be planning. None would provide screenshots.
The shift toward nonstandard interfaces isn't necessarily new. Kai's Power Tools, a set of plug-ins for Adobe Systems' Photoshop, featured what was at the time a revolutionary interface for editing image files. But the developer, Kai Kruse, was too far ahead of his time -- the majority of Mac users disliked the novel interface, which broke with conventions and ignored Apple's Human Interface Guidelines, or HIG.
The HIG is a set of rules published by Apple to ensure consistency across different applications. It's become the bible of Mac programmers.
However, with the growing popularity of "widgets" -- mini, task-specific applications for checking sports scores or finding cheap gas -- users are starting to accept novel interfaces. And they often expect the sort of highly graphical interaction that Apple's new Core Animation enables.
Monday, May 7, 2007
Split-Screen Tech Doubles Computer Use

New technology from Microsoft Research India in Bangalore could end the waiting game in offices with limited computers. Researchers are developing software that splits a computer screen in two halves, each side with its own operating system, desktop, applications, cursor and keyboard.
The technology could help small businesses and schools in developing countries reduce their computer costs and could even work in homes where more than one family member needs access.
"At the most basic level, we are allowing two users to work completely independently on the same machine, sharing both the processor and monitor," said Udai Singh Pawar, assistant researcher and project leader.
The innovation could salvage time otherwise wasted as one person waits to use a computer.
The working prototype uses a standard 19-inch screen, but can also work on 15 and 17-inch screens, which are more common at small businesses in India, said Pawar. The solution is software-based and does not require that a company trade their current PC for a new one. They would simply need to install the software and plug in a second mouse and keyboard.
The software enables two sessions of Windows to share the computer's processor. It also divides the screen in half, running one operating system on the left and the other on the right. If necessary, a user can move her cursor to the other half of the screen, which opens the door on sharing and collaborating with documents.
The two workers can also open up a third area on the screen — Pawar calls it an "airlock" — where the users can place shared files and resources. Pawar said that the system is optimal for tasks such as data entry and simple word processing, where screen real estate is not a problem. It can also work well in scenarios where the two people need to share data across their screens or work on documents together.
"If we have a shared display we have a shared point of focus," said Jeremy Birnholtz, a postdoctoral fellow with the Knowledge Media Design Institute at the University of Toronto.
But sharing in such close proximity could also bring up permission problems, he said.
"There's a trickiness to the boundaries in terms of what's mine and what's yours. How much access do you have to it? Or am I still the owner?" he said.
The Microsoft team will be investigating these issues and more in field trials scheduled to start in mid-May, so it could be a couple of years before the split screen is bringing coworkers together.

Saturday, May 5, 2007
What's The Greatest Web Software Ever Written?
Enter the Apache Web Server. "There wasn't an established Web server when it first came out," recalls Brian Behlendorf, co-founder with Roy Fielding of the Apache Group. Most early Web site managers used NCSA HTTPd, the early Web server developed by Robert McCool at the National Center for Supercomputing Applications (the source of the Mosaic browser). But the HTTPd server didn't scale smoothly as traffic mounted, it couldn't easily manage more than one Web site at a time, and it needed more APIs--a lot more--to interface with back-end systems. "The first Web sites were having common problems with the amounts of traffic," recalls Behlendorf.
The original NCSA HTTPd was improved by a virtual community of Web managers that became known as the Apache Group. In its second version, the Apache Group tore apart the server and rebuilt it as a series of modules, which became the Apache Web Server 2.0. (The latest version is Apache 2.2.4.) The new design let different contributors work on different parts of the server without holding up one another. The server advanced quickly.
In 1998, IBM announced it was dropping its own Web server development and contributing to the Apache Group. IBM said it would include Apache with its WebSphere middleware. The move had the effect of winning acceptance for open source code in business and drawing attention to Apache as it was pitted against its chief rival, Microsoft's Internet Information Server.
The Apache Group was one of the first open source projects to develop a product that competed successfully with commercial code. Apache's market share has fallen off its peak of just under 70% of active sites on the Web, but Apache still powers 66.9 million Web sites to Microsoft IIS's 35.3 million, according to Netcraft's April report. Support for Apache comes from a variety of commercial sources, including IBM and Covalent Technologies.
Apache was a volunteer project in which skilled developers exchanged ideas, parceled up work, eliminated bugs, and committed finished code to a central code management system--Behlendorf hosted the original contributions on his own computer. Apache addressed the user scalability problem and moved on to develop a tight linkage with PHP, the scripting language that would become dominant on the Web, tying disparate elements of sites together and supplying the small applications that tied databases to Web pages.
The quick access to data meant pages could be refreshed with the latest information or tailored to the individual with specialized data. Apache was linked tightly to an early open source database, MySQL, a system originally designed for fast reading and serving of data rather than data storage, a property suited to the new Web.
In its example of timeliness, innovative technology, volunteer development, and ability to match commercial competitors, the Apache Web Server set a standard that many have sought to emulate but few have matched. Most of all, it enabled "the network effect," where the concerns and passions of one person connected with those of others and resulted in the construction of new Web sites, swift communications, and virtual communities by an endlessly diverse set of builders.
Sunday, April 29, 2007
Windows Vista Task Dialog
We developers are, on the whole, a lazy breed. It goes with the territory, I think. And I'm not talking about common low-grade laziness here. I'm referring to total commitment laziness: being prepared to put in an extraordinary amount of effort to avoid doing something.
The canonical test for this is to make someone perform a task that will take 8 hours of repetitive work to perform in Excel. The non-programmer will just do the work. But a natural developer will be too lazy to do the work. Instead he will spend 7.5 hours writing a program to automate the task.
And even if the task would only have taken 3 hours, a real developer will still spend 7.5 hours writing an automated version. This transcendental form of laziness - being prepared to expend more effort than necessary simply because you're too lazy to do the work - is what I'm talking about.
For the most part, it's a Good Thing: the ability to notice and avoid unnecessary work is a useful trait in an engineer. However, it has its downsides.
When Laziness Goes Bad
While laziness in the name of avoiding repetition is all well and good, a mindless preference for the path of least resistance is not so useful. Take the MessageBox API for example - if you need to get certain kinds of input from the user, MessageBox has its attractions. Particularly when you look at your options this way:
- Devise a dialog especially for the task at hand. Prototype it. Run usability tests, focus groups, etc. Employ graphic designers to create a visual design for the dialog. Get developers to implement the dialog and the code behind it. Re-employ graphic designers to explain to the developers exactly how they failed to execute on the exquisitely-crafted design vision. Get developers to re-implement the dialog. Iterate the last couple of steps until it looks right and works, or until nobody cares any more. Ship it!
- Call the MessageBox API. Ship it!
To the naively lazy mind, the second option looks much more appealing. The problem is it can result in a pretty crummy user experience. Here's a particularly egregious but not exactly unusual example:

If you don't see the problem, then I'm guessing you're a developer. ;-) (Hint: what exactly am I agreeing to if I click Yes at this point?)
Poor wording notwithstanding, this style of interaction is always likely to be sub par. The buttons labels bear no direct relationship to what will happen when you click on them. (I'm guessing that the first panel in this comic from usability site OK/Cancel is poking fun at this widespread poor design practice.)
Enlightened Laziness
Anyone truly committed to laziness will find this unacceptable. Every time such a dialog appears, we are making the user expend some mental effort to map between the generic Yes/No labels and the outcome. If your software gets used a lot, the sheer volume of unnecessary work this generates is unbearable. Oh! The humanity!
Clearly the efficient (i.e. lazy) solution is to provide a UI that doesn't require the user to translate Yes and No into Save and Discard. We should just make the buttons say what they mean.
While in the long run, making life easier for our users will easily balance out the initial effort required at development time, the mere presence of extra effort at any stage will surely set your lazy senses tingling. In an ideal world, we could offer the improved user experience without having to write a dialog from scratch. Wouldn't that just be heaven?
Lazy Nirvana
Enter Vista's new Task Dialog.
Just like MessageBox, the Task Dialog saves you from building a custom dialog from scratch. But it gives you the option of building a better dialog than you can with MessageBox.
It still lets you build one exactly like MessageBox if that's what you want...

OK, so it's not exactly the same. It's a slightly different icon. We've lost the redundant disabled close button. Also, notice how the grey section at the bottom has a slightly darker line at the top, which is rounded off at the edges. And more interestingly, we have a main question and a note beneath it. This lets you ask the question succinctly, and then provide a slightly more verbose explanation beneath if necessary.
But that's not terribly interesting as it still suffers from the same basic problem as the previous dialog: meaningless button labels. That's what you get if you use the basic TaskDialog API - a slight upgrade on the basic message box.
But with only a little more work we can use TaskDialogIndirect. This API offers all sorts of variations on style, including the ability to use Command. Here are the results:

There are a variety of options on offer. You can use normal buttons if you prefer. You can show a progress bar. You can add in a collapsible section to contain more detailed information for users who would like to see it without cluttering things up for everyone else. You can add radio buttons and a checkbox if you really must. And you can embed hyperlinks in any of the text fields.
Obviously you wouldn't want to switch all of these features on at once. Just pick the options that make sense for your scenario. And you'll never want to use MessageBox again!
Wednesday, April 25, 2007
Next-generation, high-performance processor unveiled
The prototype for a revolutionary new general-purpose computer processor, which has the potential of reaching trillions of calculations per second, has been designed and built by a team of computer scientists at The University of Texas at Austin.
The new processor, known as TRIPS (Tera-op, Reliable, Intelligently adaptive Processing System), could be used to accelerate industrial, consumer and scientific computing.
Professors Stephen Keckler, Doug Burger and Kathryn McKinley have been working on underlying technology that culminated in the TRIPS prototype for the past seven years. Their research team designed and built the hardware prototype chips and the software that runs on the chips.
"The TRIPS prototype is the first on a roadmap that will lead to ultra-powerful, flexible processors implemented in nanoscale technologies," said Burger, associate professor of computer sciences.
TRIPS is a demonstration of a new class of processing architectures called Explicit Data Graph Execution (EDGE). Unlike conventional architectures that process one instruction at a time, EDGE can process large blocks of information all at once and more efficiently.
Current "multicore" processing technologies increase speed by adding more processors, which individually may not be any faster than previous processors.
Adding processors shifts the burden of obtaining better performance to software programmers, who must assume the difficult task of rewriting their code to run well on a potentially large number of processors.
"EDGE technology offers an alternative approach when the race to multicore runs out of steam," said Keckler, associate professor of computer sciences.
Each TRIPS chip contains two processing cores, each of which can issue 16 operations per cycle with up to 1,024 instructions in flight simultaneously. Current high-performance processors are typically designed to sustain a maximum execution rate of four operations per cycle.
Though the prototype contains two 16-wide processors per chip, the research team aims to scale this up with further development.
Wednesday, April 4, 2007
From root kit to boot kit: Vista's code signing compromised
At the Black Hat Conference in Amsterdam, security experts from India demonstrated a special boot loader that gets around Vista's code signing mechanisms. Indian security experts Nitin and Vipin Kumar of NV labs have developed a program called the VBootkit that launches from a CD and boots Vista, making "on the fly" changes in memory and in files being read. In a demonstration, the "boot kit" managed to run with kernel privileges and issue system rights to a CMD shell when running on Vista RC2 (build 5744), even without a Microsoft signature.
Experts say that the fundamental problem that this highlights is that every stage in Vista's booting process works on blind faith that everything prior to it ran cleanly. The boot kit is therefore able to copy itself into the memory image even before Vista has booted and capture interrupt 13, which operating systems use for read access to sectors of hard drives, among other things.
As soon as the NT Boot sector loads Bootmgr.exe, VBootkit patches the security queries that ensure integrity and copies itself into an unused area of memory. Something similar is done with the subsequent boot stages of Winload.exe and NTOSKrnl.exe so that the boot kit is running in the background when the system is finally booted; at no time are Vista's new security mechanisms, which were intended to prevent unsigned code from being executed with kernel privileges, set off.
Nitin and Vipin Kumar told heise Security in an interview that this approach would also work on Vista Final (build 6000). They said that the only thing that stopped them from subsequently porting their kit to the final version of Vista was the cost. In their presentation, the experts also showed the detailed results of their analysis of Vista's booting process.
A very time-consuming debugging process using the Bochs PC emulator was required to determine the memory areas and checksums that have to be patched because they are different with every Vista build. The two Indian experts said that it took them several weeks to go through all of the individual steps in the booting process the first time. They feel that, based on analysis, VBootkit would easily be able to patch, for instance, signed drivers on the fly and get around integrity checks. And since it runs with kernel privileges, it could in principle do everything the kernel can.
For example, it might also be possible to get access to HD video content protected by DRM on the path between the data carrier and the video card. Like the attack against Cisco NAC that was also presented at the Black Hat Conference, VBootkit makes it clear that those who control hardware ultimately also control the software that runs on it. The two experts remind everyone that although Microsoft is able to raise the bar higher for boot kits by adding on additional queries and increasingly clever algorithms, the only way completely to stop unsigned program code from being executed is by using TPM hardware.
Saturday, March 31, 2007
PS3 vs XBOX 360 vs Wii
Pricing | |||||
| Xbox 360 | PlayStation 3 | Wii | ||
Low-end model | $299 | $499 | n/a | ||
Mainstream model | $399 | $599 | $249 | ||
Microprocessor | |||
Feature | Xbox 360 | PlayStation 3 | Wii |
Processor type | 3.2 GHz PowerPC with 3 dual-threaded processor cores | 3.2 GHz Cell processor with 7 single-threaded synergistic processing units cores (not directly comparable to Xbox 360 processor cores) | 729 MHz IBM Broadway processor with 5 execution units |
Graphics processor | |||
Feature | Xbox 360 | PlayStation 3 | Wii |
GPU Type | ATI-based custom processor | NVIDIA-based RSX "Reality Synthesizer" | ATI Hollywood processor |
Clock speed | 500 MHz | 550 MHz | 243 MHz |
Video RAM | Up to 512 MB GDDR3 system RAM (700 MHz) plus 10 MB embedded DRAM (eDRAM) frame buffer | 256MB GDDR3 (700MHz) | 24 MB of system RAM (486 MHz) plus 3 MB of embedded DRAM (eDRAM) |
Video memory bandwidth | 21.6 GBps to system RAM | 22.4 GBps | 3.9 GBps |
Video | |||
Feature | Xbox 360 | PlayStation 3 | Wii |
Native video resolutions | 16:9 widescreen 720p, 1080i, 1080p (will downsample to standard definition) | 480i, 480p, 720p, 1080i, 1080p (will downsample to standard definition) | 853 x 480 (480p) in widescreen or 4:3 aspect ratio |
Component HDTV output | Yes | Yes | No (does support 480p EDTV) |
HDMI output | No | Yes, but HDMI cable not included | No |
Cables included | Composite and component | Composite only | Composite only |
Audio | |||
Feature | Xbox 360 | PlayStation 3 | Wii |
Sound output | Multi-channel, up to 256 discrete channels | 5.1 channel Dolby surround sound | Dolby Pro-Logic II |
System memory | |||
Feature | Xbox 360 | PlayStation 3 | Wii |
Main System RAM | 512 MB GDDR3 RAM (700 MHz), shared with GPU | 256 MB XDR RAM (3.2GHz) | 64 MB GDDR3 RAM |
Memory bandwidth | 22.4 GBps | 25.6 GBps | 1.9 GBps |
Storage | |||
Feature | Xbox 360 | PlayStation 3 | Wii |
Optical drive | 12X dual-layer DVD; HD-DVD drive offered as $200 add-on (for movies only). | Blu-Ray | Proprietary optical drive |
Supported optical formats | Xbox DVD, DVD-Video, DVD-ROM, DVD-R/RW, DVD+R/RW, CD-DA, CD-ROM, CD-R, CD-RW, WMA CD, MP3 CD, and JPEG Photo CD (HD-DVD supported with optional HD-DVD drive). | BD, BD-ROM, Blu-ray Disc, CD, CD-DA, CD-DA (ROM), CD-R, CD-RW, DualDisc (audio side), DualDisc (DVD side), DVD+R, DVD+RW, DVD-R, DVD-ROM, DVD-RW, PlayStation 2 DVD-ROM, PlayStation 3 BD-ROM, PlayStation 3 DVD-ROM, PlayStation CD-ROM, PlayStation2 CD-ROM, SACD HD, and SACD Hybrid (CD layer). | Wii discs (both 4.7 GB single layer and 8.5 GB dual layer), Nintendo GameCube discs. Not DVD compatible. |
Hard drive | 20 GB removable hard drive in premium version of console only. | 20 GB or 60 GB replaceable hard drive. | No. (Does include 512 MB of internal flash memory for storing saved games, downloaded games, and other data). |
Memory card ports | 2 Xbox 360 Memory Unit ports (64 MB or 512 MB). | None in 20 GB version; 60 GB version includes flash memory card reader (supports Memory Stick, Compact Flash and SD/MMC). | 1 SD card slot, 2 GameCube memory card ports. |
USB 2.0 ports | 3 | 4 | 2 |
Networking | |||
Feature | Xbox 360 | PlayStation 3 | Wii |
Ethernet | 1 port (100 Mbs) | 1 port (1 Gbps) | No; optional with USB-based add-on. |
Wireless networking | No. 802.11g is optional ($100) on both models. | Bluetooth 2.0, Bluetooth controller interface; Wi-Fi is available only on 60 GB version. | Integrated Wi-Fi for networking and Internet access; Bluetooth 2.0 for controllers. |
Online service | Pervasive online experience through Xbox Live Silver (free), Xbox Live Gold; includes ability to download full-length movies and TV shows, many in HD format. | Free but limited PlayStation Network with micropayment system; includes a Web browser. Individual game makers can choose to charge for online services. | Wii Network online service includes online shopping, Web browsing, messaging, and other features. |
Multimedia features | |||
Feature | Xbox 360 | PlayStation 3 | Wii |
Full Media Center Extender 2.0 experience | Yes | No | No |
Live and recorded TV support (including HDTV) | Yes | No | No |
Supports streaming video from PCs | Yes | No | No |
Supports streaming audio from PCs | Yes | No | No |
Supports streaming photo slideshows from PCs | Yes | No | No |
Plays content from portable media players, including iPod and Sony PSP, and with digital cameras | Yes. (Includes supported for protected WMA files, but cannot play protected AAC files.) | Partial device support only; cannot play protected WMA or AAC files. | No |
Displays content from portable storage devices | Yes | Partial | Photos, MPEG and Quicktime movies, and MP3 music files from SD storage only. |
Plays DVD movies | Yes | Yes | No |
Upscales DVD movies to HD resolutions, including 1080p | Yes | No | No |
Supports next-generation DVD formats | No. Can play HD-DVD movies with optional $200 add-on. | Yes. Blu-Ray drive included with console. | No |
Controllers | |||
Feature | Xbox 360 | PlayStation 3 | Wii |
Number of supported controllers | 4 wireless (plus wired controllers via USB), controllers will work with Windows PCs as well. Controllers feature removable AA batteries and can be replaced with removable rechargeable battery packs. | 7 wireless and/or wired controllers total. PS3 controller does not feature a removable battery. | 4 wireless Remote Controllers. Also supports Nunchuk add-on controller (attaches to Remote Controller and for many Wii games) Wii Classic Controller (also attaches to remote controller; for older, downloadable games), and up to four legacy GameCube controllers. |
Rumble functionality | Yes | No | No |
Motion sensor functionality | No | Yes | Yes |
Compatibility | |||
Feature | Xbox 360 | PlayStation 3 | Wii |
Compatible with previous generation games | Partial compatibility with original Xbox titles. (Only some original Xbox titles work, more are being added slowly over time.) | Near-complete compatiblity with PlayStation and PlayStation 2 games in North America and Japan only - European version of console offers just partial compatibility with PS and PS2 titles. | Plays all GameCube game titles (but doesn't include GameCube controller or memory card); Nintendo offers some downloadable versions of Nintendo NES, SNES, and N64 titles, as well as NEC TurboGrafix-16 and Sega Genseis titles, for $5 to $10 each via online service. |
Improves legacy game experience | Yes. Original Xbox games are upscaled to HDTV resolutions and some games (like Halo 2) are graphically improved. | No | Some downloadable games appear to offer subtly enhanced graphics when compared to originals, but are otherwise identical. |

