Inside the World's Greatest Keyboard

From the satisfying click of its keys to its no-nonsense layout and solid steel underpinnings, IBM's 24-year-old Model M is the standard by which all other keyboards must be judged.

Inside IBM's Model M Keyboard

Click here for full-size image
Chip Taylor

IBM's Model 5150 PC, released in 1981, was a classic, perhaps the computer most responsible for launching the PC revolution. Sadly, however, its keyboard did not live up to that standard. This 83-key model was IBM's first, and critics hated it, complaining about its awkward layout and nonstandard design. Stung by the criticism, IBM assembled a ten-person task force to craft a new keyboard, according to David Bradley, a member of that task force and of the 5150's design team. Their resulting 101-key design, 1984's Model M, became the undisputed bellwether for the computer industry, with a layout that dominates desktops to this day. As we peek under the hood of this legend, you'll soon see why many consider the Model M to be the greatest keyboard of all time.

Meet the Model M

Click here for full-size image

This is my keyboard. It's just a few months shy of 22 years old, and I use it every day.

The first thing that may strike you about the Model M is the layout: It's so normal. There's no pesky "Windows" key here; nor are there buttons to turn your computer off, play a CD, or start your car. Just the basics, as IBM defined them 24 years ago. Some would say its only flaw is the prominent placement of the Caps Lock key (in lieu of "control" on earlier keyboards). But it's a minor error compared with the modern keyboard's multitude of sins

Beneath the Keycaps

Click here for full-size image

When designing the Model M, IBM engineers thought ahead. Almost every key on the keyboard has an easily removable keycap that allowed the user--or IBM--to easily change the layout or color of the keyboard. This was especially important for IBM's international keyboard releases, which incorporated subtle layout differences from the U.S. version. The keycaps are also durable; the label on each key is molded into the plastic itself, ensuring that it wouldn't wear off with use.

Cable Flexibility

Click here for full-size image

As with the keycaps, the Model M's cable design supports modular extensibility. One 6-pin port on the back of the keyboard (left) allows for a number of configurations, from the traditional 5-pin AT connector seen here (right), to the PS/2 connector, and various IBM terminal connectors. Any compatible connector upgrade is only a new cable away.

The Flip Side

Click here for full-size image

The Model M provides two sturdy, retractable feet on the base of the unit to change the operational angle of the keyboard. The speaker grille you see here is a holdover from an earlier terminal keyboard mold that was used with the Model M--the M contains no speaker.

22 Years of Service

Click here for full-size image

As you can see by this label, IBM manufactured my Model M on August 13th, 1986. That's almost 22 years ago, and the keyboard still gets daily use (I even wrote this article with it). It still feels and sounds just as good as any newer Model M I've used--a powerful testament to its durability and relevance. Stop for a second and consider how many 22-year-old computer parts you still use on a daily basis. Exactly.

Under the Hood

Click here for full-size image

Every keyboard hides a dirty secret: a years-long accumulation of dust, dirt, hairs, crumbs, and whatever else fell between the key cracks. But after splitting open the case, I was surprised at how clean my Model M was, especially when compared with a particularly nasty Apple II+ keyboard. The Model M's design ensures smooth operation even when dirty .

Buckling Springs

Click here for full-size image

They call IBM keyboards "clicky" for a reason: With every keystroke, the keys produce a satisfying click-thunk-click via a patented mechanism called the "buckling-spring actuator." Every key press compresses the key spring until it suddenly snaps against the side of a black plastic cylinder (seen here), producing the "click" sound. Meanwhile, the spring, thus compressed, pushes a tiny pivoting rocker beneath each key that registers the key press on a membrane below.

A Durable Design

Click here for full-size image

The Model M owes its incredible life span not only to its buckling-spring design, but also to the fact that each plastic key covers the only hole leading to the switch below, which in turn is covered by a rubber membrane, making it very hard for dust, dirt, or even liquid to reach the operational core of the keyboard. But cleaning an M is easy. Even under the force of a powerful vacuum cleaner, the small springs you see here don't budge--they're thankfully attached to elements beneath each key.

Built Like a Tank

Click here for full-size image

The Model M is a hefty piece of hardware. Fully assembled, my unit weighs over 5 pounds. A large portion of that weight comes from the solid steel back plate on the bottom of the keyboard assembly (seen here removed from its plastic chassis and flipped over). The weight afforded by the steel is nice; it prevents the unit from sliding around while you're typing. If necessary, the Model M can also function as a battering ram or makeshift ballistic shield.

Also, that's the M's controller board sitting atop the base. You'll see the other side of the controller on the next slide.

The Man Behind the Curtain

Click here for full-size image

Within every Model M is a tiny computer--a Hitachi 6805 microprocessor--that encodes key presses and interfaces with your PC. This board connects to the keyboard assembly via two thin plastic ribbon cables (not pictured), while the big black connector to the upper left receives the 6-pin external keyboard cable we talked about earlier. The white 4-pin connector to the right powers the Num Lock, Caps Lock, and Scroll Lock indicator LEDs, and the braided cable to the far left is a grounding wire.

Plastic Armor

Click here for full-size image

Another important component of the Model M's durability is its thick, rugged plastic shell, seen here devoid of any contents. It'll take a sizable beating without cracking, and it won't fly away in a breeze, even when empty. When you put all its components together, the Model M is a formidable keyboard that will serve a user reliably for years.

A Pale Imitation

Click here for full-size image

Let's take a look at the Model M's competition. Here we have a modern, generic, $1-bill-of-materials, Chinese-made keyboard, the kind they toss out as confetti during parades and give away with PC clones as mere afterthoughts in a mouse-centric world. Compared with the tanklike Model M, this fragile, 1.5-pound keyboard is a lightweight (you could easily break it over your knee). Like most modern keyboards, it includes several extraneous keys and buttons that either annoy the seasoned typist or threaten your computer's stability because of the drivers required to make them work.

The No-Click Solution

Click here for full-size image

Unlike the Model M, this keyboard's keys snap into place over silicone-rubber dome switches. The keyboard is very quiet, which can be a plus in certain environments, but it won't last nearly as long as keyboards built on the buckling-spring design. Dome-switch keyboards are also much less expensive to produce than keyboards with more complicated mechanical switches, which is why they dominate the keyboard market today.

Hardly Bulletproof

Click here for full-size image

Here's a look inside a typical modern keyboard. Beneath each key lies a free-floating silicone dome switch that can easily wear out over time or degrade in harsh environments. When depressed, the dome buckles and pushes together two contact-laden plastic membranes, completing the circuit and registering a key press.

For many users, a keyboard like this is probably good enough. After all, if it wears out, it's cheap to replace. But for serious typists, or those who simply appreciate a solid keyboard beneath their fingers, an IBM Model M is, without question, the only way to go.

10 reasons why open source makes sense on smart phones

Open source brings a host of benefits to the mobile market, starting with cost savings. But as Jack Wallen explains, the advantages go much further - from better security to more customization options to more prolific application development.


The mobile industry is getting really interesting. We have finally reached a point where the smart phone is actually smart and the average user can gain serious benefits from its usage. How did this come about? In a word: Competition.

When the iPhone arrived on the scene, users scrambled to get their hands on Apple’s sexy gadget, and competitors scrambled to make a device that would have the same appeal. It’s taken a while, but the competition has arrived. Android phones, Palm Pre, Blackberry Bold — they are all outstanding entries into this market. But two of those entries will, in my opinion, outshine the rest for one simple reason — open source.

1: Open standards

With the iPhone, you do what Apple says, you follow Apple standards, and you use only Apple-approved apps (unless you jailbreak your phone). With both the Android-based phones and the Palm Pre, open standards are not just a bullet point or buzz phrase — open standards will be adhered to. And this appearance will have lasting effects. Software will be easier to develop, Web sites will load as expected (and will be easier to develop for the mobile device), and hardware accessories will be more readily available.

2: More applications

As it stands, the iPhone is the king of the app. It seems for just about everything, Apple has an “app for that.” But as the Android phones and the Pre begin to be more widely used, apps for those phones will multiply exponentially. Why? First, the application development process won’t be crippled by the same acceptance process Apple has. Anytime you want to develop an application for something, Apple will strike you down if it is something already native to the iPhone. You want a different browser on your iPhone? No luck. I look for mobile versions of Firefox and Chrome to both appear on the Pre and the Android-based phones. This will continue until one (or both) app stores surpass the Apple app store.

3: Security

Sooner or later, security is going to become a big issue with mobile computing. Apple has already shown that it can be painfully slow at releasing updates for the iPhone. Because of the open source nature of the competition, updates will not be so slow to arrive. So when a security hole or flaw is found, the update will find its way to the end user much faster. Of course, it’s not really just about the updates. The very foundation of the Pre and the Android phone is Linux based, so it’s going to enjoy a more fundamental security than, say, any of the Windows Mobile phones available. And although mobile phone security has yet to really become a widespread issue, with smart phones becoming the norm, it will be soon enough.

4: Customization

I have been an iPhone owner since the first gen device. One of my biggest beefs with this phone is how little you can customize it. It’s not theme-able. For a device that is supposed to be the pinnacle of hip, this is a setback. With the open source version of the smart phone, you can be sure you will be able to theme and customize it. Sites have already started appearing, such as PIMP My Pre. I know this isn’t a deal breaker for people like IT professionals. But the average user (those who make up the largest demographic of smart phone users) want to be able to make their phones look just the way they want. Will this make the smart phone work better? No. But this sort of functionality will draw users who are interested in pimping out their phones. The Facebook generation will comply.

5: Connectivity

I’m not talking 3G, EDGE, or Wifi — I’m talking about connectivity to your PC. Synching. With the iPhone, you can synch with iTunes and that’s pretty much it. If you’re willing to sign up for Mobile Me, you can then have a roundabout way of synching to your Gmail account. But what about anyone using something outside of iTunes? The Pre will show up on your machine as a standard mass storage device, so drag and drop will be seamless. Because of this, the open source community will be working much magic with various synching options. It will be only a matter of time before the Pre is synching with Evolution and Amarok (or Rhythmbox). And synching will work on nearly any platform. So with the Pre and the Android phones, you will be able to synch with OS X, Windows, and Linux. Cross-platform goodness. Top that Apple and Windows Mobile!

6: Cost

I am already planning a migration over to either an Android-based phone or a Pre as soon as AT&T opens its arms to one (which should be soon). One reason that appeals to me at the moment is cost. The total cost of ownership over a two-month period for the iPhone 3G is $3,799. The TCO for the Android G1 is $3,149. The TCO for the Pre is $2,599. The difference between the iPhone and the Pre is $550, which is approximately $22 per month cheaper. This will allow me to have more than one smart phone in the family. (The wife will be happy about that fact.) And in our current economy, any savings is good savings. How are they able to keep this cost down? No OS upcharges. Why? Open source.

7: Multitasking

This is one of the aspects about the iPhone that bothers me the most. If I am on the EDGE network and I accidentally click the mail button, I can pretty much give up on using my phone for a bit. And I have had a number of occasions when an alarm has canceled a phone call. The iPhone simply can’t multitask. Both the Android and the Pre can. You want to have more than one application open at once, feel free if you’re on the Pre. If you’re on the iPhone, forget it. And let’s face it — we are a society of multitaskers. So why would you want to use the DOS of smart phone OSes? The operating system powering both the Pre and the Android is Linux, and it was created for multitasking and networking.

8: Push Gmail

Most of the Google applications are built right into the Pre OS. Because of this, there will not only be seamless integration but you will be able to have your Google mail delivered to your phone without having to do a single thing. No more having to open up the mail client and wait for your Gmail to download. Now you open up that client and the mail is already there. This feature will also work with the Android phones. Of course, you can have your iPhone check your Gmail frequently so that it seems like Push. And an open source Gmail API (Web Storage Portability Layer) has already been developed. Because of this, the Pre and the Android will enjoy a much richer integration with Gmail. Before long, one (or both) of these phones will have seamless integration with tools like eGroupware and Zimbra.

9: Developers

Do you remember that Verizon commercial where the spokesperson has a massive amount of people with him to represent the Verizon network? You can apply the same analogy to the developer network for the Pre and the Android. The sum total of open source developers across the globe is fairly staggering. Imagine having that collective whole working to create interesting, helpful applications, as well as bettering the total experience with the phone. That is what awaits the smart phone based on open source technology. This model has proven effective on the Linux operating system. When a bug is found, it is patched quickly and efficiently. The same thing should hold true with the Pre and the Android. When you have that many people working toward a common goal, that goal will be reached in a hurry. And you can imagine how the collective open source development community would love to take down the behemoth known as Apple.

10: Creativity

How long do you think it will be before the open source community has created a super-light version of Apache to run on the Pre? Imagine being able to carry your own Web server around with you. How much geek cred will that bring? And it won’t end there. The open source community will find many creative ways to use the Palm Pre. Mail servers, CMSes, network security tools — the possibilities are endless! Soon, you’ll probably see a standard Linux desktop on the device. Hopefully, if someone does manage to do that, they will at least leave the phone feature intact.

Google Voice dialing up for launch

Google is preparing to launch a new service called Google Voice that is built with technology obtained through its 2007 acquisition of Internet telephony company GrandCentral. The Google Voice service gives users a single phone number that can seamlessly route calls to their existing phones. It has its own built-in voicemail service that can be accessed from any phone or through a browser, with GMail-like archiving features for audio messages.


The Google Voice service launched in March for closed testing with a limited audience that consisted of existing GrandCentral users. Google introduced a number of highly impressive features such as automatic message transcription and free SMS delivery. The transcription feature will convert voicemails to text and make them searchable. The service can also automatically forward voicemail transcripts directly to your preferred e-mail account.

There are signs that Google is preparing to open the service to a broader audience. Reports indicate that Google has recently obtained over one million new phone numbers from backbone operator Level 3. PC World speculates that the number grab could be a prelude to the full public launch of Google Voice, but it was unable to get official confirmation from the search giant. There are also reports that Google will offer number portability, enabling consumers to move their existing phone numbers to Google's infrastructure.

Ars recently began testing Google Voice as part of the closed beta program. The service is remarkably powerful and easy to use. It has a number of killer features, such as support for switching between lines during the middle of a call and recording incoming calls by simply pressing a button. Recorded calls and voicemails can be heard directly in the browser through a streaming playback interface and can also be downloaded as MP3 files.

It also offers a simple scheduling system that can be used to control when calls will be routed to specific numbers. For example, you could configure it to direct calls to your work phone during the day and your home phone on evenings and weekends. Google Voice also integrates with your Google address book and allows you to configure different greetings and forwarding destinations for various groups. Call screening is supported with the ListenIn feature, which allows you to hear a voicemail as it is coming in and enter the call by pressing the star key.

The service is off to a good start and already feels relatively mature despite the fact that it hasn't opened broadly to the public yet. Although we're strongly convinced that Google Voice has the potential to be a winner, there are some limitations that detract from its current appeal. The most disappointing bit is that call recording doesn't work on outgoing calls at the present time.

The user interface is consistent with the rest of Google's ecosystem, so it's easy to navigate and very search-centric. The transcription functionality is far from perfect, but it works well enough to consistently convey the gist of a message, if not the exact words. It's a compelling addition to Google's lineup and has the potential to get a lot more interesting as Google integrates its capabilities into its Android smartphone platform.

MAC OS Keyboard Shortcuts

A keyboard shortcut is a way to invoke a function in Mac OS X by pressing a combination of keys on your keyboard.

To use a keyboard shortcut, or key combination, you press a modifier key with a character key. For example, pressing the Command key (the key with a symbol) and the "c" key at the same time copies whatever is currently selected (text, graphics, and so forth) into the Clipboard. This is also known as the Command-C key combination (or keyboard shortcut).

A modifier key is a part of many key combinations. A modifier key alters the way other keystrokes or mouse clicks are interpreted by Mac OS X. Modifier keys include: Command, Control, Option, Shift, Caps Lock, and (on portable Macs) the fn key.

Here are the modifier key symbols you can see in Mac OS X menus:

(Command key) - Sometimes called "Apple key"; on Apple keyboards this key also has an Apple logo ()
(Control key)
(Option key) - "Alt" may also appear on this key
(Shift key)
(Caps Lock) - Toggles Caps Lock on or off
fn (Function key) - Located in the lower left corner of built-in keyboards on portable Macs

Startup keyboard shortcuts

Press the key or key combination until the expected function occurs/appears (for example, hold Option during startup until Startup Manager appears, or Shift until "Safe Boot" appears). Tip: If a startup function doesn't work and you use a third-party keyboard, connect an Apple keyboard and try again.

Option Display all bootable volumes (Startup Manager)
Shift Perform Safe Boot (start up in Safe Mode)
C Start from a bootable disc
T Start in FireWire target disk mode
N Start from NetBoot server
X Force Mac OS X startup (if non-Mac OS X startup volumes are present)
Command-V Start in Verbose Mode
Command-S Start in Single User Mode


Finder keyboard shortcuts

Command-A Select all items in the front Finder window (or desktop if no window is open)
Option-Command-A Deselect all items
Shift-Command-A Open the Applications folder
Command-C Copy selected item/text
Shift-Command-C Open the Computer window
Command-D Duplicate selected item
Shift-Command-D Open desktop folder
Command-E Eject
Command-F Find any matching Spotlight attribute
Shift-Command-F Find Spotlight file name matches
Option-Command-F Navigate to the search field in an already-open Spotlight window
Shift-Command-G Go to Folder
Shift-Command-H Open the Home folder of the currently logged-in user account
Command-I Get Info
Option-Command-I Show Inspector
Control-Command-I Get Summary Info
Shift-Command-I Open iDisk
Command-J Show View Options
Command-K Connect to Server
Shift-Command-K Open Network window
Command-L Make alias of the selected item
Command-M Minimize window
Option-Command-M Minimize all windows
Command-N New Finder window
Shift-Command-N New folder
Option-Command-N New Smart Folder
Command-O Open selected item
Shift-Command-Q Log Out
Option-Shift-Command-Q Log Out immediately
Command-R Show original (of alias)
Command-T Add to Sidebar
Shift-Command-T Add to Favorites
Option-Command-T Hide Toolbar / Show Toolbar in Finder windows
Shift-Command-U Open Utilities folder
Command-V Paste
Command-W Close window
Option-Command-W Close all windows
Command-X Cut
Option-Command-Y Slideshow (Mac OS X 10.5 or later)
Command-Z Undo / Redo
Command-1 View as Icon
Command-2 View as List
Command-3 View as Columns
Command-4 View as Cover Flow (Mac OS X 10.5 or later)
Command-, (Command and the comma key) Open Finder preferences
Command-` (the Grave accent key--above Tab key on a US English keyboard layout) Cycle through open Finder windows
Command-Shift-? Access Mac Help
Option-Shift-Command-esc Force Quit Finder
Command-[ Back
Command-] Forward
Command-Up Arrow Open enclosed folder
Control-Command-Up Arrow Open enclosed folder in a new window
Command-Down Arrow Open highlighted item
Command-Tab Switch application--cycle forward
Shift-Command-Tab Switch application--cycle backward
Command-Delete Move to Trash
Shift-Command-Delete Empty Trash
Option-Shift-Command-Delete Empty Trash without confirmation dialog
Spacebar (or Command-Y) Quick Look (Mac OS X 10.5 or later)
Command key while dragging Move dragged item to other volume/location (pointer icon changes while key is held--see this article)
Option key while dragging Copy dragged item (pointer icon changes while key is held--see this article)
Option-Command key combination while dragging Make alias of dragged item (pointer icon changes while key is held--see this article)


Application and other Mac OS X keyboard commands

Note: Some applications may not support all of the below application key combinations.

Command-Space Show or hide the Spotlight search field (if multiple languages are installed, may rotate through enabled script systems)
Option-Command-Space Show the Spotlight search results window (if multiple languages are installed, may rotate through keyboard layouts and input methods within a script)
Command-Tab Move forward to the next most recently used application in a list of open applications
Shift-Command-Tab Move backward through a list of open applications (sorted by recent use)
Shift-Tab Navigate through controls in a reverse direction
Control-Tab Move focus to the next grouping of controls in a dialog or the next table (when Tab moves to the next cell)
Shift-Control-Tab Move focus to the previous grouping of controls
Command-esc Open Front Row (if installed)
Option-Eject Eject from secondary optical media drive (if one is installed)
Control-Eject Show shutdown dialog
Option-Command-Eject Put the computer to sleep
Control-Command-Eject Quit all applications (after giving you a chance to save changes to open documents), then restart the computer
Control Option-Command-Eject Quit all applications (after giving you a chance to save changes to open documents), then shut down the computer
fn-Delete Forward Delete (on portable Macs' built-in keyboard)
Control-F1 Toggle full keyboard access on or off
Control-F2 Move focus to the menu bar
Control-F3 Move focus to the Dock
Control-F4 Move focus to the active (or next) window
Shift-Control-F4 Move focus to the previously active window
Control-F5 Move focus to the toolbar.
Control-F6 Move focus to the first (or next) panel
Shift-Control-F6 Move focus to the previous panel
Control-F7 Temporarily override the current keyboard access mode in windows and dialogs
F9 Tile or untile all open windows
F10 Tile or untile all open windows in the currently active application
F11 Hide or show all open windows
F12 Hide or display Dashboard
Command-` Activate the next open window in the frontmost application
Shift-Command-` Activate the previous open window in the frontmost application
Option-Command-` Move focus to the window drawer
Command- - (minus) Decrease the size of the selected item
Command-{ Left-align a selection
Command-} Right-align a selection
Command-| Center-align a selection
Command-: Display the Spelling window
Command-; Find misspelled words in the document
Command-, Open the front application's preferences window (if it supports this keyboard shortcut)
Option-Control-Command-, Decrease screen contrast
Option-Control-Command-. Increase screen contrast
Command-? Open the application's help in Help Viewer
Option-Command-/ Turn font smoothing on or off
Shift-Command-= Increase the size of the selected item
Shift-Command-3 Capture the screen to a file
Shift-Control-Command-3 Capture the screen to the Clipboard
Shift-Command-4 Capture a selection to a file
Shift-Control-Command-4 Capture a selection to the Clipboard
Command-A Highlight every item in a document or window, or all characters in a text field
Command-B Boldface the selected text or toggle boldfaced text on and off
Command-C Duplicate the selected data and store on the Clipboard
Shift-Command-C Display the Colors window
Option-Command-C Copy the style of the selected text
Control-Command-C Copy the formatting settings of the selected item and store on the Clipboard
Option-Command-D Show or hide the Dock
Command-Control D Display the definition of the selected word in the Dictionary application
Command-E Use the selection for a find
Command-F Open a Find window
Option-Command-F Move to the search field control
Command-G Find the next occurrence of the selection
Shift-Command-G Find the previous occurrence of the selection
Command-H Hide the windows of the currently running application
Option-Command-H Hide the windows of all other running applications
Command-I Italicize the selected text or toggle italic text on or off
Option-Command-I Display an inspector window
Command-J Scroll to a selection
Command-M Minimize the active window to the Dock
Option-Command-M Minimize all windows of the active application to the Dock
Command-N Create a new document in the frontmost application
Command-O Display a dialog for choosing a document to open in the frontmost application
Command-P Display the Print dialog
Shift-Command-P Display a dialog for specifying printing parameters (Page Setup)
Command-Q Quit the frontmost application
Command-S Save the active document
Shift-Command-S Display the Save As dialog
Command-T Display the Fonts window
Option-Command-T Show or hide a toolbar
Command-U Underline the selected text or turn underlining on or off
Command-V Paste the Clipboard contents at the insertion point
Option-Command-V Apply the style of one object to the selected object (Paste Style)
Option-Shift-Command-V Apply the style of the surrounding text to the inserted object (Paste and Match Style)
Control-Command-V Apply formatting settings to the selected object (Paste Ruler Command)
Command-W Close the frontmost window
Shift-Command-W Close a file and its associated windows
Option-Command-W Close all windows in the application without quitting it
Command-X Remove the selection and store in the Clipboard
Command-Z Undo previous command (some applications allow for multiple Undos)
Shift-Command-Z Redo previous command (some applications allow for multiple Redos)
Control-Right Arrow Move focus to another value or cell within a view, such as a table
Control-Left Arrow Move focus to another value or cell within a view, such as a table
Control-Down Arrow Move focus to another value or cell within a view, such as a table
Control-Up Arrow Move focus to another value or cell within a view, such as a table
Shift-Command-Right Arrow Select text between the insertion point and the end of the current line (*)
Shift-Command-Left Arrow Select text between the insertion point and the beginning of the current line (*)
Shift-Right Arrow Extend text selection one character to the right (*)
Shift-Left Arrow Extend text selection one character to the left (*)
Shift-Command-Up Arrow Select text between the insertion point and the beginning of the document (*)
Shift-Command-Down Arrow Select text between the insertion point and the end of the document (*)
Shift-Up Arrow Extend text selection to the line above, to the nearest character boundary at the same horizontal location (*)
Shift-Down Arrow Extend text selection to the line below, to the nearest character boundary at the same horizontal location (*)
Shift-Option-Right Arrow Extend text selection to the end of the current word, then to the end of the following word if pressed again (*)
Shift-Option-Left Arrow Extend text selection to the beginning of the current word, then to the beginning of the following word if pressed again (*)
Shift-Option-Down Arrow Extend text selection to the end of the current paragraph, then to the end of the following paragraph if pressed again (*)
Shift-Option-Up Arrow Extend text selection to the beginning of the current paragraph, then to the beginning of the following paragraph if pressed again (*)
Control-Space Toggle between the current and previous input sources
Option-Control-Space Toggle through all enabled input sources
Command-Left Arrow Change the keyboard layout to current layout of system script
Command-Right Arrow Change the keyboard layout to current layout of Roman script
Option-Command-esc Force Quit

(*) Note: If no text is selected, the extension begins at the insertion point. If text is selected by dragging, then the extension begins at the selection boundary. Reversing the direction of the selection deselects the appropriate unit.


Universal Access - VoiceOver keyboard commands

Command-F5 or
fn Command-F5
Turn VoiceOver on or off
Control Option-F8 or
fn Control Option-F8
Open VoiceOver Utility
Control Option-F7 or
fn Control Option-F7
Display VoiceOver menu
Control Option-;
or fn Control Option-;
Enable/disable VoiceOver Control Option-lock
Option-Command-8 or
fn Command-F11
Turn on Zoom
Option-Command-+ Zoom In
Option-Command- - (minus) Zoom Out
Option-Control-Command-8 Invert/revert the screen colors
Control Option-Command-, Reduce contrast
Control Option-Command-. Increase contrast

Note: You may need to enable "Use all F1, F2, etc. keys as standard keys" in Keyboard preferences for the VoiceOver menu and utility to work.


Universal Access - Mouse Keys

When Mouse Keys is turned on in Universal Access preferences, you can use the keyboard or numeric keypad keys to move the mouse pointer. If your computer doesn't have a numeric keypad, use the Fn (function) key.

8 Move Up
2 Move Down
4 Move Left
6 Move Right
1 Move Diagonally Bottom Left
3 Move Diagonally Bottom Right
7 Move Diagonally Top Left
9 Move Diagonally Top Right
5 Press Mouse Button
0 Hold Mouse Button
. (period on number pad) Release Hold Mouse Button

HTML 5

HTML 5, a groundbreaking upgrade to the prominent Web presentation specification, could become a game-changer in Web application development, one that might even make obsolete such plug-in-based rich Internet application (RIA) technologies as Adobe Flash, Microsoft Silverlight, and Sun JavaFX.

The World Wide Web Consortium's (W3C) HTML 5 proposal is geared toward Web applications, something not adequately addressed in previous incarnations of HTML, the W3C acknowledges. In other words, HTML 5 tackles the gap that Flash, Silverlight, and JavaFX are trying to fill.

The rich promise of HTML 5
"HTML 5 is really the second coming of this Web stuff -- of the Web," says Dion Almaer, co-founder of the Ajaxian Web site and co-director of developer tools at Mozilla. The specification boasts capabilities covering video and graphics on the Web, as well as a slew of APIs, Almaer notes.

HTML 5 technologies such as Canvas, for 2-D drawing on a Web page, are being promoted by heavyweights in the Internet space such as Apple, Google, and Mozilla. (Although Microsoft itself has given a thumbs-up to certain aspects of HTML 5, it has not backed Canvas.)

"HTML 5 features like Canvas, local storage, and Web Workers let us do more in the browser than ever before," says Ben Galbraith, also co-founder of the Ajaxian Web site and co-director of developer tools at Mozilla. Local storage enables users to work in a browser when a connection drops and Web Workers makes "next generation" applications incredibly responsive by pushing long-running tasks to the background, he says.

Web applications will become more fun, says Ian Fette, project manager at Google for the Chrome browser: "They're going to be faster and they're just going to provide overall a better user experience and make the distinction between online apps and desktop apps blurred."

HTML 5 features already appearing in browsers
After five years of work, a draft of the HTML 5 specification was released in 2008. Parts of it are showing up in browsers, but the complete HTML 5 work won't be done for years.

"For example, video support is new in HTML 5 and new in Firefox 3.5," notes Vlad Vukicevic, technical lead of the Firefox project at Mozilla. Google's new Chrome browser also has some capabilities, including video tags, derived from the HTML 5 specification. And Microsoft has several HTML 5 features in Internet Explorer 8, such as local storage, AJAX navigation, and mutable DOM prototypes.

Opera supports Canvas and plans to add capabilities such as video to its browser, says Molly E. Holzschlag, a Web evangelist at Opera Software. Meanwhile, Apple supports HTML 5 audio and video tags in its Safari browser, as well as the Canvas technology (which it invented).

The case for HTML 5: Get rid of proprietary add-ons
While Adobe, Microsoft, and Sun Microsystems (soon to be Oracle) duke it out with their own technologies to implement multimedia on the Web, HTML 5 has the potential to eat these vendors' lunches, offering Web experiences based on an industry standard.

Therefore, Adobe Flash and Microsoft Silverlight could see their turf invaded by HTML 5, Almaer says. "Essentially, what it does is lays the groundwork to have equivalent functionality that Flash or Silverlight provides," says RedMonk analyst Michael Cote. It also could threaten JavaFX, he adds.

One of HTML 5's goals is to move the Web away from proprietary technologies such as Flash, Silverlight, and JavaFX, says Ian Hickson, co-editor of the HTML 5 specification. (Hickson is a Google employee, while his co-editor David Hyatt works for Apple.)

"They're single-vendor solutions [and] they don't really fit well into the Web platform," Hickson says. "It's always a problem when you're stuck with a single software provider -- what if they decide to abandon the product you're using? What if they decide to start charging? With an open platform, there's no such risk, since we have true competition, many vendors, and an open standard that anyone can implement."

Hickson adds, "It would be a terrible step backward if humanity's major development platform [the Web] was controlled by a single vendor the way that previous platforms such as Windows have been."

Mozilla wants the Web to stay open and ensure that capabilities such as video are not beholden to corporate entities, says Firefox lead Vukicevic. But whether HTML 5 and Canvas displace Flash, Silverlight, and JavaFX "really depends on what developers do," he adds.

Lack of support for some HTML 5 technologies in the popular Internet Explorer is an issue for developers, says Vukicevic. "The fact that IE doesn't support a lot of these advanced features really holds back Web apps," because developers must instead do extra work such as supporting Microsoft-specific APIs or writing a portion of their application in Flash, he says.

The case for proprietary add-ons: They're better and available today
Although all three companies are involved with the W3C's HTML 5 efforts, Microsoft, Adobe, and Sun each defend the need for their technologies.

"HTML 5 is still a standard in progress and the makers of it say it will be five to ten years at least before it's done, so it's too early to make any comparisons at this time," a Microsoft spokesperson says. "Silverlight will still be necessary as it provides more advanced features -- such as a richer and faster programming model (C#), 3-D, and out-of-browser capabilities. With those features, Silverlight will ultimately provide a richer Internet experience."

"HTML 5 faces many challenges," says Dave Story, vice president of developer tools at Adobe. "The browser market remains highly fragmented, and incompatibilities between browsers reign. The HTML 5 timeline states that it will be at least a decade before the evolving HTML 5/CSS 3 efforts are finalized, and it remains to be seen what parts will be implemented consistently across all browsers. In the meantime, the Flash platform will continue to deliver a ubiquitous, consistent platform that enables ever richer, more engaging user experiences."

Sun vice president James Gosling, often considered the father of Java, says JavaFX "has much more advanced rendering, performance, and behavior than HTML 5."

Analyst Cote sees no immediate threat to these rich Internet app browser plug-ins: "It would take many years to reproduce the functionality in those plug-ins." And he expects the concept of plug-ins to continue to be useful when HTML 5 does ship.

Google's Fette agrees. HTML 5 is only a starting point, he says, and companies such as Google will add their own advancements, such as the ability to drag and drop images to a browser.

A few industry players may be conflicted
Most companies involved in the HTML 5 effort are browser developers or rich Internet application tool developers, but not both. The exception is Microsoft, which therefore is in a difficult situation, says Almaer. The company has heavy investments in trying to propel Silverlight to dominance. "That's a big elephant in the room for them because you can imagine the Silverlight team [whose] whole existence is to add [this] functionality in. [But] if Internet Explorer puts it already in there, why do we have Silverlight?" he asks.

Google may also face some touchy decisions. For example, its YouTube subsidiary uses Flash for its video, but the inclusion of HTML 5 capabilities in browsers might cause YouTube to rethink that decision, notes Fette. "It's a cost/benefit analysis that they'd need to make."