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:

  1. 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!
  2. 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!