Apple Samsung Lawsuit (OCR)
Apple Samsung Lawsuit (OCR)
\  '.' 
, 
HAROLD J.  MCELHINNY (CA SBN 66781) 
HMcElhinny@mofo.com 
2  MICHAEL A. JACOBS (CA SBN  111664) 
MJacobs@mofo.com 
3  JENNIFER LEE TAYLOR (CA SBN  161368) 
JTaylor@mofo.com 
4  JASON R.  BARTLETT (CA SBN 214530) 
JasonBartlett@mofo.com 
5  MORRISON &  FOERSTER LLP 
425 Market Street 
6  San Francisco, California  94105-2482 
Telephone:  415.268.7000 
7  Facsimile: 415.268.7522 
8  Attorneys for Plaintiff 
APPLE INC. 
. 
')' 
i  ';_
"'"" 
9 
10 
II 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
UNITED STATES DISTRICT COURT 
NORTHERN DISTRICT OF CALIFORNIA 
APPLE INC., a California corporation, 
Plaintiff, 
v. 
SAMSUNG ELECTRONICS CO., LTD., a 
Korean corporation;  SAMSUNG 
ELECTRONICS AMERICA, INC., a New 
York corporation; SAMSUNG 
TELECOMMUNICATIONS AMERICA, 
LLC, a Delaware limited liability company. 
Defendants. 
APPLE !NC. 'S COMPLAINT 
sf-2981926 
~  ~ V c a s e  1.1 
184 6 
JURY TRIAL DEMAND 
COMPLAINT FOR PATENT 
INFRINGEMENT, FEDERAL FALSE 
DESIGNATION OF  ORIGIN AND 
UNFAIR COMPETITION, FEDERAL 
TRADEMARK INFRINGEMENT, 
STATE UNFAIR COMPETITION, 
COMMON LAW TRADEMARK 
INFRINGEMENT, AND UNJUST 
ENRICHMENT 
.L 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
1
 
Plaintiff Apple Inc. (Apple) complains and alleges as follows against Defendants 
Samsung Electronics Co., Ltd., Samsung Electronics America, Inc., and Samsung 
Telecommunications America, LLC (collectively Samsung). 
THE NATURE OF THE ACTION
 
1.  Apple revolutionized the telecommunications industry in 2007 when it introduced 
the wildly popular iPhone, a product that dramatically changed the way people view mobile 
phones.  Reviewers, analysts and consumers immediately recognized the iPhone as a game 
changer.  Before the iPhone, cell phones were utilitarian devices with key pads for dialing and 
small, passive display screens that did not allow for touch control.  The iPhone was radically 
different.  In one small and lightweight handheld device, it offered sophisticated mobile phone 
functions, a multi-touch screen that allows users to control the phone with their fingers, music 
storage and playback, a mobile computing platform for handheld applications, and full access to 
the Internet.  These features were combined in an elegantly designed product with a distinctive 
user interface, icons, and eye-catching displays that gave the iPhone an unmistakable look.   
2.  Those design features were carried over to the iPod touch, another product that 
Apple introduced in 2007.  The iPod touch has a product configuration and physical appearance 
that is virtually identical to the iPhone.  Moreover, the iPod touch utilizes the same user interface 
icons and screen layout as the iPhone, displaying the unmistakable iPhone appearance. 
3.  Apple introduced another revolutionary product, the iPad, in 2010.  The iPad is an 
elegantly designed computer tablet with a color touch screen, a user interface reminiscent of the 
iPhones user interface, and robust functionality that spans both mobile computing and media 
storage and playback.  Because of its innovative technology and distinctive design, the iPad 
achieved instant success. 
4.  Apples creative achievements have resulted in broad intellectual property 
protection for Apples innovations, including utility and design patents, trademarks, and trade 
dress protection.  Nevertheless, Apples innovations have been the subject of widespread 
emulation by its competitors, who have attempted to capitalize on Apples success by imitating 
Apples innovative technology, distinctive user interfaces, and elegant and distinctive product 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
2
 
design.  One of the principal imitators is Samsung, which recently introduced the Galaxy line of 
mobile phones and Galaxy Tab computer tablet, all of which use the Google Android operating 
system, to compete with the iPhone and iPad.  Instead of pursuing independent product 
development, Samsung has chosen to slavishly copy Apples innovative technology, distinctive 
user interfaces, and elegant and distinctive product and packaging design, in violation of Apples 
valuable intellectual property rights.  As alleged below in detail, Samsung has made its Galaxy 
phones and computer tablet work and look like Apples products through widespread patent and 
trade dress infringement.  Samsung has even misappropriated Apples distinctive product 
packaging.  
5.  By this action, Apple seeks to put a stop to Samsungs illegal conduct and obtain 
compensation for the violations that have occurred thus far. 
THE PARTIES
 
6.  Apple is a California corporation having its principal place of business at 1 Infinite 
Loop, Cupertino, California 95014. 
7.  Samsung Electronics Co., Ltd. (referred to individually herein as SEC) is a 
Korean corporation with its principal offices at 250, 2-ga, Taepyong-ro, Jung-gu, Seoul, 100-742, 
South Korea.  On information and belief, SEC is South Koreas largest company and one of 
Asias largest electronics companies.  SEC designs, manufactures, and provides to the U.S. and 
world markets a wide range of products, including consumer electronics, computer components 
and myriad mobile and entertainment products. 
8.  Samsung Electronics America, Inc. (referred to individually herein as SEA) is a 
New York corporation with its principal place of business at 105 Challenger Road, Ridgefield 
Park, New Jersey 07660.  On information and belief, SEA was formed in 1977 as a subsidiary of 
SEC, and markets, sells, or offers for sale a variety of consumer electronics, including TVs, 
VCRs, DVD and MP3 players, and video cameras, as well as memory chips and computer 
accessories, such as printers, monitors, hard disk drives, and DVD/CD-ROM drives.  On 
information and belief, SEA also manages the North American operations of Samsung 
Telecommunications America, Samsung Electronics Canada, and Samsung Electronics Mexico. 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
3
 
9.  Samsung Telecommunications America, LLC (referred to individually herein as 
STA) is a Delaware limited liability company with its principal place of business at 1301 East 
Lookout Drive, Richardson, Texas 75081.  On information and belief, STA was founded in 1996 
as a subsidiary of SEC, and markets, sells, or offers for sale a variety of personal and business 
communications devices in the United States, including cell phones. 
JURISDICTION
 
10.  This Court has subject matter jurisdiction under 15 U.S.C.  1121 (action arising 
under the Lanham Act); 28 U.S.C.  1331 (federal question); 28 U.S.C.  1338(a) (any Act of 
Congress relating to patents or trademarks); 28 U.S.C.  1338(b) (action asserting claim of unfair 
competition joined with a substantial and related claim under the trademark laws); and 28 U.S.C. 
 1367 (supplemental jurisdiction).  
11.  This Court has personal jurisdiction over SEC, SEA and STA because each of 
these Samsung entities has committed and continues to commit acts of infringement in violation 
of 35 U.S.C.  271 and 15 U.S.C.  1114 and 1125, and places infringing products into the stream 
of commerce, with the knowledge or understanding that such products are sold in the State of 
California, including in this District.  The acts by SEC, SEA and STA cause injury to Apple 
within this District.  Upon information and belief, SEC, SEA and STA derive substantial revenue 
from the sale of infringing products within this District, expect their actions to have consequences 
within this District, and derive substantial revenue from interstate and international commerce. 
VENUE AND INTRADISTRICT ASSIGNMENT
 
12.  Venue is proper within this District under 28 U.S.C.  1391(b) and (c) because 
Samsung transacts business within this district and offers for sale in this district products that 
infringe the Apple patents, trade dress, and trademarks.  In addition, venue is proper because 
Apples principal place of business is in this district and Apple suffered harm in this district.  
Moreover, a substantial part of the events giving rise to the claim occurred in this district.  
Pursuant to Local Rule 3-2(c), Intellectual Property Actions are assigned on a district-wide basis. 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
4
 
BACKGROUND 
 
APPLES INNOVATIONS
 
13.  Apple is a leading designer and manufacturer of mobile communication devices, 
personal computers, and portable digital media players.  As a result of its significant investment 
in research and development, Apple has developed innovative technologies that have changed the 
face of the computer and telecommunications industries.  One such pioneering technology is 
Apples Multi-Touch user interface, which allows users to navigate their iPhone, iPod touch, 
and iPad devices by tapping and swiping their fingers on the screen. 
14.  In 2007, Apple revolutionized the telecommunications industry when it introduced 
the iPhone.  The iPhone combined in one small and lightweight handheld device sophisticated 
mobile phone functions, media storage and playback, a tactile user interface that allows users to 
control the phone with their fingers, mobile computing power to run diverse pre-installed and 
downloadable applications, and functionality to gain full access to the Internet.  These features 
were combined in an elegant glass and stainless steel case with a distinctive user interface that 
gave the iPhone an immediately recognizable look.   
15.  As a direct result of its innovative and distinctive design and its cutting edge 
technological features, the iPhone was an instant success, and it immediately became uniquely 
associated with Apple as its source.  Reviewers and analysts universally praised the iPhone for its 
game changing features.  Time Magazine listed the iPhone number one on its List of Top Ten 
Gadgets for 2007, noting that [t]he iPhone changed the way we think about how mobile media 
devices should look, feel and perform.  The New York Times called it revolutionary.  As of 
March 2011, more than 108 million iPhones had been sold worldwide.   
16.  Also in 2007, Apple launched the iPod touch, a digital music player.  The iPod 
touch incorporated the distinct style of the iPhone and also became an immediate success.  By 
March 2011, Apple had sold over 60 million units.  
17.  After introducing the iPhone, Apple continued to innovate and achieve success 
with a series of pioneering designsmore sophisticated, advanced versions of the iPhone, and 
then, in 2010, the iPad.  The iPad is a computer tablet with a color 9.7-inch touch screen that 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
5
 
allows users to manipulate icons and data with their fingers in the same fashion as the iPhone and 
iPod touch screens.  Reviewers and analysts immediately recognized the iPad as a revolutionary 
product, describing it as a winner and a new category of device that would replace laptops 
for many people.  
18.  No computer product that preceded the iPad looked like the iPad, but its design did 
resemble other Apple productsnamely, the iPhone and the iPod touch, thereby extending the 
unique and innovative Apple design and trade dress to a new producttablet computers.  In its 
first 80 days on the market, Apple sold 3 million iPad units.  By March 2011, Apple sold over 19 
million iPads. 
19.  Apples iPhone, iPad and iPod touch products have been extensively advertised 
throughout the United States in virtually every media outlet, including network and syndicated 
television, the Internet, billboards, magazines and newspaperswith the vast majority of the 
advertisements featuring photographs of the distinctive design of these products.  Apples 
advertising expenditures for these products for fiscal years 2007-2010 were in excess of $2 
billion.  
20.  In addition, Apples iPhone, iPod touch, and iPad products have received 
unsolicited comment and attention in print and broadcast media throughout the world.  Each new 
generation of these Apple products is the subject of positive commentary and receives unsolicited 
praise from independent media commentators.  Frequently, these unsolicited commentaries are 
accompanied by images of the iPhone, iPad, and iPod touch products, including their unique 
packaging. 
21.  The Apple iPhone, iPod touch, and iPad product design has come to represent and 
symbolize the superb quality of Apples products and enjoys substantial goodwill among 
consumers.  The iPad, iPhone, and iPod touch have garnered widespread acclaim for their unique 
product design and outstanding performance.  Time Magazine named the iPad one of the 50 Best 
Inventions of the Year 2010, Popular Science heralded it as the Top Tablet in its Best of Whats 
New 2010 feature, and the popular technology blog Engadget selected the device as both the 2010 
Editors Choice Gadget of the Year and Tablet of the Year.  In addition, the iPad received a 2010 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
6
 
Red Dot Award for Product Design and was nominated for the 2010 Peoples Design Award.  
The iPhone has received several awards over the years, including a 2008 Design and Art 
Direction (D&AD) Black Pencil award, a 2008 International Forum (iF) Product Design 
Award, and the 2008 International Design Excellence Award (IDEA) Best in Show.  More 
recently, Engadget named the iPhone 4 the 2010 Editors Choice Phone of the Year, and the 
device received the Best Mobile Device award at the Mobile World Congress in February 2011.  
Engadget also included the iPhone in its feature on the 10 Gadgets That Defined the Decade.  The 
iPod touch won the 2008 D&AD Yellow Pencil award as well as the 2008 iF Product Design 
Award. 
APPLES INTELLECTUAL PROPERTY RIGHTS
 
Apples Utility Patents
 
22.  Apple has protected its innovative designs and cutting-edge technologies through a 
broad range of intellectual property rights.  Among those rights are the utility patents listed 
below.  Apples utility patents cover many of the elements that the world has come to associate 
with Apples mobile devices.  These include patents covering fundamental features of the Multi-
Touch user interface that enable Apples devices to understand user gestures and to respond by 
performing a wide variety of functions, such as selecting, scrolling, pinching, and zooming. 
23.  In addition, Apple has patented many of the individual features that together add 
up to the high-quality experience that users have come to associate with Apple products.  Apples 
innovations ranging from the arrangement of text messages on the screen, to the way images and 
documents appear to bounce back when the user scrolls too far, down to movement of the 
buttons have been recognized by the United States Patent and Trademark Office as patent-worthy 
contributions to the art.    
24.  Among the patents that Apple has been awarded are the patents listed below, 
attached as Exhibits 1-7, to which Apple owns all rights, title, and interest. 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
7
  
Patent Number  Title 
7,812,828 (the 828 patent)  Ellipse Fitting For Multi-Touch Surfaces 
7,669,134 (the 134 patent)  Method and Apparatus For Displaying 
Information During An Instant Messaging 
Session 
6,493,002 (the 002 patent)  Method and Apparatus for Displaying and 
Accessing Control and Status Information 
in a Computer System 
7,469,381 (the 381 patent)  List Scrolling and Document Translation, 
Scaling and Rotation on a Touch-Screen 
Display 
7,844,915 (the 915 patent)  Application Programming Interfaces for 
Scrolling Operations 
7,853,891 (the 891 patent)  Method and Apparatus for Displaying a 
Window for a User Interface 
7,863,533 (the 533 patent)  Cantilevered Push Button Having Multiple 
Contacts and Fulcrums 
Apples Design Patents
 
25.  Apple also has protected its innovative designs through design patents issued by 
the United States Patent and Trademark Office.  The Apple design patents cover the many famous 
ornamental features of Apples devices, such as the flat black face, metallic bezel, and the 
distinctive matrix of application icons.  Apple owns all right, title, and interest in and to each of 
the asserted design patents listed below, copies of which are attached as Exhibits 8-10.    
Patent Number  Title 
D627,790 (the D790 patent)  Graphical User Interface For a Display 
Screen or Portion Thereof 
D602,016 (the D016 patent)  Electronic Device 
D618,677 (the D677 patent)  Electronic Device  
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
8
 
Apples Trade Dress
 
26.  Apple holds trade dress protection in the design and appearance of the iPhone, the 
iPod touch, and the iPad, together with their distinctive user interfaces and product packaging.   
iPhone Trade Dress 
27.  The iPhone is radically different from the devices that preceded it.  It has a 
distinctive shape and appearancea flat rectangular shape with rounded corners, a metallic edge, 
a large display screen bordered at the top and bottom with substantial black segments, and a 
selection of colorful square icons with rounded corners that mirror the rounded corners of the 
iPhone itself, and which are the embodiment of Apples innovative iPhone user interface.  As 
shown below, the end result is an elegant product that is more accessible, easier to use, and much 
less technically intimidating than previously available smart phones and PDAs.  The iPhone 
product design immediately became closely associated with Apple.            
28.  Each of these elements of the iPhone product configuration is distinctive and 
serves to identify Apple as the source of the iPhone products.  Moreover, none of these elements 
is functional. 
29.  Extending its innovative style to the packaging, Apple created an equally elegant 
and distinctive packaging for the iPhone products.  The packaging features a compact black or 
black-and-white box with eye-catching metallic silver lettering on a matte black surface, with the 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
9
 
sides of the top of the box extending down to cover the bottom portion of the box completely.  
The outside of the box has a clean stylewith minimal wording and a simple, prominent, nearly 
full-size photograph of the iPhone product itself.  The style carries over within the boxwith the 
iPhone cradled within a specially designed black display so that the iPhone, and nothing else, is 
immediately visible when the box is opened.  The accessories and instructional materials are 
hidden from view underneath the iPhone trayemphasizing the accessible nature of the iPhone 
itself.  The design entices purchasers to pick up the iPhone and try it out, without worrying that it 
is complicated.                    
30.  As with the product configuration itself, each of these elements of the iPhone 
packaging is distinctive and serves to identify Apple as the source of the iPhone products.  
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
10
 
Moreover, none of these elements is functionaland there are a plethora of alternative packaging 
options available to Apples competitors. 
iPod touch Trade Dress 
31.  The iPod touch has a product configuration and physical appearance that is 
virtually identical to the iPhone.  It has a flat rectangular shape with rounded corners, a silver 
edge, a large display screen bordered at the top and bottom with substantial black segments, and a 
selection of colorful square icons with rounded corners that mirror the rounded corners of the 
iPod touch (and the iPhone), and which are the embodiment of Apples innovative iPod touch 
user interface.  As shown below, the end result is an elegant product that invites use.  Like the 
iPhone, the iPod touch immediately became closely associated with Apple.            
32.  Each of these elements of the iPod touch product configuration is distinctive and 
serves to identify Apple as the source of the iPod touch products.  Moreover, none of these 
elements is functional. 
iPad Trade Dress 
33.  Because it embodies the same trade dress elements as the iPhone, the iPad 
resembles a grown-up iPhone.  It has a flat rectangular shape with rounded corners, a silver 
edge, a large display screen with a substantial black border, and a selection of Apples colorful 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
11
 
square iconsall with rounded corners that mirror the rounded corners of the iPad, iPhone and 
iPod touch.                     
34.  Each of these elements of the iPad product configuration is distinctive and serves 
to identify Apple as the source of the iPad products.  Moreover, none of these elements is 
functional. 
35.  The packaging for the iPad is similarly innovative and, like the iPhone, utilizes a 
box that, when opened, prominently displays the product so that it is immediately visible, with all 
other accessories and materials layered beneath it.  Also similar to the iPhone, the outside of the 
iPad box has a clean stylewith minimal silver metallic wording and a simple, prominent, nearly 
full-size photograph of the iPad product on a white background. 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
12
         
36.  Each of these elements of the iPad packaging is distinctive and serves to identify 
Apple as the source of the products.  Moreover, none of these elements is functional. 
Trade Dress Registrations 
37.  Apple owns three registrations for the design and configuration of the iPhone. 
38.  U.S. Registration No. 3,470,983 is for the overall design of the product, including 
the rectangular shape, the rounded corners, the silver edges, the black face, and the display of 
sixteen colorful icons.  Attached hereto as Exhibit 11 is a true and correct copy of U.S. 
Registration No. 3,470,983. 
39.  U.S. Registration No. 3,457,218 is for the configuration of a rectangular handheld 
mobile digital electronic device with rounded corners.  Attached hereto as Exhibit 12 is a true and 
correct copy of U.S. Registration No. 3,457,218. 
40.  U.S. Registration No. 3,475,327 is for a rectangular handheld mobile digital 
electronic device with a gray rectangular portion in the center, a black band above and below the 
gray rectangle and on the curved corners, and a silver outer border and side.  Attached hereto as 
Exhibit 13 is a true and correct copy of U.S. Registration No. 3,475,327. 
Trade Dress at Issue 
41.  The following non-functional elements of Apples product designs comprise the 
product configuration trade dress at issue in this case (the Apple Product Configuration Trade 
Dress): 
  a rectangular product shape with all four corners uniformly rounded; 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
13
 
  the front surface of the product dominated by a screen surface with black borders; 
  as to the iPhone and iPod touch products, substantial black borders above and 
below the screen having roughly equal width and narrower black borders on either side of the 
screen having roughly equal width; 
  as to the iPad product, substantial black borders on all sides being roughly equal in 
width; 
  a metallic surround framing the perimeter of the top surface; 
  a display of a grid of colorful square icons with uniformly rounded corners; and 
  a bottom row of square icons (the Springboard) set off from the other icons and 
that do not change as the other pages of the user interface are viewed. 
42.  The following non-functional elements of Apples packaging designs comprise the 
product packaging trade dress at issue in this case (the Apple Product Packaging Trade Dress): 
  a rectangular box with minimal metallic silver lettering and a large front-view 
picture of the product prominently on the top surface of the box; 
  a two-piece box wherein the bottom piece is completely nested in the top piece; 
and 
  use of a tray that cradles products to make them immediately visible upon opening 
the box. 
43.  Collectively, the Apple Product Configuration Trade Dress and the Apple Product 
Packaging Trade Dress are referred to herein as the Apple Product Trade Dress. 
Apples Trademarks
 
44.  Apple has protectable trademark rights in various icons used in the user interface 
in the iPhone, iPod touch, and iPad productsicons that are consistently used in the Apple family 
of mobile products. 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
14
 
45.  For example, U.S. Registration No. 3,886,196 covers an icon that is green in color 
with a white silhouette of a phone handset arranged at a 45 degree angle and centered on the icon 
that represents the application for making telephone calls:       
Attached hereto as Exhibit 14 is a true and correct copy of U.S. Registration No. 3,866,196. 
46.  U.S. Registration No. 3,889,642 covers an icon that is green in color with a white 
silhouette of a speech bubble centered on the icon that represents the application for messaging:       
Attached hereto as Exhibit 15 is a true and correct copy of U.S. Registration No. 3,889,642. 
47.  U.S. Registration No. 3,886,200 covers an icon featuring a yellow and green 
sunflower against a light-blue background that represents the application for photos:       
Attached hereto as Exhibit 16 is a true and correct copy of U.S. Registration No. 3,866,200. 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
15
 
48.  U.S. Registration No. 3,889,685 covers an icon that features gears against a gray 
background that represents the application for settings:    
INSERT  
Attached hereto as Exhibit 17 is a true and correct copy of U.S. Registration No. 3,889,685. 
49.  U.S. Registration No. 3,886,169 covers an icon that features a yellow note pad that 
represents the application for notes:      
Attached hereto as Exhibit 18 is a true and correct copy of U.S. Registration No. 3,886,169. 
50.  U.S. Registration No. 3,886,197 is for the silhouette of a man on a spiral bound 
address book that represents the icon for contacts:       
Attached hereto as Exhibit 19 is a true and correct copy of U.S. Registration No. 3,886,197. 
51.  Collectively, the application icons displayed in Paragraphs 45-50 represent 
Apples Registered Icon Trademarks.  Apple uses these Registered Icon Trademarks in 
connection with its iPhone, iPod touch, and iPad products. 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
16
 
52.  To represent the iTunes application, Apple uses an icon that is purple in color with 
a white circular band and a silhouette of two eighth-notes superimposed on the white circular 
band:       
Pending U.S. Application Serial No. 85/041,463 covers this icon (the Purple iTunes Store 
Trademark).  Attached hereto as Exhibit 20 is a true and correct copy of the TARR status report 
for U.S. Application Serial No. 85/041,463. 
53.  Moreover, Apple also owns a federal trademark registration for a logo for its 
iTunes on-line music service, U.S. Registration No. 2,935,038, (the iTunes Eighth Note and CD 
Design Trademark):      
U.S. Registration No. 2,935,038 issued on March 22, 2005.  Apple filed an Affidavit under 
Section 15 of the Lanham Act on March 24, 2010, rendering the registration incontestable.  
Attached hereto as Exhibit 21 is a true and correct copy of U.S. Registration No. 2,935,038. 
SAMSUNGS INFRINGING PRODUCTS
 
54.  Samsung has imported into or sold in the United States the following products, 
each of which infringes one or more of Apples Intellectual Property Rights:  the Samsung 
Captivate, Continuum, Vibrant, Galaxy S 4G, Epic 4G, Indulge, Mesmerize, Showcase, 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
17
 
Fascinate, Nexus S, Gem, Transform, Intercept, and Acclaim smart phones and the Samsung 
Galaxy Tab tablet.   
55.  Rather than innovate and develop its own technology and a unique Samsung style 
for its smart phone products and computer tablets, Samsung chose to copy Apples technology, 
user interface and innovative style in these infringing products. 
56.  Samsungs Galaxy family of mobile products, introduced in 2010, is exemplary.  
The copying is so pervasive, that the Samsung Galaxy products appear to be actual Apple 
productswith the same rectangular shape with rounded corners, silver edging, a flat surface face 
with substantial top and bottom black borders, gently curving edges on the back, and a display of 
colorful square icons with rounded corners.  When a Samsung Galaxy phone is used in public, 
there can be little doubt that it would be viewed as an Apple product based upon the design alone. 
57.  Samsung had many options in developing its smart phones.  Indeed, earlier 
versions of Samsung smart phones did not embody the same combination of elements of Apples 
trade dress.  Even the icons in earlier versions of the Samsung smart phones looked different 
because they had a variety of shapesand did not appear as a field of square icons with rounded 
corners. 
58.  Samsung it chose to infringe Apples patents, trade dress, and trademark rights 
through the design, packaging and promotion of its Galaxy mobile phones and the Galaxy Tab 
computer tablet, and similar products, and it did so willfully to trade upon the goodwill that Apple 
has developed in connection with its Apple family of mobile products.  
Infringement of Apples Patents 
59.  Samsungs infringement of the Apple utility patents identified in this Complaint 
provides Samsung with unique functionality for its products that was the result of Apples 
innovation, not Samsungs.  Samsung has not obtained permission from Apple to use its 
inventions in the identified utility patents.  
60.  Moreover, as the side-by-side comparisons shown below reveal, Samsung has 
misappropriated Apples patented mobile phone design in the accused products, including the 
Samsung Galaxy mobile phone depicted below.  
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
18
 
D677 Patent 
  
D790 Patent 
    
D016 Patent 
   
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
19
 
Infringement of Apples Trade Dress 
61.  Samsung announced its Galaxy line of Android-based smart phones in March of 
2010 in South Korea.  The original model, Galaxy S i9000, is shown below side by side with an 
iPhone 3GS.    
                       
      
62.  Each of Samsungs Galaxy phones embodies a combination of several elements of 
the Apple Product Configuration Trade Dress identified above, namely, a product configuration 
with  
Apple iPhone 3GS
  
Galaxy S i9000
 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
20
 
  a rectangular product shape with all four corners uniformly rounded; 
  the front surface of the product dominated by a screen surface with black borders; 
  substantial black borders above and below the screen having roughly equal width 
and narrower black borders on either side of the screen having roughly equal width; 
  a metallic surround framing the perimeter of the top surface; 
  a display of a grid of colorful square icons with uniformly rounded corners; and 
  a bottom row of icons set off from the other icons and that do not change as the 
other pages of the user interface are viewed. 
63.  Samsung also imitated Apples Product Packaging Trade Dress:          
Samsungs packaging includes: 
  a rectangular box with metallic silver lettering and a large front-view picture of the 
product prominently on the top surface of the box; 
  a two-piece box wherein the bottom piece is completely nested in the top piece; 
and 
  use of a design that cradles products to make them immediately visible upon 
opening the box. 
64.  As shown below, Samsungs Galaxy Tab computer tablet also slavishly copies a 
combination of several elements of the Apple Product Configuration Trade Dress.  
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
21
   
Samsung Tab
 
Specifically, the Samsung computer tablet has: 
  rectangular product shape with all four corners uniformly rounded; 
  front surface of the product dominated by a screen surface with black borders; 
  substantial black borders on all sides being roughly equal in width; and  
  a display of a grid of colorful square icons with uniformly rounded corners. 
65.  Samsungs Galaxy Tab computer tablet packaging also features key elements of 
the Apple Product Packaging Trade Dress for Apples iPad products.          
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
22
 
The following Apple Product Packaging Trade Dress is incorporated in the Samsung Galaxy Tab 
tablet computer products: 
  a rectangular box with metallic silver lettering and a large front-view picture of the 
product prominently on the top surface of the box; 
  a two-piece box wherein the bottom piece is completely nested in the top piece; 
and 
  use of a design that cradles products to make them immediately visible upon 
opening the box. 
Infringement of Apples Trademarks 
66.  In addition to copying Apples Product Trade Dress, Samsung has also copied 
numerous application icons in which Apple had valid trademark rights, as shown below:   
Apple Icons
 
Samsung Icons
          
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
23
 
Apple Icons
 
Samsung Icons
             
             
       
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
24
 
67.  Moreover, the icon that Samsung uses for its music application is virtually 
identical to the iTunes Eighth Note and CD logo that Apple has registered with the United 
States Patent and Trademark Office:        
68.  Samsungs adoption of a trade dress that slavishly copies the Apple Product Trade 
Dress and its use of various icons that infringe Apples trademark rights is likely to cause 
confusion or mistake, or to deceive consumers, purchasers, and others into thinking that Samsung 
products are Apple products, or that they are sponsored by or affiliated with Apple, when they are 
not.  The copying is particularly problematic because the Samsung Galaxy products are the type 
of products that will be used in publicon the bus, in cafes, in stores, or at school, where third 
parties, who were not present when the products were purchased, will associate them with Apple 
because they have the unmistakable Apple look that is created from the various elements of the 
Apple Trade Dress. 
69.  Of significant concern for Apple is that Apple devotes a tremendous amount of 
resourcestechnical research and development and design resourcesto develop its cutting edge 
products.  Part of the cachet of Apple products is the very fact that they consistently stand-out 
from all of the other products on the market.  Apples goodwill among consumers is closely tied 
to its position as an outlier in technology and communications products, which causes each 
release of a new product to be highly anticipated among consumers who want to be among the 
early adopters of the newest Apple product.  Samsungs flagrant and relentless copying of 
Apples intellectual property rights in its Galaxy family of products not only allows Samsung to 
Apple Icon
 
Samsung Icon
 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
25
 
reap benefits from Apples investment, it also threatens to diminish the very important goodwill 
that Apple has cultivated with its products. 
70.  On information and belief Samsungs marketing has played up the similarities 
between its Galaxy family of phones and the Apple iPhone.  On information and belief, 
Samsungs mobile phones were marketed as the phone that is the closest to the iPhonefor 
consumers who wanted a product with the distinctive Apple look, but who did not want to pay for 
the real product. 
71.  Apples efforts to address Samsung's pervasive copying of Apple's innovations and 
intellectual property directly with Samsung have been unsuccessful.  Apple is left with no choice 
but to file this lawsuit in order to protect one of its most valuable assetsthe technology used in 
and the designs of the iPhone, iPod touch, and the iPad. 
FIRST CLAIM FOR RELIEF
 
(Trade Dress Infringement) 
(Lanham Act Section 43(a), 15 U.S.C.  1125(a)) 
72.  Apple incorporates and realleges paragraphs 1 through 71 of this Complaint. 
73.  Apple is the owner of all right and title to the distinctive iPhone, iPod touch, and 
iPad trade dress.  The Apple Product Configuration Trade Dress, as embodied in the Apple 
iPhone, iPod touch, and iPad products, has acquired secondary meaning, and is not functional.  In 
addition, the Apple Product Packaging Trade Dress, embodied in the packaging for the Apple 
iPhone and iPad devices, is inherently distinctive and not functional.  
74.  In addition, based on extensive and consistent advertising, promotion and sales 
throughout the United States, the Apple Product Trade Dress has acquired distinctiveness and 
enjoys secondary meaning among consumers, identifying Apple as the source of these products. 
75.  Apples extensive promotion of the distinctive Apple Product Trade Dress has 
resulted in Apples acquisition of valuable, legally protected rights in the Apple Product Trade 
Dress as well as considerable customer goodwill. 
76.  The Samsung Galaxy line of products has misappropriated the Apple Product 
Trade Dress by mimicking a combination of several elements of that trade dress. 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
26
 
77.  Samsungs manufacture and distribution of the Samsung Galaxy products with 
packaging, product design, and product user interface features that mimic a combination of 
several elements of the Apple Product Trade Dress is likely to cause confusion, or to cause 
mistake, or to deceive the consumer as to the affiliation, connection or association of Samsung 
with Apple, or as to the origin, sponsorship, or approval by Apple of Samsungs goods, services 
or commercial activities. 
78.  Samsungs manufacture and distribution of the Samsung Galaxy line of products 
with packaging, product design and product user interface features that mimic a combination of 
several elements of the Apple Product Trade Dress enables Samsung to benefit unfairly from 
Apples reputation and success, thereby giving Samsungs infringing products sales and 
commercial value they would not have otherwise. 
79.  Samsungs actions constitute unfair competition and false designation or origin in 
violation of Section 43(a) of the Lanham Act, 15 U.S.C. 1125(a).   
80.  Samsung knew of Apples Product Trade Dress when it designed its Galaxy line of 
products, and has refused to change its product or packaging design in response to Apples 
repeated objections.  Accordingly, Samsungs infringement has been and continues to be 
intentional, willful and without regard to Apples Product Trade Dress.   
81.  Apple has been and will continue to be irreparably harmed and damaged by 
Samsungs conduct, and Apple lacks an adequate remedy at law to compensate for this harm and 
damage. 
82.  Apple is informed and believes, and on that basis alleges, that Samsung has gained 
profits by virtue of its infringement of the Apple Product Trade Dress. 
83.  Apple also has sustained damages as a direct and proximate result of Samsungs 
infringement of the Apple Product Trade Dress in an amount to be proven at trial. 
84.  Because Samsungs actions have been willful, Apple is entitled to treble its actual 
damages or Samsungs profits, whichever is greater, and to an award of costs, and, this being an 
exceptional case, reasonable attorneys fees pursuant to 15 U.S.C.  1117(a). 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
27
 
SECOND CLAIM FOR RELIEF
 
(Federal Trade Dress Infringement) 
(15 U.S.C.  1114) 
85.  Apple incorporates and realleges paragraphs 1 through 84 of this Complaint. 
86.  Apple owns three registrations for the design and configuration of the iPhone. 
87.  U.S. Registration No. 3,470,983 is for the overall design of the product, including 
the rectangular shape, the rounded corners, the silver edges, the black face, and the display of 
sixteen colorful icons.   
88.  U.S. Registration No. 3,457,218 is for the configuration of a rectangular handheld 
mobile digital electronic device with rounded corners.   
89.  U.S. Registration No. 3,475,327 is for a rectangular handheld mobile digital 
electronic device with a gray rectangular portion in the center, a black band above and below the 
gray rectangle and on the curved corners, and a silver outer border and side.   
90.  The Samsung Galaxy line of products copy and infringe these three trade dress 
registrations (collectively, Apples Registered Trade Dress). 
91.  Samsungs manufacture and distribution of the Samsung Galaxy products with 
packaging, product design, and product user interface features that copy a combination of several 
elements of Apples Registered Trade Dress is likely to cause confusion, or to cause mistake, or 
to deceive the consumer as to the affiliation, connection or association of Samsung with Apple, or 
as to the origin, sponsorship, or approval by Apple of Samsungs goods, services or commercial 
activities. 
92.  Samsungs manufacture and distribution of the Samsung Galaxy line of products 
with packaging, product design and product user interface features that copy a combination of 
several elements of Apples Registered Trade Dress enables Samsung to benefit unfairly from 
Apples reputation and success, thereby giving Samsungs infringing products sales and 
commercial value they would not have otherwise. 
93.  Prior to Samsungs first use of Apples Registered Trade Dress, Samsung was 
aware of Apples business and had either actual notice and knowledge, or constructive notice of 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
28
 
Apples Registered Trade Dress, and has refused to change its product or packaging design in 
response to Apples repeated objections.   
94.  Samsungs unauthorized use of a trade dress for its Galaxy product line that 
infringes Apples Registered Trade Dress is likely, if not certain, to deceive or to cause confusion 
or mistake among consumers as to the origin, sponsorship or approval of the Samsung Galaxy 
line of products and/or to cause confusion or mistake as to any affiliation, connection or 
association between Apple and Samsung, in violation of 15 U.S.C.  1114(a). 
95.  Apple is informed and believes, and on that basis alleges, that Samsungs 
infringement of Apples Registered Trade Dress as described herein has been and continues to be 
intentional, willful and without regard to Apples Registered Trade Dress. 
96.  Apple is informed and believes, and on that basis alleges, that Samsung has gained 
profits by virtue of its infringement of Apples Registered Trade Dress. 
97.  Apple will suffer and is suffering irreparable harm from Samsungs infringement 
of Apples Registered Trade Dress insofar as Apples invaluable goodwill is being eroded by 
Samsungs continuing infringement.  Apple has no adequate remedy at law to compensate it for 
the loss of business reputation, customers, market position, confusion of potential customers and 
good will flowing from the Samsungs infringing activities.  Pursuant to 15 U.S.C.  1116, Apple 
is entitled to an injunction against Samsungs continuing infringement of Apples Registered 
Trade Dress.  Unless enjoined, Samsung will continue its infringing conduct. 
98.  Because Samsungs actions have been committed with intent to damage Apple and 
to confuse and deceive the public, Apple is entitled to treble its actual damages or Samsungs 
profits, whichever is greater, and to an award of costs and, this being an exceptional case, 
reasonable attorneys fees pursuant to 15 U.S.C.  1117(a) and 1117(b). 
THIRD CLAIM FOR RELIEF
 
(Federal Trademark Infringement) 
(15 U.S.C.  1114) 
99.  Apple incorporates and realleges paragraphs 1 through 98 of this Complaint. 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
29
 
100.  Apple owns seven federal trademark registrations for the distinctive and colorful 
square application icons used in the user interface for the iPhone, iPod touch, and iPad Registered 
Icon Trademarks, i.e., the Registered Icon Trademarks.   
101.  The Samsung Galaxy line of products has infringed the Registered Icon 
Trademarks by using variations of those application icons in Samsungs products.  The Samsung 
Galaxy line of products have also infringed Apples registered iTunes Eighth Note and CD Logo.  
102.  Samsungs use of its infringing application icons is likely to cause confusion, or to 
cause mistake, or to deceive the consumer as to the affiliation, connection or association of 
Samsung with Apple, or as to the origin, sponsorship, or approval by Apple of Samsungs goods, 
services or commercial activities. 
103.  Samsungs use of the infringing application icons enables Samsung to benefit 
unfairly from Apples reputation and success, thereby giving Samsungs infringing products sales 
and commercial value they would not have otherwise. 
104.  Prior to Samsungs first use of the infringing application icons, Samsung was 
aware of Apples business and had either actual notice and knowledge, or constructive notice of, 
Apples Registered Icon Trademarks. 
105.  Samsungs unauthorized use of the infringing application icons is likely, if not 
certain, to deceive or to cause confusion or mistake among consumers as to the origin, 
sponsorship or approval of the Samsung Galaxy line of products and/or to cause confusion or 
mistake as to any affiliation, connection or association between Apple and Samsung, in violation 
of 15 U.S.C.  1114(a). 
106.  Apple is informed and believes, and on that basis alleges, that Samsungs 
infringement of Apples Registered Icon Trademarks as described herein has been and continues 
to be intentional, willful and without regard to Apples rights. 
107.  Apple is informed and believes, and on that basis alleges, that Samsung has gained 
profits by virtue of its infringement of Apples Registered Icon Trademarks. 
108.  Apple will suffer and is suffering irreparable harm from Samsungs infringement 
of Registered Icon Trademarks insofar as Apples invaluable good will is being eroded by 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
30
 
Samsungs continuing infringement.  Apple has no adequate remedy at law to compensate it for 
the loss of business reputation, customers, market position, confusion of potential customers and 
good will flowing from the Samsungs infringing activities.  Pursuant to 15 U.S.C.  1116, Apple 
is entitled to an injunction against Samsungs continuing infringement of Apples Registered Icon 
Trademarks.  Unless enjoined, Samsung will continue its infringing conduct. 
109.  Because Samsungs actions have been committed with intent to damage Apple and 
to confuse and deceive the public, Apple is entitled to treble its actual damages or Samsungs 
profits, whichever is greater, and to an award of costs and, this being an exceptional case, 
reasonable attorneys fees pursuant to 15 U.S.C.  1117(a) and 1117(b). 
FOURTH CLAIM FOR RELIEF
 
(Common Law Trademark Infringement) 
110.  Apple incorporates and realleges paragraphs 1 through 109 of this Complaint. 
111.  Apple has prior rights in Apples Registered Icon Trademarks and the Purple 
iTunes Store Trademark.  
112.  The Samsung Galaxy line of products have infringed Apples Registered Icon 
Trademarks and the Purple iTunes Store Trademark by using identical or similar application icons 
in Samsungs products. 
113.  Samsungs use of its infringing application icons is likely to cause confusion, or to 
cause mistake, or to deceive the consumer as to the affiliation, connection or association of 
Samsung with Apple, or as to the origin, sponsorship, or approval by Apple of Samsungs goods, 
services or commercial activities. 
114.  Samsungs use of the infringing application icons enables Samsung to benefit 
unfairly from Apples reputation and success, thereby giving Samsungs infringing products sales 
and commercial value they would not have otherwise. 
115.  Prior to Samsungs first use of the infringing application icons, Samsung was 
aware of Apples business and had either actual notice and knowledge, or constructive notice of 
Apples Registered Icon Trademarks and the Purple iTunes Store Trademark. 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
31
 
116.  Samsungs unauthorized use of the infringing application icons is likely, if not 
certain, to deceive or to cause confusion or mistake among consumers as to the origin, 
sponsorship or approval of the Samsung Galaxy line of products and/or to cause confusion or 
mistake as to any affiliation, connection or association between Apple and Samsung, in violation 
of 15 U.S.C.  1114(a). 
117.  Apple is informed and believes, and on that basis alleges, that Samsungs 
infringement of Apples Registered Icon Trademarks and the Purple iTunes Store Trademark as 
described herein has been and continues to be intentional, willful and without regard to Apples 
rights in its Registered Icon Trademarks and the Purple iTunes Store Trademark. 
118.  Apple is informed and believes, and on that basis alleges, that Samsung has gained 
profits by virtue of its infringement of Apples Registered Icon Trademarks and the Purple iTunes 
Store Trademark. 
119.  Apple will suffer and is suffering irreparable harm from Samsungs infringement 
of Apples Registered Icon Trademarks and the Purple iTunes Store Trademark insofar as 
Apples invaluable good will is being eroded by Samsungs continuing infringement.  Apple has 
no adequate remedy at law to compensate it for the loss of business reputation, customers, market 
position, confusion of potential customers and good will flowing from the Samsungs infringing 
activities.  Apple is entitled to an injunction against Samsungs continuing infringement of 
Apples Registered Icon Trademarks and the Purple iTunes Store Trademark.  Unless enjoined, 
Samsung will continue its infringing conduct. 
120.  Because Samsungs actions have been committed with intent to damage Apple and 
to confuse and deceive the public, Apple is entitled to treble its actual damages or Samsungs 
profits, whichever is greater, and to an award of costs and, this being an exceptional case, 
reasonable attorneys fees pursuant to 15 U.S.C.  1117(a) and 1117(b). 
FIFTH CLAIM FOR RELIEF 
 
(Unfair Business Practices  California Business and Professions Code  17200, et seq.) 
121.  Apple incorporates and realleges paragraphs 1 through 120 of this Complaint. 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
32
 
122.  The acts of Samsung described above constitute fraudulent and unlawful business 
practices as defined by California Business & Professions Code  17200, et seq.  
123.  Apple has valid and protectable prior rights in the Apple Product Trade Dress, the 
Registered Trade Dress, the iTunes Eighth Note and CD Design Trademark, the Purple iTunes 
Store Trademark, and the Registered Icon Trademarks.  The Apple Product Trade Dress and the 
Registered Trade Dress do not serve any function other than to identify Apple as the source of its 
mobile products.  The Apple Product Trade Dress and the Registered Trade Dress are inherently 
distinctive, and, through Apples long use, have come to be associated solely with Apple as the 
source of the products on which it is used.  
124.  Samsungs use of its infringing trade dress is likely to cause confusion as to the 
source of Samsungs products and is likely to cause others to be confused or mistaken into 
believing that there is a relationship between Samsung and Apple or that Samsungs products are 
affiliated with or sponsored by Apple.  
125.  The above-described acts and practices by Samsung are likely to mislead or 
deceive the general public and therefore constitute fraudulent business practices in violation of 
California Business & Professions Code  17200, et seq.  
126.  The above-described acts constitute unfair competition under Section 43(a) of the 
Lanham Act, 15 U.S.C.  1125(a) and trademark and trade dress infringement under Section 32 of 
the Lanham Act, 15 U.S.C.  1114, and are therefore unlawful acts in violation of California 
Business & Professions Code  17200, et seq.  
127.  Samsung acted willfully and intentionally in designing its infringing trade dress, 
with full knowledge of Samsungs prior rights in the distinctive Apple Product Trade Dress, 
Registered Trade Dress, the iTunes Eighth Note and CD Design Trademark, the Purple iTunes 
Store Trademark, and the Registered Icon Trademarks and with an intent to cause confusion or 
mistake or to deceive customers into believing that there is an affiliation between Samsung and 
Apple or between Samsungs products and Apples products.  
128.  The unlawful and fraudulent business practices of Samsung described above 
present a continuing threat to, and is meant to deceive members of, the public in that Samsung 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
33
 
continues to promote its products by wrongfully trading on the goodwill of the Apple Product 
Trade Dress, Registered Trade Dress, the iTunes Eighth Note and CD Design Trademark, Purple 
iTunes Store Trademark, and the Registered Icon Trademarks.  
129.  As a direct and proximate result of these acts, Samsung has received, and will 
continue to profit from, the strength of the Apple Product Trade Dress, Registered Trade Dress, 
the iTunes Eighth Note and CD Design Trademark, the Purple iTunes Store Trademark, and the 
Registered Icon Trademarks.  
130.  As a direct and proximate result of Samsungs wrongful conduct, Apple has been 
injured in fact and has lost money and profits, and such harm will continue unless Samsungs acts 
are enjoined by the Court.  Apple has no adequate remedy at law for Samsungs continuing 
violation of Apples rights.  
131.  Samsung should be required to restore to Apple any and all profits earned as a 
result of their unlawful and fraudulent actions, or provide apple with any other restitutionary 
relief as the Court deems appropriate.  
SIXTH CLAIM FOR RELIEF
 
(Unjust Enrichment) 
132.  Apple incorporates and realleges paragraphs 1 through 131 of this Complaint. 
133.  As a result of the conduct alleged herein, Samsung has been unjustly enriched to 
Apples detriment.  Apple seeks a worldwide accounting and disgorgement of all ill gotten gains 
and profits resulting from Samsungs inequitable activities. 
SEVENTH CLAIM FOR RELIEF
 
(Infringement of the 022 Patent) 
134.  Apple incorporates and realleges paragraphs 1 through 133 of this Complaint. 
135.  Samsung has infringed and continues to infringe one or more claims of the 022 
Patent by using, selling and/or offering to sell, in the United States and/or importing into the 
United States, one or more of the Samsung mobile communication devices identified in this 
Complaint.  Samsungs infringing activities violate 35 U.S.C.  271.          
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
34
 
EIGTH CLAIM FOR RELIEF
 
(Infringement of the 381 Patent) 
136.  Apple incorporates and realleges paragraphs 1 through 135 of this Complaint. 
137.  Samsung has infringed and continues to infringe one or more claims of the 381 
Patent by using, selling and/or offering to sell, in the United States and/or importing into the 
United States, one or more of the Samsung mobile communication devices identified in this 
Complaint.  Samsungs infringing activities violate 35 U.S.C.  271.     
NINTH CLAIM FOR RELIEF
 
(Infringement of the 134 Patent) 
138.  Apple incorporates and realleges paragraphs 1 through 137 of this Complaint. 
139.  Samsung has infringed and continues to infringe one or more claims of the 134 
Patent by using, selling and/or offering to sell, in the United States and/or importing into the 
United States, one or more of the Samsung mobile communication devices identified in this 
Complaint.  Samsungs infringing activities violate 35 U.S.C.  271.    
TENTH CLAIM FOR RELIEF
 
(Infringement of the 828 Patent) 
140.  Apple incorporates and realleges paragraphs 1 through 139 of this Complaint. 
141.  Samsung has infringed and continues to infringe one or more claims of the 828 
Patent by using, selling and/or offering to sell, in the United States and/or importing into the 
United States, one or more of the Samsung mobile communication devices identified in this 
Complaint.  Samsungs infringing activities violate 35 U.S.C.  271.    
ELEVENTH CLAIM FOR RELIEF
 
(Infringement of the 915 Patent) 
142.  Apple incorporates and realleges paragraphs 1 through 141 of this Complaint. 
143.  Samsung has infringed and continues to infringe one or more claims of the 915 
Patent by using, selling and/or offering to sell, in the United States and/or importing into the 
United States, one or more of the Samsung mobile communication devices identified in this 
Complaint.  Samsungs infringing activities violate 35 U.S.C.  271.    
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
35
 
TWELFTH CLAIM FOR RELIEF
 
(Infringement of the 891 Patent) 
144.  Apple incorporates and realleges paragraphs 1 through 143 of this Complaint. 
145.  Samsung has infringed and continues to infringe one or more claims of the 891 
Patent by using, selling and/or offering to sell, in the United States and/or importing into the 
United States, one or more of the Samsung mobile communication devices identified in this 
Complaint.  Samsungs infringing activities violate 35 U.S.C.  271.    
THIRTEENTH CLAIM FOR RELIEF
 
(Infringement of the 533 Patent) 
146.  Apple incorporates and realleges paragraphs 1 through 145 of this Complaint. 
147.  Samsung has infringed and continues to infringe one or more claims of the 533 
Patent by using, selling and/or offering to sell, in the United States and/or importing into the 
United States, one or more of the Samsung mobile communication devices identified in this 
Complaint.  Samsungs infringing activities violate 35 U.S.C.  271.    
FOURTEENTH CLAIM FOR RELIEF
 
(Infringement of the D790 Patent) 
148.  Apple incorporates and realleges paragraphs 1 through 147 of this Complaint. 
149.  Samsung has infringed and continues to infringe the D790 Patent by using, selling 
and/or offering to sell in the United States, and/or importing into the United States one or more of 
the Samsung mobile communication devices identified in this Complaint, which embody the 
design covered by the D790 design patent.   
FIFTEENTH CLAIM FOR RELIEF
 
(Infringement of the D016 Patent) 
150.  Apple incorporates and realleges paragraphs 1 through 149 of this Complaint. 
151.  Samsung has infringed and continues to infringe the D016 Patent by using, selling 
and/or offering to sell in the United States, and/or importing into the United States one or more of 
the Samsung mobile communication devices identified in this Complaint, which embody the 
design covered by the D016 design patent.   
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28  
 
APPLE INC.S COMPLAINT  
sf-2981926 
  
36
 
SIXTEENTH CLAIM FOR RELIEF
 
(Infringement of the D677 Patent) 
152.  Apple incorporates and realleges paragraphs 1 through 151 of this Complaint. 
153.  Samsung has infringed and continues to infringe the D677 Patent by using, selling 
and/or offering to sell in the United States, and/or importing into the United States one or more of 
the Samsung mobile communication devices identified in this Complaint, which embody the 
design covered by the D677 design patent. 
PRAYER FOR RELIEF
 
WHEREFORE, Apple prays for relief, as follows:   
1.  A judgment that Samsung has infringed one of more claims of each of Apples 
asserted patents; 
2.  An order and judgment preliminarily and permanently enjoining Samsung and its 
officers, directors, agents, servants, employees, affiliates, attorneys, and all others acting in 
privity or in concert with them, and their parents, subsidiaries, divisions, successors and assigns, 
from further acts of infringement of Apples asserted patents; 
3.  A judgment awarding Apple all damages adequate to compensate for Samsungs 
infringement of Apples asserted patents, and in no event less than a reasonable royalty for 
Samsungs acts of infringement, including all pre-judgment and post-judgment interest at the 
maximum rate permitted by law; 
4.  A judgment awarding Apple all damages, including treble damages, based on any 
infringement found to be willful, pursuant to 35 U.S.C.  284, together with prejudgment interest   
5.  An order preliminarily and permanently enjoining Samsung and its officers, 
directors, agents, servants, employees, affiliates, attorneys, and all others acting in privity or in 
concert with them, and their parents, subsidiaries, divisions, successors and assigns, from directly 
or indirectly infringing the Apple Product Trade Dress, Registered Icon Trademarks, Purple 
iTunes Store Trademark, and iTunes Eighth Note and CD Design Trademark, or using any other 
product or packaging design or designations similar to or likely to cause confusion with the Apple 
Product Trade Dress, Registered Icon Trademarks, Purple iTunes Store Trademark, and iTunes 
I  Eighth Note and CD Design Trademark; from passing off Samsilllg's products as being associated 
2  with and or sponsored or affiliated with Apple; from committing any other unfair business 
3  practices directed toward obtaining for themselves the business and customers of Apple;  and from 
4  committing any other unfair business practices directed toward devaluing or diminishing the 
5  brand or business of Apple. 
6  6.  Actual damages suffered by Apple as a result of Samsung' s unlawful conduct, in 
7  an amount to  be proven at trial, as well as prejudgment interest as  authorized by law; 
8 
9 
10 
11 
12 
7. 
8. 
9. 
10. 
11. 
Reasonable funds  for future corrective advertising; 
An accounting ofSamsung's profits pursuant to  15  U.S.C.   1117; 
A judgment trebling any damages award pursuant to  15  U.S.C.   1117; 
Punitive damages pursuant to  California Civil Code  3294; 
Restitutionary relief against Samsung and in favor of Apple, including 
13  disgorgement of wrongfully obtained profits and any other appropriate relief; 
14  Costs of suit and reasonable attorneys'  fees;  and 
15 
12. 
13.  Any other remedy to  which Apple may be entitled,  including all  remedies provided 
16  for in 15  U.S.C.   1117, Cal.  Bus. &  Prof Code  17200, et seq.,  17500, et seq., and under any 
17  other California law. 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
Dated:  Apri115, 2011 
APPLE  INC.'S COMPLAINT 
Case No. 
sf-2981926 
HAROLDJ.MCELHll{NY 
MICHAEL A. JACOBS 
JENNIFER LEE TAYLOR 
JASON R.  BARTLETT 
MORRISON &  FOERSTER LLP 
By  " " ' - - - ~ ~ 0  (L ~ 
MICHAEL A. JAC  S 
Attorneys for Plaintiff 
APPLE INC. 
37 
1  DEMAND FOR JURY TRIAL 
2  Pursuant to Rule 38(b) of the  Federal Rules of Civil Procedure, Apple hereby demands 
3  trial by jury on all  issues raised by  the  Complaint. 
4 
5 
6  Dated:  April15, 2011 
7 
8 
9 
10 
HAROLD J.  MCELHINNY 
MICHAEL A. JACOBS 
JENNIFER LEE TAYLOR 
JASON R.  BARTLETT 
MORRISON &  FOERSTER LLP 
By/' .  - 'Q ~  ~  ~ 
MICHAEL A.  JACO  -
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
APPLE  INC.'S COMPLAINT 
Case No. 
sf-2981926 
Attorneys  for  Plaintiff 
APPLE INC. 
38 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Exhibit 1 
(12)  United States Patent 
Westerman et al. 
(54)  ELLIPSE FITTI:'\G FOH.               
SURE\(:ES 
(75)  !mentors:           \Vestt>rman. San Francisco. CA 
(US):  .John G. Elias, 'lllwnscnd,  ])]; 
(US) 
     Assignee:  Apple Inc ..  Cupc11ino.  CA (US) 
( * )  Notice:  Subject to  any disclaimer. the term of this 
pntcnt  is  extended  or  adjusted  under  35 
U.S.C.  l54(b) by  707 days. 
(21)  App!.  No.:  111677,958 
(22)  Filed: 
(65) 
Feb. 22, 2007 
Prior Publication  I>ata 
US 2(Xl7/0!39395 AI  Jun.  2!. 2(XJ7 
H.clatcd  U.S. Application  I>ata 
(63)  Continuation of application  No.  111015.434.  Hied  on 
Dec.  17.  2004.  now  Pat.  No.  7.339.580.  which  is  a 
ctmlinuation  of application  No.  091236.513.  !!led  on 
Jan. 25.  1999. now Pal.  No.  6.3n.R46. 
(60)  Provisional  application  No.  60/072,500.  tiled on  Jan. 
26.  199R. 
(51)  Int.Cl. 
<ifJ6F 311141 
(52)  u.s. Cl. 
(2006.01) 
345/173:                   
l7R/!R.Ol:  l?R/IR.m 
(5R)  Field ofCiaJ>J>ification Search  345/173  17R: 
178/18.01.18.03.19.01.20.01:  715/863 
Sec application Jile  l(Jr complete search history. 
(56)  RcfcrcnccJ> Cited 
U.S.  P.\TI:NT I)OCUMI:N"J"S 
         A  7  1967  Gorski 
3.54!.54t 
' 
" 
t<)7()  Fngdlmrl 
3.ti62.!0." 
' 
5  t<)72  llursl d  al 
          A  3  1974  llurst 
4.D7.42l  A  12              
__ ,. 
I "",:,_.,  f.- 
111111  1111111111111111111111111111111111111111111111111111111111111 
CA 
US007812828B2 
(I OJ  Patent No.:  US  7,812,828  B2 
Oct.  12,2010  (45)  Date of Patent: 
4.24ti.452 
' 
l       ch;mdkr 
4.2titi.t44 
' 
"      
Bristol 
4.2<JO.Otit 
' 
9             
         
' 
9J<)g]  Cutkrd   
4 ..  'i50.221 
' 
10  ]<)g)          
4 ..  'itil.002 
' 
12J<)g)  Chiu 
4.672.364 
' 
6       l.ucas 
4.672 .     
' 
6       Fkchs    al 
(Continu<.'d) 
I:ORIOICiN  I'Al"ION"I"I)OC"UMI;N"l"S 
12430% 
(Continued) 
Oriii:t{ PUBIJC..\TIONS 
       C-C  et     (.\ug  I.        "'A                    :-.:em-est 
:-.:cighbm                     Pauem  Rt."N>gnition  f.t."llen. 
      (i2.'i-630 
(Continu<.'d) 
f'rimwT Hxaminer  Amarc Meng.islu 
Assislanl Ewminer  Koosha  Shari!i 
(74) Allome_1,  Agenl.  or Firm  Morrison &  Foerster I J.P 
(57)  AHSTR\(T 
.\ppmatus  and  methods  arc  disclosed  Jix  simultaneously 
tracking multiple !Inger and palm contacls as hands approach, 
touch, and slide across a  proximity-sensing. multi-touch sur-
!Ucc.  ldcnti!ication  and  classi!ication of intuitive  hand  con-
!ig.urmions and motions enables unprcc<.-dcntcd  integration of 
typing.  resting.  pointing.  scrolling.  3D  manipulation.  and 
handwriting  into  a  versatile.  ergonomic  computer  input 
device. 
   Claims, 45 Drawing Shccts 
 
4.(i92.iW9  A 
4.(i9.'i.iQ7  A 
4.733.222  _\ 
4.734.(iK'i  A 
4.746.770  A 
4.77!.276  _\ 
4.7l>iUg,J  _\ 
4.go6.iW>  A 
4.1NiC5-':;S  _\ 
4.<J@.l>77  _\ 
.'i.Om5t9  A 
            A 
.".171>.477  _\ 
S.Jg<J.403  _\ 
.'i.l94.U>2  A 
.".224.1>61  _\ 
.".24!..101>  _\ 
.'i.2.'i2.9.'i1  A 
5.270.711  A 
.".21<!.<)66  _\ 
.'i.30.'i.017  A 
.'i.327.l61  A 
." ..  14.".543  _\ 
." ..  169.221>  _\ 
5.376.941>  A 
.'i.379.0.'i7  A 
S.WlU!O  _\ 
5.442.742  A 
5.463.31>1>  A 
.".463.(><)6  _\ 
.".47!.571>  _\ 
5.479521>  A 
S.41G.261  _\ 
.".41>1<.204  _\ 
.'i.49.'i.077  A 
.'i5D.309  A 
.".523.77."  _\ 
.".530.4-'-'  _\ 
5543590  A 
.".543.591  _\ 
S.541Hi67  _\ 
.'i563.(i32  A 
5563.996  A 
S.56S.ti."l>  _\ 
5579.036  A 
.'i5l>l.276  A 
S.51H.4g,J  _\ 
S.51H.MH  _\ 
.'i5iG.946  A 
.'i51>9X'i6  A 
.".590.219  _\ 
5592566  A 
5594.469  A 
.".594.1>!0  _\ 
S.596.ti94  _\ 
.'i.(i12.719  A 
S.ti2.".71S  _\ 
S.ti3U>OS  _\ 
.'i.(iD.<J.'i.'i  A 
.'i.(i34.l02  A 
S.ti36.101  _\ 
S.ti42.101>  _\ 
.'i.(i44.(i.'i7  A 
S.ti66.1  13  _\ 
S.ti6ti.502  _\ 
.'i.ti665.'i2  A 
.'i.ti7.'i.361  A 
S.ti7." ..  162  _\ 
S.ti77.710  _\ 
               A 
            A 
      lkiningdal 
      lkiningdal 
        h;ms 
3       Wmanabc 
5                
<)       l'"rks 
11        Bruere-Dmvsond "I 
2       Kerber 
2  1<)90  S<l!npson 
11  1<)90              "1 
3  1991  :\oiljean 
5  1991          
1  1<)9_1  G;unlmro 
21<)9_1  Fr;m/d"l 
3  1993  Ldwards 
7  1<)9_1  Gbss d  "1 
  1<)9_1  Young 
10  1993  -L1nnenbaum et al 
121993  Knappetal 
1  1<)94  Walsh 
4  1994  Gerphcide 
7  1994  Logan et al 
<) 1<)94  C.1pps  d  "1 
11  1<)94  hmsl 
12  1994  Robc11s 
I  1995  Clough d  al 
.11<}95  Tch"'' d  "1 
  1995          d  al 
101995  Boicetal 
10  1<}95  Beernink d  al 
11  1<}95  \1omn el  al 
12  1995  Spo.:der 
1  1<)<}(,  Yasul"kc 
1  1<)<}(,  \1e"'ld"l 
2  19%  Vliller et al 
419%  Vlcierdal 
ti  1<)<}(,  C.1pps 
ti  1<)<}(,  Gillick el  al 
  19%  Gillespie d  al 
  1<)<)(,  Gillespie  cl  al 
  1<)<)(,  Tu 
10  19%  Robc11s 
10  19%  Tdlao 
10  1<)<}(,  Gerpheide el  al 
II  19%  Ymes.l\' 
12  19%  Cipolla d  al 
12  1<)<}(,  Prince 
12  1<)<}(,  Tch"'' d  "1 
12  19%  Gourdol 
12  19%  Stein et al 
12  1<)<}(,  Gourdol 
I  1997  l'agallo et al 
1997  Frwman et al 
1<)97  Gourdol 
1<)97  C.1pps 
3  1997  lkemink d  al 
4  1<)97  TR'W  cl  al 
5  1<}97  Bons"H 
5  1997  Bo;-inovk  d  al 
5  1997  Capps 
ti  1<)97  Bons"H d  "1 
ti  1<)97  Gopherd"l 
71997  Cappsetal 
<) 1<}97  I og;m 
<) 1<}97  C.1pps 
9  1997          d  al 
10  1997  S<llllilli 
10  1<)97  Clough d  al 
10  1<)97  Thompson-Rohrlich 
II  1997  llargreavesdal 
I  19n  Capps et al 
US  7,812,828  B2 
Page 2 
5.729.249  .\ 
5.72<}.250  -\ 
5.730.1(,5  .\ 
5.73ti.97ti  .\ 
5.741.9<}0  -\ 
5.745.11(,  -\ 
5.745.71(,  .\ 
3       Yasutake 
3        Bishopd "1 
3       Philipp 
4       Cheung 
4        Dmies 
4        Pisullm-_\mond 
      lchaodal 
           .\  .'i       Ymake 
          -\    -'        Shieh  ..........................  14-'  17_1 
           .\  .'i       llanisd al 
5.7ti4.222  .\ 
5.7ti7.457  -\ 
5.7ti7.g42  -\ 
5.790.104  .\ 
5.7<)0.107  -\ 
5.go2.s1r;  -\ 
      . .'iti7  .\ 
           .\ 
5.g2J.6<)0  -\ 
5.g21.9.10  -\ 
          .\ 
5.g25.351  -\ 
6       Shieh 
6        Ge1pheide d  "1 
6        Korlh 
       Shieh 
g        Kasserd"l 
9        Shw,rlsd"l 
9       McCloud 
      Ylomndal 
10        \1arlms d  al 
10        llansen 
10       Yl<ll'CliS  et aJ 
10        T<l!n 
5.g25.352  -\    10        Bisset  cl  al 
          .\  II       Shieh 
II       kterv>ak 
        Frischdal 
I  1999  Shieh 
3  1999           
3  19<)<)  Gillespie el  "I 
3  19<)<)  llo d  ;!I 
3  1999  :\aughton d  al 
_14-'  17.1 
          .\ 
5.g54.625  -\ 
           .\ 
          .\ 
          -\ 
5.gK1.61<J  -\ 
           .\ 
            .\  $ 
           -\ 
5.917.47(,  .\ 
5.920.309  .\ 
5.92.1,31<)  -\ 
5.9.1.1. 134  -\ 
5.943.043  .\ 
5.94.1.044  -\ 
          -\ 
5.995.10(,  .\ 
           .\ 
           -\ 
           -\ 
ti.03L'i24  .\ 
            -\ 
ti.050.g25  -\ 
ti.052.339  .\ 
ti.Otil.177  .\ 
ti.072.4<)4  -\ 
       ..  'i7(i  .\ 
ti.097.371  .\ 
ti.107.9<)7  -\ 
           -\ 
ti.131.299  .\ 
           .\ 
           -\ 
           .\  $ 
ti.l54.209  .\ 
ti.1ti0 . ."51  -\ 
            Bl 
       ..  'il5  Bl 
            B 1 
ti.222.4ti5  B 1 
ti.239.790  Bl 
ti.243.071  Bl 
ti.24ti.gti2  B 1 
ti.24<J.60ti  Bl 
ti.255.604  Bl 
            B 1 
           Bl 
            Bl 
ti.292.1n  Bl 
4  1999  Shieh  .........................  34.'i  173 
4  19<)<)  Small  el  al 
6  1999  C;-ernic<:ki 
7  1999  Bisset  d  al 
7  19<)<)  Bishopd "1 
g  19<)<)  Shieh 
  1999  lumhata et al 
g  19<)<)  \1arlindli d  al 
11  19<}<)  L"re 
II  1999  :\aughton d  al 
12  1999  Kasser 
12  19<}<)  Freem;m 
2 2000  :\aughlon d  al 
2 2000  Kunen 
3 2000  ]_e\)' 
4  2000  :\ichol d  "1 
4  2000  1-renkd  d  al 
.'i  2000  lujimoto 
6  2000  :\guyen 
7 2000  Leu  et al 
  2000  Siddiqui  d  al 
g 2000  L"re 
10 2000  Smith el  al 
102000  Raabetal 
10 2000  Ylikula-Ctutis d  al 
11  2000  Sch\\arls el  al 
II 2000  l<lleev  ........................  34.'i  173 
II 2000 
12  2000 
2 2001 
3 2001 
3 2001 
4  2001 
.'i  2001 
6  2001 
6  2001 
6  2001 
7 2001 
g 2001 
9  2001 
9  2001 
9  2001 
:\aughton d  al 
:\aughlon d  al 
Seely el  al 
Cole 
Balh!re 
Kumarel al 
Yl<lltindli d  al 
ShwaJtsd al 
err;,-," d  al 
Kimlydal 
lokioka ct al 
-\mro el  al 
Philipp 
LaFleur 
Bcmstein ct al 
         Bl 
6 ..  123.1>49  Bl 
6.344.U>l  Bl 
6.347.290  Bl 
6 ..  177JJO<J  Bl 
6 ..  1l>O.<J3!  Bl 
          Bl 
6.4l4.(i7J  Bl 
6.42!.234  Bl 
6.4.'i25l4  Bl 
6.4.'i7.3.'i.'i  Bl 
6.466.(!36  Bl 
6.5!S.ti6<J  Bl 
6525.749  Bl 
6.53.''.200  B2 
6.543.tig,J  Bl 
6543.947  B2 
6570557  Bl 
6.5<J3.<Jl6  Bl 
6.ti!O.'H6  B2 
6.(i24.iG3  Bl 
6.ti39.577  B2 
6.ti."0 ..  1l<J  Bl 
             Bl 
6.(i7Q.g94  B2 
6.ti77.<J32  Bl 
6.(>77.934  Bl 
6.724.366  B2 
6.7."7JJ02  Bl 
6.1>03.<J06  Bl 
6.g42.(i72  Bl 
6X'i6.2.'i9  Bl 
6.1>1>1>.536  B2 
6.900.795  Bl 
6.927.761  B2 
6.<J42.57!  Bl 
6.<J6." ..  17S  Bl 
6.972.401  B2 
6.<J77.ti66  Bl 
6.<JK''.l>Ol  Bl 
6.992.(i.'i9  B2 
7mt.221>  B2 
7.0g,J.l>-':;<J  Bl 
7.129.416  Bl 
7.240.21>9  B2 
R!A0.1."_1  F 
7 ..  139.51>0  B2 
2002  OJJgg4g  At 
2002  0140(>61>  At 
200_1  000(,<)74  _\  l 
2003  007(>301  At 
20o3  007(i3m  At 
200_1  007(>_106  _\  l 
200_1  ()()<))()<)_';  _\ l 
2003  0095096  A 1 
20o3  oong:;:;  At 
200_1  0132<)-':;0  _\] 
2003  0!64iQO  At 
2003  020(>202  At 
200_1  02347@  _\  l 
2004  014tiM<g  _\! 
2004  02634il4  At 
2005  00!2723  _\] 
2005  00-':;242-':;  _\] 
2005  0104U>7  At 
2005  OJ  to76g  At 
200(i  0022<)-':;-':;  _\] 
200(i  0022<)-':;6  _\] 
200(i  002(>52 t  At 
200ti  002tiH'  _\  l 
200(i  002ti536  _\] 
200(i  0032(>110  At 
200(i  0033724  At 
t I  200 I  Westerman eta! 
!1  2001  lle     
2  2002  :\aughton et al 
2  2002  Banktt 
4  2002  Philipp 
4  2002            d  at 
(i  2002          et al 
7  2002  Gillespie ct  a! 
7  2002  Ricks ct  al 
<J 2002  Philipp 
to 2002  Philipp 
!0 2002  Philipp 
2  20o.1  \1ohri 
2  2003  Vloran eta! 
_1 20o.1  Philipp 
4  20o.1        ct  ,] 
4  2003  Lee 
5 2003  Westerman eta! 
7  20o.1  _\roy"n 
11 20o.1            d  at 
<J 2003  Kumar ct  al 
!0 20o.1          
!1  20o.1  llurst ct  al 
12  2003  Vlc\lliHan 
12  2003  Vlehring 
1 2004          
I  2004  B!andmrd 
4  2004  Crawford 
(i  2004  {)ross ct ,] 
!0 2004  \1orrison ct  al 
I  2005  Straub eta! 
2  2005  Shmp 
5 2005                ,] 
5 2005  Knight.  111  d  a! 
11 2005  Badaye ct al 
<) 2005  \k\llisler d  at 
!1  2005             at 
12  2005  Akitt  eta! 
!2 2005  Hedrick 
1 200(i  Stmub    ,] 
I  200(i  Gcttemy 
4  200(i  Born eta! 
11200(i  Pryor 
!0 200(i  Steinfdd d  at 
7  2007  :\aughton et al 
_1 20011                ,] 
_1 20011                ,] 
11 2002  Karpenstein 
to 2002  Crawford 
1 20o.1  Clough ct  al 
4  2003  Tsuk eta! 
4  2003  lluppi 
4  20o.1  i'"'lesky d  at 
520o.1  Pihl"j" 
5 2003  Robbin ct  al 
5 2003  Perski  et al 
7  200_1  Sumcu d  at 
<J 2003  Kent 
t I  2003  Vloriya 
!2 20o.1  Rekimolo ct  ,] 
7  2004  Treat 
12  2004  Vlontysalo d  a! 
1 2005  p,Jtako!T 
.12005  i'"'leski ct  ,] 
5 2005  Westerman eta! 
5 2005  Vlmriou eta! 
2  200(i         
2  200(i  I engeling     
2  200(i  lloteHing ct al 
2  200(i  llotelling ct ,] 
2  200(i  llotelling ct ,] 
2  200(i  Hias eta! 
2  200(i  Chaudhri ct  al 
US  7,812,828  B2 
Page 3 
2006 00533117  .\1 
2006 OO(i(i-':;112  -\1 
2006 00115757  .\1 
200600'!79<)1  .\1 
20060!<)775_1  -\1 
2006 02.12-':;(,7  -\1 
200602311.'il7  .\1 
200602311.'il11  .\1 
200602.111-':;1<)  -\1 
2006 02311520  .\1 
2006 02311521  .\1 
2006 02.111-':;22  -\1 
2007  0070050  -\1 
2007  0070051  .\1 
2007  0070052  -\1 
2007  0071191<)  -\1 
2007  0011172(>  .\1 
2007  022<J4(i4  .\1 
2007  02_1(i4(i(i  -\1 
2007  024742<)  -\1 
2007  025711'!0  .\1 
2007  02(,1127_1  -\1 
2007  02ti11274  -\1 
2007  02(>11275  .\1 
20011  004163<)  .\1 
2oog 0042911(,  -\1 
20011  00429il7  .\1 
20011  00429il11  .\1 
2oog 0042911<)  -\1 
2oogoJ211!112  -\1 
2009 0021411<)  .\1 
2009 0J(i011J(i  .\1 
20090244o.11  -\1 
2009 0244032  .\1 
2009 0244033  .\1 
2009 024<)2_1(i  -\1 
200902514.15  -\1 
2009 02514311  .\1 
200902514_1<)  -\1 
3 200(i  Ording 
3 200(i  I .yon ct  ,] 
4  200(i  .\mired al 
.'i  200(i  llotdling eta! 
9  200(i  lloldling 
10 200(i            ct ,] 
10 200(i  King ct al 
10 200(i  \\'esterman ct al 
10 200(i            ct ,] 
10 200(i  \\'esterman ct al 
10 200(i  \\'esterman ct al 
10 200(i            ct ,] 
3 2007            ct ,] 
3 2007  \\'esterman ct al 
3 2007            ct ,] 
4  2007            ct ,] 
4  2007  \\'esterman ct al 
10 2007  llotdling eta! 
10 2007  lloldling 
10 2007           
It 2007  llotdling eta! 
1!  2007            ct ,] 
1!  2007            ct ,] 
I t  2007  \\'esterman ct al 
2 20011  \\'esterman ct al 
2 20011            ct ,] 
2 20011  \\'esterman ct al 
2 20011  \\'esterman ct al 
2 20011            ct ,] 
6  20011            ct ,] 
t  200'!  \\'esterman ct al 
6  200'!  \\'esterman ct al 
10 200<)            ct ,] 
10 200'!  \\'esterman ct al 
10 200'!  \\'esterman ct al 
10 200<)            ct ,] 
10 200<)            ct ,] 
10 200'!  \\'esterman ct al 
10 200<)            ct ,] 
I:ORIOICiN  I'AriON'I-IJOC'UMI;N"rS 
DF 
LP 
FP 
FP 
LP 
LP 
FP 
LP 
LP 
FP 
FP 
LP 
GB 
IP 
Jl' 
Jl' 
IP 
IP 
Jl' 
IP 
IP 
Jl' 
wo 
\\'0 
\\'0 
wo 
wo 
\\'0 
\\'0 
wo 
wo 
!02-':; 129ti  _\ l 
0  .'i4(i  704  A2 
0  -':;4(i  704  _\3 
02g11692 
0 622 722  A2 
0 622 722  A3 
0 622 722  Bl 
0664504 
04649011 
ogJ7000  _\] 
ogJ7000  Bl 
1014295 
2330670  A 
02-05ti0!7  _\ 
02-304613  A 
04-23361'!  A 
06-0K1S2_1  _\ 
06-3.12620  _\ 
07-057103  A 
07-!2<)3!2  _\ 
og-211r;g3o  _\ 
2000-J(i3031  A 
W0-92 02000 
\\'0-% 07'W1  _\! 
\\'0-97  111-':;47 
W0-97 237311 
W0-97 3(>225 
\\'0-97 40744 
\\'0-911  14&>_1 
W0-9'! 31114'!  At 
\\'( >-03  01111  t 7(i 
5 2004 
(i  1993 
(i  19<)_1 
7  19<)_1 
II  1994 
II  1994 
11  19<)4 
19<)5 
<) J9<)(i 
1  19<)11 
1  19<)11 
I  2002 
4  19<)<) 
2  19<)0 
12  19<)0 
11 1992 
.119<)4 
12  19<)4 
3  19<)5 
5  19<)5 
11  19<)(i 
(i  2000 
2  1992 
_119<)(i 
5  19<)7 
7  19<)7 
to  19<)7 
11  19<)7 
4  19<)11 
7  19<)<) 
to 2003 
US  7,812,828  B2 
Page 4 
\\'()  W0200(i  OD569    2006 
Crowky. J I  (\hr  1.  l <J<J7)  "Vision](,-                            
Robotic.<  am/ /wwumrwu.<  \nlem.<.                   
Dm is,  J  cl al  (\1"y 2.  19<)4)               !land Gestures," Furo-
1"-'a/1  (f"!knme 011  (f>mpwer Vi1ion.  Stockholm, SL  l  331-340 
        Scmch  Rcron       Dec  12.  200g.  !Or  Fl'           
:\o  0(i0J(iK'i.'i 6  fikd     2.'i.  1999. six pages 
Eurorcan Scm-.:h  Rq>orl  mailed  Dec  n. 20mc  for  U' .\pplication 
'\o  OtiO!MG 1 7  lilcd  Jan  2.",  ]<)<)<)_  sc\cn pages 
h1mpcan Scardllkp011 maikd Jan  9.  2009. for  Fl' .\pplkmion '\o 
06016K12-'  likd .h!n  2.".  ]<)<)<),four pages 
!lc"P T  cl ,]  ((kl  14,  ]<)<}6)  '({man!s  3D l!;md Tracking l:sing" 
Dcfonnablc  Model."              of 1/w  2'"
1 
Imemarional Confi'r-
<'IIC<'.  Killington.  V J.  l'SA. <let  !4-!6.  !9% . .  1utomaric race am/ 
          Rt.'('(>gnilion.  lf1F Compul.  Soc ..  pp  !40-!4." 
                     Rq>ot1                 2005.!0r PC l         
tion :--:o  PC l  l'S05 OD25. fik-.1  Jcb    2005.  two       
:--:irci.  K  cl  a!  ( -\ug  5.  !996)  "llmmmll;md Tmcking from  Binocli-
h!r  Image  Sequences,"  Pr<xt.edingl  f!(llie  I'J'J6lf1F IFCO\' 22'"
1 
Imemarioua/  Con(<'l'<'!l('<',  latjNi.  kzi,wl. Aug  5-10.  1996,/ndu.'-
rria/ Uei'/ronic.,, Comrol.  and In.l/l'llll!<'illatiou  !(5) 297-302 
:--:on-Fim!l  ()Jiicc  -\clion  m"ikd Scp  21.2007.  J(lf  I.'S  -\ppl  :--:o 
ll       !5. fikd Jul  3.  2006.  seven       
:--.:on-1-inal                 maik-.t  Scp  24.2007.  for  l. S  .\ppt  :--:o 
1!  421> . ."06.  filed  Jul  .1.  2006.  six pages 
:--:on-Fim!l  ()Jiicc  -\clion  m"ikd Scp  24.2007.  J(lf  l:S  -\ppl  :--:o 
ll          fikd Jul  3.  2006.  six       
:--:on-Fim!l  On<cc  .\ction  m"ikd  Jan       20mc  ](,-!; S  .\ppl  :--:o 
1!  421> . ."22.  filed  Jul  .1.  2006.  sc1cn  pages 
:--.:on-1-inal                 maik-.t  Jcb  4.        for  l. S  .\ppt  :--:o 
ll       !5. fikd Jul  3.  2006.  six       
:--:on-Fim!l  On<cc  -\clion  mailed  Jut  <J.  2001>.  for  1:  S  .\ppl  :--:o 
1!  421> . ."21.  filed  Jul  .1.  2006.  ll P"gcs 
:--.:on-1-inal         .\dion        Sep  2.  20m:.  !Or  L  S  .\ppt  :--:o 
1!  421> . ."22.  filed  Jul  .1.  2006.  six pages 
:--:on-Fim!l  ()Jiicc  -\clion  m"ikd Scp  !5.  20mc  J(lf  l:S  -\ppl  :--:o 
ll           fikd Jul  3.  2006. eight       
:--.:on-1-inal  Ollkc              Od  3!.  20m:.  !Or  l. S  .\ppt  :--:o 
1!421> . ."!5.  filed  Jul  .1.  2006.  sc1cn  pages 
:--.:on-1-inal  Ollkc               Feb  17.2009.  !Or  l. S  .\ppt  :--:o 
ll          fikd Jul  3.  2006.  six       
:--:oticc  of .\ll<m,bility  m"ik-.1  Feb  !1.  200<),  for  1:  S  .\ppl  :--:o 
1!  421> . ."21.  filed  Jul  .1.  2006.  fi1c  P"gcs 
l. S  Appl  :--:o  ll           fikd Jan  l   2006 which  is a  Reissue of 
(>.677.932 
Wcslcrman, W  (Jan  !. 19<J<J)  "!land Tracking. Finger ldcntilic,tion. 
    Chordk  Maniputmion     V!ulti-loudl            Dissct1ation. 
l'nivcrsity of           pp  !-3D 
Final  On<cc  .\ction  mailed  \1"r  !9.  2009.  ](,- 1;  S  .\ppl  :--:o 
1!  421> . ."06.  filed  Jul  .1.  2006.  sc1cn  pages 
:--:on-1-inal         Adion       VIM  HL  2009.  !Or{.  S  .\ppt  :--:o 
1!421> . ."!5.  filed  Jul  .1.  2006.  !2  P"gcs 
:--:on-Fim!l  OJiicc  -\clion  m"ikd  -\pr  2.  200<).  ](,-!: S  -\ppl  :--:o 
ll        l. fikd Jul  3.  2006.  !!  pages 
:--.:on-1-inal               maik-.t  .\pr  2.  2009.  for  l' s  .\ppt  :--:o 
1!  421> . ."0.1.  filed  Jul  .1.  2006.  !2  P"gcs 
:--:oticc  of .\llmv,bility  mailed  Jut  !0.  200<),  for  1;  S  -\ppl  :--:o 
ll          fikd Jul  3.  2006.  fom  pages 
Rubin<:.  D  (\hy 1<)92)  "Combining Gestures ;md  Direct  \1;mipli-
h!tion." {']II  '<)2,  pp  659-660 
l. S  Appl  :--:o  !2 342.027. fik-.t      22. 2001>.  by \\'cstcrman ct   
ts  Appt  :--:o  !2422.l97.fik-.l.\pr                         
1: S  .\ppl  :--:o  !2 422.20.".  Jikd -\pr  10.  200<).  by \\'cslcrman cl  a! 
1: S  .\ppl  :--:o  !2 422.2!2. Jikd -\pr  10.  200<).  by \\'cslcrman cl  a! 
l. S  Appt  :--:o  !2 422.222.  fik-.t  .\pr  JO.  2009. by           ct   
l. S  Appt  :--:o  !2 422.225.  fik-.t  .\pr  JO.  2009. by           ct   
1: S  -\ppl  :--:o  12  434.43<),  filed  \1ay  1.  2009. by Wcslcnmm cl  ,] 
1: S  -\ppl  :--:o  12  47<),."7.1.  filed  Jun  5.  2009.  by \\blcrman cl  a! 
l. S  .\ppt  :--:o  !2 479.6!7. fikd Jun  5.  2009.  by           ct   
l. S  .\ppt  :--:o  !2 479.671>.  fikd Jun  5.  2009.  by           ct   
('ui.  Y  ct  at  (!996)         Segmentation  l'sing                    
                 Verification for I l;md Sign Recognition." Pmneding1 
of  rile 1996/UOJO Compuler Sociel)  Cou{in'ni'<'OI! Computer l/.1/on 
and l'allem R<'i'OJi!lilion.  pp  1>1>-93 
Fim!l  On<cc  .\ction  m"ikd  :--:m  19.  2009.  for  1: S  -\ppl  :--:o 
!1  421>.51 .".  Jikd Jtil  3. 2006.  !4 pages 
             Ollkc                Aug  25.2009.  for  l. S  Appt  :--:o 
ll 421>.522.  fik-.t  Jut    200(i.  six  pages 
:--:on-Final  On<cc  -\clion  m"ikd  Scp  2.  2009.  for  1;  S  .\ppl  :--:o 
!1  ."59,7.16.  Jikd :--:m  !4. 2006.  12  pages 
                    Adion        <let  5.  2009.  !Or  L  S  Appl  :--:o 
!1  ."59,7<)9.  Jikd :--:m  !4. 2006.  14  pages 
:--:on-Final  <ln<cc  .\ction  mailed  {lei  6.  2009.  for  1;  s  .\ppl  :--:o 
ll            fik-.1  :--:ov  !4. 2006.  24       
                    Adion  maik-.t  <let  14.  2009.  for  l. s  .\ppl  :--:o 
!1  421>.50!.  Jikd Jtil  3. 2006.  six  P"gcs 
:--:on-Final  On<cc  .\ction  m"ikd Ocl  2<J.  2009.  j(,-1: s  -\ppl  :--:o 
ll  559.1>22.  fik-.1  :--:ov  !4. 2006.  ll      
                    Adion  maik-.t  <let      2009.  for  l. s  .\ppl  :--:o 
!1  421>.503.  Jikd Jtil  3. 2006.  nine  pages 
:--:on-Final  On<cc  -\clion  m"ikd      22.  2009.  j()f  l: s  .\ppl  :--:o 
ll            fik-.1  :--:ov  !4. 2006.  six       
                                      27.  20!0.  !Or  l. S  .\ppt  :--:o 
!1  421>.522.  Jikd Jtil  3. 2006.  fi1c  pages 
:--:otkc  of Allowability  maik-.1  Scp  2.  2009.  for  l. S  .\ppl  :--:o 
ll 421>.506.  fik-.t  Jut    200(i.  five       
         D  II  (Dec  l<J<Jl)  "The  -\ulomalic              of Ges-
tures."  C\ft:-CS-<Jl-202.  Submitted  in  l'"rli;!l               of  the 
Requirements  of the  Degree of Dod or  of Philosophy  in  Computer 
        m ('arnegic V!dlon  t:niversity.  21>5       
1;  S  -\ppl  :--:o  10 6."4.!01>.  Jikd Scp  2. 200.1 cnlitkd _\mbidcxlrolis 
\1olisc" 
L  S  .\ppt  :--:o  JO  71>9.67(>.  fik-.t  Feb  27.  2004  cmitk-.t  "Shape 
Detecting lnplil  Dc1icc" 
"4-\\'irc  Rcsisli1c  Touchscreens"  obt,incd  Jfom  hllp  www 
                                              htmt  generated  Aug 
5.2005 
"5-\\'irc  Rcsisli1c  Touchscreens"  obt,incd  Jfom  hllp  www 
lolichsnccns com  inlro-lolichlypcs-rcsislilc  him!  gcncmlcd  -\ug  5. 
2005 
"A  Brief (lvervk'V>'  of Gesture               obtained  from  http 
wwwdai cd ac  uk  C1<mlinc  I()('_\  COPIES CO!I!O:--: 
gesture  ovenk-v. hun!.            Apr  20.  2004 
           loudls<:rccns"           from  http                    
com inlro-lolichlypcs-c"p"cililc him!  generated .\lig  .".  200." 
"(-ap,cili\c Position  Sensing" obt,incd  from  hllp  www symtplics 
    K-.:hnology           generated Aug  5.  2005 
"Comparing        Jcdlnologics"            Jlom  http  ""'"" 
lmtchsnccns com  inlro-lmtchlypcs him!  gcncmlcd { kl  !0. 2004 
"GiidcPoinLR"  obtained  from  http  """ cirque com technology 
tedlnology  gp htmt  gcncmK'<l  .\ug  5.  2005 
"!low  do                 monitors  know  where  you're             
obt,incd  from  http  """ dcctronics  howsllill'works com qucs-
tion7J(i  htmt gcncmK'<l  .\ug  5.  2005 
"!low  docs  a                 work''"             from  http  www 
lmtchsnccns com  inlr<Hm,lomy him!  gcncmlcd .\lig  .".  2005 
"!nlfarcd                 obtained  from  hllp  www lmtchsnccns 
                             hun!  generated Aug  5.  2005 
"Mouse  Fmutmion"  Fingcr\Vorks  obtained  from  http  ""'"" 
fingcrworks com  gesture  guide  molls<:  him!  gcncmlcd  -\ug  30, 
200." 
"Mouse  Gestures  in  <  lpcra"            from  http  w\\w opera wm 
         desktop mouse  index dml  generated Aug      2005 
"\louse Gestures," (lplim O/,  \hy 2!. 2004 
"\ltilliTouch  {h-c!Yic\\"  Fingcr\\'orks  obtained  from  hllp  www 
fmgcrworks  wm multovcrvk'V>' htmt  gcncraK'<l  Aug  30. 2005 
":--:em- J-idd                           obtained  from  http  ""'"" 
lmtchsnccns com  inlro-lmtchlypcs-nfi  him! gcncmlcd .\lig  .". 2005 
"PcnTouch  Cap,cili\c  Touchscreens"  obt,incd  Jfom  hllp  www 
                                            htmt  generated  Aug 
5.2005 
US  7,812,828  B2 
Page 5 
         Awustk \\'ave                           !lom  http  v.v.w 
touchscreens com inlro-louchlypcs-smv html  gcncmlcd  _\ug  -' 
2005 
"Symbol  Commander''  obtained  !lom  http  v,v./v.;  scnsiva com 
symbokmmmdcr. gcncmlcd _\ug  30.  200." 
Tips  for  Typing"  FingcrWorks  hllp  www fingcn\orb  com 
mini  typing html              .\ug  30.2005 
"Touch Technologies ( >vcrvk'V>'"  200 l. 3V!  Touch Systems.  Y!assa-
chusdls 
"Wawm  Components  Technology"             !lom  http  v.v.w 
wawm-componcms wm english  tech asp  gcncmK'<l  on  <kt  to. 
2004 
watershed .\lgorilhm" hllp  r;b inJ(,  nih g<"- ij plugins w"lcrshcd 
hun!  generated Aug  5.  2005 
r;ngcrWorks  Gesture         -\pplicalion  Sv.ilching."  obtained 
from  hllp  www fingcn\orks  com  gesture  guide  apps  htmL     
emK'<l  on Aug  27.  2004.  1-pg 
''Finger\Vorks  Gesture  Guide  Lditing."'             !lom  http 
"""             com        guide          htmL           on 
-\ug  27.  2004.  l-pg 
''Finger\Vorks  Gesture  Guide  t-ile  Opcmtions."'  obtained  !lom 
http  """             com         guide  files  him!.          
on -\ug  27.  2004.  l-pg 
''Finger\Vorks  Gesture Guide  !ext Manipulation."'            !lom 
http  \\V.W fingetworks  wm gesture  guide  text  manip html. 
          on .\ug  27.  2004. 2-pg 
''Finger\Vorks  Gesture  Guide  Tips  and  Jrkks."'             !lom 
http  \\V.W fingetworks  wm gesture  guide  tips html.  generated 
-\ug  27.  2004.  2-pgs 
                      Guide 
fingetworkscom  gesture  guide 
2004.  1-pg 
                from  http  """ 
webhtml.  genemK'<l  on  .\ug  27. 
              Guide  lo  Hand           {(,- t:SB  Touchpads." 
obtained  from  http  v,v.w fingetworks com igesture  uscrguide 
hunt.  genemk'<l Aug  27.  2004.  1-pg 
                       Technical  Details."'          lfom http 
"""             com           tech html.            -\ug  27. 
2004.  1-pg 
                  {lnly  Touchp"'ls  with  Ergonomic  Full-lland 
        mul                        from  hllp  www fingerworks 
com resting html. ('opyright  200 I.  t -pg 
''Finger\Vorks  Tips  tOr  Typing on the  Mini." obtained  from  http 
"""             com mini  typing htmL            on  -\ug  27. 
2004.  2-pgs 
''iGesture  Pad  the  MultiFinger  l'SB  louchPad  with \Vholc-lland 
                    Jfom  hllp  www fingerworks com igesture 
hlml.            .\ug  27.  2004. 2-pgs 
Bier. et at  . ''loolglassand Magic  l.enses  The see-through imer!Uce" 
In  James  Kijiya.  editol".  Computer Gmphics (SIGGK\PII  '93  Pro-
           \ol  27.  pp  73-1>0 ..  \ug  1<)<)3 
Buxton.  W  et  al  (Jul  22.  !9l>.'i)  ''Issues  and  Jcchniques  in  'J(ntch-
Sensitive  Jab let  Input." Pmceediug< .1('Jf              pp  2 t.'i-224 
Culler.!. D     al  (-\pr  27.  1<)<)7)  "hvo-!lan<kd  Direct  \l;mipula-
tion on                               Pmcealing< f!(the  I'JY7 Sym-
po.<ium  oulnterai"/h'<'  3/l  (irap/iic.<.  Providence.  Rl.  .\pr  27-30. 
1997.  pp  !07-1 14 
Dmis.  J  d  al  (Oct  .11.  1<)<}4)  Determining  3-D  !land  \lotion," 
           \Diem.< am/('omplller.<. 19Y.J ('ou{innc<' Raord of"t/w J,\"
1
' 
A.<ilomar  Coufi'I"<'IIC<'  011  l'aci(u  (imve.  CA.  Oct  3 l -:\ov  2.  l 994. 
!.os -\lamitos. { .\, pp  1262-1266 
Doug his  et  at.  The  Ergonomics  of           Pointing      ices 
(!997) 
European                         in  FP  1  621  <)l><)  ((a.  13<J"<"r 
1/im<r &  l"/wma1,  !Il')       \lar  27. 2006 
F\"B  Llektmnik  '"TSOP623g  IR  Receiver  Modules  !Or  Infrared 
Remote Comml Systems" daK'<l  Jan  2004  1-pg 
Fisher    al  .              \lotion Disonkrs  The  Design of { lptimal 
     Rest                     hJclors.  3."(2) 21>3-304  (.hm  I <)<)3) 
lukumoto. cl al  . ''.\ctiveClick  lactilc h'<..'<lback  for Touch Panels." 
!nC!l!2001  Summary.pp  121-122.2001 
Fukumoto  and  Yoshinobu  Ton<Hnum.  "'Body  Coupk-.1  Fingering 
\Virekss \Veamblc               CII/97. pp  147 -l.'i4 (Mar  1997) 
llardy.  ''lingetworks"' Mar  7.  2002.  BBC  World On Line 
Hillier  and  Gerald  J  Lieberman.  Immdui"lion  10  OpNatiom 
R,.,.,.w-,h (l<Jl>ti) 
Jacob et  al  .  ''Integrality and  Sepmability of Input  Devices."' AC:\.1 
fiwl.<aNiou.<  011  Complller-llumau Imeracliou.  I  3-2ti (Mar  1994) 
Kinkk]' et al  .                 lnput             in  c!l!  '<)<)           
ings.  pp  22.1-230.  1<)<)<) 
Kl<l:\X ""K.'\Pl>4 Series Summmy Data         copyright2005.dak'<l 
<let  21.200.'i.4-pgs 
I       at."".\  \lulli-"!(ll!ch                                    "!iJb-
lct."'  in ("Ill  g:;  Procwdings.  pp  121-121>.  2000 
l.ee. "".\  last  Multiplc-Jouch-Sensitive Input Device." Master's  I he-
sis.              of'l(m>nto (I <}1>4) 
I     S  K  et  at  (-\pr  191>5)  "'_\  \luhi-"!(ntch                   
Touch-Sensitive  Jabkt." l'nxeeding<  of Cllf: .1CJ! Cou{innc<' on 
1/uman Fa('for_,.  in Compwing s_,  l'lem_,._  pp  21-2.'i 
\hlsllshila et  at  , "!lolo\\';J!]            a          1  l;md,  Body ;md 
<  >bject  Sensitive \Vall." In                  of l-IST '97. <  >ct  1997 
Pavlovic.\' I  d  al  (Jul  l 997)  "Visual  Interpretation of !land Ges-
      !(>r                   !ntemction  -\            ff1F liYw\ac-
Jion_,.  on Pall em Anal},.;,- and Mmliill<" !md!igmce  19(7) ti77-6<}5 
QuiUllum  Research  Gmup  "QT.'ilO  Q\Vk-cl'"  Touch  Slider  IC" 
copyright  2004-2005,  14-pgs 
                       Gestuml                ff1F  .lfu!Jirll<"dia, 
3  36-47 (\\'inter  1996) 
Radwin.  ".\ctivation  Force  and  Travel  Effects  on  Overexenion  in 
                Tapping."  1/uman  Factor_,._  .1<)(1)  1.10-140  (\hr 
1997) 
Rckimoto "Smm1Skin  .\n lnllasm1cture !Or  Freehand  Manipulation 
on lntemcli1e            Cl 11 2002,  -\pr  20-2.'i.  2002 
Rckimoto cl  al  ,              Erl'-'cti1e  l:se of     Physical  \lanipll-
lation Vocabularies oflnput  Devices." In  Pmc  of LIST 2000.2000 
Rubine et al. "Pmgmmmablc l-inger-Tracking lnstmment Contml-
krs," Complll<"r .lfu,-;,- .lemma/. \ol  14.  :\o  1 (Spring  I <)<)0) 
Rutk-.tge d  al  . "Force-To-Motion !unctions !Or  Pointing."  lluman-
Computer Interaction  1:\TLR.\C I  (1990) 
         -\hmmL "_\  l:sabk            .1D  !land Tmcker,"           
ings  of  the  2l>th  .\silmmlf  Con!'-'rence  on  Sigm!ls.          ;md 
Computers  Pm1  2 (of2).  vol  2 (Oct  1994) 
          lnstrumcnts "TSC2003  !2C "!(ntch         Conlrolkr"  Data 
      SB.\S  1ti2,  <hik-.1  <let  2001. 20-pgs 
Wellner. "I he  Digital  Desk Calculators  L'lllgiblc Manipulation on a 
Desk Top  Display"  In  .\CM LIS I  '9 l               pp  27-34. :\ov 
1<)<)1 
Williams.  "-\pplicalions  J(>r  a  Switched-Capacitor  lnslmm@lalion 
Building  Block" Linear kchnology Application :\ote 3.  Jut  191>5. 
pp  1-16 
Yamada    al  . ".\ S\\                            !(>r capacili\e     
sure Sensors"  ILLL  Transactions on  lnstnunentation  and  Measure-
ment.  vol  41. :\o  I. Feb  1992.  pp  gj.g(i 
       at.  "Switched  Capacitor           Cirelli!  !(>r            
Transducers"  !9K'i  11:1:10 
/.hai et al  . "Dual SlJ'eamlnput !Or Pointing and Scmlling." l'mceed-
ing, f!((Jff ''J7 FHended Aim  ram (1997) 
              al.  ".\pplying  Electric  Field  Sensing  lo  !lummi-
Computer Interfaces."  In  Clll  'K'i                pp  2g0-21>7.  t 99.'i 
lntemational SeiUch  Repolt            in  conesponding PC I  applica-
tion  :\o  PCT  t:S2006 001>34<)        <Jet  ti,  2006 
lntemational  search  repo11  !Or  PCT  LS99 01454.  mailed  May  14. 
1999 
Fl!roJl"an              search        J(>r  hm>Jl"an Patent .\pplica-
lion  :\o  <}<)<)04221>  ti.  maikd     lti.  200_'i 
Suppkmentmy IClll'opean search repon !Orl  S  Appl  :\o  9990422g 
6. mailed  Jut  1>, 2005 
hm>Jl"an  examination  repm1  !(>r  European  patent  -\pplication :\o 
99904221>  ti.  maik-.t  Apr  20.  2006 
Lumpcan examination  repo11  !Or  Lumpcan  Patent  .\pplication :\o 
<)<)<}04221>  ti,  maik-.1  \lar  n. 2007 
         European  search  repm1  !(>r  European         -\pplicalion 
:\o                          21.2007 
         European  search  repm1  !(>r  European         -\pplicalion 
:\o  060161>56  4.  maikd \lar  14,  2001> 
Lumpcan examination  repo11  !Or  Lumpcan  Patent  .\pplication :\o 
or;o J6g3o 9.  maik-.t  Aug  ti.  2oog 
US  7,812,828  B2 
Page 6 
        scardl  n:p011  !Or  European  Patent  .\pplkation  :\o 
06016K10 <) maikd     3.  2007 
h1mpcan examination  rcron  for  h1mpcan  Pmcnt  .\pplkmion  :\o 
                 Scp  Hi.  20m: 
        of .\llow;mcc  m"ikd  \1ar  n.  2010,  j()f  t:  s  .\ppl  "" 
11  421> . ."01,  filed  Jul  .1.  2006. eight  pages 
h1mpcan Scardl  Rq,ot1  maik'<l  h:b  17.2010.  for  FP Applkation 
'\o  0(i0J(iK'i7  2.  six  pages 
Eurorcan Sc,rch  Rcpm1  maikxl  Feb  24,  20!0.  J(lf  EP .\pplication 
'\o  0(i0JMG3 3.  nine       
Sun  V!kmsystcms  ( 1992)  "J he  Stm-7  I'D.\  l'mtotypc."  located  at 
<hUp  wwwyoulubc com w"lch'l,- .\hgl>< >BYixl 0.  last  'isitcd 
Jan  15.  2010.  seven       
Tomita. A  Jr  d  al  ('\ov  9.  1997)  "An Image l'mccssing VIet hod !Or 
l:sc in  a GU for the Vi>tmlly  Impaired." l'mceeding1 c4 i/u_/FCO.V 
97: 23"
1 
lwemaJiona! Cot!fi'nlln' 011  fnduwrial Fhctro11in.  (fmtml 
and fii.<II'WII<'illation.            Orleans.  L\. :\ov  9-14.  1997.  pp  264 
2(ii-: 
* cited by examiner 
U.S.  Patent 
24 
Oct.12,2010  Sheet  1 of 45  US  7,812,828  B2 
4 
2 
FINGER 
SYNCHRONIZATION 
DETECTOR 
22 
ELECTRODE 
6 
SCANNING 
HARDWARE 
CALIBRATION AND 
8 
PROXIMITY IMAGE 
FORMATION 
CONTACT  10 
TRACKING AND 
IDENTIFICATION 
HAND 
MOTION 
COMPONENT 
EXTRACTION 
17 
18 
16;....----"'----, 
HOST  HOST 
20 
i+-___j  COMPUTER  ~ - 1  COMMUNICATION 
L_  __  ..-J  SYSTEM  INTERFACE 
FIG.  1 
U.S.  Patent  Oct.12,2010  Sheet 2 of 45  US  7,812,828 B2 
32 
35 
46 
45 
' 
34 
48 
31  36 
~ 3 7 
FIG.  2 
U.S.  Patent  Oct.12,2010  Sheet 3 of 45  US  7,812,828  B2 
32 
39 
33 
40 
46  45 
58 
34 
48 
30  31 
41 
FIG.  3A 
69 
39 
58 
34 
41 
FIG.  38 
U.S.  Patent  Oct.12,2010  Sheet 4 of 45  US  7,812,828 B2 
32 
FIG.  4A 
5( 
43 
n  n  n 
\, 
44 
n  n  n 
\, 
TIME 
FIG.  48 
U.S.  Patent  Oct.12,2010  Sheet 5 of 45  US  7,812,828 B2 
46\  44\ 
r 
)3 
\.. 
'-
v-43 
46/ 
'24 
W"" 
!'I 'i 
47\ 
ds  ~ 1 
30 
33 
32 
)5 
\. 
4( 
FIG.  5A 
46\  44\ 
4 ~  4 ~ 
47 
4 ~ 
4 ~ 
4 6 ~ 
44-' 
FIG.  58 
j5 
.5Q 
35 
-
5 5
r ~ : r 3 7 
34 
FIG.  6 
~ 
'JJ 
 
~ 
""  ;-
= 
..... 
0 
n 
,... 
- p 
"' 
0 
- 0 
00 
"" 
" 
" 
-
"'  0 
~ 
.. 
'JO 
~ 
"' 
-...) 
Oo 
-N 
~ 
00 
s 
U.S.  Patent  Oct.12,2010  Sheet 7 of 45  US  7,812,828 B2 
58 
66 
70 
M 
63 
8 
61  60 
K 
69 
68 
FIG.  7A 
71 
s 
58ah 
67 
65  66 
70 
M  8 
K 
69 
68  64 
FIG.  78 
7 ~ 
76 
H  47  H 47  t::1  47  t::147  t::1  47  t::147  D 47  0  47  ~ " 
.,., 
-
0 
0) 
43  ../  ' 
'IT'  'IT'  IT'  IT'  IT  IT  T'  T' 
l'l,   .  ~ . 
34  '  1. 
( 
~ 
'JJ 
 
~ 
"" 
It 
= 
.... 
0 
n 
,... 
- p 
"' 
0 
- 0 
00 
"" 
" 
" 
-
""  0 
~ 
.. 
'JO 
~ 
"' 
__, 
Oo 
-N 
Oo 
N 
00 
Cll 
N 
U.S.  Patent  Oct.12,2010  Sheet 9 of 45  US  7,812,828 B2 
78'\ 
78'\ 
76':::J 
0  Q 
77'\ 
80 
75'\ 
'\ 
75'\ 
/ 
81/' 
79 
'-.-./ 
FIG.  9A 
/' 
44 
7 ~  7l 
76 
7(_ 
\....., 
7( 
.1 
7(_ 
FIG.  98 
44/' 
U.S.  Patent  Oct.12,2010  Sheet 10 of 45  US  7,812,828 B2 
FIG.  10 
U.S.  Patent 
85 
90 
Oct.12,2010  Sheet 11  of 45  US  7,812,828 B2 
FIG.  11 
U.S. Patent  Oct.12,2010  Sheet 12  of 45  US  7,812,828 B2 
FIG.  12 
U.S.  Patent  Oct.12,2010  Sheet 13  of 45  US  7,812,828  B2 
~ 4 
E 
202  I 
u 
(f) 
~ 
X 
<( 
' 
> 
-
w 
0 
<( 
lL 
a: 
::0 
(f) 
201 
z 
0 
z 
~ 
0 
f-
(f) 
0 
a. 
...J 
0 
<( 
r ~  0  . 
f-
a: 
w 
> 
207 
FIG.  13 
U.S.  Patent  Oct.12,2010  Sheet 14 of 45  US  7,812,828 B2 
12 
'[ 10 
rJ) 
~ 
c  8 
w 
0 
i't 
a: 
:::> 
Ul 
z 
0 
z 
0 
f-
Ul 
0 
0.. 
...J  0 
{3 
tr 
w -2 
> 
202  203  204  205 
h  ,-1--,  ,.-1--,  r-.C., 
201 
0  2  4  6  8  10  12  14  16  18 
HORIZONTAL POSITION ON SURFACE (X AXIS em) 
FIG.  14 
U.S.  Patent  Oct.l2,2010  Sheet 15 of 45  US  7,812,828 B2 
14 
12 
~  10 
(fJ 
202 
,i-, 
>< 
..: 
,.. 
8 
-
llJ 
0 
..: 
6  u. 
a: 
:::J 
(fJ 
z 
4 
0 
z 
0 
f- 2 
203  204  205 
~ 
(  ( 
) 
~ 
(fJ 
0 
a. 
_J 
0 
..: 
0 
f-
a: 
llJ  -2 
> 
207 
206 
-4 
- 6 ~ - - ~ - - - - L - - - ~ - - - L - - - - L - - - ~ - - ~ ~ ~ L - - - ~ - - -
0  2  4  6  8  10  12  14  16  18 
HORIZONTAL POSITION ON  SURFACE  (X  AXIS  em) 
FIG.  15 
U.S. Patent  Oct.12,2010  Sheet  16  of 45  US  7,812,828  B2 
243 
PATHS FROM 
PREVIOUS  IMAGES 
247 
CURRENT  240 
PROXIMITY 
IMAGE 
PARAMETERIZED 
LECTRODE GROUP 
NEW PATHS & 
UPDATED PATH 
PARAMETERS 
241 
242 
246 
248 
HAND  FINGER &  PALM 
IDENTIFICATION  IDENTIFICATION 
~ ~ ~ ' - - - - - - ' 
IDENTIFIED 
CONTACT  PATHS 
ESTIMATED HAND & 
FINGER OFFSETS 
FIG.  16 
250 
251 
U.S.  Patent  Oct.12,2010  Sheet  17 of 45  US  7,812,828  B2 
(START) 
l 
GET HAND'S  r2so 
IDENTIFIED PATHS 
~ 
COMPUTE  OFFSETS BETWEEN 
EACH FINGER'S MEASURED AND 
r25 
4 
DEFAULT POSITIONS 
! 
COMPUTE AVERAGE OF 
r255 
OFFSETS WEIGHTED BY 
CONTACT PROXIMITY 
~ 
ADJUST FILTER POLE TO 
v-256 
CURRENT IDENTIFICATION 
CONFIDENCE 
~ 
COMPUTE WEIGHTED 
r257 
AVERAGE OF  HAND 
CONTACT VELOCITIES 
! 
AUTOREGRESSIVELY UPDATE HAND 
v-
OFFSET ESTIMATES FROM MEASURED 
258 
OFFSETS AND VELOCITIES 
~ 
UPDATE FINGER  r2s9 
OFFSET ESTIMATES 
~ 
CONVERT ESTIMATED OFFSETS  r2 
60 
TO ABSOLUTE POSITIONS 
~ 
(  END 
FIG.  17 
U.S.  Patent  Oct.12,2010  Sheet 18 of 45  US  7,812,828  B2 
CURRENT 
PROXIMITY 
IMAGE 
DIFFUSE 
CURRENT IMAGE 
SMOOTHED 
PROXIMITY 
IMAGE 
SEARCH  FOR 
SIGNIFICANT 
LOCAL MAXIMA 
LOCAL 
MAXIMUM 
PIXELS 
240 
262 
263 
267 
FLATIENED 
FINGERTIP 
FEEDBACK 
252 
ESTIMATED HAND 
POSITION OFFSETS 
265 
DEFINE SEGMENTATION 
STRICTNESS REGIONS 
268 
CONSTRUCT ELECTRODE 
GROUPS AROUND LOCAL 
MAXIMUM PIXELS 
COMBINE 
OVERLAPPING 
GROUPS 
FIT ELLIPSES TO 
COMBINED 
GROUPS 
PARAMETERIZED 
ELECTRODE GROUPS 
FIG.  18 
270 
272 
266 
242 
U.S.  Patent  Oct.12,2010  Sheet 19 of 45  US  7,812,828 B2 
274 
279 
FIG.  19 
U.S. Patent  Oct.12,2010  Sheet 20 of 45  US  7,812,828 B2 
15 
282 
-
10 
+  +  + 
+  252 
+  + 
   
   
+ 
\     
5 
0  284 
lr-285  28!r 
286 
-
-
+  +  +  + 
-5 
-20  -15  -10  -5  0  5  10  15 
'E 
-2-15 
5 
1-
(J)  10 
a? 
w 
  5 
II 
:::> 
(J) 
....J  0 
() 
I-
II  -5 
282 
-
     
2F 
/ 
284 
[--- 285 
-
+  + 
FIG.  20A 
252_./"+ 
+  + 
+ 
 
   
286 
    
-
'-t 
252 
  -20  -15  -10  -5  0  5  10 
FIG.  208 
15 
20 
20 
                                
10 
282 
5 
0 
M  286 
                                  
-20  -15  -10  -5  0  5  10  15  20 
HORIZONTAL SURFACE POSITION (em) 
FIG.  20C 
U.S.  Patent  Oct.12,2010  Sheet 21  of 45  US  7,812,828  B2 
300 
1-------j GET NEXT ELECTRODE IN  !<-----(  A 
DIRECTION  OF  SEARCH 
RAW PROXIMITY > 
BACKGROUND? 
y 
IN  STRIC 
SEGMENTATION 
REGION? 
294 
SEARCHING 
HORIZONTAL? 
HORIZ. 
DIST. TO LOCAL MAX 
> 2cm? 
298 
TALL 
HORIZONTAL 
MINIMUM? 
REACHED EDGE 
BETWEEN PALM 
HEELS 
N 
y 
N 
N 
N 
A 
300 
REACHED BACKGROUND                 
LEVEL EDGE  f 
304 
A}<-----, 
306 
N 
SEARCHING 
N 
VERTICAL 
HORIZONTAL? 
MINIMUM? 
y  310 
y 
REACHED EDGE 
312 
BETWEEN 
FINGERTIP AND 
THUMB OR  PALM 
308 
HORIZ. 
y 
OR DIAGONAL 
MINIMUM? 
N 
REACHED EDGE 
314 
BETWEEN 
FINGERS 
FIG.  21 
U.S.  Patent  Oct.12,2010  Sheet 22  of 45  US  7,812,828 B2 
(START 
+ 
PREDICT CURRENT POSITIONS 
v--3 
20 
OF  EXISTING PATHS 
FOR  EACH  GROUP  ,-322 
FIND CLOSEST PATH 
FOR EACH  PATH,  FIND 
r-324 
CLOSEST GROUP WITHIN 
TRACKING RADIUS 
FORM  GROUPPATH PAIRS IF 
,-3 
GROUP & ACTIVE PATH ARE 
26 
CLOSEST TO ONE ANOTHER 
ATIEMPT TO PAIR REMAINING 
!,r-3 
GROUPS WITH RECENTLY 
34 
DEACTIVATED PATHS 
ALLOCATE NEW PATHS FOR ANY 
v-
336 
REMAINING UNPAIRED GROUPS 
DEACTIVATE ANY REMAINING 
,,.3  44 
UNPAIRED PATHS 
UPDATE PATH  v--346 
PARAMETERS 
+ 
(  END 
FIG.  22 
U.S.  Patent  Oct.12,2010  Sheet 23  of 45  US  7,812,828  B2 
DEFINE  IDENTITY 
A TTRACTORS AT  DEFAULT 
CONTACT POSITIONS 
TRANSLATEATTRACTOR 
TEMPLATE BY ESTIMATED 
HAND OFFSET 
COMPUTE MATRIX OF 
DISTANCES FROM EACH  PATH 
TO EACH  A TTRACTOR 
COMPUTE A TTRACTOR 
WEIGHTING FACTORS FROM 
FEATURES OF EACH  PATH 
FIND ASSIGNMENT BETWEEN 
PATHS AND ATTRACTORS 
WHICH  MINIMIZES SUM  OF 
WEIGHTED DISTANCES 
360 
HAND 
ASSIGNMENTS 
ENTATIVE? 
y 
N 
350 
352 
354 
356 
358 
364 
UPDATE FINGER 
COUNTS AND 
SUBSETS 
#  FINGE 
ATTRACTORS 
ASSIGNED> 1 
OR<5? 
362 
y 
f--N  __  --IVERIFY THUMB 
ASSIGNMENT 
368 
FIG.  23 
U.S.  Patent  Oct.12,2010  Sheet 24 of 45  US  7,812,828 B2 
12 
10 
380 
8 
E 
u  372-->< 
-
z 
6 
0 
X-375 
,_ 
<f) 
0  4 
a. 
w 
(.) 
..: 
2  u. 
a: 
:::> 
<f) 
x- 371 
-' 
0 
..: 
(.) 
;:: 
380 
a: 
w  -2 
> 
-4 
,(377 
-6 
0  2  4  6  8  10  12  14  16  18  20 
HORIZONTAL SURFACE POSITION (em) 
FIG.  24 
U.S. Patent  Oct.12,2010  Sheet 25 of 45  US  7,812,828 B2 
z 
0 
J-1-a: 
I<(O 
(!)1-1-
-z() 
a:w<( 
-LL. 
a:                                                                     0  0 
0  50  100  150 
CONTACT ORIENTATION  (degrees) 
FIG.  25A 
CONTACT SIZE  (NORMALIZED TOTAL PROXIMITY) 
FIG.  258 
...Ja: 
wO 
wt) 
I<( 
:z;u.. 
...Jw 
ii:N 11-----
W                                                                                                     
0  1  2  3  4  5  6 
TOTAL PROXIMITY  DIVIDED BY  ECCENTRICITY 
FIG.  25C 
                                                         
0  2  4  6  8 
DISTANCE TO NEAREST NEIGHBOR CONTACT (em) 
FIG.  250 
U.S.  Patent  Oct.12,2010  Sheet 26 of 45  US  7,812,828  B2 
COMPUTE  INTERPATH 
THUMB FACTORS 
COMBINE WITH THUMB  SIZE 
& ORIENTATION FACTORS 
OF  INNERMOST AND  NEXT 
INNERMOST CONTACT 
404 
combined_thumb_fact  > 
is_thumb_thresh? 
406 
combined_ thumb _fact 
not_thumb_thresh? 
408 
INNERMOS  N 
ASSIGNED TO 
THUMB? 
y 
SHIFT INNERMOST 
PATHS AWAY FROM 
THUMB ATTRACTOR 
N 
400 
402 
410 
412 
INNERMOS 
ASSIGNED TO 
THUMB? 
y 
N 
SHIFT INNERMOST 
PATH TO THUMB 
ATTRACT OR 
414 
EXISTING 
ASSIGNMENTS 
OK 
413 
FIG.  26 
U.S.  Patent  Oct.12,2010 
GET ALL PATHS ASSIGNED 
TO THE GIVEN HAND 
COMPUTE DISTANCES 
FROM EACH  PATH TO 
OTHER PATHS 
FIND SHORTEST RING 
CONNECTING ALL PATHS 
AND  PASSING THROUGH 
EACH  ONCE 
COMPUTE THUMB & PALM 
WEIGHTING FACTORS FOR 
EACH  PATH 
PICK INNERMOST  438 
PATH  IN  RING 
440 
Sheet 27 of 45 
430 
432 
434 
436 
INNERMOST 
PATH THUMB? 
N  INNERMOS 
y 
PATHS ABOVE THIS 
VERTICAL  LEVEL ARE 
FINGERTIPS,  BELOW 
ARE  PALMS 
444 
PATH A  PALM 
HEEL? 
PATHS AT THIS 
VERTICAL LEVEL 
ARE PALMS 
FIG.  27 
N 
US  7,812,828  B2 
448 
PATHSATTHIS 
VERTICAL LEVEL 
ARE  FINGERTIPS 
U.S.  Patent  Oct.12,2010 
485 
INNER 
&  OUTER HAND 
PARTS TOUCHING 
? 
y 
N 
Sheet 28 of 45 
486 
PENGRIP 
PREVIOUSLY 
DETECTED? 
y 
US  7,812,828  B2 
N 
END 
GET ESTIMATED FINGER & 
f----------1  PALM POSITIONS FOR 
LIFTED HAND PARTS 
487 
GET MEASURED POSITIONS & 
SIZES  OF TOUCHING  FINGERS 
&  PALM HEELS 
COMPUTE KNUCKLE FACTOR 
FOR OUTER FINGERS 
COMPUTE INDEX JUTTING 
FACTOR FOR INNER FINGERS 
COMBINE FACTORS &  FILTER 
488 
489 
490 
495 
SEND PARAMETERS OF 
INNER FINGER  PATHS TO 
HANDWRITING RECOGNIZER 
WITH OLD COMBINED FACTORS  491 
y 
492  493 
FILTERED  y 
FACTOR> PENGRIP  >--->-< 
THRESH? 
INNER FINGERS 
TOUCHING? 
N 
N 
494 
SEND STYLUS LIFT SIGNAL TO 
HANDWRITING RECOGNIZER & 
KNUCKLE/PALM MOTION TO CURSOR 
FIG.  28 
U.S.  Patent 
456 
PICK FIRST 
CONTOUR 
PICK NEXT 
CONTOUR 
CHOOSE 
LOWEST 
COST HAND 
PARTITION 
Oct.12,2010  Sheet 29 of 45 
y 
DEFINE & TRANSLATE LEFT & 
RIGHT ATIRACTOR TEMPLATES 
GENERATE PARTITIONING 
CONTOURS 
TENTATIVELY DIVIDE HAND 
IDENTITIES ACROSS  CONTOUR 
TENTATIVELY ASSIGN FINGER 
IDENTITIES WITHIN EACH HAND 
EVALUATE BIOMECHANICAL 
COHERENCE OF PARTITION 
470 
472 
473 
474 
464 
y 
US  7,812,828  B2 
452 
RETAIN  PREVIOUS 
IDENTIFICATIONS VIA 
PATH  EXTENSION 
453 
454 
458 
460 
462 
466 
RECORD PARTITION 
AS LOWEST COST 
ASSIGN  FINAL 
CONTACT IDENTITIES              
WITHIN EACH  HAND  I 
FIG.  29 
U.S.  Patent  Oct.12,2010  Sheet 30 of 45  US  7,812,828 B2 
10 
5 
0 
-20 
'E 
.2. 
z 
0 
f- 10 
(/) 
0 
<l. 
w 
:.;1  5 
u.. 
a: 
::> 
(/) 
...J 
<( 
0 
0 
f- -20 
a: 
w 
> 
10 
5 
0 
-20 
Q,Jl 
-15 
     
476 
-15 
    
  
477 
0'---477 
-10  -5  0  5 
FIG.  30A 
  
477 
0'---476 
lr'--475 
-10  -5  0  5 
FIG.  308 
476-D   
477 
0----476 
f----475 
10  15 
10  15 
-15  -10  -5  0  5  10  15 
HORIZONTAL SURFACE POSITION  (em) 
FIG.  30C 
20 
20 
20 
U.S.  Patent 
a: 
f.2 
<9:i 
Zu. 
I 
()Z 
1-0 
::>-
_.JI-
u&'] 
Oct.12,2010  Sheet 31  of 45 
e:::  1 r------------' 
US  7,812,828 B2 
0                        
-50  0  50 
HORIZONTAL VELOCITY OF RIGHT HAND CLUSTER  (mm/s) 
(/)  1 
(/) 
wa: 
zo 
0}-
wo 
0<{ 
zu. 
<>: 
I 
FIG.  31A 
                     
-12  -10  -8  -6  -4  -2  0  2 
VERTICAL POSITION OF OUTERMOST FINGER 
RELATIVE TO NEXT OUTERMOST (em) 
FIG.  318 
              
0  5  10  15  20 
HORIZONTAL SEPARATION  BETWEEN PALM CONTACTS (em) 
FIG.  31C 
U.S.  Patent  Oct.12,2010  Sheet 32 of 45  US  7,812,828 B2 
cr: 
cr:o 
Wi-
ZO 
Z<( 
-lL 
1--w 
I  ....I 
<!l<!J 
cr:z 
<( 
1 
                               
-150  -100  -50  0  50  100  150 
ANGLE  BETWEEN  INNERMOST AND 
NEXT INNERMOST FINGER CONTACTS (degrees) 
FIG.  32 
cr:1 
8 
oo 
z<( 
<(lL 
IZ 
'O 
cr:-
w!;{ 
1--cr: 
   
a. 
w 
(/) 
                       
-6  -4  -2  0  2  4  6  8  10  12 
ESTIMATED HORIZONTAL 
SEPARATION BETWEEN THUMBS (em) 
FIG.  33 
U.S.  Patent  Oct.12,2010  Sheet 33 of 45  US  7,812,828 B2 
(  START  ) 
+ 
GET HAND'S CURRENT 
PATH  PARAMETERS & 
lr-5 
00 
I D'S 
~ 
SUPPRESSIVE 
FINGER VELOCITY 
r5 
02 
FILTERING 
~ 
MEASURE HAND'S 
POLAR VELOCITY 
r50 
4 
COMPONENTS 
~ 
MEASURE HAND'S 
v-
TRANSLATIONAL 
506 
VELOCITY COMPONENTS 
~ 
MEASURE HAND'S 
DIFFERENTIAL TILT 
v-
508 
PRESSURE 
COMPONENTS 
~ 
DOWNSCALE 
ir510 
WEAKER 
COMPONENTS 
~ 
DEAD-ZONE FILTER ALL 
COMPONENTS 
r 
512 
BY FRACTION OF 
FASTEST COMPONENT 
~ 
(  END 
FIG.  34 
U.S.  Patent  Oct.12,2010  Sheet 34 of 45 
203 
~ 
202 
~ 
I 
I 
I 
I 
I 
I 
I 
'   
I 
\  \ 
I 
' 
I 
I 
-- -- .. 
-
- ~ 
/ 
207 
- ~ 
 
FIG.  35 
I 
I 
I 
204 
@I 
I 
I 
I 
_, 
I 
-
/ 
206 
fi 
. 
US  7,812,828 B2 
205 
;1! 
" 
/ 
/ 
/ 
/ 
U.S.  Patent  Oct.12,2010  Sheet 35 of 45  US  7,812,828  B2 
AT LEAST 
2 FINGERS 
DOWN? 
y 
N 
GET CURRENT  AND PREVIOUS 
POSITIONS OF  INNERMOST AND 
524 
SET RADIAL AND 
ANGULAR VELOCITY 
TO ZERO 
END 
OUTERMOST TOUCHING FINGERS  526 
COMPUTE RADIAL VELOCITY FROM 
CHANGE IN  SEPARATION  BETWEEN 
INNERMOST AND OUTERMOST 
COMPUTE ROTATIONAL VELOCITY 
FROM SEPARATION AND  CHANGE IN 
ANGLE BETWEEN  INNERMOST AND 
OUTERMOST 
COMBINE WITH ROTATION AND 
SCALING ABOUT A  FIXED POINT 
BETWEEN THUMB AND OTHER FINGERS 
PROXIMITY 
DROPPING? 
y 
532 
N 
FIG.  36 
528 
530 
531 
534 
CHECK FOR 
RADIAL OR 
ROTATIONAL 
DECELERATION 
U.S.  Patent  Oct.12,2010 
START 
540 
I NIT TRANSLATION 
WEIGHTINGS TO FINGER 
PROXIMITIES 
544 
DECREASE TRANSLATION 
WEIGHTING OF 
RELATIVELY  SLOW 
FINGERS 
546 
DECREASE TRANSLATION 
WEIGHTING  OF CENTRAL 
FINGERS AS POLAR 
COMPONENT SPEEDS 
INCREASE 
548 
COMPUTE TRANSLATION 
VELOCITY AS WEIGHTED 
AVERAGE OF FINGER 
VELOCITIES 
AVERAGE 
PROXIMITY 
DROPPING? 
y 
550 
N 
Sheet 36 of 45  US  7,812,828  B2 
551 
ACCEL  RATIO = 
CURRENT SPEED/ 
PAST AVERAGE 
ACCEL RATIO 
> THRESH  NEAR 
ONE? 
y 
554 
N 
TRANSLATION 
DIRECTION CLOSE TO 
AST AVERAGE? 
N 
y 
CLEAR 
TRANSLATION 
DECELERATION 
FLAG 
UPDATE MOVING 
556 
SET 
TRANSLATION 
DECELERATION 
FLAG 
558 
f--------- WINDOW AVERAGE OF  560 
TRANSLATION 
VELOCITIES 
FIG.  37 
U.S.  Patent  Oct.12,2010  Sheet 37 of 45  US  7,812,828 B2 
START 
HAND 
FLATTENED? 
ALL PATH 
PROXIMITIES 
TABILIZED? 
y 
N 
566 
N 
COMPUTE UNWEIGHTED 
AVERAGE OF PATH  POSITIONS 
COMPUTE RATIOS OF  CURRENT 
PROXIMITY TO REFERENCE 
PROXIMITY FOR  EACH  PATH 
SET RATIOS LESS 
THAN ONE TO ONE 
574 
564 
SET TILT & ROLL 
COMPONENTS 
TO ZERO 
568 
STORE CURRENT PATH 
PROXIMITIES AS 
REFERENCE PROXIMITIES 
570 
572 
COMPUTE AVERAGE OF 
PATH  POSITIONS 
WEIGHTED BY PROXIMITY 
RATIOS 
576 
COMPUTE TILT & ROLL 
COMPONENTS  FROM 
DIFFERENCE VECTOR BETWEEN 
WEIGHTED AND  UNWEIGHTEO 
AVERAGES 
FIG.  38 
578 
U.S.  Patent  Oct.12,2010 
GET HAND'S CURRENT 
PATH  PARAMETERS &  !D'S 
SEARCH  FOR FINGER 
SUBSETS PRESSED OR 
RELEASED 
SIMULTANEOUSLY 
YN 
602 
MARKER 
N 
PENDING 
? 
#FINGER 
PRESSES 
YNCED >  2? 
y 
DELETE ASSOCIATED 
KEY QUEUE ELEMS 
612 
N 
608 
Sheet 38 of 45 
600  601 
603 
604 
ANY 
PRESSES 
SYNCED 
y 
605 
610 
PAUSE SENDING OF 
ASSOCIATED 
KEYPRESS QUEUE 
ELEMS 
US  7,812,828 B2 
DELETE 
ASSOCIATED 
KEYPRESS 
QUEUE 
ELEMENTS 
N 
#FINGER 
RELEASES 
y 
YNCED > 2 
624 
CLEAR 
SYNC 
MARKER 
c  )----1 
OUCHIN 
OR  HAL  TED TOO 
LONG? 
DELETE 
y  ASSOCIATED KEYf---------1 
QUEUE 
614 
ELEMENTS 
622 
616 
N 
y 
618 
FIG.  39A 
U.S.  Patent  Oct.12,2010 
8 
DELETE ASSOCIATED 
KEYPRESS QUEUE 
ELEMENTS 
626 
Sheet 39 of 45  US  7,812,828  B2 
620 
N 
628 
SIGNIFICANT 
TERAL MOTION ? 
LOOKUP CHORD 
FROM SYNCED 
FINGERID'S 
632 
HORD HAS TA 
EVENTS? 
y 
APPEND CHORD 
TAP EVENTS TO 
COMMQUEUE 
FIG.  398 
>---4( c 
630 
N 
636 
634 
RESTING CHORD: 
NO EVENTS 
GENERATED 
U.S.  Patent  Oct.12,2010  Sheet 40 of 45  US  7,812,828  B2 
GET HAND'S 
EXTRACTED MOTION & 
IDENTIFIED PATHS 
CHORD 
SLIDE 
ONGOING? 
y 
FINGER 
SUBSET 
LIFTED? 
N 
N 
652 
N 
664 
y 
650 
A 
N 
654 
N 
656 
#FINGERS  y 
TOUCHING >  2 ?  r:--+< 
SYNCED 
SUBSET OR 
ALL FINGERS 
LID lNG 
660 
DISABLE KEY & 
CHORD TAPS FOR 
THIS HAND 
PRE-LIFTOF 
DECELERATION 
FLAG SET? 
666 
658 
SELECT SLIDE CHORD 
FROM SYNCED SUBSET 
OR COMBINATION OF 
FINGERS TOUCHING 
y 
668 
LEAVE 
CHORD 
SLIDE  MODE 
667 
SET CURRENT VELOCITY 
COMPONENTS TO PRE 
LIFTOFF AVERAGE 
N 
B 
B  }.-----i 
SELECT NEW SLIDE 
CHORD  FROM NEW 
SYNCED SUBSET 
674 
FIG.  40A 
U.S.  Patent  Oct.12,2010 
PICK FIRST SLICE 
DEFINED FOR SELECTED 
CHORD 
APPLY SLICE'S  VELOCITY 
GAIN  FUNCTION TO 
MOTION COMPONENTS 
PROJECT 
VELOCITY COMPONENTS 
INTO SLICE'S SPEED AND 
DIRECTION  RANGE 
INTEGRATE PROJECTED 
VELOCITY COMPONENTS 
OVERTIME 
#UNITS OF 
MOTION 
>= 1? 
y 
680 
N 
LOOKUP SLICE'S 
KEY/MOUSE/3D 
EVENTS 
682 
675 
676 
677 
678 
Sheet 41  of 45 
PICK NEXT SLICE 
N 
LAST SLICE 
FOR CHORD? 
US  7,812,828  B2 
694 
692 
690 
DISABLE FURTHER 
EVENTS FROM ONE 
SHOT SLICE 
RESET OTHER 
SLICES' 
INTEGRATORS 
y 
689 
688 
APPEND  EVENTS  W/  REMOVE  INTEGER# 
686 
# MOTION  UNITS  f----+! MOTION UNITS FROM 
TO COMM QUEUE  INTEGRA  TORS 
FIG.  408 
U.S.  Patent  Oct.12,2010 
RETRIEVE KEY LAYOUT  700 
REGIONS AND SYMBOLS 
GET CURRENT IDENTIFIED  702 
PATHS FOR BOTH HANDS 
5 
FINGERS 
ON  SAME HAND 
PRESSED IN 
SYNC? 
N 
NOTHING 
TOUCHING 
SURFACE FOR 
AWHILE? 
N 
704 
y 
714 
y 
Sheet 42  of 45 
706 
TRANSLATE HAND'S 
KEY REGIONS BY 
MEASURED HAND 
OFFSETS 
FINGERS 
PARTIALLY 
CLOSED? 
N 
708 
y 
710 
US  7,812,828  B2 
716 
r--:Rc::Ec::Sc::El'::T-cKc:'E'"'Y,----
LAYOUT 
OFFSETS TO 
ZERO 
ADJUST REGIONS IN 
EACH FINGER'S 
COLUMN BY FINGER 
OFFSETS 
PROCESS 
UPDATE DISPLA  YEO 
POSITIONS OF KEY 
SYMBOLS 
FINGER TAPS  718 
ON  MORPHED KEY 
LAYOUT 
FIG.  41 
712 
U.S.  Patent  Oct.12,2010 
START 
GET ANY PATH RECENTLY 
CREATED BY HAND PART 
TOUCHDOWN 
PATH 
752 
N 
PROXIMITY 
JUST CROSSED 
KEYPRESS 
HRESH? 
y 
N 
PATH 
IDENTIFIED 
754 
AS FINGER  NOT 
PALM? 
y 
756 
y  PATH'S 
N 
HAND SLIDING/ 
WRITING? 
766 
Sheet 43  of 45 
750 
DEBOUNCE 
OK? 
N 
764 
757 
y 
APPEND  KEYPRESS  CREATE KEYPRESS 
N 
762 
US  7,812,828  B2 
760 
FIND CLOSEST 
KEY REGION 
L
--j QUEUE  ELEMENT TO  "----1  QUEUE  ELEMENT 
TAIL OF FIFO  , ~  CONTAINING  PATH ID,i+---..J 
KEYPRESS QUEUE  CLOSEST KEY & 
PRESS TIMESTAMP 
FIG.  42 
U.S.  Patent  Oct.12,2010  Sheet 44 of 45  US  7,812,828  B2 
DELETE CURRENT 
~ - - - - - - - - - L - - - - - 4  ELEMENT FROM  ~ - - . - - 4  8 
PICK ELEMENT AT HEAD 
OF  KEYPRESS QUEUE 
1------{ c 
LEMEN 
PATH STILL 
IDENTIFIED AS 
FINGER? 
N 
772 
770 
KEYPRESS  QUEUE 
778 
y 
PATHINA  N 
SYNCHRONIZED 
SUBSET? 
774 
776 
y 
FINGER SLID 
TOO FAR? 
N 
782  780 
N  TIME 
B  1 < - ~ - - . . . . L - - - - - - - - - - - <  SINCE PRESS< 
TAP TIMEOUT 
:>+---y-<  FINGER 
LIFTED? 
784 
APPEND PRECEDING 
MODIFIERS& 
ELEMENT'S KEY 
REGION  SYMBOL TO 
HOST COMM  QUEUE 
792 
y 
y 
786 
788 
SKIP TO  NEXT 
ELEMENT IN  ~ - < 
QUEUE 
PATH 
PROXIMITY 
PROFILE 
IMPULSIVE 
? 
N 
790 
y 
N 
KEY REGION 
A  MODIFIER? 
? 
N 
D)+------.L_  ____  _J 
FIG.  43A 
U.S.  Patent  Oct.12,2010  Sheet 45 of 45  US  7,812,828  B2 
D 
798 
TYPEMATIC 
N 
STARTED FOR 
ELEMENT? 
y 
B 
805 
ANOTHER 
y 
ASYNCHRONOUS 
TAP? 
N 
COMPUTE  REPEAT 
INTERVAL FROM 
CURRENT 
FINGER PROXIMITY 
808 
TIME 
SINCE  LAST  y 
SEND>  REPEAT 
INTERVAL 
? 
N 
794  796 
FINGER 
TOUCHDOWN 
N 
TIME 
SINCE 
>-->..(  FINGER PRESS > 
TAP TIMEOUT. 
? 
MOST 
RECENT? 
y 
800 
FINGER 
802 
N 
1 - ~ A 
N 
DOWN > .5s AND 
y 
HAND'S 
OTHER FINGERS 
LIFTED >  .Ss  ? 
806 
810 
812 
<  1s? 
804 
N 
INITIALIZE 
TYPEMATIC 
MODE FOR 
ELEMENT 
APPEND  PRECEDING 
MODIFIERS &  ELEMENT'S 
KEY REGION  SYMBOL TO 
HOST COMM QUEUE 
y 
1------------1 UPDATE LAST TYPEMATIC 
SEND TIMESTAMP 
A 
FIG.  438 
us 7,812,828  82 
1 
ELLIPSE FITIT\(; FOR \WITI-TOUCII 
        
2 
will  always  he  a  need  in  the  art  ll1r  multi-li.mction  manual 
input devices which supplement  voice  input. 
..\generic manual input device which combines the typing.. 
pointing..  scrolling..  nnd  handwriting. capabilities of the  stnn- CROSS-RITJ:RJ:NCJ: TO  R!] .  ..\T!]) 
API'!  !CATIONS 
"111is  npplicntion  is  a continuation  of II 1015.434.  entitled 
"Method nnd .\ppmatus for  lntcg.rnting.  Mnnunllnput."  tiled 
Ike.  17. 2(XJ4  now  U.S.  Pal.  No.  7YW.5RO.  which  is a  con-
tinuation  of091n6.Sn (now  Pal.  No.  0.323.846)  Jilcd  Jan. 
25.  1900 which claims the bcndit of prm isional application 
601072.509.  H!cd  Jan.  26.  1998.  cnch  of which  is  hereby 
incorporntcd  by  reference  in  its  entirety.  This  applicmion  is 
also  rdatcd  to  Application  Scr.  No.  l !142X.50L  entitled 
"Capacitiu:  Sensing  Arrangement."  I !/428.503.  entitled 
"Touch  Sur!Ucc."  11/428.506.  entitled  "User  Interface  Ges-
tures."  111428.515.  entitled  "User  lntcr!Ucc  Gestures". 
111428.522.  entitled  "ldcntil)ing.  Contncts  on  a Touch  Sur-
liKe."  II 1428.521. entitled "IdentiFying Contacts on a 'llmch 
SurliJCc".  11/559.730. entitled "Multi-'llmch Contact Track-
ing.  ..\lg.oritlun".  11/559.763.  "Multi-Touch  Contact  Motion 
Fxtrnction."  11/559.799.  entitled  "Multi-Touch  Contnct 
Motion I Oxtraction."  II /559.iQ2. entitled "Multi-Touch Con-
tact  Motion  l;xtraction."  111559.833.  entitled  Multi-'llmch 
I land  Position OllSet Computation. each of which  is  hcrchy 
incorporntcd  by  reference  in  its entirety 
5  dard input de\ icc collection must ha\ecrgonomic. economic. 
and productivity advantages which outweigh the unavoidable 
sacrifices  of abnndoning device  spccinlitntion.  The  g.cncric 
device  must  tightly  intcg.ratc  yet  clearly distinguish  the dif-
1\:rent  types of input.  It should therdlJrc appear modeless to 
lCJ the user in  the sense that the user should not  ne\.:d  to  provide 
explicit mode switch signals such as huttonprcsscs. arm relo-
cmions.  or stylus  pickups  before  switching  from  one  input 
nctivity to another.  Fpidcmiolog.ical studies sug.gcst thm  rep-
etition and l(lrcc multiply in causing repetitive strain injuries. 
15  Awkward  postures.  device  activation  ll1rce.  waskd motion. 
nnd  repetition should be minimized to  improve C!'6onomics. 
Furthcnnorc.  the work!ond  should be spread evenly over all 
nvni!able  muscle g.roups  to nvoid  repetitive strain. 
Repetition  can  he  minimi/L'tl  by  allocating  to  several 
""  graphical  manipulation  channels  those  tasks  which  require 
complex mouse pointer motion sequences. Common g.raphi-
ca! user interface operations such as Ending. and mnnipu !ating 
a  scroll  bar  or  slider  control  are  much  less  cllicicnt  than 
specia!i/L'tl  linger  motions  which  cause  scrolling  directly. 
ISACK(jROUND OF Till: IN\"I;NTION 
"5  without the step of repositioning the cursor over an on-screen 
control.  l'rc!Crab!y  the  grnphical  mnnipu!ntion  chmmds 
should be distributL'd nmongst many !ing.cr and hand motion 
combinations  to  spread  the  workload.  'llmchpads  and  mice 
with  auxilliary  scrolling  controls  such  as  the  ('irquc f\  '" 
A  Field of the Invention 
'll1c  present  invention  rclntcs  g.cncra!ly  to  methods  and 
apparatus  ll1r  data  input. and. more p;u1icubr!y. to  a method 
and apparatus  ll1r  integrating manual  input. 
30  Smnrtcnt touchp.1d  with edge scrolling..  the  IBMR
1
-"  Scro!l-
l'ointT"1  mouse with embedded pointing stick. nnd the Roller 
Mouse dcscribL'd  in  U.S.  I'm.  No.  5.530.455  to  Gi!!ick ct  nl. 
represent  small  improvements  in  this  area.  but  still  do  not 
IS.  Description of the Related Art 
Mnny  methods for  manual inplll of d.1w  and conunands to  35 
compmcrs nrc in usc todny. bm each is most cllicicnt nnd easy 
to usc ll1r particular types of  data input.  For example. drawing 
tah!ets  with  pens  or  pucks  excel  at  dralling.  sketching.  and 
quick cmnmand gestures.  llandwriting with a  stylus  is  con-
venient Jix tilling. olll fonns which require sig.nnturcs. spccin!  40 
symbols.  or  smnll  amounts  of text.  but  handwriting.  is  slow 
compared  to  typing  and  voice  input  ll1r  long  documents. 
Mice.  !ingcr-sticks  and  touchpads  excel  at  cursor  pointing 
and  g.raphicn!  object  mnnipu!ations  such  as  drug nnd  drop. 
Ro!lcrs.  thumbwhccls  and  trackballs  excel  m  panning.  and  45 
scrolling.  The  diversity  of tusks  that  many  computer  users 
encounter in a  single day call  ll1r a!!  of these techniques. hut 
l(:w  users wi!l  pay  ll1r  a  multitude of input  dL'\ ices. and  the 
scparmc devices arc olicn incompmib!c  in  a usnbility and nn 
C!'60nomic  sense. For instance. drawing tnb!cts nrc n must  lix  '0 
graphics  prol\:ssionals.  hut  switching  between  drawing and 
typing  is  incomenient  because the pen must he put down or 
held awkwardly between the lingers while typing. rhus. there 
is  a !ong.-JC!t  ncL'd  in  the  art  for  n mnnun!  inplll device which 
is cheap yet offers convenient intcgrmion of common mnnun!  '5 
input IL'chniqucs. 
Speech  recognition  is  an  exciting  new  technology  which 
promises to  relie\e some of the input burden on  user hands. 
llowcvcr.  voice  is  not  npproprimc  Jix  inputting.  n!l  types of 
dnta  either. Currently.  voice input  is  best-suited Jixdictmion  60 
of long  text  documents.  Until  natura!  language  recognition 
matures sullicient!y that \cry high level voice commands can 
be understood by  the computer. voice wi!!  hnve  little ndvan-
wg.c over keyboard hot-keys and mouse menus for conunand 
and  controL  Furthcnnorc.  precise  pointing..  drawing.  and  65 
manipulation ofgraphica! objects is dillicult with \oicecom-
mands. no matter how  well spel.:ch  is understood. 'llms. there 
prmide  enough  direct  manipulation  channels  to  eliminate 
many o lien-used cursor motion sequences. Furthermore. as S. 
/hni  ct  nl.  found  in  "Dun!  Stream  Input  for  Pointing.  nnd 
Scrolling.."  Procccding.s  of  Clll  '97  Extended  ..\bstrncts 
( 1997). manipulation of more than two degrees of li-cL'tlom at 
a  time  is  very  dillicult  with these devices.  pre\enting simu!-
tmKous  p.1m1ing.  tooming and rotming.. 
Another common method for reducing excess motion nnd 
repetition  is  to  automatically  continue  pointing or scrolling 
mmement signals once the user has stoppL'tl  moving or !ills 
the  linger.  RelatL'tl  ;u1  methods can  be distinguishL'tl  by  the 
conditions under which such motion continuation is cnnb!cd. 
In  U.S.I'm.  No.  4.734.685.  Watnnnbc  continues  imag.c  p.1n-
ning when the distance and velocity of pointing de\ icc mme-
ment  exceed  thresholds.  Automatic  panning  is.  stopped  by 
moving the pointing device buck in the opposite direction. so 
stopping. R'<.juircs  ndditiona! precise movements.  In U.S.  l'nt. 
No.  5.543.591  to Gi!!cspic ct al..  motion continuation occurs 
when the linger enters an edge border region around a small 
touchpad. Continued motion speL'tl  is  lixL'tl  and the direction 
corresponds to the direction from the ccntcrofthc touchpnd to 
the  !ingcr  nt  the  edge.  Continuation  mode  ends  when  the 
linger lea\es the border region or !ills off the pad.  I )isad\;m-
tagcously.  users  sometimes  pause  at  the  edge  of  the  pad 
without  intending  ll1r  cursor  motion  to  continue.  and  the 
unexpected  motion  continuntion  becomes  annoying..  U.S. 
I'm.  No.  5327.161  to  Lognn ct al.  describes motion continu-
ation when the  !Inger enters a  border area as welL  hut  in  an 
altemativc  trackball  emulation  mode.  motion  continuation 
can be ali.mction solely of Intern! !ingcr velocity and direction 
m lilio!I  Motion continuntion decays due to  aliiction factor 
or can be  stopped by a subSL'<.jUCnt  touchdown on the surface. 
Disad\antagcous!y.  touch  velocity  at  !illol'l' is  not a  reliable 
indicator of the  user's  desire  ll1r  motion continuation  since 
us 7,812,828  82 
3 
when approaching a  large large! on a  display at  high spc<._-ds 
1hc  user  may  not  stop  1hc  pointer completely  before  !ilio!I 
Thus  it  would  be  an advance  in  the nrt  to  provide  a  motion 
continuation method which docs not  b<..><::omc  activmcd uncx-
pec!cdly when the user really  intended to  slop pointer move-
ment a! a large! but happens lobe on a honk:rm happens to be 
moving m  sig.ni!icant  spc<..'d  during !ilio!I 
Many attempts have been made to embed pointing. devices 
in a keyboard so the hands do no! have lo k:melyping position 
lo  access  the  pointing  device.  These  include  the  inlegratcd 
pointing h:y described in  U.S.  Pal.  No.  S.IWJAtn to  Fran/el 
al..  the integrated pointing stick disclosed by J.  Rutledge and 
T.  Sdkcr  in  "Force-to-Motion  Functions  for  Pointing." 
4 
An ergonomic typing syslcm should  require minimal  key 
tapping  force.  easily  dis1inguish  ling.cr  wps  lfom  resting 
hands.  and cushion 1hc  ling.crs  from  1hc jarring.  force  of sur-
lUcc  impact.  Mechanical  and  membrane  keyboards  rely  on 
5  the spring !l1rcc in the k'-')switchcs lo prevent activation when 
the hands arc resting on the k9s. This causes an  iJTcnmci!-
ahlc  lradco!f hc!wccn  the  ergonomic  desires  lo  reduce  the 
lU1iguc  from  key ac1ivming  force and 10 relax 1hc  fu!!  wcig.ht 
of1hc hands omo the keys during. rest  periods.  Force minimi-
1"  zmion on 1ouch surlUccs is  possible wi1h  capacitive or active 
optical  sensing. which do  no!  rdy on  linger pressure,  rather 
than  rcsisli\c-mcmhranc  or  surliJcc-acouslic-wa\c  sensing 
techniques.  The  related  an  touch  devices  discuss<.-d  below 
will  become  conli.1scd  if a  whole  hand  including  its  li.1ur 
15 
lingc11ips  a thumb and possibly palm hcds,  rests on the sur-
bee. Thus. there exists a  long !dl need in  the arl  ll1r  a multi-
touch  sur!iJCc  typing syslcm  has<.-d  on  zcro-!(Jrcc capacili\c 
sensing which can 1olcratc resting hands and a surlUcc  cush-
I !uman-Compulcr Interaction  IN"rl ORACI- '90. pp.  701-00 
(1990),  and the position  sensing keys dcscrihcd  in  U.S.  Pal. 
No.  5.675.361  to  S.1ntilli.  Ncvenhdcss.  the  limited  move-
ment  runge  and  rcsolmion  of these devices.  leads  to  poorer 
pointing  speed  and  accuracy  than  a  mouse.  and  they  add 
mechanical complexity lo keyboard conslnKlion. Thus there 
exists  a  need  in  the  arl  !l1r  pointing  methods  with  higher  "" 
rcso!mion. !arg.cr movemcm range. and more dcg.r<.-cs of lf<.-c-
dom yet which arc easily accessible  lfom typing.  hand  posi-
ion. 
.-\.n  crg.onomic  1yping.  sys1cm  should  also  adap1  to  indi-
vidual hand si/cs tolerate \ariations in  typing style. and sup-
purl  a  range of healthy  hand  postures.  nwugh  many  ergo-
nomic  keyboards  have  been  proposed.  mechanical 
lions. 
'!(mch  screens  and  louchpads  olkn  distinguish  pointing 
motions !i-om emulated bun on clicks or kcyprcsscs by assum-
ing.  VC!)'  little  Intern!  lingcrlip  motion will occur during.  taps 
on the  touch surlUcc which arc imcnd<.-d as clicks. Inherent in 
these mc!hods  is  the assumption !hal  lapping wi!!  usua!!y  be 
straight down limnlhc suspended linger position. minimizing 
1hosc componcms of ling.cr motion tang.cntia! 10  1hc  surlUcc. 
This  is  a valid assumption  if1hc surlUcc  is  not  !indy divided 
into  dis1inc1  key  areas or  if 1hc  user docs a  slow.  "hum and 
peek" visual search ll1rcach k<.y  bdl1rc striking.l.-mcxamp!c. 
in  U.S.  Pal.  No.  5.543,591  lo (ii!lespic cl aL alouchpad sends 
all  Intern! motions to the host compmcr as cursor movemcms. 
llowcvcr.  if 1hc  linger is  lilkd soon cnoug.h alicr touchdown 
10 coum as a tap and ifthcaccumu!atcd latera! mo1ions arc no1 
excessive. any  scnl  motions are undone and a  mouse bunon 
click  is  scnl  instead.  This  method  only  works  ll1r  mouse 
commands such as  poiming. which can safely be undone. no1 
for  drag.ging or o1hcr manipulations.  In  U.S.  PaL  No.  5.666. 
113  to  I ogan,  laps with  less  than  about 
1
/c-"  la!cra!  motion 
activalc k9s on a small keypad while la!cra! motion in excess 
of 
1
/c-"  activates cursor control  mode.  In  both palcnls cursor 
mode is invoked by ddUuh when a linger stays on 1hc surlUcc 
a  long lime. 
I low ever. fasllouch typing on a stubccdividcd into a large 
array ofkcy regions lends lo produce mmclangcnlial motions 
along.  the  surlUcc  1han  related  an  lihcring  tcclmiqucs  can 
1oleratc.  Such  an  array  contains  keys  in  muhiple  rows  and 
columns which may not  be  directly under the  lingers. so  the 
user  must  reach  with  the  hand  or  !lex  or  cx!cnd  lingers  lo 
!ouch many of the k<.y  regions. Quick reaching and cx!cnding 
imparts sig.nilicmu Intern!  linger motion while the  linger is in 
1hc air which may sti!! be present when 1hc ling.crcontacts the 
surli1cc.  (i!ancing  laps  with  as  much  as 
1
/4''  la!cra!  motion 
measured allhc smbcc can easily rcsul1. Ancmpling lo Iiller 
or  suppress  this  much  motion  would  make  the cursor  seem 
sluggish and unresponsive.  Furthermore.  i1  may be desirable 
10  enter a  typcmatic or mnomatic key  repeat mode ins1cad of 
pointing  mode  when  the  linger  is  hdd  in  one  place  on  the 
surli1cc.  Any  la!cra!  shilling  by  the  lingc11ip  during  a  pro-
!ong<.-d  ling.cr  press  would  also  be  picked  up as cursor jiHcr 
wi1holl1  heavy li!tcring..  Thus.  there  is a  JK'Cd  in 1hc  arl  for  a 
mc1hod  to  distinguish  keying  from  poiming.  on  the  same 
surli1cc  \ia more robust hand conliguralion cues  than  la!cra! 
motion of a single linger. 
"
5 
kcyswi1Chcs  can  only  be  repositioned  at  great  cost.  For 
example. 1hc  keyboard  with  concave  kcywclls described  by 
llargrcmcs cl a!.  in  U.S.  Pal.  No.  5.6Wl.253  lils  mosl  hands 
well  but  also  lends  lo  lock  the  arms  in  a  single  position.  A 
touch surlUcc key layom could easily be morphcd. 1rnnslat<.-d. 
30 
or arbi1rari!y  r<.>conligurcd  as  long.  as  the  chang.cs  did  not 
con!l1sc the user.  llowcvcr, touch surli1ccs may no! provide as 
much  la!cra!ly  orienting  lacti!c  l(:edhack  as  the  <.-dgcs  of 
mechanical  kcyswilchcs. Thus.  there exists a  need  in  the arl 
li.1r a  surlUcc 1yping r<.>cog.nizcr which can ad.1pt  a key  layout 
35 
to  lit  individual  hand posmrcs and which can  sustain  typing 
accuracy if the hands drill due lo  limited lacti!c k<.-dback. 
I landwriling  on  smooth  !ouch  surli1ccs  using  a  stylus  is 
well-known in  the arl.  but ittypica!!y docs nul  integrate wdl 
wi1h 1yping. and poiming. because 1hc stylus must be pll1 down 
40  somewhere or held awkwardly during o1hcr  input  activities. 
Also, it  may  he dillicuh lo distinguish the handwriting a eli\-
ity  of the  stylus  Jiom  pointing  motions  of a  lingc11ip.  Thus 
there exists a  !K'\.:d  in  the arl  ll1r  a  method  lo  capture coarse 
handwri1ing. gcslllrcs witholl1 a s1y!us and wi1hout  conli.1sing 
45 
them with poiming.  motions. 
Many of1hc inpll1  dillCrcntiation  needs cited above could 
be mel with a !ouch sensing technology which distinguishes a 
variety  of hand  conliguralions  and  motions  such  as  sliding 
linger chords and  g.rips.  Many mechanical  chord  keyboards 
-;o  have been dcsig.ncd 10 dc1cc1 simultan<.ousdownward activi1y 
lfom  muhiple  ling.crs.  but  they  do  no1  detect  Intern!  ling.cr 
motion over a large range.  Rdatcd art shows s<.'\cra! examples 
ofcapacili\c louchpads which emulate a mouse or k9board 
by  tracking.  a  sing.le  linger.  These  typically  measure  the 
'5  capacitance of or bc1wccn elongated wires which arc !aid out 
in  rows and columns. A thin dielectric is  interposed hc!wccn 
the row  and column !ayers.  Presence of a  linger pcrtmbs  the 
sdf or mutua! capacitance !(H  nearby electrodes. Since mosl 
of these 1<->clmo!og.ics usc projcc1ivc  row and column sensors 
60  which imcg.ratc on one ck>clrodc 1hc proximity of a!! objcc1s 
in a particular row or column. they cannot uniquely dctcJminc 
the positions of two or moreoh_j<.>cls as discussed inS. I ce. "A 
Fas1  Multiple-Touch-Scnsi1ivc  Input  Device."  University  of 
Toronto Masters Thesis ( 1984). The best  they can do is count 
65  lingcnips which happen 10 lie  in a straig.ht  row.  and even that 
wi!lli1il if a thumb or palm is  inlrmluccd in  the same column 
as a  lingcrlip. 
us 7,812,828  82 
5  6 
those rows. and then timing the dischargeofsekctcd columns 
to ground through n discharge resistor.  I .cc's design required 
only two diodes per electrode. but the principal disadvnntngc 
of Lee's design  is  thnt  the colunm diode reverse  bins capnci-
In  U.S.I'al. Nos. 5.565.65R and 5.305.017. (ierpheidect a!. 
measure  the  mutual  capacitance  between  row  and  column 
electrodes  by  driving  one  set  of electrodes  m  some  dock 
frequency and sensing how much of that frequency is coupled 
onto a second ek:clrmk: scl. Such synchronous measurements 
arc \cry prone to noise at the driving Jicqucncy. solo increase 
signal-to-noise  rmio  they  fonn  virtual  electrodes comprised 
5  lances  allowed  interJCrcncc  between electrodes  in  the same 
column. 
.-\1! oft he related cnpncitnncc scnsingnrt citcdnbove utilize 
intcrpolmion  between  electrodes  to  nchicve  lligh  pointing 
resolution with L><::omJmica! ck><::trodc               ISoicct a!. 
and Cii!!cspic ct a!.  discuss cmnpultattion of a centroid  from 
a!! row and column electrode readings. !JowL'\ cr.  l(Jr mu!tipk 
!ingcr dct<.><::tion.  centroid ca!cu!ntion must  be  carcli.llly  lim-
ited around locn! maximn to include only one !ingcr m a time. 
I L'C  utilizes a bisccti\e search technique to lind local maxima 
of multiple rows or multiple columns. instead of a single row 
and column.  and  scan  through dcclrmk: combinations  until 
the \arious  mutual capacitances arc nulled or balanced.  The  lCJ
coupled  signal  increases  with  the  produc!  of the  rows  and 
columns  in  each  vimwl  electrodes.  but  the  noise  only 
increases with  the  sum.  giving a  net  gain  in  signal-to-noise 
ratio  l(Jr  virtual elcctrmk:s consisting of more than two  rows 
and two columns.  I lowe\ cr.  to  uniquely distinguish multiple 
objects.  virtunl  electrode sizes would  hnvc  to  be reduced  so 
the  intersection  of the  row  nnd  column  virtual  electrodes 
would be no  larger than a !ingcr tip.  i.e ..  about two rows and 
two  columns.  which  will  degrade  the  signal-to-noise  ratio. 
Also.  the  signal-to-noise  ratio  drops  as  row  and  column  "" 
lengths  increase to  cover n large urea. 
15  and then  interpolates only on the eight nearest neighbor elec-
trodes of each local maximum electrode. This mny work !inc 
In  U.S.  I'm.  Nos.  5.543.59!.  5.543.590.  and  5.495.077. 
(ji!!espic ct a!  measure the ekctrmk:-linger                
l(Jr  row and column electrodes independently. "I(Jta! electrode 
capacitance is  estimated  by  measuring the electrode voltage 
chnngc caused by  injecting or removing a known nmount of 
chnrgc  in  n  known  time .  .-\1!  electrodes  cnn  be  mcnsurcd 
simultaneously  if each electrode has its  own drive/sense cir-
cuit. The centroid calculated  Jium all  row  and column  elec-
trode signals cswb!ishcs an intcrpo!ntcd verticnl nnd horiton-
wl  position  for  a single  object.  Tills method  may  in  gcncrn! 
hnve higher signn!-to-noisc ratio than synchronous methods. 
hut  the signal-to-noise ratio  is  still degraded as row  and col-
umn  lengths  increase.  Signal-to-noise  ratio  is  especially 
important for accurmely !ocming objects which nrc !loming a 
few  millimctersnbove the p.1d. Though tills method can dct<.><::t 
such objects. it  tends to report their position ns being ncar the 
middle of the pad. or simply does not detect  Jloating objects 
ncar the edges. 
"llllls there exists n need in  the art  for a capncitnncc-scnsing 
apparmus  which  docs  not  suffer  li"om  poor  signal-to-noise 
ratio and the multiple linger indistinguishability problems of 
touchpads with long row  and column ck><::trodcs. 
lix smn!!  fingertips.  but  thumb nnd  pnlm contacts mny cover 
more than  tlinc electrodes. Thus there exists n nL-cd  in  the  art 
!(Jr imprmed means to group exactly those electrodes which 
arecmercd by each distinguishable hand contact and to com-
pute n centroid li"om  such potcntinl!y  irrcgulnr groups. 
To  tnkc  mnximum advnnwgc of multi-touch surlUcc  sens-
ing.  complex  proximity  image  processing  is  necessary  to 
track and identify the parts oft he hand contacting the surbcc 
"5  at any  one time.  Compared to  passi\e opticaL  images. prox-
imity  images  provide  clear  indicmions  of where  the  body 
contncts the surfncc. uncluttered by  luminosity varimion nnd 
extraneous objects in the background. Thus proximity image 
liltcring  and  segmentation  stages  can  be  simpler and  more 
30  relinble  than  in  computer  vision  npproachcs  to  li"cc-sp.1cc 
hand  tracking  such  asS . .-\limnd.  ".\ Usnble  Rcnl-Timc  3]) 
!land Tracker." ProcL-cdings of the 28'" .-\si!omnr Conference 
on  Signals.  Systems.  and  Computers  l'at1  2.  vo!.  2.  II ;I ;I: 
(1994)  mY.  ('ui  and  .1.  Wang.  "!land  Segmentation  Using 
35  Lcaming-BnsL'<i  Prediction  and  \Cri!ication  for  lland  Sign 
Recognition." ProcL-cdings of the 19% 11-'1:1-'  Computer Soci-
ety Conference on Computer Vision and l'nttcrn Recognition. 
pp.  XX-93  ( 1996).  llowcvcr.  pat1s  of the hand  such as  inter-
mediate linger joints and the center of the palms do  not  show 
40  up  in  cnpncitive  proximity  imngcs  m  all  if the  hnnd  is  not 
Hmtcncd on the  surlUcc.  Without these intcnncdiatc linkngcs 
betwL-cn  lingertips and  palms  the overall  hand  stmcture can 
only he guessed at.  making hand contact  identilication  very 
dillicult.  I knee the optical  Jlow  and  contour  tracking tcch- U.S.  Pat.  No.  5.463.3XX  to  Boic  ct  a!.  has  a  capacitive 
sensing system npplicnble to either kcybonrd or mouse input. 
but docs not consider the problem of integrating both types of 
input  simultaneously.  Though  t!u:y  mention  independent 
dctL><::tion  of arrayed  unit-eel!  ck><::trodcs.  their  capacitance 
trnnsduction  circuitry  appears  too  complex  to  be  cconomi-
cnl!y  reproduced at  cnch electrode. Thus the long !cad wires  '0 
connL><::ting ck><::trodcs  to remote signnl conditiotling circuitry 
can pickup noise and will  ha\e signilicant capacitance com-
pared to the linger-electrode                   again  limiting 
signal-to-noise rntio.  Also. they do  not  rccogtlizc the impor-
wncc of independent electrodes  for multiple  !inger trucking.  '5 
or mention  how  to  track multiple lingers on  an  independent 
electrode array. 
45  niqucs which hnve  been npplicd to li"cc-spacc  hand sign lnn-
guagc  recognition  as  in  !'  Quck.  "Unencumbered Gestural 
Interaction."  11;1:1;  Multimedia. \ol.  3.  pp.  36-47  (1996).  do 
not  address the special challenges of proximity image track-
ing. 
Synnptics Corp. hns succcssli.llly fabricntcd their electrode 
nrray on Hcxibk mylar Him  rmhcrthnn still" circuit board. This 
is suitabk l(Jr conl(Hming to the contours of special products. 
but  does  not  prm ide  signilicant  linger cushioning  !(Jr  large 
surlUccs.  Even ifn cusllion wns placed under the lilm. the luck 
of stretchability in the lilm.  lends. and ck><::trodcs would limit 
the compliance am1rded by  the compressible material.  ISoic 
ct a! suggests that placing comressihle insulators on top of the 
electrode array cushions linger impact. llowcvcr. an insulator 
more than about one millimeter thick would seriously nttcnu-
!.ec built an early  multi-touch electrode array.  with 7 mm 
by  4  nun  mew!  electrodes  arranged  in  32  rows nnd  64  col-
umns.  The  "Fnst  Multiple-Touch-Sensitive  Input  Device 
(FMTSID)"  total  acti\e area  measurL-d  12"  by  16".  with  a 
0.075  mm  Mylar  dick><::tric  to  insulate  lingers  li"om  ekc-
trodcs.  Fnch  electrode  had  one  diode  comlcctcd  to  n  row 
60  me  the  mcnsurcd  !ingcr-ck><::trodc  cnpaciwnccs.  Thus  there 
exists a need in  the art  l(Jr a method to  transl'-:r linger capaci-
tance inlluences through an arbitrarily thick cushion. 
chnrging  line  nnd  n  second  diode  com1cct<.-d  to  n  column 
dischnl'oling  line.  Flcctrodc cap.1citnncc  chnngcs  were  men- 65 
surL'<i  singly or in rectangular groups by raising the voltage on 
one or more row  lines. selectively charging the electrodes in 
SUMMARY OF Till-'  INVJ:NTION 
It is a  primary object of the present  imention to  provide a 
system and method  !(Jr  integrating difJCrcnt  types of manual 
us 7,812,828  82 
7 
input  such as  typing. multiple                     manipula-
tion. and handwriting on a  multi-touch sur!Ucc. 
It  is  also  an  object  of the  present  invention  to  provide  a 
system  and  method  for  distinguishing  dillCrcnt  types  of 
manual  input  such  as  typing.  multiple                    
manipulation. and handwriting on a  multi-touch surli1cc.  via 
dillCrcnt  hand conHgurmions  which arc easy  Jix the  user to 
learn and easy for the system  to  rccognitc. 
II  is  a  Ji.n1hcr object of the present inn::nlion lo  provide an 
improved capacitancc-lransducing apparatus  that  is  cheaply 
implemented  ncar  each  dcclrmk:  so  that  two-dimensional 
sensor  arrays  of nrbitrm)'  site  and  resolution  can  be  built 
withom dcg.radmion  in  sig.nal  to noise. 
II  is  a  Ji.n1her object of the present invention lo  provide an 
electronic  system  which  minimizes  the  number  of sensing 
electrodes  necessm)'  to  obtnin  proximity  imnges  with  such 
resollllion thnt  n vnricty of hnnd conHgurntions cnn be distin-
guished. 
Yet  another object of the present  invention  is  to  provide a 
multi-touch  smbce apparatus  which  is  cmnpliant  and  con-
toured to  be comlixtnble nnd ergonomic under extended usc. 
Yet  nnothcr  object  of the  present  invention  is  to  provide 
tactile key or hand position Ji.:cdback without  impeding hand 
n::sling  on the stubce or smooth. accuralc sliding across  the 
surli1ce. 
It is  n li.Jrthcr object of the  present invemion to  provide nn 
electronic system which cnn provide imngcs ofHcsh proxim-
ity to an <I!Tay of sensors with such resolution that a variety of 
hand conliguralions can be distinguished. 
It is  nnothcr object  of 1he  present  invention  to  provide nn 
improved  me1hod  for  invoking  cursor  motion  continumion 
only when 1he  user wmus  it  by not  invoking  it  when signiH-
canl deceleration  is  dclected. 
8 
means conn\..-cted  in  parallel across the  integrating capacitor 
to deplete its  rcsidunl charge: nnd n vohage-to-voltnge 1rnns-
lmion  device  connected  to  the  output  node  of the  scrics-
comJccted switching means which produces a voltngc  rcprc-
5  senting the magnitude of the sell:capacitance of the sensing 
device. Altemali\ely. the sensing device comprises: two ek-c-
tricnl  switching means com1ected 1oge1her in  series hnving n 
conunon node. nn  input  node. and nn  olllplll  node:  a diclec-
tric-cmered  sensing  electrode  ctmn\.."CI\..-d  lo  the  common 
lCJ node between the two switching means: a power supply pro-
viding  an  approximately  constant  \ullage  connL-cted  to  the 
input  node of the serics-CO!l!K"C!cd  switching menns:  and an 
integrating currem-to-voltagc translation device CO!l!K"C!cd to 
the output node of the series connected switching means. the 
15  current-to-voltagelranslation device producing a \oltage rep-
resenting the magnitude oft he scJJ:cnpncitnnceofthc sensing 
device. 
'!i.1  li.mher achieve the objects. the present  invemion com-
prises a  multi-touch smbce apparatus  ll1r detecting a spatial 
""  anangemenl of nmltiple touch devices on or near the surbce 
of the  multi-touch  apparntus.  comprising.  one  of a  rigid  or 
Hcxiblc  sur!Ucc: n plurality of two-dimensionnl arrays of one 
of the  sensing  devices  (rL-citL-d  in  the  previous  paragraph) 
<llT<mg\..-d on the surbce in groups wherein the sensing d\..'\ ices 
"5  within  a  group  ha\e their output  nodes  ctmJK"CIL-d  together 
nnd  share  1he  same  intcgrming  cnpacitor.  charge  depletion 
switch.  nnd  voltngc-to-vohagc  translation  circuit!)':  control 
circuitry  ll1r  enabling a  single sensor device  Jium each  two-
dimensional  anay:  means  ll1r  selecting  the  sensor  \oltage 
30  datn  from each two-dimensional nrrny: voltage mensurcmcnt 
circuit!)' to convert sensor voltnge dma  ton digitnl code: nnd 
circuit!)' li.1r conununicnting 1he digitnl code to  an01her clcc-
tnmic de\ ice.  '1-he sensor voltage data sek-cting means com-
Another object of the present  invention  is  to  identify dif-
ferent  hnnd  puns as they contact  the  sur!Ucc  so that a vnricty  35 
ofhnnd con!igurntions can be recognized and used to distin-
guish dill"crelll  kinds of input  nctivity. 
prises one of a  multiplexing circuitry and a  plurality of volt-
ngc  measurement circuits. 
']i.J  still  li.Jrthcr  nchicvc  the  objects.  1he  present  invention 
comprises n multi-touch surfacenpparntus Jixsensing diverse 
conliguralions and activities of touch de\ ices and generating  Yet  another object  of the  present  imenlion  is  lo  reliably 
extract  rotation and scaling as we!!  as translation degrees of 
freedom  from  the motion of two or more hand contacts to nid  40 
in  navigmion  nnd  manipulation  of  two-dimensionnl  eke-
Ironic documents. 
inlcgrak-d manual input lo one of an electronic or electrmne-
chanicnl device. the nppnratus comprising. nn array of one of 
the  proximity  sensing devices  described  nbovc:  n  dielectric 
cmer ha\ing symbols  printL-d  thereon  that  represent action-
to-bc-laken  when  engagL-d  by  the  !ouch  d\..'\ ices:  scanning 
means ll1r  l(mJJing digital proximity images li'llm the array of 
II  is  a  Ji.u1her  object  of the  present  imenlion  to  reliably 
extract  tilt  and  ro!!  degrees  of Ji-e\..-dmn  Jimn  hand  pressure 
dill"crcnccs  to  aid  in  nnvigntion  and  manipulation  of thR'C-
dimcnsional cnviromncnts. 
Additional objects and ad\;mtages of the invention will be 
set  ll1rth  in  part  in  the description which  l(J!!ows.  and  in  part 
will  be  obvious  from  1he  description.  or  may  be  lcamcd  by 
prncticc of the  invention. The objects nnd  ndvantages of the 
invention will  be  rcnliz\..'d  nnd  allnin\..'d  by  mcnns  of 1he  cle-
ments  and  combinations  particularly  point\..-d  out  in  the 
append\..-d claims. 
45  sensing devices: cnlibrming menns Ji.1r  removing bnckground 
ollScts  from  the  proximity  imngcs:  recognition  means  for 
inlcrpreting  the  conliguralions  and  activities  of the  !ouch 
devices that make up the proximity images: processing means 
li.1r  generating  inplll  signnls  in  response  to  pnnicular  touch 
'0  device  conHgurmions  and  motions:  nnd  conununication 
mcnns  for sending 1he  input signals to  the  ck"Clron.ic  or clec-
tromL-chanical  device. 
']i.J  achieve 1he objects and in accordance with 1he purpose 
of the  invention. ns  cmbodk-d and broadly described herein.  '5 
the  imenlion comprises a  sensing de\ ice  that  is  sensili\e to 
changes  in  scJJ:capacilance  brought  about  by  changes  in 
proximity ofatouch de\ ice to the sensing d\..'\ ice. the sensing 
device comprising: two electrical switching mcnns com1ected 
together in series having n common node. nn  input  node. and  60 
an output  node:  a  dielectric-cmer\..-d  sensing electrode  con-
ll\.."CI\..-d  to  the  common  node  bclween  the  two  switching 
means: n power supply providing an npproximatcly constmll 
voltage conneck'd  to  the  inplll  node of the  scries-com1ected 
switching  means:  nn  integrating  cnpacitor  to  accumulntc  65 
charge transl"crrl..-d during multiple conseculi\e switchings of 
the  series  conneck-d  switching  means:  another  switching 
'Ill even  li.1rther  achie\e the objects.  the present  invention 
comprises n multi-touch surfacenpparntus li.1rsensing diverse 
conHgurations  nnd  activities  of lingers  and  palms  of one  or 
more hands near the sur liKe and generating integra!L-d manual 
input lo one of an ek-clronic or ek-clrom\..-chanical de\ ice.  the 
apparatus comprising:  an  array of proximity sensing means 
embedded in 1he sur!Ucc:  scanning means for forming digital 
proximity imngcs from the proximitics measured by 1he sens-
ing  means:  image  segmentation  means  ll1r  co!!ecting  into 
groups those proximity image pixels inlensiliL-d by contact of 
the  same  distinguishable  p.1rt  of a  hand:  contnct  trucking 
mcnns li.1r pnramcterizing hand contact  l"cmures and trnjccto-
rics ns the contncts move across successive proximity imnges. 
contact identilicalion means ll1r determining which hand and 
which p;u1  of the hand  is  causing each  surli1ce conlacl:  syn-
us 7,812,828  82 
9 
               dch.x:lion means !l1r identifying suhsc!s of idcn-
tiHcd  contacts  which  touchdown  or  liftoff  the  sur!Ucc  m 
approximmcly  the  same  time.  and  for  generating conummd 
signals in response to synchronous wps of multiple lingers on 
the surliJCc: typing recognition means ll1r generating intended  'i 
key symbols  from  asynchronous linger laps:  motion compo-
nent  extraction  means  for  compressing  multiple  degrees  of 
freedom of multiple lingers into degrees of li"<  ..  -cdom common 
in  two and  three dimensional graphical  manipulation: chord 
motion  recognition  means  ll1r  generating  one of command  lCJ
and cursor manipulation signals in response lo motion in one 
10 
enabling  users  to  instantaneously  switch  between  the  input 
nctivities  by  plncing  their  hnnds  in  dillCrent  con!igurmions 
comprising.  distinguishnble  combinmions  of  relmive  hnnd 
contnct timing..  proximity.  shape.  site. position.  motion nnd/ 
or identity across a  succession ofsurli1cc proximity  images, 
the method comprising the  steps of:  tracking each touching 
hand part across successive proximity images: measuring the 
times  when  each  hand  pnrt  touches  down  and  lilis  olr the 
surlUcc:  detecting  when  hand  parts  touch  down  or  Jill  olr 
simultnncously:  producing  discrete  key  symbols  when  the 
user  asynchronously  taps.  holds,  or  slides  a  linger  on  key 
regions  ddincd  on  the  surbcc:  producing  discrete  mouse 
button click commands. k<..y  comm;mds, or no signals when 
the  user  synchronously  wps  two  or  more  lingers  lfom  the 
same  hand  on  the  surlUcc:  producing gesture  commands  or 
multiple  dcgrcc-of-licedom  manipulation  signals  when  the 
user slides two or more lingers across the surbce: and sending 
the produced symbols. commands and  manipulation  signals 
or more cxtract<..-d degrees of freedom by a selected combina-
tion  of !ing.crs:  pen  grip  detection  means  for  recognizing 
contact arrangements which resemble the conliguration of the 
hand  when  gripping  a  pen.  generating  inking  signals  lium  l'i 
motions of the  inner  !ing.crs.  nnd  gcncrnting.  cursor mnnipu-
!ation  signals  from  motions  of the  palms  while  the  inner 
lingers nrc  lillcd: and communicmion mcnns for  sending.  the 
sensed conligurations and acti\ it ies o flinger and palms to one 
""  ns  inplll to  an electronic or an elcctro-mcchanicnl device. 
of the electronic and electromechanical de\ ice. 
'li.1  li.1rthcr nchicve the obj<  ..  ><::ts.  the present  invention com-
prises a method lix trucking nnd  idcntil)ing. hand contncts in 
a sequence of proximity images  in  order to  suppm1 interpre-
tation of hand conligurations and activities related to  typing. 
multiple                     manipulation  via  chords.  and  "-' 
hnndwriting. the method comprising the steps of:  seg.menting 
cnch  proximity  imngc  into  groups of electrodes which  indi-
cate signilicant proximity. each group representing proximity 
of a distinguishable hand part or other touch device: extract-
ing.  totnl  proximity.  position.  shnpe.  size.  nnd  oricntmion  30 
pnramcters  lfom  cnch  g.roup  of electrodes:  trucking  g.roup 
pnths through successive proximity  imngcs  including dct<..'<::-
tion of path endpoints at  contact touchdown and liliolf: com-
puting \elocity and liltcred position vectors along each path: 
assigning.  a hand and  !inger  identity  to  ench contact  pnth  by  35 
incorpornting.  relmive  pmh  positions  nnd  velocities.  indi-
vidunl  contnct  femures.  nnd  previous estimntcs  of hnnd  and 
linger positions: and maintaining estimatesofhand and linger 
positions  Jfom  trajectories of paths currently assigned to the 
lingers. wherein the cstimmcs provide hig.h  level  fcedbnck  to  40 
bins scgmcntmions nnd  identi!icntions in  li.Jture  imag.es. 
'](J  still  Jlu1hcr  achieve  the objects.  the  present  invention 
comprises a method ll1r integrally extracting multiple degrees 
of l].._,:dmn  of hand  motion  Jium  sliding  motions  of two  or 
more !ing.ers of a hnndncross n multi-touch surface. oneofthc  45 
lingers  prefcrnbly  being  the  opposnb!c  thumb.  the  method 
comprising the steps of:  tracking across  successive scans of 
the proximity sensor array the trajectories of indi\ idual  hand 
pnrts on  the  surlUcc:  !inding. an  inncnnost  and nn  omcnnost 
!ingcr contnct lfom contncts identified as !ingers on the  g.iven  '0 
hnnd: computing. a scaling velocity component from n chang.c 
in  a  distance  between  the  innermost  and  outennost  linger 
contacts: computing a  rotational  velocity component  Jfom  a 
chnng.e  in  a V<..><::tor  ang.!c  between  the  itmermost  nnd  outer-
most  !ing.cr  contncts:  compllling n  translation  weighting.  lix  '5 
each contacting linger: cmnput ing translational \ elocity com-
ponents in two dimensions  Jium a translation weighted aver-
age  of the  linger  velocities  tangential  to  stubce:  supprcs-
sively  !iltering.  components  whose  speeds  nrc  consistently 
lower than  the  lUstest  components:  transmitting  the  filtered  60 
\elocity  components  as  control  signals  to  an  electronic  or 
electromechanical de\ ice. 
'li.1  even  further nchieve the objects.  the present  invention 
comprises n manual  input  intcgrmion method for supporting 
diverse hand input activities such as  resting. the hnnds. typing.  65 
multiple dcgree-ol:j].._,:dmn  manipulation, command gestur-
ing  and  handwriting  on  a  multi-touch  surbce.  the  method 
'li.1  still even li.1rthcr nchieve the objects. the present  inven-
tion  comprises  n  method  lix choosing  whm  kinds  of input 
signals will he generated and sent to an  electronic or electro-
mechanical device in response to tapping or sliding oflingcrs 
on n multi-touch surface. the method comprising the  follow-
ing steps:  identil)'ing cnch contnct on  the  surface as either n 
thumb.  lingcrtip  or  palm:  measuring  the  times  when  each 
hand p;u1touches down and !ills olfthc surli1cc:  Jlmning a set 
oftlmse lingers which touch down Jfom  the all  linger Jloating 
swte before any  one of the  !ingers  lilis  back oll' the  surlUcc: 
choosing. the kinds of input sig.nnls to  be g.cnerntcd by Ji.1rthcr 
distinctive  motion  of the  lingers  Jfom  the  combination  of 
linger identities in the set: generating input signals of this kind 
when lim her distinctive motions of the !ing.crsoccur: lixming 
n subset nny  two or more !ing.ers which touch down synchro-
nously nlicr m !cnst one !inger has lifted buck olfthe surlUcc: 
choosing  a  new  kinds  of input  signals  to  he  generated  by 
llirlherdistinctivc motion of the lingers Jfom the combination 
of !inger  identities  in  the subset:  gencrming.  input  sig.nals  of 
this  new  kind when Ji.1rthcr distinctive motions of the !ing.crs 
occur: and continuing to  llmnJK'W  subsets. choose and gen-
erate  new  kinds  of input  signals  in  response  to  liliolf and 
synchronous touchdowns until all  lingers Jill  off the surli1cc. 
'](J  Jlu1hcr achie\e the objects, the present  invention com-
prises  n  method  for  continuing.  gencrmion  of cursor  move-
ment  or scrolling signnls from a tang.cntial  motion of n touch 
device mer a touch-sensitive input d<..'\  ice surli1ce alkr touch 
device  liliolf Jiom  the  surli1cc  if the  touch  device  operator 
indicmes  thm  cursor  movement  continuntion  is  desired  by 
nccelcrnting. or failing.  to  decelerate the tnng.ential  motion of 
the  touch device before the touch device is  lifted. the  method 
comprising the lllllowing steps: measuring. storing and trans-
mitting  to  a  computing  device  two  or  more  rcprcsentati\c 
tnng.ential velocities during touch device manipulmion: com-
puting nnd  storing.  a liliolr velocity  from  touch device posi-
tions immediately prim to the touch d<..'\  ice lilloff: comparing 
the lillolr velocity with the  rcprcsentati\e tangential  \eloci-
ties. and entering a mode ll1r continmmsly mm ing the cursor 
if n tnng.entinllilloff direction approximmely equnls the rep-
resenwtive tnng.ential directions nnd n tnng.entinllilloff speed 
is  greater than  a  predctennincd  Jiactional  multiple of repre-
sentati\e tangential spe'--ds: continuously transmitting cursor 
movement sig.nals aller liliolrto n computing. device such that 
the  cursor movement velocity corresponds to one of the rep-
resenwtive wngcntial velocities: and censing.  trnnsmission of 
the cursor movement signals when the touch de\ icc engages 
the  surbce  again,  if comparing  means  detects  signilicant 
us 7,812,828  82 
II 
tkx:ek:ration  b d ( m ~  lilloll or if the computing de\ ice replies 
1hnt 1hc cursor can move no !Unhcr or a window can scroll no 
farther. 
It  is  to  be  understood  thm  both  the  foregoing  gcncrnl 
description and the lllllowing detailed description arc cxcm- 'i 
pbry and explanatory only and arc no! n::slricli\ co f the im en-
tion as  claimed. 
IW!I;I:  J)J;SCRWI-!ON 01'-r!!l; J)RAWINGS 
"111c  accompanying  dmwing.s.  which  arc  incorporntcd  in 
and  constitute  a  part  of tills  spcciHcation.  i!lustrntc  severn! 
embodiments of the  invention and together with the  descrip-
tion.  serve  lo  explain  the  principles  of the  inn::nlion.  In  the 
drawings:  l'i 
!-'IG.  1  is  a  block diagram  of the  integrated  manual  inplll 
apparmus: 
I'Ki. 2  is a schematic drawing of the proximity sensor with 
\ohagc ampli!icr: 
I'Ki. 3  is a schematic drawing of the proximity sensor with  "" 
integrating. current amplifier: 
FIG.  4  is  a  schematic  drawing  of the  proximity  sensor 
implemented with lidd dkct transistors: 
I'Ki.  5  is  a  schematic drawing of the proximity  sensor as 
used to  implcmem 21) arrays of proximity sensors:  "-' 
FIG. 6 is a block diagram showing. a typical architeclllre lix 
a  2D array of proximity  sensors where all  sensors  share  the 
same amplilier: 
!'Ki.  7  is  a  block  diagram  of circuitry  used  lo  convert 
proximity sensor output  to a dig.iwl  code:  30 
FIG. Sis a block diagram showing. a typical architeclllre lix 
a  2]) array of proximity sensors where sensors within a  row 
share the same amplilier: 
!'Ki. 9  is  a  schematic of a  circuit  usdill  !(Jr  enabling  the 
omput gates of all proximity sensors within a g.roup (arranged  35 
in  columns): 
!'Ki.  10 is a  side \iL"\\"  of a 2]) proximity sensor array that 
is  sensili\e lo the pressure exerted  by  non-nmducting touch 
objects: 
FIG.  11  is a. side view of a 21)  proximity sensor array that  40 
provides a compliant surface without  loss of spatial sensitiv-
ity: 
!'Ki.  I 2  is a  side\ iLw  of a 2]) proximity sensor array that 
is  sensitive to both the proximity of conducting. touch objects 
and to  the  pressure exerted by non-conducting touch objects:  45 
FIG.  B  is an example proximity imageofa hand Hattened 
onto the surbce with  lingers oulslrclchcd: 
I'Ki.  14 is an example proximity image of a hand partially 
closed with !ingertips normal  to  surlUce: 
FIG.  15  is an example proximity image of a hand in the pen  '0 
grip ctmliguralion with  thumb and index lingers pinched: 
!'Ki.  16  is  a  data  !low  diagram  of the  hand  tracking  and 
contact  idcnlilicalion system: 
FIG.  17 is  a  !low chart of hand position estimation: 
FIG.  18  is a data How diag.ram of proximity image seg.men- '5 
lalion: 
!'Ki. 19 is a diagram of the boundary search pallcm during 
construction of an ekctrode group: 
FIG.  20.\  is  a  diagram  of  the  segmentation  strictness 
reg.ions  with  both  hands  in  their neutral. ddUult  position on  60 
surli1cc: 
!'Ki.  20B  is  a  diagram  of the  segmentation  strictness 
reg.ions  when the hands arc  in  asynunclric  positions on  sur-
face: 
I2 
I'!G.  2 I  is a  !low chart of segmentation edge testing: 
FIG.  22  is a  !low chan of persistent  path tracking. 
FIG.  23  is  a  !low  chart  of  the  hand  pmt  idemi!ication 
algorithm: 
I'!G. 24 is a\ oronoi cdl diagram conslnJcted around hand 
parl allractor points: 
FIG.  25.-\  is a plot of oriemation weighting factor lix rig.ht 
thumb.  right  im1er  palm. and  ldi outer palm  versus contact 
orientation: 
FIG. 25B is a plot of thumb size bctonersus contact si/e: 
FIG.  25C  is  a  plot of palm si/e liJClor  versus ratio of lola! 
contact proximity to  comact eccemricity: 
FIG. 25D is a plot of palm separation factor versus distance 
between a contact and  it  nearest  neighbor contact: 
FIG.  26 is  a  !low cha11  of the thumb  presence vcrilicalion 
algorithm: 
FIG.  27  is a  How  chart of an  alternative hand part  identifi-
cation alg.orithm: 
FIG.  28  is a  !low chart of the pen  grip detection process: 
I'!G. 29 is a !low chart of the hand idenli!icalion algorithm: 
FIGS.  30.-\-C  show  three dillCrem  hand partition  hypoth-
eses lix a  !ixL'<i  arrangemem of surface contacts: 
FIG.  31A  is  a  plot  of the  hand  clutching direction  liJClor 
versus horizontal hand  velocity: 
FIG.  31 IS  is a plot of the handedness liJClor \ersus vertical 
position of outermost !inger relative to  next  omermost: 
FIG.  31C  is  a  plot  of  the  p.1lm  cohesion  lUctor  versus 
maximum  hori/onlal  separation  between  palm  contacts 
within a hand: 
FIG. 32  is a plot of the inner !inger angle factor versus the 
angle between the innermost and next  innermost  !ing.er con-
tacts: 
FIG.  33 is a plot oft he inter-hand separation factor \ersus 
the  estimated  distance  between  the  right  thumb  and  !ell 
thumb: 
FIG. 34 is  a  !low chart of hand motion componem extrac-
tion: 
FIG.  35  is  a  diagram  of typical  linger  trajectories  when 
hand is nmlracting: 
FIG. 36 is a  !low chart of radial and angular hand velocity 
extraction: 
FIG.  37 is a  Jlow chart showing extraction of translational 
hand velocity components: 
I'!G. 38 is a Jlow cha11 ofdill"ercnlial hand pressure extrac-
tion: 
FIG.  39.\  is  a  How  chart  of the  !ing.er  synchronization 
detection loop: 
!'!G.  391S  is a  Jlow  chart of chord lap detection: 
FIG.  40.-\  is  a  !low chart  of the chord motion  rccog.nition 
loop: 
FIG.  40B is a How chart of chord motion event g.eneration: 
FIG. 4I  is a  !low chart of key  layout morphing: 
FIG. 42  is a  !low chart of the keypress detection loop: 
FIG.  43.\  is  a  !low  chan of the  keypress  acceptance  and 
transmission loop: and 
FIG. 43B is a  Jlow  chart oflypcmalic emulation. 
DJ:SCRII'TION 01-' Till: I'RITJ:RRJ:t) 
J:tvlBOJ)JMI'NTS 
RdCrcncc  will  now  he  made  in  detail  to  the  present  prc-
JCJTcd  embodiments of the invention. examples of which arc 
illustrated in  the accompanying drawing.s. Wherever possible 
the  same  rdCrence  numbers  will  be  used  throug.holll  the 
FIG.  20C  is  a  diagram  of  the  segmentation  stricllless 
regions  when  the  right  hand  crosses  lo  the  ldi  half of the 
surli1cc and the Jell  hand is off the surli1ce: 
65  drawings to  rdCr to  the same or like  p.1rts. 
!'!G.  I  is  a  system  block diagram oflhccnlirc. integrated 
manual input apparatus. Sensor embedded in the multi-touch 
us 7,812,828  82 
13 
surli1cc 2 detccl proximity of entire !lallencd hands 4. linger-
tips thumbs. palms. and other conductive touch devices to the 
surface  2.  In  a  prdCrr<..'d  embodiment.  the  sur!Ucc  is  larg.c 
enough  to  comlixtably  accommodate  b01h  hands  4  and  is 
arched to  reduce  !(JrcamJ  pronation. 
In a!tcrnatin:: cmhmlimcnls the muhi-touch surli1cc  2 may 
be lnrgccnough to acconunodmc motion of one hand. bm may 
be Hcxiblc  so  it  can be Httcd  to an annrcst or cl01hing. 
I ]cclronic scanning  hardware  6  controls  and  reads  li'llm 
each proximity sensor of a sensor array. A calibration module 
8  conslmcls a  raw  proximity image  lium a  complc!c scan of 
the  sensor  array  and  subtrncts  olr any  background  sensor 
ollScts. The background sensor offsets can simply be a prox-
imity  image taken when nothing is  touching the surbcc. 
'!11c  o!1Sct-cmTL-ctcd  proximity image is  then  passed on to 
the contact trucking and idemiHcation module  10. which seg-
ments the  image  into distinguishable  hand-surface comacts. 
tracks and  identities  them  as  they  move  through  successive 
1m ages. 
'!11c  paths of identi!icd contacts arc passed on to  a  typing 
rL-cognizer module 12. linger synchronization detection mod-
ule 14. motion component extraction module 16. and pen grip 
dctL-ction  module  17.  which  contain  sollwarc algorithms  to 
distinguish hand conligurations and respond to dctL-ctcd hand 
motions. 
14 
vary widely depending on the Jimction and processing power 
of the  host  compmcr.  In  a  prcJCrred  embodiment.  the  com-
munication would take place over complllcr cables via  indus-
try  standard protocols such as .\pple Desktop Bus. PS/2 key-
-'  board  and  mouse protocol  ll1r  I'Cs,  or  Uni\ersa!  Serial  Bus 
(USB).  In  ahcmative embodiments the soli ware  processing 
of modules  10-18 would be pcrfonncd within  the  host com-
pUler 22.  The multi-touch surlUcc apparatus would only con-
tain  enough  han.lware  to  scan  the proximity  sensor array  6, 
lCJ Jlmn proximity images 8. and compress and send them to the 
host  computer mer a wireless network.  '!11c  host communi-
cation  intcrlUcc  20 would then play  the  role of device driver 
on  the  host  complller.  conveying  results  of the  proximity 
image  recognition  process  as  input  to  other  applications 
l'i  residing on the host  computer system 22. 
In a  prcJCm.>d embodimem the host  computer system olll-
pllls to a visual display device 24 so that the hands and Hngers 
4  can  manipulate  graphical  obj<.-cts  on  the  display  screen. 
llowL"\cr,  in  ahernati\e  embodiments  the  host  computer 
""  might output to an audio display or control a machine such as 
a  robot. 
The term "proximity" will only be  used in  rc!Crcnce to the 
distance or pressure betwL-cn  a touch device such as a  !Inger 
and  the  surbcc 2,  not  in  rdCrcncc  to  the distance  between 
"-'  adjacent  !ingcrs. "llmizontal" and "\ertical" rdCr to x andy 
dirL-ctional axes within the surface plane. Proximity measure-
ments arc then interprctL>d as pressure in a zaxis nonnal to the 
smbce.  The dirL-ction  "inner" means toward  the thumb of a 
'll1e typing recognizer module 12 responds to quick presses 
and releases of lingers which arc  largely asynchronous with 
respect  to  the acti\ ity  of other  lingers  on  the  same  hand.  It 
allempts to  lind  the kLy  region nearest to the location of each 
linger tap  and forwards  the key  symbols or commands asso- 30 
ciatcd with the nearest key region to the communication inter-
face  module 20. 
given  hand,  and  the  dirL-ction  "outer"  means  towards  the 
pinky Hngerof a given hand. For the purposes oftllis descrip-
tion. the thumb is considered a linger unless otherwise noted. 
bm  it  docs  not  coum  as  a  Hngenip.  "Contact"  is  used  as  a 
gencraltcm1  ll1r  a hand p;u1  when  it  touches the surli1cc and 
appears in the current proximity image, and ll1r the group and 
'!11c  linger  synchroni:t11tion  dctL-clor  I4 checks  the  linger 
activity within a hand ll1r simultaneous presses or releases of 
a  subset  of  lingers.  When  such  simultanL'OUS  activity  is 
detected  it  signals the  typing rccogni:tcr to  ignore or cancel 
keystroke  processing  for  lingers  contained  in  the  synchro-
nous subset.  ll also passes on the cmnbination oflinger iden-
tities  in  the  synchronous  subset  to  the  chord  motion  recog-
nizer  18. 
'll1e  motion  component  extraction  module  16  computes 
nmhip!e degrees of Ji-eedom of control lium individual linger 
motions during easily perllmnab!c hand manipulations on the 
surli1cc  2,  such as hand translations. hand  rotation about  the 
wrist.  hand  scaling by  grasping with  the  Hngcrs.  and dillCr-
cntial  hand tilting. 
'll1c chord motion recognizer produces chord tap or motion 
e\ents dependent  upon  both  the synchronized  !Inger  subset 
identiHcd by the synchronization delL-e tor 14 and on the dirL-c-
tion  and  spcL>d  of motion  extracted  in  16.  These  events  arc 
then posted to  the host conununication  intcrlUcc  20. 
'!11c  pen  grip  delL-ction  module  I 7  checks  ll1r  spccilic 
arrangements of idcntilied  hand contacts which  indicate the 
hand isconHgurcdas if gripping a pen. If  such anarrangemem 
is. detected. it  forwards the movcmems of the gripping lingers 
as  inking  events  to  the  host  cmnmunication  interbcc  20. 
These  inking  L"\ents  can  either  lay  digital  ink  on  the  host 
computer display  ll1r  drawing or signature capture purposes. 
35  path data structures which represent  it. 
I-'IG.  2  is  a  schematic  diagram  of a  device  that  olllpllls  a 
voltage 58 dependent on the proximity of a touch device J8 to 
a  conductive  sense  ek-ctrode  JJ.  The  proximity  sensing 
device  includes  two  ck-ctrica!  switching  means  JO  and  JI 
40  comJccted  together  in  series  having  a  common  node 48.  an 
input  node 46. and an output node 45 .. \thin dick-ctric  mate-
ria!  J2  covers  the  sensing  ek-ctrode  JJ  that  is  dectrica!!y 
nmnL-ctcd  to  the common node 48. A  power supply  J4  pro-
viding  an  approximately  constant  \ohagc  is  connected 
45  between  rc!Crence  ground  and  the  input  node  46.  The  two 
electrical switches JO  and J 1 gate the How of charge from the 
power supply J4  to  an  integrating capacitor J7. The \ohage 
across  the  integrating  capacitor  J7  is  translated  to  another 
voltage  58  by  a  lligh-impL>dancc  voltage  mnplilier J5.  The 
'0  plates  of the  imcgrating  capacitor  J7 can  be  dischal'olCd  by 
closing electrical  switch 36 until the voltage across the  hue-
grating capacitor J7 is  ncar /cro.  The electrical switches JO 
and J I are opened and dosed in sequence but arc nL"\er dosed 
at  the  same  time.  although they  may be opened  at  the same 
'-'  time as shown in 1-'lG.  2.  l:t<.-ctrical  switch 30 is  rc!Crrcd  to as 
the  input  switch:  electrical  switch  JI  is  rckrred  to  as  the 
output  switch:  and. electrical  switch  J6  is  re!Crrcd  to  as  the 
shorting switch. 
or they can be  further  interprctL>d by  handwriting recognition 
soliwarc  which  is  well  known  in  the art.  The  dctai!L>d  steps  60 
within each of the above  modules will  be  lin1her described 
The proximity sensing device shown in  FIG.  2 is operated 
by dosing and opening the electrical switches JO. 31. and J6 
in  a p;u1icu!ar sequence alier which the \ohage output  li-om 
the ampli!icr 58,  which  is  dependent  on  the  proximity  of a  later 
'll1e host conununication intcrlUcc  keeps events lfom both 
the typing recognizer 12 and chord motion recognizer 18 in a 
single temporally ordered queue and dispatches them  to  the 
host  computer  system  22.  The  method  of communication 
betwL-cn  the  interbcc 20  and  host  computer  system  22  can 
touch device 38. is fL'Cordcd.  Sensor operation begins with all 
switches  in  the open state  as  shown  in  FIG.  2.  'll1e shorting 
65  switch 36 is then dosed for a sullicicntly long time to reduce 
the charge residing on  the  integrating capacitor  J7  to  a  !ow 
leveL rhc shm1ing switch J7 is then opened. 'll1c input switch 
us 7,812,828  82 
15 
J()  is  then  dosed thus  allowing charge  to  !low  between  the 
power  supply  and  the  conunon  node  48  until  the  volwg.c 
across  the  input  switch  30  becomes  zero.  Cha!'6C  Q  will 
accumtllatc on the  sensing electrode 33 according to 
Q  I \<'''-11  D 
'" 
where  \"  is  the  voltage  of the  power  supply  34.  c  is  the 
16 
the desired \ullage across integrating capacitor 37.  In typical 
npplications the  number is  between one and several  hundred 
pulsc-pnirs. 
I'IG. 5 shows the proximity sensor circuitry npproprimc for 
5  use in  a system comprising an <I!Tay  of proximity sensors 47 
as  in  a  multi-touch surbce system. The proximity sensor 47 
consists of the input trnnsistor 30. the output trnnsistor 31. the 
sensing electrode  33.  the  dielectric cover 32  for  the  sensing 
pcrmilli\ ity of the dielectric sensing ck:clrmk: cover 32  and 
the air gap he! ween thccmcr and the !ouch de\ icc 38. I) is the  1" 
thickness of this dielectric region. and A is  the overlap area of 
the touch device 38 and  the  sensing electrode 33. Therefore 
dec!rode  33. and  comluc!i\e !races 43.  44.  45.  and  46.  The 
conduc!ive  !races  are arranged  so  as  lo allow  the proximity 
sensors 47 comprising a 21) <I!Tay  lo  be closely packed and lo 
share the same conductive traces. thus reducing the number of 
wires needed in a system.  I'IG. 6 shows an example of such a 
system where the input nodes 46 of all proximity sensors are 
the amount of clw!'olC  accumulming on the sensing electrode 
.B will depend. among other things. on the area ofmcr!ap of 
the  touch  device  38  and  the  sensing  dcc!mdc  33  and  the 
distance hc!wccn  the  !ouch  device 38 and  the sensing  elec-
trode  33.  The  inpm  switch  30  is  open<.'d  nlier  the  volwge 
ncross  it  hns  become  zero.  or  nenrly  so.  Soon  nlier  inpm 
switch 30 is  opened  the  output  switch 31  is  closed  until  the 
\oltage across it  is nearly 1ero.  ("losing the output switch 31 
allows  charge lo  Jlow  between  the sensing elec!rode 33  and 
the  integrating  capacitor  37  resulting  in  a  voltage  change 
ncross the  integ.rnting cnpncitor 37 nccording to: 
15  nmnL><::!ed  together and connec!ed loa power supply 34. The 
ompm  nodes  45  of  all  proximity  sensors  are  connected 
together and connected ton single imegrming cnpacitor 37. n 
single shorting trnnsistor 36. nnd n single voltagc-to-voltngc 
amplilier 35.  In  this  implementation. a single proximity sen-
""  sm47 is enabled a!  a time by applying a logic  I signallirsllo 
its  input gate 43  and then  to  its ompm gme 44. This gntingof 
n single proximity sensor47 oncm a time is done by input gme 
controller 50 and  output  gale controller 51.  I'm example.  lo 
enable the proximity  sensor 47  in  the  lower right  comer the 
ddtaf'  lf'-f'clii+C'!J'"'Ii 
121  "5  input  gate controller  50  would  output  a  logic  one  pulse  on 
conductive truce 43a. "ll1is is Ji.1llowed  by a logic one pulse on 
conductive trace 44h produced by  ompm  gme  controller 51. 
Repetition  or this  pulse  as  shown  in  I'!Ci.  41S  would  cause 
charge  lo  build  up  on  integrating capacitor  37  and  a  cmre-
where Vc  is  the  volwge  ncross  the  integrnting  cnpacitor 37 
before the  output  switch 31  wns  dosed. C  is  the  capacitance 
or the integrating capacitor 37. and A and I) are equal to their 
\alues when input switch 30 was dosed as shown in I ;qualion 
I  Multiple switchings or the input 30 and output 31  switches 
as  described  nbove  produce  n  voltage  on  the  imegrming 
cnpacitor 37 thnt rcllects the proximity ofn touch device 38 to 
the sensing dec!rode 33. 
I'Ki. 3A is a schematic diagram or the proximity sensor in 
which  the  shorting  transistor  36 and  the  voltage-to-voltage 
translation  device  35  are  replaced  by  a  resistor  40  and  a 
currem-to-voltagc  trnnslmion  device  41.  respectively.  The 
integ.rnting function of capacitor 37 shown in FIG. 2 is.  in this 
\ariation or the proximity sensor. carried out by the capacitor 
39 shown in  I'!Ci. 3:\. Those skilled in the ;u1 will see that this 
\ariation  or the  proximity  sensor  produces  a  more  linear 
omput  58  from  multiple  switchings  of the  input  nnd  ompm 
switches. depending on  the rdmive  vnluc of the  resistor 40. 
Ahemali\dy.  the  resistor  40  can  he  replaced  by  a  shm1ing 
switch  69  (cr  I'!Ci.  31S)  lo  imprme linearity.  Although.  the 
circuits shown in 1:](;. 3 prm ide a more linear oulpullhan the 
circuit shown in I'IG. 2 the circuits ofi'IG. 3 generally r<:quire 
dual power supplies while the circuit of FIG.  2 requires only 
one. 
"l11e  dec!rical  switches  shown  in.  I'!Ci.  2  can  be  imple-
mented  with  various  transistor  !edmologies:  discrete.  inle-
grmed.  thin  !ilm.  thick  !ilm.  polymer. optical. etc.  One such 
implememation  is  shown in  FIG.  4.\ where  !icld efl<..><::ttran-
sislms (1'1 ;1s)are used as the input 30. output 3 I. and shm1ing 
36 switches.  The  I'FI"s are  switched on and  olfhy \oltages 
applied lo their gale terminals (43. 44. and 55).  For the pur-
pose of this description we will assume the  FIT is  switched 
30  sponding voltngc to nppear nt  the  oll1pll1of the amplilier 58. 
The entire  arrny  of proximity  sensors 47  is  thus  scmmed  by 
enabling n single sensor nt  n time nnd  recording its  output. 
I'J(j. 7A  is a schematic of typical circuitry useli.illllr con-
veJ1ing the proximity sensor output 58 loa digital code appro-
35  printe for  processing by compmcr. The proximity sensor om-
pm  58  is  typically  non-zero  even  when  there  is  no  touch 
device (e.g ..  ref  no. 38 in I'IG. 2) nearby. Tills non-tero signal 
is due lo parasitic or stray capacitance present all he common 
node 48 oft he  proximity sensor and  is or relatively constant 
40  vnlue.  11  is  dcsirnble  to  remove  this  non-zero  bnckground 
signnl before convening the sensorompm 58 ton digiwl code. 
This is done by  using a dif!Crenlial amplilier 64  lo  subtracl a 
stored  rL><::on.l  or the  background  signal  68  lium  the  sensor 
output 58. rhe resulting dilkrence signal65 is then comerted 
45  to  a digitnl code  by  nn :\DC (nnnlog to  digitnl convener) 60 
producing n  K-bit  code 66. The  stored  background signnl  is 
!irs!  recorded by  sampling the array or proximity sensors 47 
(FKi.  6) with  no  !ouch  devices  nearby  and  storing a  digital 
code  specilic  for  each  proximity  sensor  47  in  n  memory 
'0  device  63.  "ll1c  particular  code  corresponding  to  the  buck-
ground signnl ofench proximity sensor is selected by nn M-bit 
address input 70 lo the memory device 63  and applied 69 loa 
DAC  (digital to  analog comerter) 61. 
The 2]) array of proximity sensors 47  shown in  FIG. 6 can 
'5  be conncct<.-d  in groups so us to  improve the  rme nt  which the 
entire array is scanned. n1is is  illustrated in  l'l(i. 8 where the 
on when its  gme  voltage is  logic  1 and switch<.'d oll"whcn its  60 
gale \ullage  is  logic 0.  :\controller 42  is  used  lo  apply gale 
\oltages  as  a  li.mclion  of time as  shown  in  I'Ki.  41S.  In  this 
exmnple. n sequence of thr<.-c  pairs of pulses (43  nnd 44) nrc 
applied to  the  input  nnd  ompmtrnnsistor gmes.  Each pair of 
pulses 43  nnd 44  produces a  voltage change across the  intc- 65 
grating capacitor 37 as shown  in  !:qual ion  2.  The number of 
pulse pairs applied lo input43 and oulpu144 gales depends on 
groups are arranged as columns of proximity sensors.  In  this 
approach.  the  input  nodes  of the proximity  sensors are con-
nected  together  nnd  connected  to  a  power  supply  34.  as  in 
FIG.  6.  The  output  gmes 44 nrc also  conn<.><::ted  in  the  smnc 
way.  llowe\er.  the  input  gates  43  are  now  all  cmmec!ed 
together and the output nodes 45 are connec!ed lo only those 
proximity sensors 47 within a row and ton dcdicmed voltnge 
nmplilicr 35. With this conn<.><::tion  method. nllofthe proxim-
ity sensors inn colunm arccnnbledm a time. thus reducing the 
time lo scan the array by a  li!c!m N. where N is the number or 
proximity  sensors in  a  group.  The outputs  58a-h could con-
us 7,812,828  82 
17 
m:cllo dedicated com crier circuitry as  shown  in  FIG.  ?A or 
alternmivcly each olllplll  58a-h could  be  converted one  m a 
time using the circuit!)' shown in  !-'IG.  7B.  In  tills  Hgurc.  the 
olllput  sig.nals  from  each  group  58a-h  arc  selected  one  at  a 
time by nmltip!cxcr 62 and applied lo the posit in:: input of the 
di!krcnlial  ampli!icr  64.  With  this  la!cr  approach.  it  is 
assumed that the AI)(' 60 comcrsion time is much lilslcr than 
the sensor enable time. thus providing the suggested spc<..'d  up 
in  sensor arrny scanning. 
!-'IG.  9 shows a typical circuit uscfullix the control of the 
proximity  sensor's output gale 44.  II  consists of!lm::c input 
signals 75. 76.  78 and two output  signals 44.  77. nu:: output 
gate sig.na144  is  logic  I when both inpllls to.\Nl) gate 79 arc 
log.ic  I.  The AND  inplll  sig.nal  77  becomes  logic  I  if inplll 
signal76 is logic  I when input signal78 transitions !i-om logic 
0  lo  logic  I.  olhen.vise  it  remains  logic  0.:\ linear array of 
these circuits 8I  can  be conneetL"t.!  end-to-end  lo  enable  the 
omput  g.mcs of a sing.le  group of proximity sensors m a time 
as shown in  FIG.  8. 
I'IG.  10 shows a cover for the multi-touch surlUcc 89 thm 
permits  the  system  lo  he  sensili\e  lo  pressure  exertL"t.!  by 
non-eondueting !ouch ohjecls  (e.g ..  gloved  lingers) conlaet-
ing.thc multi-touch surlUce.  Tills cover comprises a deform-
able diekctric touch lnyer 85. a deformnblc conducting. layer 
86. nnd a complimu dielectric lnyer 87. The touch surfnce 85 
would ha\e a  symbol  set  prin!L"t.!  on  it  appropriate  ll1r  a  spe-
cilic  application.  and  this  surliJCe  could  he  removed  and 
replaced with another one hnving. a different symbol set.  The 
conducting laycr86  is  electrically connected 88 to  the  refer-
ence  ground  of the  proximity  sensor's  power  supply  34. 
When a !ouch objecl presses on !he lop surliJCe85 it causes the 
condueting surface 86 under the !ouch dL'\ ice lo  mme closer 
18 
"Ill  illuslrale  typical  properties  of hand  conlacls  as  they 
nppcar  in  proximity  imnges.  FIGS.  D-15  contnin  sample 
imag.es  cnptured  by  a  prototype  arrny  of  parnllelogrnm-
shaped electrodes. Shading ofcnch electrode darkens to indi-
5  calc heightened  proximity  signals  as  llesh gels  closer lo  the 
smbce. compresses against the surliJCe due lo hand pressure. 
nnd  overlnps  the  parnllelogrnm  more  completely.  Note  that 
the  rcsolmion of these imng.es  is  in  no way intcndL'<i  to  limit 
the scope of the invention. since certain applications such as 
lCJ handwriting  rL>cognition  will  clearly  require  liner  eleetrode 
anays  than  indica!ed  by  the deetrode  size  in  these  sample 
imag.es.  In  the  discussion  thm  li.1llows.  the  proximity  dmn 
meusurcd  m  one  el<.>ctrode  during.  a  particular  scnn  cycle 
conslilules  one  "pixel" of the  proximity  image  caplurL"t.!  in 
15  !hal scan cycle. 
I'IG.  D  shows  a right  hnnd  llallencd  ng.ainstthe  surlUcc 
with ling.crs  olllslretched. At  the  far  ]eli  is  the  oblong.  thumb 
201 which tends to pointoll"ntabout 120-degrces. The colum-
nar blobs ananged in an arc across the lop of the image are the 
""  index !Inger 202. middle !Inger 203. ring !Inger 204 and pinky 
linger 205.  Flesh from  the  proximnlling.cr joint. or proximal 
phalnng.cs 209. will nppear below cnch lingcnip if the ling.ers 
are !i.llly  ex!ended. The  inner 207 and  outer 206  palm  heels 
cause the pair of \cry large conlaets across the boll om oft he 
"5  image.  Forepalm calluses 2 I 3 are\ isihle a!  the cenler oft he 
hand if the palm is  li.llly  !lnllencd. Tills imag.e  shows thm  all 
the  hnnd  contncts arc roug.h.ly ovnl-shnpL'<i.  but  they  dill"er  in 
pressure. size. orienlalion. eccentricity and spacing relative lo 
one another. "!.his  image includes all  of the hand paris which 
30  can touch the surlUce from the bon  om of  one hnnd bm in many 
to  the  sensing  electrode  33  of the  proximity  sensor.  This 
results  in  n  chang.e  in  the  amount  of chnrge  stored  on  the 
35 
sensing deetrode 33 and thus the presence of the !ouch ohjecl 
can he deteeted. The amount of charge stored will depend on 
the  pressure  cxcrtL'<i  by  the  touch  object.  More  pressure 
results in  more chnrge stored ns  indicated  in  Equntion  I. 
instnnccs only n  l"ew  of these  parts will  be  touching.  the sur-
lUce.  nnd  the  ling.ertips  may  ronm  widely  in  relntion  to  the 
palms as  !ingers are !lexed and extended. 
FIG.  I4 shows another extreme in  which  the hand  is  par-
tially dosL'<i. The thumb 201  is ndductcd toward the ling.ertips 
202-208  nnd  the  lingers  nrc  !lexL'<i  so  the  !ing.ertips  come 
down normnl instead of tnng.cntialto the surlUce.  The heig.ht 
and  intensity  of  !ingertip  conlaets  is  lessened  som<.'.hal 
bL>cause  the bon<.y  tip  rather than  !leshy pulp pad  is  aclually 
touching.  the  surlUce.  but  ling.cnip  width  rcmnins  the  snmc. 
.\djncent  lingcnips  202-205  nnd  thumb  201  nrc  so  dose 
"]i.J  obtnin a soller touch sur!Ucc on the  multi-touch device  40 
a thicker and more. cmnplianl dieleetric cover could be usL"t.!. 
I lowe\ cr. as the didec!ric thickness increases thedket of the 
!ouch de\ ice on  the  sensing deetrodes  33  spreads  out  thus 
lowering. spatial resolution .. \  complimll mllsotropicnlly-con-
ducting mmerinl  can  be  used  to  counter this  ncg.mive  efk>ct 
while also  providing a  soli  !ouch  surface.  I'J(i.  I I  shows  a 
cover in which a compliant anisolropically-conduc!ing male-
rial90 is sci between a thin dieiL>cl!ic cover85 and the sensing 
electrodes 33. If the conductivity of the compliant mmeria190 
is oricmL'<i mostly in the verticnl direction. the  imag.c  li.xmcd 
by a !ouch dL'\ ice on the surli1ce 85 will he lranslated without 
signilicanl  spreading lo  the  sensing eleetrodes  33.  thus  pre-
serving spntial resolution willie providing. n compliant touch 
surface. 
I'IG.  12  shows a cross section ofn multi-touch surlUce thm 
senses both the proximity and pressure of a !ouch de\ ice. The 
!ouch layer 85 is a thin dieleetric that separates !ouch devices 
from  the sensing eiL>ctrodes 33.  Proximity sensing is  relati\e 
to this surfnce. The electrodes 33 nnd associmL'<i switches and 
conductors nrc lUbricated on n compliant mmerial 89 which is 
allached  loa rigid  metal  base 92.  The me!al  base 92  is  eiL>c-
lrically conneeted 88 lo the rd"erence ground of the proximity 
sensor's power supply 34. When a touch device presses on the 
touch surlUce  85 it  causes  the  sensing electrodes 33  directly 
below to movccloscrto the rig.id  mew! base 92.  The distance 
movL"t.!  depends on the pressure applied and thus the pressure 
exertL"t.!  by a !ouch dL'\ ice can bedetL>c!ed as describL"t.!  b d l m ~ . 
together  as  lo  he  distinguishable  only  by  slight  proximity 
valleys  210  between  them.  The  proximal  phalange  !Inger 
joints are suspended well above the smbce and do no! appear 
45  in  the  imng.e.  nor do  the  li.xepnlm  cnlluses.  The  palm  heels 
206. 207 nrc som<.wlwt shorter since only the rcnrofthc pnlm 
can !ouch the sur liKe when lingers are !lexed. hut  the separa-
tion  between  them  is  unchangL"t.!.  Notice that  the  proximity 
imag.es nrc undullerL'<i by bnckg.round objects. Unlike optical 
'0  imag.es.  only conductive obj<.'CIS  within a l"ew  millimeters of 
the  surface show up m all. 
l'l<i.  I5 is a proximity image of a  right  hand in a  pen grip 
conliguralion.  "l11e  thumb  20I  and  index  !ingertip  202  are 
pinched together us if they were holding a pen but  in this cnsc 
'5  they arc touclllng the surlUce  instend .. \cnmlly the thumb nnd 
index !Inger appear the same here as in I'Ki. I4.  llowever. the 
middle 203. ring 204. and pinky 205 !ingers are curled under 
as if making a  !is!. so the knuckles from  the lop of the lingers 
nctunlly touch the  surfnce instcnd of the !ing.er tips.  The curl-
60  ing  under  of the  knuckles  nctunlly  places  them  behind  the 
pinched thumb 20I and index linge11ip  202 \cry dose lo  the 
palm heels 206. 207. "!.he knuckles also appear larger than the 
curled lingcnips ofi'IG.  14 but  the  same size us the !lnnened 
lingcnips  in  I'IG.  D. These difl"erenccs  in  size and arrang.e-
65  men!  will  be  measured by  the pen grip detector 17  to distin-
guish this pen grip con!iguralion !i-mnlhedosed and !lallenL"t.! 
hand conliguralions. 
us 7,812,828  82 
19 
!'Ki. 16 represents the data !low within theconlacllracking 
and  identi!icmion  module  10.  The  image  seg.menwtion  pro-
cess  241  takes  the  most  recently  scmmcd  proximity  image 
data  240 and  segments  it  into  groups of electrodes 242  cor-
responding to  the distinguishable hand parts of I:J(j.  13. '1-he  'i 
!ihering and scgmcnlation rules applied in  p;u1icu!ar  regions 
of the  image  arc  partially  dctcrmin<..'d  by  !Ccdback  of  the 
cstimmcd hand offset dma  252. The image scgmcntmion pro-
cess 241  outputs a  scl ofdcctmdc group data slruclurcs 242 
which arc paramclcriA:d by  !iuing an ellipse to  the positions  lCJ
and  proximity  measurements  of the  dcc!rodcs  within  each 
group. 
20 
It  is  also  comenicnt  to  maintain  ll1r  each  hand  a  set  of 
bitlidd  datn  registers  for  which  each  bit  represents  touch-
down.  cominued contnct  or  liliolr of n  particulnr  linger.  Bit 
positions  within  cnch  bit  Held  correspond  to  the  hnnd  part 
indices above. Such registers can quickly he tested with a hit 
mask to  detcm1inc whether a pat1icular subset of lingers has 
touched  down .. \ltcrnntivc!y.  they  cnn  be  fed  into  a  lookup 
tnblc  to  lind  the  inplll  events  associated  with  n  particular 
!ingcr  chord  (combination  of lingers).  Such  linger  identity 
bitlields arc needed primarily by the synchronitation detector 
14 and chord motion r\.><::ogniter  18. 
'!-he last  process within the tracking and idcntilication sub-
system is  the hand position estimator 251. which as described 
nbovc  provides  binsing  fe\.'dbnck  to  the  idcmi!ication  nnd 
segmentation  processes.  The  hand  position  estimator  is 
intended to  provide a conservati\e guess 252 of lateral hand 
position  under  all  conditions  including  when  the  hnnd  is 
Hoating  above the surface witholll touching.  In  this cnsc the 
estimate represents n best guess of where the hand will touch 
""  down  again.  When  parts of a  hand arc touching the surliJCc. 
the estimate combines the current position measurements of 
currently identi!k-d hand pnrts with past estimates which may 
have  been mnde  from  more or less  reliable  idcnti!icntions. 
"111c  path trucking process  245  matches up  the  parmnctcr-
izcd dcc!rodc groups 242 with the predicted continuations of 
contact  path  data  stmcturcs  243  cxtrach.:d  li'llm  previous  l'i 
images.  Such  path  tracking  ensures  cominuity  of comact 
representation  across  proximity  images.  "ll1is  makes  it  pos-
sible to  measure the velocity of individual hand contacts and 
determine when a hand part !ilis olfthc stu bee. disappearing 
from  li.1turc  images.  The path  tracking process  245  updates 
the  path positions.  velocities. and contact  gcomet!)'  features 
from  the  parameters  of the  current  groups  242  and  pmscs 
them on to  the contact  identilication processes 247 and  248. 
!'or notational purposes. groups and unidentilicd paths will he 
rcJ'errcd  to  hy  data  stmcturc  names  of the  llmn  (ji  and  Pi  "-' 
respectively. where  the  indices  i arc arbitral)' except  for  the 
null  group  GO  and  null  path  PO.  Particular  group  and  path 
parameters  will  he denoted  hy  subscripts  to  these  structure 
names and  image  scan  cycles  will  he denoted  by  bracketed 
indices. so  thnt.  for example. P2,. In I represcms the horiton- 30 
tal  position of path 2 in the current proximity image. nnd  P2,. 
The simplest but  inlCrior method of obtaining a hnnd posi-
tion measurement would he to a\cragc the positions ofallthc 
hand's contacts  regardless of identity.  If hand parts 201-207 
were  all  touching  the  surbcc  as  in  J'](j_  13  the  resulting 
centroid would ben decem estimate. lying somewhere under 
the  center of the  pnlm  since the !ingers nnd  palm heels  typi-
cally  llm11  a  ring  around  the  center  of the  palm.  llowe\er. 
consider  when  only  one  hand  contact  is  available  ll1r  the 
nveragc. The estimate would nssumc the  hand cemer is at  the 
position of this lone contact. bm if the contnct is from the right 
thumb the  hand center would nctunlly be 4-8 em to  the  right. 
or if the contact is  lfom a palm heel the hand center is actually 
4-0 em higher. or if the lone contact is  lfom the middle linger 
the  hnnd  ccmer should actually be nctunlly  4-6 em  lower. 
1-'IG.  17  shows the  detailed  steps within  the  hnnd  position 
r n-11 represents the position in  the previous proximity imnge. 
'!-he contact idcntilication system is hierarchically split into a 
hand  identilication  process  247  and  within-hand  linger and 
pnlm  idemi!ication  process  248.  Given n hnnd  identification  35 
for  each  contnct.  the  linger nnd  palm  identification  process 
248  utilizes  combinntorin!  optimizntion  nnd  Ji.1zzy  pnncrn 
n.:cognition techniques to identify the part of the hand causing 
each  surbce contact.  !'el.-dback of the cstimak-d  hand ollSet 
helps identi!)'  hnnd contacts when so lCw  comacts appear in 
the imnge that the overall  hnnd  stmcturc is  not  nppnrent. 
40 
estimator  251.  The  steps  must  be  repented  lix  ench  hnnd 
separately. In a prclCtT\.-d embodiment. the process utilizes the 
within-hand  contact  idcntilications  (250)  to  compute  (step 
254) for ench contnct an ollSet between the measured contact 
position (1-'i,[ n].Fi,.]n ll and the default position of the particu-
'l11c  hand  idcntilication  process  247  utilizes  a  separate 
combinatorial optimi121tion algorithm to  lind  the assignment 
of !ell or right  hand identity to  sur bee contacts which results 
in  the most  biomechanically consistent within-hnnd  idcntili-
cntions.  It also  receives  lCedback of the cstimak'd  hand and 
linger oflSets  252.  primarily  ll1r  the  purpose of temporarily 
storing the last measured hand position alkr lingers in a hand 
45  lnr linger or pnlm  heel                                                   with hand part idemity i. 
The  delimit  positions  prcJCrably  correspond  to  linger  and 
palm  positions  when  the  hand  is  in  a  neutral  posture  with 
!ingcrs  partially  closed.  us  when  resting  on  home  row  of a 
kcybonrd.  Step 255 avernges the individun! contnct ollSets to 
!ill olfthc surface. Then if the  lingers soon touch  buck down 
in  the same region they will more likely R><::eive  their previous 
hnnd  idcntilicntions. 
,
0 
obtnin a measured  hnnd ollSet. (II,", In 1.11,.,,-1 n]): 
I: 1-i,.,,JII ]{1-i, I  II I - 1-i""" I 
II,.. ,]11]  =                                      
2.:  Fi,.._.]ll] 
" 
L:li,.,,_]Hj{/'i,ln]-li,
1
<:
1
,  I 
11,.'"]11]  =  "'--,------
'" 
'l11c  output of the  idcntilication processes 247 and 248  is 
the set of contact paths with non-tcro hand and linger indices 
attached.  For  notntionnl  purposes  identi!k-d  paths  will  be 
rcJCrrcd  to as FO  for the  utlidcnti!ied or null  linger.  Fl lix the  '5 
thumb  201.  1'2  ll1r  the  index  linger  202.  1'3  ll1r  the  middle 
linger 203.  F4  ll1r  the ring linger 204. 1'5  ll1r  the pinky linger 
205.  F6  the outer palm  heel  206.  1'7  ll1r  the inner palm  heel 
207.  and  F8  for  the  forcpnlm  calluses  208.  To  denote  a  par-
ticu!nr  hnnd  idemity this  notntion can be prc!ix\.'d  with  an  I.  60 
ll1r  !ell  hand  or  R  ll1r  right  hand.  so  that.  ll1r  example.  RF2 
denotes the right  index linger path.  When rcJCrring  to  a  par-
ticu!nr  hnnd  as  n  whole.  ! J I denotes  the  !eli  hand  nnd  Rll 
denotes  the  right  hnnd.  In  the  nctun!  nlgorithms  !eli  hand 
identity  is  represcnt\.'d  by n -I nnd right  hnnd  by  +I. so  it  is 
easy to R'\crse the handedness of measurements taken across 
Preferably the weighting 1-'i""'" Jn I of ench !ingcr and pnlm 
65  heel  is approximately its measuR'<i total proximity. i.e .. Fi,.,., 
[ nj  l'i .[  nJ. '1-his ensures that !i!led lingers. whose proximity is 
tero. have no  inlluence on the merage. and that contacts with  the vct1ical  axis of symmetry. 
us 7,812,828  82 
21 
!ower than nmma! proximity. whose measured positions and 
identities are less accurate. have !ow  in!lucncc.  Furthcmmrc. 
if palm  h<..-cls  arc  touching.  1hcir  !arg.c  tow!  proximitics  will 
dominmc  1hc  average.  This  is  bcnc!icial  because  1hc  palm 
h<..-cls.  being immobile relative to the hand center compared to 
5 
the highly Jlcxib!c lingers. supply a  more reliable imlicalion 
of overall  hand  position.  When  a  hand  is  no!  touching  the 
surli1cc.  i.e ..  when  all  pmximitics  arc  /cro.  the  measured 
o!1Sets arc sello /em. This will cause the !ihcn.:d hand posi-
1
, 
tion cstimmc below to decay toward the dc!Uult hand position. 
L 1-i,., .. ]n] 
' 
22 
{S  I 
{61 
The  current  contact  \docities.  (Fi.,[n[.F,.[nj).  arc 
As long as the contact idcntiHcations nrc correct. this hand 
position  measurement  method  eliminates  the  large  errors 
caus<..-d by assuming. lone contncts orig.inntc from the center of 
the hnnd.  Flexing of Engcrs  from  their delimit positions will 
not perturb the measured centroid more than a  couple centi-
meters.  llowe\er.  this  scheme is  susceptible to  contact misi-
dcntilication.  which  can cause centroid  measurement ctTms 
15  retrieved Jium the path tracking process 245. which measures 
them  independent  of linger  identity.  Step  258  updates  the 
estimated  hand oll"scts  (!lc"'fn].!lc"'[n]) using.  the complete 
H!tcr cqumions: 
of up to X em if only one hand pari is touching. "!.herclllrc. the  "" 
current  meusurcd offsets nrc not  used directly.  but  nrc  aver-
ag.cd  with  previous  oll"sct  estimates  (!!emf n-! ].! !"",.[ n-! ]) 
using a  simple  Erst-order autorcg.ressive  H!tcr.  forming.  cur-
       I                  I"            ]Iii (      1 ]+If,.,"" 
/11/IVl 
         I        /If,.,  .!"            ]Iii(  ..        1 ]+If,.,. 
/11/IVl 
"' 
'" 
Fina!!y.  to  provide a similarly ctmseJYali\e estimate of the 
rent offset cstimntes (ll,.",Jn ].II,..,,.] n]). 
""  positions of particular lingers step  259  computes  indi\idua! 
Step 256 adjusts the  !i!tcr pole  II""[ n]  according.  to  conE-
dcncc in  the cutTen! contact idcntilications. Since linger idcn-
tilications  accumulate  reliability  as  more  parts  of the  hand 
contact the surfiJCc one simple measure of identilication con-
fidence:  is  the  number of lingers which  hnvc  touched  down  30 
from  the  hand  since  the  hnnd  lust  !ell  the  surfnce.  Contncts 
with  ln1'6C  totnl  proximities  n!so  improve  idcntiEcntion  rcli-
abi !ity because t!u:y ha\ e strong disambiguating !Cat urcs such 
Enger  oll"scts  (Fi,.,,[n].Fi,.,,..[n])  Ji"om  the  distnnce  between 
identified  contncts  and  their  corresponding  default  !ing.er 
positions less the estimated hand o!lSets. 1:oreach identi!iable 
contact  i.  the o!lSets are computed as: 
n. "' /11/  I (",/11]111 .  .,,"/"f+!-i ,/11! -1\1." 1+11-/  (",!11]1 
             l+h,.jniAt) 
(')) 
as size and orientation. Thcrel(Jre I!,,,[ nj  is  set  roughly pro-
pm1iona! to the maximum linger count plus the sumofcontact  35 
proximitics for the hnnd.ll""f n]  must oJ"coursc be normn!izcd 
n,._./1!/            .                                     
           1+1-1,.,./niAt) 
These !ing.er oll"sets reHcct deviations of Enger !lcxion nnd 
extension  from  the  neutral  posture.  If the  user  plnccs  the 
Engcrs in an extreme config.urmion such us the !lnnened hnnd 
conliguration.  the co!!ectivc magnitudes  of these  !inger on: 
sets can he used as  an  indication of user hand site and  !inger 
to be between zero nnd one or the H!ter will be unstnblc. Thus 
when conlidcncc in contact identilications is  high.  i.e .. when 
many  parts of the hand  Jim1!y  touch  the surface.  the autorc-
grcssi\c Ji!tcr  liJ\ors the current  o!l"sct  measurements.  I low-
ever.  when only  one  or two  contncts  hnvc  renppcnred  since 
hnnd lilioll". the H!tcr cmphnsites previous oll"set cstimmcs in 
the hope thnt  they were bused upon more relinb!e  identi!icn-
lions. 
"l11c  Jilten.:d o!lSets must also maintain a conservative esti-
mate of hand  position  while  the  hand  is  Jloating  above  the 
surli1cc  llll  optima!  segmentation  and  idcntilication  as  the 
hnnd  touches buck down.  If a  hand lifts oll" the surface in  the 
middle  of  n  complex  sequence  of  opermions  and  must. 
quickly touch down ngain.  it  will probably touch down dose 
to  where it  lined oll".  I low ever. if the operation sequence has 
ended.  the hand  is  likely  to  e\entua!!y  rctum  to  the neutral 
posture. or delimit  position. to rest. rhercl(Jre. while a hand is 
not touching the surface. II".,[ n]  is made small cnoug.h thm the 
estimmed oll"sets  g.radua!!y  decny  to  zero  at  about  the  same 
rnte  as  a  hnnd  !nzi!y rctums to  default  position. 
40  lcng.th  compnred to  the  averngc ndult. 
The  pnrametcrs  (ll"",[n].ll"",.[n])  nnd  (Fi"",[n].!'icoofn]) 
llll  each  hand  and  linger constitute the estimated  hand  and 
linger ofl"sct  data 252. which is  !Cd  hack to  the segmentation 
and identi!ication processes during analysis of the next prox-
45  imity imnge.  If the other processes ne<.-d  the estimate in abso-
lme coordinntes. they can simply add (step 260 ) the supplied 
oll"sets  to  the delimit  linger positions.  but  in  many cases  the 
relative oll"set  representation  is actua!!y  more convenient. 
It  should  be  dear  to  those  skilled  in  the  arl  that  many 
'0  improvements cnn  be  made  to  the  nbovc hnnd  position esti-
mation procedure which remain well within the  scope ofthis 
invention. espccia!!y in the mannerofguessing the position of 
lilkd hands. One improvement is to make the estimat<.-d hand 
oll"sets dccny townrd zero m n constnnt speed when n hnnd is 
'5  lilk-d  rmhcr  than  decny cxponentia!!y. Also.  the  ofl"sct  com-
putations  ll1r  each hand have been  independent as describ<.-d 
so  br.  It  is  actua!!y  advantageous  to  impose  a  minimum 
horimnta!  separation  between  the estimated  !eli  hand  posi-
tion  and estimmed right hnnd position such thnt  when n hnnd 
When  !l.,"[n]  is  made smnl! due to  low identi!icmion con-
Jidence.  the Ji!tcr tracking delay becomes large enough to  lag 
behind a  pair of quickly moving  lingers by  several centime-
ters. The purpose oft he H!tcr is  to rcnct slowly to questionable 
chnng.cs  in  contnct  identity.  not  to  smooth  contact  motion. 
This motion tracking. ddny can be safely diminmed by  add-
ing  the contact  motion  measured  between  images  to  the old  65 
o!lSet  estimate.  Step  257  obtains  motion  from  the  a\erage. 
60  such as  the  right hnnd slides to  the opposite side of the bonrd 
while  the  other  hand  is  !ilk-d.  the estimatL-d  position  of the 
other hand is displacL-d.  In  this case the estimatL-d  position of 
the  tilled !ell hnnd would be forced  from deJUult to the JUr !eft 
of the surJUcc. possibly off the surJUce completely. If the rig.ht 
hand is tilled and the !eli is not. an equation like the Ji.1llowing 
can be app!iL-d to l(Jrce theestimatL-d right hand position out of 
(I 1.,, ,[ nj.l 1,...,.[ nJ) of the current contact \docities:  the way: 
us 7,812,828  82 
23 
Rh, c"l n]:  min!R/  f. c"(11].i U"1,,.
1
; -RFI "''' i+Ut, ",{11]+ 
min  hard  ><:pi 
24 
the  strict  segmentation  region  282.  where  proximity  saddle 
points  must  serve  as  contact  boundaries.  As  n  preferred 
embodiment  the  sloppy  regions  arc  r<.><:Wng.ulnr.  their  inner 
boundaries 285 nrc  placed just  inside of the columns where 
where  (!.l:t,.,
1
,-RFl,.
4
J  is  the  debuh  separation  between 
!eli and rig.ht thumbs. is  the minimum horizontal sepmation to 
be impos<..'d. and 1.1 !emf nl  is the current estimntedoffsct of the 
!eli hand. 
5  the index lingers 202 areexpL>cted to lie. and the upper bound-
aries  287  are placed at  the estimatL-d  \erticallevds of their 
respective thumbs 201. The olller and lower boundnries of the 
sloppy  regions  nrc  dctennincd  by  the  omside  edg.es  of the 
!'Ki.  18  represents  the  data  Jlow  within  the  proximity 
image scgmcnlation process 241  Step 262 makes a spatially 
smoothed  copy  263  of the current  proximity  image  240  by 
1
, 
pnssing  a  two-dimensional  dilrusion  opcrntor  or Gaussian 
kernel over it.  Step 264 scnrchcs the smoothed image 26J Jix 
local maximum pixds 265 whose Jihcrcd proximity cxcL-.._'<fs 
a  signilicancc threshold and cxcL-.._'<fs  the  !ihcn.:d proximitics 
ofncnrcst neighbor pixds. The smoothing reduces the chance 
15 
!hnt an  isolated noise spike on a sing.!c electrode will result  in 
a local  maximum-which exceeds the  sig.niHcancc  threshold. 
and consolidates  local  maxima to  about one per distinguish-
able !leshy contact. 
Process 268 then constmcts a group of ekctrodes or pixels  "" 
which reg.istcr sig.niHcant proximity nround cnch local  maxi-
mum  pixel  by  scnrching. outward from  each  local  maximum 
l(Jr contact edges.  I Oach  electrode cncountcn.:d bei(Jrc  reach-
ing  a  contact  boundary  is  added  to  the  local  maximum's 
group.  1-'lG.  19  shows  the  busic  bound<!!)'  electrode  search  "
5 
pnttem for an exmnple contnct boundary 274.  In this ding.rnm. 
an electrode or image pixel  lies at  the tip of each arrow.  The 
search starts at  the local  maximum pixel 276. proceeds to  the 
!eli  pixels  277  until  the  boundary  274  is  detected.  The  last 
pixel before the bound.11)' 278 is mnrk<.'d us nn <.'dg.c pixel. and 
30 
the  search  resumes  to  the  rig.ht  279  of the  local  maximum 
pixel  276.  Once  the  !eli  and  right  edges  of the  local  maxi-
mum's row  ha\e been  l(mnd.  the search n.:curses  to  the rows 
above  nnd  below.  nlways  stnrting.  281  in  the  column  of the 
pixel in the previous row which had the g.rcntest proximity  .\s  35 
the  exnmple  illustrates.  the  resulting.  set  of pixels  or  ekc-
trodes is connected in  the mathematical sense hut need not  be 
n.:ctangubr. This allows groups to closely lit the typical oval-
shnpc  of !lcsh  contacts  without  lenving.  electrodes  olll  or 
including.  those from ndjncent contacts. 
If contacts  were  small  and  nlways  well  separnted.  edges 
could simply be established where\er proximity readings ldl 
sur bee. I )ue to thedL>cay in estimated handollSets alkr hands 
lea\e the surl'iJCe.  the sloppy segmentation  regions return to 
the positions shown allerthe hands havestayedoffthe surbce 
n few seconds. regardless ofhnnd position m liftoff.  I-'IG.  20B 
shows  how  the  sloppy  rcg.ions  follow  the  estimated  hnnd 
positions  252  as  the right  hand mmes toward  the upper Jell 
and  the  Jell  hand  mmes toward  the  lower  Jell.  This ensures 
that the palms and only the pnlms lUll  in the sloppy regions as 
long. us  the  hnnd  position estimmcs nrc  correct. 
1-'lG.  20C  shows  thnt  the  ]eli  sloppy  region  284  is  moved 
Jell olrthe surbce entirely when the !eli hand is  lilkd olfthe 
sur bee and the right  hand slides to the Jell sideofthe surl'i1ce. 
This prevents the Hng.crs of one hand li"om entering. the sloppy 
segmcntmion  region  of  the  opposite  hnnd.  This  efl<..><:t  is 
implemented by imposing a  minimum horizontal  separation 
between  the  sloppy  regions  and.  should  the regions  get  too 
dose to  one another.  letting the  hand with  the most  surbce 
contncts  override  the  estimnted  position  of  the  hnnd  with 
lCwer  contncts.  ]-'](j  21  is  n detniled  How  chnrt  of the  edge 
tests which are applied at each searched electrode depending 
on whether the electrode is  in a strict or sloppy segmentation 
rcg.ion.  D<.>cision  diamond  290  checks  whether  the 
unsmooth<.-d  proximity  of the  ek>ctrode  is  greater  than  the 
background proximity levels.  If not.  the  electrode  is  labeled 
an edge electrode in  step 304 regardless of the segmentation 
region or search direction. and  in  step 305 the search returns 
to  the  row  mnximum  to  recursc  in  nnother  direction.  If the 
unsmooth<.'d  proximity  is sig.niHcnnt  !Urther tests arc npplied 
to the smoothed proximity of neig.hboring. electrodes depend-
ing  on  whether  decision  diamond  292  dL><:ides  the  search 
electrode is  in  a sloppy or strict region. 
If a strict reg. ion search is  advnncing. horizontally within n 
row.  d<.>cision  diamond 306  passes to  d<.>cision  diamond 308 
which tests whether the electrode lies in a hori/Ontal or diago-
nal partial minimum with respL>ct  to its nearest neighbor eiL>c-
trodes.  If so. a proximity valley  between adjacent lingers has 
to  the  background  level.  But  sometimes  lingertips  are  only 
scparnted by a slig.ht  vnllcy or shnllow  snddlc point  210.  To 
segment ndjncent  Hng.crtips  the  partial  minima of these  vnl-
leys  must  be detected nnd  used us  group  boundaries.  Lnrg.e 
palm  heel  contacts.  on  the  other  hand.  may  exhibit  p;u1ial 
minima  due  to  minor  nommil\m11ities  in  llesh  proximity 
across the contact. I fall electrodes under the contnct arc to be 
collected  in  a  sing.le  group.  such  pnrtinl  minimn  must  be 
ignored.  (iiven  a  hand  position  estimate  the  segmentation 
system c;m  apply strict edge detection mles in regions of the 
image where lingertips and thumb are expected to appear but 
apply  sloppy  edge  detection  rules  in  regions  of the  imag.e 
where palms arc expected to.  nppcnr.  This ensures thnt  adjn-
cent lingertips are not joined into a single group and that each 
palm heel  is  not broken  into  multiple groups. 
45  probably  b<.-cn  detected.  the  electrode  is  label<.'d  as nn  edge 
314  nnd  senrch  resumes  in  other dir<.><:tions  305.  If not.  the 
search  continues  on  the next  ek>ctrode  in  the  row  302.  If a 
strict  region  search  is  ad\ancing  \erlically  to  the  next  row. 
decision diamond 306 pmscs to d<.>cision  dinmond 310 which 
Step 266 ofl:l(;.  IS ddines the positions of these segmen-
wtion rcg.ions  using.  the  hnnd  position estimates 252  derived 
from ann lyses of previous imng.cs.  1-'lG. 20..\ shows the extent 
-;o  tests whether the  ek>ctrode  lies in a vertical partial minimum 
with respect to the smoothed proximity ofits nearest neighbor 
electrodes.  If so. a proximity valley between a  linger and the 
thumb has probably been detectL'<i. the electrode is  labeled as 
nn edg.e 312and senrch resumes in other directions 305.1fnot. 
'5  the  scnrch continues  into  the  next  row  302.  If decision dia-
mond 294 determines that a sloppy region search is ad\ancing 
hori/Ontally within a row. stringent horizontal minimum tests 
are  peri(Hmed  to  chL>ck  l(Jr  the  crease  or  proximity  valley 
between the  inner nnd  olller pnlm  heels. To  qunlil).  the elcc-
60  trodc must be more thnn about 2 em horizontnl diswnce from 
of the strict and sloppy segmentation regions while the hands 
are  in  their  delimit  positions.  making  estimated  oi1Sets  I(Jr 
both  hands  zero.  Plus  signs  in  the  dingrmn  252  indicmc the 
estimmed position of ench !ing.cr nnd palm heel  in ench hnnd. 
Rcctnng.ular  outlines  in  the  lower corners  represent  the  ]eli  65 
284 and right  286 sloppy segmentation regions where partial 
minima are largely ignored. '1-he r-shaped region remaining is 
the originating local  maximum. as chL>cked  by  dL>cision  dia-
mond 296. Also  the ek>ctrode must he part of a  tall  \alley  or 
partial horizontnl minimum which extends to  the  rows nbovc 
nnd  below nnd  the  next-nearest neighbors within  the  row.  as 
checked  by  d<.>cision  diamond  298.  If so.  the  electrode  is 
lahek-d as an edge 300 and search recurses in other directions 
305.  All  other partial  minima within  the  sloppy  regions are 
us 7,812,828  82 
25 
igmm::d,  so the search continues 302 until a  background k:vd 
edge is  reached on an upcoming dcclrmk:. 
In  sloppy scgmcnlalion regions  it  is  possible l(Jr groups to 
overlap  sig.n.iHcantly  because  partial  minima  between  local 
5 
maxima  do  not  act  as  boundmics.  Typically  when  this  hap-
pens the overlapping groups arc pan of a lal'olC  Hcshy contact 
such  us  a  p.1lm  which.  even  after  smoothing.  has  multiple 
local maxima. Two groups arc ddincd to he mcrlapping if the 
search originating  local maximum ck:clrmk: of one group is  lCJ
(;_ 
26 
I 
{111 
- ,,,_ 
{13) 
{14) 
also an dement of the other group.  In  the in !crest of pn::scnl-
ing.  only  one group per distinguishable  !lcshy contact  to  the 
rest oft he  system. step 270 of FIG.  18 combines overlapping 
groups  into  single  supcl'olroups  before parameter extraction. 
Those skilled  in  the nn will  rcnlizc  thm  fccdbnck  from  high-
!e\el analysis of previous  images  can  be applied  in  various 
ahernali\ e ways lo imprm e the segmentation process and sli!! 
No!e  that  since  the  Iota!  group  proximity  (j  integrales 
proximity over each pixel in  the  g.roup.  it  depends upon both 
of the size ofn hand pari. since !arg.c hand puns tend to cnusc 
15 
groups with more pixels. and of the proximity to  or pressure 
on the stu bee of a hand p;u1. 
"" 
lie  well  within  the  scope  of this  invention.  For  example. 
additional  image smoothing  in  sloppy  segmentation  regions 
could consolidate cnch  palm  heel  comact  into  n sing.le  !ocn! 
mnximum  which  would  pms  strict  scg.mcntmion  region 
boundal)' tests. Care must be tnken with this nppronch how-
ever.  because  too  much  smoothing  cnn  cnuse  Enger  pairs 
which  unexpec!ed!y enter sloppy  palm  regions  lobe joined 
15 
into one group. Once a  !Inger pair is joined the !Inger idenli-
!icalion process 248 has  no way lo  tell that  the !ingerlips are 
actually  not  a  sing.le  palm  heeL  so  the  Enger  identi!icmion 
process will be unnble to correct the hand position estimme or 
30 
adjust  the  sloppy  regions  Jix proper  segmentation  of li.nure 
images. 
More  detnikd  forms  of fe<.'dbnck  thnn  the  hnnd  position 
eslimale can  be utilized as  welL  For example.  the  proxima! 
pha!anges(209  in  FJ(j_  13) are aclua!ly pan of the !Inger but 
35 
tend to be scg.mcmed into scpnratc groups thnn  the  Hngcnips 
by the vertical minimum test 310. The venicn! minimum test 
is  nccessal)' to sepmatc the thumb g.roup  from  index !ing.ertip 
group  in  the  p;u1ia!!y  dosed  FJ(j_  14  and  pen  grip  FJ(j_  15 
" 
hand  nmliguralions.  llowL"\er.  the  proximal  phalanges  of 
!lallened  lingers can he distinguished  Ji-om  a thumb behind a 
curled !ingerlip by the !Uct thnt  it  is very dillicuh to !Inn en one 
long Hng.er without  Hnncning.  the other long.  lingers. '!!.1  tnke. 
advnntnge of this  constraint. n Hnncned  Enger Hag.  267  is  set 
45 
whenever  two  or  more  of the  conlacls  identilied  as  index 
Since most groups are convex. their shape is well approxi-
mated  by  ellipse  pnrametcrs.  The  ellipse  Jilting  procedure 
requires  n  unital)'  transformntion  of the  group  covnrinncc 
matrix (jco  of second mmnenls Q,,. Q,.. Ci,.... 
U,  =            l' 
'<-r. 
U,  = U"  =  I:       -<', IIG,- <".) 
,  .. ,,,_ 
u"  =I,. 1U,  _,.,J' 
'<-r. 
The  eigenvalues  f ...  nnd  f..
1 
of the  covnrinncc  matrix 
de!ermine the ellipse axis  lengths and orientation (j
0
: 
where G
0 
is  uniquely wrnpped  into  the runge  (0.180). 
(15) 
(16) 
(17) 
() '!) 
ICII) 
through  pinky  in  previous  images  are  larger  than  norma!. 
reliably indicating that linge11ips are llallening. rhen decision 
dinmond  310  is  modiHed  during  processing  of the  currem 
image to  ignore the  !irst verlicnl  minimum encoumcred dur-
ing.  senrch of rows below the orig.inming.locn! minimum 276. 
This  allows  the  proximal  phalanges  lo  he  included  in  the 
lingerlip  group  but  prevents  lingerlip  groups  Ji-um  merging 
with  thumbs or            The !as!  step 272 of the segmen-
1-'or  convenience  while  distinguishing  !ingerlips  from 
,
0 
palms  a!  higher  system  !e\els.  the  major  and  minor  axis 
lengths are comerled \ ia  their ratio into an eccenlricity Ci, 
(;,  =  (;,_.,,0, 
(;,,.,,,0, 
tat ion  process  is  to  cxtrnct  shnpc.  size.  nnd  position  pnram- '
5 
etcrs from each electrode g.roup. (jroup position rc!lects hand 
No!e that since the major axis length is always greater than 
or equal lo the minor axis length. the eccenlricity will always 
be  g.renter thnn or L'<.jtml  to one.  Finally. the total  group prox-
60  imity  is  cmpiricn!!y  renormnlizcd  so  thm  the  typicnl  curled 
linge11ip will  have a  total  proximity around one: 
comnct position and is JK>cessnl)' to determine !ing.er velocity 
The  total  group  proximity.  eccenlricity.  and  orientation  are 
used by higher k-,.el modules lo help distinguish linger. palm. 
and thumb conlacls. 
Provid<.'d  (jr: is  the  set of ek>ctrodes  in  g.roup  G. c __ is  the 
unsmoothed proximity of an electrode or pixel c. nndc, nnd c,. 
arc  the  coordinates on  the  sur!Ucc  of the electrode center in 
cenlimelers.  lo  gi\e a  basic  indicator of group  position.  the  65 
proximity-weigh!ed  center.  or  centroid.  is  compu!L'd  liom 
positions and proximities oft he group's dec!rodes: 
(; __
c.  ICJJ 
u;,t]'>\  smn p,tmou m't]l  J;o_'>\O]  s;o!l!lU!XOJd  Jl'IOI  l]ll'>\  sdmuTI 
JOJ  p;)\a>.;u:l;Jp        ;)]Od  J;)WJ            ;)l]J  -d  .\Jtm!xmd 
[lllO)  l[ll.\\  .([qBJ;:Jp!SU<Xl                               UO!JISOd    
JO .\J![!qm[;:JJ ;:Jt[l  JJU!S (' ',]' \J) JO)J;:JA  .\Jpop,\ Jtjl tuOJJ  ""d 
;:Jjiltm  pur, C""'bd  JPill!Uillltu Jtjl           Ol[llj;)Sil m]r    l[ 
          Jl[l ptm "J;oqJmm ;,uo 01  J;J_JJJ  ,,,_,._,_...,l'ld  ptm                   
"';)"!  "J;)lj)OUl'  .')UO  OJ  )S;)SOp  ;)m  .\aq1  _II  J.')lj)llUI'  ;)UO  ljll'>\ 
pJJWd .\juo ;:JJB  ld t[Wd pur,      dnOJil ;:JA!)JB  tm  "9Zf dJ!S U[ 
IOU 
\'d  ld                   lfllll  C lS1)>1)lS.'S0[.>  IJ 
((>j>)  IV I]J-!1/"d-/u/"dl        'd 
     I  JVill-11/\J-/il/\!1  [11/  \/ 
ILt>l  IViiJ-1</\t-/!1/'dl        
19!>1  ill-11/  dli"D-!1+ ':)'':)  /11/\1 
i>t>l  i][-!IJ",J)("<)-)1+
0
</'<)  /!IJ"d 
lt-t>l  ill -!1/"
1
"'' "
1
dli "<)-) )+" <)'')       d 
l[j>l  I[ !-il/'
1
""
1
dli"D-ll+ ':/'0)  /II/\/ 
l<:t>l  ilt-"r'"""dli";-) )+ '/'')  1"r" 
:u        
JUH)  01][-U Jd  l[lL'd  ;:lAIPBJO UO!WilU!lUOJ  ll    !) dmuil Jl JS];) 
Ill> I  IV,  .D  /11/  \/ 
lnt>l  n  juj  '.! 
l(>tl  "  ju]"d 
    \)  juj  \1 
ILf\ 
0
!)  ju]"d 
19U  'l  [uj  d 
l>fl 
!)  juj  d 
lt-U 
'<)  ju]\1 
              PJ/!]r,[J!U! 
JJB                    "U.\\llp                       Ulld  pUBl[  ll  "';)'! 
u dJJS  ;:Jtulllll !) dnOJil  ,\q                        Slltj  d  l[llld  rj[ 
(()<:\  \  d  ld  ild'1') l<:  l'!l 1') OJ!'" ;l Ll'  ')I'"''    ld (>
09  :1!  01            ;,t]l              ptm dmuTI J.\!Pl' 
       Jt[l  "ld  tjlBd  ;:JA!)JB  tpBJ              UJt[l  PZf  dJJS 
     /
1
""
1
/d- 'D1+,1""'"
1
M-'DI  1/,f'YO)I,o 
:Jupm          
   pJJndmoJ .\]!9'!.')  tm                         1 p.').1m1hs  ;,tp J.J;ot]'>\ 
,, 
([<:\  !l1'l ild'1'J)<: I' \'d  ld """  <: l'!l'd'''""l"    
19<:1  U.U.U.i. 
:11  OJ  J:JlmJS!P Jl[l spJmJJ ptm l]Wd  J.\!Pl' 
       ;,t]l  "]!)  dnOJ'i!  tpt'J           ZZf        "!) ;oq  J'i!tml! 
JUJJJilJ  ;:Jt]l  m               sdno.ril                  );:JS  Jt[l  lJ]  pur, 
'\'d      Jillltu!  SllO!A;:JJd  Jl[l Ul JAIPB         JO     ;:ll[l  ilU!U;:J'] 
    1,:<:) 
ll-"r'"'v+/J-!1/'\t  '"'''""'" 
I!>CI  II-11/''dJV+/I-U/\/  /11/'''""d 
.UJl[l 
Oi'  Sl  UOI]lmU!JUO:l  l(ll'd  p.')JJI(h')Jd-.(J!:lO(;o\  Jl(l  .(J!:lO(;o\  li.Wlll"] 
      ;otpj 1  -u ]" 'd  ']]-U l"d ptm  ]-U       JlU!l  tulU.J  d  l(ll'd .JO 
         ;:ltJl  Jq  l!-ul\rl!-ul\1 ilmnJJ  uopr-J;:J[JJJB          
f!U!Jilp                pr,q  ,\[[B!HWJOd  ;:Jtj)  t[!l!J.\\)!10  UO!)J!pJJd 
pJSBq-.\J!JO[J,\ JO  S)!J;:lUJq  Jl[l             UOI)BJJ[;:JJJB  OJ;:JZ  Ulll[l 
,,-             Jll:J:Jll S)U;o\.') UOI)l'JJ(:lJJl' t]TI!l(      J:JUIS 'UOI):l.')J!p 
-   SJ'i!tmtp JO        JO SUI'IS .\jUJppns JJ'i!U!J  l' u;,tj'>\  )d;oJXJ [[(l!l 
          Jl[l  SJMlJdtu!               UO!)BJO]  ;:Jtj)  01  .(JpO];),\  SilO 
-[,\JJd flm,\jdd\"  'SJilBUH               Ul<.UJ                S;:li)IJO(;:lA 
ptm           lj)l'd                       'i!UIJS!XJ  'i!UOJl'  SlJI'JUO:l 
OC           .JO  SUO!ll,JO]JUJ.llll:l ;,tp SP!P.')Jd  ()Zf        JS.I!J  JllJ. 
              Jq      p]llll.\\  SJJI]!J          
JS]nduu  JJ!U!J  Jo  tmmp')l  Jnq               dmuTI  TimpuodsJJ 
-Jm tuOJJ  SJJptm!md (ju]  'd ju]'\!) Jdm.JS  ptm (lul"\rlu]',!)  __
.\Jpop,\ -ou ld]u J\rlu 1\J)           tprd  ;:ltJl  ;)JL>pdn  01  SJJl  "-
-m                      J[dUHS  .([ddr, .\\ll]Jq  U.\\Ol]S  SUO!)B!lbJ Jl[.L 
.(J!lUIXOJd  ptm p.');,ds 'i!UI)SIXJ      UO  )U;opu;odJp 
              UBJ  -Y"""d  SlllpBJ  iluppBJl S, lj)lld  l(Jll;:l           J;:Jf!U!J 
l[ilp:[)ll Stj)lldJOf!UI'jllJJq J;:JdOJdtu! lUJAJJd Oj_ "SillpBJ fltH'jJBJl 
S)l  U!l]ll.\\ dno.ril  ll  lllOl[ll.\\ l[llld ;:lA!)Jll  liB ;),\ll;:ljlJI.\\jjO\JH  pur, 
"Sl[ll'd  'i!UIJS!XJ .JO  ttpt'J  TIU!"]Jl!IJ  ;ot]l           .mJddi' OJ  dnOJ'i! 
_\\.')U  1'         .\jpmsn  U.'>\optplllll  Wl[l  PIOJ  ;ot]l  .\q  PJJ:l.')pp 
,\[!SBJ  JJB  .[jOIJI[  pur,  U.\\Opl[Jilll)  SJ)BJ  UBJS            ;:J[qB 
            Tiu!JJI]!J           l'!\  l[ll'd                 OJU!  dmuTI 
l[:ll'J  _)0  S.IJ)JlUIO.md  p.')JJIOJ]XJ  Jl[l  SJ]l!!Od.HDU!  9J'f  d;,JS 
             o<: 
Jt[l  tuOJJ  _[IOIJIJ  )JBd  pum[                                    st  dmuil 
-UOSBJJ JOJ  SlllpBJ ilU!"]JBJ) Jl[l Ulltjl J;:J)ll;:JJ<)                U;)..'),\\)Jq 
[[(l!JIOJl,dJS  jlOJ;,lq  Jl':l!d.(] Jl(l J:JUIS  J;otj]lllm JUO _)0           1\u! 
"]Jl,J) ;,tjl     UWlU"]  JJlmJS!P l' U!lJI!-'>\;oJJ' .\al(]           p.')tpll'lU 
;,q  JllU  pj110l(S  t]Wd  pm'  dmuTI  1'                  sJTitmu  U:l.')'>\Plj 
r,  t[ll.\\  pJJ!L>d  os  Jq  wuur-J  tp!t].\\  t]lBd  J,\I)JB  .\tm  ppf       
Ul               ;otjl  O)UO  JJ'i!U!J  '>\;oU  I' JO UWlptpllll) 1\U!JU;oSJJdJJ 
"t]Wd  .  .,.;,u  1'  p.')Jl,:lO[[l'     t]Wd  p.')Jl,.\IPl'JP  K[JUJ:l.')J  Jo ;o\JPI' 
m' ljll'>\  pJJmd :ll[  ]llU ]]liS Sl"J'P!l]'>\ dno.Rl .\tm "9ff       Ul 
p,WJI  UBJ  JJf!U!J  ll  Jllj  .\\Olj  J!lU![  UO!)BJJ[;:JJJB  pur,  .()IJO[;:!A 
JJilU!J  [BJ;:J)Bj  UO  S)U!BJ)SUOJ  jBJ!Ullt[JJlUOiq  "OS]\"  "Slj)Bd  pur, 
sdmu'i!J;ot]JO OJtmt]l J;ot]Jmm               ]]!'>\ Pl'JUOJ;oums 
,_-
1 
;,t]l tull.l_)  'ilms!Jl' t]Wd ptm dmuTI 1'  "J(ll.l(l!JJu;oTI 1'              Pl'l 
-uoJ ilm!S!XJ  tp!t[.\\  t]ll.\\           Jq         sdmuil  HWJJilJ 
l[Jil[.\\  JP!:l.')p  ISiltu          f!tH'jJBJI  ;:ll[l             .(J!ltHXOJd 
      ;:ll[l                         pUBl[  l[Jll;:l  ;:JJJl[.\\ JU!UlJ;:J)Jp  OJ. 
'.[IOIJI] 
J;:JilU!J  01  Jllp  OS  JO  pUOJ;:JS  )Sll[  ;:ll[l  U!l])!-\\  pJ)\l,\I)JBJp  JJ;)_\\ 
tptt]'>\      ptm ;o\oqt' pJJ!t'dun l,P]  an'>\ tptl(.'>\        .\jUO 
       n:tZZf sdJJS  Tiu!ll';odJJ  .\q  Pff S:l'l  OLdSfl 1'!.\      
U!  PJt[S!jdtuOJJB S!  SllLJ.  'UOI)BJO[  ;)UJBS  ;:l[jl J;)i\0      U;);:l_\\);:lq  f)j 
              l]llld  JO  .()!nU!lUOJ               0)             Jq  .(Btu 
'Pl'J[[(JJ ptmq                   ;ot]l  OJ             tp!l(-'>\ SJ'i!tml! 
.\]ilUIXlUd                 lUlU_)  sdmu'i!  JSlll[l  J;otjj;,1\0]       
l[Jil[.\\           f!tH'jJBJl l]llld ;:Jtj)JO       Jtjl          ZZ       
l!  "JJilU!J  JlUBS  ;:Jtj)  JO       J,\I)IJ;:Jd;:JJ JO  UOIPJ);:Jp  Ul  pm OJ. 
(\_f)  '"''""'[d O-'"'f")"""l
0 
[d 
ICU           
 
  
IIU    
    
:pjOl[)Siltu SUO!J!pUOJ              
;,tp  _10  llV  smpt'J  'ilmpJoJJ  ;ot]l  tmqJ           tuJl[l  u;,a_'>\pq 
8<: 
             S!Xll  JOU!Ul  pur, 
Jofr,m JO                 PBlUOJ JO           ,\Jrmud Jt[l sr,     
Sl  !) .\J!lU!XO.Id  dmuTI  Jl'IOJ  ptm  "SJlljlO\            JIJl(l  lml(J 
,_- JJljll'J             l]l110PP  OJ  ps JJl' SlJl'JUO:l             .\JD!.IJU;oJJ.') 
pur,  UO!)ll)U;:JUO  Jl[l  'UO!lll[OSJJ  .\\llj  J,\llt[           .(J!ltHXOJd 
J!  "JJO,PJ;:Jt]J_                 JSd![p p;:!ll!J  ;:Jtj)  Ulltjl             J;:Jf!U!J 
Sll [[;:!.\\     ;:JZ!S  IJlllUOJ JO JOIBJ!PUI  ;:JjqB![JJ  ;:JJOtu  ll        .\l!lU! 
-xmd  dmuTI  [l'IOI  ;,tp  s.\1o.cm  JplUJ:l.')(J  mltlllJOSaJ  .'>\O(  uo 
a 
Z8  8Z8'Z!8'L sn 
us 7,812,828  82 
29 
signals arc weak.  the system relies heavily on the pre\ iously 
established path velocity.  bllt  when the Enger Hrmly  touches 
the sur!Ucc causing a strong. reliable sig.nal. the system relics 
entirely on  the  current  g.roup  ccmroid measurement. 
'!lu::  next  process  within  the  !racking  module  is  conlacl  'i 
idcntilication.  On surliJCcs  large enough  l(Jr  multiple hands. 
the contacts of each hand tend to  form a circular duster. and 
the clusters tend to remain separate b<..><::ausc  users like to avoid 
entangling  the  !ingcrs  of  opposilc  hands.  lkx:ausc  the 
arrangement of!ingcrs within a hand duster is independent of  lCJ
the location ofaml arrangement within the other hand's dus-
ter.  the  contact  idcnti!icmion  system  is  hierarchically  split. 
The  hand  idcnti!icntion  process  247  !irst  d<..>cidcs  to  which 
cluster each contact  belongs.  '!lu::n  a  within-cluster  identili-
cation process 248 ana!y tes ll1r each hand the ammgcmcnt of  l'i 
contacts  within  the  hand's duster.  independent  of the other 
hand's cluster. Because within-cluster or !ingcr identification 
works the same lix each hand regardless of how many hands 
can lit on thesurli1cc. it will he described lirst. t-he description 
below  is  ll1r  idcntilication within the right  hand.  Mirror sym- "" 
met!)' must  be applied to  some parameters before identifying 
!eli hand contacts. 
30 
hand's estimated position ollSet. The linal attractor positions 
(.\j,ln ]  .. \j,.J n]) arc therefore given by: 
1511 
In  alternative embodiments  the  attractor ring can  also  be 
rotat<..-d  or scakd by  estimates of hand rotation and size such 
as  the estimat<..-d  linger  oflScts.  but  care  must  be  taken  that 
wrong !ing.cr ollSct estimates and idcnti!ication errors do not 
reinforce one another by severely warping.  the  attractor ring.. 
Once the amactor tcmplmc is  in  place. step 354 constructs 
a square matrix Jd,,J of the distances in the sur liKe plane from 
each active contact path Pi  to  each attractor point A_i.  If there 
arc  lCwcr  surlUcc  contacts  than attractors.  the  null  path  PO. 
which  has  tcro distance to each attractor.  takes  place  of the 
missing contacts. '!-hough any distance metric can be used. the 
squared I ;uc!idean distance. 
is  prcJCrrcd  because  it  sp<..>cially  favors  assignments wherein 
the  ang.!c  between  any  pair of contacts  is  dose to  the  ang.!c 
between the pair ofattractors assigned to those contacts. This 
corresponds  to  the  hiomechanica!  constraint  that  lingertips 
!'Ki.  23  shows  the  prekrred  embodiment  of the  linger 
idcntilication process 248.  For  the contacts assigned to  each 
hand  this embodiment attempts  to  match  contacts  to  a  tem-
plntc of hand part attractor points. each attractor point  having 
an  identity which corresponds to  a  panicu!ar !ingcr or palm 
heeL  This  matching  between  contact  paths  and  attractors 
should he basically one to one but  in  the case that some hand 
parts arc not  touching the surlUcc. some attractors will  be !eli 
un!i!lcd.  i.e ..  assigned to  the null  path or dummy paths. 
""  avoid crossing over one another. especially while touching. a 
surlUcc. 
In  step  356.  the  distances  from  each  contact  to  selected 
attractors are weighted according to whether the geometrical 
1\::atures  of the given contact  match  those expected  from  the 
Step 350  initialitcs the locmions of the attractor points to 
the  approximate  positions  of the cmTesponding  lingers  and 
palms  when  the  hand  is  in  a  neutral  posture  with  lingers 
partially curkd. Preferably these arc the  same dcJUu!t  !ing.cr 
locations                     employed  in  hand  ollSct  estimation. 
Setting. the distances and ang.!cs between attractorpoints from 
30  hand  part  thm  the attractor  represents.  Since  the  thumb and 
palm  heels exhibit  the most  disting.uishing g.comctrica!  JCa-
tures.  weighting  functions  are computed  ll1r  the  thumb and 
palm heel attractors. and distances to lingertip attractors are 
unchang<..-d.  In a prell::JT<..xl embodiment. each weighting func-
a ha!J:closed hand posture allows the matching algorithm to 
perllm11  we!!  ll1r  a wide variety of linger Jlexions  and ex  ten-
35  lion is composed of several lUctorvcrsus !Caturc rclntionships 
such as those plotted approximately in FIG. 25.  J:ach lUctor is 
design<..xl  to  take  on  a  delimit  value  of  I  when  its  feature 
measurement prm ides no distinguishing inllmnation. take on 
larger  values  if  the  measured  contact  JCaturc  uniquely 
sions.  40  resembles  the  g.ivcn  thumb  or  palm  hand  pan. and  take  on 
smaller values if the measured !Cnturc is inconsistent with the 
"111c  resulting attractor  points  tend  to  lie  in  a  ring as  dis-
played  by  the crosses  in  FJ(i.  24.  The  identities of attractor 
points  371-377  correspond  to  the  identities  of hand  parts 
201-207.  If the  gi\en hand  is  a  Jell  hand.  the attractor  ring 
must  be  mirrored  about  the  vertical  axis  from  thnt  shown.  45 
given  attractor's  hand  part.  The  liJCtor  relationships  can  he 
variously  stor<..xl  and  computed  as  lookup  tables.  piL>c<..wise 
linear Ji.mctions. polynomials. trigonometric functions. ratio-
nal  li.mctions. or any combination of these. Since assig.nmcnt 
between a  contact  and  an  attractor whose  JCaturcs  match  is 
bvor<..xl  as the weight<..xl  distance between  becomes  smaller. 
the  distances  are  actually  weight<..xl  (multipli<..xl)  with  the 
reciprocals of the  factor relationships shown. 
]-'](j. 25.-\  shows the rig.ht  thumb and right inner palm heel 
orientation  li1ctor  \ersus  orientation  of  a  contact's  litt<..xl 
ellipse. Orientation of these hand parts tends to he about  120". 
whereas  lingertip  and  outer  palm  heel  contacts  are  usually 
vel)' dose to  vertical (90). and orientation of the ]eli thumb 
1-'lG.  24 also includes !inc segments 380 forming the Voronoi 
eel! around each attractor point.  I 0\ery point within an at trac-
tor's  \(mmoi  eel!  is  closer  to  that  attractor  than  any  other 
attractor. When there is only one contact in the duster and its 
features  arc  not  distinguishing.  the  assig.nmcnt  algoritlun  '0 
clk>ctivcly  assigns  the  contact  to  the  attractor  point  of the 
\lmmoi eel!  which  the  contact  lies  within.  When  there  are 
nmltip!e surbcecontacts in a hand duster. they could a!!  lie in 
the  same  \ixonoi  cell.  so  the  assigmncnt  alg.orithm  must 
perform a global optimization which takes into account all of 
the contact  positions at once. 
-;5  and  !ell  inner  p.1!m  heel  avcrag.cs  60  The  right orientation 
bctor  therd(m::  approaches  a  maximum  at  120"  It 
approaches the delimit  \alue of I at  0".  90". and  I XO"  where 
orientation  is  inconclusive  of identity.  and  reaches  a  mini-
Altemati\e emhmliments c;m  include additional attractors 
l\1r  other  hand  part  or altemati\e attractor arrangements  ll1r 
atypical hand con!igurations. I-' or example. attractors for  fore-
palm contacts can be placed at the center of the ring..  but since  60 
the ll1repalms typically do not touch thesurli1ce unless the rest 
of the  hand  is  Jlattened  onto  the  surli1ce  as  we!!.  ll1repalm 
attractors should be wcig.ht<..-d  such that contacts arc assigned 
to  them  only when no  regular attractors arc  !eli unassig.ncd. 
1-'or  optima!  matching.  accuracy  the  ring  should  be  kept  65 
roughly  centered  on  the  hand  duster.  Therdl1re  step  352 
translates a!!  of the attractor  points  l\1r  a  gi\en hand  by  the 
mum at  60. the  lUvorcd oricntmion ofthc opposite thumb or 
palm heel. The corresponding relationship lix the !eft thumb 
and  inner palm  heel  orientation  li1ctor  is  llipped about 00" 
l'l<i.       approximately plots the thumb site li1ctor  Since 
thumb size as indicated by total proximity tends to peak at two 
or  three  times  the  size  of the  typical  curled  fingertip.  the 
thumb  size  factor  peaks  at  these  sizes.  Unlike  palm  heels. 
thumb contacts can not he much larger than two or three times 
the delimit lingertip site. so the thumb bctordrops back down 
us 7,812,828  82 
31 
l(Jr  larger sizes.  Since any  hand  p;u1  can  appear small when 
touching  the  sur!Ucc  very  lightly  or just  starting  to  touch-
down.  small  size  is  not  distinguishing.  so  the  site  factor 
defaults to  1 for  very  small contacts. 
I'Ki. 25(' approximately plots the palm heel       bet  or. As 
more pressure is applied lo  the palms. the palm heel conlacls 
can  grow quite  !arg.c.  remaining  !Uirly  round  as  they  do  so. 
Thus  the  p.1lm  heel  size  factor  is  much  like  the  thumb  size 
factor except  the  palm  !Uctor  is  free  to  incrcnsc  inddinitdy 
32 
ited cmnhinaloria! search. the llungarian method, or network 
How  solvers. Those ski!!cd  in  the  art  wi!!  recognize that  tills 
type ofcombinmorial optimizmion problem has a mmhcmmi-
ca!!y cquivnlent dual representation in which the optimizntion 
5  is  rd(mJm!ated  as a  maximitalion  of a  sum  of dual  param-
eters.  Such  rd(mnulation of the ahme hand  pari  identilica-
tion  method as the dual of nllrnctor-contnct distance minimi-
zmion  remains well within the scope of this  invention. 
I lowe\ cr.  Jingcrtip conlacls can grow  by  becoming taller as  lCJ
the !ingcrsarc                since !Inger width is constant. the 
eccentricity of an ellipse  !ittcd to a growing !ingcnip contact 
increases  in  proportion  to  the  height.  To  prevent  Hattcncd 
!ingcrs  lium  ha\ ing a  large palm  bel  or,  has  !ink: dfecl  !(Jr 
palms.  whose  eccenlricily  remains  near  I.  hut  cancels  the  15 
high proximities ofllallem:d !ingerlips. rhoughdin.x:t!y using 
!ittcd ellipse width would be  less accurmc  l\1r  !ow rcsollllion 
electrode  arrays.  the  nbove  rmio  bnsicn!!y  cnpturcs  comnct 
width. 
'](J  nvoid  unncccssa!)' complllation. decision dimnond J60 
ends the linger identi!icalion process a!  this stage if the hand 
assignment  of the  given  conlacl  duster  is  only  a  lenlali\e 
hypothesis being cvn!untcd by the hand idcntilicmion module 
247.  llowcver.  if the  given  hand  assignments  nrc  the  !ina] 
pre!CJT<.-d  hypothesis,  li1rther  processes  veriFy  !Inger  identi-
ties  and compile identity slalistics such as  !Inger counts. 
The  identilicalions  produc<.-d  by  this anraclor assignment 
method arc highly rdinble when all  live  lingers arc touching 
the  surface or when thumb and p.1!m  lCmurcs arc unmnbigu-
ous.  ChL><::king  !hal  the  horimn!a!  coordinates  l(Jr  identiliL-d 
Another impm1anl distinguishing kalureofthe palm heels 
is  that  wrist  anatomy  keeps  the  centroids  of their  conlacls 
scparmcd  lfom  one  other  and  from  the  lingers  by  severn! 
centimeters.  This  is  not  true  of  the  thumb  and  lingertips. 
which can  be  mmed within a centimeter of one another via 
Jlexih!c joints. The inter-palm separation kalure is measured 
by scnrehing l\1r  the nearest neighbor com net of a given con-
wet  and  measuring  the distnncc  to  the  neighbor .. \s plollcd 
approximmdy  in  1-'lG.  25D.  the  pn!m  scparmion  factor 
quickly decreases as  the separation between  the conlacl and 
its nearest neighbor b!!s below a  JL-v.- centimeters. indicating 
thm  the  given contact (and its  nearest neighbor) nrc  not  palm 
IK-c!s.  Unlike  the  site  nnd  oricntmion  factors  which  only 
b<.><::omc  reliable ns  the weight of the hands  li.llly  compresses 
the  palms,  the palm separation  bclor is especially helpful in 
distinguishing the palm heels Ji-om  pairs ofadjacenl linge11ips 
b<.><::ausc  it  applies cqun!!y we!!  to  light. small contncts. 
Once the thumb nnd pnlm weightings hnve been npplicd to 
the distnncc matrix. step J58 linds the one-to-one assignment 
between allraclors and conlacls which minimites the sum of 
weighted: distances between each allraclor and  it's assigned 
contnct.  For notmiona!  purposes.  leta new  mmrix  fc,)  hold 
the weighted distances: 
r/U''""'"'' 
'o"f'lo'< 1 1 'o" I 
il  j  =I  (531 
,,, 
il 1 "'j" s 
'" 
d J  /  {!'! ""' '" 
' '  "'""'"'  "' 
il  j  = 6  ,, 
' 
d J  /  {!'! ""' '" 
' '  "'""'"'  "' 
,, 
' 
il  j  = 7 
Mmhcmnticnl!y the optimization can then be stm<.'d ns linding 
the  pemmlalion  {  :r,. .  . . :r
7
}  of integer hand pari  identities 
{ L  , 7}  which minimites: 
i.'i41 
""  linge11ip  conlacls are in  increasing order easily \eri!ies !hal 
linge11ip  identities  are  no!  erroneously  swappL-d.  llowe\er, 
when-only  two  10  four  lingers  arc  touching.  yet  no  linger 
strongly  exhibits  thumb  size  or  oricntmion  !Cmurcs.  the 
assignment of the innennosl !ingerconlacl may wrongly indi-
15  cale whether the conlacl  is  the thumb.  In  this case. decision 
diamond  J62  employs  a thumb  vcrilicmion  process  J68  to 
tnkc  li.Jr!hcr measurements between the inncnnos1 !ingcrcon-
tnct  and  the  other  lingers.  If  these  limhcr  mcnsurcmcms 
slnmg!y  suggest  the  innermost  linger  conlacl  identity  is 
30  wrong.  the  thumb  verilicalion  process  changes  the  assign-
ment  of the innermost !ingcr contnc1.  Once the linger nssign-
mcnts  nrc  verilicd.  step  J64  compiles  stmistics  about  the 
nssignmcnts within cnch hand such ns the number of touching 
linge11ips  and  hit!ields  of touching  linger  identities.  These 
35  slalistics  prmide  convenient  summaries  of  identilicalion 
results  for  other modules. 
1-'lG.  26  shows  the  steps  within  the  thumb  verification 
module. The !irs! 400 is  to compute severn]  velocity. scpnm-
tion. and angle faclors  l(Jr  the innennosl conlacl identi!iL-d as 
40 
a  !Inger  relative  to  the  other  conlacls  identiliL-d  as  !ingers. 
45 
Since  these  intcr-pnth  mcnsurcmcnts  presuppose  a contact 
identity ordering. they could not  hnve easily b<.-cn  included as 
anraclor  distance  weightings  bL><::ause  conlacl  identities  are 
no!  known  until  the anraclor distance minimi1111ion  is  com-
plete.  For  the  li1c1or  descriptions  below.  let  Fl  be the  inner-
most  linger contact. FN  be the next inncnnostlingcr contact. 
FO be the  outermost  !ingcr contact. 
The separation  between  thumb  and  index  !Inger  is  ollen 
larger than the separations between !ingerlips. hut  all  separa-
'0  lions lend to grow as the !ingers are outstretched. rherel(Jrean 
inner scparmion fnctor im1er_scp.1mtion_fact  is ddincd as the 
rmio  of the distnncc  between  the  inncnnostand next  inner-
most  linger conlacls  lo  the average of the distances  between 
other  adjacent  !ingerlip  conlacls.  avg_separalion:  12 
'
5 
inncrscparntionfact  min 
{ 
                     
   iwli'n''P"""i<mJc"''   mi  I.  '--'-;;cC;;c;;cc;c;--'---
vv  mji.>l'fHIIYIIiOII 
155) 
where c,
1 
is the weighted distance limn con lac!  i lo allraclor _i. 
and  contact  i and nnrnctor j  arc considered nssigncd  to  one 
another when :r,"'j. This combinatorin! optimitntion problem. 
known  more  sp<.><::ilica!!y  in  mmhcmmics  as  nn  assignment  65 
problem. can he dlicient!y sohed by a \ariety of well-known 
malhemalica!  techniques,  such as  branch  and  hound,  local-
The lUctor  is dipp<-'<i  to be grcmcr thnn one since nn  inner-
most  scparntion less thnn  the average can occur regardless of 
whether  thumb  or  index  linger  is  the  inncnnos1  touching 
linger.  In  case  there  are  only  two  !Inger  conlacls.  a  ddimh 
average  separation  of 2-3  em  is  used.  The  bclor  lends  lo 
          ptm         J:mJmD ;,t]J  IJl' 'ilmp;,umn ;,p.b              
       ;otp        u;,t]J  UO!JIU!UliJdO .LOtJ  '>jJO.\'\.PU JO  .(lo;otp ;ot]J 
lUOJJ  U.\\OlDj[p_\\ Ull]l]JO'i!je l[Wd            e  't'ff:"                    
-UO::I  J;:Jtj)O  ;:ll]l  OJ  )Jll)UO::I          lUOJJ  S;:J::IU!J)S]p  ;:ll[l  JO  X]J)BUJ 
[tmo!su;,unp-o-\\J                  Zft d:JJS  ott pm"l  u;o.\!TI  1' 
ll!l]Jl\\ SPI'JUO:l !UJl'd                !UO.lJ          :lljJ .1;op.10 OJ_ ":lWjd 
-m:JJ  Jopt!IJll'  tm  ;,pnpm  J<.m  s:Jop  tpllj.1.  JU;om!poqm;,  utl!J 
:m;,t]J  u;oJ.\\Plj Jop;-o\ 
;ot]J  OJ                     :l.\O!U                    :ll]J         S!l]J  ll!  Jlllj 
'SUO!)J;:l.!]p ;:l)!SOtftfo  U]  ;:lAOUl  J;:Ji!U!J)SOUlJ;:l)llO  pue            
;:ll]l  S!J            _\\O(;:llj  UO]ltJ!lb..")  JOPBJ  UO]l!JlOJ  ;:lJlllU]XOJddr, 
;otJ_L                ptm  qmm[J  ;,t]J  u;oJ.\\Plj  JlH!d  .\.mu!Titmn  tm 
JllOlJI'  UO!JI,JO.l               Jll.\10]  JSll!U         UO!JI,JO.l  :lljJ  ;o\!J 
          ;omm :llj  OJ_  .(HmO!JI,JS     PI'JUO:l               :lljJ  :lJ!l]\\ 
-ll:l!J!lU;:lp!  J;:J'i!U!J  ;:lA!)lllU;:lJ[!J  Ull  SUJBJ"ik]p  LZ         'J;:l!j]llWpl 
)Jll)UO::I  puet[  e  OlU!                   pue  S;:JJn)lJ;:lj  ;:JS;:ll]l  'i!U]WJ 
-mbo:Ju! .!OJ  poqpm                  tm JO :J]dmt,X:J J;otpmm   
                                 Jlm!'il_mm  pp1' .{JUO 
Ill-\\  l]J]<[.\\  "Slj)'i!U;:J]  J;:J'i!U!J  [Bllp]A]pU]  OJ            JOJ::I!JJIW 
09  p.!JJ.\\U.\\llp  ilU]W[SU!JJl          J;:Ji!U!J  lSOlUJ;:JUU!  ;:ll[l  U;:ll(.\\     
tpns UO]JOlU  J;:Ji!U!J  Ul                    OJ               Ul .\\lUil  ,\]SilO 
           p]nO-\\  Jl  'JJ'i!ug                            U:J.')\\Plj 
;o('iltm  :lljJ  ll!  S:l'i!tmtp  OJ  (I'UO!pm!tud                  JOPI'J  UO!J 
-lJ)lU ;:ll[l J[                      ,\J;:JA  ;:llj  mjll)SlllU JOPilJ  UO!W)OJ  ;:lllJ. 
JO  UO!W)dr,pe  Ulll]l  )Ull)JOdtu]  ;:JJOUJ                    (;:l;:llj  Ul]lld    
pue J;:JilU!J                           e  OJ                Ul[Bd  pue l]Ul!U]l 
:lljlJO                                'SUOS.J:Jd          SSOJ:ll' :l/!S ptllllj Ul 
           :lljJllllljJ .l:JJB,"U'i! JO Jl,a!TI     am l]Jllj.1. UO!SU:JJX;o  ptm 
UO!X;:l!J  J;:JilU!J  OJ  ;:JHp           J;:JilU!J             ;:JjilU]S  ll U]       
-r,pe,\ S;:J)BJ;:J[Ol  ,\pe;:JJ[!J  pOl[l;:llU  UO!)ll::I!J!HWpl                       0> 
:ll]l'J:J.\;o_LOJJ  p.')tt:Jlll'[l    ptmq :ll]J ;o[!lj.1. U:l"!l'J ;o/ls ptmq J;osn 
[tmp! \!Pll!JO                 OJ            .\]Jl'!U!Jdo ;,q tm:l      
'tfillt]  ;:JJB  S)JlllUOJ  l[lOlj JO           
U;:ll(.\\  .(]UO JOPBJ  UO]StmdX;:J            ll  ilU]JilpOJd  ,\q  .\)!,\l)J;:l(;:JS 
spm                     ptm           :lt]JJO  tm;,m             
tmqJ                           ;,t]J  Tiu!Jndum_)               xtml  :ll]J 
.\q  lU:lZ  OJ                  l]J!l]\\  S:lllJl'\  JOPl'J  :l.\!W'il;-,u            
UO!P;:JJ]p         ;:ll[l  Ul                                           
          jlD!JP!Ull.')!) "P.')Jlmllm[;, :llj .{tml S.IOPIOJ  ptm SJOPI'.llll' 
               SJ!  pue  UO]l!J:l!J!)U;:Jp]  Ul[Bd          Ul[Bd  ;:1,\l)]SU;:JSU!        1
111]'01-1
11
1'11) 
1111'0.-1  IIII'H 
rep.oe  = 111110.:1  "I  1111.:1! 
-tpllOJ           ;:Jpllpm  tp!t[.\\  SllJBJedde  ;:J::IBJJilS  tpnoJ-]l[ntU    
:ll]l  JO                 :l\!Wtu;,J(I'  U]  "UO!JU;o\Ul  :lljJ  JO       
             ]]J\\ umma1 p.\ s.{l,\\                               u!  p.')U!lJ 
-lUOJ  pur,                  ;:llj  U!JJ  UO]l!J::I!J!)U;:Jp!  pm  OJ  ;:JJ;:llj  p;:J::>np 
-lU)U]                        pue  S;:JJilWq)  PJJ)UO::I  puet[  ;:lll.L 
IL,l 
           ;,t]J  u;oJ.\\Plj :lj'i!tm ;otp     ([ u 10:1  1u 11:1)7  aJ;ot]\\ 
                           :[Ol'J  '"'!"""'Jx. 
                       ou          fit        Ot 
                       :lljll]J!-1.                              'i!U!JS!X:l  ;ot]J 
J! .10 p]m]s;-oJl]J  -\\O]  ptm qTI!lJ ;,tp ua.')_Lpq  S!  PIOJ-lJUllll]J-P.')U!lJ 
19>1  I I I  ufo.-rfuf f.-!17 -luf "
1
'0.1 I"''" 
xi(lufo_.fl'l uf  f_.fl7 -1     "
1
'! .flsooxl u 1'''"'\tlxlu 1'""''
1
' f_./ /l 
-lUOJ ;:ll[l J[  'JO)JBJUB  l]Ullll[l  ;:ll]l  !HJU!l  OJ'i!UU JOJ::IBJl)ll  ;:ll[l  UO 
p.!e_\\HlO SJ::I!JlUOJ  J;:J'i!U!J  JU;:JJJJfpr,  .(tm pur,  )U;:JU!Uil!SS!J  )J!J)UO::I 
          :ll]J         Ol t  dJJS  "JOPI'Jlll' qmmp ;,tp OJ  p.')uTI!SSI'    
pt,JmD ;,t]J       80t pumtm!p           Jl                qumt]J 
-".i""!'"''Jx.; 
:UWl[l  U;:J;:l_\\);:llj  JOJJ;:l,\  ;:ll[l  ll)  j;)[]!JJBd  'SUO!IJ;:l.!]p ;:l)!S 
-oddo Ul  pue                    ;:ll[l  ,\[;:lJllUl]XOJddr,  )ll          Sl::I!JlUOJ 
                   ptm            ;,tp               JOPI]           
;ot]J               ;oJI,!U!XtUddl'               ;otp  .\q p.')U!PP  u;,t]ifi  :ll]l  JllU  .{pJ!U!PP        S!  Pl'JUO:l  JSOU!J:lUU!  :ll]J                 
.\\0]  e  U!Jl[l         S]  JOJ::IllJ  ljlU!U]l fi<")U]ljlUOJ  ;:lljl)!Jl[l                
90P  puommp             J!                     'JOPBJUB  qtunt]l  ;:Jtjl  OJ 
'i!uu JOPI'.lJJI' :lljJ UO  p.m.LU!                  PI'JUO:l ;,t]J         tJt 
      "Z{ t              l]Ullll(J  ;ot]J  OJ                .{pl,:l.lJl'  JOU     PI'J 
-UO::I  ;:Jt[l                    Zit' puommp              qmnt]l  e  .([;:JJ]U 
-]pp  Sl  PJJJUO::I  J;:JilU!J  JSOlUJ;:JUU!  ;:ll[l                t'Ot'  puoum]p 
                      e                JOJ::IllJ  qmmp             ;:Jt[l Jl         
-aJ:lllJ. ;o'i!Jq      OJ           ;,t]J ;osmD ][!\\ pt,JUll:l            ;,t]J 
m1  S:l.ll1Jl'q)  ;o'i![qmm]J  "J;o\;o_LOJI         .m;,u  uumn1  OJ  SO!Jm 
;:ll[l            ')SOlUJ;:JUU!  )X;:JU  ;:ll[l  OJ  J!Jl!Ul]S  ;:llj  p[HOl]S         
-ll;:lJ      d]JJ;:Ji!U!J  e  OS]!J  S!J::IlllUOJ  )SOlUJ;:JUU!  ;:ll]lJ[  tftU;:Ji!U!J 
e       OJ  U.\\OU'j .(pe;:JJ]!J    l]J]lj.\\ ')Jll)UO::I               JX;:JU  ;:ll[IJO 
         JUal.lll:l  OJ  PI'JUO:l  JSOU!J;oUU!  ;ot]J JO            ;ot]J      
!UO:l                              S!l]JJO         JOPIOJ  :l.ll1Jl'q) ;otJ_L 
1191 
I'"'''  ,-,  '1"""''.\'.1 
,<o"r  "-"  ''"'"''IJIXI'o"r  '"'"'"_\_/ 
/"'i  ""'"'f.-JIX(Pt]  \H)I[t')\\J+P\]  UOISli\:<)X,'+Pt] 
                                      <)lliOU[l  I''UlLJUI\\0 
:utJOJ  :ll]J  S;J"!I'J  PIOJ  l]Ullll]J  p.')U!lJ 
-lUOJ  ;:ll]l  .!OJ  UO!SS;:JJdX;:J  ::1!'!!0[  .(ZZilJ  S]l]l  "HWUHpOljlU;:l 
             ll  U[  "S)JlllUO::I  J;:Ji!U!J  )SOlUJ;:JUU!  )X;:JU  pur,  JSOlUJ;:JUU! 
;:ll[l               ;)Jil)Bq)  ljlUlll[l  ;:ll]l  l]l!.\\             )Jll)UO::I-J;)JU! 
:lS:lljJ S:lll!lJ!UlD(  Z()t        UO!SS:lJdX:l:l!'i!Oj ,\/       I'            
              lj!Ulll]J JO JOJlD!pU!                Sl  JOPIOJ 
UO!)BJOJ  ;:ll]l                0_\\J  U;:J;:l_\\J;:llj  UUOjJ;:Jd  OJ  l[llJHJ!p  Jill] 
J;:JilU!J  J;:Jl[IOUB  pur,  l]UHU]l  ;:l]q!JSOddo  ;:ll]l  U;:l.."),\\);:llj  UUOJJ;:ld  OJ 
.{SI,:lam JOPl'J UO!JI,JlU       :lZ!Ul!XI'!U l]J!l]\\ SUO!JO!U :l:JU!S 
ln9l 
     I 
(IOIJ                       :[Ol'J  IJ(l!II')Ol 
1  1  I  ufo.-t(ll/ t.-!17 -luf "
1
"0.1 l"'s 
x(( lu/o .f'f uf  1 .f) 7 -1     '''t .Jiu "xlu I'""'''' o-11 u     
   I /l 
- - .  priuOqqo.r 
t 
sd!p:l'i!U!J  ptm lj!UilljJ ;otp  U:J.')_\'\.)Jlj  JU!Od  I' UO  fl.').l;oJ 
-U;:JJ             Jll               J;:Ji!U!J  ::IU);:JlUUJ,\S                         ;:JJB 
0[  tpll(.\\            Ulll)lllOJ  pur,  UO!StmdX;:J  l[ll.\\  p;:1,}1()  .\zz111  ;:JJB 
SJOIJilJ ;:Jjiltm pur,                J;:JUU]  ;:llj)";:l)llStWdtuO::IOJ. ".\\;:lJ::IS ll 
'i!U!ll.lllJ.J!      :lWJOJ            ;otp U!:lJ:llj\\               UO!JI,JlU  ptllll( 
JO pu;, Jo 'ilmum'il;-,q ;,t]JJI' JOPIOJ  :l('i!tm J:lum :ll(J  .\q               
          ;:ll[l                 mjll  Ull::l  ;:Jji!tm  PpU]-l]Uilll[l  ;:ll[l  ,\pB] 
,:c  -!lU]S               ;:ll[lJll  UeJS  ;:ll[l  W  ]]!JlUS  .([;:!A]W[;:JJ  ;:llj  ll)  JllPBJ 
             J;oum :ll(J          SlllJ.             ;ouo UllU.J            ;op!(S 
d!p;oTiug  ptm  qmmp  ;,tp  u;,t]J  Jill]               ;,IPP!m Jo  x;,pu! 
;ot]J                            .{tml  lj!Uill]J  :ll[l  amJs;-,1!  tpmd-!Jllll 
U!J  ilU]Jilp  ';:JJUBISU]  Jll:]                 UO!)ll)OJ  Jll  i!U!l!J::IS  puet[ 
o<:  i!U]UUlljJ;:Jd  tWlj.\\            ;:J[i!Ue  pur,  Ull]WJBd;:JS            ;:lAOljll 
;,t]J  p:l.'):JX:l  u;,J.JO  SJ:lSil  Jill]  s;-oJilJSOd  qutnt]J             JO  Tiu!JI'u 
!lll!.IJS!P .{[l('illl( am                   ptm              J:lUU! :lllJ. 
mpt'j                 .U;o\     'iluDilptud              oOt U:l.')\\Plj 
     ,\[;:1:-jl[]]l.\\  PlllUOJ  )SOlUJ;:JUU!  JX;:JU  pur,  )SlllUJ;:lllU!  U;:l.."),\\);:llj 
,:]  ""  .  '  ""  '  - ' 
;:J[otm                 ;:Jt[l  d])J;:JoU!J          tm  A[[BilPB  Sl  l::IJJJUOJ 
J;:JilU!J  JSOtuJ;:JtJU!  ;:Jt[IJI  "
0
()(: [  pue 
0
() p.!B.\\0) ()  S;:Jtpetuddr, pur, 
,()') Jl'          l]Jll(.1.  "Zf    !)]:] ll!  JOPI'J  :l('i!tm J;ouu!  ;ot]J.JO  JO[d 
;oJI,mlxtuddl' :ll(J  m  p.')P;J[l:l.l  S!  SlllJ.  mp'd ;,t]J  J;opull          
01 
qmnt]l  ;:Jt[l  se 
0
()(:[  01  pue p.!e_\\JOJ          qmnt]l  ;:Jt[l     ()  01 
S;:Ji!UeJ)!  tji!HOl[l  '
0
()')  U;:llJO        Sl  J;:JilU!J  X;:JpU]  ;:ll]l  OJ  ljlUlll[l 
;ot]J         JOp:l.\ :ll(JJO           ;ot]J  ptmq Jt]'i!!J  :ll(J JO_.]  "l]Ullll(J :ll(J 
Sl  Pl'JUlD                      :lljJ J:ll(Pl(-1. :lJlD!pU!  dpl( llll:l Pl'J 
UO:l                     JX:lU  ptm            ;ot]J  u;oJ.\\Plj :lj'i!tm 
_  ;:ll]l        ll  O)Ul  fi<")]Jil::l  ;:JJ!J             ;:lljl  U;:Jtj.\\  Jd;:JJX;:J               
'  ;:ll]l         p.!B.\;.;OJ  J;:Jl[UilJ            ,\pJBJ  l]UHU]l  ;:ll[l  ;:l.::IU]S  . 
'd])J;:Ji!U!J 
ll  S]  IJ!J)UO::I  )SllUJJ;)llU]  ;:ll]l  Jl  ;:lUll  JB;:JU             )Ill]  ljlUlll[l 
;ot]J               PI'JUO:l JSO!UJ:lUU! ;ol]lJ! :lUO        J;o1l:Jq ;outO:l.')lj 
 
Z8  8Z8'Z!8'L sn 
:ljlj!SU:JS  :lj!OJ:JU:J'i!  OJ  .{1,'>\  JU:l!:l![P  JSOUl  :ll(.!_  "P:JJt,dtutD 
ptm p:lJl!l:JU:J'i! :llj jSl1Ul  S:JS;JljJOd.{l(  jU:JtuU'i!!SS1'.JO  j;)S 1' jX:JN 
JJO lJ!J  .\jptuodm;,J        u;,t].\\ u;,,\;,    
         .(J]UHXOJd                                                   
01  ilu]d[;Jt[              puet]  JU;JJ;JJ  ;,[quws;oJ  tptt(.\\        
l(JOd.{tj  JU;JlUU'i!!SS1'             :l.\!WpJ  :ll[l                      JJ'i! 
-ug put' pm''l               Jt[lt]l!.,. Tiu!J  JOP10JJll' :ll(J 'ilmJsnfpv 
"JOPeJJW             SJ!  pue  )JBJUOJ  l[JB;J  U;J;J,\\J;!lj  S;JJUeJ  09 
-s]p  p;,n]'il];,.\\  JO  mns  ;Jt]J  uo  ilu]pu;,d;,p       ;Jt]J  "J;Jt]JO  ;Jt]J 
        'i!uu :lUll  U!  S.lOj:l10JJll'  OJ  SJ:ll'JUO:J'i!um'i!!SS1'JO       JljJ 
an,dmo:J  ][!'>\  Ull[JUO'i!(l'  U0!11':l!JIJU:lp!  ptml(  :ll(J  .{][lD!Sqj 
SUO!JISOd  ptmtj  UWlU)j  JSl'J  JljJ  UWJ;)J  .\j!.l10.lOdlU:JJ  SJJ1'lU!JSJ 
J:l!i_[IO  put"] :ll]J :JJU!S  ':lJPP!Ul JljJ.m:JU .{]JU:l:l:JJ  JSOlU Sl,.1.  ptmq 
l[J!l[.\\ OJ'i!U!pJOJJe Jj;)[  JO  Hj'ilp  ;Jt[l  p.!e.\\OJ            "J]UWU.(p 
;,q  ;JJO.];)J;Jt]J  p]nOt[S            ;Jt[l  JO           Jt[!lu  pue  Jp] 
u;,;,_\\J;oq            ;,tl.L  puet[Jt[!lu  ;Jt]J             pue ;,[ppm! 
Jt]J  OJ  Tiu!.\om  put"]  Jj;)]  :ll(J  mOJJ  Jtm  u.wlp  )o[J1'lJ  'ilmtpmlJ 
ptmq  Jt]'il!J  :ll(J  tulUJ  :llj  .\p)o[!l  JSOtu  II!""  :llpptm :Jt]J  u!  J1,Jddt' 
l[J!l[.\\  SJ:llJlUOJ  JX;JU  ;JtjJ  "JJO        pue                ;Jt[l JO  ;![ppm! 
;Jt]J  OJ  ;opts Jt[!lu ;Jt]J  mtUJ s;,Aom ptmt] nj'il].! ;Jt[IJ!  ;,[dumx;, JO;] 
'lll.Jdptj S;J.\OJd OSJl'  .{q.m;,u JJO p:llJ!I  .\jJUJ:l:JJ  l(Jil(.1.  SP1'JUO:l 
JO .\J!JU:lpt Jt]J Jnq uo SJ.mJs JJJsnp:Jt]J p.moq :ll(JJO :JP!S tp!t]'>\ 
UO  .\j!\1,Jlj  pu:Jd:Jp  ]]!JS  jSl1Ul  UO!JlD!J!JU:lp!  JJjSllj:l  JS1'J  Sll(J 
1>91  "'''!JY+tur '(tY+tur 'mt  fuJ'Mt 
lt-91                         ,m          
1[91  "'
1
'!1"l+fuj"''(n+fuj   ,n  fuJ'fvJ 
'
1
'
1
'!J"f+fur"l  ..fl+f11f'" ''II  fuf'lv I 
   U[           puet[  \Pl  e  mtUJ                     .\pe;,u  sJe;odde 
J;JJS!l[J  J:llJlUOJ  puetj  Hj'il].!  r,  ";!:l!J:J.!IlS  ;Jt]J  JJO  p;,\J!I     ljlUill[l 
Jl]JJ]  'SPl'JUO:l ptmt]Jj;)]JO JJJSll(J l' UlO.!J  spt,JUOJ put"] Jl(TIU 
J 0  J:lJSll(J :JUOJl' lJS! n'i!U!JS!P l(Jil(.1. [!(l!J!SOd JJJSllj:l J 0  jU:lpU:Jd 
-;,pm             )JlJlUOJ  .([UO  ;)ljl  ;JJe  JU;JUW:Jejd  ljlUill]l  ;)A!Je(;)J 
1<:91 
O>  ;Jt]J  pur,            J:JP-JUOJ  m]L>d  J;oum  pue  qmm]J  ;,ttL 
:;oJe         JopeJue 11  puet[ nj'il].!  pur,  1 puet[Jp[ 
:ll[l  JOJ  (lu ]"fvlu ]'!\:) SUO!J!SOd  JOj:l10JJll'  [l'U!J  :ll(J JJO.fJ.!:lliJ. 
spSJJO  JJ'i!U!J  p:JWUl!JS:J  Timpuodsawn  J!Jt]J  .{q  p:lW]Sut,JJ 
;,q .\pres tmJ  snnod JopeJue [enptA!pU[  'HOZ  'DLl  m  spurt] 
;Jt[l  .\\ll]]OJ  SUO]f.;JJ                            ;Jt[l ;J'j][JSilf puetj S)!     
.10  ml!J!sod p.")J1,mtJsJ Jtp ..... o
11
o.1  oJ  s:Jw
1
sut,JJ  Tiu!J  1p1" 1 voz 
"!)]:]  ll!  U.'>\O!IS  SUO!J!SOd  P1'JUO:l  ptmt]Jl(TIU  ptm  \PI          
:ll[l  OJ  puods:JJJOJ  PlllllljS  J:ll(JOlW  :JUO  OJ  :l\IW[:JJ  S'i!U!J  JljJ 
JO  JU;JlU;JJejd  Jjll!lj;)p ;)ll.L  ';JJUO  Je  p;oZ!]!Jll ;oq  .\\OU  JS!llU       
Jt[ilU  pur,  Jj;)[  l[JOlj  Jet[J  Jd;JJX;J  "UO]W:l!J!JU;Jp]  puetj-U!l]l!.\\  Ot-
U!  p.")Sll  (ZS d:JJS  'p(':  "!)J:J) s;,Jqdm:JJ JOPl'Jlll' :ll[l S1' Jums Jl]J 
ii:JJl':l!Sl'lJ :llj PlllllljS :JS:l!IJ. "S:lJl'ldUl:Jj JOj:l10JJll'  ptml( Jl]'il!J  ptm 
Jj;)[           pur, ;JU!J;op  OJ  S!  fSP  d;oJS  JS.!!J  ;Jt[J  ;,'i!em]  JU;JJJHJ 
;Jt[l .!OJ  p;o'jO,\U! ;oq  lUl]JUOilje UO]Je:l!J!lU;!p]  puetj ;Jt]J  p[llOlJS 
s;,ileun           mtUJ  p.")md    
-mo:J SUO!l1':l!J!JU:lp!  Pl'JUOJ :ll(J  (ZSP  d:JJS)  pu:JjX:l put' umpJ 
OJ  JU:l!:l!lJllS S!  SPZ  SS:l:Jtud 'i!unp10JJ l]Wd :ll(J .{q                 S1' 
UO!)lJllU]lUOJ l[ltJd "JtJ;Jdde SJ:Je)UOJ .\\;)U  OU  pur, fi<")Z][!l]P-JS  ;)AlJlj 
                      S;J!J]UI]XOJd l[J]lj.\\ U]            JO:[";JSlJ;JJJU! 
OJ  S;JHU!JUO:l          .\\;)U  .(ur, JO  .(J]UI]XOJd  jeJOJ  ;Jt]Jl[J!l[.\\  0[ 
U!  SJ'i!1'lU!  .\J!lU!XOJd  JU:Jllfl:JSljllS  .H:J  ptm SJt,:Jdd1' P1'JUOJ .\'\.")U 
'J;JtjJO  ;Jt]J  OJ            ;Jt[l 
JO:lP!' ;,uo mOJJ S:JP!l' put"] I' S1,SUO!JlD!J!JUJpt 'ilmJS!X:lU!l'J:lJ 
.\llJl'I(:J.l  utD  :llnpmu  'i!U!)o[J10JJ  l(l1'd  :ll[l  "P.")!J!lll:JP!  .\[[l'!llll! 
JJ1' spt,JUOJJJ10Jll1S ]Jl' JJU() .{J!JU:lp! Jums :ll[l p'i! ptmq Jums 
;Jt]J  lUOJJ               ;JJnStW OJ  p;,][dde ;oq                  puet[ 
JO S;J!)J;Jdtud 'i!U].!;JJS!l[J  ;JtjJJU!lOJJe OJU]  ;J)jr,J  l[J!lj.\\  SpOl[l;!lU 
p:lJlD!JS!t]dos  :JJom  amp.!Jt].L  ptmt]  Jt]'il!J  Jt]J  OJ  S.l:ll(JO  ptm 
ptml(  Jj;)j  :ll(J OJ  p:lU'i!!SSl'  dn pu:J Plllll.1. Sj:l1,JUOJ s,put"] :ll[l.JO 
Jtuos "S:l.\ll"J Jt]'i!!J  put' \PI Jl[l TIU!JPPl'JJS  ":ljppnu :ll]J U!  u.Lop 
p;,tpllOJ  puet[  r,  J!  "J;)A;!.\\0[[                 ;JtjJ JO Jjel]  Jtj'i!p  JO  Jj;)] 
;Jt]J  U!  U.\\Op p;,tpllOJ.([[P-]J!U]  )JlJlUOJ ;Jt[l J;)l[l;!l[.\\ OJ  f.U]pJO:l:llJ 
P1'JUO:l  l(J1'J  OJ  .{J!JU:lP!  ptmq  u'i!!SSl'  OJ  :llj  Plll0.1.  Ull!JlD!J!l 
-U:lp!  ptml(JO pm1pm JS:lldUHS :lllJ.              :lljJJO J[l'l( J:ll[ll:l 
OJ  ;,[ppm! ;Jt]J          .\j;J..")JJ  meoJ ueJ puet[ e  JP-t]J  tpns p;,mof 
;J:JlJjJilS ;Jt]JJO          Hj'il].! pue \P] ;Jt[l ;J,\!Jt[ l[J]<[.\\ pue              
-eJ]IllU]S  spurt]  t]Joq  ;,wpomo::>:Je  OJ  tj'ilnotw  ;oilJe]  ;oJe  tp]t].\\ 
          tpnoJ-!Jinm  .H:J  P:JP."):JU  st  ml!JlD!J!JUJpt  ptm]J 
"SSJ:JDJd  U0!11':l!J!JU:lp!  JJ'i!U!J 
Jt]J OJU!         ptmq p:JWUHJS:l:ll(J ptm spt,JUll:l U:J..").LJ:llj  S:ljTitm 
p;,p;,dx;,  S;JJeJOdJO:JU]  ,\pur,il;o[;J  ;JJOlU  JU;!lU]pOlJUW  JO)JP-JUP-
;Jt]J                  JU;!UI]pOlJUW  ;),\]leUJ;JJje        J;)i\0  p;oJJ;Jj;JJd 
st  JU:Jtmpoqm;,  JJqdtuJJ  Jopt!lJll'  :JILL  ps_uo  ptmq  p.")J1'm 
!JSJ :ll[l  OJ  :l\!Jq:J.J  ptm 'i!U!J  JljJ  U!  SJ:ll'JUOJ J:lljJO  OJ  J\!Jl'(:J.l 
1'  l(J!l(.1.  Ul  J'i!1,lU!  .\J!Ul!XOJd  l(:l1':l .H:J  Ullll!JO'i![l' UO!jlD!J!JU:lp! 
puet[ ;Jt[J  S;!JilJ;JX;J  ()St'  puommp           ;JJOj;JJ;Jt].L  peJUO:l 
;o::>e:pns  [P-]l!U]  J;Jlje  spuo:J..")S]II!UI  u;,zop  .\\;Jj  e             ;Jt]J 
JSUm'i!1,SJSS:J.JdlUOJ         ljS:ltJ JljJj!JUll :ljqetpmn :l.ll'             
UO!jr,JU:l!JO  ptm  :lZ!S  P1'JUO:l  :lllJ.  "J:J'i!UOJJS  JUlO:l:llj  Sj:l1,JUlD 
'i!U!JS!X:l  JO               'i!U!Jlm'il!lJlUl"IP  JO  U Wlp  S:ll(JllllJ  lJl'd 
puet[  .\\;)U  r,  tWlj.\\  p;,JenjeA;J;)J  ;oq  .(j<!O  fi<");JU  S;J!J]HWp!  J;J'i!U!J 
pue                      ;JljJJO .\J!]!l]P-JS  ;JZ]UI]Xem OJ.  p;,zmq 
-l,JS  :J.\1'l(  S:JIJ!UHXOJd  qwd Jll' J:Jt]J:Jl]'>\  'ilunp:ll(:l .{q  p:lJll:J:JX:J 
:llj OJ  sp.h")U .{jpmp1' lUl]J!.!O'i!Jl' UO!J1':l!JIJU:JP!  ptmt] :ll[l J:ll(J:ll(.1. 
               JS.!!J  ()St'  puommp             "LPZ  ;Jjllpom  UO!) 
            puet[ ;,t[J  U]t]J].\\  s]!m;,p                     6Z  'DLl 
- P1'JUO:l JljJJO UO!JISOd  jlD!p:J.\ :ll[l.JO  SJUJUl:l.lllSl,:llU ;opnpu! 
"  OJ  fi<");JU  .(em  peJUOJ  tpe;,  .!OJ  SUO]l:ltH1J  UO]le:l!J]J;!A  ,\zZilJ 
;Jt]J            ;,,\!)P-pJ  uo  SlUWJJSUO:J  ;osodtm  OJ  ;JJP-]dm;,J  JOJ 
-J10JJJ1'  tm :Jpnpm Jtm s;oop mt]J!JO'i!Jl' :J\!Wtu:lJil' S!l]J  JJU!S 
ml!J!Sod llDtpJ.\ t]TI!l(  .\p\tWpJ J!:ll]J  ptm Tiu!J Jt]J u! 'iluu;opJo 
flC  :l\!p;,dsaJ  .l!:ll]J  .\q  SPl'JUll:l  dtp:J'i!U!J  'i!u!umm:JJ  S:l!JIJU:lP! 
8PP  d:JJS  "P.")!J!lll:JP!  :JJl'  SPl'JUll:l  Ulll'd  ptm ljlUl1lll  .\tm J:JU() 
pullOJ  ;JJe          Uljed  JO  l]UIIll[l J;JtjJO  ,\ue [!lUll  JSOUU;JUU] 
;Jt]J  OJ  ilup  ;Jt[l  U]  JlWJefpe           ;Jt]J  .!OJ  p;,w;,d;oJ  U;Jl[l 
'OS  op        
pjllO!IS  UO!Jtmmd               p.m.L)o[.W'  Tiu!SlllD  .\q ;opts  :lJ!Soddo  ,:1 
:ll[l  OJ  put"]  I'  Timp!JS  lUO.l.J  SJJSll  J'i!10Jl10:JS!p  OSJl'  UlD :lJPP!Ul 
;Jt[l           ;J:JejJilS  ;Jt[l  f.U]l]:U\"  .(j!JU;!p]  ;)lUI      JO               
,\j!JU;!p]  SJ[et[           ;Jt[l  U;J,\]il  ;oq  .([;JjeS tW:lJ]  ";!:l!J:JJHS  ;Jt]J 
JO JJl"J  :lJ!SOddo :ll(J  OJU!  [[:l.1.  UWlp  S:llj:lllllj  .\jU:lppns JJJSllj:l 
ptml(  l'  U:llj'>\  ":J.H:JJ.!:lliJ.  ptmtj  :lJ!SOddo  JljJ JO  S[!(l!J10JJdO  fll 
JlldU!  pmtp :ll(J SS:l:l:l1' OJ JJ10J.ll1S  :ll(JJOJJl"J :lJ!SOddo :ll[l OJUO 
JP-j  pUet[  ;JtjJ  ;JJe[d  ,\[[P-UO]JU;!JU!  .(em  ;JJBjJilS  ;Jt]J  ;JSil  OJ  ;J;!JJ 
puet[ ;,uo .\juo t[ll.\\        ;,]dmex;, JO;]                  m          
:ll[JIOOJ  OJl(SI'>\  .\Jil'l1Pl' .\1'm J:JSll  JljJ  'SUll!JlDOj  p:lp:JdXJUll 
U!  ptml(  l' JO  SJUJUlJ:Jqd  U:lppns  l]J!.1.  Ul:Jjs.\s  [!(l!jlD!J!JU:lp!  ,: 
puet[ ;JtjJ]OOJ  tWJ  J;)Sil  ;Jt[ll[J!lj.\\  U]  UWUI;JJ           l[illlOll.L 
           p.!P-l]  p;,wmps;, ;Jt]J 
OJ            JO)JP-JUP- puet]Jtj'i!U pur, puet[ \P] JO            ;Jt]J 
'i!m.{j .\q p:lJU:llU:lldUH S!  UO!SI \!P :l!lUlm.\p l' l(Jl1S  ].JOlJII .l:llJl' 
9 
;oJe         m[ed pue qmnt]J ;,tl.L  smwd ;,q  p[nOt]S  [;J,\;Jj[eJ]JJ;JA 
JUWS  :lljJ  W  Sl[l1'd :ljll(.1.  SJJ'i!U!J  :llj  jSlllU  JSOlUJJUU!  :ll(J J\Ol]l' 
.\ptm:l!J!U'i!!S Sl]Wd Jl]J s;opnpuo:J gpp d:JJS  ym] Ul]t'd 1' S!  l[l1'd 
JSOlUJ:JUU! Jl]J (ZPP )J I "SUlJl'd .\p)o[!]JSOUl JJ1' l]Ull1l]J Jl]J  Wl[Jlj 
'i!UU  ;)ljJ  U]  SJ:llJlUOJ  pur,                ,\[;!'j!l        ;)JP,  ;)AOljlJ  SJ:lr,J 
-UOJ  Jel[l  s;,pnpUO:l  ppp d;oJS  "l]UHU]J  r,     tped  JSOUU;JUU]  ;Jt[l 
J1                   JO)JBJUP- ";)l]l  pur,  SS;J:JtUd  UO]le:l!J]J;!A  ljlUill[l 
JljJ ll!  fAVI]!Jll  :JSOljJ  OJ  sno'i!Oilml' SUO!SS;JJdXJ :l!'i!Oj  .\/  /ll.)  ptm 
          pt,JUOJ 'ilmsn :Juop ;,q  tmJ stt].L  (zpp pmmm!p ums 
-D;op)  Ulll'd JO (()pp  puoum!p UO!S!:l.")p)  l]Ull1ljJ1' S!  1!  J:lljJ:llj'>\ 
      pur,             JO  JSOlUJ;JUU!  ;Jt[l      l[JllS  ilup  ;Jt[l  U] 
         ;)lU;)JJX;J tm JP- J:llJlUOJ  e  'j:J!d OJ  S!  8ft d;oJS JX;JU ;!lJ.L 
'lU;JtjJ .!OJ  ilU].!;JpJO              e                                   
)U;JJe[pr,  )J;JUUO:l  OJ  pU;JJ  ]]!.\\  ;op.(:J  t[deJf!             S]l]J  fluu 
l'  m  :lll  OJ  pUJJ  SPl'JUll:l  ptmq JJU!S  'PP  :JJUO  l(Jl!.")  l('illllUl(J 
> 
Z8  8Z8'Z!8'L sn 
us 7,812,828  82 
37 
hypotheses is lode !inc a set of roughly vertical contour lines. 
one  between  each  horizontally  adjacent  contact.  Step  454 
docs this by ordering all surface contacts by  their horizontal 
coordinates  and  establishing  a  vcnical  contour  hall'way 
between each pair of adjacent  hmimntal coordinates.  !'!(iS.  'i 
JOA-C  show  examples  of three  di!krcnl  contours  475  and 
their  associmcd  assignment  hyp01hcscs  for  a  !ix<..'d  set  of 
contacts.  !'ach contour corresponds to a scparmc hyp01hcsis. 
known also as a  partition, in which a!! conlacls lo the lcll 476 
of the contour arc  li'llm  the ldi hand. and a!!  conlacls to  the  lCJ
38 
Users olkn per!\m11  clutching motions  in  which  the right 
hand. forcxmnplc. !ills off from a slide at the right side oft he 
surlUcc.  touches backdown  in  the  middle of the  sur!Ucc.  nnd 
resumes  sliding townrd  the  right.  Therefore when  a hnnd  is 
delL-ctL"t.!  touching  down  in  the  middle  of the  surbce  and 
sliding toward one side.  it  probably came limnthe at  side. A 
hand velocity lUctor. plotted npproximntdy in  FIG. J 1.-\. cup-
lures tills phenomenon by slightly incrcnsing in  value when n 
hand  cluster's  contacts  are  moving  toward  the  cluster's 
assignL"t.!  side of the board. thus decreasing the basic cost  of 
the hand. The  bctor is  a  !i.mction of the merage of the con-
tncts'  horizontal  velocities  the  side of the  surlUcc  the  given 
duster is assigned. Since high speeds do not nL-ccssarily give 
a  stronger  indication  of user  intent  the  bctor  saturates  at 
right 477 of the contour arc li'llm the right  hand.  Contours arc 
also  necessary  m  the  lcll  and  right  ends  of the  surfncc  to 
handle the hypotheses thm all contacts on the surface arc from 
the same hand. Contours which hypothesize more contacts on 
a gi\cn hand than can be caused by  a single hand are immc-
dimely eliminmcd. 
15  moderate spL-cds. 
Gcncrnting  pnrtitions  vin  vertical  contours  nvoids  nll 
hypotheses in  which contncts of one hand horitonwlly over-
Though the thumb orientation  lUctors  help  idcntil) which 
hand n thumb  is  from  when the thumb  lies in  the mnbiguous 
middle  region  of  the  surlUcc.  the  vertical  position  of  the 
thumb relati\e to other !ingers in  the same hand also gi\cs a  lap or cross over contacts of the opposite hand. Considering 
that each hand c;m cause se\en or more distinct contacts. this 
r<:duccs the numbcrofhand identity pcrmutmions to cxmninc 
from  thousands tom most n dozen. With lCwcr hypotheses to 
examine.  the evaluation of each  p;u1ition can be much more 
sophisticated. and  if m.:cessary.  computationally costly. 
""  strong indication ofhandL"t.!ncss.  The thumb tends to be posi-
tioned much  lower than the  fingertips.  bllt  the  pinky  tends to 
be  only slightly lower than  the other fingertips.  The hnndcd-
ncss  bctor plotlL"t.!  approximately  in  ]."](j.  31 !S.  takes ad\<lll-
tage  of this  constraint  by  boosting  the  hand  cost  when  the 
'!11c  optimitation search  loop  l(Jilows.  Its  goal  is  to  deter-
mine which of the contours divides the contacts  into n parti-
tion of two contnct dusters such that the duster positions and 
arrangement  of  contacts  within  each  duster  best  satisfy 
known anatomical  and hiomechanica! constraints. The opti-
mizntion begins by  picking (step 456) a !irst contour divider 
such as the leftmost nnd tcntntively assigning (step 458) nny 
contncts to the !eli of the contour to the !eli hnnd and the rest 
""  contact  identiliL"t.!  as  the outemmst  lingertip  is  more  than  a 
couple  centimeters  lower  than  the  next  outermost  fingertip 
contnct.  In  such  cases  the  tentative  hand  assignment  for  all 
contacts in the duster is probably wrong. Since this causes the 
within-hand identi!ication algorithm to  lit  the contacts to  the 
to  the right  hand.  Step  460  invokes  the  !Inger  identi!ication 
algorithm  of F!(i.  23.  which  attempts  to  assign  linger  and 
pnlm  identities  to  contacts  within  cnch  hnnd.  Decision  din-
mond J6()  avoids  the  computmional  expense of thumb vcri-
!icmion  J68  and  swtistics  gathering  J64  for  tills  tcntmivc 
assignment hypothesis. 
30  wrong nttrnctor ring.  !ingcr  identities b<.-comc  rcvers<."t.!  such 
that the supposedly lowered pinky is  tnlly n lowered thumb of 
the  opposite hnnd.  Unfortunmcly.  limited confidence can be 
placed in  the handL"t.!ness  bctor. '!-hough the pinky should not 
appear lowered as much as the thumb the outer palm heel can. 
35  crcnting nn  nmbiguity  in  which  the  thumb  and  fingertips  of 
one hnnd hnve the smnc contnct arrnngcmcnt as the  fingertips 
nnd omcr palm heel oft he opposite hand. This ambiguity can 
cause  the  handL"t.!ness  bctor  to  be  erroneously  low  !(Jr  an 
Returning  to  F!(i.  29.  step  462  computes  a  cost  !(Jr  the 
pnrtition.  This  cost  is  mcnnt  to  cvnluatc  how  well  the  tcntn- 40 
tively  identified contacts !it their nssigncd nttrnctor ring and 
how well  the p;u1ition  meets  between-hand  separation  con-
straints. '!11is  is done by computing !(Jr each hand the sum of 
weighted distances from each tentati\dy identilied contact to 
accurately identiliL"t.!  hand duster. so the hand<."t.!ness  liJCtor is 
only used on clusters in the middle of the sur!Ucc where hnnd 
position is nmbiguous. 
! )istinguishing  contact  clusters  is  chal!enging  because  a 
duster can  h<.-come  quite  sparse  and  large when  the  lingers 
outstretch<."t.!.  with  the  pinky  and  thumb  of the  same  hand 
spamllng  up  to  20 em.  However.  the  palm  cnn  stretch  very 
little  in  comparison.  plncing  uscli.ll  constrnints  on  how  !Ur 
apart  palm  heel  contacts and  ! ( m ~ p a ! m s  from  the same hand 
can he.  The entire palm region of an  outstretchL"t.!  adult hand 
is a  boll!  10 em squnrc. so palm contact centroids should not be 
scattcr<."t.!  over a region larger than nbom 8 em. When n pnrti-
tion  wrongly  includes  lingers  from  the  opposite  hand  in  a 
duster.  the  within-duster  identi!ication  algorithm  tends  to 
assign the extra  !ingers  li'llm  the opposite hand to  palm  heel 
nnd  forcpnlm  nttractors.  This  usun!!y  cnuscs  the  contncts 
its assigned nttrnctor point ns  in  Fquntion 54 of !ingcr idcnti- 45 
!icmion.  including  size  nnd  oricntntion  !Caturc  lUctors  lix 
thumb  and  palm  attractors.  This  sum  represents  the  basic 
template  lining  cost  !(Jr  a  hand.  I ;ach  hand  cost  is  then 
weighted  us  n  whole  with  the  reciprocals  of  its  dutdllng 
velocity.  handedness. nnd  palm cohesion  lUctors.  These  lUc- '0 
tors.  to  be  described  below.  represent ndditional  constraints 
which  are  underemphasitL"t.!  by  the  weightL"t.!  attractor  dis-
tances.  Finally.  the  weighted  !ell  and  right  hand  costs  are 
added together nnd sen led  by the  rcciprocn! of n hnnd  scp.1-
rntion lUctor  to obtnin a total cost  for  the  pnrtition.  '5  nssigncd to the duster's palm nnrnctors to be scnncrcd across 
the surbcewiderthan is plausible l(Jr true palm contacts from 
a  single  hand.  '!(J  punish  such  partitions.  the palm  cohesion 
bctor quickly drops below one !(Jr a tentati\e hand cluster in 
If decision diamond 464 deteJmines this total cost is  lower 
than the total costs of the partitions evaluated so liu 464. step 
466  records  the  partition cost  as  the  lowest  and  records  the 
dividing contour.  Decision diamond 472  repents  this process 
for cnch contour470 until the costs of nil partitions have been  60 
e\aluatL"t.!.  Step 473 chooses the partition which has the low-
est  cost  overall  as  the actual  hand  partitioning 473.  and  the 
hnnd  identities of nll  contact  paths nrc  updmL"t.!  nccording!y 
Then step 474 reinvokcs the within-hand !ingcr contact iden-
tification process so thm  the thumb vcri!icmion nnd swtistics  65 
gathering  processes  are  per!(JrnlL"t.!  using  the  actual  hand 
assignments. 
which the supposed pnlm contncts nrc scnncrcd over a region 
!urger thnn 8 em. Therefore its reciprocal will greatly incrcnsc 
the hand's basic cost.  FIG.  31C shows the value of the palm 
cohesion  bctor  versus  horitonta!  separation  between  palm 
contncts. The  horizontnl  spread cnn  be  cllicicntly  mcnsurcd 
by  !inding  the  mnximum  and  minimum  horitonwl  coordi-
nmcs ofn!! contacts identified as pnlm IK-cls or forcp.1lms nnd 
taking the di!krence hetw<.-cn  the maximum and minimum. 
rhe measurement and bctor value lookup are repealL"t.!  l(Jr the 
us 7,812,828  82 
39 
\erlical separation. and the hori/Ontal and vcJ1ical  liJCtors arc 
mu!tiplicmivdy combined to  obtain  the  Hnal  palm cohesion 
factor. 
40 
was mmm!ed on a p<..-des!al!o allow access limn all  sides, the 
hand  idcnliEcalion  module  would  also  hyp01hcsizc  various 
row! ions of each allraclor ring. 
The  allraclor-bascd  !ingcr  idcnti!icmion  system  248  will 
5  successlidly  identify  the  individual  hand  conlacls  which 
!-'I G. J3 is an approximmc plot oft he inter-hand scparmion 
liJCtor.  '!11is  liJCtor  increases  the  total  costs  of partitions  in 
which  the  estimated  or  aclual  hori/Ontal  positions  of  the 
thumbs from each hand approach or overlap. II  is measured by 
finding  the  minimum  of the  horizontal  olrscts  of rig.ht  hand 
conlacls  with  rcspccl  lo  their  cmn::spomling  default  linger 
positions. Similarly the maximum of the horizontal ollSets of  lCJ
the  Jell  hand  conlacls  with  n::spccl  lo  their  cmn::spomling 
default  !ingcr  positions  is  found.  If the  dillCrcncc  between 
these  hand  offset  extremes  is  small  enough  to  suggest  the 
thumbs  arc  mer!apping  the  same  columnar  region  of the 
surliJCc while either touching the surliJCc or Jloaling above it. 
1hc  separation lUc!or b<..>comcs  very  small.  Such overlap cor-
responds  to  a  ncgmivc  thumb  scparmion  in  1hc  plo1.  To 
encourage assigmncnl of conlac!s which arc within a couple 
ccnlimelcrs of one another lo the same dusler, the separation 
li1c1or  gradually hegins lo drop starling with positive scpara- "" 
lions of a  few  ccnlimclcrs or less.  "111c  inter-hand  scparmion 
factor  is  no!  applicable  10  partilions  in  which  all  surface 
conlacls  arc  assigned  lo  the  same  hand,  and  lakes  on  the 
ddimh  value of one in  this  case. 
comprise  the  pen  grip  hand  conliguralion  (FJ(i.  15).  !low-
ever,  additional  sleps  are  n<..-...-d<..-d  lo  distinguish  the  unique 
Enger  arrangement  within  the  pen  grip  lfom  the  nonnal 
arrangcmcm wi1hin  the closed hand conEgurmion (1-'lG.  14). 
In  this  pen  grip  arrangement  the  outer  lingers  cur!  under 
toward the palms so  their knuckles !ouch the surliJCe and the 
index.  Enger jms out  ahead of !hem.  The  pen  grip dc!cclion 
module 17 employs a Jivzy paltcrn recognition process simi-
lar  to  the  thumb  vcriEcalion  process  to  dc1cc1  this  unique 
15  anangemenl 
An  additional  problem  with  handwriting  r<..>cognition  via 
the  pen  grip  hand  conliguralion  is  that  the  inner  gripping 
Engcrs  and  sometimes  1hc  whole  hand  will  be             up 
bc1wccn  strokes.  causing 1hc  dis1inguishing  Enger arrange-
men!  to lemporarily disappear. Therdl1re the pen grip recog-
nition  process  must  have  hysteresis  lo  slay  in  handwriting 
Ahemali\e embodiments  of this  hand  identilicalion  pro-
cess can include additional conslraim lUc10rs and remain well 
wi1hin  1hc  scope  of this  invemion.  For example.  a  velocity 
coherence  li1c1or  could  he  computed  lo  li1vor  partitions  in 
which all  lingers within a  cluster slide a!  approximately  the 
same spc<..-d  and direction. !hough each clus1Cr as a whole has 
a dillCrcm average speed and direction. 
mode belween gripping linger !ills.  In the prekrr<..-d embodi-
ment.  hysteresis is obwincd by  temporal  !i!tcring of the com-
bind fut/)' d<..>cision  lUc10rs and by using 1hc cstimmcd !ingcr 
"
5 
positions  in  measurements  of linger arrangement  while  the 
aclua!  lingers are lilkd off the surli1ce. rhe eslima!L-d  linger 
positions  provide  cllCc1ivc  hysteresis  because  they  tempo-
rarily  retain  the  uniqucjul1ing arrangcmcm  before d<..>caying 
back 10ward 1hc norma! arched  fingertip  posilions a  lCw  scc-
30  onds aller lillo!I 
FIG.  28  shows  the  sleps  within  the  pen  grip  de!L>clion 
module  17.  D<..>cision  diamond  485 de!eJmines  whe!her  all 
pen  grip hand parts arc  touching 1hc  surface.  If no1  decision 
diamond 486 causes the  cstimmcd !ingcr and palm posi1ions 
lo he relriev<..-d  ll1r any !illL-d  paris in  slep 487 only if pen grip 
or handwriting mode is already aclive. Othernise the process 
cxi1s  for  lack of enough surlUcc con1ac1s.  Thus the estimated 
Enger positions canno1 be used to start handwri1ing mode. but 
Sometimes  irreversible  decisions  made  by  the  chord 
motion r<..>cognizer or typing recogni1ed on the basis of exist-
ing  hand  identilicalions  pre\ en!  !ale changes  in  the  identili-
calions  of hand  contacts  even  when  n<..'W  proximity  image  35 
information suggests existing idcmiEcalions arc wrong. This 
might  be  the  case  lix a  chord  slide  which  generales  inplll 
e\enls  that  can  no!  he  undone,  ye!  well  into  the  slide  nL'\\" 
image inllmnalion indicales some lingers in the chord should 
have b<..'Cn  mtributcd to the opposite hand. In !his case the user 
can be warned  to  slOp  1hc  slide and check for  possible inplll 
errors  hut  in  the  meantime  it  is  best  lo  relain  the  existing 
identilicalions  even  if wrong,  rather  than  switch  lo  coJT<..'CI 
assignments  which could  ha\e li1r1her  unpredic!ah!c dkc!s 
when added  to  1hc  crron<..'OUS  inplll cvcms. Thcrclixc once a  45 
chord slide has generated  input cvcms. 1hc  idcmiEcalions of 
their existing paths may he locked so  the hand identilicalion 
algorithm  can  only  swap  identilicalions  of subsequent  nL'\\" 
comac1s. 
40 
they  can  continue  it.  Step  488  retrieves  the  mcasur<..-d  posi-
tions and si1es of lingers and palm  heels which are touching 
the surliJCe. 
Step 489 computes a  knuckle  liJCior  from  the outer  linger 
sizes  and  their vertical  distance  from  the  palm  heels  which 
peaks as 1hc omcr !ingcr contacts become larger !han nonnal 
linge11ips  and  dose lo  the palm  heels.  Step 490 computes a 
julling  bclor Ji-om  the dilkrence belween  the ve11ica!  coor-
dinates of the inner and ouler lingers which peaks as the index 
Engcrtip juts  limhcr om  in  lfont  of the  knuckles.  Step  491 
,
0 
combines  the  knuckle  and  jul1ing  lUc1ors  in  a  fut/)'  logic 
expression and a\erages the result with pre\ ious results\ ia an 
auloregressi\e  or  moving  average  liher.  D<..>cision  diamond 
492 continues or starts pen grip mode if the !il!cr<..-d expression 
rcsuh  is  above  a  1hrcshold  which  may  itself be  variable  10 
"111is  hand  idcnliEcmion  process can  be  modiEcd  lix     
fcrcnlly  configured  mul!i-1ouch  surfaces  and  remain  well 
within the scope of this imenlion. !:or surbces which are so 
narrow  that  thumbs invade one another's space or so !all that 
one  hand  can  lie  above  another.  1hc  comours  nc<..-d  no1  be 
slraig.!H  vertical  lines ..  \ddilional  contours  could  weave 
around candidate merlapping thumbs. or t!u:y  could be per-
pendicular  lo  the  VL>clor  belween  the  eslima!L'<i  hand  posi-
tions.  I fthe surli1ce was large enough ll1r  more than one user. 
additional altraclor rings would have  to  be provided  for  each 
additional hand. and muhiple partitioning contours would be  60 
n<..>cessary  per  hypothesis  lo  p;u1ition  the  surli1ce  into  more 
than  two  portions.  On  a  surli1ce  large  enough  ll1r  only  one 
hand it  migh1  still  be ncccssm)' 10  delcrminc which hand was 
1ouching the surface. Then ins1cad of hypothesizing dillCrcm 
comours. 1hc  hand  idcnti!icmion module would cva!umc  the  65 
hypotheses that  either the !ell hand allraclor ring or the right 
hand allraclor ring was centered on the surliJCe.  If the surface 
,
5 
provide addi1ional hys1ercsis. While in  pen grip mode. typing 
12 and chord motion r<..>cognition  18 are disab!L-d  ll1r  the pen 
gripping hand. 
In  pen  grip  mode,  decision  diamond  493  de!ermines 
whether 1hc  inner gripping  lingers arc acmally  1ouching the 
surlUcc.  If so. step 495 generates inking cvems from  the  pmh 
paramelers of the inner lingers and appends them lo  the out-
going  even!  queue  of  the  host  commtmicalion  interli1ce. 
These inking events can ci1hcr cause "digiwl ink" to be laved 
on 1hc display 24 for drawing or signmurc capture purposes. 
or they can be imcrccptcd by a  handwri1ing  recognition sys-
tem  and  inlerpre!ed as gestures or language symbols.  !land-
writing r<..>cognition  syslems are well  known in  the art. 
       .!:lljliO.!  paxg                     )SU'>\ :lljlll' p.<l:J)U:l:l Sl  Ull!li'JO.! 
atpjt  Wt]l  Jtbaxa                   Tiu!.1np  .1naao  1'uam<.maqd 
.!BJ!m!S                  Jll::l!l.!;)A  );)U  ll  0)  dn        f!U!]BJS  ptmt] 
ll  ilU!Jilp  S;)!JpOja,\  Jaf.U!J  [ll.!llWJ  JO  tuns  at[l  pur,           
qmmp pur, .\)[U!d at[l ua.."').\\)aq  a:ma;a.mp at[l UBt[l  ssa[ .\[[rnsn 
   JaTiug  J:ll]JO  .\tm  ptm                      1'  Jll  mlt]om  uaa.Lpq 
a:maJ:l.J.JlP  atp  amp.!:ll!J.            JlO.!JU:J:J  :lljl  JO  ilmxau 
atpmama[dtuoa  01  ilu![mJ               ummaJ        tu[Bd  at[l 
1nq 1mod WJJuaa  r  p.!B.\\lll  aAom os1r toz-zoz         WJJuaa 
:ll!J. "1\U!Jl':lS ]aU a1\.1q  I'                       SUll!JOlU .!l:lljl ll!  :J:JU:J 
.!:l_JJ!P  :lljllllq                 ]aU  lU:JZ  .H:J  S[:l:llm:J  SUll!JOlU  .!l:lljl 
Jll ums :lljlll"[l os  p."')ads       :lljl .\[qTimu  w suo!P:l.l!P        
-oddo .(pr,au U]  [a,wJt soz ,\.'imd pur, JOZ  quHU]l  atu.         
purt[  a,\]PBJ)UOJ  r,  ilupnp  Jailuu  tpra JO  sauopafBJl           
Sf'!)!:!  "O.!:JZ  lll         :lljlJll  S:lll!:lll[:l\  Jl"lO!WJO.!  ptm ]Btpm 
atp     tZS da]s              :lljl Tiu!l(Jlllll               o.LJ              
)Bt]l            zzs puommp         Jl  qmm[J at]llHOt]l!.\\ 
)[JO.\\  ][!.\\  potj)atu              at]l  mq  qmmp  a]qrsoddo 
at[l  S]                 JO  auo J!  m.!OJ.!ad  01  Jasn  atp        Ja!sra 
                  ptm sTIU!Jl':lS               :JUOJO:l.!l' .\:Jtjl        S.J:Jf!U!J 
J:ltjlll  :Jt]lJO ]uapuadapu!  a.1om  tpmu    UO!JOm  qmnt]l aau!s 
puBtj at[JJO .\)!::10];),\ .!lljlliltm .!0 ]mpB.! ll  ;))lldtuOJ 0)           
-l,llU ]J..'"Ofqo.Jll                         Jl':l!lJdl!!TI :lljl lll .\p\!JIUTIO:l 
            .\:Jt]l  qmnt]l  a[q1"oddo  :Jt]l  apnpu!  .\p\ll!lllU! 
   tp!t[.\\        azm1n ,\atp          uuo_pad 01        suo]wm 
pum[ asat[l aJe .\[UO  JON  mu r,                uat[.\\ se sJailuu at[l 
uaa.\\)aq Jo pq Jde              uat[.\\    lS].!.\\  atp)noqe Jatpw 
UO!ll'ltu  pm"l  ptm  s.1ailug  :Jt]l  ilmpua]xa  .10  Tiu!X:l[J  .\[tti.!(:J 
lUll .\q f!U!Jl':lS  ptmlj "Ull!JqSutOJ)  ptmlj :ljOlj.\'\. ;,q UlD  SUO!JOlU 
09        at[l  papaau  aJe mopaq] JO          moJ .(J<!O  uat]/1:\ 
amn auo w mop."')a.!J JO aaJilap Jo S!XB 
         I' 1JUOJl'  aq OJ                           UI"Jl  .!:llj)l!l  SUO!JOlU 
Jl"lllTII'!P  WlJII'  .\:Jt]l  asmDaq                                "-'"'P 
111dm            ptm ":J[qtw,das tmqJ J:Jt]Jl!l(l!JTia]m ;,q 01  P!l"     
   ,\at[l atu]l      at[l w             aq tmamopaa.!JJO saaJilap a]d]l 
-[nm  uat]/1:\  ;at]lOtm auo t])l.\\  iluuaJJaJm  mot[ll.\\ amp  ames 
              .\(!SI':J pamn:p;,\.1 ;,q UlD  lJ:l!l]'>\  SUll!JOlU                
        lUO.!J  Ulllfhh<l.J  Jll             ')j7 :JS:lljl  Pl!l]X:l  ll)             
JO]Jll.!)Xa  )lWUOdtuOJUO!)OUl at[.L        [eJ]).!;)A pur, [eJUOZ!JOl[ 
0>  at])  punOJB  ajqel!e,\B  aJe tu0p."')a.!J JO Sa.."')Jilap  [eUO!W)OJ  [BUO]l 
-!ppe 0.\\)  'SUO]SUaUHp aaJtj)  U[             .!0 f.U]UlOOZ  pur, f.u] 
ll'lll.! "f!U!utmd Jl':l!U:l \  ptm                             UlllUlUO:l )SOlU 
:lljl                0.\'\.]  U]                 :h'"O.!ljl  ptm 0.\'\.]  Ul          [[(l!l 
;)Jll SJaf!U!J  f.U]PlllUOJ             W             UO])ll]U;)UO  qttHU]l     
-e[ndmr,m [BJ!t[deJil uommoa .!OJ  mopa.."')JJ JO          t[ilnoua 
mopa.."')JJ  JO  sa.."').ri!ap             91  at]l  mOJJ  JJeJtxa 01  s1  91 
:l(llpom Ull!Pl!l]X:J  )U:JUOdtull:J  Ulll)lllU  :lljl JO :JSOtf.md  :lllJ.  lUO.!J  p."')JJIOJ]X:l     UO!ll'llU           "UO!)OlU              ptm 
(f!U!(lDS) (I'!PIOJ UllUJ  S)U:JUOdtutD .\]Dllp\ Jqod :lljl               
"9f  '!)!:!  ll!  U.\'\.OljS  :l.!l'         (h"')[mPp  :JSOlj.\'\.  "f:"()S  SS:l:lllld 
.\[JUapuad 
-apm  SS:l:l:ll'  ll)  .!:JSll  :J1JIOJ:JW  :lljl  lUO.!J  .{]IJ:l]X:lp  ptm f!U!JS!  '>\) 
a[qruosea;un  aJ]nbaJ  p[nO.\\  pue          pawm1  a,wt[  mop  ")Se[  U.\\Op 
ilmtpnOJ  Jo         JJO  ilmlJ![  dp.wiluu  atp JO  )[Jeq  at[l  01  anp 
Jl]TII:llj  Pl'llllD m  aTitmtp:ltjl OJ  Jl"lO!].llldOJd S!.J.JlllJI( J:Jf!U!J  .\q 
           .\]DO(:l\                      Ul  Ull!ll,qJn]Jad :lljl Wljl            
      'lt[ilWt]  Jaemo::>  Jailuu  U]  ailurtp               atp  01 
[BUO]Uodwd  )mwmr, ur, paads Jailuu  jeJaW[ at]l  tuO.!J  ilmpBJl 
     ,\q  pammqo  aq  UBJ              asp,"')Jd  aJotu  .([aA!WU 
ot  -a.."')JJ  JO                  JO  .\tmm  ;a,\a.\\0[]  uo]W!Uauo qmm[t 
JO lUO(h'"O:l.!J Jll :J.'"O.f.lap:JUll      ":J:ll,)JllS :lljl OJ  .{]llUIXlUd JO:J.!llS 
       dtp:JTiug  Jl'llPL\tpm  m  mop.h'"O.!J.Jll  saa.1ilap       aat,pns 
at])  OJjeJaW[  UO!)OUl  U]  tuopa.."')Jj  JO          lWl  p[aj.( ;)Jllj.!llS 
r,  uo  SJJBJUOJ  Jailuu JO  S)UatuaJnsr,aiii,J  .\jnwpuadapm      
-.!:ll]V                       Tiuoum .\J!Ul!XOJd m           JU:JJJad 
         :Jt]l  01            m  auop     .\J!:lllP\  Jailug       
JO ilmwasU.\\Op [r-UO]llppe JJO       Jailuu auo                     
01  ptwJ  purtJ  e  U]t]ll-\\         Jatpo aau1s  .\Jlm]xtud         
atp m                  01  uop.wdoJd m  .(JpopA jeJaW[          
   at]lJO IW  aMltu Oll[HJHJIP 11 a)[Btu  SUO]Wl]UHJ  ailB)[tH]  uoptwl 
           jlDI]:JIOJd  I'      llllJ  paU!lJlUlD S)Ulllf               Ul  )U:llU 
-a.\om .1 o          .1 o           tz: Sl"[              .\]Jl':l!utpa L 
         at]l  .\q        aq .\J![Bnpr,  m  ][!.\\ aatlJ.!a)U]  uo1wam 
-nmmo::>  )SOt]  at]l  01       tped d1uailuu  xapu]  at[l  )et[l  )daaxa 
oc  sn[.\Js e t[ll.\\              at]l uat].\\ .(B.\\ ames atp .\[[mmassa U] 
          tm:J Jopapp duil uad :Jt]l     sananu"] :ll(JJO (:l\:J] 
Jl':l!lJ:l.\  :lljl  :J.\OlJI'  JO                                 Ull!ll':l!JI]U:lp! 
      d]uailuu  xapu]  at]l  JO  a::>e[d  at]l  sa)[m  .\[[e]wassa         
at]lJO d]l atLL m]ed Jamo at[l 01       papna spr,wo::> an::>nU)j 
I' f!Ul(lDSU.\'\.Op  .\jut!llldtu:J] .\q p."')JU:l\."')J\.1            J)lll.J!J J:Jf!U!J 
fluunp Ullll!SOd (h"')J:l:l(:lS I'                     dumfOJJOS.lll:l:lljl :JSlllD 
,\atp J!  Jasn  at]l  .(omm      UBJ  .\atp  mq  "[OJJUOJ  ilu]uop!sod 
auu .!OJ  d]uailuu  at]l  ilm[[OJ            uat].\\  asn pooil  01  md aq 
utD  SUll!JqSut!l]  ]Uapuadap-.\]ilUIXlUd  l(JllS  pttu]U:l:l J:Jf!U!J 
:ll]l  ll!                jlO.!:JJq  p.!1,'>\dl1  .!0                 ]aU             
dtpaTiug  :Jt]l  JO          :Jt]l           .J.Jll        ptm  a.mpq  tt.wlp 
        uauo  d]uailuu  atp JO  pr,d  JUtUJ  at]l              at]l  uo 
U.\\Op tpnoJ pur, JJ0\1![ Jailuu iluunp asne::>aq                s1       
.\[p!diOJ flu!fltmtp S!  .{J!UHX<.Ud J:JTIU!J  U:llj'>\               PI')Ull:l  flC 
(l!l:JW]  :Jt]l  01              Jlmll!liPPI'         zos da]s ]xau :Jt].L 
,:c  :JTI.1q                      ]]!'>\             .\"(md  ptm Tiuu :Jt]l  .\"{md :ll(l 
01  p;,dsaJ l]ll'>\  (l'lUJ<.m                              :J![.\1'm (:h'"Ot]  mp'd 
Ja]no :ll(lt]Tinmn  '(:h'"Ot]  mp'd J:JJllll  :Jt]l  ptm J:JTiug  Tiu!.!  .\"{md 
at]lJO       atp uo       purt] atp a]!l].\\        atp_uo ,\e)s     
pazJsetjduwap aq ur,a               )Uauodmoa UO]JOm  Je[ 
-na!prd apr,;ilap p]nO.\\ tp!t].\\ S]a.."')t[  ttqed Jo         U]epaaJo 
uonom Wt]l  m  papaau a;r,                at[l pue                
Ulll)lllU  :lljl  Ul           aq  OJ  S:li]IUHXlUd  ptm  S:li]DO(:l\  jlO.!:JJq  ,:1 
:ll]l                     :JS:ll!J. ptmlj U:l.\11\ :lljl       ()Sl         Pl'llllD 
pamwap]  at[l  satp1q1  lSJH  nos  da1s  pf  "!)1:1  m  u.\\Ot]s  aJe 
91  JO]Jll.!)Xa  )lWUOdtuOJ  UO!lOUl  at[l  U]lj)l.\\            atlJ. 
"J:ll]Jotm auo 01                      
.!!-'"''11  uo  ilmpu;,d;,p             .\JDO(:J-\          .\j.m:Jm[  ol 
-uou       ]saq  (:l:lutD               asotj'>\  s.1ailug  :Jt]l                
,\[[mJUa.!ap.!d  JOJJeJtXa  UO!lOUl  at])  'SUO!W)OJ  pur,           
pauuo_pad .([Pqpadtm tu<.UJ                papuanmm  ltWAaJd 
ll)  p.{  (1!11\:J]UI                 JO              :lljl  Wljl  OS                
]l1lU!S               aq 01               .LOJJl'  OJ.  flu!Jl':ls .10  m111  ,.-
-mw             at[l  01  UO]llppe  U]  uop::>a.!!p  amm  m              
)au eo1 dn            UBJ pur, .\p::>a_pad [a::>ueJ wu           
pue  SUO]WltU  puet]        iluunp          atp  11e  JO        
(lmO!JqSUIO.!]  :lljlll"(l Sl             .\[UO Jl:ll!J.  'illii/!S  ptm Ulll) 
ZP 
,\em pat] m]ed Jaum at[l          e ilu]p[Ot] .\urnpr, uat].\\ a; om 
:Jll"l!dns  01  spua1  mJI'--'H:J  :Jt]l  :J:lU!S              Tiu!.1np  aat,pns 
:lljl  flllll(Jllll)  lml(J             :l:ll,J.!llS  :lljl  :J\Oql'  lUO.!J           :ll(l 
ilu]JJ.."').!]p  aq  m.\\ sJailuu  ilmdduil JaUU]  atp           .\[ll[il![s 
ailtmtp  m.\\ uope;niluuoJ  puet[  atp  11  t[ll.\\  aJU.\\  01  1dmaur 
pur,          a,\!)Jnpuoa  r,  dn  )[J]d  .([[emae      atp  p]nOt[S 
                pa.1pum[ 
.\\.'"0.)  I'        fA'"OlJI(  U:J:Jq  :JWl(            J:JUU!  :lljl  ]!lUll  pa.!tlllfl! 
aq  p[HOl]S           Ul[Bd               J;)JilO  pur,             m]L>d  at[l 
JO        apnpm OSje ][!.\\  SUO]JOm  f!tHJ]J.\\  [BUUOU  ;)JU!S      
-"]:lntl"{ J:JJllll  ptm Sj:l.'"Olj         :ll(JJO                        Tiu!ml!l 
      JosJn:J  Tiu!JIOJ:Juail  .\q  p.--.poddns  aq tma S!lJ.L               
-um  d!.!TI  u;,d  :Jt]l  Tiu!.\l':lJ  Jlllll]l!-L                              
01  a[qr;ap.!d     )!  p;otp Jailuu  e  ilu]pqs  pue  uope;niluuoJ 
duil uad at[l ilmABa[  ,\q JOSJilJ atp aAom  p]llOJ      e  aaBJ.!IlS 
tpmlJ-!l[nm     uo  t]ilnmu.  .1osm:J     ilmum1!sod  .\q         
:lljl  Ull           aq ll) :J.!I'           p.'"Op.!dl:J)UI  JO  .. "]U!  Jl'llfltp, 
at]l  aJat[.\\ awa1pm 01  p."')au  .(r,m      at]l  suoJwaqddr,      U[ 
'S]Oqtu.(S ua,."'),\\)aq  )[eaJq eJO           UO!l]<!f.OJ;)J  f!Ul)!J_\\pUet[ 
at])           01  ;)Jll_paHH  UO!WJ!UilmtuOJ  )SOl]  at[l  0)  S)lWAa 
pas!IO.!                 t6t da]S  "fA'"OlJ!(  am Kl:JTIU!J  .!:lUll!  :lljl J] 
lP 
Z8  8Z8'Z!8'L sn 
us 7,812,828  82 
43 
centered  at  the             a  net  horimnta!  translation  will 
appear  in  1hc  sum  of motions  li"om  any combinmion  of !in-
gcrs. 
Since 1hc differences  in  !ing.cr motion arc usually grcmcst 
between thumb and pinky. step 526 only rctric\cs the ctuTcnl  'i 
and pre\ ious positions of the inncnnosl and oulennosltouch-
ing.  !ing.crs for the hand scaling and rotmion mcnsurcmcnts. 
Step 528 then computes the hand scaling velocity! I,,  from 
the change  in  distance between  the  innermost  linger!'! and 
oulennosl !Inger FOwith approximately the l(J!!owingcqua- lCJ
lion: 
(66) 
44 
simplest way lo compule a hand lranslalion \elocily would he 
to  simply averngc the lmcral  velocities of each !ingcr.  How-
ever.  the user expects the motion or control to display gain to 
be constnm rcg.nrdless of how  many !ing.crs nrc being. moved. 
even ifsmne arc resting stationary.  l'urthcrmm-e. if the user is 
simultaneously scaling or rotating the hand. a simple meragc 
is sensitive lo spurious netlranslalions caused: by unc;mcck-d 
central !ingcr motions. 
Therefore.  in  n  preferred  embodiment  the  trnnslmional 
component  cxtrnctor  cardi.J!ly  assigns  wcig.htings  for  cnch 
!ingcr  before  compming.  the  nverag.c  translation.  Step  540 
initiali/cs the lranslalion weighting 1\, of each linger lo  its 
lola! conlacl proximity. i.e ..  1\., [ n]  Fi .[n ]. This ensures thai 
where  d(F![ni.FOinJ)  is  the  squared 
between the lingers: 
l;udidcan  distance 
15 
!ingcrs not touching the surface do not dilute the nverag.c with 
their zero velocities nnd  thm  !ingcrs which only touch lightly 
hme less in!luence since their position and velocity mcasUJ-e-
menls  may he less 1diahle. The ncxl  slcp  544  deCJ-eases  the 
weightings of lingers which ;u-e  Jdati\ely stationary  so  thai 
dtn fn 
1
,  FOfnl  vc,c,c,
1
c,c
1 
c,o,c,,c
1 
,c, 
1
c,,c,c,c,c, 
1
c,c
1 
c,c,c,c
1 
,c, 
1
c,, 
1671 
If one of the innermost or oulermosl !ingcrs was not  touch-
ing.  during. the  previous proximity image. the chang.c  in scp.1-
ration is assumed to be zero. Similarly. step 5JO computes the 
hand rotational velocity II,, lium the change in angle between 
the  innermost  and oulcmmsl  linger with  approximately  the 
I(J!Iowing equation: 
""  the  comrol to  displny g.ain of imcntionally moving. !ing.crs  is 
not  dilut<.-d.  This  can  be  done  by  !inding the  lUstcst  moving 
linger.  recording  its  speed  as  a  maximum  linger  speed  and 
scaling each linger's lranslation weighting in proportion lo its 
sped divid<.-d  by the maximum of the !ing.cr spc<.-ds. us shown 
""  npproximately  in  the  formula  below: 
(
. {/" 1[ 11 [.  HJ[n[l-: {1-/[n- I[.  HJ[n- l [I, (            HJ[n]l  i6Si 
30 
1/,[n]  .!.J  "' 
"ll1c change in angle is multiplied by the current separation 
( 
f"i,."'""J[II[  ]'"'" 
f"i.,.[11[:  =f"i.,.[II[X  " .. 
          ..'"'l"l 
16'!1 
where the power ptw adjusts the strength of the speed depen-
dence. Nolelhal slcp 544 c;m he skipped ll1r applications such 
as compuler-aidcd -design in which users desire both a nonnal  to  convert  it  to  the  same  units as the  translmion  and scnling 
components.  These cqumions capture nny  rowtion nnd scnl-
ing.  components  of  hand  motion  even  if the  hand  is  also 
translating as a whole.  thus making the rotation  and scaling 
degrees of liccdom  integral with lranslation . 
35  cursor motion gnin modcnndn low  g.nin  modc.l.owcr cursor 
motion  gain  is  usdi.J!  for  !inc.  short  rang.c  positioning..  nnd 
would be  accessed by  moving. only one or two  !ingcrs while 
keeping the resl  stationary. 
.-\.J1othcr rcnson the compuwtions above arc                to the 
thumb and  pinky or  inncnnost nnd  outermost  !ing.crs  is  thm  40 
users  may wanllo make line lranslaling manipulations with 
the  central  lingers.  i.e ..  index.  middle.  and  ring.  while  the 
thumb and pinky remain stationary.  lfchangcs in distances or 
ang.lcs  between the ccntrnl  !ing.crs nnd the  thumb were avcr-
ag.cd  with  Equations  66-68.  this  would  not  be  possible  45 
because ccnlral  linger  translations  would  cause  the appear-
ance  of rotation  or  scaling  with  1-especl  lo  the  stationary 
thumb  or  pinky.  !lowcver.  Equmions  56-60  applied  in  the 
thumb  verification  process  nrc  only  sensitive  to  synunctric 
rotmion and scaling about n  !ix<.-d  point  between the !ing.crs.  '0 
"!.hey approach zero if any signilicanl whole hand translation 
is  occurring or the linger motions ;u-e nol  complementary.  In 
cnsc  the  user  fails  to  properly  move  the  outermost  !ingcr 
during. a rotmion or scaling g.csturc. step 531  uses equations of 
the approximmc fonn ofl:quations 56-60 to compute rotmion  '5 
and  scaling  velocities  between  the thumb and  any  touching 
lingers other than the outermost. The resulting velocities are 
prefcrnbly combined with the  results of Equmions 66-68 via 
a mnximum opcrmion rmhcr than an nveragc in cnsc trnnsln-
tional motion causes the lixL'<i  point rotations or seatings lo he  60 
zero.  Finally. decision diamond 5J2 orders a check  ll1r  radial 
Step 546 decreases the lranslation wcighlings  ll1r  the ccn-
lral lingers during hand scalings and rotations. though it  does 
not  prevent the central !ing.crs li"om mnking.  !inc trnnslmional 
manipulmions while the thumb and pinky nrc  stationnry. The 
l(mnulas below  accomplish this  scamlessly  by  downscaling 
the cenlral!ranslalion  weightings  as  the  magnitudes  of the 
rowtion nnd scaling velocities become sig.n.i!icant  compnrcd 
f"i, .. [n[X             
Fi.,                      +111"1"11 
                  .,,,,.,, 
[II[=               +111"1"11  + [l/,.[11][ 
17111 
1711 
where these equations ;u-e applied only lo the central  lingers 
whose identities i are he! ween the inncmmsl and oulennosl. 
Note that since hand scaling docs no!  cause much horizontal 
translation bias. the horizontaltrnnslmion weighting. Fi,, ,[n I 
need not  bcnffcctcd by  hand scnling. velocity ll,,[n]. ns  indi-
ca!<--d  by  the lack of a hand scaling term in  l;qualion 70.  The 
lranslalion weighlings of the inncmmsl and oulcmmsl lingers 
nrc unchanged by the polar component sp<.-cds.  i.e ..  !'I,,.,[ n] 
Fl,,Jn]  !'l,.,[n]  nnd  !'O,,[n]  !'O,,,[nl  !'O,,[n].  Step 
or rolalional deceleration 5J4 during motions prior lo linger 
Jill off  The method fordct<..>cting.  rndinl or rowtionnl dccelcrn-
tion  is  the snmc ns  thnt  dcwilcd in  the  description of trnnsln-
tion exlraclion. 
I'Ki.  J7  shows  the  details  of hand  lranslalional  \elocily 
measurements  referred  to  in  process  506  of FIG.  34.  The 
65  548  !innlly  computes  the  hnnd  trnnslntion  velocity  vector 
(ll,.,[nJ.II,.,.[nJ)  limn  the  weigh!<--d  average  of  the  linger 
velocities: 
us 7,812,828  82 
45 
17"1 
1731 
"111c  last  part ofthc translmion cn!culmions is to test  for the 
lateral dccdcralion of the !ingcrs hdlm:: lilloJL which reliably 
indicates  whether  the  user  wishes  cursor  motion  lo  slop  a! 
li!loff  !fdccdcralion is  not  de!cclcd prior lo  !i!lofL the user 
mny  intend cursor motion to continue nlicr liftoff. or the user 
mny  intend  a  special  "one-shot"  conummd  to  be  invoked. 
Decision  dimnond  550  only  invokes  the  dccdcration  tests 
while  !Inger  proximitics  arc  no!  dropping  too  quickly.  to 
prcn::nl  the  pcJ1urhations  in  linger  centroids  which  can 
accompany  linger  li!iolf li'llm  in!erlCring with  the dccdcra-
tion measurements. Step 551  computes the pcrccntngc ncccl-
crmion or ratio ofcurrcnttrnnslmion speed I  I I,,[ nl.! I, ,.J nl)lto 
a  pas!  mcragc  translation  speed  prckrably  computed  by  a 
moving  window  average  or  autoregressive  !!her.  Decision 
diamond 552 causes the translation deceleration flag lobe sci 
556  if 1hc  accelcrmion  rmio  is  less  than a  !hrcshold.  If 1his 
1hrcshold  is  sci  g.rcmcr  !han  one.  the  user  will  have  to  be 
accelerating the lingers jus! prior lo  li!ioff ll1r cursor motion 
lo  continue.  If the  threshold  is  sci  jus!  below  one.  cursor 
mo1ion  will  reliably  be continued  as  long as 1hc  user  main-
wins  a  conswm  lateral  sp<..-cd  prior  to  lilioJI  but  if 1hc  user 
begins to  slow 1hc cursor on approach to  a  large!  area of the 
display  the  deceleration  flag  will  he  sci.  Decision diamond 
554 can also cause thcdccelcralion flag lo he sci if the ctuTcnl 
1ranslmion direction is substamially different Jh.1m an average 
of pas! directions. Such change in dir<..><::lion  indicmcs 1hc hand 
motion  lrajcclory  is  cuning.  in  which  case  cursor  motion 
should no! be continued alkr lillolfhL><::ausc accurately dc!cr-
mining  the  dirL><::Iion  lo  the  user's  intended  large!  becomes 
vet)' dillicuh.  If nci1hcr dccelcrmion  nor curved 1rajcctorics 
arc dc!cc!cd. s1cp 558 clears the 1ranslmion d<..><::clcralion  Hag. 
This  will  enable cursor motion nmlinualion  should  the  !in-
gcrs  subsequently  begin  lilloll  No!c  that  decision diamond 
550  prevents  the  slate  of the  translation  deceleration  !lags 
from changing during lilloffso 1hat1hcdccision allcr lilioll"!o 
cominuc cursor mo1ion  depends on 1hc  stmc of1hc decelera-
tion  flag         Iillo!"!" began. The !ina!  step  560 updates  the 
autoregressive or mm ing window  average oft he hand lrans-
lalion velocily V<..><::lor.  which can b<..><::omc  !he veloci1y of con-
1inucd  cursor  mo1ion  after  lilloff  .. \clual  gcncrmion  of the 
cominucd cursor mo1ion  signals occurs  in  the  chord mo1ion 
rL><::ognizcr  18 as will he discussed with  l'Ki. 40. 
' 
"' 
46 
Pal.  No.             which  if enabled  ll1r  low  linger  speeds 
will undesirably continue mo1ion when a user dccelcrmcs on 
approach to  a large target  but  JUils  10  slop complc!Cly  bclixc 
liliing off.  l'crccnlagc  accclcrmion  also captures  user  intent 
more clearly than positionofa linger in a border area. Position 
of a linger in a hon.krarca as  usL-d  in  U.S.  Pal.  No.           
to Gillespie c1  a!.  is ambiguous because 1hc cursor can reach 
its  desired  target  on 1hc  display jus!  as  the  linger cmcrs 1hc 
border. yc!  the touchpad de\ icc will continue cursor motion 
past the large! hL><::ausc it thinks the linger has nm out of space 
to  move.  In  the  present  imcnlion.  on  the  other  hand.  the 
acceleration rmio will remain ncar one if1hc lingers can slide 
oil" 1hc  edge  of the  sensing array  witholl1  hilling  a  physical 
barrier.  sensibly  invoking  motion  ctmlinualion.  But  if the 
15  lingers dL><::clcralc  hcl(Jrc  crossing or slop on the edge of the 
sensing array. 1hc cursor will  slop as desired. 
The  dcwils  of  the  dilkrcntial  hand  pressure  extraction 
process  508  arc  shown  in  FIG.  38.  Fingertip  proximity. 
quickly  saluralcs when pressure is appliL-d  through the bony 
""  tip nonnal!o a hard surliJCc.  Unless the surli1cc itself is  highly 
compliam.  1hc  bcs1  dynamic  range  of lingcnip  pressure  is 
obwincd with  the  lingers  outs1rc1Chcd  and  hand  nearly  Hm-
lcncd  so  thai  the compressible soll  pulp  underneath  the Jin-
gcrlips rests on the surface.  DL><::ision  diamond 562 thcrd(Jrc 
""  causes the tilt  and roll  hand pressure components to he scllo 
zero  in  s1cp  564 and  pressure cxtrac1ion  to  abort  unless  the 
hand is  nearly !lal1cncd. lnhcrcm in 1hc !cst!(Jr hand !lal1cning 
562 is a linger counllo ensure that most of the Jive lingers and 
both  palm  heels  arc  touching  the  surli1cc  lo  maximize  the 
30  precision ofthc hand pressure measurements. though tcchn.i-
cally only  1hrcc  non-collinear hand contacts arranged  like a 
tripod arc necessary 10  establish till and roll  pressures.  Deci-
sion  diamond  562  can  also  require  the  user  to  explicitly 
enable three-dimensional manipulation with an intuitive gcs-
35  lure  such  as  placing  all  live  lingers  on  the  surJUcc  bric!ly 
tapping 1hc  palm heels on 1hc sur!Ucc.  and  linally rcs1ing the 
palm heels on the sur!Ucc.  J)ccision diamond 566 causes step 
568  to  capture and store rdl:rcncc proximitics  l(H  each con-
lac! path when the proximity of all conlacls have stabilitcd a! 
40  the  end of1his  ini1imion  S<..'<.JUCncc.  The 1ih  and roll  pressure 
components  arc again  tcrocd 564  for  the  sensor array  scan 
cycle during which  this  calibration is  pcrllmnL-d. 
I lowe\ cr.  during subsL'<.jUCnl  scan  cycles  the user can  tilt 
the hand  J(m.vard applying more pressure to the Jingcrlips or 
45  backward  applying  more  pressure  to  the  palm  heels  or the 
user can roll  the  hand outward omo the  pinky and outer palm 
heel  or inward applying more  pressure  to  the  thumb.  index 
linger and inner palm heel.  Step 5170 will  procL'L""<i  lo  calcu-
lmc  an  unwcigh1<..-d  average of the current  comac1  positions. 
'0  S1cp  572 computes  Jix each  hand pari  s!illtouching 1hc  sur-
JUcc  the  rmio of currcm proximity 10 1hc rcll:rcncc proximi1y 
pre\ iously slorL-d. To make these ratios less scnsili\c lo acci-
dcn!allilling of hand parts. step 574 dips them lobe greater 
or equal  to  one so only  increases  in  proximity and pressure 
'5  register  in.  the  till  and  roll  measurements . .-\.Jlo!hcr  average 
conlacl path position is compu!cd in  step 576. hut  this one is 
wcigh!cd  by  the  abmc computed  proximity  ratios  l(H  each 
path. rhc dilkrcncc he! ween these weighted and unwcigh!L'<i 
contact position averages wkcn in s1cp 578 produces a vcc1or 
Note that  this cursor motion continuation nwthod has  sev-
eral ad\ anlages over motion ctmlinualion mc!hods in  related 
art. Since the  decision  to continue mo1ion depends on  a  pcr-
ccnwgc  accelcrmion  which  inherently  normalizes  to  any 
speed  range.  the  user  can  intentionally  invoke  motion  con-
tinuation  Jium  a  wide  range  of speeds  including  very  low 
speeds.  "llllls  the  user can directly  invoke  slow  motion  con-
1inualion 10 mno scroll a document a!  readable speeds. This is 
no11ruc  of\Vmanabc's  mc1hod  in  U.S.l'a1.  No.  4.734.685.  65 
""hich only continues motion when the        motion cxccL-ds 
60  whose  dircc1ion  can  indicmc 1hc  dir<..><::lion  of roll  or  till  and 
whose magnitudcc;m control the ralcofroll or tilt about x and 
y axes. 
Since 1hc weighted and  unwcightcd  posilion averages arc 
only  in!lucnccd  by  positions of currently  conwc1ing  lingers 
and increases in contac1  pressure or proximity. the  method is 
insensitive  to  linger            Cmnpulalion  of rcJ"crcncc-nor-
malitL-d  proximity  ratios  in  step  572  rather  than  absolu!c  a high  spcL-d  threshold. nor of l.ogan cl a!. 's n1cthod  in  U.S. 
us 7,812,828  82 
47 
changes  in  proximity  pn  .. '\cnls  the  large  palm  heel  conlacls 
from  having undue  inHucncc on  the weighted  average  posi-
tion. 
Since  only  the  current  contact  positions  arc  used  in  the 
mcragc position cmnpulations. the roll and tilt vector is indc-
pcmk:n! of!atcral motions such as hand translation or rotation 
48 
Step 512 takes a second pass with a related !!her known as 
n  dead-tone  !i!tcr  .. \dead-zone  !iller  produces  zero  output 
velocity  Jix  input  velocities  less  thnn  a  speed  threshold  but 
produces  output  speeds  in  proportion  to  the  dilkrcncc 
'i  between the input spL-cd  and the threshold ll1r  input \docitics 
that  exceed the  threshold.  Prckrahly  the speed  threshold  or 
width of the dcnd zone is set ton frnction of the mnximum of 
current  component  speeds .. \ll velocity  components  arc  !i!-
as long as  the  lateral  motions do not  disturb  Hng.cr  pressure. 
thus once again achieving integrality.  I lowcvcr. hand scaling 
and differential hand pressure nrc  dillicu!t to  usc at  the  same 
time because Hexing the  !ingcrs generally causes signilicanl  lCJ
decreases  in  Jingcrlip  conlacl  area  and  thus  intcrkrcs  with 
inference ofHngcrtip pressure changes. When this becomes a 
serious problem. a tow! hand pressure component can be used 
tcrcd  using  this  same  dead  zone  width.  The !ina!  extracted 
component velocities arc llHv.ardcd to  the chord motion rcc-
ognitcr module  18  which  will  determine  what  if any  input 
events should be  gcncrmcd li"om  the  motions. 
]-'](j.  39.-\  shows  the details of the  !ingcr synchronization 
dclL-ctor  module  14.  The synchnmi111tion  detection  process 
described  below  is  repeated  !l1r  each  hand  independently. 
Step 600 !Ctchcs proximity mnrkcrs and idcntiEcntions for the 
hand's current paths. The idcntiEcations will be ncccssm)' to 
ignore palm pmhs and idcntil)' combinations of synchronized 
lingers. while the proximity markers rL-cord  the time at which 
as  a  sixth  degree  of frc<..'dom  in  plncc  of the  hnnd  scnling 
component.  This  total  pressure  component  causes  cursor  l'i 
\docity  along  a  z-axis  in  proportion  to  deviations  of the 
avcrngc of the contnct proximity ratios li"om  one . .-\ltcrnmivc 
embodiments  mny  include  li.mhcr  enhancements  such  ns 
adapting the rc!Crcncc  proximitics to  slow  \ariations  in  rest-
ing  hand  pressure and applying  a  dead  zone !!her to  ignore 
pressure di!krcncc H.-ctors with small magnitudes 
""  each  contact  path  !irs!  cxcc\.:ds  a  press  proximity  threshold 
nnd the time nt  which each contnct pnth drops below a rclcnsc 
proximity  threshold  prior to  totnllilloll'  Setting these  prox-
imity  thresholds  somLwhat  higher  than  the  minimum  prox-
imity considered signi!icant by the segmentation search pro-
"-'  cess  264.  produces  more  precise  !Inger  press  and  release 
times. 
Despite the care tnkcn to measure the polar velocity.  trans-
lation velocity. nnd hnnd  pressure components in such n wny 
thm  the  rcsuhnnt  vectors  nrc  independent  of one  another. 
uneven linger motion during hand scaling.  rotation. or trans-
lation can still cause minor perturbations in measurements of 
one degree of li"ccdom while primarily attempting to move in 
another.  Non-linear Ehcring npplicd  in  steps 510 and 512 of 
F!(i.  34  J"C!llllvcs  the  remaining  motion  leakage  hetwL-cn 
dominant components and nearly stationary components.  In 
30 
steps 510 each component velocity is downscaled by the ratio 
Step 603 searches Jix subsets ofEngcrs which touch down 
at about the same time and !l1r subsets oflingcrs which li!l off 
at about  the same time. This can he done by  recording each 
Enger pnth along with  its  press time  inn tcmpornlly ordered 
list  us  it  crosses  the  press  proximity  threshold.  Since  the 
primal)' li.mction oft he palms is to support the Jixcnrms while 
the hands arc resting. palm activity is ignored by the typing 12 
and  chord  motion  rccognizcrs  18 except  during  di!krcntial 
hand  pressure  cxtrnction  nnd  pnlm  heel  presses  can  be 
excluded li"om  this list  and most other                  tests. 
'](J  check  for  synchronization  between  the  two  most  recent 
linger presses. the press times of the two most  recent entries 
in the list arc compared.  If the dif!Crcncc between their press 
times is  less thnn a temporal threshold. the  two !ingcr presses 
nrc  considered  synchronitcd.  If not.  the  most  recent  !ingcr 
press  is  considered  asynchronous.  Synchronitation  among 
thrL-c  or more !ingcrs up  to  li\c is  !(mnd by  comparing press 
times of the three.  llmr.  or li\c most recent  list entries.  If the 
press  time  of  the  most  recent  entry  is  within  n  temporal 
threshold oft he nth most r<.x:cnt cnt!)'. synchronitnt ion nmong 
of its  nverngc  spcL'<i  to  the  mnximum  of all  the  component 
speeds.  the  dominnnt component speed: 
(  11,--,..-,dll!  r' 
1741 
II, ]11]:  =  II"]II]X 
              
(  11,--,.  . ,]11]  r' 
1751 
II" ]11]:  =II., ]II]X 
              
(                )'"'' 
1761 
11"]11]:  =  11"]11]" 
                
(             )'"'' 
1771 
11"]11]:  =11.,]11]><  . 
                 
where  !l,,.,,ccdfnl. !l,,,.cdfnl. and  !l,,,,.cdfnl  nrc  mnorcgrcs-
sivc  nveragcs  over  time  of  the  trnnslmion  speed.  scnling 
speed. and rotational speed. where: 
<lonuuanl          fll.!X(II,,,w,dln].ll,,,  ,.,,!n]. 
I 1,
1
,",1 n ]I 
where pds controls the strength of the !iller  . .-\s pdy is adjusted 
towards inlinity the dominant component is  picked out and all 
components less  than  the dominant tend toward zero produc-
ing the orthogonal cursorclkct wdl-kmw.n in drawingappli-
cntions . .-\s  pds  is  ndjustcd  townrds  zero  the  !iltcrs  have  no 
elk-ct.  l'rc!Crably.  pds  is  set  in  between  so thm  components 
signilicantly slower than the dominant arc slowed !lu1hcr. but 
components  close  to  the  dominant  in  spL-cd  arc  barely 
all<..x:t<.-d.  preserving  the  possibility  of dingonnl  motion  in 
multiple degrees of li"ccdom at once. The mnorcgrcssivc aver-
aging helps to  pick out the component or components which 
arc dominant mer the long tcm1 and suppress the others even 
while the dominant components arc slowing to a  stop. 
35 
" 
45 
then most rL-ccnt  linger presses is indicalL'd. '!l1 accommodate 
imprL-cision  in touchdown across the hand.  the magnitude of 
the  tcmpornl threshold should incrcnsc slightly in  proportion 
'0  to the numbcrof!ingcrs being tested for                   The 
lnrgcst set of recent !ingcr presses found to be synchroniz,-d is 
recorded as the synchronitcd subset. and the combination of 
linger identities comprising this subset is stored comcnicntly 
ns  a  Enger identity  bitEeld.  The term  subset  is  used  bccnusc 
'5  the  synchronized  press  subset  may  not  include  nil  Engcrs 
currently  touching  the  surfi1cc.  as  happens  when  a  !Inger 
touches down much earlier than the other !ingcrs yet remains 
touching as thLy  simultaneously touch down.  An ordered list 
of Enger relcnsc  times  is  similarly  maintained  and scnrchcd 
60  scpnrately . .-\ltcrnmivc embodiments mny require that n !ingcr 
still  be  touching  the  surli1cc  to  he  included  in  the  synchro-
nized press subset. 
Decision dinmond  602  checks whether n synchronization 
marker is  pending li"om  a previous  image scnn cycle.  If not. 
65  decision diamond 604 checks whether the search 603 ](lund n 
nLwly  synchronitcd  press  subset  in  the  current  proximity 
image.  If so.  step  606  sets  the  IL'mporal                 
us 7,812,828  82 
49 
marker to  the oldest press within the nL'\\"  synchroniA:d sub-
set.  Additionnl  Hng.cr  presses  may  be  nddcd  to  the  subset 
during  future  scnn cycles without nffccting.  the value of this 
temporal  synchronization  marker.  If there  is  currently  no 
!Inger  press  synchroni/alion,  decision  diamond  605  deter- 'i 
mines whether three or more lingers  have just  been released 
simultaneously. Simultnm.ous rdcnsc of three or more Hngcrs 
should not occur while typing with n set  of !ing.crs  but  docs 
occur when !i!ling !ingcrs olrthc sur bee li'llm rest.         
simultaneous  release of three or more  lingers  reliably  indi- lCJ
cates that the released  !ingcrs arc not  intended as kcyprcsscs 
and should be deleted from  the keypress queue 605.  regard-
less  of whether  these  snmc  lingers  touched  down  synchro-
nously.  Release synchroni121tion oflwo !ingers is nol by itself 
a  reliable  indicator of typing inlcnl and  has no eflCct  on  the  15 
keypress  queue.  The  keypress  queue  is  described  later with 
!-'IGS.  42-4JB. 
Once a press synchronization marker for  the hand is pend-
ing.  !i.u1hcr  processing checks  the  number of !Inger presses 
which arc synchroni/L-d and wails ll1r  release of the synchro- "" 
nizcd  ling.crs.  If decision  diamond  608  linds  three  or  more 
lingers in  the  synchronized press subset the user camlllt pos-
sibly he typing with these lingers. "!.hercl(Jrc  step 612  imme-
diately deletes  the three or more synchroni1cd  presses  limn 
the keypress queue. This way llu:y cannot cause key  symbol  "5 
trnnsmission  to  the  host.  nnd  transmission  of key  symbols 
from subsequent nsynchronous presses is not blocked wniting 
ll1r  the synchronizL-d  lingers lo be  released. 
llowcvcr. when the                   only invohes lwo !In-
ger  presses  608.  it  is  dillicult  to  know  whether  the  user  30 
intended  to  tap  n  linger  pnir chord  or imcndcd  to  type  two 
adjaccm  keys  and  accidcntnlly  let  the  key  presses  occur 
simultaneously.  Since  such accidental  simuhanLous  presses 
arc  usually  !(JIIowL-d  by  asynchronous  releases  of the  lwo 
lingers.  but  linger pnir chords arc  usunlly  released  synchro- 35 
nously.  the  decision  whether  the  presses  nrc  asynchronous 
key taps or chord taps must be delayed umil  linger release cnn 
he  checked  ll1r                    In  the  meantime.  slcp  610 
places a hold on the keypressqucuelo prL'\enllransmission of 
key symbols from the possible linger chord or any subSL'<.JUC!ll  40 
linger presses. "](J  prevent  long.  backups in  key  trnnsmission. 
decision diamond 614  will  e\enlually release the queue hold 
by having step 615 delete the synchronized presses  !i-om  the 
keypress queue  if both  !ingcrs  remain  touching a  long lime. 
Thoug.h  this  abons  the  hypothesis  thm  the  presses  were  45 
intended ns key taps.  the  presses nrc nlso less likely  to be  key 
laps  if the lingers arc nolli!k-d soon a!ier touchdown. 
50 
laps.  the synchronized  !ingers cannot he held on the surbcc 
more than abom halfn second if they nrc to qualil)'. usn chord 
tnp.  Decision dimnond 626 tests tills by thresholding the time 
between the release of the last  rcmni1llng synchronized ling.cr 
and  the temporal press  synchronil<llion marker. :\ chord lap 
slllmld also exhibit a limited amount of lateral !Inger motion. 
measured  either as an average of peak  linger spcL-ds  or dis-
tnncc  trnvelcd since  touchdown  in  dL>cision  diamond 628.  If 
the quick release and limited lateral motion conditions nrc not 
met.  step  624  clears  the  synchronitmion  mnrkcr  with  the 
conclusion lhallhe synchroni1L-d !ingers were eilherjusl rest-
ing !ingers or pan of a chord slide. 
I ftheclmrd lap conditions arc met. step 6JO looks up. using 
the  synchroni1L-d  subset  billield.  any  input  events  such  as 
mouse clicks or kcybonrd commnnds assig.ncd to the combi-
nation of lingers in the chord wp. Some chords such us those 
includingniii(Jur ling.cnips may be reserved as resting chords 
634. in which case dL>cision  diamond 6J2 will  !ind they  ha\e 
no  associalL-d  input  e\enls.  If the chord  docs  ha\e lap  input 
events.  step  6J6  appends  these  lo  the  main  outgoing  event 
queue  of the  host  communication  imcrlUcc  20.  Finnlly  step 
624 clcnrs the synchronization marker in readiness llx li.Jturc 
linger synchronizations on the  given hand. 
As  a  funhcr  prL>caulion  against  accidental  generation  of 
chord laps while typing. it  is also uscli.!l  ll1r decision diamond 
6.U lo ignore through step 634 the !irsl chord lap which comes 
soon alicr a vnlid keypress without a chord slide in  between. 
Usunlly nlkr typing. the user will need to reposition the mouse 
cursor hcll1rc clicking. rL'<.juiringan inlcneningchord slide. If 
the mouse cursor happens lo already be in place alkr typing. 
the user may ha\e lo lap the !Inger chord a SL>cond  lime !l1r the 
click to be sent. bm tills is  less risky  thnn havingnn nccidcmal 
chord  tap  cause  an  unimcndL'<i  mouse  bunon  click  in  the 
middle of a  typing session. 
I'J(j,  40:\  shows  the  detailed  steps  of the  chord  motion 
rccogni1er module 18. n1e chord motion rL>cognilion process 
described  below  is  repented  lix  each  hnnd  independently. 
Step  650  retrieves  the  parmnetcrs  of the  hand's  idcmilicd 
paths 250 and the hand's extracted motion components from 
the motion extraction  module  16.  If a  slide of a  linger chord 
has  nol  already  sl;u1L"d.  decision  diamond  652  orders  slide 
initimion tests 654 nnd 656. "](J distinguish slides from glnnc-
ing ling.cr tnps during. typing.. decision diamond 654 requires 
alleasllwo lingers from a hand lo he touching the surliJCc  ll1r 
slide mode lo stan. rhcre may be some exceptions lo this mlc. 
such  as  allowing  a  single  !Inger  lo  resume a  previous  slide 
within n second or so after the previous slide chord !ills oll"thc 
,
0 
surlUcc. 
If the  synchnmiZL-d  !ingers  arc  nol  lilling.  decision  dia-
mond 616leavcs the synchronization mnrkcr pending so syn-
chronization  checks  cnn  be  cominucd  with  updatL'<i  pnth 
pnramcters 600 nlkr the next scan cycle. If the  synchronized 
!ingers  arc  lilling.  hut  decision diamond  618  !inds  with  the 
help of the synchroni1alion  release search 60J lhallhLy are 
doing. so usynchronously 618. step 622  releases any holds on 
the  keypress  queue  nssuming  any  synchronizL'<i  ling.er  pnir  '-' 
was intended lo he lwo kLyprcsses. Though the synchronized 
!Inger presses arc nol  deleted from  the keypress queue allhis 
point.  they  may  ha\ealrcady  been deleted  in  step 612  if the 
pressed subset contnincd more than two .. \!so. step 624 clcnrs 
the temporal synchronitntion marker.  indicming.  thm  no li.1r- 60 
!her synchroni1alion tests  need he done  !lH  this subset. 
("onlinuing lo 1:1c;.  J91S.  if the !ingers synchronized during 
touchdown nlso  Jill  simulwncously.  step  618  removes  them 
and nny  holds  li"om  the  keypress queue  in  cnsc  they  were  a 
pnir nwaiting. n positive relcusc synchronization test.  l'unhcr  65 
tests  ensue  lo  determine  whether  the  synchronized  !ingcrs 
meet  additional  chord  lap  conditions.  :\s with  single  linger 
Inn  prdCrrL'<i  embodiment.  the  user cnn  start  n  slide nnd 
specify  its  chord  in  either of lwo  ways.  In  the  !irsl way.  the 
user  slans  with  the  hand  !loaling ahmc the  surliJCc.  places 
some  ling.crs  on  the  surlUcc  possibly  asynchronously.  nnd 
begins moving. nil of these lingers latcrally.J)ccision dinmond 
656  initiates the slide mode only when signilicanl motion  is 
delL>cted in all the touching !ingers. Step 658 selects the chord 
li-mn  the  cmnhinalion  of !ingers  touching  when  signi!icanl 
motion is detected. rcg.ardless oftouchdown synchronitmion. 
In  this  case cohercm  initimion of motion  in  all  the touching 
lingers  is  su!licienl  lo distinguish  the slide !ium resting lin-
gers. so synchroni1alion of touchdown is  nol nL>cessary.  Also. 
novice  users  may erroneously  tl)'  to  start  n  slide by  placing 
nnd  sliding.  only  one  ling.cr  on  the  sur!Ucc.  forg.cning  that 
multiple  lingers  arc  ncccssal)'.  "](J!ernncc  of nsynchronous 
touchdown allows  them lo  scamlcssly coJTL'Cl  this  by subse-
quently placing and sliding the rcsl  of the !ingers desired  !l1r 
us 7,812,828  82 
51 
the chord. The slide chord will  then  initiate without  l(Jrcing 
the user to pick up nll Hngcrs nnd swrt over with synchronized 
!ingcr touchdowns. 
In  the  second  wny.  the  user  stnrts  with  multiple  lingers 
n::sling on the surli1cc. !i!is a subset of these !ingcrs. !ouches a  'i 
subset  back down on the surbcc synchronously lo sdccl the 
chord.  and begins moving the  subset  laterally  to  initiate  the 
slide.  D<..><::ision  diamond 656 actually initimcs the slide mode 
when  it  detects  signi!icanl  motion  in  all  the  !ingcrs  of the 
synchronized  subscl.  Whe!hcr  the  !ingcrs  which  remained  lCJ
n::sling  on  the  surliJCc  during  this  sequence  begin  to  move 
docs not  matter since in  this cnsc  the selected chord  is  deter-
mined  in  step  658  by  the combination  of !ing.crs  in  the syn-
chnmizcd  press  suhseL  no!  li'llm  the  set of all  touching  lin-
gers. This SL"Ctmd way has the advantage that the user docs no!  l'i 
hnve tolili the whole hnnd from the surlUcc before sinning the 
slide.  bll!  cnn  ins! end  lcnvc  most of the  weight  of the  hnnds 
resting on the  surlUcc nnd  only lili nnd  press the  two  or three 
lingers necessary lo identify the most common linger chords. 
'!(J  provide greater tolerance !(Jr accidental shills in  resting  "" 
linger positions. decision dinmond 656  requires both thnt  nil 
rclcvnm  lingers nrc moving nl  signi!icnnl speed nnd 1hn11hcy 
arc moving about  the same spel.:d.  This  is  checked either by 
thresholding  the geomclric  mean of the  linger  speeds  or  by 
thresholding the fastest  linger's spL-cd  and \erifying that  the  "" 
slowest  linger's  speed  is  nl  lens!  n minimum  li"nction  of the 
fnstcst  linger's spL>cd.  Once n chord slide is inilintcd. s1cp 660 
disables recognition of key or chord laps by the hand a!  leas! 
until either the touching lingers or the synced suhsc!  !ills o!f 
52 
cursor accdcralion  paramclers  ll1r  each  degree of li"L"Lximn. 
These will be  used 10  discrctizc motion imo 1hc unils such ns 
nrrow  key  clicks  or  mouse clicks  expected  by existing  host 
computer systems. 
Step 675 ofdmrd motion comersion simply picks the lirsl 
slice in the given chord aclivity slmclurc !(Jr processing. Step 
676  scnlcs 1hc  currcm  vnlucs  of1hc cxtrnctcd  vcloci1y  com-
poncllls  by  1hc  slice's  mo1ion  scnsitivi1y  nnd  nccelcrntion 
paramclcrs.  Step  677  geomclrically  projecls  or  clips  the 
scaled velocity components into the slice's ddinLxi speed and 
dirL-clion  range.  For  the  example  mouse  cursor  slice.  this 
migh1only  involve clipping the  rotmion  nnd  scnling compo-
nents  10  tcro.  But  for  nn  nrrow  key  slice.  the  trnnslntion 
velocity vcclor is projL-c!L-donlo the unit vcclorpointing in the 
same dircclion as the <llTOW.  Step  678  integrates each scak-d 
nnd  projected  component  velocity  over  time  in  the  slice's 
nccumulmors umil  dL>cision  dimnond 680 dc1cnnincs miens! 
one unil of motion hns  been nccumulntcd.  S1cp  682  looks  up 
the slice's  prdCrrcd  mouse.  kLy.  or three-dimensional  input 
even!  !lmnal.  allaches  the  number  of accumulated  motion 
units  10  the  cvem:  nnd  s1cp  684  dispntchcs  1hc  cvcm  10  the 
omgoing queue oft he hos1 commtmicntion intcrlUcc 20. Step 
686  suhlracls the sen!  motion events  li-mn  the accumulators. 
and  step  688  optionally  dears  the  accumulators  of other 
slices.  If the  slice  is  intendL-d  lo generate a  single kLy  com-
mnnd per hnnd motion. decision dinmond 689 will determine 
thnt  it  is  none-shot  slice so1hm step 690 cnn disnblc Ji.Jr!hcr 
even! generation from  it  until a slice with a dilkrenl direclion 
intenencs. If  the gi\en slice is the las! slice. decision diamond 
692  returns  to  s1cp  650  to  nwnit  1hc  next  scnn  of the  sensor 
nrrny  Otherwise s1cp  694 cominucs  to  imcgrntc nnd convert 
the  currcm motion lix o1hcr slices. 
Returning  lo  F!(j_  40A.  ll1r  some  applications  it  may  he 
desirable lo change the sdec!ed chord w hencvcr an additional 
!ingcr touches down or one of the !ingcrs in !he chord !ills oil". 
llowcvcr.  in  1hc  prcJCrrcd  embodiment.  1hc  selected  chord 
cnm1o1  be chnngL'd nlicr slide ini1imion  by nsynchronous En-
ger !ouch acli\ily. This gi\es the user  li-L"L-dom  lo  res!  or  Jill 
addition lingers as may he nL-cessary lo get the best precision 
inn desired degree of freedom.  For cxnmplc. even !hough the 
!ingcr pnir chord docs no1  include 1hc 1humb. 1hc 1humb cnn 
he  sci  down  shm1ly  alkr  slide  initiation  lo  access  the  !i.J!I 
dynamic rangeofthc rotation and scalingdcgrL-cs ofli"L"Lximn. 
In  liJCL  all  remaining  lined  lingers  can  always  he  sci  down 
Once 1hc slide in.itimcs.  the chord mo1ion recognizer could  30 
simply begin  sending rnw  componcm  vclocilics pnircd with 
1hc selected combinmion of linger idcntilics 1o1hc hos1.  I low-
e\er. in the interest ofhackward compatibility with the mouse 
and  kLy  e\enl  l(mJJals  of comcnlional  input  de\ ices.  the 
mo1ion event gcncrmion steps in  FIG.  40B conven motion in  35 
nny of1hc cx1rnc1cd degrees of li"ccdom  into swndnrd mouse 
nnd key conunnnd events which depend on  the  idcmity of the 
sdec!cd chord. 'Ill support  such motion conversion. step 658 
linds  a  chord  acli\ily  slmclurc  in  a  lookup  table  using  a 
bit!icld of the  idcnti1ics of ci1hcr 1hc  touching  lingers or the  40 
lingers  in 1hc  synchronized.  subsc1.  DillCrcm  linger  idcmity 
combinations can re!Cr!o the same chord aclivity slmclurc. In 
the  pre!Crrcd  emhodimcnl.  all  linger cmnhinalions with  the 
same numhcrofnon-lhumh lingcnips rcJCr lo the samedmrd 
nctivi1y  stmcturc.  so slide  chord nc1ivitics  nrc  dis1inguishcd 
by whether the 1humb is 1ouching nnd how mnny non-thumb 
lingers are touching.  !Sasing chord aclion  on  the number of 
linger! ips  rather  than  their combination  still  prmides  up  lo 
seven chords per hnnd yc1  mnkcs chords cnsicr for !he user to 
memorize nnd  perform. The user hns 1hc  freedom  to  choose  '0 
nnd  vmy  which  linger! ips  nrc  used  in  chords  requiring only 
one: two or three  linger! ips.  (iivcn  this  li-eL-dom.  users  natu-
rally  tend lo  pick combinations  in  which all touching linger-
lips nrc  ndjnccnt  rmhcr 1hnn  combinmions  in  which  n linger 
such  ns  the  ring  linger  is  lifted  bm  the  surrounding  lingers  '5 
such as the middle and pinky  must !ouch.  One chord  typing 
study l(mnd that users can lap these linger chords in which all 
pressed  lingerlips arc adjacent twice as  li1sl  as other chords. 
45  nlicr  inilintion  of nny  chord  10  nl!ow  mnnipulmion  by  the 
whole  hnnd.  LikLwisc.  nil  lingers  but  one  cnn  be  lifted.  yet 
translation will ctmlinue. 
"ll1c  cvems  in  cnch chord  nctivily  structure nrc  orgnnizcd 
into  slices.  Ench  slice  contnins  events  to  be  gcncrntcd  in  60 
response lo  motion in a panicular range of spcL-ds and dirL-c-
tions within the exlrac!cd degrees of li"L"L-dmn.  !'or example. a 
mouse cursor slice could be nllocmcd nny 1rnnslmionnl speed 
nnd  dircc1ion.  However.  tcx1  cursor  mnnipulmion  requires 
four  slices.  one  lix cnch  nrrow  key.  nnd  cnch  nrrow's  slice  65 
integrates  motion  in  a  narrow  dirL-clion  range of translation. 
I Oach  slice c;m  also  include  motion  sensili\ ity  and  so-called 
t-hough asynchronous linger !ouch aclivity is ignored. syn-
chronized liliing nnd pressing of muhiplc !ingcrs subsequent 
to  slide  inilintion cnn crcntc n new  synchroniZL'<i  subsc1  nnd 
chnngc  the  sclcc!cd  chord.  Pre!Crnbly  !his  is  only  nllowcd 
while the hand has paused hut its lingers are still resting on the 
smbce. I kcision diamond 670 will de!Lx:llhe nL'W  subset and 
conuncncc mo1ion  testing in decision dinmond 67J which  is 
nnnlogous  to  decision dinmond  656.  If signi!icnnt  motion  is 
!(mnd in all lingersofthc newly synchroni/L-d suhscL step 674 
will sdec!lhe new  subset as the slide chord and lookup a new 
chord  aclivity  slruclure  in  analogy  lo  step  658.  Thus  linger 
                 ngnin nllows !he user 10 switch ton dif!Crcnt 
nc1ivity  wi1hoU1  lixcing the  user to  lili 1hc  whole hnnd  from 
the surface.  Integral ion of velocity components resumes hut 
the  e\enls generated  limn  the  nL'W  chord  aclivity  slmclurc 
will  prcsumnbly be dif!Crcnt. 
It  is ndvnntngcous 10 provide visunlor nudi!O!)' lCcdbnck 10 
the  user  nboll!  which  chord  nctivily  Slrtlclurc  hns  been 
sek-c!L-d.  t-his can he accomplished\ isually by placing a row 
oflivc light cmilling diodes across the lop of the multi-touch 
us 7,812,828  82 
53  54 
surli1cc.  with  one  row  per  hand  to  he  used  on  the  surbcc. 
When entering slide mode. step 658 would turn on  a combi-
nntion  of these  lights  corresponding  to  the  combinmion  of 
lingers  in  the  sd<..><::tcd  chord.  Step  674  would  change  the 
combination of a c l i H ~  lights to  match the new  chord a eli\ ity  'i 
slmclurc  should  the  user  sdccl  a  new.  chord.  and  step  668 
would tum them olr  Similar lights could be cmulm<..'d on the 
host computer display 24.  The lights could also be  Hushed  to 
indicate the !Inger combination dc!cc!cd during chord laps in 
step 636. rhc imp!cmcnlalion l(Jrauditory !Ccdback would be  lCJ
similar.  except  light  cmnhinalions  would  he  replaced  with 
tone or tone burst combinations. 
sd<..>ct<.."t.!  chord.  The  user  then  n<..""L"t.! add  the  thumb  to  the 
surlUcc  when attempting rotation or scaling. 
Finger  chords  which  initially  include  the  thumb  can  be 
reserved  lix one-shot conunand gestures. which only gener-
ate  input  e\ents once  ll1r  each  slide  of a  chord  rather  than 
repeating transmission each time an additional unit of motion 
is detected.  For example. the co  nun  on editing commands cut. 
copy and  paste  can  be  imuitively  a!!ocat<..'d  to  a  pinch  hand 
scaling. chord tap. and anti-pinch hand scaling of the thumb 
and an opposing lingertip. 
FJ(j.  41  shows  the  steps  within  the  k<..y  layout  delinition 
and morphing process. which is  pan of the typing recognition 
module  12.  Step 700 retrieves at  system startup a  key  layout 
which has been pre-spcci li<.."t.!  by the user or manu bcturcr.   J"hc 
"111c nccumulmion nnd event gcncrmion process repeats Jix 
all array scan cycles until decision diamond 664 detects !i!loff 
by a!!  the  lingers  Jfom  the  initiating cmnhination.  Decision 
diamond  666 then checks  the  prc-lilioll" deceleration  Hag of 
the  dominant  motion.  component.  The  state  of this  Hag  is 
determined by step 556 or 558 of translation extraction (FIG. 
37)  if translation  is  dominant.  or by  corresponding !lags  in 
step  534  of polar  extraction.  If there  has  been  signilicant 
d<..>cclcration.  step  668  simply  exits  the  chord  slide  mode. 
setting  the  selected  chord  to  null.  If  the  Hag  indicates  no 
signilicant  linger dccdcration  prior  to  lilloll".  decision  dia-
mond 666 enables motion continuation mode ll1r  the selected 
chord.  While  in  this  mode.  step  667  applies  the  prc-!i!loff 
weighted average (560) of dominam component  velocity  to 
the motion accumulators (678) in place ofthc current veloci-
ties.  which  arc  presumably  tcro  since  no  lingers  touch  the 
surli1cc.  Motion continuation mode docs not stop until any of 
the remaining Hngcrs not in the synchronized subset arc lifted 
or more Hngcrs  newly touch down. This causes decision dia-
mond 664 to  become  false and nonnal slide activity with the 
currently  selected  chord  to  resume.  Though  the  cursor  or 
scrolling velocity docs not decay during motion continuation 
mode. the host compmcr can send a signa! instructing motion 
cominuation  mode  to  be  canceled  if the  cursor  reaches  the 
edge  of the  screen  or end of a  document.  Similarly.  if any 
lingers  remain  on  the  smbcc  during  motion  continuation. 
their translations can adjust the cursor or scrolling velocity. 
In  the preferred embodiment. the chord motion rccognizcrs 
for each hand li.mction indcpcndcm!y and the  inplll events lix 
each chord can he conligurcd independently. This allows the 
system  to  allocate  tasks  between  hands  in  many  dilkrcnt 
ways and to support a \aricty ofhimanual manipulations. For 
example. mouse cursor motion can be allocated to the linger-
tip p.1ir chord on both hands and mouse bun on drag to a triple 
lingcrlip chord on both hands. This way the mouse pointer can 
he  moved  and  dmg  with  either  hand  on  either  half of the 
surface. Primary mouse clicks would be generated by a tap of 
a Hngcrtip p.1ir on either half of the surface. and double-clicks 
could  be  C!'6onomica!!y  generated  by  a  single  tap  of three 
lingcrlipson thcsurli1cc. Window scrolling could he allocated 
to  slides of llmr lingers on either hand. 
15  k<..y  layout consists of a scl ofk<..y region data stmclurcs. J  Oach 
region has associated with it  the symbol or commands which 
should be scm to the host computer when the region is  pressed 
and coordinates representing the location of the ccmcr ofthc 
region on the surli1ce.  In the prcJCrr<.."t.!  embodiment. arrange-
""  men! oftlmse k<..y  regions containing alphanumeric and punc-
tuation symbols roughly corresponds to either the QWERTY 
or the Dvorak key layouts conunonon mechanical keyboards. 
In some embodiments of the nmlti-touch surbcc apparatus 
it  is advantageous to  he able to snap or morph the key  layout 
""  to the resting positions oft he hands. This is csp<..>cially  hdpli.ll 
lix multi-touch surlUccs  which arc  several  times  !a!'6Cr  than 
the  standard keyboard or key  layout. such as one covering an 
entire desk.  Fixing the k<..y  layout  in  one small  lix<.."t.!  area of 
such a  surliJCc would he inconvenient and discourage use of 
30  the  whole available sur!Ucc  area. To  provide  feedback  to  the 
user  abom  changes  in  the  position  of the  key  layout.  the 
position  of the  key  symbols  in  these  embodiments  of the 
multi-touch surbcc would not he print<.."t.!  permanently on the 
smbce.  Instead.  the  position  of the  k<..y  symbols  would  he 
35  rcprogranunably  displayed  on  the  surlUcc  by  light  emitting 
polymers.  liquid  crystaL  or  other  dynamic  visual  display 
means embedded in  the multi-touch sur!Ucc app.1ratus  along 
with the proximity sensor arrays. 
(jivcn  such  an  apparatus.  step  702  rctriL"\cs  the  current 
40  paths  from  both  hands and awaits  what  will  be  known  as  a 
lay om homing gesture.  If d<..>cision  diamond 704 decides with 
the help oL a  hand's synchronitation dct<..>clor  that  all li\e of 
the hand's  lingers ha\e just  been  placed on  the surli1ce  syn-
chronously. step 706 will ancmptto snap the key layout to the 
45  hand such  that  the hand's home  row  keys  lie  under the  syn-
chronized lingcnips. wherever the hand is on the sur!Ucc. Step 
706  retrieves the measured  hand ollScts  limn  the hand posi-
tion  estimator and  translates a!!  k<..y  regions  which  arc  nor-
mally typ<..'d  by  the  given  hand in  proportion to  the  measured 
'0  hand offsets. Note the currently mcasur<..'d  rather than Hhcrcd 
Alternatively.  mouse cursor manipulations could  be  allo-
cated as discussed above to the right hand and right halfofthc  '5 
surli1cc.  while  corresponding  text  cursor  manipulations  arc 
allocat<.."t.!  to chords on the !ell hand. !'or instance. !c!l lingcrtip 
pair mmcmcnt  would generate arrow  key  commands corre-
sponding  to  the  dir<..>ction  of  motion.  and  thr<..-c  Hngcnips 
would generate shift arrow combinations for selection oftcxt.  60 
estimates of offsets can be  used because when all !ivc Hngcrs 
are down  there  is  no danger of linger  misidentilication  cor-
mpting the measured oflScts. This proc<.."t.!urc assumes that the 
umranslat<..-d  locations of the  home row  keys arc the same as 
the  dcJUult  Enger locations  for  the  hand. 
J  kcision diamond  708 checks whether the lingers appear 
to  he in a neutraL  p;u1ially dosed posture. rather clos<.."t.!  than 
outstretch<.."t.!  or  pinch<.."t.!  together.  If the  posture  is  close  to 
neutraL step 710 may Ji.Jrlhcr oll"sct  the  keys nonnally typed 
by each !ingcr. which fort he most pan arc the keys in  the same 
column oft he linger by the measur<.."t.!  linger onSets. Temporal 
liltcring  of these  linger  onSets  over  se\era!  layout  homing 
gestures will  tend  to  scale  the  spacing  between colunms  of 
keys  to  the user's hand site.  Spacing between rows  is  scaled 
down  in  proportion to the  scaling between colunms. 
For  host  computer  systems  suppm1ing  manipulations  in 
three or more degrees of frc<.."t.!om.  a  !e!l  hand chord could he 
selected  to  pan.  zoom.  and  rotate  the  display  background 
while a corresponding chord in the right  hand could translate. 
resize and rotate a foreground object. These chords would not  65 
have  to  include  the thumb  since  the thumb  can  touch  down 
anytime  a!ler  initiating chord  motion  without  changing  the 
With  the key  layout  ll1r  the hand's k9s morph<.."t.!  to  lit  the 
size and current position of the resting hand. step 712 updates 
us 7,812,828  82 
55  56 
down or the surliJCc.  Decision diamond  752 checks whether 
the  p.1th  proximity  rcnchcd  a keypress  proximity  thresh  for 
the  Hrst  time  during.  the  current  sensor  array  scan.  If the 
proximity  has  not  reached  the  threshold  yet  or  hns  n!rcndy 
cxcecdL-d  it  prL'\ iously.  control  rctums  to  step  750  to  try 
kLyprcss  detection  on  the  next  recent  path.  If the  path  just 
crossed  the  keypress  proximity  threshold  decision  dinmond 
754 checks whether the  contact pmh  hns  bL-cn  idcntiHcd as n 
linger rather than a  palm. "Ill  give the users  the frcL-dom  rest 
the displayed  position of the symbols on the surli1ce.  so that 
the user will see thm the key layom hns snapp<..'d to the position 
ofhis hand. From this stage the user can begin to type and the 
typing recognizer 718 will usc  the morphcd key  region  loca-
tions to decide what h:y regions arc being pressed. '!-he layout  'i 
will remain morphcd this way until either the user pcr!lmns 
another  homing  gesture  to  move  it  som<..whcrc  else  on  the 
surface. or until  the user takes both hands olrthc surface Jix a 
while.  lkcisiondiamond 714will cn::ntually time out so that 
step 716 can rcsc!lhc layout to its delimit position in readiness 
ll1r  another user or usage session. 
lCJ the palms anywhere on the surface.  palm presses should not 
normally  cause  keypresses.  and  are  therdl1re  ignorLxi. 
.\ssuming. the path is  a !ing.cr.  decision diamond 756 clK>cks 
whether the hand the idcnti!iL'd !ing.cr comes from is currently 
perl(Hming a chord slide gesture or writing \ia the pen grip 
!-'or smaller multi-touch sur!Uccs in which the key layolll is 
permanently printed on the sur!Ucc. it  is ndvanwg.cous to g.ivc 
the  user tactile  !L'"l..xiback  about  the positions  of key  regions. 
I !owe\er. any tactile indicators placed on the surliJCc must  he 
cnrcfu!!y designed so as not  to  impede smooth sliding. ncross 
the  surface.  !'or  cxnmp!c.  shallow  depressions  made  in  the 
surface  ncar  the  center of each  key  mimicking.  the  shallow 
depressions common on mechanical keyboard key caps would 
cause a  vibratory washboard d!Cet as the hand slides across 
the sur!Ucc.  To  minimize such wnshboard effects.  in  the  pre-
ferred  embodiment  the  multi-touch surface  provides  for  the 
ling.ertips  of each hand a  single. continuous depression nm-
ning.  Jiom  the delimit  index  lingertip  location  to  the delimit 
pinky  ling.crtip  location. "!.his  corresponds on  the QWI ;R"!Y 
key  lnyolll  to  shn!!ow.  slig.htly  nrchcd  chmmc!s nlong.  home 
row from the 'T' key to the":" key fort he right hnnd.and from 
the  "A"  key  to  the  'T" kl:y  ll1r  the  !ell  hand.  Similarly.  the 
thumbs  c;m  each  he  provided  with  a  single  oval-shaped 
depression  m  their  default  locations.  s!nntcd  slightly  from 
vcrticnl  to mntch the dc!Uult  thumb oricntntion. These would 
prcfcrnbly  correspond  to  "Sp.1cc"  and  "BnckSpncc"  key 
regions llHthe right and !ell thumbs. rcspccti\dy. Such mini-
ma! depressions can taetildy guide users' hands hack to home 
row of the key  layout without requiring. users to look down m 
the  surface  nnd  witholll  seriously  disrupting.  Hng.cr  chord 
slides nnd  mnnipu!ntions on the sur!Ucc. 
"l11c  positions of key  regions olfhomc row can he marked 
by  other  types  of tactile  indicators.  Simply  roughening  the 
surface m  key  regions docs  not  work  we!!.  Thoug.h  humans 
cnsi!y dill"crcntintc  textures when sliding.  Hng.crs  over them. 
most  textures cannot  be noticed during quick  taps on a  tex-
tured region. Only rdati\dy abrupt edges or protmsions can 
15  hand conliguration. Asynchronous linger presses arc ignorL-d 
once these nctivitics hnvc stnrtcd. ns nlso indicated in step 660 
of FIG.  40.\. Assuming. such hnnd nctivitics nrc  not ongoing.. 
decision  dinmond  757  proceeds  with  dcbouncc  tests  which 
check that  the linger has touchL-d  the surli1cc  ll1r  at  least  two 
""  sensor array scan cycles and that it  had been offthesurli1cc ll1r 
several scan cycles before touching. down. The pmh  trucking. 
module (FIG. 22) faci!itmcs such lilioll" debouncing. by rcnc-
tivating in step 334 a linger's old path if the linger !ills olLmd 
quickly touches back down mer the same spot.  Upon !"Cacti-
""  vat ion the time stamp of the last !illoffby the old path must he 
prcscrvL-d  for  compnrison  with  the  time  stamp  of the  new 
touchdown. 
I fall of these tests arc passLxi. step 758 looks up the current 
path position (P,[ n J.P,.[ nJ).  and step 760 linds the kLy  region 
30  whose  rcl"crcncc  position  is  closest  to  the  !ing.crtip centroid. 
J)ccision dinmond 762 checks thnt the ncnrcst region is within 
n rcnsonablc distnncc of the !in g. cr. nnd if not causes the !ing.cr 
p1-css  to  be  ignorL-d.  Assuming  a  key  region  is  dose to  the 
linger.  step  764  cJ-cates  a  kLyprcss  dement  data  stmclurc 
35  contnining.  the  pmh.  index  identifier nnd  Hng.cr  identity.  the 
closest  key  rcg.ion.  and  n  time  stump  indicnting.  when  the 
Hng.cr  crossed  the  keypress  proximity  threshold.  Step  766 
then appends this dement data stmclure to  the tail of a  I'!FO 
kLyprcss  queue.  This  accomp!ishL-d.  processing  returns  to 
40  step 750 to  process or wnit  for  touchdowns by other Hng.crs. 
he  scnsLxi  by  the  users'  lingertips  under  typing  conditions. 
Therefore. n small  raised dot  like a Braille dot  is  Jixmcd on  45 
The  keypress queue cll"cctivcly orders  Hng.cr  touchdowns 
by when they pass the keypress transmittL-d to the host. I low-
ever. an dement's kLy  symbol is  not assurL-d transmission of 
the  host  once  in  the  keypress  queue.  Any  of a  number  of 
conditions  such  as  being.  part  of n  synchronitcd  subset  of 
pressing.  Hng.crs  cnn  cnusc  it  to  be  deleted  from  the  queue  top of the surface at  the  center of cnch key  region. The user 
rccei\es !L'"l..-dback on the accuracyofthcir typing strokes limn 
where on the lingertip a dot is  !Cit. "!.his  kL-dback can be used 
bell1re being transmitted to the host. In this sense the keypress 
queue  should  be  considerLxi  a  keyp1-css  candidate  queue. 
Unlike  the  ordered  lists  of !ing.cr  touchdowns  nnd  rdcnscs  to  correct  !ing.cr  nim  during.  li.Jturc  kcyprcsscs.  Since  sing.lc 
!ing.cr slides arc ig.norcd by the chord motion recognizer.  the 
user can also slide n !ing.cr nround the surface in tnctilc search 
'0  maintained  Jix cnch  hnnd  scpnrmdy  in  the  synchronization 
dck>ctor.  the  keypress  queue  includes  nnd  orders  the  !ing.cr 
touchdowns  from  both hands.  of a  particular key  region's  dot  and  then  tap  the  kLy  region 
when the dot  is llmnd. all without looking at the surliJCc.l ;ach 
dot should be just:  !arg.c enough to  be  ldt during. tnpping. bm 
not so !arg.c as to impede chord slides ncross the surface. Fvcn  '5 
if the dots are not  large enough  to  impL-dc  sliding.  they  can 
still  cormpl  proximity  and  lingertip  centroid  measurements 
by raising the lingertip  Jlcsh  near the dot  off the surbce thus 
locally  scparming.  the  Hcsh  from  the  underlying.  proximity 
sensing. electrode.  Therefore.  in  the  preferred  embodiment.  60 
the portion of each dot above the surbcc dielectric is made of 
a  comlucti\e  material.  "l11is  imprmes  capaciti\e  coupling 
betwL-cn  the  raised  !ing.crtip  Jlcsh  and  the  underlying.  ckc-
trodcs. 
l'!(j. 43:\ shows the steps within the keypress acceptance 
nnd trnnsmission loop. Step 770 picks the clement m the head 
of the  keypress  queue.  which  represents  the  oldest  !ing.cr 
touchdown which has neither been ddetL-d  li-om  the queue as 
an  invalid  kLyprcss  candidate  nor  transmittL-d  its  associatL-d 
kLy  symbol.  I kcision diamond 772 checks whether the path 
is  still  idcnti!iL'd ns  a !ing.cr.  While waiting.  in  the  queue p.1th 
proximity could  have  increased  so  much  thnt  the  idcntiHca-
tion  system decides the path is  actually  limn  a palm  heel.  in 
which  case  step  778  deletes  the  keyp1-css  dement  without 
transmitting.  to  the host  and step 770 ndvanccs processing. to 
the  next dement.  Decision diamond 774 nlso  invalidmcs the 
FIG. 42 shows the steps within the keypress dc!L'ction loop. 
Step  750  retrieves  lium  the current  identilicd  path data  250 
any paths which were recently crcatL-d due to hand p;u1touch-
65  dement  if its  press hnppcncd  synchronously  with other Hn-
gers of the same  hand.  "!lms  decision  diamond  774  ll1llows 
through on deletion command steps 601. 612. 615. 620 oft he 
us 7,812,828  82 
57  58 
hands while lapping long sequences of symbols. "!.his causes 
users to  mise their hands oll"thc surface and !lom them above 
the  surJUcc  during  JUst  typing sequences.  This  is  acccpwb!c 
typing posmrc except that  the users arms wi!!  eventually tire 
                  detection  process  (!'Ki.  39).  Decision  dia-
mond 776  invalidates 1hc  keypress if too much  lateral  Enger 
motion  has  occurred  since  touchdown.  even  if thnt  Intern] 
!ingcr  motion  has  not  yet  caused  a  chord  slide  to  stnrt. 
lkcausc users  may  he !ouch  typing  on  the  surli1cc.  sc\cra! 
millimeters  or la!cral  motion  arc  allowed  lo  accmnmodatc 
glancing  fingertip  motions which  ollcn  occur when  quickly 
reaching  for  keys.  This  is  much  more  glancing  wp  motion 
than  is  tolerated  by  touchpads which employ a  single linger 
slide I(Jr mouse cursor manipulation and a single !Inger lap I(Jr 
key  or mouse \muon click emulation. 
5  if the user bi!s lo  res!  the hands hack on the surli1cc hc!wccn 
sequences. 
To  provide  an  ahcmativc  typing  posture  which  docs  not 
encourage  suspension of the  hands  above  the  surlUcc.  deci-
sion  diamond  790  enables  a  second  key  acceptance  mode 
lCJ which  docs  no!  rL'<.juirc  quick  linger  lillolf allcr each  press. 
Instead.  the  user  must  star!  with  all  li\c  lingers  of a  hand 
resting on  the surlUcc.  Then each  time a  linger  is  asynchro-
nously raised oll"!hc surJUcc and pressed on a key region.  that 
k<.y  region wil! he lransmit!cd regardless ofsuhsL'<.jUCntlilloff 
D<..>cision  diamond  780  checks  whether  the  !ingcr  whose 
touchdown crcntcd the keypress clement  has  since  lillcd off 
the  surli1cc.  If so.  decision  diamond  782  checks  whether  it 
was !ilkd off soon enough to qualify as a nmma! key lap. If  so. 
step 784 lrnnsmils the  associmcd key symbol to  the host  and 
step  778  deletes  i1  from  the  head  of the  queue.  Note  !hal  a 
keypress  is  always  deleted  from  the  queue  upon  liftoff.  blll 
c\cn  though  it  may  hmc  stayed  on  the  stubcc  ll1r  a  time 
exceeding the lap  timcoul.  it  may hmc still caused transmis-
sion as a  modifier key.  as an impulsive  press with hand rest-
ing.  or as a typcmmic  press. as dcscrib<.-d  below. 
15  timing.  If the  surbcc  is  hard  such  that  Jingc11ip  proximity 
quickly  smurmcs as  force  is  app!i<.-d.  decision diamond  792 
checks  the  impulsivity  of  the  proximity  prolilc  Jix  how 
quickly  the  Enger  proximity  peaks.  If the  proximity  proli!c 
increases  lo  its  peak  very  slowly  mer time.  no  key  will  he 
When  a  keypress  is  lransmillcd  lo  the  host  it  is  ad\;m!a-
gcous  ll1r  a  sound generation de\ icc on the nm!ti-louch  sur-
liJcc  apparatus  or host  computer  lo  emil  an  audible dick or 
b<.-cp  as k-ed back to  the  user.  Generation of audible dick and 
b<.-cp  f<..-cdback  in  response  10  kcyprcsscs  is  well  known  in 
commercia!  touchscreens.  kiosks.  appliance  control  panels 
and  mechanical  k<.yhoan.ls  in  which  the kcyswitch aclion  is 
nearly si!cm and docs not  have a make Jixcc threshold which 
f<..-c!s  distinctive 10  the user.  Feedback can also be provided as 
a  light  on  the  muhi-louch  surface  apparmus  which  !lashes 
each  time  a  keypress  is  sen!.  K<.yprcsscs  accompanied  by 
modilicr k<.yprcsscs  should  cause  longer  !lashes  or  Iones  lo 
acknowledge thm  the key symbol  includes modiEcrs. 
""  generated.  This  al!ows  the user  lo  gently  sci  down  a  raised 
Enger without generating a key in case the user !ills the  linger 
with  the  imcmion  of generating a  key  but  then changes  his 
mind.  If the !ouch surli1cc is compressible. decision diamond 
792  can  more  dircc!ly  inJCr  linger  ll1rcc  Jium  the  ratio  of 
"5  measured  Jingcrtip  proximity lo ellipse axis lengths.  Then  it 
can threshold the interred force to distinguish dclibcrmc key 
presses  Ji"om  gentle  linger  rests.  Since  when  imcnding  to 
generate a key  the user will nmmal!y press down on the new 
k<.y  region  quickly  allcr  lilling  off the  old  k<.y  region.  the 
30  impulsivity  and  force  thresholds  should  increase  with  the 
time since the  linger lilicd off the  surlUcc. 
Fmulming  typcmatic  on  a  multi-touch  surlUcc  prcscms 
special  problems  if  linger  resting  !(Jrcc  cannot  he  distin-
guished reliably Jium sustained holding !(Jrccona key region. 
35  In this case. the special touch timing sequence detected by the 
steps  of  I'IG.  4JB  supports  reliable  typcmatic  cmulmion. 
.\ssuming decision diamond 798 Ends thattypcmatic has not 
started  yet.  decision  diamond  794  checks  whc!hcr  the  key-
lflhc Enger has not yet lifted. decision diamond 786 checks 
whether  its  associa1<.-d  key  region  is  a  modifier  such  as 
<shill>. <c!rl>. or <all>.  If so. slcp 788 ad\;mccs lo  the next 
clement  in  the queue without  deleting  the  head.  Processing 
wi!!  cominuc a!  step  772 to sec  if the  next elcmcm  is  a valid  40 
key  wp.  If the  next  element  succcssli.llly  reaches  the  trans-
mission stage. step 784 will scan hack toward the head of the 
queue  ll1r  any modilicr regions  which arc still  pressed. Then 
step 784 can send the next  dement's key  symbol along with 
the modifying symbols of any preceding modifier regions. 
press  queue  dement  being  processed  represents  the  most 
rcccm  Enger touchdown on the surJUcc.  If any  linger touch-
downs have followed  the  touchdown rcprcscmcd by this de-
men!.  lypcmalic  can  nc\cr  star!  Ji-om  this  queue  dement. 
Instead. decision diamond 796 checks whc!hcr the dement's 
linger has  been touching longer than the nmma! lap  timeout. 
D<.>cision  diamond 782 r<.'<.juircs  that  users 10uch the Enger 
45  If the  Enger  has  been  touching  too  long.  step  778  should 
delete its keypress dement because decision diamond 786 has 
dc!crmincd it  is  no! a modilicr and decision diamond 794 has 
dc!crmincd it  can nc\cr sl<ll1  lypcmalic.  If decision diamond 
794 dctcnnincs thm  the  keypress dement docs not  represent 
on  the surbcc and  !ill  hack  olfwithin a  JL-v.  hundred  milli-
seconds  ll1r  a  key  lo he sen!.  "!.his  Jill off timing rL'<.juircmcnl 
subslilulcs  Jix  the  Jixcc  activmion  threshold  of mechanical 
kcyswitchcs.  Like  the  force  threshold  of mechanical  kcy-
swi1Chcs. the timing constrain! provides a way for the  user to 
res! the linger on the key smbccwithoul imoking a k<.yprcss. 
The                   dc!cclor  14 provides another way  l(Jrc-
!ingcrs to reston the surface without gcncrming key symbols: 
they must  touch down at  the same  time as  m  !cast one other  '5 
linger.  I low<.'\ cr.  sometimes users will s!;u1  resting by  simul-
lancous!y  placing  the  central  Jingcrlips  on  the  surli1cc.  hut 
then they l(JI!ow asynchronously with the pinky a second later 
and  the  thumb  a  second  alicr  that.  These  latter  presses  arc 
essentially  asynchronous and  wi!!  not  be  invalidat<.-d  by  the  60 
                 dc!cclor.  hut  as  long  as  they  arc  no!  lilkd 
within a couple hundred milliseconds. decision diamond 782 
wi!!  delete  them  witholll  transmission.  But.  while  decision 
diamond 782 provides tolerance of asynchronous Enger rest-
ing.  its  rcquircmcmthat  Engcrs  quickly  !if!  oJI  i.e ..  crisply 
lap. the surli1cc lo cause k<.y generation makes it  \cry dillicu!t 
lo keep most of  the lingers resting on the surface to support the 
'0  the  most  rcccmtouchdown.  yet decision diamond  796  indi-
cates the  clcmcm has not  exceeded the tap  timeout.  process-
ing rclums lo step  770  lo  await  either  lillolf or timeout  in  a 
Ji.J!urc sensor array scan. "!.his al!ows linger laps lo overlap in 
the  sense  that  a  new  key  region  can  be  pressed  by  a  linger 
before another linger litis oll" the  previous key region.  ]]ow-
ever. either the press times or release times of such a pair of 
overlapping linger laps must he asynchronous lo  prL'\cnllhc 
pair from  being considered a chord lap. 
Assuming  the  Enger touchdown  is  the  most  r<.>ccnt.  deci-
sion diamond 800 checks whether the linger has been touch-
ing ll1r  a lypcmalic hold sclup interval of he! ween about half 
a  second  and  a  second.  If no!.  processing rclums  lo  770  lo 
await either linger !illoffor the hold sclllp condition to be met 
during future  scans of the sensor array.  When the  hold setup 
65  condition  is  met.  decision  diamond  802  checks whether  all 
other lingers on the hand of the given linger keypress lilkd off 
the stubcc more than a half second ago.  If they did. step 804 
us 7,812,828  82 
59 
will              lypemalic !l1r the given kl:ypn::ss  dement. The 
combination of d<..>c is ion diamonds 800 and 802 allow the user 
to  have other lingers of the hand to  be resting (l!l  the  surface 
when  a  !ing.cr  intend<..'<!  Jix  typcmatic  touches  down.  Blll 
lypemalic  will  not  start  unless  the other  lingers  !i!l  off the  'i 
surli1cc within half a  second of the desired typcmatic !Inger's 
touchdown.  and  typcmatic  will also not  swrt  until  the  typc-
mmic  !ing.cr has a  continu<..-d  to  touch the surface for at  !cnst 
half a  second  alkr the others  lillL-d  off the surli1cc.  If these 
stringent conditions arc not mel. the kl::ypn::ss ckmcnl will no!  lCJ
st;u11ypcmalic and will eventually be ddetcd through either 
wp timcolll 782 when the  !ing.cr lilis off or throug.h  tnp  tim-
com 796)  if ano1her 1ouches down nlicr it. 
S!cp 804 simply scls a Jlag which will indicalc lo  decision 
diamond  798  during  !l11urc  scan  cycles  !hal  lypcmalic  has  l'i 
n!rcndystnn<..'d for1heelcmcnt. Upon1ypcmmic initin!izntion. 
step 810 sends om the key symbol for 1he !irs11imc to the hos1 
intcr!Ucc  conununicntion  queue.  n!ong  wi1h  nny  modifier 
symbols  being  held  down  by  the  opposite  h.:md.  Step  812 
n.:cords the time the kl:y symbol is sen! !l1r !i.J!urc rckrcncc by  "" 
d<..>cision  dimnond 808.1'roccssing then returns 10  step 770 to 
nwni11he  nex1  proximi1y imngc scnn. 
Until  the  !Inger  !i!is  o!f or  another  laps  asynchronously. 
processing will pass through decision diamond 798 lo check 
whether the k<..y  symbol should be sen! again. Step 806 com- "-' 
pmcs 1he  symbol  repem intervn! dynmnicnlly 10  be  inversely 
proponionnl  10  !ingcr  proximity.  Thus  the  key  will  repem 
liJslcr as the linger is pressed on the surbcc harder or a  larger 
pan of the Jingc11ip !ouches the surli1cc. "!11is also reduces the 
chnnce  1hm  the  user  will  cnuse  more  repents  1hnn  intended  30 
since  ns  !inger  proximity  begins  to  drop  during  liftoff  the 
repent  intervnl  becomes much longer.  Decision dimnond 808 
checks  whclhcr  the  dynamic  1-cpcal  interval  since  the  !as! 
lypcmalic  symbol  send  has  elapsed.  and  if n<..>ccssary  sends 
1he symbol ngnin  in 810 nnd updntes 1he 1ypcmmic send lime  35 
stump 812. 
11  is dcsirnb!c to !ctthe users res11he other !in!lers back onto 
the surbcc a!icr lypcmalic has initialed 804 and while type-
malic  nmlinucs.  hut  the  user  must  do  so  without  lapping. 
Decision  dimnond 805  causes 1ypcmmic  10  be  cancckd and  40 
1he typematic elemcm deleted 778 if the user nsynchronously 
laps  another  linger on  the  smbcc as  if trying  lo  hit  another 
key.  If this docs no!  occur. decision diamond  182 will L"\cn-
lually cause delclion of the lypcmalic element when its linger 
!ills off  45 
"ll1e  typing  recognition  process  dcscrib<..'d  above  1hus 
allows the multi-touch surli1cc lo crgonmnical!y emulate both 
the  typing  and  hand  J-esting  capabilities  of  a  standard 
mechnn.icn!  keyboard. Crisp laps or impulsive presses on the 
surface gcnernte key symbols ns soon as 1he !inger is  released  '0 
or  d<..>cision  diamond  792  veri!ics  the  impulse  has  pcnkcd. 
ensuring prompt JL-cdhack lo the user.  1:ingcrs intended lo res! 
on the surbcc generate no k9s as  long as lhLy  arc members 
of a synchroniz...-d !inger press or relcnsc subsc1 or nrc  placed 
on 1he  surface gcm!y nnd remain 1herc n!ong  wi1h  o1her !in- '5 
gcrs  !l1r a  second or two.  Once resting.  !ingcrs c;m  be lillcd 
and lapped or impulsively pressed on the smbcc lo  generate 
key symbols w ithoul ha\ ing lo !i!i other resting lingers. "!)'pc-
mmic is ini1imcd ether by impulsively pressing and mainwin-
ing distinguishable force on n key. or by holding n !ingcr on a  60 
key  while  other  lingers  on  the  hand  arc  lilkd.  (i!ancing 
motions  of single  lingers  as  lhLy  lap  kLy  regions ;u-c  easily 
1olerntcd since most cursor mnnipu!ation must be ini1imcd by 
synchronitcd slides of 1wo or more  lingers. 
Other  embodiments  of the  invention  will  be  nppnrcnt  to  65 
those ski!kd in the an from considcrdlion oft he  spccillcalion 
and praclicc of the  invention disclosed  hc1-cin.  II  is  intended 
60 
thai  the spccilicalion  and  examples  he considered  as cxcm-
p!m)' only.  with n 1me scope nnd spiri1 oflhe invention being 
indicm<..'d  by 1he  following claims. 
What  is claimed is: 
1  .-\  method  of processing  inplll  from  n  1ouch-scnsi1ivc 
smbcc. the method comprising: 
rL>cci\ ing a!  leas! one proximity image representing a scan 
of n p!urn !ity of electrodes oft he 10uch-scnsitive sur!Ucc: 
segmeming each  proximity  imngc  imo one or more  pixel 
groups  !hal  indicate  signi!icanl  proximity.  each  pixel 
group representing proximity of a distinguishable hand 
pan or other !ouch objccl on or ncar the louch-scnsili\c 
surface: nnd 
mmhemmicnlly !ining an ellipse tom kns1 one of the  pixel 
groups. 
2.  "!l1c  mc!lmd of claim  1 fm1hcr comprising twnsmining 
one  or  more  ellipse  parnme1crs  as  a  control  si!lllill  10  an 
electronic or clectromechnnica! device. 
J. The method of claim 2 wherein 1he one or more ellipse 
paramclcrs is  selcc!cd  !i-om  the group consisting of position. 
shape.  size.  oricnlalion.  ccccnlricity.  major  radius.  minor 
rndius.  nnd  any combinmion 1hercof. 
4.  The method of claim J  wherein 1he one or more ellipse 
parmncters nrc  used  to  distinguish  a  pixel  group nssocintcd 
with a  Jingc11ip  !i-mn a  pixel group associated with a thumb. 
5.  n1c  mc!lmd  of claim  1  wherein  tilling  an  ellipse  loa 
group of pixels comprises compming one or more eigenval-
ues  and  one  or  more  eigenvectors  of n  covarinnce  mntrix 
associated with the pixel group. 
6.  The method  of claim  1  !lu1hcr comprising:  !racking a 
path ofal !cas! one of the one or more pixel groups through a 
time-sequenced series of proximity imngcs: 
!it1ing an ellipse 10  the at  least one of1he one or more pixel 
groups in cachofthctimc-scqucnccd series of proximity 
images: and 
!racking  a  change  in  one  or  mm-c  ellipse  paramclcrs 
1hrough 1he lime-sequenced series of proximity imnges. 
7.  "ll1e  method of claim 6  fun her comprising 1rnnsmitting 
the change in  the one or mm-c ellipse paramclcrs as a control 
signa! to  an ck>clnmic or elcc!romcchanica! dL"\ icc. 
8. rhc mc!hod of claim 7 wherein the change in the one or 
more ellipse parnme1crs is selcc1cd from 1he group consisting 
of  position.  shape.  size.  oricntmion.  eccentricity.  mnjor 
radius.  minor radius. and any combination thereof 
9.  The mc!hod of claim  6  wherein  lining an ellipse lo the 
one pixel group comprises computing one or more cigcma!-
ucs  and  one  or  more  eigenvectors  of n  covarinnce  mntrix 
nssociated wi1h  1he  pixel  group. 
10. A  !ouch-sensing dL"\ icc comprising: 
a suhslralc: 
a  plurality  of !ouch-sensing  elcc!rodcs  anangcd  on  the 
subs1rmc: 
electronic scmming hardwnrc ndap1cd 10  read 1he plurn!i1y 
of touch-sensing ck>ctrodcs: 
a calibration module opcrali\ely coupled to the ck>clronic 
scanning hardwa1-c and adap!cd to conslrucl a proximity 
imnge having a  plurn!i1y  of pixels corresponding to  the 
1ouch-scnsing electrodes: and 
a conlacl tracking and idcnti!icalion module adap!cd lo: 
segment  the  proximity  image  into  one  or  more  pixel 
groups.  each  pixel  group  representing  proximity  of a 
distinguishable  hnnd  pan  or  o1hcr  touch  objcc1  on  or 
ncnr 1he  touch-sensitive sur!Ucc: 
and 
mathematically  Ill  an  ellipse  loa! 
mm-c pixel groups. 
!cas!  one  of the  one  or 
us 7,812,828  82 
61 
I I  '!-he !ouch-sensing device of claim  I 0  !i.Jrthcr cmnpris-
ing. a host communicmion intcr!Ucc adapted to trnnsmit one or 
more ellipse pam meters us a control signal to an electronic or 
clcctromcchanical device. 
12.  The  touch-sensing  tk'\icc  of claim  11  wherein  the  'i 
!ouch-sensing de\ icc  is  integral  with  the ck:clronic or dcc-
trom<..>chanical device. 
D. The touch-sensing device of claim  11  wherein the one 
or more ellipse parameters comprise one or more parameters 
sclcc!cd  ![om  the group  consisting of position.  shape.  size.  lCJ
micnlalion. ccccntricity. major radius. minor radius. and any 
combination  thcn.of 
14. The method ofclaim 13 wherein the one or more ellipse 
parameters  arc  used  lo  distinguish  a  pixel  group  associated 
with a  !ingcrlip  from  a  pixel group associated with a  thumb.  15 
15.  The  touch-sensing  device  of claim  10  wherein  the 
con wet tracking and idcmiHcation module is adapt<..-d  to com-
pUle one or more eigenvalues and one or more eigenvectors to 
!it  the ellipse. 
I6.  The  touch-sensing  dL'\ice  of claim  IO  wherein  the  "" 
comact tracking and identification module is  li.1rthcr ad.1ptcd 
to: 
62 
23.  :\  cmnputer-rcadab!e  medium  having  embodied 
thereon  instructions  cxccmable  by  a  machine  to  perlixm  a 
method according to  any of claims  1-9. 
24 . .-\  touch-sensing device comprising: 
means ll1r producing a proximity image representing a scan 
of a  plurality of ek>ctrodes of a  touch-sensiti\e surli1cc. 
the proximity  image having a  plurality of pixels corre-
sponding to the  touch-sensing electrodes: and 
means  ll1r  segmenting  the  proximity  image  into  one  or 
more pixel groups. each pixel group representing a touch 
objL>ct  on or ncar the touch-sensitive smbce: and 
means  for  lilting  an  ellipse  to  at  least  one  of the  pixel 
groups. 
25. "J he touch-sensing de\ ice o fclaim 24 wherein the touch 
objL>ct  comprises at  !east a  portion of a  hand. 
26. The touch-sensing device ofclaim 24 wherein the touch 
objL>ct  comprises at  least a  portion of one or more Hngcrs. 
27. The touch-sensing device ofclaim 24 wherein the touch 
objL>ct  comprises at  !east a  portion of a  body part. 
28. The touch-sensing dcviceofdaim 27 wherein the body 
part  comprises  one or more  of a  hand.  a  linger.  an car.  or a 
check. 
track a path of one or more pixel groups through a plurality 
of time-sequenced proximity images: 
!it an ellipse to at  !east one of the one or more pixel groups 
in  a  !irst  proximity  image  of the  plurality  of time-se-
quenced proximity  images: and 
track a change in one or more ellipse parameters associated 
with the lined ellipse through two or more of the time-
sequenced proximity images. 
29. n1e touch-sensing device of claim 24 further compris-
ing means  ll1r  transmitting one or more ellipse parameters as 
"5  a control signal to an electronic or ck>ctromL>chanical de\ icc. 
30.  The  touch-sensing  device  of claim  27  wherein  the 
touch-sensing device  is  integra!  with  the electronic  or elcc-
tromL>chanical  device. 
3 I. n1e touch-sensing device of claim 24 further compris-
30  ing. 
17.  The touch-sensing device of claim  16  Ji.Jrthcr compris-
ing  a  host  conununication  imcrJUcc  adapted  to  transmit  the 
change in at  !east one of the one or more ellipse parameters as 
a control signa! to an dectnmic or electromechanical device. 
18.  The  touch-sensing  device  of claim  17  wherein  the  35 
touch-sensing device  is  integral  with  the  electronic  or ckc-
tromL>chanica! device. 
means  Jix  tracking  a  path  of one  or  more  pixel  groups 
through  a  plurality  of  time-sequenced  proximity 
1magcs: 
means ll1r lining an ellipse to at !east oncofthc pixel groups 
in  a plurality successive proximity images: and 
means for  tracking a change in one or more ellipse param-
eters  through  a  plurality  of time-sequenced  proximity 
1magcs. 
32. n1e touch-sensing device of claim 29 further compris-
ing  means  Jix  transmitting  the  change  in  the  one  or more 
ellipse  parameters  as  a  control  signal  to  an  ck>ctron.ic  or 
dectromL>chanical device. 
I9.  The  touch-sensing  dL'\ice  of claim  I7  wherein  the 
change  in  one or  more  ellipse  parameters  used as  a  control 
input to an electronic or electromechanical device comprises  40 
one or more parameters selected from the group consisting of 
position.  shape.  si/e. orientation. eccentricity.  major radius. 
minor radius. and any combination thereof.  33.  The  touch-sensing  device  of claim  32  wherein  the 
touch-sensing device  is  integra!  with  the dectnmic or clcc-
45  tromcchanical device. 
20.  The  touch-sensing  dL'\ice  of claim  I6  wherein  the 
contact tracking and idcmiHcation module is adapt<..-d  to com-
pUle one or more eigenvalues and one or more eigenvectors to 
lit  the ellipse. 
2I  "!.he  touch-sensing dL'\ ice of any  one of claims  I 0- I2 
and  16-18 wherein the touch-sensing device  is  lUbricated on 
or integrated with a display device. 
22.  The  touch-sensing  device  of claim  21.  wherein  the 
display de\ icc comprises a  liquid crystal display (I  ("]))or a 
light-emitting polymer display (I  PD). 
34. The touch-sensing device of any one of claims 24 and 
29-33  wherein  the  touch-sensing device  is  bbricatcd on  or 
integra!L"d with a display device. 
35.  The  touch-sensing  device  of claim  34.  wherein  the 
'0  display device comprises a  liquid crystal display (!.CD) or a 
light-emitting polymer display (I .I'D). 
'  '  '  ' 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Exhibit 2 
(12)  United States Patent 
Christie et al. 
(54)  \1ETIIOD.\:'\I>.\PP.\Il..\TUS FOR 
I>ISPL\YI:'\G  I:'\FOR\1.\TIO\" DUIU\"G .\:"\ 
1:\ST\:\T VIESSAGI:\G SESSIO:\ 
(75)  !mentors:  Gregory:\. Christie. San Jose. CA 
(US):           Westen.  Menlo Park. C.\ 
(US):  Stephen 0. Lemay. San 
Francisco. CA (US): .ft>ns Alfke. San 
Jose. CA (US) 
(73)  Assignee:  .\pplc Inc ..  Cupcnino. C.\ (US) 
( * )  Notice:  Suh_icc!lo any disclaimer. the lcrm of this 
pntcnt  is  extended  or  adjusted  under  35 
U.S.C.  154(b) by  686 days. 
(21) 
(22) 
(51) 
App!.  No.:  10/428,523 
Filed:  \1ay 2,  2003 
Int. Cl. 
<ifJ6F 3/f)(J 
G06F  9100 
G06F 17100 
(2006.01) 
(2006.01) 
(2006.01) 
(52)  u.s. Cl.  715/758:715/762:715/751: 
7151753 
(5R)  Fidd of (:Jassitication Search  7151715. 
715/501.1.707.706.751.762.763.764. 
7151760:  70<)1204 
S<..-c  npplicntion H!c  for complete senrch history. 
(56)             Cited 
U.S.  PA:tI;N"r J)OCUMI;NI-S 
4.107.7M  A  s 197i-:  lkmmdcn  ..................       900 
4.4D.377  A  2       Lustis d  a1       200 
4.41>.".439 
' 
" 
1<)1>4            ...................  364 200 
4.5!3 ..  17<) 
' 
4  1<)1>5           "I  364  474 
           A  4        Brandle  ......................       900 
4.(>42.790  A  2       V!inshull  d  al       900 
''-21>7.441> 
' 
2  1<)<)4         d  a1  3<)5  1."<) 
.".421>.731 
' 
" 
1<)<)5  Powers.  lll  .................  3<)5  1.'4 
45.'i.'i.77.'i  A  l2  1995  Pike  ...........................           
.'iM75W  A  4  1997  l.udwigda1  39.'i  20002 
.".7."1>.07<) 
' 
;  1<)<)1;  ludwigd"1  _1<)_'; 200  34 
111111  1111111111111111111111111111111111111111111111111111111111111 
US007669134Bl 
(I OJ  Patent  No.:  US  7,669,134  Bl 
Feb.23,2010  (45)  Date of Patent: 
5.1>54.N1 
' 
12  1<)<)1;  1.udw ig     al  .1<)5  200 34 
5.1>1>4.0_1<) 
' 
3  1<)<)<)  1.udw ig     al  .1<)5  200 57 
5.1>% . ."00 
' 
4  1<)<)<)  1.udw ig     al  .1<)5  200 34 
(i.J77.931  Bl  $  I  2001  .\lcxandcr ct al  725  52 
(>.237.025 
'" 
.'i  2001  Ludwig cl al  ..............  709 204 
             
'" 
2 2002  Ludwig cl al  ..............  709 204 
ti.434.ti04  B1    g 2002  1lara.d.a       ...............  70<)  207 
ti.4.17.1>11>  Ill  g 2002  1.udw ig     al  341>  14  0<) 
(Continu<..'d) 
en! II OR                 
\kynmil>'.  '\orman.                   Bnmin  An  Adapwb!e 
         Sl!'a/<'gtfix  Jfi'mlo"  :WWWJ;<'I'"lirum/  lermiua/  S_nlem.<, 
D<1JW'III!<'III o(('omplll<'l' Scie!IC<'. !Jrmm ( "lli>-'<'l'.<il_l'(l9gl  ).  rr I   
ll><J 
(Continued) 
l'riman Hxaminer  Titdcssc llailu 
.1ssislanl Hxaminer  Anita]) Chaudhuri 
(74)  Allome_r.  Agent.  or  Finn  Williams.  Morgan  & 
.\mcrson. I'. C. 
(57)  AHSTR\(T 
.\ method  and  nn  apparatus  arc  provided  for  controlling  a 
graphical  user  interbcc lo  display  inl(mmtlion  related  loa 
commtmicalion  session.  !nl(mJJalion  relating  lo  data  pro-
duced  hy  a  lirsl  participant  lo  the communication  session  is 
displayed  on  n  Hrst  displny  unit.  wherein  the  infonnation 
produc<..'d  by the Hrst  pnnicipmll is displny<..'d nt  a !irst position 
on  the  Jirsl  display  unit.  Data  is  rccei\L-d  from  a  second 
participant  lo  the  communication  session.  and  inl(mnalion 
relating.  to  the  dnta  received  from  the  second  participant  is 
displayed  on  the  Hrst  display  unit.  wherein  the  infonnation 
rcceiwd from  the second participant  is displayed m a second 
position on  the  Jirsl  display  unit.  The  Jirsl  and  second  posi-
tions arc horizontally spaced apart. 
28 Claims, 8  ])rawing Sheets 
 
US  7,669,134  Bl 
Page 2 
U.S.  PA:t-I;N"r J)OCUMI;NI-S 
         B2  (i  2003  l.udwigdal 
6594.(in  Bl    7  2003  Smith <:tal  007  104  I 
6.594.til>l>  B2  7  200.1  ludwigd"l  70<)  204 
6.910.11>6  B2    (i  2005  Kim  715706 
7.124.164  Bl    to  200(i  Chcmtob  709  204 
7.133.<)00  Bl''  !1  200(>        70<)  206 
7.1."2.093  B2  !2 200(>  ludwigd"l 
7.206.gQ<)  B2  4  2007  l.udwigdal 
7.4!2.470  B2  :;  2001>  \hsuno d  ,] 
7.433.<)2!  B2  !0 2001>  ludwigd"l 
2003  0097401>  AI   5 2003             d  al  709  205 
2003  OD4(i71>  AI   7  2003  -L1Mka  4(i3  42 
200_1  011>7<)2."  _\]''  !0200.1  !mil"    al  70<)  204 
200_1  0201>7."6  _\]''  !1200.1        d  ,]  ...............  72_<.  34 
20o3  ong<Jo<J  AI   12  2003  -L1Mka Cl  a]  .................  4(i3  42 
2004  019%63 
" 
!0 2004  l!onil/ d  ,] 
2004  02234K' 
" 
!1  2004  .\rdh!no cl  al 
200(i  002(i2D  AI   2 200(i  Tcncmbmun d  al  709  20.'i 
OT!!I;R PUISIICAT!ONS 
           R \\".  lite X  IVindo"  S).<l<'m,  :11/l  labora/01)"/i.>r  Com-
pill<'!"  Science and Gelt_n . .lim !ltj;iwl!:.qmj;m<'lll Cmporarion am/ 
Mil" Proje<J  Allu.tw.  A(:lf liYtn.WtCiiom ott  Graphic.\.  n>1  5.  '\o  2. 
-\pr  !91>6.  pp  79-!09 
\Vadlow.  VI  G  .  llw Roi<'  of l!uman  Imel"(ace  Ciuiddim'.'  in  rlw 
!le.<tj;ll ofMulrim<dia .1pp/icariom. ("am<"J;ie Jfellon I "nher.,irr(lo 
bt. Publi.,hed in Curren! p,.) ,/wlog) Rt."\"t.w,h and Rt.'lieon. Summt.r 
/VYO)pp  l-22(C:vHIIC-<Jl-101) 
Y!oJTis.  Jmncs  II  ct a!  .         A !li.\lribu!ed l'er.,mta!             
Fmimnmem; (fmmllmicatiom <?/ 1/u. A(:lf.(\1ar  1<)1>6).  \o1  29 '\o 
.1.  pp  !1>4-20! 
!Inward. John II  . (.1b.\lraCI)AII 0\ervie"                hie S_nlem, 
Infi:!nlwlion  kdtnolom  ("emet: ("am<"J;ie Jfellon I "niwnirr. (("Y!l.-
ITC-1>1>-062).  pp  l-6  ({"\1!:-ITC-1>1>-062)  (To  .\ppc"r  in"  Ji.olure 
issue of the .\CVI  l ransadions on Computer Systems 
Borenstein. '\athaniel S  . ln!Ormation  Jcdmology ("enter and Com-
puler                     Carnegie  \1d1on  t:ni,ersily.          
Chris.\            Computing. Cmnegie  \1d1on             (fmp-
erative Work in the .1mlre"           S) .\/em. (l9l>g) pp  306-323 
l rowbridgc.  David  Center  !Or  Design  of              Computing. 
( arnegie-\1d1on l:  ni,ersily. [ :,ing Amken"jor /)t.'!dopmem <?/Fdu-
caliona/.1pp/icatiom.  pp  J-(i  (CY!l  .JJ c-g5-06.'i) 
Palay  ..           J. ct  al. ln!Onnation             Center.  Camcgic-
\1d1on               l"he  Andren  l"oo!kit: An 0\"<'ITien.  pp  1-15 
       l.arry  K.  l"ht.  (-.lfl: PC St.tTt."i"  l'n?ieCI      l <Jl>6)  pp  l-30 
(CVIL-ITC 1>6051) 
Gmhn .. \  Y!  and  llohl. A C  ..  1 Re.wanh l'<r.'fNCiiveon  Compuler-
                 //{,./;.( l<J79)1B\1 Sysl  J  \ol  11>.  '\o  3.  pp  4.12-4."6 
Bkher. J 11  . cl  al  . A  Graphi<lmt.raCiivt. Application Moniwr; l!Hf 
::,:r.<l . .  !. vol  J<J.  '\o  3 ( tnO) pp  31>2-402 
Gardner.  PC . A \ntem fi:!r  1/te Auwmaled Oflwe JOmimnmem,  IBM 
S).\"1 . .!..  H>1  20.  '\o  3.  ( l <)l;  l) pp  321-.14." 
       B . cl  al  .  Goal\ and 0/?i<'clil"t.".\" jor [ :,.,.,lntt."i:fiic<'  Sc!finmt; 
("ompltler Ciraphic.\.  vol  21.  '\o  2. (Apr  191>7)  pp  73-71> 
conk1in.           A  Sunt.J" <<OZ'P'-"1"/<'XI.  \1cc                    
Progra.m       191>7).  pp  l-31> 
llalbcn. DC .l'mJitWIW!iiiJi b)  Fwmpi<'; D<1JI.  Uei"lrica!I:.IIJii!l<'er-
     and  ("omp.  Science.\,  ( "niwnil)" of ("alifomia.             ('\ov 
191>4)pp  1-76 
W"1ker.  B.     "1.  l"ht.  !.OCl 'S  f)imi/mied  Opt."IYiling  Sy_\'lf.m'  . 
( "niver.\il)  ofCalifi:!mia /.o.<  Anjide.\ (191>3)  pp  4'!-70 
!Jill.  RD. Some lmponam  1-ea/W'<'>  and 1.<.<11<'.'  in  I ".wr  Imertace 
Managemem  Sy,Jem.  f)ynamic  Gmpliin  Pn!it.ct.  l."ni,ersily  of 
loronto.("SRJ.vol  21.'\o  2(Apr  191>7).pp  ]J(i-120 
Croll.\\'        and  Lcfkowitf.           S.  la.\k  Suppol'l  In  an 
O!fice S)_,um;              and !t!ii)l'maJion S<ience  f)qmrtmew.  l  'ni-
,.,.,.,ity '!(.lfa_,.,-m/m_\'<"11\'.  (1 91>4)  pp  22-24 
lishncr. S S  . ct al  .  J inua!JOmimmlwl!l Di.,p/a_l  S_nlem,  lmeracriw 
JJ) Cirap/iic.<  (<kt  23-24.  tn6) pp  77-1>7 
/.ieglcr. K . Jr . .  1 Di.\lribu!ed ln/i:!rmarion 2>) .<l<'m Srudr; flJJf S) .\/ ..  ! . 
n>1  !1>.  '\o  3 ( !97<J) 
         Vlikc. A S/ie/1 for Modem Pel'.<onal ("ompurer.,,  l  'uiwr.<il)  of 
Califi:!mia.  pp  13-I<J 
Trigg. R 11  mul1rish. P\1 .ll)fX"i"I<"Xilla/;iJal\':l:\perit.mt.\'<?(Wril-
,_.,.,.  in  .VcmCard,;IZlfX'i'l'-'\'1  '87  Papt."i"\'.                      Labo-
rato!y.  Xerox  Palo Alto  Rescardl Center.  pp  l><J-101> 
Donahue. Jrunes. Widom. Jennifer.  IV/iiieboard.<: A Cirap/iical Data-
/;'"''-"  l"oof.  -\C\1             on        lnJ(mnalion          n>1  4. 
'\o  !.Jan  Jn(i.pp  24-41 
Rosenberg.  J  ct  a!  . An  Overvie" of 1/w         M<'>.\ajie  2>) .<1<'11!, 
li!li>rllwtion  l"edmofor..1  Ct.filt."i"  Camegie-.lfd!on  [."nil"t."i"_\'il)'  (.hoi 
l<Jl>7).  pp  <J9-101> 
Vlorland.  D  Verne.  lluman Factor.'  Guideline.<  fi:!r  fi>rminal  Imer-
jiue f),.,ign;  ('ommunicatioti\' <?/the A(:lf (.ho1  19K1) n>l  26. '\o  7 . 
pp  41>4-4<)4 
Good.  Y!khael  D. ct al.           a  I ".'<'1'-D<'I'iwd lmel'(ace;  Com-
!lwnicalion.< of  rile ACJ!. (<kt  tn4) vol  27. '\o  10. pp  1032-1043 
Smith. Sidney I_  and          .honeD. Guiddine.\'.for f),._,igning  [ .-_.,_.,.
fiilei:faceS<?filmre;  l-\t.rl.ab.  Inc_  (_\ug  l<Jl>6).  pp  1-.11>4 
""A  Comparison  of Applkation  Sharing  Y!edmnisms  in  Real-! imc 
Desktop                          by S  R  -\huj".     al.  _\T&T  Bd1 
I "bmalories.  !9<)0 
""A  Distributed             !Or Vlultimedia                       by 
Lve Sdtoolcr.  IS!  Rescardl  Rep011  ('\ov  19'!1) 
"_\                 \1ullimedia                         by    
Schm>1er.  d  ;ol.  -\C\1 Sigois  Bulletin.  n>l  1.  '\o  L  pp  12-22  (.hon 
]<)g9) 
""An  .\rdliKdure !Or                           Vlanagemcnt." by  Fvc 
Schm>1er.  cl al.              IFF 4'
1
'  C0\1SOC               Work-
shop on                Communkations.  VIVI  "92.  pp  271-274  (Apr 
I<J<J2) 
      Study                          Control  in"                 
                           Journal or lnternctworki ng           ;ond 
                    <J<J-120(Jun  1993) 
""CFRC           Repon  Series           '\ote." by  Kankanahalli 
Srini,-,s.    al.                                            1992 
collaboration .  \warcncss in Supp011 of< "ollaborat ion            
Requirements for the '\ext Generation            \\'indow Systems." 
by J  c-hris           d  al.  1<)90  c111  '90            
"CSCW '92 Demonstrations." by           \1u1kr. cl al.  '\m- !9<)2 
""Design of a  Y!ulti-VIedia \'chide for  Soda! Browsing." by  Robc11 
Root.  Bell Communkations Rescardl.  191;g 
"Distributed  \1uhiparly  Desktop                       \krmaid." 
by K;o;;uo  W"t"bc.    ,] Csc-w 90              ( kt  1<)90 
""FmopaK"s  Integrated                                   (]Ill)  Larly 
               by Bull Buxton. ct ai.IJscvier         Publishers B \' 
('\oo1h-llolland).  1!-34 
""Explorations  into  Real-Time                Conkrendng." by !!any 
Forsdkk. Computer  Message System  g).  J<Jg(i 
"Kermo1  Suppm1  J(lf  I  i,-e  Digita1_\udio ;ond         by Ke,in .lc!Tay. 
cl al.  In       oflhe                      Workshop on           ;ond 
( lpcmting System Suppolt !Or  Digital  .\udio and         '\ov  I '!91 
""Y!VI Conf Anlnfmstmdure for Building Shared               .\ppli-
         by            Crowky.     al.  CSCW 90              (( kl 
l<J<JO) 
                Prindplcs.  Systems  and  Applkations."  by  Lars 
Kjd1dahl.     a1.  -\pr  1991.              or     1<J91             
Workshop  on  \1u11imcdia  Systems.                 ;ond  lnlemction. 
Stockholm.          
                Confcrcndng  lias it Comcof.\ge''."" by Fvc          
cl al.             24'
1
'  ll;m,ii  International              on        
                 707-7!6(.hon  !9<Jl) 
""'\-Way              \Vith Padct            Stephen casncr. ct a!. 
The  J hint  International  Workshop  on          Video.  VIm  22-23. 
]<)<)0 
one is '\ot Enough  Y!ultiplc Vk-v.s  in a  Vledia         by William 
Gaver. ct al.!nterdli. Apr  24-29.  1993 
"Piloting of \1ullimedia  lnlegmk"<l                 !(>r  European 
              by  PT            d  al.       1'\ET '<)3 
""Po11holcs  Supp<H1ing Awareness in a                 \\'ork Group." by 
Paul  Dourish.  ct  a!.  Clll  I <J<J2.  Vlay 3-g 
US  7,669,134  Bl 
Page 3 
                     Lnvironmcnt            Rave System." by Wil-
limTI  GmcL d  ;!l. R;mx  Xerox C;unbridgc  Furopan;.  1<)<)2 
"lkndcvous  An                   for  Syndlmnous Ylulti-Lscr .\pp!ka-
tions." by John  J'atlCI'SOJl.  Cl  aJ.  CS{"\V                     ( kt  ]<)90 
Replicated -\rchitcclurcs for Slmrcd Window Systems  _\Critique," 
by J  Chris  l.aliwcrs. d  ;!l. { >li\clli  Rcscan;h catiJ(Jrnia  1<)<)0 
"System  Suppon  !Or  lntcgmk'<l  Desktop         Confcrcncing."  by 
.\my l'cm-1.  Sunmkrosystcms Laboratories.        1992 
']Cam  Work  St,lion  Towmds  a  Sc;unlcss  Shared  Workspace,"  by 
llimshi.  :\T l  !Iuman  Interface  Laboratories.  CSCW  90           
ings.<kt  1990 
The Connection conlorl  Protocol  .\n:hitcclurc {             by hc 
Schook!,  d  al.  CSC lnonmtion          Institute (Jan  21>.  1<)92) 
"The !mpad of         on a                ('onnedion              
by h-e          _\(-\1 Jourm!l of\1u1timedia Systems, \ol  1. '\o  1. 
pp  2-<J  (1<)<)_1) 
"I he  !min                    System  (1\'S)."  by  I hicny  llll'ktti. 
Octob<cr  1<)<)4 
"!he  V!ulti           \\'orkstation."  by  Dkk  Phillips.  Siggmph  'g<) 
!'and                
"Touring          _\  Soll\\are l'h!tJ(mn ](,-Distributed \1u1timedia 
.\pp1ic,tions," by \1  -\mngo. eta!.  19921F!I' !nterm!tiona! Confer-
ence on Lppcr Layer Protocols. Architcdurcs and .\pplicmions. V!ay 
!<)<)2 
"'](m;mls"  Cni\ersa!  Direct01y           by  Keith  L;ml>'.  cl  a!. 
Depm1mem  of  Computer          and          Lnginwring. 
Stan!Ord  l'niversity.  I <)K'i 
"Videoconferencing  '" a  T<-chnology  to  Support  Group  Work  _\ 
Re,-i<w  of  Its  Failure."  by  Carmen  Fgido.  Bdl  Communications 
Rescardl.  J<Jgg 
* cited by examiner 
U.S.  Patent  Feb.23,2010  Sheet  I of 8  US  7,669,134 Bt 
~  Bobby0211-lnstant Message 
1-ID!X 
File  Edit  Insert  BobbyD211's Warning Level: 0% 
BobbyD211: Hey, how was the fishing trip? 
Fred1432: It was great! I couldn't believe the 
size of the big mounth bass that Jimmy caught 
BobbyD211: Wow! Sounds like it was an 
awesome trip. 
  Fred1432: II sure was! 
Ail!J  ~ ' - ' A ]  B  /y 
!ink  5l  9@ 
"\ 
"  &  8?  ~ 
7fv 
Wam  Block  Add Buddy  Talk  Get infQ  Send 
1111111111111111
404 
FIGURE 1 
(prior art)  /406 
() 
0  0 
Instant Messages with Sue 
402 
/410  / 
I-
~ 
c 
-,  .  ,_,,.,-
(Hey. what"s  up?  [.] 
Ill iNot too much  )  (412 
(Did you hear what Bob did 
[.] 
I-
yesterday?  I 
Ill iWhat did  y o ~  do?!) 
(Ohman, it was so great.  You 
~ 
shoulda been there.  man! 
400 
408 
I 
~ 
FIGURE4 
U.S.  Patent  Feb. 23, 2010  Sheet 2 of 8  US  7,669,134 Bt 
sl 
00 
0 
-
" 
0  0 
: : : ~ ,  -
(  ~ ~ ~         D . 
0  .--------.--.--/  D. 
 
D. 
~ ) 
0 
" 
0 
-
~ 
0 
-
 
D. 
  -D.w 
)' 
0 
U.S.  Patent  Feb.23,2010  Sheet 3 of8  US  7,669,134 Bt 
300                     initiate                   
--- session, identify parties,  and determine icon 
for each party 
.                      
304           
( 
                Generating message............_.........._ 
  to other party?  ____...// 
!                to other                
'I indicating  message is being  1-----------<  N 
1 
__              _  _  '-........  f  306 
/  ---.,__ 
                               
)308  "----.  other party is        
/-             
,-.  - ------- -- '  / 
'  Produce graphical image of    
[
message being generated by  1      0 
other party  /  '-..... 
// 
                 Received        
312  I        other party?// 
Di:play mes:age and icon 1  -,"-:J/// 
adjacent         of display I           
--------- Y                         to                   
-----...............  party complete?  ____..__...---
..... ........_,____          
Send message to other party 
N 
and display message and icon 1----------.j 
locally adjacent right side of 
         window 
316 
FIGURE3 
U.S.  Patent  Feb.23,2010  Sheet 4 of 8  US  7,669,134 Bt 
404 
406 
\  / 
~  0 
0  Instant Messages with Sue 
402  '-
(410  /' 
-
'\ 
\.> ,_; ~ i  ; :.'1 
(  Hey. what"s up?  [J 
Ill i Not too much.)  (412 
400 
r  Did  you  hear what Bob did 
[J 
-
yesterday?  / 
[ l ] a o ~ 
' 
500 
408 
QI 
d 
FIGURE SA 
U.S.  Patent  Feb.23.2010  Sheet 5 of8  US  7,669,134 Bt 
404 
406 
@)  0  0  Instant Messages with Sue 
402 
410 
400 
i Not too much.) 
~  Did  you  hear what Bob did 
ISJ  yesterday? 
408 
oO 
Ill  500 
_iBobwho?) 
FIGURESB 
U.S.  Patent  Feb.23.2010  Sheet 6 of 8  US  7,669,134 Bt 
300            request to initiate instant messaging 
session, identify parties,  and determine icon 
for each party 
..  -- ----
304  302      -----
( 
                ....- Generating       
to other party?   
 
j 
-/----
indicating message is being    ---------1 N 
deliver signal to other party   
_____  generated  .  _  (  306 
       
               Receive message that    ..... 
poo            party is           
I         
                    image      ...--
message being generated by  1--------_...J N 
other party based on time 
created 
---.  -----
602 
- --   Display message and icon 
adjacent left side of display  _ 
window based on time 
completed 
----
Send  message to other party 
and display message and  icon 
locally adjacent right side of 
display window based on time 
_   __ completed 
604 
FIGURE 6 
310 
U.S.  Patent  Feb.23,2010  Sheet 7 of8  US  7,669,134 Bt 
404 
406 
" 
r, 
0 
0  0  Instant Messages with Sue 
402 
410  , 
-
:-
1\ 
o::;  :::  ( 
(Hey, what's up? (  [,] 
IIJJNottoomuch)  (
412 
 
[Did you  hear what Bob did, [  []  I--
yesterday?  / 
Ill :9r2  \__ 700  /704  .  : 
oO 
. 
-------- 
Ohman. it was so great.  You  " 
702  l  shoulda been  there,  manJ [] 
400 
408 
Qj 
~ 
404 
FIGURE? 
406 
~ - ~ 
------ -
~ -
8 
0  0  Instant Messages with Sue 
. 
4G2  :-
. '  (410  v 
1--
..  ,' 
1\  (Hey, what's up?(  1:!1] 
1111 Not too_rn@l)  ( 
412 
[Did you  hear what Bob did, l[J 
I--
yesterday?  ....,
I 
BOOl\  e  - ~ - .  Oh man,  it  was so great. You 
Ill  shoulda been  there.  man!  [I] 
{What dld you  do?l  ~ 
704 
400 
408 
c: 
-- ----------- .. 
- - ~ 
Q 
 
-
~ 
FIGURES 
U.S.  Patent  Feb.23.2010  Sheet 8 of 8 
13  6 
FtF===='jff13 
FIGURE9A 
The balloon will fit tightly 
around  this  message. 
1000 
FIGURE9B 
20  12 
r = + + = = = = ~ g 
FIGURE  lOA 
width-(20+12) 
FIGURE lOB 
US  7,669,134 Bt 
height-(9+13) 
US  7,669,134  Bl 
1 
VIETIIOD X\!) APPARATUS  FOR 
I>ISPL\YI:'\G                   DUIU:'\G .\:"\ 
1:'\ST\:'\T \1ESS.\GI:'\G SESSIO:'\ 
2 
unit.  Data  is  received  Jium a  second participant lo the com-
munication  session.  and  infonnation  rdming  to  the  dmn 
receivl.-d  from  the  second p.1rticipm11  is displayed on the Hrst 
display  unit.  wherein the infonnntion receivl.-d  from  the sec-
ISACK(jROUND OF Till: IN\"I;NT!ON 
1.  Field of the Invention 
.< ond  participant  is  displayed a!  a  second position on  the Jirsl 
display  unit.  The Jirsl  and second positions arc spatially dis-
tinct. 
"111is  invention rdntcs gcncrnl!y  to  a user  intcr!Ucc  for  dis-
playing an exchange of messages during an instant messaging 
session. aml more p;u1icular!y. to a mc!hod and apparatus I(Jr  lCJ
displaying  instant  message  exchanges  in  a  manner  that 
grnphically dillCrcntiatcs the participnnts inn convcrsmion. 
2.  Description of the Related Art 
Networks. such as the Interne!. intrancls. or other pri\aleor 
public networks. arc ubiquitous.  In  beL many compulers arc  l'i 
conn<..><::tcd  to  one or  more  networks  nl  the  same  time.  For 
cxmnplc. n business may have hundreds or even thousnnds of 
complllcrs coupled to  its own privmc  network. which was. m 
!cas!  initially.  used  primarily  ll1r  storage  and  exchange  of 
com puler Jiles. AI  !cas! some of these same business cmnpul- "" 
crs  may  also  be  coupled  to  the  internet.  Further.  with  the 
dcvdopmcntofwirdcss devices. nd  hoc nctworks mny also 
he  J(mned  with  properly  conligured  pm1ah!c  de\ ices.  !Oven 
telephonic  dL'\ices.  such  as  cellular  phones.  pagers  and  the 
!ike. may  be coupled lo one or moreofthesc nL""Iworks.  Small  "" 
businesses  nnd  homes  nrc  also  olien  com1ccted  in  similnr 
arrangements. 
In  another  nspL"CI  of  the  prcselll  invention.  n  complllcr 
read.1ble  program  storage  device  is  provided  and  encoded 
with  inslmclions  that.  when  cxL-cu!cd  by  a  compuler.  per-
limns a mc!hod. rhc mc!hod includes displaying inllmnalion 
relating to d.1w  produced by a Hrst  particip.1ntto the conunu-
nicntion session on n Hrst  display unit. wherein the  infonna-
tion  produced  by  the  Jirsl  p;u1icipanl  is  displayed  a!  a  Jirsl 
position  on  the  Jirsl  display  unit.  Data  is  rccei\L-d  Ji-om  a 
SL"Ctmd  participant  lo  the communication  session. and  inlllr-
mation  relating to  the  d.1W  receivL'<i  li-otn  the second partici-
pant  is  displnycd on the  !irs! displny unit.  wherein the  infor-
mation rL-ccivcd  Ji-om  the second participant is displayed a! a 
SL"Ctmd  position on the Jirsl display unit.  The Jirsl and SL"Ctmd 
positions nrc spminlly distinct. 
In still nnothcr aspect of the present invemion. n grnphical 
user intcrJUcc  for displaying inli.mnmion rdmcd ton conunu-
nication session  is  providL-d.  The inlcrliJce is  comprised of a 
Jirsl  and a SL"Ctmd  spatially distincl region. The Jirsl  region is 
ndaptcd to displny nt  lenstonc mcssnge from a Hrst  participant 
to  the  instant  messnging  session.  The  second  region  is 
ndaptcd  to  display m  lenstone  message  li-otn  a SL><::ond  par-
ticipant  lo  the  instant  messaging  session.  and  the  Jirsl  and 
A!!  of this  connecli\ ity  has  naturally  led  lo  cmnmunica-
tions  hc!wcen  various  users  mer  these  nL""Iworks.  For 
cxmnplc. electronic  mail  (e-mail).  bccnuse of its  usdi.J!ness. 
is  now  conunonp!ncc.  E-mail  is  now  widely  used  by  busi-
nesses  and  individuals.  nnd  in  m  least  some  instnnces  hns 
replaced more lradititma!  J(mns of communications.  such as 
maikd  kllers.  liJCsimi!cs.  telexes.  and  the  !ike.  I !owevcr. 
e-mail  has  proven  to  be  somL'\\"]l<ll  nwkward  when  USL'<i  to 
curry on nn  ongoing conversation. 
30  sL-ctmd  spatially  distincl  regions  p;u1ially  merlap  and  each 
include at  least  n portion thm  is  li-ce  from  overlnpping. 
In yet another nspectofthe present invention. a method for 
displaying infonnation related to a conununication session is 
prm idL-d.  lnl(mJJalion relating lo data produced by  a parlici-
35  panllo the communication session is  rccei\L-d. The inllmna-
tion  received  Ji"om  the  particip.1nt  is  then  nt  lens!  p.1rtinlly 
displayed witllin n spCL"Ch  bnlloon. 
Instant  messaging. on the other hnnd. allows  two  or more 
users connL-c!ed  through these nL""Iworks  lo  carry on an  inlcr-
aclivc  conversation.  l;xempbry  instant  messaging  sysiL""ms 
include  Apple  iChat.  AOI  lnswnt  Messenger.  Microsoli  40 
MSN  Messenger.  and  the  like.  Typically.  two or more  users 
type  in  messages  or  selec!  icons.  which  they  send  lo  one 
another.  n1e rL-cei\ing  p;u1y(ies)  may  immediately  respond 
with an appropriate message or icon. "J.hcse instant messages 
are commonly nll displnycd in serial JUshion. such as shown in  45 
I'IG.  l. usunlly scrolling the user's screen from top to bo!lom. 
Commonly.  each  message  is  preceded  by  a  label.  such  as 
JSohhyJ)211  and           in  l'!(i.  I.  indicating the  identity 
In still nnothcr aspect of the present invemion. n grnphical 
user iniL""rlilce  ll1r displaying inl(mnalion rela!L-d loa commu-
nication  session  is  prmidL-d.  The  graphical  user  iniL""rlilcc 
comprises n !irs! nnd second region. wherein the !irs! region is 
ndaptcd  to  displny  a speech  balloon.  The  second  region  is 
ndaptcd to displny m least one messngc  li"om  n particip.1ntto 
the instant messaging session. wherein the SL"Ctmd  region is a! 
!cas!  partially located within the Jirsl  region. 
BRII:F J)J:scRJPTION OF Till: DRAWINGS 
The imcnlion may  he undcrsllmd  by  rcJCrcncc  lo  the  !(J!-
Iowing description taken in nmjunclion with the accompany-
ing drawings.  in  which  like  re!Crence  numerals identify like 
dements. nnd  in  wll..ich: 
of the nuthor of the messngc. llcretolixc. users hnve relied on 
these  labels.  or  other  limited  indicia.  to  locme  and  idemify  '0 
messngcs  from  a  particulnr  party.  Accordingly.  it  will  be 
apprL-ciatcd that the presenlalion of each message in substan-
tially similar J(mnal makes it  dillind!!o readily de!crmine the 
authorship of one or more previous messages.  I jkL'\Vise.  it  is 
dillicult  to  go  back  and  quickly  locate  n  previous  message 
without reading through many pre\ ious  messages. 
I'IG.  1 illustrmes  a vk'\v  of n  screen  representative  of n 
,
5 
graphical user inter bee of a  prior art  ins! an!  messaging sys-
"l11c  present imenlion is dircc!cd lo overcoming or a!  !cas! 
reducing one or more of the problems sci  ll1rth  above. 
SUMM.\RYOI' Till: IN\"I:N"nON 
In one aspccl oft he present imenlion. a mc!hod is provided 
for  displaying  inlixmmion  rda!L-d  to  n commutl..icmion  ses-
sion.  lnformmion relating to d.1w  produced by n Hrst  pnrtici-
pmll  to  the  communicmion  session  is  displayL'<i  on  a  Hrst  65 
display  unit.  wherein  the  inl(mJJalion  produced  by  the  lirsl 
participant  is  displayed a!  a  Jirsl  position on  the lirsl display 
!em: 
l'l<i. 2 i!!uslralcs a lop-level diagram ofonccmbodimenl of 
n  hnrdware  system  on  which  the  present  invention  mny  be 
implemented: 
l'l<i. J  il!uslralcs a Jlowchart of  an embodiment of  a graphi-
cal user inlerbce !hal may hecxL-cu!L-d by components within 
the  sysiL""m  of I'! G.  I  lo  produce  the  exemplary  screens  of 
FIGS. 4 nnd  5: 
I'J(j. 4  illustrates n Hrst  view  of nn  cxemplmy  screen  rep-
rcscnlalivc of a graphical user inlcrliJce: 
I'! <iS.  5A-51S  i!!uslralc a  SL"Ctmd  and  third  \iLw  ofcxcm-
p!aty screens rcprcsenlali\e of a graphical user inlcrliJcc: 
US  7,669,134  Bl 
3 
I'Ki. 6 illustrates a !low  char! of an a!tcrnatin:: cmbmlimcnl 
of a graphical user interface that  may be executed by compo-
nents wi1hin  the system of !-'J(j.  1: 
!-'I G. 7  i!lustrntcs a view of an cxcmplm)' screen rcprcscn-
latin:: of a  graphical user interface: 
!'Ki.  8  illustralcs  an  ahcmatin::  \iL'\\"  of the  exemplary 
screen of !-'IG.  7: 
!-'IG. 9 i!lustrmcs a typical formm  for  a spc<..>ch  bubble: and 
I'Ki.  I 0 illuslratcs a speech balloon that has been slrctchcd 
or mmli!icd to accommoda!c a  message. 
While the inn::nlion is susceptible lo \arious modi!icalions 
and  altcmativc  fonns.  specific  embodiments  thcn.of  have 
b<..'Cll  shown by way ofcxmnplc in  the drawings and arc herein 
described in dc!ail. It should be understood. however. that  the 
description herein ofspccilic embodiments is no!  in !ended lo 
limit the invention to the particular Ji.mns disclosed_ but on the 
comrmy.  the  intention  is  to  cover nil  modi!icmions.  cquivn-
!cms.and al!crnmives falling within the spirit and scopeoflhc 
imenlion as dclined by  the appended claims. 
1)1:"!:\IJJ])  DI:SCRIPTION OF SPITIFIC 
!:MBODIMI:NTS 
4 
lion  in  any environment  where  two  or more users  arc  inler-
CllllllCC!ed  and cap.1ble of commutlicming with one nnolhcr. 
Those  skilled  in  !he art  wi!lapprccime 1hm  nclwork con-
nections  may  include n  vnricly  of other equipmelll.  such  as 
5  routers. switches. telephone modems. wireless devices. cabk 
modems.  digital  subscriber  lines.  and  the  like.  This  type of 
equipment is no!  i!lus1rmcd or discussed in detail herein so as 
to nvoid  unnccessnrily obli.Jscaling !he inslnlll  invention.  For 
purposes  of understanding  the  instant  invention.  it  is  sulli-
lCJ cienllo r<..>cognize  that additional conventional equipment of 
this  type may he uscli.1l  in establishing and maintaining com-
munications bclwcen the  various users. 
At  lens! two of! he devices in  the system 100 have sollware. 
such as an application program.  ins!alk-d  thereon lo allow  an 
15  instant  messaging session lo he  initiated and ctmduc!<..-d.  An 
instnm messnging session may include renl-time or ncar real-
time communicmions.  FIG. 3  illus1rn1cs a !lowchnn of n por-
tion  of !he  soliwnrc  nssoeintcd  with  itlitiming  the  instnnt 
messaging session and controlling a graphical  user inlerbcc 
""  (<iUI)  us<..-d  by  the participants  lo  the instant  messaging ses-
sion.  In  pnnicular.  the  process begins at  block 300 in  a con-
vemionnl  mmmer  with  one  of the  two  pnnics  sending  the 
other party an  invitation lo  initiate an instant messaging ses-
sion. Assuming !hall he other party accepts the im italion. the  H!uslralive  embodiments  of the  imcnlion  arc  described 
below.  In  the  imercslof clarity.  no!  nil  features  of nn  ncnml 
imp!cmcnwtion nrc  describ<..'d  in  tills  sp<..>ci!icmion.  II  will of 
course  be  npprccimcd  thm  in  1he  developmcm  of nny  such 
aclual embodiment. numcnms impkmcnlalion-specilic deci-
sions must  be made lo achie\e the de\ elopers' specilic goals. 
such as complinnce with sys1cm-rela!ed and business-related 
constraints.  which  will  vnry  from  one  implemenlmion  to 
another. Morcmer. it  will be appr<..>cial<..'d  that  such a develop-
men!  emll1  might  be  complex  and  time-consuming.  but 
would  ne\erthekss  he  a  routine  undertaking  ll1r  those  of 
ordinmy skill  in  !he art  hnving !he benclil of1his disclosure.  35 
"5  sollwarc on each  party's computer initiates the (iUI.  which 
opens  n  window  where  both  parties'  messngcs  and  other 
pcrtincm  informmion nnd controls nrc  displayed.  An exem-
platy rcprcscnlalion ofthe(iUI is shown in 1:1G. 4 and may he 
rc!Crenccd  simultaneous with the discussion ofl'l(i. 3 herein 
30  Ji.1r  a more  complete  understnnding  of 1he  opcrmion  of the 
instnm  invention. 
The mcssnges exchanged  by 1hc  pnnicipmus  may contnin 
inllmJJalion  regarding an  icon  lo  be  us<..-d  lo  represent  each 
party.  For  example.  party  A  may  sd<..>cl  an  icon.  such  as 
"Mnry" 400 as n graphicnl rcprcsentmion of party.\. Party B 
may receive and s1orc  1he  icon and 1hen display it  ndjaccnta  Turning now 10  FIG. 2. n block diagram depic1ing n sys1em 
I 00 in accordance with embodiments oft he present invention 
is  illustrated. "l11c  system  I 00 includes a plurality of cmnpul-
ing  d<..'\ices  coupkd together  through one or  more  nclwork 
conn<..>clions.  For  cxmnplc.  n  plurnli1y  of devices  may  be  40 
coupled  logc!hcr  via  n  private  or  public  ne1work.  such  as  a 
local  area  network  (!.AN)  102  or  the  Interne!.  The  aclual 
conn<..>clion  bdwcen the de\ ices and the  I.AN  I 02  may lake 
message delivered  by  party A  "ll1e  icon  makes  it  ensier  for 
party  B  lo  more quickly  identiFy  those messages associat<..-d 
with party A.  An  exemplary exchange of messages in  which 
party A  hus  selcc1cd  1he  icon  "Mmy" 400  nnd  puny  B  has 
scl<..>c!cd  1hc  icon "Sue" 402  is  shown  in  FIG.  4.  Displaying 
unique graphical  icons  allows a  user lo  readily  identify  the 
speaker  with  a  quick  glance.  Additionally.  displaying  the 
icons adjacent each pat1y's message allows the users lo  idcn- on one or more ofnny of a vnriely of fonns. such as n network 
inlcrJUcc  curd  (NIC).  a  modem_  a  digilnl  subscriber  line 
(DS!.).  a cable  modem.  a wireless comJcclion_  and  the  like. 
The  de\ ices  coupled  lo  the  !.AN  102  may  include.  ll1r 
example.  desktop computers.  such as an Apple  Macintosh f\ 
104. n classic Apple Mnc  R 106. nn  IBM compmible pcrsonnl 
compmcr (PC) 108. and 1he like.  Further. these dcsk1op com-
puters.  such as the Apple Macintosh R  I 04.  may he coupled 
together\ ia  a smaller sub-I.AN  I I 0. with the sub- I .AN  I I 0 
being coupled lo  the I.AN  I 02.  Portable de\ ices. such as the 
Apple PowcrBook !\  or iBook !\  112. mny nlso be coupled to 
1he !.AN  102. ci1her directly or ns  panof1hc sub-! __ \N 110. 
Ftu1hcr.  other  consumer  de\ ices.  such  as  cell  phones.  per-
sonal data assistants (PDAs).  nclwork appliances. and other 
cmb<..'dd<..'d devices mny be conn<..>c!cd  to !he l .. \N 102 so us to 
employ nspcc1s of the  inswm invention. 
45  til)'  !he  speaker  wi1hout  looking  nway  from  !he  messnge 
region oft he GUI  lnnn al!crnmive embodimcnt.thc user may 
dec!lo display no! only the icon. hut also the name associat<..-d 
with the author of the message.  On  the other hand.  the  user 
may elect1o displny only the nmne associm<..-d with the author 
'0  of the  message.  preveming  the  icon  Ji"om  being  displayed 
nl!ogc1hcr.  if desir<..'d. 
Those skilled  in  the ;u1  will appr<..>ciale  thatlhc icons nc<..-d 
no! beddi\ercd with each message. That is. party A may send 
nn  icon during 1he  initial  portion of1he session. nnd party  B 
'5  willassocimc !he icon with p.1r1y A. s1orc  it  locally. and then 
rclricvc and display  it  each time a  message  is  r<..>ccivcd  from 
party  A.  Additionally.  pat1y  A's  icon  may  be  merridden 
locally  by  party  IS.  Thai  is.  party  B  may  eke!  lo  display  a 
different icon ndjaccnt party.\ 's messages. m lens! on the GUI 
60  vicw<..'d  by  party  B.  Party  B  may select  any of n plurnli1y  of 
icons slor<..-d  locally. and indicate through the local (iUI. such 
as  by  pointing  and  clicking  on  \arious  pull-down  mem1s 
provided  by  the  local  GUI.  that  the  selec1<..'d  icon  should  be 
While  1he  invemion  hus  been  i!luslra!ed  herein  us  being 
usdi.J!  in  a  network  cnvinmmcnl.  it  also  has  application  in 
other conncc!cd em ironmenls.  For example.  two  or more of 
!he  devices  described  nbove  mny  be  coupled  logc!hcr  via 
device-to-device com1ec1ions.  such ns  by  hard cabling. radio 
frequency  signals  (e.g ..  802.11 (n).  802.11 (b).  802.11 (g).  65 
ISiueloolh. or the like).  inlioJr<..-d  coupling. telephone lines and 
modems. or the like. The instant invention may  have applica-
used when displaying p.1r1y .\ 's messngcs. 
The GUI  mny nlso usc  nddi1ional  strategies to  graphicnlly 
difJCrcnliale the parties of the instant messaging session.  For 
cxampk. a  sending  p;u1y  may  send an  indication of a  color 
US  7,669,134  Bl 
5 
scheme in  which his/her messages should be displayed. The 
n.>cdving  party  may  then.  at  his/her discretion.  display  the 
messages li"om  the  sender in  the rcqucst<..-d  color scheme. 
Altcrnmivdy. the receiving party may ck>ct to override the 
sending  parties  requested  prcfen::ncc.  and  instead  display 
each p;u1y's message in its own distincl color That is. party A. 
during an                   phase. may indicate through the local 
GUithat any  message  rccciv<..'d  from  party  B should be dis-
played with red k:ncrs and a  white background. and that any 
messages generated  by  himsdL should  he displayed  with  a 
ydlow  background and black k:ncrs.  In either case. the color 
distinction allows the party to visua !ly determine the author of 
a  message without  the need to read and undcrswnd an iden-
tiFying  name,  such  as  is  illustrated  in  the  prior art a!  FIG.  I 
(e.g ..  BohhyD2ll). 
6 
nmvcrsalion  is  preserved,  with  older  messages  appearing 
nearer  the  top  of the  GUI  nnd  newer  mcssag.cs  appearing 
nearer the bottom of the GUI .. \s the disp!ny region oft he GUI 
Hlls. old mcssngcs arc scrolled up nnd om of view  .. \  user mny. 
5  howc\cr,  aclivale a  scmllhar  mechanism  408  using conven-
tional  point  and  click  techniques  lo  alter  the  portion  of the 
conversmion prcscmcd in  the GUI. Forcxnmple. the user may 
move  the  scrollbar mechanism 408 upwnrd  to  view  nn  older 
portion  of the  conversation.  or downward  lo  \iL-v.- a  more 
1"  recent portion of the conversation. 
'Ill  !i.u1hcr  enhance the  readability and  lo  provide  !i.1rthcr 
g.mphicn! idcnti!icmion of the author of each mcssngc appear-
ing in  the  GUL cnch mcssag.c  may  be  displayed  in  a spL>cch 
balloon  410.  The  balloon  410  includes  a  tail  scclion  412, 
15  which generally extends toward the icon associa!L-d  with the 
mnhor of the mcssag.c.  For cxnmple. each mcssngc  lfom  the 
user idcnti!iL'd by the icon Mary 400 nppcars inn balloon 410 
that  has  its  wil  SL><::tion  412  extending.  g.cncmlly  townrd  the 
Allowing. the sender to select the color and style. however. 
mny lead to  some conli.1sion  in  the cvemthatanothcr pnrtici-
pmu  to  the  instnnt  mcssnging sessions  elects a similnr style 
and/or !(ml.  I Ompowcring the receiver of the message lo over-
ride locally the style and color choices indicated by the sender  "" 
icon Mary 400. In the cvcnllhal an icon is  no! associa!L-d with 
the author of the message. the tail sec! ion 412 is still useli.J! lo 
g.mphicnlly  illustrmc  the  mnhor.  Thm  is.  since  the  GUI  is 
divided  into  !eli  nnd  right  horizomal  regions.  404.  406  a 
spL"L><::h  balloon 410 !oca!L-d  in  the  !c!l  horizontal  region 404 
with  its  tail  scclion  412  extending  toward  the  !c!l  will  still 
mny  help  to  nllcvimc  any  conli.1sion.  Thm  is.  the  receiving 
puny mny elect  to displny the mcssngc with n dillCrcm color 
and style than  indicated by the sending party,  a!  leas!  on  the 
(jlJJ  \ iL-v.Ttl  by the receiving party. rhc rccci\ ing party may 
selcc! any of  a plurality of colors and styles stored locally. and 
indicmc through the locnl GUL such us by pointing. and click-
ing.  on  vnrious  pull-down  menus  provided  by  the  !ocn! GUL 
that the selcc!cd color and style sl](m!d he used when display-
ing  the  rccci\L-d  messages.  Ahcmali\cly.  the  (jlJJ  may  be 
progrnnuncd to autommicnlly nssig.n a dillCrcm color to each 
pnnicipmu. 
"5  prmidc a graphical indication of the author (e.g., Sue 402  in 
the  embodiment of FIG.  4 ). 
The  site of the balloon 410  is  controlled nccording to the 
length of the message.  That  is,  the GUI  rccci\cs a  message, 
dc!crmincs  the  length  of the  message.  dc!cnnincs  the  size 
An additional  grnphical distinction mny  be  nccomplishcd 
by partitioning thc(jlJJ into spaliallydistincl regions and then 
dirccling the messages loa region basL-d  upon its authorship. 
I-' or cxmnplc. the cxcmp!nry GUI of FIG. 4 hns bL-cn  g.cncmlly 
divided  imo  two  horitonwl  rcg.ions.  n  !eli  rcg.ion  404  and  a 
rig.ht  reg. ion 406.  I-' or example. nil mcssngcs gcnerntcd by  the 
local user (party A). rcprcscn!L-d  by  Mary 400, arc displayed 
30  (e.g. ..  based on the number of lines of text  to be disp!nycd) of 
the  bnlloon  410  required  to  displny  the  mcssag.c.  nnd  then 
draws the bnlloon 410 with text  in the npproprimc horitonwl 
portion of the GUiusing the colors. style, and icon associa!L-d 
with the author of the message. A more dc!aik-d discussion of 
35  the  sizing nspcct of the  speech bnlloons mny  be  li.ltl!ld  below 
in conjunction with FIGS. 9  nnd  10. 
in  the  right  region  406.  and  all  messages  gcncra!L-d  by  the 
remote user (party B).  represented by Sue 402. nrc displayed  40 
in  the !eli region 404. It should be apprccimL'd that the assign-
ment ofle!l and right  regions lo parties A and     rcspccli\cly. 
may he rL'\crsL-d  without departing  !i-om  the spirit and scope 
of the  instant  imcnlion.  Morcmcr,  it  is  anticipated  that  the 
various spatinlly distinct reg. ions may over!np. Thm is. a mcs- 45 
sng.c g.cncmtcd by Mal)' 400 may extend lfom the rig.ht region 
406 and a!  leas!  partially into the !eli region 404. Similarly, a 
message  generated  by  Sue  402  may  extend  !!om  the  !eli 
rcg.ion  404  nnd  nt  least  partially  into  the  right  region  406. 
Thus. the mcssngcs mny ntlenst pnrtinlly overlnp. depending  '0 
on the  length of the  mcssngcs. 
Further, depending upon the numhcrofp;u1icipanls. it  may 
During nn  inswm  mcssnging session  it  is  olicn  useful  to 
indicate  when  a  remote  party  is  preparing  a  message  lo  he 
sen!.  l'or example. a!kr party A sends a message requesting a 
response.  it  is  uscli.ll  to  know  if party  B  is  prcpnring.  the 
requested response.  Knowing.thm the other party is  abomto 
respond allows a  more natural  !low  lo  the conversation.  For 
example. if party B docs no! answer a question  !i-om  p;u1y A 
in  a  timely  manner,  p;u1y  A  may  send  a  SL><::ond.  related 
request.  Party B.  however. may promptly respond to the Hrst 
request.  leaving  party  .\  to  g.ucss  nt  whether  the  response 
applies lo the !irs! request. the SL><::ond  request. or both. 
Accordingly. in  thccmbodimcnl ofthc(jlJI shown in J'](j_ 
3. nt  block 302 the sollwarc determines whether a mcssng.c  is 
being.  g.cncrmL'd.  and  in  the  event  thm  a  mcssag.c  is  being 
prcpnrL'd.  the  software m  block 304 delivers  a signn!  to  the 
other party indicating that  a message is being generated. One 
mc!hod  !\1r  dc!cnnining whc!hcr  a  message  is  being gcncr-
mcd is for the remote terminal to monitor an inpmlicld for any 
he useful  to  delinc  more  than  two  spatially distincl  regions. 
1-'or  example. where three pnnicipmus arc present.  it  may be 
uscli.llto provide three horizontn!  regions.  '5  charnctcrs having been cmcrcd. such ns via the kcybonrd. nnd 
report hack lo the local!cJminal. For example. if the soH ware 
dc!L><::Is  that  a  kLJ-strokc  has  been  entered  or  that  cmolicons 
ha\c been  sck><::ted,  then  it  assumes  that  a  message  is  being 
In  the exemplary (jlJI  of l'l(j_  4,  the lex!  of the messages 
associa!L-d with Sue 402  is displayL-d  in  the le!l  region and is 
!eli _iusti!iL-d.  Similarly  the  lex!  of the  messages  associated 
with  Mm)'  400  is  displnycd  in  the  right  rcg.ion  and  is  right 
justiHcd.  Those  skilled  in  the  nrt  will  npprccimc  thm  other  60 
_justi!icalion schemes may he usL-d without departing !ium the 
spirit and scope of the instant  invention. 
In  one  cmbodimcm  of the  instant  invention.  the  order  in 
which the mcssng.csnppcaron the GUI gcncrnlly corresponds 
to  the order in which they were rcceiwd.  I-' or example. in  the 
illuslra!L-d embodiment of l'l(j_  4. each message is displayed 
below  pre\ iously rccci\L-d  messages so  that  the order of the 
prcpnrL'<i  to be scm to  the  other party. and the software sends 
n signal indicming thm n possible responsive mcssngc is being. 
prcparL-d. 
AI  block  306.  the  so!lwarc  checks  !\1r  a  signal  !imn  the 
other  remote  party  indicating.  that  n  message  is  being.  pre-
paR-d.  If such n signal  is  received. comro! trnns!Crs  to  block 
65  308 where  the  GUI  is  activntcd  to  produce a g.mphicn!  indi-
cation that a message is being prcparL'<i by the other p;u1y. An 
exemplary rcprcscnlalion of the graphical  indicator is shown 
-;,sqns  am  ptm  p;ol1,;oJ:J  :JJ;o_\'\.  k")t1l  Wl]l  ;,m!l  ;,t1l  uodn  p.")st'q 
p.")J:J(l.lO  am pm"1 J;ot1JO  ;,t1l  uo 'S:JJqqnq  lt11lnmu_  p.")P1dmtn 
                  ;:Jt]l  Flt]l         ;:Jt]l  uodn                             
                                                           r09 pue "('."09  "009 
        JO                ;:ll]l  l]l!-\\  "9         JO  )!Jljl  0)          .(!!P-1) 
-tmJsqns    f  "!)1:1  u! l1JJOJ              ;,t1J .\!!m;ou:J!)            
.\11m1p1'  .\;,t1l  l(Jll(.1.  ll!  J:l(l.lO  ;otp  ll!  !fl!)  :ll(J  m  Jt,:Jdd1' 
,\;:Jt]l  Wl]l  OS  SUOO!!P-q                ;:ll]l'i!UU;:JpJO;:JJ  U!            pOtj);:lUl  09 
e  JO  )U;:Jm!poquw  ;:JUO                  9         JO  petp_\\O[l  ;:lliJ. 
                       1'  11'                 ;ot1l 
JO _\'\.0[1  :ll1J p1,a1              ;ot1l ;oJ:Jl(.1. .\pt'1lD!J.l1'tf             
                           .10:1                      J:ll1JO  ;ot1l.JO  l1"(J  lUOJj 
um'i!;-oJ  pmJs!p             1'  u!              :llj  r1no:J             
symdp!).Wd  J)OUWJ         "SlUJtmpoqm;-,  JJl]IO  U]  '_\\OpU!.\\ 
         S,)UL>dp!)Jed        ;:JtjljOf:'Ot        Jj;)] ;:Jtjl  UO            
                    Jptjl JO         snmdp1ued ;:J)OtuJJ          Jo o.\\J 
;o.11'  aJ;ot1l  aJ;ot1""        -w1pm-">\          ;oqqo tOt ;op1s  \PI :ll(J 
UO  p:lJU:JSaJd  ;o.11'                 p.")Jl,J:JU:J1J  .([;oJOlU;oJ  1Jl'  ptm "lfl!) 
;:Jtj)  U]  _\\OpU].\\  ,\r,]dS]p Jl]l JO 90f:' Jp]S  Hj'ilp  Jl]l  UO            
;:JJe                                ,\j]eJO] !!!J  "HWUHpoqtuJ JUO  UJ       
         :JJOUl  JO  :J.'Ul1J'i!U!\10.\Ul  SU()[SS:JS  1Ju!'il1"S:llU         
Ul  p:J.\01dm:J  .\ppt!.")J  ;oq  .\1'm  UO!JU;o\Ul          :ll(J           
1lu!111"s:Jm           m'  OJ               O.LJ  an'  aJ:Jt1J  'P!'1""  OJ  ;os!J  ;o.\!TI  .\1'm 1luu;op.1o                                 'f:'()L  :J[qqnq 
            ;:Jt]l          lOU  "J;:J)JP-             ZOL           lt]ilnotjl     U!              ,\Jejdm;:JX;:l  U!             U;:JJq  S!Jtj  UO!JU;:lAU] 
lUeJSU!  ;:Jtj) J]!tj.\\ Jet] I ;:J)epJJddr, !!!.\\ UeJt]l U]           ;:JSOllJ.                                           ;:Jt]l  t]ilnotp            "POL -zoL 
-ooL  .1;opm  :ll(J  u!  p:JJJn:J::>o  ;,wt1  01  .m;,ddt'  II!-""  uo!J1".n\mn 
:ll]l U:ll(J  Tiu!J:l(l.lO-;oJ l]ll">\ ;,1qqnq Jt1Tinm1J :ll]l s:J:Jl'1daJ .\p.1;om 
(U_\\Ol]S  lOU)  Ullll!!P-q             ;:ll]l  J]                  ;:ll]l              
(U_\\Ol]S  )OU)  UOO!!eq             r,  .(q                   m.\\ ZOL  ;:l]qqnq  0> 
)l]illllltj)  ;:ll]l                ;:JtjJ          pue               ZOr ;:IllS  ;:JJUO 
       "POL ;o1l1"s:Jm 1' JU:Js  111q                    JO_J  JW">\  Jtm P!P 
'J;o\;o_Lm1"00P .ZmVi[  '()()L            ;ot1l  .Lopq ZOP uo::>!  :Jl1S ;ot1l 
                       S!  ZOL           lt]ilnotJl e                 oot 
.\.iejiiJ  .\q                  OOL               e  OJ               e                  
JO SS:JJtud :ll(J Ul  Sl  Zl)f:' ;ons 'L  '!)1:1 ll!                   JU;ouupoqm:J 
:ll]l  Ul  'U()[WSJ:l.\UOJ  l'  Ul                JO  U()[Jl'JU;osaJd  J:l(l.lO 
J0-]110  tm              OJ  L  "!)1:1  Ul                                 
)Ue)sm  ;Jt]l                          JO:J                SJ!          pue 
               ,\J.md JSJ!J  ;Jt]l                      e                           ot 
      pum:Js;ot11Jl1lj :Jsuods:JJ t''ilu!.mda1d S!  .\JJl'd JS.l!J  1' tpll(-"" 
u!             :Jsm11  Tiu!mp ml!J1"J;o\mn 1'JO .1;op.1o ;,t1l :JU:JsaJd 
OJ         S!                       ;:Jtj)  JO  )U;:Jm!poquw        UJ 
                S!  f  '!)]:J U!                       JtjJJO  UO!UOd  e        
.\J.l1'd 
Jl':lo1  ;,t1Jl(J!-""                  ;o:Jtmt1u;,          OJ             JqTiu 
S!  pur,  OJr UOO!!eq             r,  U!             S!              )X;:JJ  Jl]l 
.(!!eUO!)!PP\' "J[E) ;:JtjJ  U]  .\WpU!.\\           e JO 90t        Jt]ilU 
;:Jtjl  uo  p."),\e]ds!p        .(ped       Jt]l  ,\q                          
;ot1l  s ptm  p  "S!)!:! JO  SJU;ouupoqm:J                 :lt1J  u1  lfl!) 
Jl':l01  ;ot1l  Ul  J()[(Jlm  :ll(J  l(Jl">\  fA")Jm:JOSSl'  UO:l!  :ll(J  l(Jl">\  1JUO(l' 
(J'j!i  ;:Jtj)  JO  "UOJ!)OUJJ  JO)              JXJ)  Jl]l            ;:JJe.\\ 
\IllS  ;:Jtj)  .(i!P-UO!)!pp\"  "UOO!!eq  njilnOtjJ  ;:Jtj)  JO                
Ul  ()lf:'  U001Jl'lJ  tp;-o:Jds  :ll1J  Ul  p:J.\t'[dS!P  U:ll1J  Sl  ;o'il1"S:llU 
;otJ_L  .\J.l1'tf  J;ol110  ;otp  OJ  [[(l!J:l.")UUO:l  )'(JO.\'\.PU  :ll1J  J;o\l) ;o'il1"S:llU 
;,t1l  S.l:l.\!{JP  ;oJ1,">\JjOS  ;,t1l  ptm 9J :-j:lO(q  OJ  SJ:J_]Stm.lJ10JJUO:l 
os J!              S]  .\ued ]eJO]  ;:Jtjl  .\q              'i!uwq               
;:Jtjl  J!  JU]UU;:JJJp  OJ          ;:JJe_\\ljm  Jl]l  "f:'J  'jJOJq  l\' 
       :lJOUl;oJ  "J:ll(JO :ll1Jl(Jl">\                      ;o:Jtml1U;o 
         OJ               l,P1  Sl  put' ()Jf:'  U001(l'lJ  tp;-,;,ds  l'  Ul  p.")JU:JS 
-JJd  S]              JXJ)  Jl]l  ,\!!eUO!)!pp\'  'J[E) Jl]l  m  _\\OpU!.\\ 
         e  JO  rOt      Jj;)j  ;:ll]l  UO               ;:JJe  .().md  J)OtuJJ 
   "JJtjlll Jl]l mOJJ p;:!AWJJJ                ;:Jtjl"S pur, r                 
-1poqm;,  p.")Jl,JJSll[[!  ;,tp  u1  'JX;oJ  1lm.\tmdmo:J:J1'      ptm  uoo1 
lP- JO  )U;:Jtu!poquw  J,\!)etUJJje  ue  9         OJ  .\\OU  ilmuJnJ. 
                     ;,t1l :JJ;ol(-""  zot :-j:lO[q OJ:-j:lt'q SJ:J_]Sut!lJ[lUJUlD 
u;,t1l                         1Ju!'il1"S:llU  JUl,JSU!  ;ot1l.J!  ;os!-\\.l:ll(J() 
umJiltud  Jt]l  JO  dn 1lmpm.\\  .\p;-,pJo  pue  JJdOJd  e  JOJ       
-uodsJJ umJiltud JJt]IOtm  Ollllll         SJJJStWJl  pur,           
Jl]lJO ilu!ptw ;:Jtjl            8Jf                         ;:ll]l  tmop  OC 
         :lS!_\\.l;ol110 JO :-j.lO_\'\.pU ;ot1l.JOJJO 'i!u!1!1Jo1           ;ol1lJO 
l[JOq .10 :Juo .\q st'                  umss:Js'i!m1!1"s;-,m ;,t1l.J 1 
-(l'lJ                           ;,t1l  .\q p."):Jl'1daJ  S!  ;,1qqnq Jt1Tinm[J 
                  ,\tm                    UJ  "JOt]llle        tJl!_\\         
-mse uoJ! Jt]l  tjlL\\ iluo1e                Jo               Jo)               
JXJl  ;:Jtjl            JJR\\ljm  ;:Jtjl  ;:JJJt].\\  ZJ        01  SJ:J_JSUeJJ 
10JJUO:J  os .11  .(JJl'd  J:Jtpo  :ll(J        p:l.\l:J:J.")J  u;,;,q       ;,1\1" 
      1' .11  :Ju!mJ;opp OJ             am.Luos  :ll(J  o If )-[:JO]q  IV 
            Jt]l ,\q                              
;:JtjlJO            p;-,Jepdn .\ue::>!pop;-,d UJt]l JJe               ]e]ued 
                           
Jl]l      ]fl!) ;:Jtjl  JO  JP!S  \Pi  JtjJ JJO                         JJpjO 
l(J!-""                J;op[O JO  Jl(TI!.l  :ll(J  OJ  p.").\qds!p ;oq  .\1'm           
-s;-,m  JU:J:J:JJ  a1om  ;,1dt1mx;,  J0.-1                            Jtm]sm 
.\mm1  m  p.").\o1dm;, Tiu!uons Jl':l!J.l:l.\  uommtn ;,tp OJ  p.")soddo 
    ,\!!elUOZ!JOl]       0)  UO!)P-SJJ,\UOJ  JtjJ  _\\O!!!J  0)  J11J;)Sil 
,:c  ;otJ_L  ,;  ,  .\q     tpns ;,p[dtuo:J p.\ ]tm                 :ll(J  J1"[J 
ml!J1':l!PU!  :l!t1dt!JTI  1'  .\q  p:l!tmdmo:J:J1'     :J'i!1"s:Jm  1l'!J.ll'd  :ll(J 
"JU:lm!poqm;, :J.\!Wtu;,J]l' Slt1J  u1  'P:JJt,daJd Tim:Jq                1' 
JetjJ           Ue sr,  )U;:J!dpJJ  ;:Jtj)  OJ                  ;:JJe         
     Je!).md  Jo               nwunpoqm;-, J.\peuJJl]e  ue U] 
               
JO j:l-\;o( J:llf!llt11' J1'  U()[SS:JS               Jlm]SU!tm Ul  :JWdl:l!J.l1'tf 
,\]:-jJlllfl  ;:JJOm  OJ  ;:Jjqe  Jq !!!-\\ pur,                                  
;:Jtjl  JO  UO!WJJdo  pur,  UO!PtH1J  ;:Jtjl  pue)SJJpun            ,\em 
SJJsn                     uJ,\;:1  .(]'i!mpJoJJ\"               ]enpe ue OJ 
Jq OSje ,\em)! SUO!ilJJ                       tjl!.\\ J[E) r,  U]  "UO!ilJJ 
:l1PP!Ul  (lD!).l;o\  1'      tpns  um'i!;-,.1  :lJl'!fA")UU;oJU!  Ul'  p.")UTI!SS1'  o<: 
':J.\Oljl'                   'JO J:ll(PTIOJ  p.")dmuTI ;oq  .\1'm               
          JeUO!)!PPV  uo!'i!JJ  monoq Jt]l                    ,\em  )tmd 
-p!)JP-d J)OUWJ ;:Jtj)  pue "]fl!) ;:Jtj)JO  UO!f.JJ dO)  Jl]l                  
.(etu nmdp!Ued jeJO] ;:ll]l"JjdUWXJJO:J "J[E) ;:lljlJO UO!)JOd     
!J.l:l.\  1'  fA")U1\!SS1'  1\U!:Jq  ]tmdl:l!J.ll'd  l(J1';o  l(Jl">\                      
PU!JS!P  .\]]mJt,ds  OJU!  lfl!) :ll1J'i!U!p!.\lp  .\q                     ;oq 
,\em  snmdp!ued sno!Je\  Jt]l               JO:J  uo!HWAm  me)sm 
,:1  JOSJil:J;tJd 1'                               .\p\!lll1JU! .\1'm       :ll(J 
"(){f:'  UOOIJl'q  l1:l."):Jtfs  ;ot1l  'UllUJ  :l(lJ1"1S!Il'ilU!JS!P  .([!S1,;o  Jlllj  "OJ 
Jenuns                   OOS           njilnot]l                    pJ]tiJ. 
       .(uetu  OJ  Je!J!mP-J                               UOU!UlOJ 
;o.11'  s;-,[qqnq  Jt]illllll1l  pmn")s p:J.(t,1ds!p :llj  p[llll_\'\.  :J1l1"s;-,m  1' 
Jl]l JO  JdOJS  pur,  Jp!dS  ;:JtjJ  mOJJ                )lllltj)!-\\            
J;ot1JO  u!  SJtmdD!J.l1'd  sno!.m.\  ;,t1J  qsm'ilmJS!P           .\tml 
              J;ol110  J1"(J  fA")UO!SL\U:l  Sl  l!  "SUO!'i!:JJ  1l'JUO/!J()[1 
PU!JS!P .\[[l'!J1,ds  OJU!  P:JP!\!P  lfl!) :ll(Jl1J!-"" lLLm[S  u;o:Jq  ;owt1 
U!JJ;:Jt]                             ;:Jtjl  ;:lJ!lj.\\  .(!!eUO!l!PP\' 
mwpJJt]l               
'ilmpu:J]x;o :J[qqnq tp;-o:Jds               :ll(J ptm um1!;-,.J(l!lJU;o:J;ot1l 
ll!  1\u!.m;,ddt' UO:l!  J;ol1fS!l1l(J!-""  um'i!;-,.1  (l'JJU;o:J1'  OJ                  
)UL>dp!)Jed pmjJ e "HS        m  U_\\Ol]S  )U;:Jtu!poquw ;:JtjJ Uj  'PU!) 
-S!P                          PJ!tJl  pue             "ls.!!J  JtJJ  upJJt].\\ 
.(];:!A!PJdSJJ            pm]l  pur,  pUll:)..")$  ")s.!!J  U!  p;-,,\e]dS!P 
Jq  r1no:J                 ;o)om:JJ  PJ!l]l  ptm  puo:J.")S         tulUJ 
8 
fll  J1"1J  UO!TI:lJ  1m;ou:J'i! :ll!ms :ll(J ll!  lfl!);ol1l Ul  s.m:Jddt' ()()S :l1qqnq 
Jl1'ill1m(J  ;otp  "JS.ll:1  ":JSUOdS:JJ  1'  1\u!.md;,Jd     .()Jl,d  J:ll(JO  :ll(J 
WtjJ         ;:Jtj)               JOJ                                 00S Jjqqnq 
HJ'ilnot]l  ;:Jtjl  suoseJJ  JO           e  JO:J                 e  iluped 
-:JJd .\[JUawu s1  zot ;ons l1"[J  ml!JtDIPU!  (tD!l(dm'il1' s:JP!\oJd 
,_- ()()S  ..  ;,[qqnq  Jt1TII1m[J,  l'  "S  "!)1:1.]0  JU:lm!poqm;,  .\.Jqdm;,x;, 
;:Jtj)  UJ               ;:Jtj)                 S!  Otj.\\  .\ued Jl]l  l]ll.\\         
-mse      ;:ll]l  l]l].\\ 'i!UOje                 f,upjU]ljl S]  JJPeJetp r, 
WtjJ         01                 U]         UJIJO s1  se      ,;J]qqnq 
Jt11lnm[J,  1'  ':J[dumx;,  J0.-1  s  "!)1:1JO  Hl!)  .\.Jqdm;,x;,  ;,t1l  u! 
L 
18  tSJ'699'L sn 
US  7,669,134  Bl 
9 
quently  replaced  by  a  speech  balloon.  Because  a  thought 
bubble may be created wdl before 1hc corresponding speech 
balloon  is  completed.  it  is  possible  for other panics to com-
plete  messages  in  the  intervening time.  Thus. when  the  cor-
responding spc-.x:h  bubble is cmnpk:ted and replaces the cor-
responding thought bubble. the order of the speech balloons 
may val)' 
At  block  J06.  the  sollwarc  checks  for  a  signal  li"om  the 
other  remote  p;u1y  imlicaling  that  a  message  is  being  pre-
pared.  If such a  signal  is  rcccinxL contmltranskrs lo block 
600 where the (jlJJ  is  acli\alcd  to  produce a  graphical  indi-
cation that a message is being prepared by the other party  The 
order in which the graphical  indicntion is  displayed  is  based 
upon the time !hal  the thought huhh!e was created. The time 
thatlhe thought bubble was created may  he determined Jium 
a time stamp provid<..-d by !he remote user who is in !he process 
of preparing. !he message. 
"lllcrcalicr. at  block J 10. the soliwarc checks lo determine 
if a  message  has  been  recei\ed  from  the  other  party.  If so. 
control lransJCrs lo block 602 where the so!iwaredisp!ays the 
text  mcssag.c  (or  cmoticon.  or !he  like) along.  with  the  icon 
associat<..-d  with the author.  In  this  instance. any correspond-
ing  thought  huhh!e  is  removed  and  replaced  by  the  corre-
sponding  speech  balloon  and  its  accompanying  lex!.  I low-
e\er.  the  speech  ha!!mm  is  ordered  has<..-d  upon  the  time 
complct<..-d.  The  lime  !hal  !he  speech  bubble was completed 
may be determined from a time stamp provided by the rem ole 
user who genera!L'<i  the message. 
10 
loon and  within  these margins.  Using  these margins causes 
!he sp<..-cch  baBoon lo !it1ig.luly around !he mcssag.c.  as illus-
lrat<..-d  in !-'IG. 9B. so as lobe acs!hclically pleasing. while no! 
unnecessarily consuming.  !ar-6c  portions of !he GUI.  Rcduc-
5  ing the si1e of the spe<..x:h  baBoons a Bows  more messages lo 
appear on the GUI  a!  one time. 
The GUluscs !he informmion regarding. the size of the lex! 
message and 1hc desired marg.ins lo produce a speech balloon 
of the appropriate size. The process invohes di\ iding a  lem-
ICJ plate  speech  baBoon  into  nine  regions.  such as  is  shown  in 
1:](;.  I OA. rhe nine regions are comprised of J(mrcorners. !ell 
and  right  cdg.cs. 1op  and bo11om  cdg.cs.  and a central  rcg.ion. 
Initially. 1hc  marg.ins arc added lo 1hc  rectangular area  taken 
up  by  the  lex!  lo  produce  a  destination  reclang!e  having 
15  dimensions  in  which  the  ha!!oon  is  lo  he  drawn.  The  J(mr 
corner  regions  arc  drawn  dir<..><::!ly  into  !he  corners  of  !he 
destination  rcclang.lc  without  sig.ni!icam  chang.c  to  their 
shape or size. The lop and bonom cdg.cs arc tiled horizontally 
into nxlang!es of the appropriate width (and original height). 
""  \ arying the width oft he lop and hollmn edges has  the desir-
able cflCc1 of al!cring. 1hc horizomal dimension of! he sp<..-cch 
balloon.  The  !eli  and  rig.lu  edges  arc  tiled  vcrlicaBy  imo 
reclang!es  of the  appropriate  height  (and  original  width)  lo 
produce  a  slrc!ch<..-d  or  modili<..-d  speech  bubble  I 000.  as 
"5  shown  in  FKi.  JOB.  II  should  he  noted  thatlhe destination 
rectangle can be  smaBcr 1han  !he original 1cmplmc imag.c  in 
ci1hcr  or  both  its  vertical  and  horizontal  dimension.  !-'or 
example. in the embodiment  iBuslra!ed in  l'l(i.  I 0 1 ~ .  the \er-
An exemplary instant messaging session !hal i!!uslrales the 
rcsul!s of1his ordering policy is presented in FIGS. 7 and S.ln  30 
1hc cmbodimcm i!!uslra!cd in FIG. 7. Sue 402 is in !he process 
tica!  dimension  of the  sp<..""\..-ch  baBoon  is  smaller  !hal  the 
vertical  dimension  of !he  1cmplatc  speech  balloon  of FIG. 
10.-\.  and  !he  horizoma! dimension  of !he  speech  balloon  is 
lai'6Cr  !hal  !he  horizontal  dimension  of !he  lcmplalc  sp<..-cch 
balloon oJTKi.  10:\. 
Once the sp<..""\..-ch  ha!!mm  is appropriately  sized.  it  is  color 
H!k-d  according  lo  !he  rcquircmcms  of 1hc  sender  or  !he 
recipient. as discussed above.  Coloration and shading of !he 
spc<.."Ch  baBoon  is  accomplished  by  al!crnalivc  mc!hodo!o-
gies. In one embodiment. cuslmn artwork is  prm id<..-d  l\1reach 
color lo  produce a desired \ariation across the surliJCe of the 
of preparing a  response 10  a message 700 generated by  Mary 
400. Accordingly. a thought huhh!e 702 is positioned adjacent 
the Sue icon 402 below the message 700. Mary 400. however. 
did  no!  wail  for  Sue's  response.  but  scm  a  message  704.  35 
Because !he  sp<..-cch  balloons  700.  704 arc ordered  based on 
1hc  lime  completed  whereas  1hc  !houg.hl  balloon  702  is 
ordered based on the time created. the order of the messages 
wi!!  remain as shown  in  l'!(i.  7.  until  the message  Jium Sue 
402  is  !inally rccciv<..-d.  40  spc<.."Ch  balloon.  For example. !he color may be  varied so !hal 
!he  coloration  is  lighter  adjaccm  !he  bonom  cdg.c  of !he 
sp<..""\..-ch  ha!!oon.  This  coloration  scheme  has  proven  lo  he 
pleasing  lo  users.  providing the appearance of three dimen-
sional  qualities  lo  the  sp<..""\..-ch  hal!oon.  :\hemalively.  rather 
"llllls.  as  is  shown  in  FIG.  8.  a  speech  balloon  800  has 
rep!ac<..-d  the  thought  huhh!e  702.  hut  is  located  alkr  (or 
below) the speech balloon 704. as the spe\..-ch  balloon 800 was 
completed a!ier the  sp<..""\..-ch  balloon 704.  In  this  manner.  the 
actual order of !he convcrsmion is  preserved.  45  !han developing.  cus1om  artwork  for  each possible color.  !he 
spc<.."Ch  balloon may be tilled uniformly wi1h !he desired color. 
Therealler.  standard  lemp!a!e  shadows  may  he  overlayed lo 
produce a  similar three dimensional clkc!. 
.-\  subswmially similar process occurs with rcspcc1  10  dis-
playing  speech  ha!!mms  associated  with  the  local  user.  For 
example. a!  block 314. the sollware checks lo deteJmine if the 
message being pre pard by !he local  pany  is complete.  If so. 
comro!  1ransfcrs  10  block  604 and  !he  soliwarc  delivers  !he  '0 
!-'inaBy. while FIGS. 9 and  10 illummc !he spc<.."Ch  balloon 
410 drawn with i1s  !ail extending lcliward. so as 10  be used in 
!he  !ell  horizontal  region  of !he  GUI.  !he  same  processes 
described  herein  may he applied  in  drawing the sp<..""\..-ch  hal-
message over 1hc  nc1work  conn<..><::lion  lo !he other pany. The 
message  is  then  displayed  in  a  sp<..""\..-ch  balloon  in  an  order 
based on the time !hal the message was completed. 
Turning now 10 FIGS. 9 and  10. one exemplar)' method Jix 
formalling. and sizing !he speech balloon 410 is shown. In one 
embodiment.  a  lex!  system.  such  as  a  standard  lex!  system 
used in Mac OS X is used lo produce !he lex!  of the message. 
'J.hetexl system prm ides inl(mllalion regarding the si1e of the 
1cx1  message 10  1hc GUI  The GUluscs 1his site inlixmation 
10  conslrl.Jcl a speech balloon of an approprimc size 10 comain 
the  message.  Cenain  m!es  regarding  the  J(mllalling  of the 
speech  hallmm  alkc!  the  si1e  of the  speech  baBoon.  For 
example.  in  one  cmbodimcm.  upper.  lower.  !eli  and  rig!u 
margins arc established.  In 1hc cxcmplal)' embodiment i!!us-
1rmcd  in  FIG.  9.\.  !he  mal'olins  arc  selected  as  Ji.1llows: 
upper  3:  !ower  5:  !ell  !3: and right  0.  'l11e  lex!  of the 
message  is  n.:quired  lo  he  positioned  within the  speech  hal-
loon 410 with its tail extending rightward. so as lo he used in 
the rig.h1  horizomal region of1hc GUI.  In  p.1rticu!ar. when the 
'5  spc<.."Ch  baBoon  410  wi1h  a  rightward  extending.  tail  is 
required. the sp<..""\..-ch  balloon 410 with the !ell ward extending 
tail  is designed lo  he of the proper size  l\1r  the message. and 
then the speech baBoon 410 is  Jlipp<..-d  horimn!ally or rola!L'<i 
a boll! a ccmra! vertical axis 10  produce the appropriately sized 
60  spc<.."Ch  balloon  410  with  a  rig!uward  cx1cnding.  wi!.  In  this 
manner. an <..x:om1my  of soli ware coding is realized. as only a 
single routine  l\1r generating speech baBoon with either !ell-
ward or rig!uward cx!Cnding tails  is  r<..'<.j_uircd. 
The  panicu!ar embodiments  disclosed  above  arc  i!!uslra-
65  live only. as 1hc  invention may be modified and  praclic<..-d  in 
difJCrenl  hut  equivalent  manners apparenllo those skilled  in 
the  art  ha\ing  the  henclil  of the  teachings  herein.  Further-
US  7,669,134  Bl 
II 
more. no I imitations arc intended to the detai Is o fconslruclion 
or design herein shown. o1hcr than us described in  the claims 
below. It  is  therefore evident thnt the particular embodiments 
disclosed  above  may  be  altered  or  modi!i<..'d  and  all  such 
\ariations  arc considered  within  the  scope  and  spirit  of the  'i 
imention. Accordingly. the proh.x:lion sought herein is as sci 
fonh  in  the  claims below 
What  is  claimed  is: 
I. A  method  ll1r displaying inl(mJJation related  to  a  com- 1" 
municmion session. comprising. 
displaying information relating to data produc<..'d  by a  plu-
m lily of participants to  the  communicmion session on a 
Jirsl display unit. wherein the inllmnation produced by a 
Jirsl  participant  of the  plurality  of participants  is  dis- l'i 
played at  a  !irst position on the  first display unit: 
receiving.  dmn  li"om  nt  lcnst  one  of the  rcmnining pnnici-
pnnts of the  plurn!ity of pnrticipnnts by the communicn-
tion  session: and 
displaying in!(mnation relating to data n.:cei\ed !!om the at  "" 
lcnst one of the rcmnining. pnrticip.1nts oft he plurnlity of 
pnrticip.1nts.  on the first  displny unit.  wherein the  inlix-
mation  received  !!om  the at  !east one of the  remaining 
participants of the plurality of participants  is  displayed 
at a separate position !l1r each said remaining p;u1icipant  "-' 
of the  plurnlity of pnrticipnnts on the  first  displny  unit. 
wherein  the  rcsp<..>ctive  scpnrmc  positions  rdnting.  to 
each oft he  plurality of panicipants arc all  non-random. 
horimnta!-spatially  distinct  and  chronologically 
nrrnngcd.  30 
2 .. \method. ns set Jixth in clnim  1. wherein the respective 
positions rclming. to the plurnlity ofpnrtieipnnts nrc permitted 
to  at  least  partially overlap. 
J. A  method. as set  !l1rth  in  claim  1.  wherein: 
receiving data  !!om  the remaining participants of the plu- 35 
rnlity of pnrticip.1nts  includes r<..>ceiving dmn  li"om  n s<..'C-
ond pnnicipnnt of the plurnlity of pnrticipnnts: 
displaying  in!(mJJation  relating  to  data  produced  by  the 
!irs!  participant  !i.Jrther  comprises  displaying  in!(mJJa-
tion relating to data produced by the !irs! participant in a  40 
right justified li.mnm:  and 
displaying.  infonnntion  relating to dma  r<..>ceived  li"om  the 
second  participant  !i.Jrther  comprises  displaying  in!(Jr-
mation relating to data received from the s<..>cond  p;u1ici-
pant  inn left justified  formm. 
4 . .  \method. as set  forth  in  clnim  1.  wherein: 
receiving.  datu  li"om  the remaining.  participants of the  plu-
rality of participants includes r<..>cei\ ing data  !i"om  a s<..>c-
ond p;u1icipant oft he  plurality of participants: 
displaying  in!lmm11ion  relating  to  data  produced  by  the 
first  pnrticipant  li1rther  comprises  displnying  inli.mm-
tion relating to dma produced by the  lirst pnrticipant in a 
le!l_justi!icd  !lmJJal: and 
45 
'0 
displaying  in!lmnation  relating to data  r<..>cei\L-d  !i"om  the  ,
5 
second  participant  !i.Jrther  comprises  displaying  in!(Jr-
mation relming to dnta received from the second pnnici-
pant  inn right justilicd formm. 
5 . .  \method. as set  forth  in  clnim  1.  wherein: 
displaying  in!(mJJation  relating  to  data  produced  by  the 
60 
!irs!  participant  !i.Jrther  comprises  displaying  in!(mJJa-
tion relating to data produc<..-d  by the !irs! participant in a 
spc<..>ch  bnl!oon. 
I2 
displaying  in!(mJJation  relating  to  data  received  !ium the 
second  participnnt  lilflhcr  comprises  displaying.  infor-
mmion relating. to dmn received li"om the s<..>cond  partici-
pant  in  a speech balloon. 
7.  A  method. as set  !(H1h  in claim  I.  !luther comprising: 
r<..>cei\ ing data  li-mn a second p;u1icipant of the plurality of 
participants: 
detecting.  dmn  being.  entered  by  the  s<..>cond  particip.1nt 
bdl1rc the data is  ddivcr<..-d  to  the !irs! participant: and 
displaying in !lmnation relating to data being entered by the 
second participant on the !irs! display unit. 
8 . .-\method. ns  set  li.mh  in claim 7.  wherein: 
displnying informmion relating to datu being entered by the 
second participant on the Jirst  display unit  !i.uther com-
prises displaying  a  thought  bubble on  the  Jirst  display 
unit. 
9 . .-\  method. ns  set  li.mh  in claim 7.  wherein: 
displnying informmion relating to datu being entered by the 
second participant on the Jirst  display unit  !i.uther com-
prises displaying the thought bubble on the Jirst display 
unit m  a second position on the first  displny unit. 
10 . .-\  method. as  set  forth  in  clnim 7.  wherein: 
displaying in !lmnation relating to data being entered by the 
second participant on the Jirst  display unit  !i.uther com-
prises displaying presck>ctcd  graphical  in!(mJJation  on 
the  lirst  displny  unit  m  n  second  position  on  the  first 
displny unit. 
I I. A  method. as  set  !l1rth  in  claim 7. wherein: 
displaying in !lmnation relating to data being entered by the 
second participnnt on the  first  display unit li1rthcr com-
prises displaying preselected  graphicnl  inli.mmtion  on 
the  lirst  displny  unit  m  n  second  position  on  the  first 
display unit:  and 
removing  the prcsek>ctcd  graphical  inllmJJation  !ium the 
lirst displny unit  in  response  to  receiving.  dma  li"om  the 
second particip.1nt. 
12 . .-\  method. as  set  forth  in  clnim  11. wherein: 
displaying  prcse!<..>ct<..-d  graphical  in!(mJJation  on  the  Jirst 
display  unit  at  the  second  position  on  the  Jirst  display 
unit funhcrcompriscs displnyingn thought bubble at the 
second position on the first  displny unit. 
I 3. A computer readable program storage device encod<..-d 
with  instmctions  that.  when  cx<..>cutcd  by  a  computer.  per-
limns a method. comprising: 
displnying informntion relming to dmn  produced by  a  plu-
rality of particip.1nts to the conununication session on n 
!irs! display unit. wherein the inllmJJation produc<..-d by a 
Jirst  p;u1icipant  of the  plurality  of participants  is  dis-
plnycd m n first  position on the first  displny unit: 
r<..>ceiving  dnta  from  m  lcnst  one of the  remaining.  partici-
pants of the plurality of pnrticipants by the communica-
tion session: and 
displaying inllmnation relating to data r<..>ccivcd  !i"om the at 
lcnst one of the rcmnining pnrticipants of the plurnlity of 
participants. on the  lirst display unit.  wherein the infor-
mation  rccei\L-d  !i"om  the at  least  one of the remaining 
participants of the plurality of participants  is  disp!ay<..-d 
at a separate position !(Jrcach said remaining participant 
of the plurality  of participants on  the  lirst displny  unit. 
wherein  the  respective  scpnratc  positions  relming  to 
each of the plurality of participants arc all non-random. 
horizontal-spatially  distinct  and  chnmo!ogica!ly 
arrnng.cd. 
6 .. \method. as set  forth  in  clnim  1.  wherein: 
receiving.  datu  li"om  the remaining.  participants of the  plu-
rality of participants includes r<..>cei\ ing data  !i"om  a s<..>c-
ond p;u1icipant oft he  plurality of participants: 
14 . .-\  computer  rcndablc  progrmn  storag.c  device.  ns  set 
65  Ji.1rth  in claim 13. wherein the  respective positions rdming. to 
the plurality of participants arc pclmitt<..-d  to at  least  p;u1ia!ly 
overlap. 
US  7,669,134  Bl 
13 
15.  An  apparatus  ll1r  displaying  inl(mJJalion  rdatcd  lo  a 
communication session. comprising: 
means for displaying inli.mmnion relating to daw produced 
by a plurality of panicipants to  the conununication ses-
sion  on  a  !irs!  display  unit.  wherein  the  inl(mJJalion  'i 
produced  by  a  !irs!  participant  is  displayed  a!  a  !irs! 
position on the Hrst  display unit: 
14 
21.  :\  graphical  user  intcrliJCc.  as  sct  l(H1h  in  claim  20. 
wherein the !irsl region is adapted to display the text  in a left 
justified li.mnm. 
22 .. \graphical  user  imcrlUcc.  as  set  forth  in  claim  17. 
wherein a second region of the plurality of regions is adaplL'<i 
lo  display  lcxl  !i-om  a  second  participant  of the  plurality  of 
particip.1nts in a  sp<.-cch  balloon  in  a  right justi!icd  li.mml. 
means for  receiving data from m least one oft he remaining 
participants of the plurality of participants  by the com-
munication session: and 
23 .. \graphical  user  imcrlUcc.  as  set  forth  in  claim  17. 
wherein the !irst region is adapted to display a thought bubble 
lCJ in response lo receiving a signal Jium the lirsl participanllhal 
a message is being prcparL'<i lo he scnllo a second participant 
of the plurality of participants. 
means ll1r displaying inl(mJJalion relating to data received 
li"om the at  least one of the  remaining participants of the 
plurality of participants on the !irst display unit. wherein 
the  inl(mJJalion  n.:cci\L-d  from  the  a!  least  one of the 
remaining participants of the plurality of participants is 
displayed m a separate position for  each said remaining 
particip.1nt  of the  plurality  of participams  on  the  !irst 
display  unit.  wherein  the  respective  scparmc  positions 
relating  lo  each  of the  plurality  of p;u1icipanls  arc  all 
non-random,  horizontal-spatially  distinct  and  chrono- "" 
logically arrang<.'d. 
24 .. \  graphical  user  imcrlUcc.  as  set  forth  in  claim  23. 
li.1rthcrcomprising a second region of the plurality of regions. 
15  wherein the Jirsl and second regions arc adaplL'd lo display the 
messages rccci\L-d !ium the lirsl and second participants \cr-
tically  in  the order in  which they  were r<.>ceivcd. 
16 .. \n  app.1ratus.  as  set  li.mh  in  claim  15.  wherein  the 
rcspccti\ c positions relating lo the plurality ofp;u1icipanls arc 
pcrmincd lo allcasl partially mcrlap. 
17.  A  graphical  user  intcrliJCc  !(Jr  displaying  in!(mJJalion  "5 
rclal<.'d  to  a communication session. comprising. 
a plurality of regions adapted  to  display  messages  li"om  a 
plurality o fp;u1icipanls lo the inslanl messaging session: 
a Jirsl  region of the plurality of regions adapted lo  display 
m least one message from a !irst participmu to the inswm  30 
messaging session: and 
the remaining regions of the plurality of regions adapl<-'<1  to 
display allcasl one message from  the allcasl oncoflhc 
remaining  participants  of the  plurality  of participants 
respectively  to  the  instant  messaging  session.  wherein  35 
the  respective  separate  plurality  of regions  rclming  to 
each of the plurality of participams arc all  non-random. 
horimnlal-spalially  distinct  and  chronologically 
anangcd. 
18 .. \graphical  user  intcr!Ucc.  as  set  forth  in  claim  17.  40 
wherein  the  respective  plurality  of regions  rclming  to  the 
plurality  of participants  arc  pcrmincd  lo  al  least  partially 
mcrlap. 
19.  :\graphical  user  inlcrbcc.  as  set  l\1rth  in  claim  17. 
wherein the  !irst  region  is adapted  to  display an  icon associ- 45 
atcd  with  the  !irst  p.1rticipam.  and  a  second  region  of the 
plurality  of regions  is  adapted  lo  display an  icon associated 
with a second participant of the plurality of participants. 
20 .. \graphical  user  intcr!Ucc.  as  set  forth  in  claim  17. 
wherein the !irst region is adapted to display text from the !irsl  '0 
participam in  a speech balloon. 
25 .. \  graphical  user  imcrlUcc.  as  set  forth  in  claim  24. 
wherein the Jirsl and s<.><::tmd  regions arc adapl<--d lo replace the 
thought  bubble  with  a  corresponding  speech  balloon  when 
the speech balloon is  rL><::civcd. 
26 .. \  graphical  user  imcrlUcc.  as  set  forth  in  claim  25. 
wherein the !irst and second regions arcadapl<.'d to display the 
corresponding  speech  balloon  in  a  vertical  position  corre-
sponding lo the order in which  it  was rcccivL-d  regardless of 
the  \crtical  position  in  which  the  thought  bubble  was  dis-
played. 
27.:\ system. comprising:  a  !irst  terminal: and 
a  second terminal. wherein  the  !irsl and  second tcnninals 
each  include  a  graphical  user  inlcrliJCc  l(Jr  displaying 
in!(mnalion  rclal<--d  lo  a  communication  session 
bctw<.-cn  the  !irst  and  second  terminals.  the  graphical 
user intcr!Ucc comprising: 
a  plurality of regions adapt<.'d  to display messages  from  a 
plurality of p;u1icipanls: 
a  lirsl  region of the plurality of regions adaplL-d  lo display 
allcasl one message Ji-om a lirsl parlicipanllo the inslanl 
messaging session: and 
the remaining regions of the plurality of regions adapted to 
display allcasl one message !i-mnlhc allcasl one of the 
remaining participants of the plurality of participants lo 
the  inslanl  messaging  session,  wherein  the  rcspccli\c 
separate plurality of regions relating to each of the plu-
rality  of  particip.1nts  arc  all  non-random.  horizontal-
spatially distinct and chronologically <I!Tang<.-d. 
28. A system, as  set  l(Jrth  in  claim 27. wherein the respec-
tive plurality of regions relating lo the pluralityofp;u1icipanls 
arc permitted tom least  partially overlap. 
' 
,  ,  , 
UNITED STATES  PATENT AND TRADEMARK OFFICE 
CERTIFICATE OF CORRECTION 
P A r i ~ N T  NO.  7,669,134  Bl 
APPLIC/\TION  NO.  101428523 
D/\JU) 
INVJ:HIOR(Sl 
Febmmy 23,  2010 
Christie et  a!. 
Page  I of 1 
It  is  certified  that error appears  in  the  above-identified  patent and  that said  Letters  Patent  is  hereby  corrected  as shown  below: 
On the Title  Page: 
The first  or sole Notice should  read--
Subjectto any disclanner, the term of this patent rs extended or adjusted under 35 U.S.C. 154(b) 
by  1143  days. 
Signed and Sealed this 
Seventh Day of December,  20 I 0 
David J.  Kappos 
Jlirecwr o(tll< I ;nired Sial<'>  Pat<'lll and li'ml<'mark Offic<' 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Exhibit 3 
021  United  States  Patent 
Christensen 
(54)  METHOD AND APPARATUS  FOR 
I>ISPI.AYING ANI> ACCESSING  CONTROL 
ANI> STATUS  INFORMATION  IN A 
COMPUTER  SYSTEM 
(75)  Inventor:  Stc,cn  W.  Christensen,  Milpitas,  CA 
(US) 
(73)  A-.signcc:  Apple Computer,  Inc.,  Cupertino,  CA 
(US) 
(  ')  Notice:  This  palco!  issued  on  a  continued  pros-
ecution  application  !lied  under  37  CFR 
1 .53( d), and  is  subjc<.:t  to  the  twenty  year 
patent  term  provisions  of  35  U.S.C 
J54(a)(2). 
(21) 
(22) 
(63) 
(51) 
(52) 
(58) 
(56) 
Sub_icc!lo any disdaimcr, the  lcrm  of this 
patent  is  extended  or  adjusted  under  35 
U.S.C.  154(b) byO days. 
App!.  No.:  08/821,004 
Filed:  Mar. 20,  1997 
Related  U.S.  Application  nata 
Continuation  of  application  No.  08/316,2.>7.  lilcd  on  Sep. 
30.  1994.  now  abandoned. 
Int. Ct.  G06F 3/()(l 
u.s. ct.  "'"'""'"'"'""'"'"'"'"'"'" 345/779;  345.072 
Field  of Search  .................................  395/345,  350, 
.:1,81>2,389 
         
.:1,8%,291 
.:1,9.>1.957 
           
        
395/352,  354,  326,  339,  340,  341,  973, 
974;  345/348,  350,  352,  354,  326,  339, 
340,341,973,974,700,764,771-772, 
77(r-779,  781,784,788,791,798-800, 
X33,  X56 
References Cih.'d 
U.S.  PATENT  DOCUMENTS 
A  81989  Takagi 
""'"'""'"'""'"' 
.>45/79.:1 
A  12/l'JR'J  Takagi  cl  al. 
         
A  I  1  'J90  Gc\1  ct  al.  .>45.'8.:11 
A 
,, 
1  'J90  Takagi  et  al.  .>45.-'45.> 
A  2/J'J'I2  Takagi  ........................ 
       
A  'J/J'J'I2  l!ullol  el  al.        7'1(1 
:(iF_!!_  EDIT  VIEW  LABEL  SPECIAL 
EXTENSICNS 
t""''""''"""""""' "'""" 
'        
u 
               
(10)  l'atcnt  No.: 
(45)  nate of l)atcnt: 
us 6,493,002  Bl 
*Dec. 10, 2002 
Ll' 
FP 
FP 
Ll' 
         A  4.'J'I'J3        el  al. 
          A            Ander:<.on  cl  al. 
5 . .:128.730  A  {)/1995  Baker  et  al. 
5.5&'1.105  A  12/19%         et  al. 
         A  4.'J'I'J7  Oran  cl  al. 
5.640  . .:198  A  {)/1997  Chew  ......................... 
5.644..>34  A  7/1997        ct  al. 
            A  il,'J'I'J7          el  al. 
         A  HI. 'J'I'J7  Chew  ......................... 
5.757..>71  A  5.'1998  Orand  al. 
5.825..>57  A  HI/ 1998  Malamud  ct  al. 
kU3.8'JR  A  HI.  2000  Ludolph  cl  al. 
FOREIGN  PATENT  DOCUMENTS 
0  48.>  777  i\2 
-433777  i\ 
0      _,'II  AI 
584.W2  i\ 
HI/ 1  W 1 
         
R.'J'I'I2 
3/1'N4 
OTIIER  PUBI.ICATIONS 
       
       
3.:15  740 
3.:15  779 
        
3.:15  790 
3.:15  .:119 
        
       
3.:15  779 
3.:15  779 
        
EPO  0  584  391  AI,  Cohausz,  English  Translation  of  the 
German  patent  document,  Mar.  !992.* 
"PCT Wrillcn  Opinion",  Ocl.  4,  1996. 
Sleven  Harris, cl  al.  "Inside  WordPcrfecl  6  for  Windows", 
1994,  USA,  pp.  1104-1108. 
Mark A  Benge, Matt Smith:  --Designing Custom Controls", 
Spring  !993,  USA,  pp.  72-85. 
lnlcrnational  Search  Report,  PCTiUS  95/11025,  Jan.  03, 
1996. 
'  cited  by  examiner 
Priman Emminer---{'rescellc  N.  dcla  Torre 
(74)  Allorney, Agent,  or Finn--Blakely, SokololT, Taylor & 
Zafman  IJ.P 
(57)  ABSTRACT 
An  interactive computer-controlled display system  having a 
processor,  a data  display screen, a  cursor control device  for 
interactively positioning a cursor on !he data display screen, 
and  a  window  generator  that  generates  and  displays  a 
window  on  a  data  display  screen.  The  window  region 
provides status and  control  information  in  one  or  more data 
display  areas.  The  imlividiual  data  display  areas  may  be 
controlled  through  the  usc  of controls and  indicators on  the 
control  strip  itself using cursor  control  keys. 
    
'""'c=-r 
50  Claims,  13  I>rawing  Sheets 
' 
'    ' 
:.t.,., 
.....  "fM<>W!< 
""'""'"""" 
O..<<Tit<i'  .. 
<<R'""-""'-
  
"-"'  -i  I  _ 
'"   ----.--,----            
.,,.'                        '''"     
  " 
Q  '" '""- "" 
"P::o);;ll!J]L            '>', '' . II.''  :;-J:-"""'""Jc<i>:c]' ]G  -     H.' 
Iilli 
I'""'"! 
,00 
FIG.  I 
MASS 
STORAGE107 
!Y-
MODEM 
108 j'r--
LAN  V'-----
109 l'r-
HARD  COPY 
~ 
DEVICE  124 
DISPLAY 
V'-----
121 
POWER 
TO  OTHER 
SUPPLY152 
COMPONENTS 
I 
SWITCH  VDD 
DECODER 
153  154 
TIMER 
C L K ~ 
150  HOT  INDICATION 
SIGNAL  183  ---- PROCESSOR 
~ 
--" 
1'181 
,--
103 
POWER 
SIGNAL 
vDD 
r-
182 
-
I/0  BUS  101_\ 
--"-
BUS 
-"' 
MAIN 
TRANSLATOR/ 
LOCAL  BUS  1 00 
MEMORY 
,  INTERFACE 
104 
SOUND 
~  I/O 
CHIP  125  '  v  CONTROLLER 
FLOPPY  DISK  -"----" 
130 
DRIVE 
126 
'  -
UNIT 
LL184 
140  TO 
CLOCK 
GENERATOR 
160 
NON-
--"  VOLATILE 
MICRO-
MEMORY 
CONTROLLER 
106 
-
TEMP.  ~ J 
127 
1 
SENSOR 
1
2
7 
A 
r  . 
l FROM  : 
z.. 
}  INTERF1 
KEYBOARD 
CURSOR 
: ..J_  CLOCK  1 60 
122 
CONTROL  123 
CLK  GENERATOR 
/0 
CE 
140 
e 
 
Cfl 
 
;r 
;:;-
= 
-
0 
"  r-
-
.0 
 
CJJ 
"' 
"  a 
-
"' 
-
"' 
c 
"' 
i 
0 
0 
N 
1:0 
.... 
QFILE  EDIT  VIEW  LABEL  SPECIAL 
Cfl  iCl 
EXTENSIONS 
   
NAME  SIZE 
APPLICATIONS 
10  ITEMS  12.6  MB  IN  DISK  313.6  MB  AVAILABLE 
[ 
[J  [J 
" 
APPLEUNK  POWERBOOK  EDmON  EXPRESS  MODEM 
 
 
[J 
 
' 
 
-
MACTERMINAL 
REMOTE  ACCESS  CUENT  FOLDER  SIMPLE  TEXT 
 
  0 
[J  [J 
  \ 
  MOVIEPLAYER 
RES EDIT  TOOLS  WORD 
 
PRINTER  SHARE 
83K 
I  I 
PRINTt.tONITOR 
66K 
"liT 
0 
 
QUICKTIME
111 
831K  21TEMS 
12.6  MB  IN  DISK  313.6  MB  A 
 
SERIAL  TOOL 
33K  0 
mJ  TEXT  TOOL  28K  I- & 
>&  TTY  TOOL  61K  1111 
c 0111               o  ooooo1ooooo w                                                       :0049            TRASH  1 
' 
FIG.  2A 
200 
e 
 
Cfl 
 
;r 
;;-
= 
-
0 
"  r-
-
.0 
 
CJJ 
"' 
"  a 
N 
"' 
-
"' 
c 
"' 
i 
0 
0 
N 
1:0 
.... 
U.S.  Patent  nee. I 0, 2002  Sheet 3  of 13 
MODULE  DISPLAY  AREA 
202 
US  6,493,002  Bl 
( 
CLOSE  BOX 
201 
DRAG/SIZE  TAB 
203 
LEFT  SCROLL  ARROW 
204  RIGHT  SCROLL  ARROW 
205 
FIG.  28 
HIDE  BATIERY  LEVEL 
HIDE  BATIERY  CONSU"'TION 
HIDE  TIME  REMAINING 
J ~  0 OOODDIDDOOO  W' ~ I H < - DODO( 
FIG.  2C 
BATIERY  MONITOR 
THE  POWER  ADAPTER  IS 
CONNECTED  AND  RECHARGING 
ONE  OF  THE  BATIERIES. 
FIG.  2D 
U.S.  Patent  nee. 10,2002  Sheet 4 of 13  US  6,493,002  Bl 
g:  ..               W  ..     00000000  .,    ., [k 
.a. 
b:..ID             W  .. 11-:9.- 00000000  ..    .. IJIL 
.a. 
[  .. liD  ooo[Jl1ooooo          oo[J]oooo    lllo      L 
.a. 
bAD ODDDDIDDDDO W  .. hJ-         .. JJ!o  .. JJ!Ih 
.J, 
bA  -:9--00000000  ..                 ..    .. ij]l, 
FIG.  2E 
U.S.  Patent  nee. I 0, 2002 
210 
( 
+ 
(211 
o               
-
-
       oooootooooo     
Sheet 5  of 13 
FIG.  2F 
::J  C  CONTROL  STRIP 
,81  @  SHOW  CONTROL  STRIP 
'qL  Q  HIDE  CONTROL  STRIP 
FIG.  3 
US  6,493,002  Bl 
U.S.  Patent  nee. I 0, 2002  Sheet 6  of 13  US  6,493,002  Bl 
MAIN  LOOP 
(CALLED  BY  OPERATING  SYSTEM) 
SAVE  PREVIOUS  CONTEXT, 
SETUP  STRIP'S  CONTEXT 
SECONDARY 
INITIALIZATION 
COMPLETE? 
YES 
NO 
402 
401 
404 
DETERMINE  THE 
USER  EVENT  TYPE 
NULL  EVENT 
(IDLE)? 
405 
NO 
YES 
FIG.  4 
RUN  SECONDARY 
INITIALIZATION 
RUN  IDLE  TASKS 
406 
403 
MOUSE  CLICK? 
>----1 PROCESS  MOUSE  CLICK  I--! 
407 
NO 
RESTORE  PREVIOUS 
CONTEXT 
EXIT 
YES 
408 
409 
U.S.  Patent  nee. I 0, 2002  Sheet  7 of 13 
CONTROL  STRIP  MAIN  LOOP 
/RUN  SECONDARY  INITALIZATION 
' 
SECONDARY 
INITIALIZATION 
HAS  THE  FINDER 
STARTED  UP? 
403 
NO 
5D1 
CREATE  THE  STRIP'S 
WINDOW  502 
SUCCESSFUL? 
YES  503 
INITIALIZE  STRIP'S  FONT, 
COLOR 
OPEN,INITIALIZE  EXTERNAL 
MODULES 
SET  STRIP'S  DEFAULT 
SCREEN  LOCATION,SIZE 
LOAD  USER 
CONFIGURATION 
DRAW  THE  STRIP'S 
CONTENTS 
FIG.  5 
504 
505 
506 
507 
508 
US  6,493,002  Bl 
U.S.  Patent  nee. I 0, 2002  Sheet 8  of 13 
CONTROL  STRIP  MAIN  LOOP 
/OPEN.  INITIALIZE  EXTERNAL 
 
MODULES 
(  OPEN,  INITIALIZE 
EXTERNAL  MODULES 
US  6,493,002  Bl 
505 
i 
MORE  MODULE 
NO-
FILES? 
    
y 
,s 
OPEN  MODULE  FILE  _j\. 
  602 
LOAD  MODULE  CODE  -f\ 
INTO  MEMORY 
603 
 
CALL  MODULE  TO 
-j\604 
INITIALIZE  ITSELF 
CALL  MODULE  TO  GET 
MODULE  s  FEATURES-\ 
605 
CALL  MODULE  TO  GET 
ITS  DISPLAY  WIDTH  ,_ \
606 
CLOSE  MODULE        
607 
(EXIT 
FIG.  6 
U.S.  Patent  nee. I 0, 2002  Sheet 9  of 13  US  6,493,002  Bl 
N 
YES 
CONTROL  STRIP  MAIN  LOOP 
/..DRAW  THE  STRIP'S CONTENTS 
DRAW  THE  STRIP  S 
CONTENTS 
IS  THE  STRIP 
VISIBLE? 
y s 
MORE  MODULE 
TO  DRAW? 
y  s 
THIS  MODULE 
NEED  TO  BE 
REDRAWN? 
y s 
IS 
THIS  MODULE 
A  BUTTON? 
>-------NOI--
701 
> - - - - N O , - ~ 
702 
703 
704 
NO 
DRAW  BUTTON 
BACKGROUND 
GRAGHICS 
DRAW  STATUS-ONLY 
BACKGROUND 
GRAGHICS 
705 
706 
L ---"' CALL  MODULE  TO  '-t----' 
DRAW  ITSELF  r 
707 
EXIT 
FIG.  7 
U.S.  Patent  nee. I 0, 2002  Sheet 10  of 13  US  6,493,002  Bl 
RUN  IDLE  TASKS 
8D1 
CONTROL  STRIP  MAIN  LOOP 
LRUN  IDLE  TASKS 
WINDOW  UPDATE  YES 
PENDING? 
DRAW  THE  STRIP'S 
CONTENTS 
NO 
HAS  STRIP'S 
CONFIGURATION  YES 
CHANGED? 
803 
NO 
CALL  CURRENT 
IDLE  MODULE  TO  ~ 
RUN  ITS  IDLE  TASK 
806 
UPDATE  ID  OF  NEXT 
MODULE  TO  IDLE 
DOES  MODUL 
NEED  TO  SAVE 
SffiiNGS? 
809 
NO 
UPDATE  STRIP'S 
HELP  MESSAGES 
EXIT 
807 
808 
YE 
812 
IS  IT 
SAFE  TO 
SAVE  NOW? 
802 
YE 
NO  804 
IS  IT  SAFE  TO 
YES 
SAVE  NOW? 
NO 
810 
FIG. 
SAVE  STRIP'S 
CONFIGURATION 
TO  DISK 
805 
SAVE  MODULE'S 
SffiiNGS 
TO  DISK 
811 
8 
U.S.  Patent  nee. I 0, 2002 
PROCESS  MOUSE 
CLICK 
MOUSE  CLICK 
INSIDE  STRIP? 
Sheet  11  of 13  US  6,493,002  Bl 
CONTROL  STRIP  MAIN  LOOP 
/PROCESS  MOUSE  CLICK 
901 
DETERMINE  WHICH 
MODULE  WAS  CLICKED  ON 
MOVE 
OPERATION? 
NO 
CLICKABLE 
MODULE? 
y  s 
902 
YES  MOVE  MODULE'S  DISPLAY, 
OR  MOVE  ENTIRE  STRIP 
904 
> - - - N O - ~ 
905 
TRACK  THE  MOUSE  CLICK 
MOUSE 
STILL  IN 
MODULE'S 
BOUNDS? 
CALL  THE  MODULE  TO 
PROCESS  THE  CLICK 
POST  PROCESS 
06 
> - - N O - ~ 
907 
908 
THE  CLICK  909 
EXIT 
FIG.  9 
U.S.  Patent  nee. I 0, 2002  Sheet 12  of 13  US  6,493,002  Bl 
MODULE  WANTS  TO 
UPDATE  SETTINGS? 
1001 
NO 
MODULE 
NEEDS  TO 
RESIZE 
DISPLAY? 
1003 
NO 
MODULE  WANTS 
TO  BE  CLOSED? 
1005 
1007 
NO 
RESIZE  OR 
CLOSE? 
NO 
MODULE  HELP 
STATE  CHANGE? 
1009 
NO 
( E ~ I T ) 
CONTROL  STRIP  MAIN  LOOP 
/POST  PROCESS  THE  CLICK 
YES 
YES 
""-YES 
"--YES 
YES 
FLAG  THAT  THIS  MODULE 
HAS  A  SAVE  PENDING 
CALL  MODULE  TO 
UPDATE  ITS  WIDTH 
CLOSE  THE 
MODULE 
1002 
1004 
1006 
REPOSITION  AND  REDRAW 
MODULE  DISPLAYS 
1008 
INVALIDATE  OLD 
HELP  STATE 
1  10 
FIG.  10 
U.S.  Patent  nee. I 0, 2002  Sheet 13  of 13  US  6,493,002  Bl 
...., 
..c: 
"' 
c=J 
i2 
Q) 
DilJ 
a. 
0 
ITIIIl 
Ul 
IIIIill 
..c: 
a. 
IIIIIIII 
0 
'-
-
~ 
 
0 
CD 
~ 
OJ 
..c: 
......, 
..c: 
...., 
..; 
...., 
..c: 
.... 
'0  a> 
C\J 
Q) 
I  I 
~ 
i2  ....J 
a. 
111111  111111 
...., 
..c: 
0 
0 
1111111 
a. 
- 1111111 
u.. 
 
f-
0 
<.!) 
.: 
1111111111 
'-
. 
1111111111 
.: 
a. 
~  <.!) 
a. 
-
0 
llllllllllll 
0 
l.L.  L 
" 
-
'-
~  1111111111111111 
CD 
l.L.  ~ 
...., 
" 
MIIIUII 
Q) 
0 
.0-
<.:>  CD 
I 
CD 
Ul 
+' 
> 
.... 
..; 
., 
.... 
....1 
.,  ., 
....1 
-
a. 
a. 
0 
0 
IIIlllill 
Ul 
f-
rrrrrn 
..c 
..c 
a. 
a. 
0  rnm 
0 
'-
L 
c=J 
<.:> 
~ 
'-
0 
0 
.!)  CD 
us  6,493,002  131 
I 
METHOJ) ANn APPARATUS  FOR 
!)IS PLAYING AND ACCESSING  CONTROL 
ANI> STATUS  INFORMATION  IN A 
COMPUTER SYSTEM 
2 
The  present  invention  overcomes these  problems by  pro-
viding a stal\ls and  control  information  display.  The display 
of  the  present  invention  is  in  an  easily  ac<:cssible  format. 
Also, the  display  may be  <:on!igurcd  to  permanently display 
.< m  a  visible  manner control  and  status  indicia. 
This is a continuation of application Scr.  No. OX.  3! 6,237, 
tiled  Scp.  30,  !994,  now  abandoned. 
I'IELD  01- TilL  INVENTION 
SUMMARY  OF "ll!E  INVENTION 
An  interactive  computer-controlled  display  system  is 
described.  In  the  present  invention,  the  display  system 
The  present  invention  relates  to  the  !icld  of  computer 
syslcms;  particularly,  !he  present  invention  rcla!cs  to  dis-
playing  a  status  and  control  furu:lion  bar  or  window  to 
enable  access of user sdc<.:tcd  indicia  to  a computer system 
user. 
Ill  includes  a  processor,  a  data  display  screen,  and  a  cursor 
control  device  for  interactively  positioning  a  cursor on  the 
data  display  screen.  The  present  invention  also  includes  a 
window  generator  that  generates  and  displays  a  window 
(e.g.,  a  <:ontrol  strip)  on  a  data  display  screen.  In  one 
BACKGROUND OF TI!E  INVENTION 
Typically, a  com puler system contains a  processor, a  bus, 
and  other  peripheral  devices.  The  processor  is  responsible 
for  executing  insln1<.:tions  using  the  data  in  the  computer 
system. The  bus  is  used  by the  processor and  the  peripheral 
devices  for  transferring  information  between  one  another. 
The  information  on  the  bus  usually  includes  data,  address 
and  control signals. The  peripheral dcvi<.:cs <.:omprisc  storage 
dcvi<.:cs,  input/output  (! '0) devices,  etc. 
1.<  cmlmdimcnl,  the  window  comprises  a control  and. or slat us 
window  for  display  on  the  desktop  of the  computer system 
The window displays graphics depicting at  least one display 
area  of indicia.  The  individual data  areas may be  controlled 
through  the  usc  of controls  and  indicators  in  the  window 
:w  itself using  cursor  control  keys. 
BRIEF  DESCRIP"IlON  OF TilE  DRAWINGS 
The  present  invention  is  illustrated  by  way  of example, 
"-'  and  not  by  way  of limitation,  in  the  ligures of the  accom-
panying drawings and in  which like  reference  numerals refer 
to  similar clements  and  in  which: 
Computer systems also  include  information  management 
systems  that  coordinate  the  display  of  information  to  the 
user.  Currcnl!y,  the  arl  in  computer  display  management 
provides  the  capability  of  displaying  data  in  rectangular 
portions  (commonly  referred  to  as  windows)  of  a  display  .>o 
screen.  Such  information  management  systems  include  the 
1:indcr '"  interface of the computer systems manufactured by 
Apple  Computer,  Inc.  of  Cupertino,  Calif.  Controls  arc 
typically  provided  lO  resize  and  move  windows  within  the 
con!incs of the  physical  display  boundaries. 
.>5 
Windows  may  be  used  to  display  information  regarding 
application  programs,  as  well  as  information  produced  by 
system  programs,  that  arc  run  on  the  computer  system. 
Many  of  these  system  and  <.:ontrol  programs provide  status 
and  control  information  and  functionality.  Some  of  the  40 
system control programs also provide options with  respect to 
the  information they provide and  the  functions they perform. 
These  options can  be  accessed  and. or selected  by  moving a 
cursor  at  a  predetermined  point  in  the  window  and  click-
ing" a  mouse or performing requisite key strokes. Access to  45 
these  programs  may  require  locating  the  program  (e.g., 
locating  ami  entering  a  folder)  before  execution.  The  time 
necessary to  access such  programs may he unduly long.  ll is 
desirable  lO  provide  a  less  obtrusive  manner  of  accessing 
such  system  and  control  programs. 
The  computer  system  is  often  capable  of  displaying 
multiple  windows or data  areas on  the  display screen  at  the 
same  time.  Windows  may  overlap each  other.  The  informa-
tion  contained  in  the  portion  of  the  window  that  is  over-
lapped  is  not  visible.  The  window  that  is  entirely  visible  to  55 
the  computer user is typically the  active  window. Therefore, 
a  program,  such  as  a  system  or  control  program  may  he 
running,  while  another  program  displaying  information  in 
another  window  is  selected  as  active  and  thereafter covers, 
partially or <:omplctely,  the  windows or data  areas displayed  60 
by  the  system  control  program.  Sometimes  the  user  may 
wish  to  have  an  unobstructed  view  of  the  system/control 
data  area,  regardless of the  window selected  as  active (even 
when  the  windows overlap each  other).  Thus,  it  is desirable 
at  times to  have  windows that  arc  always visible  to  the  user.  65 
However,  it  is  also  desirable  to  be  able  to  eliminate  that 
window  at  times  based  on  the  uscr"s  requirements. 
FIG.  I  is  a  block  diagram  of  one  embodiment  of 
computer  system  of the  present  invention. 
the 
FIG.  2A  displays  a  computer  desktop  illustrating  the 
control  strip  of  the  present  invention  as  well  as  opened 
windows. 
1:1G.  21l  illustrates one cmlmdimcnl of the  control strip of 
the  present  invention. 
FIG.  2C  illustrates  a  pop-up  menu  displayed 
control  strip  of the  present  invention. 
FIG.  2D  illustrates  a  help  balloon  displayed 
control  strip  of the  present  invention. 
from  the 
from  the 
FIG.  2E  illustrates  the  process  of moving  a  display  area 
from  one  position  lo  another  in  the  control  strip. 
FIG.  21'  shows !he  control  strip  window  graphics gener-
ated  by  processing  logic  being  combined  with  graphics 
generated  by  a  module  to  illustrate  the  creation  of  the 
resulting  control  strip. 
FIG. 3  illustrates one embodiment  of the  control  panel  of 
the  present  invention. 
FIG.  4  is  a  Jlow  chart  of one  embodiment  of !he  process 
for  the  control  strip  of the  present  invention. 
FIG. 5 is a !low chart of one embodiment of the sc<:ondary 
initialization  process of the  present  invention. 
FIG.  6  is a  !low chart of one embodiment of the  open  and 
initiali...:alion  process for !he cxtcmal  modules of !he  present 
invention. 
FIG.  7  is  a  llow  chart  of one  embodiment  of the  pro<:css 
for  drawing  the  contents  of the  <:ontrol  strip  of the  present 
invention. 
FIG.  S  is  a  Jlow  chart  of one  embodiment  of !he  process 
for  running  idle  !asks  in  the  sent  invention. 
FIG.  9  is  a  Jlow  chart  of one  embodiment  of !he  process 
for  responding to a mouse dick occurring in  the control strip 
of the  present  invention. 
FIG.  10 is allow chart of one embodiment of the  pro<:css 
for  post  processing  a  mouse  dick  in  !he  present  invention. 
FIG.  II  illustrates a bar graph for display in  a data display 
area  in  the  control  strip  of !he  present  invention. 
us  6,493,002  131 
3 
F!Ci.  12  il!uslratcs  a  bar  graph  that  rcsuhs  after  using 
arrow  direction  icons. 
4 
programs in  accordance with  the  lcachings herein, or it  may 
prove convenient  to  construct  more  specialized  apparatus to 
perform  the  required  method  steps.  The  required  structure 
for  a variety of these  machines will appear from  the  dcscrip-
DEIAII.ED  DESCRIPTION  OF  TilE 
INVLNilON 
-'  lion  below.  In  addition,  the  present  invention  is  no! 
described  with  rc!Crcncc  lo  any  particular  programming 
language.  It  will  be  appreciated  that  a  variety  of  program-
ming  languages may be  used  to  implement  the  teachings of 
the  invention  as described  herein. 
A  mc!hml  and  apparatus  for  providing slai!Js  and  control 
indicia.  In  !he  following  detailed  description  of the  present 
invention  numerous  spcci!k  details  arc  set  forth,  such  as 
types  of status  indicia,  instruction  names,  etc.,  in  order  to 
provide  a  thorough  understanding of the  present  invention. 
111
llowcvcr, it  wi!!  be  apparent  to one ski !led  in  !he  arllhallhc 
present  invention  may  be  pradiccd  without  these         
details.  ln  other  instances,  well-known  structures  and 
dcvi<.."CS  arc  shown  in  black  diagram  form,  rather  than  in 
dc!ail,  in  order  lo  avoid  obscuring !he  prcscl  invention.  1.< 
The  present  description  includes  malcrial  prolcdcd  by 
copyrights,  such  as  illuslralions  of graphical  user  interface 
images  which  the  assignee  of the  present  invention  owns. 
The assignee  hereby reserves its  rights, including copyright,  :w 
in  these  materials,  and  each  such  material  should  be 
regarded  as  bearing  !he  following  notice:  Copyright  Apple 
Computer, Inc.,  1003. The  copyright owner has no objcdion 
to  the  facsimile  reproduction  by anyone  of the  patent docu-
ment  or the  patent disclosure, as it  appears in  the  Patent and  "-' 
Trademark  O!Ticc  Jl!c  or  records,  but  otherwise  reserves  a!! 
copyrights whatsoever. 
Some  portions  of !he  dc!ailcd  descriptions which  fo!!ow 
arc  presented  in  terms  of  algorithms  and  symbolic  repre-
sentations  of  operations  on  data  bits  within  a  computer  .>o 
memory.  These algorithmic descriptions and  representations 
arc  !he  means  used  by  !hose  skilled  in  !he  data  processing 
arts lo  most  clTcc!ivcly  convey  !he  substance  of !heir work 
to  others  skilled  in  the  art.  An  algorithm  is  here,  and 
generally, conceived to be a self-consistent sequence of steps  _,
5 
leading  lo  a  desired  result.  The  steps  arc  !hose  requiring 
physical  manipulations  of  physical  quantities.  Usually, 
!hough  no!  necessarily,  these  quantities  lake  !he  form  of 
electrical  or  magnetic  signals  capable  of  being  stored, 
transferred,  combined,  compared,  and  otherwise  manipu-
40 
la!cd.  II  has  proven  nmvcnicnl  a!  limes,  principally  for 
reasons of common  usage,  lo  refer  lo  these  signals  as hils, 
values,  clements,  symbols,  characters,  terms,  numbers,  or 
the  like. 
OVERVIEW  OF TilE  COMPU"rER  SYSTEM  OF 
"lliE  PRh'iENT INVENTION 
Referring to  FIG.  1,  an  overview of a computer system of 
the  present  invention  is shown  in  block diagram  form.  The 
present  invention  may he  implemented on  a general  purpose 
microcompulcr,  such  as  one  of !he  members  of !he  Apple 
family  of personal  computers,  one  of !he           of !he 
IBM  personal  computer  family,  or  one  of  several  other 
computing  and  assistant  dcvi<.."CS  which  arc  presently  com-
mercially  available.  Of course,  !he  present  invention  may 
also      implemented  on  a  multi-user system  while  encoun-
tering  all  of the  costs,  speed,  and  function  advantages  and 
disadvantages available with  these  machines. The  preferred 
embodiment of the  present  invention  is  implemented  on  an 
Apple  Power Book'-''  computer  system  developed  by  the 
assignee  of !he  present  invention. 
   i!!uslra!cd  in  FIG.  1,  !he  computer  system  of  !he 
present  invention  generally  comprises  a  local  bus  or  other 
communication  means  roo  for  communicating information, 
a  processor  ro3  coupled  with  local  bus  roo  for  processing 
information,  a  random  access  memory  (RAM)  or  other 
dynamic  storage  device  ro4  (commonly  referred  to  as  a 
main  memory)  coupled  with  local  bus  roo  for  storing 
information  and  instructions  for  processor  103,  and  a  read-
only  memory  (ROM)  or  other  non-volatile  storage  device 
106  coupled  with  local  bus  IIHI  for  storing  non-volatile 
information  and  instructions  for  processor  103. 
The  computer  system  of  the  present  invention  also 
includes  an  input/output  (I 0) bus or  other  communication 
means  101  for communication  information  in  !he  com puler 
system.  A data  storage  device  107, such  as a  magnclic  !ape 
and  disk  drive,  including  its  associated  controller circuitry, 
is  coupled  to  l/0  bus  101  for  storing  information  and 
It should  be  borne  in  mind,  however,  that  all  of these and 
similar  terms  arc  lo  be  assm:ialcd  with  !he  appropriate 
physical quantities and arc  merely C\mvcnicnllahcls applied 
lo  these  quantities.  Unless  spccilka!!y  slated  otherwise  as 
apparent  from  the  following  discussions,  it  is  appreciated 
that  throughout  the  present  invention,  discussions  utilizing 
lcrms such  as "processing or "computing or "caleulaling 
or  "dclcrmining  or  "displaying  or  !he  like,  rcl"cr  lo  !he 
action  and  processes  of  a  computer  system,  or  similar 
electronic  computing  device,  that  manipulates  and  trans-
forms  data  represented  as  physical  (electronic)  quantities 
within  !he  computer  system's  registers  and  memories  into 
other data similarly rcprcscn!cd as physical quantities within 
45 
instructions.  A  display  devi<.."C  121,  such  as  a  cathode  ray 
lube,  liquid  crystal  display,  clc.,  including  its  associated 
controller  circuitry,  is  also  coupled  lo  1/0  bus  101  for 
displaying  information  to  the  <..Xlmputer  user,  as  well  as  a 
hard  copy device  124, such  as  a  plotter or printer,  including 
the  computer  system  memories  or  registers  or  other  such 
information  storage,  transmission  or  display  devices. 
50 
its  associated  <..xmtroller  circuitry  for  providing  a  visual 
rcprcsenlalion  of  !he  compulcr  images.  !lard  copy  device 
124  is  coupled  with  processor  103,  main  memory  104, 
non-volatile  memory  ro6  and  mass  storage  device  107 
through  I 0  bus  101  and  bus translator "interface  unit  140. A 
modem  108 and  an  c!hcmc!local area  nclwork  109  arc  also 
55 
coupled  lo  1/0  bus  !Ill. 
Bus interface unit  140 is coupled lo  local  bus  100 amll/0 
bus  101  and  acts  as  a  gateway  between  processor  ro3  and 
the  I"()  subsystem.  Bus  interface  unit  140 may also  provide 
lranslalion  bel ween  signals being sen!  from  units on  one  of 
!he buses lo units on !he other bus lo allow local bus 100 and 
I 0  bus  101  loco-operate  as  a  single  bus. 
The  present  invention  also  relates  to  apparatus  for  per- 60 
forming  !he             herein.  This  apparatus  may  be     
cia!!y  conslruc!cd  for  !he  required  purposes,  or  it  may 
comprise  a  general  purpose  computer  selectively  activated  An  I 0  controller  130  is  coupled  to  I 0  bus  101  and 
controls  access  to  <.."Crtain  I 0  peripherals  in  the  computer 
65  system.  For  instance,  l/0  <..xmtroller  130  is  coupled  to 
controller  device  127  !hal  controls  access  lo  an  alpha-
numeric input device  122 including alpha-numeric ami  other 
or  rc<..onJigurcd  by  a  computer  program  stored  in  the  com-
puter.  The  algorithms and  displays presented  herein  arc  not 
inherently  related  lo  any  particular com puler or other appa-
ratus.  Various  general  purpose  machines  may he  used  with 
us  6,493,002  131 
5 
keys,  clc.,  for  communicating  information  and  command 
selections  to  processor  103,  a cursor <.:ontro!  123, such  as  a 
trackball,  stylus,  mouse,  or  trackpad,  etc.,  for  controlling 
cursor  movement,  and  a temperature  sensor  127/\ for  mea-
suring  !he  inlcrnal  syslcm  lcmpcraturc.  The  system  also  .<
indudcs a  sound  chip  125 coupled  lo 1/0 conlro!!cr  130  for 
providing  audio  recording  and  play  back.  Sound  chip  125 
may  indudc a sound circuit  and  its driver which  arc  used  to 
gcncralc  various  audio  signals  from  the  computer  system. 
6 
the  display areas is individually and  variably si:tcd. The  size 
of the  control  strip  itself  may  also  be  variably  sized.  In  one 
embodiment, the  size  may  be  adjusted such that  none, all, or 
only a  portion of the  display areas within  its boundaries arc 
visible. The si.-:c  of the  control strip  may  also he varied such 
that only a portion of one display area is visible in !he control 
strip.  FIG.  2A displays  a  computer  desktop  illustrating  the 
control  strip  of  the  present  invention  as  well  as  opened 
windows.  FIG.  2B illustrates one  embodiment of the control 
I.  0  controller  130  may  also  provide  access loa Jloppy  disk 
and  driver  126.  The  processor  103  controls  I.  0  controller 
130  with  its  peripherals  by  sending  commands  to  l/0 
controller  130 via  local  bus  100,  interface  unit  140  and  l/0 
bus  101 
111 strip  of !he  present  invention. 
Each  of !he variably si:tcd  data  areas  may  be  sensitive  lo 
user  input  for  control.  That  is,  a  user  may  interact  with  the 
individually display data  areas.  Dill"crcnt  parts of the control 
strip  either  display  information  or  act  as  buttons,  or  both. 
Ballcrics or other power supply  152  may  also be included  I.<  Note  thai  hullons  may  display  information  on  !heir surface. 
When  !he  user  clicks  a  hullon,  it  is  highlighted.  In  one 
embodiment,  buttons  may  also  display  additional  clements 
such  as  pop-up mcnus(shown  in  FIG. 2C) or  help  messages 
(e.g., balloons shown in  FIG.  2D). Thus, in one embodiment, 
"II  control of the  individual data  areas is accomplished, in  part, 
through  the  usc of small butlon controls and indicators in  the 
form  of various  i<.ons. 
lo  provide  power  necessary  lo  run  !he  various  peripherals 
and  integrated  circuits  in  the  computer system.  Power  sup-
ply  152  is  typically  a  DC  power  source  that  provides  a 
constant  DC  power  to  various  units,  particularly  processor 
103.  Various  units such  as processor  103,  display  121,  etc., 
also  receive  clocking  signals  to  synchroni.-:c  operations 
within the  computer systems. These clocking signals may  be 
provided  by  a  global  dock  generator  or  multiple  clock 
generators,  each  dedicated  to  a  portion  of  the  computer 
syslcm.  Such  a clock genera lor  is shown  as dock generator  "-' 
160.  In  one  embodiment,  clock  generator  160  comprise  a 
phase-locked  loop  (PLI.)  that  provides  clocking  signals  to 
processor  103. 
Each  of the  display  areas  is  associated  with  a  program-
ming module.  Each  of the  modules provides a spccilic status 
or  control  function.  In  one  cmlmdimcnl,  !he  module  is 
rcprcsenlcd  by  a disk  Jllc  containing  the  code  necessary  for 
In  one  embodiment,  processor  103  is  a  member  of  the 
68000  family  of processors,  such  as  !he  68040  processor 
manufactured  by  Motorola  Corporation  of Schaumberg,  Ill. 
The  memory  in  the  <.:omputcr  system  is  initialized  to  store 
the  operating system  as  well  as other programs, such  as  Jilc 
directory  routines,  control  programs,  system  programs  and 
application  programs, and data  inputlcd  from  I.  0  controller  '
5 
130.  The  operating  syslcm  running on  processor  103  takes 
care  of  basic  tasks  such  as  starting  the  system,  handling 
interrupts,  moving  data  to  and  from  memory  104  and 
peripheral  devices  via  inpul/oulpul  interface  unit  140,  and 
managing  the  memory  space  in  memory  104.  In  one 
40 
embodiment,  the  operating  system  is  stored  in  ROM  106, 
while  RAM  104  is  utilized  as  the  internal  memory  for  the 
computer  system  for  accessing  data  and  application  pro-
grams. 
the  module  to  interact with  the  <-Xlfltrol  strip as well  as other 
clements such  as  text,  icons,  pictures, etc.  Modules  may  be 
designed  to  be  responsive  to  selection  from  cursors  via  a 
'
0 
mouse,  trackpad,  or  cursor  control  keys,  such  as  on  a 
keyboard.  Many of !he  modules  arc  able  to  provide  control 
to  various system  functionality,  and  may  provide  menus  to 
do  the  same. 
Processor  103  accesses  memory  in  !he  computer  system 
The  control  strip  is  a  control  panel  that  provides  the 
operating  environment  for  control  strip  modules.  In  one 
cmlmdimcnl,  !he  control  strip  runs  on  any  Macintosh'" 
computer  using a System  7.0 or  later operating system. The 
control strip of the  present  invention  may  be  designed to  run 
on  <-Xlmputcr  systems  using other  operating  systems. 
In  one  embodiment, !he  control  strip  is implemented  in  a 
privalc window layer that  appears in  front of the windows of 
all  !he  application  layers.  That  is,  !he  control  strip  window 
appears on  top of all  application programming windows that 
45 
may be  generated  as  part  of the  execution  of an  application 
program. This prevents other windows from  obscuring it.  In 
one  embodiment,  processing  logic  in  !he  computer  system 
may  maintain  a  list  of windows ordered  from  the  frontmost 
via  an  address bus within bus 100. Commands in  conncclion 
with  the  operation  of  memory  in  the  computer  system  arc 
also  sent  from  the  processor  to  the  memory  using  bus  100. 
Bus  100  also  includes  a  hi-directional  data  bus  lo  commu-
50 
nicalc  data  in  response  to  the  commands  provided  by 
processor  103  under  the  control  of  the  operating  system 
window  on  the  screen  being  at  the  top  of  the  list  and  the 
bottommost  window  being  at  the  bottom  of  the  list.  Pro-
cessing  logic  can  maintain  !he  control  strip  window  a!  the 
top  of the  list. 
running on  it. 
Of  course,  certain  implementations  and  uses  of  the 
present  invention  may  neither require  nor  include  all  of the  55 
almvc  components.  For example, in certain implementations 
The  control  strip  of  the  present  invention  may  include 
windowing conligurations that  arc  shown  as  being  horizon-
tal  or  vertical  on  the  screen.  Furthermore,  the  present 
invention  is  not  limited  to  a single  row or column  of slat us 
a  keyboard  or  cursor  control  device  for  inpulling  informa-
tion  to  the  system  may  not  be  required.  Furthermore,  the 
computer  system  may  include  additional  processing  units. 
OVERVIEW  01  TilL  PRESENT  INVENTION 
The  present  invention  provides  a  control  and/or  status 
window  for  display on  the  desktop of the  computer system. 
The control  and  status window will  be  referred  to  herein  as 
the  <:ontrol  strip. The  control strip of the  present invention is 
a  window  of graphics depicting one  or  more  display  areas 
for  control and/or status indicia.  In one cmhodimcnl, each of 
and  control  data  areas.  In  other  words,  multiple  rows  and 
columns  of  module  data  areas  may  be  included  in  the 
window  of the  control  strip. 
CONTROL STRIP  MANIPULATION 
The control strip, such  as shown  in  FJ(i.  2B,  may  also  be 
moved  to  di!Tcrcnt  portions of the  display screen.  I lowcvcr, 
in  one embodiment, the  window  for  the  control strip may  be 
65  moved  to  any  location  on  the  display  as  long  as  the  right 
and. or  left  edge  of !he  strip  is  allachcd  lo  the  right  or  left 
edge,  respectively,  of !he  display.  The  user  may  also  hold 
us  6,493,002  131 
7 
down !he option key and drag !he lab 203 of the control strip 
200 with  the  usc  of a  cursor  control  dcvi<.:c  (e.g.,  trackpad, 
trackball, mouse) to move the  <.:ontrol  strip to  a  new  position 
on  !he  display. 
8 
The  control  strip  may  also  include  a ballcry  monitor  !hal 
displays  the  status  of  the  battery  or  batteries.  In  one 
embodiment, the  battery monitor displays the  current power 
drain  in  a  manner similar  to  a cars  miles per gallon (MPG) 
In  one  embodiment,  !he  user  may  adjust  the  si.-:c  of the 
control strip window. Ad_iuslmcnls to  the si.-:c  of the  window 
may <.:omprisc  either an  increase in the  height of the window, 
the  width  of the  window, or  both.  In  one  embodiment, only 
!he  width  of  the  control  strip  window  may  altered.  The 
dell nit ion  and  usc  of windows  is  well-known  in  the  arl.  In 
one  embodiment,  the  control  strip  200  has  a  tab 203 on  its 
unattached  end.  The  user  can  drag  tab  203  to  adjust  the 
length  of the  strip.  By  "clicking  on  tab  203,  i.e.  selection 
through !he  usc  of !he  lrackpad, mouse, cursor control keys, 
clc., !he user is able  lo shirt  from  a minima! control strip si.-:c 
to  a  maximum  control  strip  size,  and  vice  versa.  In  its 
minima! size, the  graphics of the  modules in  the  control strip 
.< indicator. The  needle  for  !he power drain  indicator imlicalcs 
!he drain relative lo !he  maximum possible. The  control strip 
of the  present  invention  allows  this  display  to  be  updated 
frequently  so if the  user  increased  the  IFD display screen's 
brightness  level,  !he  needle  would  animate  lo  denote  !he 
111 consequence  of !he  action. 
Another  control  strip  module  displays  !he  slate  of  File 
Sharing  (e.g.,  on,  oil",  or  users  connected)  that  may  be 
currently employed on the  computer system. The Ji!c sharing 
module  also  lets the  user tum  !He  sharing on  or oil"  and  lets 
1.<  the  user open  a control  panel  lo  control  processing lo  sci up 
!He  sharing  on  !he  com puler  system. 
arc  not  visible  and only  the  tab  is showing.  In  its maximum 
si.-:c,  a!l  of !he  modules  in  !he  control  strip  arc  showing. 
Rccogni.-:ing  cursor con!rol!cd  sclec!ions through  !he  usc  of 
trackpad, trackba!!,  mouse, cursor control  keys, etc., as wei! 
as the tracking of movements of the cursor made  by the same 
The  control  strip  of  the  present  invention  may  also 
provide a module to allow the  internal hard  disk  power to  be 
turned  off  (to  save  power),  and  to  indicate  whether  is 
"II  currently  on  or  o!T. 
arc  well-known  in  !he  arl. 
Scro!! arrows, such as !crt scroll arrow 204 and  right scm!! 
arrow  205,  arc  provided  on  !he  control  strip !hal  enable  !he  "-' 
window of the  control strip to  be  scrolled to  the  left or right, 
respectively.  Usc  of  scroll  arrows  with  windows  is  well-
known  in  !he  arl. 
The  user  may  also  hide  !he  control  strip.  In  one 
The  control  strip  may  also  provide  power  scllings  that 
a !low  the  user  to  select  hclwccn  maximum  ballcry  conser-
vation or maximum  computer performance without opening 
a  control  pane!.  In  one  embodiment,  the  power  settings 
portion of the  control strip also allow the  user lo  open up  the 
power savings control panel. The control strip of !he        
invention  may  also  include  a  function  that  p!a<."CS  the  com-
puter  in  sleep  mode  or  allows  the  user  to  select  the  sound 
volume. 
Other  modules,  for  example,  may  provide  lime  and/or 
dale  information,  may  list  currently  running  programming 
applications, may indicate  !he  amount of available  memory, 
may  control  a  CD  drive,  may  provide  access  to  audio 
embodiment, to  make  the control strip disappear comp!c!ely,  .>o 
the  user can dick the !!ide  button in  the  control strip control 
panel, as described  later  in  conjunction  with  FIG.  3. A dose 
box  201  is  also  indudcd  in  control  strip  200  In  one 
cmbmlimcnl,  by  holding  !he  option  key  and  clicking  a 
display  area,  !he  user  can  drag  !he  display  area  lo  another 
position  in  the  <-Xlntro!  strip.  An  example  of the  process of 
moving one  display  area  to  another  position  on  the  control 
strip  is  shown  in  FJ(i.  2L.  Referring  lo  FIG.  2L,  !he  user 
sclecls one of the display  areas by, for  instance, positioning 
the  cursor over  the  display area.  When  the  user ""clicks"  the 
display area, its border becomes highlighted. While clicking, 
_,
5 
controls  and  status  information.  Therefore,  the  control  strip 
acls as  a slat us and control  function  bar, or windowing area, 
that  provides running modules lo he displayed  in  an arrange-
ment  that  is  to  be  displayed,  such  an  arrangement  being 
modi!iab!c  such  that  the  size  of the  window  or  bar  may  be 
40 
changed. 
the  display area  is dragged  to  another location  in  the  control 
strip  module  display  area.  When  !he  user  has  moved  !he 
display  area  lo  !he  location  of  his  choice,  !he  user  slops 
""dicking  The  <-Xlntro!  strip  display  areas  arc  then  rear- 45 
ranged. 
In  one  embodiment,  the  control  strip  is  con!ro!lab!c 
through  a  control  pane!.  An  exemplary  display  of  such 
control  panel  is  shown  in  FJ(i.  3.  Usc  of control  panels  is 
well-known  in  the  art.  Using the  control  panel  in  FIG. 3, the 
user  is  able  to  hide  or show the  control strip  by  dicking the 
corresponding bullon  in  the  control  panel.  Note  !hal  in  one 
cmlmdimcnl,  the  control  panel  may  also he       lo change 
the  font  and  size  of the  text  in  the  control  strip  window. 
PROCESSING  LOCilC  FOR  TilL  PRESENT 
INVEN"I"ION 
The present  invention  includes computer prm:cssing logic 
for generating !he control strip of the  present  invention. rhis 
pro<."Cssing  logic  is  described,  in  part,  in  the  !low  charts 
After the  user  rearranges the  parts of the  control strip, the 
new  arrangement  is  saved.  The  saving  operation  may  he 
deferred until  resources, such  as !he  hard  disk is ready (e.g., 
spinning)  or  until  just  before  the  <-Xlmputer  system  is  shut  50 
down  or  restarted.  In  other  words,  in  computer  systems  in 
which  the  hard  disk  is  not  turned  on  a!l  the  time  in  order  to 
save  power,  !he  saving operation  may  be  deferred  until  !he 
hard  disk  has  been  lumed  on  by  another. 
55  shown  in  FIGS. 4-10. In  addition  to  the  computer resources 
described  earlier,  !he  present  invention  relics  upon  the 
availability  of  an  operating  system  and  system  llmc!ions 
capable  of  displaying  windows,  information  in  windows, 
characters,  and  cursor  symbols  on  the  display  devices. 
EXEMPI.ARY  C:ONTROI.iS.Ii\TUS 
INI:ORMAI"ION 
The  control  strip  of  !he  present  invention  provides  a 
standard  screen  location  for  a <.Xl!!ection  of individual  mod-
ules  that  provide  status  and  control  functions.  In  one 
embmlimcnl,  !he  control  strip  functions  include  a  network 
switch  !hal  shows  whc!her  a  nclwork  conncclion  for  !he 
computer  system,  such  as  an  AppleTa!kn'  network 
connection,  is  on  or  oil"  and  lets  the  user  tum  the  network 
60  System  functions  for  interfacing  with  the  cursor  control 
devices  and  cursor  funclion  keys,  including  !he  !racking  of 
cursor  location  within  a  window,  arc  also  required.  These 
resources arc  standard  processing components known  in  the 
art. 
connection  on  or  otT  without  having  to  !ocate  and  execute  65 
other  nclwork  connection  software  on !he  com puler system 
(e.g.,  without  having  lo  open  !he  Chooser.,"). 
When  the  pro<."Cssor  of  the  present  invention  is  Jirst 
powered  up,  the  operating system  logic obtains control  and 
initializes  the  system  components  such  as  read/write 
us  6,493,002  131 
9 
memory,  the  display  device,  !he  cursor  control  device,  the 
cursor  function  keys,  and  keyboard.  During  this  initializa-
tion pro<.:css or in  response  to a user command, the operating 
system  displays  the  control  strip  of the  present  invention. 
In  one  embodiment,  !he  control  strip  initiali.-:alion  is 
performed  in  two  stages.  The  !irs!  stage  begins  by  initially 
loading  at  least  one  routine  a!  star!  up.  Upon  loading 
necessary  routines,  the  operating  system  allocates  storage 
for  global  variables  usc.  Next,  resources  arc  loaded  for  usc 
10 
1\t  processing  block  407,  a  lest  dc!crmincs  if  !here  has 
been  a  ""dick"  of the  mouse  within  the  area  ddincd  by  the 
control  strip.  If  there  has been  a  dick of  the  mouse  within 
the  control  strip,  the  mouse  dick  is  processed  (processing 
.< block  408),  and  processing  continues  a!  processing  block 
409.  The  mouse dick processing dc!crmincs the  location  of 
the  mouse  dick,  which  module  in  the  <.:ontrols  strip  was 
selected,  or  ""clicked-on",  if any,  and  any  action  to be  taken 
based  on  !hal  location.  One embodiment of the  mouse  dick 
by  the  control  strip  processing  logic.  These  resources  Ill 
indudc !he  visual components or indicia  that  is lo appear in 
processing  is  described  in  FIG.  9.  If a  mouse  dick  has  not 
occurred  within  !he  control  strip,  processing  continues 
directly  to  processing  block  409. 
the  control  strip,  such  as  pictures,  i<.:ons,  text,  etc.  The 
processing  logic  for  the  control  strip  is  patched  into  the 
operating  system. 
I.atcr, as a second stage of the  initiali:talion during the  sci 
15 
up process, !he control strip  processing logic causes each of 
!he  module  !lies lo     opened one a!  a time. The code  for !he 
module is  loaded. An  initialization  routine is run  in  response 
1\t  processing block 409,  the  previous context  is  restored 
and  the  processing  logic  exits  to  rcturn  control  to  the 
operating system. 
One  cmbmlimcnl  of !he  secondary  initiali:tation  process 
called by !he control strip main  processing logic is described 
in  a !lowchart  in  FIG.  5.  Referring to  FIG.  5,  the  sc<.:ondary 
to  a call, during which  time,  the  module  itsdf determines  if 
it  can  run.  This information  is conveyed  to  the  control strip.  :w 
The processing logic !hen causes !he window to be displayed 
and  calls  the  modules  to  run  lhcmsdvcs  and  appear  in  the 
control  strip.  FIG.  2F  shows  the  control  strip  window 
graphics generated by processing logic  being combined with 
graphics genera led  by  a  module  to  illuslrale  !he  creation  of  "-' 
!he  resulting  control  strip. 
initialization  pro<..-css  begins by testing whcthcr the  Finder'"' 
has slar!cd up (processing block 501 ).  If the  Finder'-" has not 
slar!cd  up,  the  secondary  initiali:tation  process  ends. 
llowcvcr,  if the  I:indcr""'  has slar!cd  up,  the  window of the 
control  strip  is  created  (pro<..-cssing  block  502). 
Then  a  test  determines  whcthcr  the  creation  of the  win-
dow  of the  control  strip  was  successful  (processing  block 
503).  If !he  creation  of !he  window  of the  nmlrol strip was 
no! successful, the  process ends. The creation of the window  F!Ci.  4  is  a  Jlowcharl  of the  processing  logic  responsible 
for  generating the  control strip of the  present  invention  and 
processing  events  that  occur  involving  the  control  strip.  In 
one cmbmlimcnl,  the  control strip  main  processing  is called 
by the            system.  Referring lo FIG.  4,  the  processing 
begins by saving !he previous conlexl and  sets up  the conlexl 
of  the  control  strip  (processing  block  401).  The  previous 
context  refers  to  the  state  of the  <.:omputcr  system  prior  to 
performing  control  strip  processing.  The  previous  conlcxl 
may  correspond  lo  an  application  program  running  imme-
diately prior to  the  control strip processing being called. The 
context may  include settings up  its  memory space, providing 
access  to  its  global  variables,  etc. 
Next, a  lest  dc!crmincs  if the  secondary  initiali:tation  has 
been  done  (processing block  402).  If !he  secondary  initial-
i:talion  has  no!  been  done,  processing continues  a!  process-
ing  block  403  where  a  sc<.:ondary  initialization  process  is 
run, and  pro<.:cssing  thereafter continues at  processing block 
409.  The  secondary  initiali:talion  process  causes  !he  pro-
cessing logic lo initialize  the  control strip.  One embodiment 
of the secondary initiali.-:alion process is described in  FIG. 5. 
On  the  other  hand,  if  the  window  of  the  control  strip  is 
allocated,  processing  continues  at  processing  block  404 
where  !he  processing  logic  awaits  a  user  even!  and  dctcr-
mincs  !he  type  of such  an  even!. 
Then a test dc!crmincs if the  uscrcvcntlypc is a null even! 
(processing  block  405).  That  is,  a  test  dctcrmincs  whether 
the  user event  type  is  idle or  not.  If  the  user  event  type  is  a 
null  even!,  processing  nmlinucs  at  processing  block  406 
where  idle  tasks arc  run,  and  processing thcrca!"tcrnmtinucs 
at  processing  block  409.  Thus,  during  idle  periods,  tasks 
involved  with  the  control  strip  window  may  be  ntn  as wdl 
as  tasks  of  the  modules.  Examples  of  module  tasks  may 
include  updating  hdp messages (e.g.,  due  loa  help  !Ca!urc 
being enabled  on  !he  compulcr system) and  saving updated 
state  information (e.g., display area  on  screen moved to  new 
location, display area  resized,  module  made  invisible;  mod-
ule  indicates state  is changed  and  that  it  must  be  saved).  On 
!he  other  hand,  if  the  even!  type  is  not  a  null  event, 
processing  continues  at  processing  block  407. 
may  not  be  successful  because,  for  instance,  there  is  not 
.>o  enough memory,  missing system rcsour<..-cs,  etc.  On  the other 
hand,  if !he  creation  of the  window of the  control strip was 
successful, !he  font  and  color of !he  control strip  arc  initial-
i.-:cd  (processing  block  504).  Then  external  modules  arc 
opened  and  initialized  (processing  block  505),  the  default 
_,
5 
screen  location  and  size  of  the  control  strip  arc  set 
(processing  block  506),  the  user  conllguralion  is  loaded 
(processing block 507),  and  the  conlcnls of the  control strip 
arc  drawn  (pro<..-cssing  block  508).  The  user  con!iguration 
may  include  screen  location  for  the  control  strip,  the  saved 
40 
display order of the  modules, the window size of the  control 
strip,  de.  Then  the  secondary  initiali.-:ation  process  ends. 
The default screen location and si.-:c  of the control strip arc 
stored  in  memory  and  accessed.  In  one  cmhodimcnl,  these 
values  may  be  changed  by  the  computer  user,  such  as  by 
4
5  interacting  with  the  control  strip  itsdf  In  another 
cmlmdimcnl,  the  dc!"aull  values  arc  dctcrmincd  and  perma-
nently sci by a system designer.  Nole !hal spccilkation of the 
font,  color,  default  screen  location  and  si:tc  may  not  be 
required  in  lieu of the  user con!iguration. l.ikcwisc, by using 
50 
solely  the  default  settings,  the  user  con!iguration  is  not 
required. 
One  embodiment  of !he  process  for  opening  and  initial-
i.-:ing  cxlcrnal  modules  such  as  may  be  invoked  by  the 
secondary  initialization  process  is  shown  in  FIG.  6.  Refer-
55  ring to FIG. 6, the  processing logic begins by testing whether 
there  arc  more  module  Jllcs  to  he  opened  (processing block 
601).  If there arc  no  more module  Jlles(c.g., all !he  modules 
have  been         and  loaded),  !hen  the  process  ends.  The 
modules arc  opened and  initialized one at  a time.  If there arc 
60  more  module  tiles,  the  processing  logic  opens  the  module 
Jllc  (processing block  602)  and  loads  the  module  code  into 
memory (processing block  603).  The  processing  logic calls 
the  module  to  initialize  itsdf (processing 604).  The  module 
is  then  also  called  by  the  pro<..-cssing  logic  to  obtain  the 
65  features of the  module (pro<..-cssing  block 605)  and  to  obtain 
the  width  of !he  module"s  area,  as  well  as  features  of the 
module  (processing block  606).  The  features  of !he  module 
us  6,493,002  131 
II  12 
perform  a  save  operation.  This  de!crminalion  is  based  on 
whether the  rcsour<.'CS  arc  available  (i.e.,  II.D.  is  turned on) 
to  perform  the  save  operation.  If it  is  not  safe  to  perform  a 
save  operation,  processing  continues  at  processing  block 
include  help  messages  to  be  displayed  when  the  module  is 
"dickcd on with  the cursor. Then  the  module  Ji!c  is dosed 
(processing  block  607)  and  the  processing  loops  back  to 
processing  block  601.  By  looping back  to  processing  block 
601, the  processing logic  is  able  to  provide !he  initia!i.-:alion 
procedures  lo  a!!  !he  modules,  such  !hal  when  a!!  the 
modules  have  been  processed  the  process  ends.  When  the 
process ends, it  returns in  a manner well-known  in  the  art  to 
!he  processing  logic  !hal  ca!!cd  (e.g.,  initialed)  it. 
.< 806.  However,  if it  is  safe  lo  save  control  strip,  processing 
continues a!  processing block 805 where !he conllguralion of 
the  control  strip  is  saved  to  disk.  Thereafter  processing 
continues  to  processing  block  806. 
At  pro<.-cssing block 806, the  current  idle  module  is called 
One cmhodimcnl of a  process for drawing !he contents of 
!he  control  strip  (processing  block  508),  such  as  used  a! 
processing  block  508  of  FIG.  5,  is  described  in  FIG.  7. 
Referring to  FIG. 7, the  processing logic initially determines 
if  the  control  strip  is  visible  (processing  block  701).  If the 
control  strip  is  no!  visible,  processing  ends.  Thai  is,  if  !he 
user has  hidden  !he  control  strip, !he  present  invention  will 
not  draw  its  contents. 
Ill  to  run  its idle !ask.  In  one cmhodimcnl, the  processing logic 
of !he  present  invention  allows  only  one  module  lo  run  its 
idle  tasks during each a call to the  processing of FIG. 8 (e.g., 
the  currently  designated  module)  to  reduce  overhead  time. 
ldcnti!kation  of  the  current  module  is  based  on  an  ID 
1.<  associated  with  each  of !he  modules. 
Then  !he  idle  !ask  undergoes post  processing (processing 
block 807), and  the  ID of the  next  module  is updated to idle 
(processing block 808). That is, the  module designated as the 
current  module  for  the  next  call  to  the  processing of FIG.  8 
On  the other hand, if the  control strip is visible, processing 
continues at  processing block 702 enters a looping structure 
where  !he  processing  logic  lcsls  whc!hcr  !here  arc  more 
modules  lo  draw.  If  !here  arc  no  more  modules  lo  draw, 
processing ends and control returns lo  !he process !hal called 
"
11
will  be  the  next  module  in  the  list  of modules.  An  example 
of !he  post  processing  is  shown  in  FIG.  10. 
it.  If  there  arc  more  modules  to  draw,  processing continues 
at  processing  block  703  where  the  processing  logic  tests 
whether  !he  particular  module  needs  lo  he  redrawn.  A  "-' 
module  may  need  lobe drawn  when  !he  information  being 
displayed  needs  to  be  updated.  For  example,  as  the  amount 
Then,  !he  processing  logic determines  whc!hcr !he  mod-
ule  needs  to  save  settings  for  usc  later  (processing  block 
809).  If  the  module  docs  not  need  to  save  its  settings, 
processing continues  lo  processing block  812.  On  !he  other 
hand,  if  !he  scllings  of  !he  module  arc  lo  be  saved,  !he 
of energy in  the  battery  is changing due to  energy <.:onsump-
tion  from  the  computer  system,  an  update  to  the  battery 
indicia  in  !he control strip must  be  made.  If the  module docs 
no!  need  lo he redrawn, processing loops back lo  processing 
block  702  where  the  more  modules test  is  repeated.  On  the 
other  hand,  if  the  module  needs  to  be  redrawn  processing 
continues  a!  processing  block  704  where  !he  processing 
logic  determines  whc!hcr  !he  module  is  a  bullon.  If  !he 
module is a hullon, processing continues a!  processing block 
705 where the  background graphics of the  button  arc drawn, 
and  pro<.:cssing  continues  to  pro<.:cssing  block  707.  If the 
module  is  no!  a hullon, !he slalus-only background graphics 
arc  drawn (processing block  706)  and  processing continues 
40 
at  processing  block  707.  Note  that  in  one  embodiment,  the 
type  of  background  graphi<-'S  may  be  obtained  using  a 
message  sent  to  the  module  requesting  its  features. 
pro<.-cssing  logic  tests  whether  the  settings  may  be  saved  at 
this  time  (pro<.-cssing  block  810).  One  reason  the  settings 
may not  be saved  is that  the  hard  disk may be  powered down 
.>0     
or  turned  olT.  lf !he  sellings  can no!  be  saved  a!  this  lime, 
processing continues a!  processing block 812.  lf !he scllings 
of the  module  may be saved at  this time, the processing logic 
causes  the  module  settings  to  be  saved  to  disk  (processing 
block  811).  Thcrca!lcr,  processing  continues  a!  processing 
'
5 
block  812. 
AI  processing block 812, !he help messages for !he control 
strip  arc  updated,  and  processing  ends  and  returns  to  the 
control  of the  main  processing  logic. 
One  embodiment  of  the  mouse  dick  processing  of  the 
present  invention,  such  as  used  in  FIG.  4,  is  shown  in  a 
Jlowcharl in  FIG. 9.  Referring lo  FIG.  9,  !he processing logic 
determines  whc!her  a  mouse  click  has  occurred  inside  !he 
control  strip  (processing  block  901).  In  one  embodiment, 
AI  processing block 707, !he processing logic makes a call 
lo  !he  module  lo  draw  itself.  Thai  is,  it  is  !he  responsibility 
of !he  module  itself  lo  draw  its  sial us  for  control  indicia. 
Thereafter  processing  loops  back  to  processing  block  702. 
One  embodiment  of the  processing  for  running idle  tasks 
in  FIG.  4  is  described  in  a  llowchart  in  FIG.  8.  Referring to 
FJ(i.  8,  !he  processing logic l1egins by dclermining whc!hcr 
a  window  update  is  pending  (processing  block  801).  If a 
window  update  is  pending,  the  processing  <.Xlntinucs  at 
processing  block 802  when  the  <-Xlfltcnts  of the  control  strip 
45 
this  determination  may  be  made  by  <-Xlmparing  the  current 
]\JCalion  of !he  cursor  with  !he  ]\JCalion  of !he  control  strip 
(e.g., slalus bar).  If a mouse click has no! occurred  inside !he 
control  strip,  then  processing  loops back  upon  itself,  retest-
ing repeatedly until a mouse click docs occur. When a mouse 
50 
dick occurs within  the  control strip, processing continues at 
processing  block  902  where  a  de!crminalion  is  made  as  lo 
upon  which  module  !he  cursor was  during  !he  click. 
arc  drawn.  Window updates may be required due to a change  55 
in  slalus in  one of !he  modules.  Changes may  also  be  due  lo 
a  reordering  of  !he  control  strip  entries.  Note  !hal  one 
embodiment of the  process to draw the control strip is shown 
in  FIG.  7.  Thereafter  processing  continues  at  processing 
block  803.  If  a  window  update  is  no!  pending  processing 
60 
continues  direc!ly  lo  processing block  803. 
AI  processing  803,  processing  logic  lcsls  whc!hcr  !he 
con!iguration  of the  control  strip  has  changed.  If the  con-
!iguration  of  the  control  strip  has  not  changed,  processing 
continues at  processing block 806. If the  con!iguration of the  65 
control  strip  has  changed,  processing  continues  a!  process-
ing  block  804 where  a  lest  determines whc!her  it  is  safe  lo 
The  processing  logic  !hen  determines  whc!her  a  move 
operation  is  being selected  by  the  mouse  (processing block 
903). If a move  operation  has been chosen, the  display of the 
module  is  moved  or  !he  entire  control  strip  is  moved 
(processing  block  904)  and  !he  processing  logic  ends  !he 
mouse  dick  process  and  exits  to  <-Xlfltrol  of the  processing 
logic  that  called  this  procedure.  The  determination  of 
whether to  move  a  module or the  entire strip is based on  the 
uscrs keystrokes or  mouse  movements.  On  !he other hand, 
if a  move  operation  is no!  lo occur, processing continues a! 
pro<.-cssing  block  905. 
At  processing block  905  the  processing  logic determines 
whether  the  module  on  which  the  dick  occurred  is  a 
"clickahle  module,  as  opposed  lo  a  slalus  only  module, 
(processing  block  905).  Thai  is,  !he  processing  logic  lcsls 
us  6,493,002  131 
13  14 
clc.,  arc  contained  in  a  Jllc  on  a  disk.  The  control  strip 
pro<..-cssing  logic  draws  the  strip  which  acts  as  the  back-
ground  for  the  individual  modules.  Each  module  is  respon-
sible  for  drawing the  i<..Xlns  and  other objects that  make  up its 
whc!hcr  the  module  provides  any  additional  furu:lionality 
when  a  mouse  moves the  cursor  to  select  an  clement  in  the 
control  strip.  If the  module  is  not  "clickablc,"  processing 
ends.  If the  module  is  dickablc,  processing  <.:ontinucs  to 
process  processing  hlm:k  906  where  the  mouse  dick  is 
!racked,  i.e.,  !he  lm:alion  of !he  cursor. 
.< user  interface. 
Conlcnls  of Module  Files 
In  one embodiment, !he  module  !lie  includes only a single 
resource  <..Xlfltaining  the  <..XKlc  necessary  for  the  module  to 
interact  with  the  control  strip.  A  module  Jilc  may  contain 
Next,  a  test  determines  if  the  mouse  is  still  within  the 
bounds of the  module (processing  block  907).  If  the  mouse 
is  not  within  the  bounds  of the  module,  pro<.:cssing  ends. 
llowcvcr,  if  !he  mouse  is  within  !he  boundaries  of  the 
module, !he module  is e<J!!cd  lo  process the dick (processing 
block  908)  and  the  dick  undergoes  post  processing 
(processing  block  909).  Thereafter,  the  pro<.:css  ends. 
Ill  more  than  one  code  resource  if it  is  to  provide  mul!ifunc-
lional support.  In  !hal case, each  module  in  !he  !lie  is loaded 
and  initialized  scparalcly  and  lrca!cd  as  an             
entity. 
One  embodiment  of the  process  for  post  pro<..-cssing  the 
mouse  dick is shown  in  FIG.  10.  Referring  to  F!Ci.  10,  the  1.< 
Module  Interface 
The  interface of the module  to  the  control strip comprises 
processing  logic          by determining whether !he  module 
desires to update  its settings (processing block  1001). If the 
settings  for  the  module  arc  to  be  updated,  pro<..-cssing  con-
tinues at processing block  1002 where a llag is set  to  indicate 
!hall he  module  has  a save           and  processing contin-
ues lo processing block  11Hl3. The sellings for a module  may 
have to be updated due  to user interaction, such as in  the case 
a code resource.  In one embodiment, using the  Macintosh'" 
computer, !he  type of !he code  resource  is  "sdcv  This code 
is responsible for  performing all  of the  functions required  by 
the  control  strip  as well  as any  functions  that  arc  custom  to 
"
11
the  module  ilscl!".  The  mmlulc"s entry  point  is  allhc begin-
ning  of !he  resource  and  is defined  as 
of  an  option  for  a  module  being  turned  o!T  or  a  module 
acquiring  data  as  part  of its  functionality.  If the  settings of 
a  module  do  no!  have  lobe  updated,  processing  continues  "-' 
dircdly  lo  processing  block  1003.  Selling  may  need  lo  he 
updated  when  the  module  is  displaying  information  that  is 
changing  frequently. 
At  proccssinl!.  block  1003,  a  test  determines  whether  the 
  .>0 
module  needs  lo  rcsi...:c  !he  display.  If  !he  display  of  !he 
pascal  long  Conlro!StripModulc  (long  message,  long 
params,  Reel  'slalusRcd,  Ciraf!Pir  slalusporl); 
Interactions  between  a  module  and  the  <..Xlfltrol  strip  arc 
managed  by  passing  messages  to  the  module  to  tell  it  what 
lo  do  or  lo  obtain  information  about  !he  module  and  its 
capabilities.  In  one cmlmdimcnl, each  module  is required lo 
observe  Macintosh""'  Pascal  register  saving  conventions; 
that  is,  it  may  trash  680x0  processor  registers  DO,  D1,  D2, 
AO,  and  A1,  but  must  preserve  all  other  registers across  its 
call.  Note !hal other operating systems and  implcmcnlalions 
of !he  present  invention  may  have  di!l"crcnl  rcslridions. 
module  must  be  rcsi...:cd,  processing continues a!  processing 
block  1004  where  the  module  is  called  to  update  its  width. 
Then processing continues at  processing block 1005.  On  the 
other hand, if !he display of !he  module  docs no!  need  lo  he 
resized,  processing  continues  dircdly  lo  processing  block 
1005. 
The  message  !kid comprises a  message  number  from  the 
_,
5 
list  in  the  section  "Control  Strip  Module  Messages"  that 
indicates  to  the  module  the  action  to  perform. 
The  params  !icld  signi!lcs  !he  result  returned  by  !he 
iniliali...:c  call  lo  !he  module.  This  would  typically  be  a 
pointer to a pointer (e.g., the  handle) to  the  private variables 
At  processing  block  1005,  the  processing  logic  deter-
mines  whether  the  module  desires  to  be  dosed.  If  the 
module  desires  to  be  dosed,  processing  continues  at  pro-
cessing block 1006 where !he module is dosed  immediately. 
Then  processing continues  a!  processing block  1007.  If !he 
module docs not desire to  be  dosed, processing continues to 
processing  block  1007. 
40 
to  be  used  by  the  module since  modules cannot  have  global 
variables.  This  result  is passed  lo  !he  module  on  all  subse-
quent  calls.  Note  !hal  in  embodiments  where  modules  can 
have  global  variables,  such  a  Jicld  may  he  climina!cd. 
The  statusRcct  !kid  comprises  a  pointer  to  a  rectangle 
45 
within  the  control  strip ddining the  area  that  a  module  may 
draw  within. 
At  processing  block  1007,  a  test  determines  whether  the 
control  strip  is  lo  be  rcsi...:cd  or  dosed.  If  !he  control  strip 
needs  lo  be  rcsi:tcd  or  dosed,  processing  continues  a! 
processing  block  1008 where  the  module  displays arc  repo-
sitioned  and  redrawn,  and  then  processing  continues  at 
processing block  1009.  If the control strip is not  to be resized 
50 
or dosed,  processing continues dircdly  lo  processing block 
1009' 
AI  processing block  1009,  a  lest  determines  whether  !he 
help  state  of the  module  is  to  be  changed.  The  help  state 
refers  to  help  messages  that  the  modules  provide  to  users  55 
generally.  If !he  help  stale  of !he  module  is  lo      changed, 
processing continues a!  processing block 1010 where !he old 
help  state of the  module  is  invalidated and  the  process ends. 
If  the  module  help  state  docs  not  need  to  be  changed, 
processing ends.  Changes to  the  help  state  may occur due  to  60 
a  global  change  in  !he  computer  system,  such  as  when  a 
particular  help  feature  (e.g.,  help  balloons)  is  enabled. 
The slalusPort Jicld  spccillcs a pointer lo !he graphics pori 
of the  control  strip. The  graphics port  may  be  either  a color 
or  black-and-white  graphics port,  and  depends on  the  com-
puter  system  on  which  the  <..Xlfltrol  strip  is  running. 
The result  value rclurncd by !he module                
on  !he  message  sen!  lo  it.  Results  for  each  message  arc 
described  below  in  the  sections on  the  individual  messages. 
CONTROL STRIP  MODULE  REFERENCE 
In  one  embodiment,  control  strip  modules  interact  with 
the <..Xlfltrol  strip processing logic in  three ways: by accepting 
messages,  by  calling  utility  routines,  and  by  calling  the 
operating system  manager (e.g.,  a  call  lo  Cics!al!  sclcdors). 
The  next  three  scdions           each  of !hose  inlcradions. 
Control  Strip  Module  Messages 
ADDINCi  CONTROL STRIP  MODULES 
In  one  embodiment,  the  <..Xlntrol  strip  of  the  present 
invention  operates  as  a  shell  with  individual  control  and 
slalus  modules  added.  Each  module  and  its  icons,  pidurcs, 
In  one  embodiment,  all  <..Xlfltrol  strip  modules  respond  to 
messages  from  the  control  strip  processing  logic,  which  is 
65  responsive  to  user  interaction  with  the  control  strip  dis-
played  on  !he  screen.  The  following  messages  have  been 
dcllncd: 
us  6,493,002  131 
                 
                  
,Uc,-1-caltllcs 
;dc,-(<ctDL-'pla\Wldth 
MJc,PcrimJid idle 
                    llclp 
sdcvlni!Modu!c 
15 
lnltlali/.c  the  llH><iulo 
Clean  up  bot{!lc  boi11g  do;od 
Return  lhc  i'caltllc  hils 
Rotum  tho  currolll  width  oltho 
1no<Julc-,  Ji,pla,-
l'crio<Jic  tidlc  \\hen  nothing  else  is 
            
l:txJalc  I he  inlcli"acc  in  lhc  conllol 
;trit> 
t.,cr  ha;  dickod  on  the  modulo'; 
Ji,pla\ a1ca 
Sa>o  ,,,. cha11god  ;ctting;  in  the 
moJulc.,  tllclo,o,Kc.,  file 
Di,plav  a  help  hal loon.  if the 
moJulc  ha;  '"'" 
'" 
1.< 
The  sdcvlnitModuk  message  is  the  Jirst  message  sent  to  :w 
a  module  after  the  module  has  been  loaded  from  its  Ji!c. 
Initialintion allows the  module  to initialize its variables and 
16 
embodiment, this hit issei when, for example, a module 
has  a  pop-up  menu  associated  with  it.  If  this  bit  is 
cleared,  the  control  strip  tracks  the  cursor  until  the 
mouse  button  is  released,  then  sends  an  sdcvMousc-
Ciick  message,  dcscrilJcd  below,  to  !he  module  lo 
notify  it  that  there  was  a  mouse-down  event. 
c) sdcvl IasC:ustoml lelp (2)-If this hit  is  set,  the  module 
is  responsible  for  displaying  its  own  help  messages. 
These  help  messages may  be  customized depending on 
its  current  slate.  If the  bit  is  cleared, !he  control  strip 
displays a generic help message when !he cursor passes 
over  the  its  display  area  and  Balloon  Help,  or  other 
help-based  information  provider,  is  on. 
d) sdcvKccpModu!d.ockcd (3)-If this bit  is set, the <.:ode 
of  !he  module  is  kepi  locked  and  prolcclcd.  In  one 
embodiment, this hit is set only if the  module  is passing 
!he  address  of one  of its  routines  to  a  routine  cxlcrnal 
to  the  module  (e.g.,  installing  itself  in  a  queue). 
sdcvGctDisp!ayWidth 
lo  dclcrminc whether it  can run  on  a particular machine.  For 
example,  if !he  fund ion  of !he  module  is  lo  display  ballcry 
information,  it  may  be  only  able  to  n1n  on  a  portable 
computer,  such  as  the  Powcrbook  manufactured  by  Apple 
Computer. 
In  response lo receiving !he sdcvlnitModule  message, the 
module  loads  and  detaches  any  resources  (e.g.,  text,  code, 
icons, etc.)  in  its resource  !ile  that  will  be  used.  Also, space  .>o 
is  allocated  in  the  global  variables  for  handles  to  those 
detached  resources. 
The sdcvGctDisplayWidlh  message  is sent  to  a module lo 
determine how  much  horizontal  space (in  pixels)  its display 
currently  requires  on  the  control  strip.  In  response  to  the 
message, the  module  return the number of pixels as its result. 
In  one  embodiment,  the  returned  width  docs  not  comprise 
"-'  the  maximum  width  required  for  any  con!lguralion,  hut 
instead,  rc!lcc!s  how  much  space  it  currcn!ly  requires.  Note 
that  this  useful  because, in  one embodiment,  its  possible  for 
a  module  to  request  that  its display  be  resized. 
The  sdcvlnitMmlule  message  returns  a  result  depending 
on  its  success  at  installing  itself.  In  one  embodiment,  a 
positive  result       indicates  successful  installation.  The  _,
5 
processing logic passes this result  value to  the  module on  all 
subsequent  calls.  A  negative  result  indicates  an  error 
condition,  and  installation  of the  module  is  aborted  by  the 
control  strip  processing  logic.  Also  if  a  negative  result 
occurs  and  installation  has  been  aborted,  the  module  docs 
40 
no!  receive  a  close  message. 
sdcvC'IoscModule 
The sDcvCioseModule  message  is scnllo a  module when 
it  should  be  dosed.  In  one  embodiment,  the  module  itself 
decides when  to  be  dosed.  A  module  may  be  dosed when 
4
5 
it  no  longer is required  to be  running, such as when a ballcry 
level  indicator  no  longer  needs  to  be  running  when  the 
com puler system is receiving its power from an outlet. When 
the  module  receives  this  message,  it  disposes  of  all  the 
detached resources it  loaded as well as its global storage.  No  50 
result  is  cxpcclcd. 
sdcvl.-calurcs 
The  sdcvFcaturcs  message  queries  the  module  for  the 
features  it  supports.  This  message  returns  as  its  result  a 
bitmap consisting of 1 bits for  supported  features  and  0  bits 
55 
for  unsupported  !"ca!urcs.  In  one  cmhodimcnl,  there  arc  32 
bits  returned.  All  undefined  bits  arc  reserved  for  future 
features,  and,  in  one  embodiment,  arc  set  to 0.  The  bits  arc 
ddincd  as: 
a) sdcvWantMouscC!icks (0}--lf this bit  is set, the control  60 
strip  noti!lcs !he  module of mouse  down           If this 
hit  is  not  set, the  control  strip  assumes !hat  !he  module 
only  displays  status  information  with  no  user  interac-
tion. 
b)  sdcvDonv\utoTrack (1}--lf this  bit  is  set,  the  control  65 
strip highlights !he display of the  module and  then  calls 
the  module  to  perform  mouse  tracking.  In  one 
sdcv Per iodicTickle 
The sdcvPcriodicTick!c  message  is  passed  lo !he  module 
periodically to  allow !he  module  to  update  its display due lo 
changes in  its state. In one embodiment, this  message occurs 
at  regular  intervals, while  in  other embodiments, there  is  no 
minimum  or  maximum  interval  between  "tickles.""  In 
response  lo  !he  sdcvPcriodidkkle  message,  the  module 
returns, as its result, some bits that signal requests for  ad ions 
from  the  control  strip  processing logic.  In  one embodiment, 
there  arc  32 bits returned. All  unddincd  bits in  the  result arc 
reserved  for  future  usc and,  in  one cmhodimcnl, arc  set  to 0. 
The  bits  arc  defined  as: 
a)  sdcvRcsi.-:cDisplay  (0)-lf this  hit  is  set,  the  module 
resizes  its  display.  The  control  strip  processing  logic 
sends  a  sdcvGctDisplayWidth  message  to  the  module 
and  !hen  updates  !he  control  strip  on  the  display. 
b)  sdcvNccdToSavc  (I)-If this  hit  is  set,  !he  module 
needs to save changed settings lo disk.  The control strip 
processing  logic  marks  the  request  but  may  defer  the 
actual  save  operation  to  a  better  time  (e.g.,  when  the 
hard  disk  is  spinning). 
c)  sdcvllelpS!atcChangc  (2)-lf this  bit  is  sci,  the  help 
message  of !he  module  needs  to  be  updated  due  to  a 
change  in  state.  If  a help balloon  is  being displayed  for 
the  module,  the  control  strip  processing  logic removes 
the  previous  help  balloon  with  a  new  help  balloon  for 
!he  current  stale. 
d)  sdcvCioscNow  (3)-If this  bit  is  sci,  !he  module  is 
requesting  to  be  closed.  The  control  strip  processing 
logic calls the  module  to save  its settings, then  calls the 
module  again  to  dose  itself by,  for example, disposing 
of any  loaded  resources,  disposing  of private  storage, 
clc. 
sdcvDrawStatus 
The  sdcvDrawStatus  message  indicates  that  the  module 
has  to  redraw  its display  to  rcllcct  the  most  recent  state.  In 
one  embodiment,  this  message  is  sen!  when  !he  user clicks 
on !he  display  area  of the  module, when  any of !he  display 
us  6,493,002  131 
17 
18 
pascal  Boolean  SB!sContro!StripVisib!c  (  );  of  !he  module  is  n:si:tcd,  or  when  !he  control  strip  itself 
needs  to  be  updated,  perhaps  in  response  to  a screen  saver 
deactivation. 
The  SB!sControlStripYisible  routine  returns  a  Boolean 
value  indicating whether or not  the  <..Xlfltro!  strip  is currently 
visible.  ll  returns  a  value  of  ""true  if the  control  strip  is 
5 
visible,  or  a  value  of false  if  it's  hidden. 
The  statusRcct  parameter  points to  a  rectangle  bounding 
!he  display  area  of  !he  module,  in  lm:al  coordinates.  A!! 
drawing done  by a  module  within  !he  bounds of !he  control 
strip  is  limited  to  the  module's  display  rectangle.  In  other 
embodiment,  drawing  may  extend  outside  the  display  rcd-
angc of the  module. rhc dipping region of the control strip s 
window  is scllo the  visible  portion  of !he  display  rectangle  111
of the  module so  thai  a!!  !he clcmcnls in !he display  may he 
drawn.  If  the  dipping  region  is  to  be  changed,  the  initial 
dipping  region  should  be  observed  to  avoid  drawing  over 
other  ilcms  in  the  control  strip. 
sc!cvMouscC'Iick 
When  the  user clicks  in  a display  area  of the  module,  the 
control  strip  pro<.:cssing  logic  calls  the  module  with  the 
sdcvMouscCiick  message  if  the  sdcvWantMouscC'licks  bit 
is  set  in  the  features  of the  module. 
If the  sdcvDontAutoTrack hit  is  also set, the  control  strip 
processing  logic  draws  the  display  of  the  module  in  its 
highlighted  state  and  then  sends  the  sdcvMouscC'lick  mes-
sage to the  module.  If the  sdcvDontAutoTrack bit  is not  set, 
the  control  strip  processing  logic  tracks  the  cursor  until  the 
mouse  bullon  is  released.  If  the  cursor  is  still  within  the 
display area of the  module, the  control strip pro<..-cssing logic 
sends  the  sdcvMouscC'lick  message  to  notify  the  module 
that  a  click  occurred.  In  either  case,  the  module  can  then 
perform  the  appropriate  function  in            to  a         
down  event. 
This  message  returns  the  same  result  as  the  sdcvPcriod-
icTiddc  message. 
sc!cvSavcScttings 
The  sdcvSavcScllings  message  is  passed  to  the  module 
when  the  control  strip  processing logic  has  determined  that 
the  <..XlflJiguration  information  may  be saved to  the disk (e.g., 
liD turned  on, etc.).  In  one  embodiment,  the  sdcvSavcSct-
tings  message  is  sent  only  if the  module  had  previously    
the sdcvNccd.J(JSavc bit  in the  rcsull of a sdcvPcriollicTickle 
1.< 
In  one  embodiment,  the  SB!sControlStripYisiblc  call 
returns  a value  of true"  even  when  the  control  strip  is  not 
visible.  That  happens  whenever  the  control  strip  is  not 
accessible  in  the  current  environment.     soon  as  that 
condition  changes,  the  control  strip  becomes  visible  again 
and  the  returned  value  correctly  rcllccts  the  actual  state. 
S BShow II idcC'omro!Strip 
The SBShowl lideContro!Strip routine shows or hides the 
control  strip.  An  exemplary  call  follows: 
pascal  void  SBShowllidcC'ontro!Strip (Boolean  show h); 
The SBShowllidcContro!Strip routine determines the vis-
ibility  stMc  for  the  control  strip  1-utscd  on  the  v;tluc  of the 
"showlt""  parameter.  Passing  a  value  of  ""!rue  makes  the 
control  strip visible,  and  passing a value              hil!cs  it. 
:w  Modules  may  not  need  to  call  this  routine.  llowcvcr,  the 
SBShowllidcC'ontroiStrip  routine  provides  a  means  for 
other so!"twarc  to  hide  the  control strip when  it  is  in  the  way. 
Calling  the  SBShowl!ideConlro!Strip  routine  with  a 
"show it""  value  of "true  may  or  may  no!  show  the  control 
"-'  strip,  depending  on  the  current  environment.  If the  control 
strip  is  not  accessible,  it  docs  not  become  visible.  If  a 
"show it""  value  of ""true  is  passed  lo  this  routine,  !hen  the 
control  strip  becomes  visible  when  the  environment 
changes. 
.>0 
S llSa fc"lbAcccssStartu p ]) isk 
The  SBSafc"lbAcccssStartupDisk  routine  determines 
whether !he intcmal hard disk is turned on so that  processing 
logic  of  the  present  invention  can  determine  whether  lo 
make  a disk ac<.."CSS  or postpone  it  until  a time  when  the  disk 
.>s  is  already  spinning.  An  exemplary  call  follows: 
pascal  Boolean  SBSafe"lbAcccsStartupDisk  (  ); 
The  SBSa!CToAcccss..'ltartDisk routine  returns a  Boolean 
value of"truc if the  disk  is turned on  ami           if it  is  nol. 
SBOpcnModuleRcsourccFilc 
The SBOpcnModuleRcsourccFile routine opens a module 
resource  !lie.  An  ex<1mp!ary  call  follows: 
pascal  shorl  SllOpcnModulcResourcl'ilc  (OSType 
!lleCrcalor); 
or sdcvMouscCiick  message.  The call  returns an  error code  40 
(File Manager, Resource  Manager, or the  like) indicating the 
success of the  save  operation.  The  control  strip  processing 
logic continues to semi  this message  to  the  module  until  the 
module  returns  a  rcsuh  of 0,  indicating  a  successful  save.  The  SBOpcnModulcRcsourccFile  routine  opens  the 
45  resource  fork  of  the  module  !ilc  whose  creator  is  sdcvShowBalloonllclp 
!iJcCrcator",  and  return  the  Jilc's  reference  number  as  its 
result.  If  the  Jl!c  cannot  he  found  or  opened,  the  SBOpen 
Mdu!eResourccFile  routine  returns  a  rcsuh  of-! 
The  control  strip  processing  logic  calls  the  module  with 
the  sdcvShowB<JIIoonl!clp  message  if  Balloon  I!clp  is 
turned  on,  the  module  has  previously  set  the  sdcvl !asCus 
tomllelp  bit  in  its  features,  and  the  cursor  is  over  the 
module's display  area.  In  such  a  case,  the  module  calls  the 
Help  Manager  to  display  a  help  balloon  describing  the 
current  state  of the  module.  The  module  returns  a  value  of 
The SBOpcnModuleRcsourccFile  routine  also provides a 
50  means  for  a  module  to  load  in  large  or  infrequently  used 
resources !hat  it  doesn"tusually  need, hutlhal it  requires for 
a  particular  operation. 
0  if successful  or an  appropriate  error  rcsuh  if not.  SBI AJadPrefcrences 
The  SBLoadPrcfercnccs  routine  loads  a  resource  li"om  a 
UTILITY  ROUTINES 
55  preferences  !ile.  An  cxamplary  call  follows: 
In  one  embodiment,  the  control  strip  processing  logic 
provides a set of utility  routines that  arc  available  to  control 
strip  modules.  They  arc  provided  to  promote  a  <.."<lflsistcnt 
user  interface  within  the  control  strip  and  to  reduce  the 
amount of duplicated  code  that  each  module would  have  to 
60 
include  to  support  common  functions.  Therefore,  in  an 
cmbmlimcnt  that  docs  not  include  these  utility  routines,  a 
portion  or  all  of  the  modules  may  include  duplicated  code 
supporting  <..Xlmmon  functions. 
SlllsContro!StripVisib!c  65 
"]he  SBl-;Contro!StripVisib!c  routine  determines  whether 
the  control  strip  is  visible.  An  exemplary  call  follows: 
pascal  OSErr  SB!-<:JadPrel"crcnccs  (Cons!Sir255Param 
prc!SResourccNamc,  Iland!e  'preferences); 
The Sill .oadPrcl"crences routine  loads a resource contain 
ing  a  module's  conJiguration  information  from  the  prefer-
ences  Jilc  of  the  control  strip.  The  PrefsRcsour<..-cNamc 
parameter  points  lo  a  Pascal  string containing !he  name  of 
the  resource.  The  "Preferences  parameter points  to  a  vari 
able  that  holds  a  handle  to  the  rcsour<.."C  read  from  the  !ile. 
The  handle  docs  not  need  to  be  preallocated. 
If either prefsRcsourccNamc or preferences contains a  nil 
pointer,  the  SBI.oadPrc!Ocrcnu:s  routine  docs  nothing  and 
returns  a  result  of paramErr.  If the  resource  is successfully 
us  6,493,002  131 
19 
loaded, the SBLoadPrcfcn.:nccs routine  rei urns a  rcsuh of 0. 
The SBLoadPrcfcrcn<..'CS  routine  also returns other  Memory 
Manager  and  Resource 
some  art  of the  process. 
SllSavc Pre fcrc nccs 
Manager  errors  if  it  fails  during 
The  SBSavcl'rcfcrcnccs  routine  saves  a  resource  to  a 
prcfcrcn<.:cs  Ji!c.  An  exemplary  call  follows: 
pascal  OSLrr  SBSavcPrcfcrcnccs  (ConstStr255Param 
prcfsRcsourccNamc,  llandk  prdCrcnu:s); 
20 
module  is open. This is typically !he case during a  module's 
initialization  ca!!. 
SBTrackpopupMcnu 
The  SBTrackpopupMcnu  routine  manages  a  pop-up 
5 
menu.  1\n  exemplary  ca!!  fo!!ows: 
pascal  short  SBTrackpopupMcnu  (const  Reel 
moduleRcct,  Mcnullandlc  thcMcnu); 
The  SBSavcPrc!Crcnccs routine saves a  resource contain-
111
The  SBTrackpopupMenu  routine  handles  selling  up  and 
displaying  a  pop-up  menu  associated  with  a  module.  The 
module passes a pointer to its display rectangle and  a handle 
to the  menu  to usc.ln one embodiment the  menu  is displayed 
immediately  above  and  adjacent  lo  the  display  rectangle  of 
the  module, yc!lhis  is  no!  required.  By  doing so, !he  user is 
a !lowed  to  view  the  current  <.'onJiguration  or  to  change  the 
settings.  The  SBTrackpopupMenu  routine  returns  an  in(li-
ing a  module s con!iguration  information  to  the  prcfcrcn<..-cs 
!ilc  of the  <.:ontrol  strip.  The  PrcfsRcsourccNamc  parameter 
points loa Pascal string containing !he  name of the  resource. 
The "prc!Crcru:cs parameter contains a  handle lo a hlm:k of 
data  which  will  he  wrillen  lo  !he  Jl!c. 
t.<  calion  as  to  which  menu  item  was selected,  or 0  if no  item 
was selected (e.g., because !he user moved the cursor outside 
the  menu's  bounds). 
If  either  prcfsRcsourccNamc  or  preferences  has  a  nil 
value,  the  SBSavcl'rcfcrcnccs  routine  docs  nothing  and 
returns  a  result  of paramErr.  if the  resource  is  successfully 
saved,  the  SBSavePrefcrences  routine  returns  a  result  of 0. 
The  SBSavcl'rcfcrcnccs  routine  can  also  return  other  :w 
Memory  Manager  and  Resource  Manager  errors  if  it  fails 
during  some  part  of the  process. 
Sll( iet I  )etachcdString 
The  SBGetDetachedlndS!ring  routine  obtains  a  string 
from  a  detached  resource.  1\n  exemplary  ca!!  follows: 
pascal  void  SBGetDctachcdlndString  (StringPtr  the 
String,  Handle  stringList,  short  whichString); 
SBTrackSlider 
The  SBTrackS!ider routine  displays  and  scls an  arbitrary 
paramctcr.  1\n  exemplary  call  follows: 
pascal  short  SBTrackSlider  (<-onst  Reel  *modu!cRecl, 
short  ticksOnS!idcr,  short  initialValue); 
The  SBTrackS!idcr  routine  displays  an  unlabeled  slider 
above  !he  module's  display  reclangle.  The  slider  may  be 
"-'  used  for  displaying  and  setting  the  state  of  an  arbitrary 
parameter.  The  parameter "ModuleRcct' contains  a  pointer 
to  !he  module's  display  rcclangle;  "licksOnSlidcr  is  the 
upper  hounds  of  the  value  rclurned  by  the  slider;  and 
"initial Value"  is the starting position (0 to  ticksOnS!idcr -I). 
The  SBGetDetachedlndS!ring  routine  is  the  dctachcd 
resource  version  of GetlndString.  The  parameter  theslring 
points  to  a  Pascal  string,  the  stringList  is  a  handle  to  a 
detached  STR#'  rcsour<.:c;  and  whichString  is  the  index 
(I-n)  into  the  array  of  Pascal  strings  contained  in  the 
detached  resource.  The  SllCict!)ctachcdlndString  routine 
copies  the  string whose  index  is  whichS!ring into  the  space 
pointed  to  by  thcString.  If whichString  is  out  of range,  the  .>5 
SBGctDetachcdlndString  routine  returns  a  zero-length 
.>o  When the  user releases the  mouse button, the  SBTrackSlider 
routine  returns  the  !ina!  position. 
SBShowllelpString 
The  SBShowllelpS!ring  routine  displays  a  help  balloon. 
1\n  exemplary  call  follows: 
pascal  OSErr  SBShowllclpString  (const  Reel 
*moduleRecl,  Stringl'tr  hc!pstring); 
string. 
Sll( ict I  )ctachkonSuilc 
The  SBGctDetachkonSuitc  routine  sets  up  a  detached 
icon  suite.  1\n  exemplary  call  fo!!ows: 
pascal  OSLrr  SBGctDctachlconSuitc  (Handle 
'lhckonSuilc, shorttheResiD, unsigned long sdcclor); 
The  SBGetDetachkonSuitc  routine  creates  a  new  icon 
The SBShowllelpString routine displays a  module's help 
balloon. rhe  module  passes a pointer to  its display reclangle 
and  a pointer to  a  Pascal  string, and  the  routine displays the 
40 
balloon if possible.  If the  help dstring has a length ofO or the 
Ilclp  Manager is  unable  lo  display  a balloon, an  error result 
is  rcturncd.  If the  SBShowllelpString  routine  successfully 
displays  !he  help  balloon,  it  returns  a  result  of 0. 
suilc,  loads a!!  of !he  requested  icons, and  then  dctachcs the 
icons.  The  parameter  thclconSuite  points  to  the  location  45 
where  the  handle  to  the  i<.:on  suite  is stored;  the  parameter 
lhcRcslD  is  the  resource  ID  of !he  icons  that  make  up  the 
icon  suite;  and  the  parameter  "seleclor  indicates  which 
icons arc  to  be  loaded into the suite.  In  one embodiment, the 
SBGctBarGraphWidth 
The  SBGetBarGraphWidth  routine determines  how  wide 
a  bar  graph  drawn  by  !he  SBDrawBar(iraph  routine 
(descril1cd  below) will he so  thai  a  module  can  cakulalc  its 
display  width.  1\n  exemplary  call  follows: 
pascal  short  SBGetBarGraphWidth  (short  barCount); 
The SBGetBarGraphWidth  routine  returns the width  of a 
"selector' parameter contains one  (or a combination  ol)  the  :;o 
following  values: 
bar graph  containing harCounl segments.  IfharCounl  has a 
value  less than  0,  the  SBCictBar(iraphWidth  routine  rcturns 
a  width  of 0. 
              
"/\IISmalll )ala                  
               
load  largo  32-lw-.>2-pixol  ico11; 
("IC.'\#".  "icl         II{' I 
''"'J '""'II  l<>h\lf>pixcl  icon' 
("ic.,#".           'ic.,I!'J 
''"'J  mini  12-h\12-pi;,.cl  icon' 
("icon#".          "iconi!"J 
These values may  be  ORed logcthcr to  load combinations 
of icon sizes. The  SBGetDetachkonSuitc  routine  rcturns an 
appropriate error code  if it's unsuccessful, or 0  if it  was able 
to  load  the  icon  suite.  Note  that  if  none  of  the  icons 
comprising the  icon suite could be  found, the  call  returns the 
error "resNoll'ound.  ln one embodiment, !he SllCict!)ctachl-
conSuilc  routine  is ca!!cd  only when  !he  resource  Jl!e  of the 
SBDrawBarGraph 
The  SBDrawBarGraph  routine  draw  as  bar  graph.  1\n 
exemplary  call  follows  l1c!ow: 
pascal  void  SBDrawBarGraph  (short  level,  short 
barCount,  short  direction,  Point  barGraphTopl.eft); 
The  SBDrawBarGraph  routine  draws  a  bar  graph  <.Xln-
60  taining  the  number  of  segments  speci!icd  by  the  barCount 
paramctcr  in  a  module's  display  area.  If  the  value  of 
harCounl  is  less  !han  or  equal  to  0,  the  SBDrawBarGraph 
routine  docs  nothing. 
The  bar  graph  is  drawn  relative  to  the  location  speciJied 
65  by barGraphTopLeft.  FIG.  ll illustrates the  manner in  which 
the  point  barGraphTopl.eft  dclermines  !he  position  of the 
bar graph. 
us  6,493,002  131 
21  22 
description, it  is lobe understood lhallhc particular embodi-
ment  shown  and  described  by  way  of  illustration  is  in  no 
way  intended  to  be  considered  limiting.  Therefore,  refer-
ences  lo  ddails  of  the  preferred  embodiment  arc  not 
The  "!ever  paramclcr  dc!crmim:s  how  many  segments 
arc  highlighted.  The  value  of "!cvo.r should  be  in  the  range 
ofO to  barCount -1  If the  value of "level"  is  less than  0, no 
segments  in  the  bar  graph  arc  highlighted;  if  "level"  is 
greater !han  or  equal  to  barCmml,  all  segments  in  the  bar 
graph  arc  highlighted. 
The  direction  parameter  spcciJics  which  way  the  bar 
graph  will  be  drawn  to  show  a  larger  level.  In  one 
cmbmlimcnl,  the  din:clion  paramclcr  spccillcs  om:  of  the 
following  values: 
5 
in!cndcd lo  limit  the scope of the claims which in  themselves 
recite  only  those  features  regarded  as  essential  to  the  inven-
tion. 
#define  BarGraphSlopcLcfl  -1  //max  end  of  sloping 
graph  is on  the  left #ddinc BarGraphF!atRight 0  //max 
end  of !lat  graph  is  on  the  right  #ddinc  BarGraphSlo-
pcRight  1 //max  end  of sloping  graph  is on  the  right 
'" 
F!Ci.  12  illustrates the  rcsuhing bar graph  for  each  dircc- 1.< 
lion  value.  The  arrows  indicalc  which  way  an  increasing 
level  value  is  displayed.  In  one  embodiment,  for  sloped 
versions of the  bar graph, the  number of segments spcci!kd 
by  the  barCounl  value  may  no!  be  larger  thanK  If a  larger 
barCounl  value  is  passed,  the  SBDrawBar(iraph  routine  :w 
draws  nothing. 
SBModalDialogln("ontcxt 
The  SBModa!DialoglnContcxt  routine  may  be  used  in 
place  of  !he  Moda!Dialog  routine  lo  prevent  background 
applications from  being run  while  the  modal  dialog window  "-' 
is  visible.  An  exemplary  call  is  as  follows: 
pascal  void  SBModa!Dia!oglnContcxt 
(ModalFi!tcrProcPtr  Ji!tcrProc,  short  item! lit); 
The SllModa!!)ialoglnConlcxl routine  is a special version 
of MmlalDialog that  docsn "t  allow background  applications  '
0 
lo  be  run  while  a  modal  dialog  window  is  visible.  The 
SBModa!Dia!oglnContcxt  routine  is  used  when  the 
occurcn<.:c  of context  switching  is  not  desired. 
GL'iTAIT SU.ECTOR 
The  control  strip  processing  logic  installs  two  Gestalt" 
selectors  to  return  information  to  locations  external  to  the 
com puler  system.  One  sdcdor  rdurns software  allributcs, 
ami  the  other  rdums the  current  version  of the  processing 
logic  (e.g.,  software). 
gcsta!tControlStripi\ttr 
.>5 
"' 
Thus,  a  mdhod  and  apparatus  for  generating  a  window 
displaying control  and  status  indicia  has l1ccn  described. 
I daim: 
l  An  interactive  computer-controlled  display  system 
compnsmg: 
a  processor; 
a  data  display  screen  coupled  lo  the  processor; 
a  cursor  <.:ontro!  device  coupled  to  said  processor  for 
positioning  a  cursor  on  said  data  display  screen; 
a  window  generation  and  control  logic  coupled  to  the 
processor and data display screen lo create an  operating 
environment  for  a plurality of individual  programming 
modules associated with dill"crcnt  application programs 
!hal  provide  status  ami/or  control  !lmc!ions,  wherein 
!he window generation  and  control  logic generales and 
displays  a  !irst  window  region  having  a  plurality  of 
display  areas  on  said  data  display  screen,  wherein  the 
!irs!  window  region  is  indcpcndcn!ly  displayed  and 
independently  aclive  of any  application  program,  and 
wherein  each  of the  plurality  of display  areas  is  asso-
ciated  with  one  of the  plurality of individual  program-
ming modules, the !irs! window region and  the plurality 
of independent display areas implemcnlcd  in  a window 
layer  that  appears  on  top  of  application  programming 
windows  that  may  be  generated;  and 
an  indicia  generation  logic  coupled  to  the  data  display 
screen  lo  cxeculc  a!  least  one  of  the  plurality  of 
individual  programming  modules  to  gcneralc  informa-
tion  for  display  in  one  of the  plurality of display areas 
in  the  !irst  window  region, wherein  at  least  one  of the 
plurality  of display  areas  and  its  associated  program-
ming  module  is  sensitive  to  user  input,  and  further 
wherein  the  window  generation  and  control  logic  and 
the  indicia  generation  logic  usc  message-based  com-
munication  to  exchange  information  to  coordinate 
aclivities  of  the  indicia  generation  logic  to  enable 
intcradivc  display  adivily. 
The  selector  "gcstaltContro!StripAHr  ('sdcv")  rdurn  32 
bits  describing  the  attributes  of the  current  version  of  the 
control strip  processing  logic.  In  one  embodiment, only  the 
following  bit  is  dell ned: 
2.  The  display system defined  in  daim  I wherein  the  Jlrsl 
45  window  region  comprises  a  control  strip. 
gcstai!ConlrolS!ripExists  0  !=control strip  is  installed 
gcstai!ControlStrip Version 
3.  The  display  system  defined  in  claim  l  wherein  said  at 
least  one  display  area  is  variably  si...:ed. 
4.  The  display  system  defined  in  daim  I wherein  si:te  of 
the  Jirst  window  region  is  variable. 
5.  The display system ddincd  in  claim 4 wherein  the  Jirst 
window  region  is  sized  such  that  none  of the  plurality  of 
display  areas  is  visible. 
The  selector  gcsta!tControlStripVcrsion  ("csvr')  returns 
!he version of control strip processing logic !hal  is  installed. 
50 
The  formal  of !he rdumcd version  is  the  same  as !hal of the 
numeric  part  of  a  Macintoshn'  computer  system  resource, 
that  is: 
6.  The  display system defined  in  daim 4 wherein  the  Jlrsl 
window  region  is  sized  such  that  all  of  the  plurality  of 
55  display  areas  arc  visible. 
Bi"       
Bib  C.>-CO 
1\i"  l<i-H> 
Bib      
\1ajor       oi"  the  ,.c"ion.  in  BCD 
       pa1t  of the  ,o,;ion.  in  BCD 
Bug  1dca'c ,.c"i'"'  in  BCD 
Rolca;c  ;tago: 
           
          
          
s Cl        c !Ojl lllC " l 
Rc\ision  lc\cl  oi"  nonrclcaMOJ           in  hina" 
7.  The  display system defined  in  daim 4 wherein  the  Jlrsl 
window region  is si...:ed  such that  a portion of the  plurality of 
display  areas  is  visible. 
8.  The display system  ddincd in  daim  1 wherein  at  least 
60  one  of  the  plurality  of  the  display  areas  only  displays 
information. 
9.  The display system  ddincd in  daim  I  wherein  a!  least 
one  of the  display  areas  acts  to  provide  access  to  control 
information  when  selected. 
Whereas  many  alterations  and  modiJications  of  the  65  10. The display system ddincd  in  daim 9 wherein said at 
least  one  of  the  plurality  of  display  areas  displays  an 
additional  display  dement. 
present invention will no doubt become apparent to  a person 
of ordinary  skill  in  !he  art  after  having  read  !he  foregoing 
us  6,493,002  131 
23 
11  The display system dell ned  in  claim  1 wherein each of 
the  plurality  of display  areas  is  individually  and  variably 
sized. 
12. The display system ddincd in claim  1 wherein the !irst 
window  region  always appears  in  front  of application  win- .<
dows. 
13. The display system ddincd in claim  1 wherein the !irst 
window  region  is  implemented  in  a  private  window  layer 
!hal  a p p e a r . ~  in  front  of windows  for  a!!  applications  layers. 
14.  An  intcraclivc  computcr-conlro!!cd  display  system  111
compnsmg: 
a  processor; 
a  data  display  screen  coupled  to  the  processor; 
a  cursor  control  device  coupled  to  said  processor 
positioning  a  cursor  on  said  data  display  screen; 
for 
15 
window  generation  and  control  logic  coupled  to  the 
processor and data display screen to crcalc an operating 
environment  for  a  plurality of individual  programming 
modules associated with di!Icrcnt application programs  :w 
that  provide  status  and/or  <.:ontrol  functions,  wherein 
the  window generation  and control  logic generates and 
displays  a  Jlrsl  window-region  having  a  plurality  of 
display  areas on  said  data  display  screen,  wherein  the 
Jirst  window  region  is  independently  displayed  and  "-' 
independently  active  of any  application  program,  and 
wherein  each  of the  plurality  of display  areas  is  asso-
ciated with  one  of !he  plurality of individual  program-
ming modules, the  !irs!  window region and  the  plurality 
of independent display areas implemented  in  a  window  .>o 
layer  that  appears on  top  of application  programming 
windows !hal  may  be  generated;  ami 
a!  least  one  indicia  graphics  generation  logic  coupled  to 
the  processor  and  the  window  generation  and  control 
logic,  wherein  said  at  least  one  indicia  graphics  gcn- .>5 
cration  logic  generates  user sensitive  graphics  for  dis-
play  in  at  least  one  data  display  area  by  executing  a! 
least  one  of !he  plurality  of  individual  programming 
modules; 
wherein the  window generation and <:ontrollogic deter-
4
o 
mines  when  said  at  least  one  data  display  area  has 
been sclcc!cd by  the  user and signals said at  leas! one 
indicia graphics generation  logic  in  response  lo user 
selection,  and  further  wherein  said  at  least one  indi-
cia  graphics  generation  logic  initiates  a  response  45 
from  said  at  leas!  one  of !he  plurality  of program-
ming  modules. 
15.  The  display  system  defined  in  claim  14  wherein  !he 
lirst  window  region  is  always  visible  to  the  user. 
16.  The  display  system  ddincd  in  claim  14  wherein  the  50 
Jlrsl  window  region  comprises  a  control  strip. 
17.  The  display  system  dell ned  in  claim  14 wherein  said 
at  least  one  display  area  is  variably  sized. 
18.  The display  system  ddincd  in  claim  14 wherein  each 
of the  plurality  of display areas  is  individually  and  variably  55 
si...:cd. 
19.  The  display  system  defined  in  claim  14  wherein  !he 
lirst  window  region  always  appears  in  front  of  application 
windows. 
20.  The  display  system  defined  in  claim  14  wherein  !he 
6
o 
Jlrsl  window  region  is  implemented  in  a  private  window 
layer  thai  appears  in  front  of windows  for  all  applications 
layers. 
21  A  method  for generating control  information compris-
mg: 
creating  an  operating  environment  for  a  plurality  of 
individual  programming  modules  associated  with  dif-
65 
24 
l"crcnl  application  programs  that  provide  status  and/or 
control  functions; 
generating  a  lirst  window  sized  to  accommodate  a  plu-
rality of display areas for  indicia resulting from  execut-
ing  at  least  one  of !he  plurality of individual  program-
ming modules, wherein each of !he  plurality of display 
areas  is  associated  with  one  of  the  plurality  of  in(li-
vidual  programming  modules,  and  wherein  the  Jirst 
window  is  independently displayed  and  independently 
aclivc  of  any  application  program,  !he  Jlrsl  window 
region  ami  the  plurality  of  imlcpendcnl  display  areas 
implemented  in  a  window  layer  that  appears on  top  of 
application  programming windows  that  may  be  gener-
ated; 
displaying !he  indicia  in  each  of said  plurality of display 
areas  by  executing  one  of  a  plurality  of  individual 
programming  modules corresponding  to  each  indicia; 
selecting  one  of the  indicia,  wherein  the  selecting  com-
prises  a  lirst  programming  module  determining  which 
of said plurality of display areas is sclec!cd and sending 
a message loa programming module of said plurality of 
individual  programming  modules responsible  for  gen-
erating  a  display  of  a  selected  indicia; 
said  programming  module  performing  a  function  in 
response  to  a  selection. 
22.  The  mclhod  defined  in  claim  21  wherein  one  of said 
plurality  of indicia  comprises  status  information. 
23.  The  method  ddincd  in  claim  21  wherein  one  of said 
plurality  of indicia  comprises  control  information. 
24.  The  mclhod  defined  in  claim  21  further  comprising: 
!he  Jlrsl  programming module  requesting a sci of features 
supported  by  said  programming  module,  wherein  said 
requesting  comprises  sending  a  lirst  message  to  said 
programming  module;  and 
said  programming  module  returning  a  second  message 
indicative  of l"ca!ures  supported  by  said  programming 
module, such !hal said  Jlrsl  programming module  inter-
acts with said programming module in  response  to  user 
interaction with  the  Jirst  programming module based on 
indicated  l"ca!urcs  as  sci  forth  by  said  programming 
module. 
25.  A system  comprising: 
a  window  generation  and  control  logic  to  create  an 
operating  environment  for  a  plurality  of  individual 
programming  modules associated  with  dill"crcnt  appli-
cation  programs  that  provide  slat us  and. or  control 
llmc!ions,  wherein  !he  window  generation  and  control 
logic  generates  and  displays  a  Jirst  window  region 
having  a  plurality  of  display  areas,  wherein  the  Jirst 
window  region  is  indcpemlently  displayed  and  imle-
pcndcntly  aclive  of  any  application  program,  and 
wherein  each  of !he  plurality  of display  areas  is  asso-
ciated  with  one  of the  plurality of individual  program-
ming modules, the  lirst window region and  the plurality 
of independent display areas implemented  in  a window 
layer  !hat  appears  on  lop  of application  programming 
windows  that  may  be  generated; 
an  indicia  generation  logic  coupled  to  the  data  display 
screen  to  execute  at  least  one  of  the  plurality  of 
individual  programming  modules  to  generate  informa-
tion  for  display  in  one  of !he  plurality of display areas 
in  the  lirst  window  region, wherein  at  least  one  of the 
plurality  of display  areas  and  its  associated  program-
ming  module  is  sensitive  to  user  input,  and  further 
wherein  the  window  generation  and  control  logic  and 
!he  indicia  generation  logic  usc  message-based  com-
us  6,493,002  131 
25 
municalion  lo  exchange  information  lo  coordinate 
activities  of  the  indicia  generation  logic  to  enable 
interactive  disp!av  activitv. 
26.  An  intcraclivc                                                               display  system 
compnsmg: 
a  means for  positioning a cursor on  a data display screen; 
a  means  for  creating  an  operating  environment  for  a 
plurality  of  individual  programming  modules  associ-
alcd  with  dilTcrcnl  application  programs  that  provide 
status and/or control  functions,  wherein  a  Jlrsl  window 
111
region  is  displayed  having  a  plurality  of display  areas 
26 
a!cd  with  di!l"crcnl  application  programs  !hal  provide 
status and/or control  functions,  wherein  a !irst window 
region  is  displayed  having  a  plurality  of display  areas 
on  said  data  display  screen,  wherein  !he  Jlrsl  window 
region  is  indcpcmlcnlly  displayed  and  indcpcndcn!ly 
active of any application  program, and  wherein each of 
the  plurality of display  areas  is  associated  with  one  of 
!he  plurality  of individual  programming  modules,  !he 
!irs!  window  region  and  !he  plurality  of  imlcpcndcnl 
display  areas  implemented  in  a  window  layer  that 
appears  on  top  of  application  programming  windows 
!hal  may  he  generated; 
a  means for generating user sensitive graphics for  display 
in  at  least  one  data  display  area; 
a  means  for  determining  when  said  at  least  one  data 
display  area  has  been  selected  by  the  user;  and 
a  means for  initialing a response  from  said  a!  leas!  one of 
!he  plurality  of programming  modules. 
on  said  data  display  screen,  wherein  the  !irst  window 
region  is  independently  displayed  and  independently 
aclivc of any application program, and  wherein each of 
the  plurality  of display  areas  is  associated  with  one  of 
15 
the  plurality  of  individual  programming  modules,  the 
Jirst  window  region  and  the  plurality  of  independent 
display  areas  implemented  in  a  window  layer  !hal 
appears  on  lop  of application  programming  windows 
that  may  be  generated;  and 
40.  The  display  system  dcllncd  in  claim  39  wherein  !he 
"
11
Jirst  window  region  is  always  visible  to  the  user. 
a  means  for  executing  at  least  one  of  the  plurality  of 
individual  programming  modules to  generate  informa-
tion  for  display  in  one of !he  plurality  of display  areas 
in  !he  Jlrsl  window  region,  wherein  a!  leas!  one  of !he 
plurality  of  display  areas  and  its  associated  program- "-' 
ming  module  is-sensitive  to  user  input,  wherein  an 
inlcraclivc  display  aclivily  is  enabled. 
41.  The  display  system  ddincd  in  claim  39  wherein  the 
Jlrsl  window  region  comprises  a  control  strip. 
42.  The  display system  defined  in  claim  39 wherein  said 
at  least  one  data  display  area  is  variably  sized. 
43. The  display system  dc!incd  in  claim 39 wherein  each 
of the  plurality of display  areas  is  individually  and  variably 
sized. 
27.  The  display  system  defined  in  claim  26  wherein  !he 
!irs!  window  region  comprises  a  control  strip. 
28.  The  display  system  ddincd  in  claim  26  wherein  said 
at  least one of the  plurality of display areas is variably sized. 
29.  The  display system  defined  in  claim  26  wherein  si.-:c 
44.  The  display  system  dcllncd  in  claim  39  wherein  !he 
Jirst  window  region  always  appears  in  front  of application 
.>o  windows. 
45.  The  display  system  dcllncd  in  claim  39  wherein  !he 
of !he  !irs!  window  region  is  variable. 
30.  The  display  system  ddincd  in  claim  29  wherein  the 
!irst  window  region  is  sized  such  that  none  of the  plurality  .>5 
of display  areas  is  visible. 
31  The  display  system  defined  in  claim  29  wherein  !he 
!irs! window  regions is si.-:cd  such  !hal  all  of !he plurality of 
display  areas  arc  visible. 
32.  The  display  system  ddincd  in  claim  29  wherein  the 
4
o 
!irs!  window  regions  is  si.-:cd  such  !hal  a  portion  of  !he 
plurality  of display  areas  is  visible. 
33.  The  display  system  dell ned  in  claim  26  wherein  said 
at  least  one  of  the  plurality  of display  areas  only  displays 
information. 
34.  The  display  system  dell ned  in  claim  26  wherein  said 
a!  leas!  one  of !he  plurality of display  areas  acls  lo  provide 
access  lo  control  information  when  selcc!cd. 
35.  The  display  system  ddincd  in  claim  34 wherein  said 
45 
at  least  one  of the  data  areas  display  an  additional  display 
50 
clement. 
36.  The display  system  defined  in  claim  26 wherein  each 
of the  plurality  of display areas  is  individually  and  variably 
sized. 
37.  The  display  system  ddincd  in  claim  26  wherein  the  55 
!irs!  window  region  always  appears  in  front  of application 
windows. 
38.  The  display  system  ddincd  in  claim  26  wherein  the 
!irst  window  region  is  implemented  in  a  private  window 
layer  !hal  appears  in  front  of windows  for  all  application 
60 
layers. 
39.  An  inlcraclivc  compulcr-conlrollcd  display  system 
comprising: 
a  means  for  positioning  a  cursor  on  said  data  display 
screen; 
a  means  for  creating  an  operating  environment  for  a 
plurality  of  individual  programming  modules  associ-
65 
Jlrsl  window  region  is  implemented  in  a  private  window 
layer  !hal  appears  in  front  of windows  for  all  applications 
layers. 
46.  A  computer  readable  medium  containing  executable 
computer  program  instructions,  which  when  executed  by  a 
data  processing system, cause  !he data  processing system  lo 
perform  a  method  for  generating  <:ontro!  information  com-
prising. 
creating  an  operating  environment  for  a  plurality  of 
individual  programming  modules  associated  with  dif-
!"crcnl  application  programs  !hal  provide  slalus  and/or 
control  functions; 
generating  a  !irst  window  sized  to  accommodate  a  plu-
rality of display areas for  indicia resulting from  execut-
ing  a!  leas!  one  of !he  plurality of individual  program-
ming modules, wherein each of !he  plurality of display 
areas  is  associated  with  one  of  !he  plurality  of  indi-
vidual  programming  modules,  and  wherein  the  Jirst 
window  is  independently displayed  and  independently 
aclivc  of  any  application  program,  !he  Jlrsl  window 
region  ami  !he  plurality  of  imlcpcndcnl  display  areas 
implemented  in  a window  layer  that  appears on  top  of 
application  programming windows  that  may  be  gener-
ated; 
displaying  !he  indicia  in  each  of !he  plurality  of display 
areas  by  executing  one  of  a  plurality  of  individual 
programming  modules  corresponding  to  each  indicia; 
and 
selecting  one  of the  indicia,  wherein  the  selecting  com-
prises  a  !irs!  programming  module  dclcrmining  which 
of !he plurality of display areas is selected  and  sending 
a  message to  a programming module of the  plurality of 
individual  programming  modules responsible  for  gen-
erating a display of a selected  indicia, and  the  program-
ming  module  performing  a  funclion  in  response  lo  a 
selec!ion. 
us  6,493,002  131 
27 
47.  The  compulcr  readable  medium  as  set  forth  in  daim 
46 wherein ones of the  indicia comprises status information. 
48.  The  computer  readable  medium  as  set  forth  in  daim 
46 wherein one of the  indicia <.:ompriscs control information. 
49.  The  compulcr  readable  medium  as  set  forth  in  daim  .<
46  further  comprising: 
!he  Jlrsl  programming module requesting a  set of !Calmes 
supported  by  said  programming  module,  wherein 
requesting  comprises  sending  a  Jirst  message  to  said 
programming  module;  and  Ill 
said  programming  module  rcluming  a  second  message 
indicative  of features  supported  by said  programming 
module, such  that  said Jirst  programming module  inter-
acts with said  programming module  in  response to  user 
inlcraction with the !irs! programming module based on 
1
-' 
indicalcd  features  as  sci  forth  by  said  programming 
module. 
50.  A system  comprising. 
a  means  for  window  generation  and  control  to  create  an  :w 
operating  environment  for  a  plurality  of  individual 
programming  modules  associated  with  di!lCrcnt  appli-
cation  programs  !hal  provide  status  and/or  control 
functions,  wherein  the  means  for  window  generation 
and  control  generates  and  displays  a  !irst  window 
28 
region  having a  plurality  of display  areas,  wherein  the 
!irs!  window  region  is  independen!ly  displayed  and 
independently  active  of any  application  program,  and 
wherein  each  of the  plurality  of display  areas  is  asso-
ciated  with  one  of the  plurality of individual  program-
ming modules, the !irs! window region and  the plurality 
of independent display areas implemented  in  a window 
layer  !hat  appears  on  top  of application  programming 
windows  that  may  he  generated; 
a  means for indicia generation coupled  to  the  data  display 
screen  to  execute  at  least  one  of  the  plurality  of 
individual  programming  modules  to  generate  informa-
tion  for  display  in  one  of the  plurality of display areas 
in  the  !irs!  window  region, wherein  a!  !cas!  one  of the 
plurality  of display  areas  and  its  associated  program-
ming  module  is  sensitive  to  user  input,  and  further 
wherein  the  means  for  window  generation  and  control 
and  the  means  for  indicia  generation  usc  message-
based communication to exchange  information to coor-
dinate  aclivities of !he  means  for  indicia  generation  lo 
enable  interaclive  display  aclivily. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Exhibit 4 
111111  1111111111111111111111111111111111111111111111111111111111111 
(12)  United States Patent 
Ording 
(54)  LIST SCROLLI\"G A\"D  DOCU\1E\"T 
TH.. \:'\SL \TIO\", SC\LI\"G, A :'I'D  H.OT. \TIO\" 
0:\ A  TOUCH-SCREE:\ DISPLAY 
(75)  !mentor       Ording. San Francisco, CA (US) 
(73)  Assignee:  .\pplc Inc ..  Cupcnino. C.\ (US) 
( * )  Notice:  Suh_icc!lo any disclaimer. the lcrm of this 
pntcnt  is  extended  or  adjusted  under  35 
U .S.C.  154(b) by 0 d.1ys. 
(21)  App!.  No.:  111956,969 
(22)  Filed: 
(65) 
I>cc.  14, 2007 
Prior Publication Oata 
(60) 
(51) 
(52) 
(58) 
(56) 
US 2(XlR/OlOX404 AI  Jul.  10. 200X 
H.clatcd  U.S. Application  I>ata 
Provisional  applicmion  No.  601937.993.  tiled  on Jun. 
29.  2007.  provisional  applicmion  No.  601<)46.971. 
tiled  on  Jun.  28.  2007.  provisional  application  No. 
(i()/()45.R5R.  !!led on Jun.  22.  2007.  provisional appli-
cation  No.  601870.460.  tiled  on  Jan.  8.  2007.  provi-
sional  application  No.  601883.801.  Hied  on  Jan.  7. 
2(X)7. provisional application No.  60/879.253. Hied on 
Jan. 7. 2(Xl7. 
Int.("]. 
G06F 3101 
u.s. Cl. 
(2006.01) 
7151702:715/764:715/863: 
715/864: 715/76<) 
Fil.'!d  of (:Jassitication Scarch  7!51764. 
715/7(,<).  702.  863. 864 
S<..-c  application Hie  for complete search history. 
Rcfcrcnccs Citcd 
.".4<).".566 
' 
2  1<)<}(,  Kw,tind;- ...................  3<)5  1."7 
.'i.i-:44547  A  l2  J<J<)g             d            
.'i.i-:67.l.'ii-:  A  2 
]<)<)<) 
         d         341 
6.034.(igg 
' 
.12000                 345  yq 
FP 
US007469381B2 
(I OJ  Patent No.: 
(45)  Date of Patent: 
US  7,469,381  B2 
Dec.  23, 2008 
ti.41N.951  B1  122002  Wongcl"l  ..................  14."  t7.1 
ti . ."ti7.to2  B2  ."  200.1  Kung  ..........................  14."  6(>0 
(Continued) 
I:ORIOICiN  I'Al"ION"I"I)OC"UMI;N"l"S 
063577<}  .\t  1  1<)<)5 
(Continued) 
OI"IIIOR                  
\1inoso!l Word  2003        Shols   
(Continued) 
Primar_r Ewminer  Boris  Pcsin 
(74)  A/lome\:  Agent.  or Firm  Morgan.  I <.."\vis  &  ISockius 
I  1.1' 
(57)  AHSTJ.t.\CT 
In  accordance with  some  embodiments.  a  compuler-implc-
mcntcd  method  l(Jr  usc  in  conjunction with a  device with  a 
touch screen display is disclosed.  In  the method. a movement 
of an object on or ncar the touch scr<..-cn  display is dct<..>ctcd.  In 
response to detecting the  movement. an ck>clronic  document 
displayed on  the  touch  screen display  is  transla!<.."d  in  a  Jirst 
dir<..>clion.  If an  edge  of the  d<..>clronic  document  is  reached 
while 1ranslating the electronic documcm in 1hc !irs1 direction 
while  the  objcc1  is  s1ill  deJected  on or ncar 1hc 1ouch  screen 
display. an area beyond 1hc edge oft he documcm is displayed. 
Aller  the ohjccl  is  no  longer  dc!<..>cted  on  or ncar  the  !ouch 
screen display.  the document  is  lransla!<.."d  in  a second dir<..>c-
tion  until  the  area  hL")""tmd  the  edge  of the  document  is  no 
longer displayed . 
20 Claims, JS Drawing Sheets 
1-  I  ,;:,11 :2::'<1 
       ...     .            
' 
"''"'""" '"' 
 
-  - 
   
- 
-
 
' 
>"' 
- 
""'"' 
. 
""""  .. 
-
""H 
Woo""' 
- 
= 
"""" 
=
-lli 
US  7,469,381  B2 
Page 2 
       ..........................  34.'i  J5g 
6.(>61.409  B2  122003  Dcmm1incsda1  345  !73 
20060Jg].<;JO  .\1 
20060!1>7215  -\1 
200601'!7753  .\1 
2006 ong4<J5  .\1 
2007  OOOl>Otiti  .\1 
2007  002464(,  .\1 
2007  004ti64ti  .\1 
2007  00ti7745  .\1 
2007  0!0<}275  -\1 
2007  01201>35  .\1 
2007  Ol501>2ti  .\1 
2007  0!501>42  -\1 
2007  0!52971>  -\1 
2007  015297<)  .\1 
2007  0!55434  -\1 
2007  0!5ti364  -\1 
2001>  Ol04.'i44  .\1  $ 
:;  200(, 
g 200(, 
9  200(, 
10 200(, 
l  2007 
2 2007 
3 2007 
3 2007 
-'  2007 
.'i  2007 
               ...........  14-'  !7_1 
llotd1ing  ....................  34.'i  173 
           B2   
6.707.449  B2 
6.go<J.724  Bt 
6.907575  B2 
6.<Jl2.462  B2 
6.<J72.776  B2 
6.975.306  B2 
7JJO<J.59<J  B2 
7JJ46.230  B2 
7.075512  Bl 
7.102.(>26  B2 
7.1."4.534  B2 
7 .1SS.041>  B2 
7.t:;un  B2 
7.1 g,J.7<J6  B2 
7.240.291  B2 
2003  009.'iD.'i  At 
2003  0095(>97  A 1 
200_1  011>452."  _\1 
2004  002J(i76  At 
2004  0027391>  A 1  
2004  001>0541  _\ 1 
2004  01."51>1>1>  _\1 
2004  026341>6  A 1 
2005  00127D  At 
2005  01451>07  _\1 
2005  OJMWil>  At 
2oo:;  otn:;:;:;  At 
2oo:;  on no:;  _\ 1 
2005  027026<)  _\ 1 
2005  0275(>11>  At 
200ti  00252U<  _\1 
200(>  002(>521  _\1 
200(i  004imn  At 
200(i  OO.'i.'i(i69  At 
200(>  00615."1  _\1 
200(>  0077544  _\ 1 
200(i  001>2549  A 1 
200(>  ()()<)4502  _\1 
200ti  01Sti24<J  _\1 
2  2004 
.12004 
to  2004 
(i  2005 
6  2005 
12  2005 
12  2005 
.1200(> 
5 200(> 
7 200(i 
9 200(i 
12  200(> 
12  200(> 
2  2007 
2  2007 
7  2007 
5 2003 
5 2003 
!0200_1 
2  2004 
2  2004 
4  2004 
:;  2004 
12  2004 
t  2005 
7  2005 
g  2005 
<) 2005 
!0 2005 
!2 2005 
12  2005 
2  200(, 
2  200(, 
3  200(, 
3  200(, 
.1200(, 
4  200(, 
4  200(, 
5  200(, 
7  200(, 
           et    345  tiM 
llinckkyct;!l  345173 
Shiraishi  ct     345  16'! 
Dum1<:  ......................  7157g4 
Ogaki  ........................  701  20g 
])"'is      345  r;g4 
llinckky d     345  173 
l'ihl"j"  ......................  345  173 
             3451-'ti 
      et    345  l.'iti 
Denny.  tH  ...................  345  17'! 
     ct  ,1  _141>  207  t 
     ........................  31>2  132 
I.e Cocq ct    703  t 
K"ridis d     ...............  455  56ti 
C.ml     
        ct   
Wood      
715  776 
345  (,  13 
3g2  13 t 
     ...........................  345  173 
Chen ct     345  tiM 
       ........................  345  U>3 
          3451>0-' 
             345til9 
Seni  ...........................  345  173 
         ...................  345  173 
I "PSllin d  ,]  250  56(, 
          ...................  345  ti.'i<J 
         7157M 
            345173 
         ...................  345  1."6 
Juh ct     345  l.'i6 
       4ti3  37 
llotelling d  ,]  715  702 
         el    715  71;4 
    ............................  345  L'iti 
h1teh  .........................  345  1."1> 
St,rk  .........................  35<)  441> 
Hoshi no  et    345  l.'i7 
K"t"ym11"       .............  4ti3  31 
           71571>! 
       .........................  34.'i  l5ti 
Fuku<hi  .  340 -'  52 
S;mrinend"l  .............  _14."6ti0 
         ................  34.'i  173 
Choi       ..................  7l.'i  l>ti3 
Ch,mg  .......................  14-'  !7_1 
Smo  ...........................  34.'i  173 
62007                  .............  7J.'i  772 
62007  Ch;mdhri       ............  7!."  l>ti_1 
7 2007  Kociend.a  d  ,]  .............  14-'  !7_1 
7 2007  Jobsct    ...................  34.'i  173 
7 2007  Jobsd    ...................  4-'-'  Sti5 
7 2007  Rothkopf  ....................  702  !17 
.'i20og              ...............  7l.'il>4ti 
FOR!]GN P.-\T!:N"r DOCUM!:NTS 
Fl'  0  701  220  _\  .119% 
Fl'  0 1>1>0 091  _\2  11  1991> 
WO  \\'002 0133g  At  I  2002 
\\'0  \\'0 03  Oti0622  _\2  7  200_1 
\\'()  \\"()200."05277_1  _\2  ti2005 
WO  \\'0 2006 003.'i<J I  A  I  200ti 
W<l  \\'() 2006 020305  A2  2  200(, 
en! II OR                 
Photo       3  1 2 200ti         Shots'' 
                   Repo11  and  Written  Opinion  for             
_\pplic"tion '\o  PCT  CS2001>  0."0292.            19.  2001> 
lB\1. "SnoH conlrol Box."  IB\1           Discloslire          n>l 
3g_  '\o  04 .. \pr  19'!3.  pp  3'!9-403 
Tidwell  et                    Designing  lntel'lilces.  '\ov  2005.  Sec-
lion  1>5 
           lo  P"y _\ddiliom!l       for                _\pplic"lion  '\o 
I'C"I  t:S2oog 0502'!2.        Jut  IK  2oog 
\1ilkr.  ]) .                 _\pplication  Em ironm@l."  Sun 
               hllp      sun com  prodlicls  pcrsom!ljmalouch-
ablc. Jun  1>. 19<J<J.  13       
* cited by examiner 
U.S.  Patent  Dec.23,2008 
Memory 
1.Q;t 
 
Operating System 
y-126 
Communication Module 
'V-128 
Contact/Motion Module 
]f130 
Graphics Module 
v-132 
Text Input Module 
J._r134 
v-135 
GPS Module 
j..r 136 
Applications 
Contacts Module 
v-137 
Telephone Module 
v-138 
v-139 
Video Conference Module 
E-mail Client Module 
v-140 
Instant Messaging Module 
v-141 
Slogging Module 
v-142 
v-143 
Camera Module 
Image Management Module 
v-144 
Video Player Module 
v-145 
Music Player Module 
v-146 
Browsing Module 
v-147 
r1o3 
Sheet I  of 38  US  7,469,381  B2 
P  t  bi  M  In  r  o    e  or a  e  U  IUOC  100  eVIC 
1Jll! 
Applications (continued) 
Calendar Module 
Widget Modules 
Weather Widget 
Stocks Widget 
Calculator Widget 
Alarm Clock Widget 
Dictionary Widget 
 
. 
. 
User-Created Widget(s) 
Widget Creator Module 
Search Module 
 
 
 
Power 
f.r162 
System 
r" 
External  V124 
Port  r 
(  118 
"'103 
v1 
j_.r1 
   
   
  
  
j_.r1 
36 
48 
49 
49-1 
49-2 
493 
494 
49-5 
49-6 
50 
51 
104_/ 
/ 
v-10 
8 
RF  Circuitry 
122 _./ 
Controller 
    
110\,  s 
"103 
Peripherals 
1103 
...,.,v 
Interface 
      
It 
          
120 _./ 
Processor(s) 
""  Microph 
+ 
.... 
Proximity 
113 
f"103 
Sensor 
l'---166 
peaker 
111 
one 
110 Subsystem  /158 
106 .../ 
Display 
Optical 
Other Input 
Controller 
sensor(s) 
Controller(s) 
v 
Controller 
160 
156-----
f-'103  f-'103  f-'103 
Touch-Sensitive 
Optical  Other Input 
!J1 
112  .../ 
Display System 
Sensor(s)  Control 
164  Devices 
16 
Figure 1 
U.S.  Patent 
<0 
0 
N 
I 
I 
206 
Dec.23,2008  Sheet 2 of 38  US  7,469,381  B2 
Prtbl  Miff  f  D.  o  a  e  U  IUnCIOn  ev1ce 
~ 
100 
(Speaker 111) 
l  Optical  J l Proximity  J 
Sensor 164  Sensor 166 
.1 
..... 
r 
L 
[ 
202 
Touch  Screen  112 
c. 
 
l Microphone J 
Home 
113 
204 
Figure 2 
U.S.  Patent 
300 
  
I 
  
Dec.23,2008  Sheet 3 of 38 
Portable Multifunction  Device 
100 
(Speaker ill) 
Optical 
Sensor 1M 
Proximity 
Sensor.l.Q 
Current       3oa 
310    Day and        312 
Wallpaper image 
314 
US  7,469,381  B2 
[[       ] 
Slide to unlock 
] 
$  $ 
302 
Microphone 
113 
306 
Home 
204 
Figure 3 
Touch Screen  112 
U.S.  Patent 
400 
I 
Dec.23,2008  Sheet 4 of 38  US  7,469,381  B2 
Portable Multifunction Device 
100 
(Speaker 111) 
Optical 
Sensor 164 
Proximity 
Sensor .1.2. 
IM 
Text 
141 
M 
75" 
Weather 
lllU 
+-X7 
Calculator 
~ 
t 
Phone 
138 
Current Time  404 
Photos 
144 
Stocks 
lllU 
Alarm 
1494 
6 
~ 
Mail 
140 
410 
408 
Camera 
143 
Videos 
145 
Jan 
15 
Blog  Calendar 
ill  ill 
User 
ABC  Created 
Widget 
Dictionary  Widget 
14M  1496 
0 
fl 
Browser  Music 
147  146 
Touch  Screen  112 
Microphone 
113 
Home 
204 
Figure 4 
U.S.  Patent  Dec.23,2008  Sheet 5 of 38  US  7,469,381  B2 
'02 
~ ) 
Detect a  movement of an object (e.g., a finger) on  or near a touch screen 
display of a device. 
+ 
~ 5 
Scroll a  list of items displayed on the touch screen display in  a first 
direction  (e.g.,  vertical or horizontal). 
Scroll the list at a  speed  corresponding to a  speed of movement of  '-' 
the object. 
Scroll  the  list in  accordance with a simulation of an  equation of motion'-' 
having friction. 
t 
Is  a 
terminus of the 
r 
r 
04 
506 
5 0 ~ 
list reached while scrolling  the 
list in  the first direction while the object 
is still detected on or near 
No 
--
Process 
Complete 
the touch screen 
display? 
+ Yes 
~ 5 
Display an  area  beyond the terminus of the list. 
Display the area  in  white. 
'--
r 
Display the area as visually indistinct from the background of the list.  '-' r 
+ 
~ 5 
After the object is no longer detected on or near the touch  screen display, 
scroll the list in a  second direction opposite the first direction  until the area 
beyond the terminus of the Jist  is no longer displayed. 
Scroll the list using a damped motion. 
'--
r 
Make the terminus of the list appear to be elastically attached to an 
r 
edge of the touch screen display or to an edge displayed on the touch'-' 
screen display. 
Figure 5 
14 
5 I I> 
SIX 
20 
522 
524 
U.S.  Patent  Dec.23,2008  Sheet 6 of 38  US  7,469,381  B2 
~ I 
~ I 
Portable Multifunction Device 
2!&  100 
3500A 
I 
(Speaker 111) 
Optical 
Sensor 1...4. 
Proximity 
Sensor.1.QQ 
Current Time  404 
  3502 
Mailboxes  s  inbox 
6 
5
3504 
~ 1 ~  J ~ M  ~ ~ 
  Bruce Walker  January 30,  20o6s 
Lunch  meeting todayf
3508
.
2 
3530 
  3506-3  3510-3 
Kim  Brooi(f  January 30,  2006
5 
_,3508-3 
Draft agreement 
3512-2 
Bob Adams 
Project Orion 
e  Darin Adler 
fantasy football 
I 
:  January 29,  2006 
I 
:r3514 
I 
I 
V  January 29,  2006 
Aaron Jones 
Fwd:  status report 
January 29,  2006 
Kim  Brook 
Re:  proposal 
 
I 
-.v 
3520  3522 
Microphone 
ill 
January 28,  2006 
T 
'-3518 
0 
~ 
/ 
3524  3526 
3310 
Home 
204 
Figure 6A 
U.S.  Patent  Dec.23,2008  Sheet 7 of 38  US  7,469,381  B2 
Portable Multifunction Device 
~  100 
3500A 
s 
(Speaker 111) 
Optical 
Sensor1.i 
Proximity 
Sensor12Q 
Current Time  404  a:!>  406 
  s3502 
Mailboxes  lnbox 
6 
s3504 
3506-1  3510-1 
Aaron J a n e ~  January 30,  2006s 
s3508-1 
Re:  Project Orion  3534 
3512-1  3506-2  3510-2 
  Bruce Walkers  January 30,  2005s 
.  3508-2 
Lunch  meetmg today.!'  ~ 
  3506-3  I  j910-3 
K1m  Brook'  :  January 30,  2006 
.)3508-3 I 
Draft agreement  :r3514 
Bob Adams 
Project Orion 
I 
I 
1  January 29,  2006 
v 
3512-2   
e  Dann Adler  January 29,  2006 
fantasy football 
Aaron Jones 
Fwd:  status report 
January 29,  2006 
... 
'-3518 
 
0 
~ 
/ 
I 
~ 
3520  3522  3524  3526 
3310 
Microphone  Home 
113 
204 
Figure 6B 
U.S.  Patent  Dec.23,2008  Sheet 8 of 38  US  7,469,381  B2 
Portable Multifunction Device 
2QQ  100 
3500A 
s 
(Speaker 111) 
Optical 
Sensor 1..4 
Proximity 
Sensor 1...QQ 
Current Time  404 
Mailboxes  .r
3502 
lnbox 
6  .r3504 
_r3506-1  3510-1 
Aaron Jone:s  January 30,  2006.r 
.r3508-1 
Re:  Project Orion  3534 
3512-1  3506-2  3510-2 
  Bruce Walkers  January 30,  2006.r 
Lunch  meeting today>
3508
-
2 
= 
,  3506-3  I  3510-3 
K1m  Broo!<f  :  January 30,  2006.r 
.[3508-3 1 
Draft agreement  :r3514 
I 
I 
V January 29,  2006 
Bob Adams 
Project Orion 
tr
2
Darin Adler  January 29, 2006 
fantasy football 
'Y 
'-3518 
 
0 
~ 
/ 
I 
"" 
3520  3522  3524  3526 
3310 
Microphone  Home 
113 
204 
Figure 6C 
U.S.  Patent  Dec.23,2008  Sheet 9 of 38  US  7,469,381  B2 
~ I 
~ I 
Portable Multifunction Device 
2QQ  100 
3500A 
\ 
(Speaker 111) 
Optical 
Sensor 1.Q1 
Proximity 
Sensor .1..QQ 
Current Time  404 
.  .f3502 
Mailboxes  Inbox 
6  .f3504 
3506-1  3510-1 
Aaron Jones.J  January 30,  2006.J 
.  .  .f35081 
Re:  ProJect Onon  3534 
~ ~  ? ~  ~ ~ 
  Bruce Walker  January 30,  2006.J 
Lunch  meeting today.f
3508
.
2 
3530 
K
.  B  k.f35o6-3  351 o-3 
Im  roo  January 30,  2006.f 
3508-3 
Draft agreement.! 
Bob Adams 
Project Orion 
3
2
-
2
Darin Adler 
fantasy football 
Aaron Jones 
Fwd:  status report 
T 
January 29,  2006 
January 29,  2006 
January 29,  2006 
'-3518 
 
0 
~ 
/ 
I 
w 
3520  3522  3524  3526 
3310 
Microphone  Home 
113 
204 
Figure 60 
U.S.  Patent  Dec.23,2008  Sheet I 0 of 38  US  7,469,381  B2 
~ 
702 
Detect a  movement of an  object (e.g., a  finger)  on  or near a touch screen 
display. 
+ 
704 
~  
Translate an electronic document displayed on the touch screen display in 
a first direction  (e.g., vertical,  horizontal, or diagonal). 
Translate the electronic document at a  speed of translation 
'-' 
corresponding to a  speed of movement of the object. 
Translate the electronic document in  accordance with  a simulation of  '----
an  equation of motion having friction. 
+ 
Is  an 
edge of the 
electronic document reached 
r  706 
r  7 0 ~ 
while translating the electronic document in 
the first direction while the object  is still 
detected on or near 
No 
Process 
-
Complete 
the  touch screen 
display? 
+ Yes 
Display an area  beyond the edge of the document. 
Display the area  in  black, gray, a solid color, or white. 
Display the area  as visually distinct from  the  document. 
+ 
714 
~  
'-' 
r 
716 
'-' 
r  7 1 ~ 
720  ~  
After the object is no longer detected on or near the  touch screen display, 
translate the document in  a  second direction  (e.g., opposite the first 
direction) until the area beyond the edge of the document is  no longer 
displayed. 
r 
'-' 
Translate the document using a damped motion. 
722 
Make the edge of the electronic document appear to  be elastically  "--
r  724 
attached to an edge of the  touch screen display or to an edge 
displayed on the touch  screen display. 
Figure 7 
U.S.  Patent  Dec.23,2008  Sheet II of 38  US  7,469,381  B2 
~ I 
~ I 
Portable Multifunction Device 
206  100 
3900A 
s 
(  )  [  Optical 
Speakeri11  Sensor164  [ 
Proximity 
Sensor166 
402  Current Time  404 
Welcome  3904 
http://www.company.com/start  3908 
Block 3 
3914-3 
Block 1 
3914-1 
39251\:t, 
Block4 
3914-4 
 
 
 
 
 
 
 
Block 5 
3914-5 
Block 2 
3914-2 
Block 6 
3914-6 
 
p::J 
+ 
I 
3916  3918  3920 
Microphone  Home 
113 
204 
Figure SA 
0910 
Web page 
3912 
Block 
7 
3914-7 
Block 
8 
3914-8 
3914-9 
U.S.  Patent  Dec.23,2008  Sheet 12  of 38  US  7,469,381  B2 
Portable Multifunction Device 
~  100 
3900A 
(Speaker ill) 
Optical 
Sensor.1..1 
Proximity 
Sensor1.QQ 
Current Time  404 
Welcome  3904 
http://www.company.com/start  3908 
Block 1 
3914-1 
Block 2 
3914-2 
Web  page 
3912 
 
I 
Block 4 
3914-4 
Block 5 
'\)
3925 
3914-5 
 
 
 
 
 
 
 
 
Block 6 
3914-6 
Microphone  Home 
ill  204 
Figure SB 
+ 
Block 7 
3914-7 
Block 8 
3914-8 
Block 9 
3914-9 
U.S.  Patent  Dec.23,2008  Sheet 13  of 38 
Portable Multifunction Device 
2QQ  100 
(Speaker ill) 
Optical 
Sensor .1i 
Proximity 
Sensor 1Qfi 
Current Time  404 
Welcome  3904 
http://www.company.com/start  39os 
3914-1 
Block 
2 
3914-2 
Web page 
3912 
 
I 
Block4 
3914-4 
Block 5 
3914-5 
     
 
 
 
 
 
       
3914-6 
Microphone  Home 
ill  204 
Figure 8C 
+ 
Block 7 
3914-7 
Block 8 
3914-8 
Block 9 
3914-9 
US  7,469,381  B2 
U.S.  Patent  Dec.23,2008  Sheet 14 of 38  US  7,469,381  B2 
~ [ 
~ [ 
206 
Portable Multifunction  Device  -....._ 
100  -.. 
(  S  eaker 
111 
)  [  Optical  J  [  Proximity  J 
P  - Sensor 164  Sensor 166 
402  Current Time  404  .::lo  406 
Welcome  3904 
~  ,3910 
http://www.company.com/start  3908  V 
Block 1 
3914-1 
Block 2 
3914-2 
Web page 
3912 
 
I 
Block4 
3914-4 
Block 5 
3914-5 
Block 6 
3914-6 
(  Microphone J 
\  113 
Home 
204 
Figure SD 
+ 
Block 7 
3914-7 
Block 8 
3914-8 
Block 9 
3914-9 
U.S.  Patent  Dec.23,2008  Sheet 15 of 38  US  7,469,381  B2 
~ 
902 
Display an electronic document at a first magnification on a  touch  screen 
display.  The electronic document has a document length  and  a document 
width. 
~ 
904 
Detect a gesture (e.g., a pinching gesture) on or near the touch  screen 
display corresponding to  a command to zoom out by  a user-specified 
amount. 
~ 
906 
In  response to detecting the gesture, display the  electronic document at a 
magnification less than the first magnification. 
Is the 
908 
( 
(910 
document length or 
document width entirely displayed whlle 
the gesture is  still detected on or near 
the  touch  screen 
No 
Process 
-
Complete 
display? 
Yes 
~ 
912 
Display the electronic document at a magnification wherein areas beyond 
opposite edges of the electronic document are displayed. 
~ 
914 
Upon detecting termination of the gesture, display the  electronic 
document at a magnification wherein  the  areas beyond opposite edges of 
the  electronic document are no longer displayed. 
Figure 9 
U.S.  Patent  Dec.23,2008  Sheet 16 of 38  US 7,469,381  B2 
~ I 
~ I 
Portable Multifunction Device 
206  100 
3900A 
( 
(Speaker ill) 
Optical 
SensorM 
Proximity 
Sensor .1...2 
Current Time  404 
Welcome  3904 
http://www.company.com/start  3908 
Block 1 
3914-1 
Block 2 
3914-2 
Block 3 
3914-3 
3914-5 
Block 6 
3914-6 
 
Pl  + 
I 
3916  3918  3920 
Microphone  Home 
113 
204 
Figure 10A 
()3910 
Web page 
3912 
Block 
7 
3914-7 
Block 
8 
3914-8 
3914-9 
U.S.  Patent  Dec.23,2008  Sheet 17 of38 
Portable Multifunction Device 
100 
(Speaker ill) 
Optical 
Sensor 1.Qi 
Proximity 
Sensor 1.2.2 
Current Time 
1 
Welcome  3904 
http://www.company.com/start  3908 
. 
I 
Block 1 
3914-1 
Block 3 
3914-3 
3951' ,Block 4 
/ 
  3914-4 
Block 5 
:3953  3914-5 
Block 2  ........ ' 
3914-2 
Microphone 
113 
Block 6 
3914-6 
Home 
204 
Figure 108 
+ 
Block 7 
3914-7 
Block 8 
3914-8 
Block 9 
3914-9 
US  7,469,381  B2 
U.S.  Patent 
3900A 
~ I 
~ I 
Dec.23,2008  Sheet 18 of 38 
Portable Multifunction Device 
100 
(Speaker ill) 
Optical 
Sensor 164 
Proximity 
Sensor 166 
Current Time  404 
Welcome  3904 
US  7,469,381  B2 
.::!>  406 
http://www.company.com/start  3908 
()3910 
Web page 
3912 
 
I 
Block  1 
3914-1 
Block 2 
3914-2 
Microphone 
113 
Block 3 
3914-3 
Block 4 
3914-4 
Block 5 
3914-5 
Block 6 
3914-6 
Home 
204 
Figure 10C 
+ 
Block 7 
3914-7 
Block 8 
3914-8 
Block 9 
3914  9 
U.S.  Patent  Dec.23,2008  Sheet 19 of 38  US  7,469,381  B2 
~ 
1102 
Display at least a first portion of an  electronic document at a first 
magnification on a  touch  screen display. 
~ 
1104 
Detect a gesture (e.g.,  a de-pinching gesture) on  or near the touch  screen 
display corresponding to a command to zoom  in  by a user-specified 
amount. 
~ 
1106 
In  response to detecting the gesture, display decreasing portions of the 
electronic document at increasing magnifications. 
(1110 
Upon  detecting 
termination of the gesture, does the 
magnification exceed a  predefined 
magnification? 
Yes 
No 
-
Process 
Complete 
, - - - - - - - - - - - - - - - - - - - - - ~ - - - - - - - - - - - - - - - - - - ~ ~ ~  1112 
Display a respective  portion  of the electronic document at the  predefined 
magnification. 
Figure 11 
U.S.  Patent  Dec.23,2008  Sheet 20 of 38  US  7,469,381  B2 
~ I 
~ I 
Portable Multifunction  Device 
206  100 
3900A 
I 
(Speaker 111) 
Optical 
Sensor1i 
Proximity 
Sensor 1.2. 
Current Time  404 
Welcome  3904 
http://www.company.com/start  3908 
411' ... , 
Block 139311 
'"' 
3914-; 
, ... , 
139331 
'" 
Block 2 
3914-2 
Block 3 
3914-3 
Block 4 
3914-4 
Block 5 
3914-5 
Block 6 
3914-6 
 
p:J 
+ 
I 
3916  3918  3920 
Microphone  Home 
113 
204 
Figure 12A 
.::!>  406 
0910 
Web  page 
3912 
Block 
7 
3914-7 
Block 
8 
3914-8 
3914-9 
U.S.  Patent  Dec.23,2008  Sheet 21  of 38  US  7,469,381  B2 
~ I 
~ I 
206 
Portable Multifunction Device  -...._. 
100  '\, 
(  S  eaker 
111
)  (  Optical  J ( Proximity 
P  - l  Sensor 164  l  Sensor 166 
402  Current Time  404 
Welcome  3904 
http:/lwww.company.com/start  39os 
 
I 
3916 
, ... , 
139311 
;-- 
, .... , 
t39331  , __ , 
Block 1 
3914-1 
r:q 
3918 
(  Microphone 
J 
Home 
113 
204 
Figure 128 
Web page 
3912 
+ 
3920 
[[j 
3922 
U.S.  Patent 
~ I 
~ I 
3900A 
I 
Dec.23,2008  Sheet 22  of 38 
Portable Multifunction Device 
100 
(Speaker ill) 
Optical 
Sensor 1M 
Proximity 
Sensor1.. 
Current Time  404 
Welcome  3904 
http://www.company.com/start  39os 
 
I 
Block 1 
3914-1 
Microphone 
113 
Home 
204 
Figure 12C 
Web  page 
3912 
+ 
US  7,469,381  B2 
3914-
;i 
3914-
 
U.S.  Patent  Dec.23,2008  Sheet 23  of 38 
...  < 
/  \ 
.  . 
\,b 
..  J  ..... 
.  . 
.  . 
.  . 
.  . 
.  . 
\..( 
9 9 ~  10SU8S 
/ijiW!XOld 
-
j ; > g ~  msuas )  (ITT 18>18BdS) 
re:mdo 
US  7,469,381  B2 
J 
J 
U.S.  Patent  Dec.23,2008  Sheet 24 of 38  US  7,469,381  B2 
r  ;mr  1 (;;;'\ r  m  ) 
l (s)Jajewom]e:xrv J V  \._  euoljdOJO!Jf\J 
/.   ...  ~ 
\  ... <' 
(
~  JOsues  em msues)  (  ) 
filiWIXOld  Je:;llldO  TIT m ~ e e d s 
U.S.  Patent  Dec.23,2008  Sheet 25 of 38  US  7,469,381  B2 
g g ~ 
@c  ffi  J 
( S)J9j9WOJ9j9::l0\f 
auoLJdOJO!!N 
7 
0 
"' 
_/ 
\ 
/ 
~ 
9 9 ~  Josuas  t 9 ~  Josuas 
( ~  ~  ~  Je>jeads) 
Al!WJXOJd  reondo 
U.S.  Patent  Dec.23,2008  Sheet 26 of 38  US  7,469,381  B2 
, - - - - - - - - - - - - - - - - - - - - - - - - " ~ - - ,  1402 
Detect a  multifinger twisting gesture on or near a touch screen display. 
The  multifinger twisting gesture has a corresponding  degree of rotation. 
Does the 
corresponding degree of 
rotation  exceed  a 
predefined  degree of 
rotation? 
No 
(  1406 
Yes  Execute a goo 
-------..  screen rotation 
command. 
~ 
1408 
Execute a screen  rotation  command  with an  acute angle of rotation. 
~ 
1410 
Upon  ceasing to detect the multifinger twisting gesture, executing  a 
screen  rotation  command with  an  angle of rotation opposite to  the acute 
angle. 
Figure 14 
U.S.  Patent  Dec.23,2008 
(Speaker 111) 
Optical 
Sensor 1M 
/  "\ 
\..,  ./ 
Sheet 27 of 38 
Proximity 
Sensor 1.2 
L  J 
,.. ...  0  ............. .. 
-..... (___)_./ 
A 
1506 
I.......JI  \  .......... 
Microphone  r2\ 
~ 1 1 3  C.) 
Accelerometer(s) 
168 
Figure 15A 
US  7,469,381  B2 
To Figure 158 
U.S.  Patent 
c 
Dec.23,2008  Sheet 28 of 38  US  7,469,381  B2 
(  Speaker 111 ) 
-
Optical Sensor 
164 
.(::::\ 
Mrcrophone ill \J 
Figure 158 
Proximity 
Sensor 1Q6_ 
0 
Accelerometer(s) 
168 
U.S.  Patent  Dec.23,2008 
(Speaker 111) 
Optical 
Sensor .124 
/' 
'  ./ 
Sheet 29 of 38 
Proximity 
Sensor 12fr 
L  J 
" 
... - ... 
.  . 
   
>  ... ./ 
1508 
I  \ 
I.......J/  \.____. 
Microphone  ~ 
'---...=ill"'---/  \:V 
Accelerometer(s) 
1l& 
Figure 15C 
US  7,469,381  B2 
To Figure 150 
U.S.  Patent  Dec.23,2008 
(Speaker ill) 
Microphone 
lli 
Optical 
Sensor .12:! 
~ 
\!V 
Sheet 30 of 38 
Proximity 
Sensor .1QQ 
....... ~ 
:  : 
... ---------..... 
.  . 
 ......... --- 
.  . 
>  ... / 
1508 
Accelerometer(s) 
1.!i!l 
Figure 150 
US  7,469,381  B2 
To Figure 15E 
U.S.  Patent  Dec.23,2008  Sheet 31  of 38  US  7,469,381  B2 
(  ) l  Optical 
. Speaker 111,  Sensor 1M 
Proximity  J 
Sensor .1.22. 
1502 
/ 
' 
\..  ./ 
L  J 
" 
\ 
@ 
(  Microphone 
Accelerometer(s) 
)  113  168  4 
Figure 15E 
U.S.  Patent 
1604-L 
5 
.... 
I 
Dec.23,2008  Sheet 32 of 38  US  7,469,381  B2 
                                                
1.;  p  -')  Sensor J..orl.j  Sensor .!!&..  I  \ 
..   ----... 
,:  \ 
  +; 
.  . 
..  . 
      
0 
L  J 
(Microphone)  M  (  Acceleromeler(s) 
113  Q  \..  llii 
Figure 16A 
To Figure 16B 
.. 
U.S.  Patent  Dec.23,2008  Sheet 33 of 38  US  7,469,381  B2 
1604-R 
) 
ll 
() 
,c--
' 
0 
' 
" . 
- --
L  J  ( 
1608-R 
0 
'-' 
\ 
0 
1604-L 
" 
1502 
0 
( 
1608-L 
_) 
---'\  ,  \: 
\._ 
.... __ ....  ./ 
~ 
\.. 
Figure 168 
U.S.  Patent  Dec.23,2008  Sheet 34 of 38 
' 
' 
\ 
. 
\  1606-L 
. 
 
: 
I  / 
!  ~       
\ 
I  ' 
_;. .. --- 
--------------; 
' 
Figure 16C 
' 
' 
US  7,469,381  B2 
U.S.  Patent  Dec.23,2008  Sheet 35 of 38  US  7,469,381  B2 
1604-L 
5 
(  Proimi<yJ ~ 
Sensor 166 
(  )  (  Opiicol 
Speaker ill  Sensor 164 
...... 
.....  --.. 
:...  ___________ .,:; 
\.,.., ______  ,/ 
L 
0 
u 
J 
(
Microphone  ~  Accelerometer(s)' 
'----"''  '"-' _..  Q  168  ) 
~ - - - - = - - - - - - - ' 
Figure 16D 
To Figure 16E 
.. 
U.S.  Patent 
1604-L 
Dec.23,2008 
(speaker ill) 
1606-L 
Sheet 36 of 38 
1606-R 
Accelerometer(s) 
168 
Figure 16E 
US  7,469,381  B2 
To Figure 16F 
1604-R 
U.S.  Patent  Dec.23,2008 
(  Speaker 111  ) 
Microphone 
113 
Sheet 37 of 38 
Optical Sensor 
1M 
(::::\ 
\V 
Figure 16F 
Proximity 
Sensor .122 
Accelerometer(s) 
168 
US  7,469,381  B2 
U.S.  Patent  Dec.23,2008 
Device 1lQQ 
\. 
1710---.._ 
CPU(s) 
1 7 ~ 
1730\ 
User interface 
Touch-Screen 
,_.1740 
Display 
Keyboard/Mouse 
1'fso 
Network 
1 7 ~ 
Communications 
Interface 
Sheet 38 of 38  US  7,469,381  B2 
Memory 1770 
' ~ 
Operating System 
Communication  Module 
ContacUMotion  Module 
Graphics Module 
Text Input Module 
Applications 
Contacts Module 
Telephone Module 
Video Conference Module 
E-mail  Client Module 
Instant Messaging Module 
Slogging Module 
Camera Module 
Image Management Module 
Video Player Module 
Music Player Module 
Browsing  Module 
Calendar Module 
Widget Modules 
Weather Widget 
Stocks Widget 
Calculator Widget 
Alarm  Clock Widget 
Dictionary Widget 
 
. 
. 
User-Created Widget{s) 
Widget Creator Module 
Search  Module 
 
 
. 
..r 
;_ 
...r 
-; 
...r 
;_ 
...r 
...r 
-; 
-; 
-; 
...r 
-; 
-; 
-; 
...r 
;_ 
126 
128 
130 
132 
134 
136 
137 
138 
139 
140 
141 
142 
143 
144 
145 
146 
147 
148 
149 
149-1 
149-2 
149-3 
149-4 
149-5 
149-6 
150 
151 
Figure 17 
us 7,469,381  82 
1 
I.IST S<:ROIJ.I:\G A:\D DO<:UVIEYr 
TH.. \:\SL \TIO:\, SC \LI:\G, A:\D ROTATIO:\ 
0:\.\ TOU('II-._\.iCREE:\  DISPLAY 
2 
to access. store and manipulate data. t-hese conventional user 
interfaces  often  result  in  complicm<..'<i  key  S<..'<.jucnccs  nnd 
menu  hierarchies that  must  be  mcmoritcd by  the user. 
Many  conventional  user  interfaces.  such  ns  those  that 
RI:J  Ari:J)API'!.ICArJONS 
"111is  npplication claims priority to U.S.  Provisional l'mcnt 
Application  Nos.  601937.993.  "l'ortnb!c  Mu!tilimction 
5 
include  physicnl  pushbuttons.  arc  nlso  inHcxible.  This  is 
unl(H1unatc  because  it  may  prevent  a  user  intcrli1ce  from 
being conligured and/or adapted by either an application nm-
ning on  the portable de\ ice or by  users.  When coupled with 
I kvicc." Jilcd  Jun.  29.  2007: 601940.97 I.  "!.is! Scrolling and 
Document  Translation.  Scaling.  and  Rotation  on  a  Touch-
Screen  Display."  Jilcd  Jun.  2R.  2(XJ7:  (i()/()45.R5R.  "List 
Scrolling and Document Trnnslmion on a Touch-Screen Dis-
piny."  !i!<..'d  Jun.  22. 2007:  60/879.469.  "Portable  Mu!tili.mc-
tion  Device." Jilcd  Jan.  R.  2007:  60/RiG.ROL  "I  is!  Scrolling 
and I )ocumcnl rranslation on a 'llmch-Scn.:cn I )isplay." !ik:d  l'i 
Jun.  7.  2007:  and  601879.253.  "Portable  Mu!tilimction 
Device."  H!<..'d  Jun.  7.  2007 .. \ll  of  these  npplications  nrc 
incorporntcd  by  relCrcncc  herein in  their entirety 
1
,  the  time consuming  requirement  to  memorize  multiple  key 
sequences and menu hicrnrchics. and the dilliculty in nctivm-
ing n  dcsir<.'d  pushbutton.  such  inHcxibility  is  frustrming  to 
most  users. 
As a result of the small size of display screens on pm1able 
electronic devices and the potentially large size of electronic 
Jiles.  Jicqucntly  only  a  portion  of a  list  or of an  electronic 
document of interest to a user cnn be displnycd on  the screen 
m  n  given  time.  Users  thus  will  frequently  nc<.'d  to  scroll 
displayed lists or to translate displayed electronic documents. 
Users  also  will  need  to  rotate  and  to  scale (i.e ..  magnify  or 
de-magnify)  displny<.'d  electronic  documents.  However.  the 
limitmions  of conventional  user  interfaces  can  cause  these 
nctions to be nwkward to  perform. 
Furthermore. scrolling display <.'<I  lists and translating dec-
"-'  Ironic documents can he awkward on both portable and non-
portahledectnmic devices with touch-screen displays. A user 
may become lh1stratcd if the scrolling or translntion docs not 
rc!kct  the  user's  intent.  Similnrly. n  user mny  become  lhts-
'!l1is application is  related to the ll1llowing applications: ( l) 
U.S.  patent application Ser.  No.  I 01 I RR,  !R2, "'!lmch Pad 1:or  "" 
I lnndhdd Device." Hied on Jul.  I. 2(Xl2: (2) U.S.  pmcnt nppli-
cntion  Scr.  No.  10/722.948.  "'](Juch  Pad  For  llandhdd 
Device." Jiled  on Nov.  25.  2<Xn:           patent  application 
Scr. No.  I            "Movable '!lmch Pad With Added l:unc-
tionality," Jiled on Aug.  JR.  2<Xn:  (4)  U.S.  patent application 
Scr. No.  101654.1 OR.  "Ambidextrous Mouse." HI <.'<I  on Scp. 2. 
2003: (5)  U.S.  pmcnt applicmion Scr.  No.  101840.862. "Mul-
tipoint  -lhuchscn.:cn."  Jilcd  on  May  (i_  2004:  (0)  U.S.  patent 
application Scr.  No.  l 01903.964, "(jcsturcs For '!lmch Sensi-
tive  Input  Devices."  tiled  on  Jul.  30.  2004:  (7)  U.S.  pmcnt  30 
applicmion  Scr.  No.  11/038.590.  "Mode-Bused  (jraphicnl 
User Interfaces  !-'or Touch Sensitive  Input  Devices"  tiled  on 
Jan.  JR.  2005:  (R)  U.S.  patent  application  Ser.  No.  l 11057. 
050,  "Display  Actuator."  lilcd  on  Feb.  I l.  2(Xl5:  (9)  U.S. 
Provisionnl  Pmcnt  .\pplicntion  No.  (i()/058.777.  "Multi- 35 
!-'unctionnlllnnd-lldd Device." Hied  Mnr.  4.  2(X)5:  (10) U.S. 
pntcnt  npplication  Scr.  No.  11/307.749.  "Multi-1-'unctionnl 
I land-! kid lk\icc," liled Mar.  3,  2006: and (I I) U.S.  Provi-
sionaiPatent Application  No.  60/R24.769.  "Pm1ahle  Multi-
function  Device." tiled Scp. (i_  2(Xl6 .. \II of these npplicntions  40 
arc incorporated by  reference herein  in  their entirety. 
T!:C!!NICAI  FI!:J  D 
tratcd if rotation and scaling ofdcctronic documents does not 
rdlcct the user's  intent. 
Accordingly. there is a need  ll1r de\ ices with touch-screen 
displays with  more  trnnspnrcnt  and  intuitive  user  interJUccs 
Jix scrolling  lists of items nnd  Jix trnnslming.  rotming.  nnd 
scaling electronic documents that  arc easy to  usc. conHgurc. 
and/or adapt. 
SUMM.\RY 
The nbove ddicicncics and other problems associm<..'<i with 
user  interbces ll1r  pm1able de\ ices  and devices with  touch-
sensiti\e displays are reduced or eliminated by  the disclosed 
device.  In  some embodiments. the de\ ice has a touch-sensi-
tive displny (also known as a "touch screen") with n grnphical 
'111c  disclosed  embodiments  rdmc  gcnernlly  to  devices 
with touch-screen displnys. nnd more particulnrly to scrolling 
lists and to  translating. rotating, and scaling dectnmic docu-
ments on de\ ices  with touch-screen displays. 
45 
user  intcrlUcc  (GUI).  one  or more  processors.  memory  nnd 
one or more modules. programs or sets of instmctions stored 
in  the  memory  ll1r  perllmning  multiple  Ji.mctions.  In  some 
embodiments.  the  user  interacts  with  the  (jUJ  primarily 
through  Enger  contacts  nnd  gestures  on  the  touch-sensitive 
B.\CKGROUND 
,
0 
display.  In  some  embodiments.  the  li.mctions  mny  include 
telephoning,  video conll:rcncing. e-mailing,  instant  messag-
ing.  blogging,  digital  photographing.  digital  \ idcoing.  web 
browsing. digiwl music plnying. nnd/ordigital video plnying. 
Instructions Jix pcrfonning these  li.mctions  mny  be  included 
As portable electronic devices become more compact. and 
the  number  of  Ji.mctions  pcrl(mm:d  by  a  gi\en  de\ice 
incrcnscs.  it  has  become  a signi!icnnt  challenge  to  dcsig.n  a 
user interface thnt  nllows users to  easily  internet with a mul-
tili.mctionde\ icc. n1ischallenge is  particularly signilicantll1r 
handheld portable de\ ices, which have much smaller screens 
than desktop or  laptop computers. This  situation  is  unlllrlu-
nntc  bccnusc the user interface is the gnt<..'way  through which 
users  receive  not  only  content  bm  also  responses  to  user  60 
actions  or  behaviors,  including  user  attempts  to  access  a 
d<..'\  ice's  Jl:aturcs.  tools,  and  Jimctions.  Some portable com-
municmion  devices  (e.g ..  mobile  telephones.  sometimes 
culled  mobile  phones.  cell  phones.  cellular  telephones.  and 
the  like)  have  resorted to  adding more  pushbuttons.  incrcns- 65 
ing  the density of push buttons. overloading the  Ji.mctions of 
pushbuttons, or using complex menu systems to allow a user 
,
5 
in  n compmcr progrmn  product  conHgur<..'<i  Jix execution  by 
one or more processors. 
In accordance with some embodiments, a computer-imple-
mented  method  ll1r  use  in  conjunction with a  device with  a 
touch screen displny is disclosed.  In  the method. a movement 
ofnn object on or ncar the touch scr<..-cn  displny is del<..><: ted.  In 
response to detecting the movement. an ek>ctronic document 
displayed on  the  touch  screen display  is  translated  in  a  Jirst 
dir<..><:tion.  If nn  <..'<igc  of the  ck>ctronic  document  is  reached 
while trnnslming the electronic document in the Hrst direction 
while  the  object  is  still detected  on or ncar the touch  screen 
display. an area beyond the <..-dgeofthedocument is displayed. 
Aller  the object  is  no  longer  dct<..>ctcd  on  or near  the  touch 
us 7,469,381  82 
3 
screen display. the document  is  translated  in a  second din.x:-
tion  until  the  area  beyond  the  edge  of the  document  is  no 
longer displayed. 
4 
area hL")'"tmd  the edge of the document is  no longer displayed. 
alier  the  object  is  no  longer  de!ec!L-d  on  or  near  the  1ouch 
scrL-cn  display. 
In accordance wi1h some embodiments. a compmer-imple- In  accordance  with  some  embodiments.  a  graphical  user 
inter bee on a device with a  touch screen display is disclosed. 
comprising a  portion or an dcclnmic document displayed on 
the  touch  sen.-en  display and  an  area  beyond  an <..-dgc  of the 
document.  In  the  grnphical  user  interface.  in  response  to 
detecting a mmcmcnl of an object on or ncar the touch screen 
display. the dcclnmic document  is  translated in a  !irs! din.x:-
tion.  If the edge of the dcclronic document is  reached while 
translnting the dcctronic document in  the Hrst direction while 
the object is still detected on or ncar the touch screen display. 
the area hcyomlthc L'tlgc oft he document is displayL'tl. Aller 
the ohjccl  is  no  longer dc!cc!L'tl  on or ncar the  !ouch  screen 
display.  the document is 1ranslated in a second dirL>clion  until 
1he  area  beyond  1he  edge of 1he  documem  is  no  long.er  dis-
playL'tl. 
5  men!L'tl  me!hod  ll1r  use  in  conjunclion with a  device with  a 
!ouch screen display is disclosed.  In  the mc!lmd. a mmemcnl 
of an object on or near 1he touch scrL-cn display is de!L>c!ed.  In 
response 10  de1ec1ing. 1he movemen1.  a lis!  of items displayed 
on the !ouch screen display is scrolled in a !irs! dirL>clion.  If a 
1"  lcJminus of the  list  is  reached while  scrolling  the  list  in  the 
!irs! dircclion while the ohjccl  is  still dc!cc!ed on or ncar the 
touch screen display. an area beyond 1he 1erminus oft he list  is 
displayed . ..\lier the objec1 is no longer deJected on or near the 
!ouch screen display. the list  is  scrolled in a second dirL>clion 
15  opposite the !irs! dircclion until  the area beyond the terminus 
of the lis!  is  no long.er displayed. 
In  accordance  wi1h  some  embodimems.  a  g.raphicaluser 
imerface on a device with a touch screen display is disclosL'tl. 
comprising a  pm1ion or a list or items displayed on the !ouch 
""  screen  display and  an area  hL")'tmd  a  terminus or the  list.  In 
response 10 de!ec1ing a movemem of an object on or near the 
touch scrL-cn  display. 1he  lis!  is  scrolled in a  lirs1 dirL>clion.  If 
the terminus oft he list is reachL'tl while scrolling the list  in  the 
!irs! dircclion while the ohjccl  is  still dc!cc!ed on or ncar the 
In  accordance  with  some  embodiments.  a  device  is  dis-
closL'tl.  comprising a  !ouch  screen display.  one or more pro-
cessors. memory. and one or more programs. The one or more 
programs  are  slorL'tl  in  the  memory  and  config.ured  10  be 
exccu!L'tl  by  the  one or more  processors.  The  one or  more 
programs include inslruclions !l1r de!cclinga movement of  an 
ohjccl on or ncar the !ouch screen display and inslmclions !l1r 
1ranslming.  an  elec1ronic  document  displayed  on  the  touch 
screen display in a !irs! direction. in  response to de!ecling the 
movement.  The one or more programs also  include  instruc-
tions  !l1r displaying an area hLJ'tmd an L'tlgc of the ck>clnmic 
document  if 1he  edge of the  electronic  document  is  reached  30 
while mmslaling. 1he ek>clronic document in the !irs! direc1ion 
while !he object  is  s1ill  de!ec!ed on or near the  touch  screen 
display.  The one or  more  programs  further  include  instruc-
tions  !l1r translating the document  in  a SL>cond  dircclion until 
1he  area  beyond  1he  edge of 1he  documem  is  no  long.er  dis- 35 
playL'<i.  aller 1he  objL'CI  is  no  longer deJected  on or near  the 
1ouch screen display 
"5  !ouch screen display. the area hL")'tmd  the terminus of the list 
is displayed .. \lkr 1he object  is  no  long.er de1ec1ed on or near 
the  touch screen display. 1he  list  is scrolled in a SL>cond  direc-
tion  opposite  the  !irs!  dirL>clion  until  the  area  hL")'tmd  the 
lcJminus of the list  is  no longer displayed. 
In  accordance  with  some  embodiments.  a  device  is  dis-
closed. comprising a  touch screen display. one or more  pro-
cessors. memO!)'. and one or more programs. The one or more 
programs  arc  slorL'tl  in  the  memory  and  configured  lo  he 
executed  by  the  one or  more  processors.  n1e  one or  more 
prog.rams include instructions for deJecting. a movement of an 
objL'CI on or near the !ouch screen display and ins1n1c1ions  for 
scrolling. a lis! of ilems displayed on the 10uch screen display 
in a !irs! d i n ~ c l i o n  in  response lo de!L>cling  the mmemenl. rhe 
one or more programs also include inslruclions !(Jrdisplaying 
an area beyond a terminus oflhe list  if1he terminus oflhe list 
is  reached while scrolling the  list  in !he !irs! direc1ion  while 
the ohjccl is still de!cc!L'tl on or ncar the !ouch screen display. 
The  one or  more  programs  !i.1rlher  include  inslmclions  ll1r 
scrolling the list  in a second dirL>clion opposite the !irs! dircc-
In  accordance with  some embodiments.  a  computer-pro-
gram  produc!  is  disclosL'tl.  comprising a  computer readable 
slorag.e medium and a compmer program mechanism embL'<i- 40 
dL'<i  !herein.  The  compmer  program  mechanism  comprises 
inslruclions. which when  exL>cuted  by  a  device with a  !ouch 
screen display. cause the device lo  deice! a  movement or an 
ohjccl on or ncar the !ouch screen display and lo  translate an 
elec1ronic documem displayed on 1he !ouch screen display in  45  lion  until1he area  beyond 1he terminus of1he list is no long.er 
displayed. alier the objec1  is  no longerde!ec1L'tl on or near the 
!ouch screen display. 
a  !irs! direction.  in  response to de!ec1ing !he movemenl. The 
inslruclions also cause the device lo display an area beyond an 
edge of the clcc!nmic document  if the L'tlgeofthc ck>clnmic 
document  is  reached  while  lranslaling.  !he electronic  docu-
ment in  the !irs! direction while the  object  is  s1ill  de!ec!ed on 
In  accordance  with  some  embodiments.  a  computer-pm-
g.ram  product  is  disclosed.  comprising.  a  computer readable 
or  near  1he  1ouch  scrL-cn  display.  The  instmc1ions  li.mher 
cause the device lo  translate the document in a second dirL>c-
tion  until  the  area  beyond  the  edge  or the  document  is  no 
longer displayed. alkr the  object  is  no  long.er deJected on or 
near 1he  touch screen display. 
'0  s1orage nK'<iium and a computer program mechanism embed-
ded  therein.  The  computer  program  mechanism  comprises 
inslmclions. which when exL>cuted  by  a de\ icc  with a  !ouch 
screen display. cause the dL"\ice  lo  dc!ccl  a  mmemenl oLm 
objL'CI on or near1he 10uch screen display and 10 scroll a list of 
'5  items displayL'tl on the touch scrL-cn display in a !irs! direction 
in  response lo de!ccling the mmcmenl. The inslmclions also 
cause the device lo display an area beyond a terminus or the 
list if the terminus oft he list  is  reachL'tl while scrolling the list 
In  accordance  with  some  embodiments.  a  de\ icc  with  a 
!ouch  screen  display  is  disclosed.  The  device  comprises 
means  ll1r  de!ccling a  movement or an ohjccl on or ncar the 
1ouch scrL-cn  display and means Jix 1ranslming. an  electronic 
document  displayL'tl  on  the  touch  screen  display  in  a  lirs1  60 
dirL>clion.  in response lo de!ccling the movement. rhc de\ ice 
also comprises means  ll1r  displaying an area beyond an  L'tlge 
of! he electronic document if1he edge oflhe ek>clronic docu-
ment  is  reaciK'<i  while translating 1he electronic documem in 
!he !irs! direction while the  object  is  s1ill  de!L>c!ed  on or near  65 
the !ouch screen display. n1e de\ ice !i.1rlher comprises means 
ll1r  translating  the document  in  a  second dirL>clion  until  the 
in !he !irs! direction while the object is s1ill de!ec!L'tl on or near 
the  touch  screen display  The  ins1mc1ions  li.mher cause  the 
device lo scroll the list  in a second dircclion opposite the !irs! 
dirL>clion  until  the area  beyond  the tenninus of the  list  is  no 
long.er displayed. aller 1he objL'CI  is  no  longer de!ec1L'tl on or 
near the 1ouch screen display 
In  accordance  wi1h  some  embodimems.  a  device  wi1h  a 
!ouch  screen  display  is  disclosed.  The  dL"\ ice  comprises 
means  !l1r dc!ccling a  mmemenl  of an ohjccl  on or ncar the 
us 7,469,381  82 
5 
!ouch screen display and  means  !(Jr  scrolling a  list  of items 
displayed on  the  touch  screen  display  in  a  !irst  direction  in 
response  to  detecting  the  movement.  "111c  device  also  com-
prises means for  displaying an area beyond a tcnninus of the 
list  if the terminus oft he list  is reached while scrolling the list 
in  the !irs! dircclion while the object is still dc!cclcd on or ncar 
the touch screen display.  n u ~  de\ icc Ji.Jrthcr comprises means 
for  scrolling the  list  in  a  second  direction  opposite  the  !irst 
direction  until  the  urea  beyond  the  terminus of the  list  is  no 
longer displayed, alkr the object  is  no  longer dc!cclcd on or 
ncar the touch screen display. 
In acconlancc with some embodiments. a cmnpulcr-imple-
mented me! hod  for usc at a device with n 10uch screen displny 
includes  detecting.  n  multi!ingcr  twisting.  g.csturc  on or ncnr 
the !ouch scn.x::n display. rhc nmhilinger lwistinggeslurc has 
a  corresponding  degree  or  rotation.  If the  coJTcsponding 
degree or rotation exceeds a  preddined degn.::e  or rotation. a 
90 screen rotmion conunnnd is executed.  If the  correspond-
ing.  dcg.rec  of rotmion  is  less  thnn  the  predefined  degree  of 
rotation.  a  screen  rotation  command with an  aculc angle or 
rotation is executed and.  upon ceasing lo dc!ec!lhe muhilin-
gcr lwistinggcslure. a screen rotation command with an angle 
of rowtion opposite to  the  ncme  nngle is executed. 
In nccordnnccwith some embodimcms. n device includes n 
touch screen disp!ny.  one or  more  processors.  memO!)'.  nnd 
one or more programs. rhc one or more programs are stored 
in  the  memory and nmligured lo he executed  by  the one or 
more processors. The one or more prog.rmns  include:  instruc-
tions  for  detecting.  n  multi!ing.er  twisting gcsmrc on  or ncnr 
the  !ouch  scn.::en  display.  wherein  the  muhilinger  twisting 
gesture has a  corresponding degree or mlalion:  inslmclions 
ll1r  executing  a  90"  screen  rotation  cmnmand.  if the corre-
sponding. dcgr<:e  of rotmion  exceeds n  predefined  dcg.rec  of 
rotmion: nnd instructions for execmingn scr<.-en  rowtioncom-
mand with an acute angle or mlalion and ll1r  executing. upon 
ceasing  lo  detccl  the  muhilinger  twisting  gesture.  a  screen 
rotmion  commnnd with nn  nng.le  of rotmion  opposite  to  the 
ncme  nngle.  if the  corresponding  degree  of rowtion  is  less 
thnn  the predefined dcg.rec of rowtion. 
In  accordance with  some embodiments.  a  computer-pro-
gram  produc!  includes a computer readable storage medium 
and a computer program mechanism embedded therein. The 
compmer  prog.rmn  mcchnnism  includes  instructions.  which 
when cx<:cutcd by n device with n touch screen displny. cnuse 
the dL"\ ice to:  deled a muhilinger twisting gesture on or ncar 
the  !ouch  screen  display.  wherein  the  muhilinger  twisting 
gesture has a corresponding degree of rotation: execute a 90" 
screen  rotmion  commnnd.  if the  corresponding  degree  of 
rotmion cxceL'<is n pr<.-deHned degree of rotmion: nnd execute 
a  screen  rotation  command  with  an  acute angle  or mlalion 
and.  upon ceasing lo detcc!lhe muhilingcr twisting gesture. 
exec men screen rotmion conunnnd with nn nngle of rotmion 
opposite  to  the  acme  nng.le.  if the  corresponding degree  of 
rotmion  is  less  thnn  the predefined degree of rowtion. 
In  accordance  with  some  embodiments.  a  de\ icc  with  a 
!ouch screen  display  includes:  means  ll1r  dc!ecling a  multi-
linger  twisting  gesture on  or  near the  !ouch screen  display. 
wherein the multiHng.er twisting. gesture has a corresponding 
dcg.rec of rotmion: means Jix executing. a 90 screen rotmion 
command.  if the coJTcsponding degree of rotation exceL-ds  a 
prcdclinL-d  degree  of rotation:  and  means  ll1r  executing  a 
screen rowtion conunand with nn acme angle of rowtion nnd. 
upon  censing.  to  detect  the  multi!inger  twisting  g.esture.  Jix 
execming n screen rotmion conunand with nn  nnglc of rotn-
tion opposilc lo the acute angle.  if the corresponding degree 
of rotation  is  less !han !he prL-deJinL-d  degree of rotation. 
6 
In accordance with some embodiments. a compulcr-imple-
mented method of displaying nn electronic document hnving 
n document  length and n document width. for usc m n device 
withn touch scr<.-en displny. includes displnying. the ekctronic 
5  document a! a lirsl magnilicalionanddetcclinga gesture on or 
near the !ouch screen display corresponding loa command lo 
zoom om by a user-speci!k-d amoum. In  response to detecting 
the  g.esturc.  the electronic documcm is displnyd nt  a mag.ni-
Jication  less  than  the  lirsl  magnilicalion.  If  the  document 
lCJ length  or  document  width  is  entirely  displayL-d  while  the 
gesture is still dc!ec!L-d on or near the !ouch screen display. the 
electronic document  is displayed m a mng.niHcntion wherein 
nrens  beyond opposite edges of the ekctronic document nrc 
displayed. and upon detccling termination of the gesture. the 
15  elec!nmic document  is displayed a!  a magnilicalion wherein 
the  nrens  beyond opposite edges of the ekctronic document 
nrc  no long.cr displayed. 
In  accordance  with  some  cmbodimems.  a  g.raphicnl  user 
in!crliJCc on a de\ ice with a !ouch screen display includes an 
""  elec!nmic  document  having a  document  length and  a  docu-
ment  width.  to  be  displnyed  on  the  touch  screen  display  at 
multiple  mag.niHcations  including.  n  Hrst  magni!icmion.  nnd 
areas  bLytmd  opposite edges of the elec!ronic document.  In 
response  lo  dc!ecling  a  gesture on  or  ncar  the  !ouch  screen 
"5  display coJTcsponding lo  a command lo  zoom out by a  user-
speci!id amount.  wherein the gcsmrc  is dek'cted while dis-
playing the electronic documem nt  the Hrst mng.niHcntion. the 
elec!nmic document is displayed a!  a magnilicalion less  than 
the  lirsl  magnilicalion.  If the document  length or document 
30  width  is  cmirdy displnyd while  the  gcsmre  is  still detected 
on or nenr the touch screen displny. the electronic documem is 
displayed nt  a magni!icmion wherein the nrens beyond oppo-
silc L-dges  of the elec!ronic document are displayL-d. and upon 
de!ccling lcnninalion of the gesture. the elec!ronic document 
35  is  displnyed  m  a  mag.ni!icmion  wherein  the  nreas  beyond 
opposite L'<igcs  of the electronic document arc no longer dis-
played. 
In accordance with some embodiments. a device includes a 
!ouch  screen  display.  one or more processors.  memory. and 
40  one or more prog.rams.  The one or more prog.rams nrc  stored 
in  the  memory nnd con!ig.ur<.-d  to  be  executed  by the one  or 
more processors. rhc one or more programs include:  inslmc-
tions  ll1r  displaying an elec!ronic document a!  a  Jirsl  magni-
Jicalion:  inslmclions  ll1r  de!ccling  a  gesture  on  or  ncar  the 
45  touch  screen  displny  corresponding to  a  conunand  to  zoom 
om by a user-speciHednmount: instmctions for displaying. the 
elec!nmic  document  a!  a  magnilicalion  less  than  the  Jirsl 
magnilicalion.  in  response lo  dc!ecling the gesture:  inslmc-
tions  for  displaying.  the ekctronic document m a  mag.niHca-
'0  tion  wherein  areas  beyond  opposite cdg.cs  of the  ekctronic 
documcm nrc displayed. if a documcmlcng.th or a document 
width  is  entirely displayL-d  while the gesture is  still dc!ec!L-d 
on  or  near  the  !ouch  screen  display:  and  inslruclions  ll1r 
displaying  the  electronic  document  m  n  mag.niHcation 
'-'  wherein  the  areas  beyond  opposite  L'<igcs  of the  ekctronic 
document  arc  no  longer displayed.  upon  detccling lcrmina-
tion  or the gesture. 
In  accordance  with  some  embodiments.  a  compulcr-pm-
g.ram  product  includes a compmer rcadnble stornge  medium 
60  nnd  a compmer program  mechanism embL'<idL'<i  therein. The 
computer program  mechanism  includes  inslmclions.  which 
when cxecu!L-d by a de\ ice with a !ouch screen display. cause 
the  device to:  displny nn  ekctronic documcm nt  a  !irst mng-
ni!icmion: detect n g.csture on or nenr the touch screen display 
65  corresponding to a commnnd to zoom om by a uscr-speciHed 
amount:  display  the elec!ronic document  a!  a  magnilicalion 
less than  the lirsl  magnilicalion.  in  response lo  dc!ecling the 
us 7,469,381  82 
7 
gesture:  display  the dcc!nmic document  a!  a  magni!icalion 
wherein nrcas  beyond opposite <..-dgcs  of the electronic docu-
ment nrc displayed. if a document length or a document width 
is  entirely displayed while the gesture  is  still  detected on or 
ncar  the  !ouch  screen  display:  and  display  the  dcc!nmic  -' 
document a! a magni!icalion wherein the areas beyond oppo-
site edges of the dcc!ronic document arc no  longer displayed. 
upon detecting.  termination of the  gesture. 
8 
In  accordance  with  some  embodiments,  a  compulcr-pro-
g.rmn  product  includes a compmcr rcadnblc storng.c  medium 
nnd  a compmcr program  mechanism cmb<.-dd<.-d  therein. The 
computer prog.rnm  mechanism  includes  instmctions.  which 
when cxL><::U!L-d  by a de\ icc with a !ouch screen display. cause 
the de\ icc  to:  display a!  kasl a  Jirsl  portion of an  d<.>clronic 
documcm ill n !irs! mag.ni!icillion: detect n gesture on or ncar 
the  touch  screen  displny  corresponding.  to  a  conunand  to 
mom in  by  a uscr-sp<.><::ilicd  amount: display decreasing por-
In  accordance  with  some  embodiments.  a  device  with  a 
touch screen display  includes:  means for displaying an ck>c-
tronic document at  a !irs! magnilication: means  !(Jr detccling 
a gesture on or ncar the !ouch screen display cmn::spomling to 
a command  to  zoom om by a  uscr-speciHed  amount:  means 
lCJ lions ofthcclcc!nmic document a!  increasing magnilicalions, 
in  response lo dc!ccling the gesture: and display a rcspccli\c 
portion  of the  ck>ctronic  documcm ill  n  prcdc!incd  mng.ni!i-
cillion i[ upon detecting. tcrminntion of the  g.csturc. the mng.-
nilication cxccL-ds a  prL-ddincd  magnilicalion. 
In  accordance  with  some  embodiments.  a  device  with  a 
!ouch screen display includes means l(Jr displaying a!  kasl a 
Hrst  portion of an electronic documcm ill n Hrst mag.niHcation: 
mcnns  Ji.1r  detecting.  n  g.csmrc  on  or ncar  the  touch  screen 
display  coJTcsponding lo  a  command  lo  /oom  in  by a  uscr-
spccili<.-d  amount:  means  !(Jr displaying decreasing  pm1ions 
of the ck>clronic  document  a!  increasing  magnilicalions,  in 
response to detecting. the g.csturc:  and mcnns for displnying. n 
respective portion ofthc electronic document ill a prcdc!incd 
magnilicalion  iL  upon  dc!ccling  termination  of the gesture, 
for displaying. the electronic document ill a mag.niHcation less 
than the !irs! magnilicalion. in  response to dc!ccling the gcs-
15 
lure: means  !(Jr displaying the clcc!ronic dm:umcnl a!  a mag-
nilicalion wherein  areas  h:yond  opposite edges of the dec-
Ironic  documcm  nrc  displnycd.  if  a  document  length  or  a 
document width is entirely displayed while the g.csturc  is still 
dc!cc!cd on or ncar the !ouch  screen display:  and  means  !(Jr  "" 
displaying  the  clcc!ronic  document  a!  a  magnilicalion 
wherein  the  areas  h:yond  opposite  L-dgcs  of the  clcc!nmic 
document  nrc  no  long.cr  displnycd.  upon dcl<.'cting.  tcnninn-
tion of the g.csturc. 
"-'  the magnilicalion exceeds the prL-dclinL-d  magnilicalion. 
In nccordnnccwith some cmbodimcms. n computcr-implc-
mcntcd mel hod of displaying an ckc!ronic document, l(Jr usc 
a!  a device with a !ouch screen display. includes displaying a! 
lens! n Hrst  portion of the electronic document ill n Hrs1  mng.-
niHcntion and detecting. a g.csturc on or ncar the  touch screen 
30 
display  corresponding  lo  a  command  lo  /oom  in  by  a  uscr-
spcciliL-d  amount.  In  response  lo  dc!ccling  the  gesture. 
decreasing portions of the clcc!nmic document arc displayed 
at  incrcnsing.  mng.ni!icillions.  Upon detecting.  tcnninillion of 
the gesture. ifthc mag.ni!ication cxcc<.-ds a prcdelincd mng.ni-
35 
Jicalion,  a  rcspccli\c  portion  of the  clcc!ronic  document  is 
displayL-d a!  the prcdclincd magnilicalion. 
" 
In  accordance  with  some  embodiments,  a  graphical  user 
intcrJUcc  on  n  device  with  a touch  screen  displny  includes 
d<.>crcnsing.  portions  of an  electronic  document.  to  be  dis-
play<.-d  on  the !ouch  screen display  a!  increasing magnilica-
tions.  The  decreasing  pm1ions  of the  clcc!ronic  document 
include a Jirsl portion.  In  response lo dcl<.><::ling a gesture on or 
ncnr the touch scr<.-cn  displny corresponding. ton conunand to 
zoom  in  by  a user-specified nmount.  wherein  the  g.csmrc  is 
45 
delL><:: led  while displaying a!  leas!  the Jirsl  portion of an  d<.>c-
lronic document a!  a  Jirsl  magnilicalion,  the dL>crcasing  por-
tions of the clcc!ronic document arc displayed all he  increas-
ing.  mag.niHcations.  Upon  detecting.  termination  of  the 
g.csmrc.  if the mag.niHcation cxcc<.-ds a prcdelincd mng.ni!icn- ,
0 
lion,  a  rcspcclivc  portion  of the clcc!ronic document  is  dis-
play<.-d  a!  the  prL-ddincd  magnilicalion. 
'1-hc disclosed embodiments provide l(Jr easy and intuili\c 
scrolling. of lists and trnnslilling. of electronic documents on n 
device with n touch scr<.-cn  display. and Ji.1r cnsy and intuitive 
rotation and scaling ofck>clnmic documents on a device with 
a !ouch screen display. 
BRII:t.-1)1.-SCRIPTION OF Till: DR.-\ WINGS 
I-' or a better undcrstnnding. of the nforcmcntion<.-d embodi-
ments  of the  imcnlion  as  well  as  additional  embodiments 
thcrcoL  rdCrcncc  should  he  made  lo  the  Description  of 
J:mbodimcms below. in conjunction with the following. draw-
ings in  which like rcJCrcncc numerals rcJCr to corresponding. 
paris throughout  the ligures. 
l'l(j. 1 is a block diagram illuslraling a portahk multifunc-
tion device with a !ouch-sensitive display in accordance with 
some cmbodimcms. 
]-'](j.  2 illustrillcs a portable multi!i.mction device hnving. n 
touch screen  in nccordnncc with some embodiments. 
I-'IG.  J illustrates an cxcmpln!)' user interface for unlocking. 
a portahk clcc!ronic de\ icc in accordance with some cmhodi-
mcnls. 
l'l(j. 4 illuslralcs an exemplary user inlcrliJCc l(Jr a menu of 
npplications onn portable multi!i.mction device in nccordnncc 
with some cmbodimcms. 
I-'IG.  5 is n !low diagram  illustrilling. n method of scrolling. 
through a  list  in  accordance with some embodiments. 
In accordance with some embodiments. a de\ icc includes a 
touch screen display. one or  more  processors.  memO!)'.  and 
one or more prog.rnms. The one or more prog.rnms arc stored 
I'J(jS,  6.-\-6])  illuslralc  an  exemplary  user  intcrliJCc  l(Jr 
'
5 
manng.ing. an  inbox in  accord.1ncc with some cmbodimcms. 
in  the  memory and conligurL-d  lo he cx<.><::u!cd  by  the one or 
more processors. '1-hc one or more programs include:  instruc-
tions  l(Jr  displaying  a!  kasl  a  Jirsl  pm1ion  of an  ck>clnmic 
document ill a !irs! mng.niHcntion:  instmctions for dck>cting. a 
g.csmrc on or ncnr the  touch screen display corresponding. to  60 
a command  lo  /mlm  in  by a  uscr-sp<.><::ilicd  amount:  instruc-
tions  l(Jr  displaying  decreasing  pm1ions  of the  ck>clnmic 
document nt  increasing. mng.niHcntions.  in response to detect-
ing.  the  gesture:  and  instmctions  for  displaying.  a respective 
portion of the electronic  document  at  n prcddincd  mng.niH- 65 
calion iL upon dcl<.><::ling  termination of the gesture, the mag-
nilicalion cxcL"L-ds  the  prL-ddinL-d  magnilicalion. 
I-'IG. 7 is a How diag.rmn illustrilling.a method of translating. 
nn  electronic  documcm  in  accord.1ncc  with  some  cmbodi-
mcnls. 
I'J(jS,  8.-\-8])  illuslralc an  exemplary  user  interface  l(Jr  a 
browser in  accordance with some embodiments. 
l'l(j. 9 is a !low diagram illuslraling a process ofdisplaying 
nn  electronic documcm ill  multiple mng.niHcillions  in  nccor-
dancc with some embodiments. 
1-'lGS.  10.-\-IOC illustrillc the displny ofnn electronic docu-
ment  a!  multiple  magnilicalions  in  accordance  with  some 
embodiments. 
zn .!:llJO.!jUO:l  ,(JOlU:llU :ll[J.{q (h'"l[(lUJUO:l  :llJ       
'8I I                            :Jt(J  ptm on fld.J :Jt(J            ooi 
             JO                      ,\q  ZOI  .\Jouwm  01            
          .Uouwm                                       .!0           
                                'jS!p                Jo     
    tp11s  .Uom:Jm :l(IW]O.\-uou :Jp11pm        .\1'm  ptm .\.mm;,m 
           moptmJ                    :Jp11pm  .{I'm  zo I  .\.rom:Jj!IJ 
                      Jl':l]K{qd  uommo:J :Juo         w              :J:JI \:JP 
:ll11  UO  (h'"IJI1:l:JX:l  :ll(                              S110J.m.\  :lllJ. 
"UO]leJ 
-!]dde                ]mtf!]p e  Jo;pue uo]WJHdde         J]snm 
jeJ]f!!p  r,  "UO]leJ!!dde                     e  "Ull]WJ!!ddr,          
O:lpj.\            I' 'UO]JlDI(lflfl' l!J:llUlD              'UllljlDI(lfdl' flmfl 
-1J01l(     'UO]JI':l][dlfl,flU]fli"S:llU           tm 'UllljlDI(lfdl' [mtu-:J 
                                                         JOjptm 
           ]P-tril]S         .!0      flmpn]JU]               pue      
-p.!et] t]llll(JO uonemqmo::>  e  Jo                          m         
-;,1dmt  ;,q        I  "!)1:1  m                                :ll!J. 
                 :ll11  JO                    JO  UOljl!lllfl!JUO:l  jU:J.!:J_JJ]p 
e        ,\em  e  Jo                    Jo  O.\\l           .(em 
           tmt]J                       Jo             .(em 00 I         
     Wl]l pur,  '00 I         UO!jJU!1J]l]ntU               r, Jll         
:JUO  .{[UO  S]  00 I  :l:l].\:lp  :ll(J                            ;,q  p[110l1S  1! 
09  ue  uo]WJHdde                       e  uone::>Hdde            
r,  se                     Jll            r,                          
"'jJ!Js.\of 
           :JSI10lU  I'  'p.!tmq.\:J)\  (l':l]K{l(d  I'  '1:l..'"ll(.l  )j:ll(:l  1lDIS.{t1d 
                                                (lDIS,\t1d J:ll(JO :l.!OlU  .!0 :JUO 
          .(em  JP-t]J               doJde]  pue                    
se                      OJ                .(em                       
ptm  S:l:JIOJ.!:lJU!  J:JSI1  :ll(J  .JO                'J:l.\:l.\'\.Ol(                  
;,q            11  'JU:lm]poqm;,                tm  s1'  p:Jsl1     U:J..'"IJ:Js 
"0I  S:JU]1          
.!0           UllljlD!UI1UllUO:l       JO :JUO J:J\0 :lJI':l]UI1UllUO:l        O> 
                    "t-91          jeJ]JdO        .!0           
.\em  00 I              rz1  pod           ue pue  91 I          
(lUJUlD  JO  Jl1lfU]  J:ll(JO  '90I                 (0/1)  Jl1lfJl1llfJ11tfut 
    'II  :JUOl1dO.!:l]Ul  I'  'III                 '()II  .(Jjlll:JJD  mpm'  . 
'80I  ,\.!JjlD.!]:l       '8II                 S(I,J:lt1d].!:ld     on          ;t 
                       Jo     zn                  e       
                                        Jo             .(em 
tptt1\\)  ZOI  .Umu;,m  1'  :Jp11pm        OOI  :J:J].\:JP  :ll!J.  ':J:JU:J]U 
-:J\Ull:l  .!O.J  .,U:l..'U:JS  l(:JI10J,  I'  p:l[Jl':l  S:llU]PUlOS     ZI I        
-S]p                                                t]l!.\\             Ot 
l(Jllllll' S:lp11(JU]  11"11 :l:JL\:lp                                             
Wl]l                  U]                .!0:]             OJ  f>mpuods 
      puemmo::>       e            .(em                   tpnoJ 
   uo           (:l:ll1\\            l(JI\\ PI,JUO:l                                  
'(:l:ll1\\  :ll(J.JO J:JjU:l:l :ll(J  .!0  1:l.'"ll(.l  :ll(J.JO  UO]JJOd  I'              UO 
U.\\Op                                   tWtj.\\          .!OJ        
      Jo     JO          01                puemmo::>       e 
         OJ          OSje ,(r,m          )-(J!!J \'                     r, 
.\q ]J:ll(.\-\.:ll(Jl(J].1. PI'JUO:l.JO JU!Od I' JO (:l:ll1\\ :ll(J.JO  jU:JUl:J:Jqd 
                tm  uo                     UO]JI'TI].\tm  :lp].\OJd .\1'm 
Wt]l                        e  S]             'jJ!]J \"         tpnoJ     
                     'jJ!]J wnu],\ e Jo        tpnoJ eo1 UO!J!ppe 
m           'jJ!]J  jeJts.\tjd  e        .(em                     
U]  Zll  .(ejdS]p                  e  l]Jl.\\  001          Ull!PU!1J!j 
-jntU               r,  f.U]W.!JS!l!l!  tueJf!etp 'jJlljl( r,     1                
:ll(J  .JO                             (h'"OJJ:l.!]p  \\llU     UO]JU:lJJV 
                              uos :ll(J flms11  U:ll(.1. 
               m  ;,uo Sill(!  ptm            .10  ;,uo               
                   e  JO  .\Jmqeqo;d  e            01             
,\em                                                         
.JO             Jl'I1PI \!put          .{l(lfi,.RllD]X:l[} ,(JOJS]l1            p.m.\'\. 
           J;o,\qd          m;ptm 
\'( ld                          J:ll(JO                 ll'l(l  :llllll1d:l(:lJ 
          r,      l]JHS          SUO]WJ]U!ltutuOJ         r,           
                              U]                               l]JHS       
.H:I                                   'S:l:l] \:lp        .!O.J                
J:JSI1  ':J:JI\:lp                     :l1l(I')JOd  I'  .JO                  
"SjU:ltujpOlJUl:l :ll(JJO                                  
-:J.'"IUU!1  OJJOU     OS          U]                 JOU                     
I' UO                        .!0:]  ".!:JSI1  :l\IJJ:JdS:J.!     OJ  (h'UO[mJ :llJ       
                              Jo                       u1 
                                     W  OJ (h'"l.!ll]!e!    ,(r,m      jtWUl 
-]poquw                 sntLL                          nwJqJ 
J!P m;ptm uommm :l/1]]111        :J:J].\:JP :l(l]l'J-Illd  :ll(J  uo      
-tDt[ddl' ;,mm .10  :JU()  s[oqm.\s  Tiu]puods:J.utn :JJom Jo ;,uo 
Jo;ptm             Jo                    se      suo]JJe      t]l!.\\ 
            U]                ,\em  SUOJ!                      
.!0:1                ;,q  .\1'm                             :Jt].L       
-m{s Timpuods:JJJtD :JJom Jo ;,uo       ptm  'p.!tmq.\;-,1  :ll11  m 
oc  pur,            snwuodmo::>                                          
              J:ll1JO  Ul  "S(mpp             :JS:ll1Jll1lll1J].l                :llJ 
,\I'm UO]JU:l\U]  jU:JS:JJd :ll(J         JJI' :ll11  U!  1(1)-(S  ,(JI"l]p.!O .JO :JUO 
               ]]!.\\  1!                                            f.U] 
              t]f!HO.!llt]l r,           OJ            lj).!OJ                  
,:c                                            f!u].\\O!IOJ       u1  sf.u] 
-.w'IP                 :Jl(J  m                        tptl(.L.JO s;,[dumx;, 
'SJU:llmpoqm:J  OJ  1JI'PP  m  :JPI'm  :ll(  \\llU  ][1\\                   
       :l.!OUl  JO :JUO  JJ:l]JS  OJ  S.!:JSI1  .!O.J               J]           ,\I'm        flC 
                e  .!OJ  Jet]l     tpns                                    m 
        JO              OJ                    \IllS Jo) suo::>] JO       
                  ;op11pu]  .{I'm                p.!tmq.\;-,1  :ll!J. .{pJIJU:J 
.!]:ll11  U]  ut:J.!:ll( :J:JU:J.!:J_p.!  .\q               .\qar:Jt1 am tp]t1"'" JO 
           :ll(J '9001: 'tZ: '111f           ,;s:J:JI \:l(]               1 :l(lJI'JJOd  ,
1 
.!ll:J                     tpno.L,             II 'ON      pue "9(XlZ  -
rz  1nr                                                 JO:J              
'')()9'6S"J7/]]  'ON  J:JS                         "S"fl  U]  p:llJ].!:lS:lp 
:Jsm11           'p.!tmq.\;-,1 :Jl(JJO                     :ll(J uo         
JO                p.!epueJs-uou Jo;ptm (AUJ:!/1:\<))          
01 
      ,\em                                              
          \IllS      Jo           .(em                      
"JU:J.mdsut!J]  ptm :l\]J]I1JU!                               .!:JS11l]J].L 
              .JO  .{put!\ :ll(J           ,\I'm :l:JL\:lp :ll(JJO              
l(:lllllJ :ll11      tp11s)                       Jl':l]K{qd  uommo:J 1'  .\1,.1.  S]l11  ,.-
U]  'UO!j!JJ!]dde              e  U!l]Jl.\\  .!OjpUe            OJ  UO!Jr,J 
-Hdde     tuO.!J         Jo;pue             ,\em              uo 
           uoneuuoJm                                   tpnoJ 
:ll(JJO            :JJOlU .!O:JU() "U:J..'U:JS lj:ll10j :ll11     lj:li1S  ':l:lj.\:lp 
Ol 
S.I.N!ll"l!C!OHI"l!! :10 NOLLdnUS!lC! 
'SjU:llU!pOl(lU:l :llUOS  ljl].1. :J:Jtmp.!O:l:ll' U]            U:J:J.!:JSlj:lllllj 
e  t]Jl.\\          e  flmWJJsnm  um;<le]p  'jJO]q  e     L1      
                   t]l!.\\              U]        
Ull!WJtU                   ue              :191-\'9I       
"SjU:ltujpOlJUl:l :JUlOS 
l(JI\\                    U]  j:J.'"Ifl(O            J:ll(JO  JO  jU:JUlll:lOp  :l]UOJj 
          ue Jll                <lU!jeJOJ           !!S1-\"S1       
       
-tpoqm;, :lUI OS  l(JI\\ :J:Jtmp.HD:ll' U!  ptmmmtD UO]JI'JlU  U:J:J.!:JS    
                                                        \\Ot) I' S]  t"I  "!)]:1 
                  
       l]J].\\               U!                                 JP-      
-n::>op                                                  ,)fl -\"1       
                  
       l1J].l                   U!                     :l(d]J(I1Ul  W  jU:llU 
-n::>op                                                  ,)ZI -\"Z1       
                   t]Jl.\\             
m  suone::>mtlilem            JP-                      ue  <lu] 
         .JO  ss:J:JoJd 1'                ttmJi!mp .LOU        I I  "!)!:1 
6 
zs  !8t'69v'L sn 
us 7,469,381  82 
II 
'!lu:: peripherals interliJce I 18 couples the input and output 
peripherals of 1hc  device  to  the CPU  120  and  memO!)'  102. 
The one or more processors 120 nm or execute various soil-
ware  programs and/or sets of instmctions  ston.-d  in  memory 
I 02  lo  pcrl(mJJ  various  !lmctions  ll1r  the device  100 and  to  'i 
process data. 
I2 
dials. slider switches. joysticks. click wheels. and so  llH1h.  In 
some ahcmate embodiments.  input comrol!cr(s)  160 may  be 
coupled 10 any (or none) of the following.  a keyboard.  infra-
red pon. USB port. and a poimcr device such as a mouse. The 
one  or  more  bul!ons  (e.g ..  208.  FJ(j_  2)  may  include  an 
up/down  button !l1r volume control of the speaker  I I 1 and/or 
the  microphone  113. The one or more buttons may  include a 
push  bunon  (e.g ..  206.  1-'lG.  2) .. \quick  press  of the  push 
bun on may disengage a lock of the !ouch screen  I 12 or begin 
In  some  embodiments.  the  peripherals  intcr!Ucc  118.  the 
CPU  120.  and  the  memO!)'  controller  122  may  be  imple-
mented  on  a  single chip.  such as a  chip  104.  In  some other 
embodiments. they may be impk:mcnted on separate chips. 
'!lu::  RF (radio  Jiequcncy) circuitry  I 08 rccci\cs and sends 
lCJ a process that  uses gestures on the !ouch screen lo unlock the 
device.  as  described  in  U.S.  paten!  application  Scr.  No. 
111322.549. "Unlocking a Device by l'crlixming. Geslllrcs on 
an  Unlock  Image."  H!<.'d  Dec.  23.  2005.  which  is  hereby 
RF  signals.  also ca!l<..'d  clcctromag.nctic  signals.  The  R!-'  cir-
cuit!)' 108 converts electrical signals to/from dcctromag.nctic 
signals  and  communicates  with  communications  networks 
and  other communications  de\ ices  \ia  the dcc!rmnagnetic  15 
sig.nals.  The  Rl'  circui1ry  108  may  include well-known cir-
cuill)' Jix perfonning. these  li.mc1ions.  including but  no1  lim-
iled  10  an  amenna  system.  an  RF  transceiver.  one or more 
amplilicrs.  a  tuner.  one or  more oscillators.  a  digital  signa! 
processor.  a  CODH"  chipset.  a  subscriber  identity  module  "" 
(SIM) card. memory. and so  Jixth. The Rl' circuill)' 108 may 
communicate  with  networks.  such  as  the  lmcmct.  also 
rc!"crrcd  lo  as  the  World  Wide  Web  (WWW).  an  inlrancl 
and/or a  wireless nclwork.  such as a  cellular telephone ncl-
work. a  wireless  local area  network  (I  AN)  and/or a  metro-
poliwn area  network  (M.\N). and  other devices  by  wireless 
communication. The wireless commutlicmion may usc any of 
incorpora!L'd by rc!Crcncc herein in its entirely. A longer press 
of the push  \muon  (e.g ..  206)  may  !urn  power lo  the device 
100 on  or olr  The user may be able 10 cus1omize a  li.mc1ion-
ali1y  of one or more of the  but1ons.  The 1ouch  screen  112  is 
used 10 implcmcn1 virtual or soft buttons and one or more soft 
k9boards. 
The !ouch-sensitive display system  1 I2  prm ides an  input 
imcrface  and  an  oll1pll1  imerface  bc1wecn  1he  device  and  a 
user.  The display comrollcr  156  receives and/or sends elec-
trical  signals  !i"omllo  the  display  system  1 I2.  The  display 
system  I12  displays  \isual  oulpullo  the  user.  '1-hc  \isual 
"5  output may include graphics. !ext. icons.\ ideo. and any com-
bination  !hereof (collectively  termed  "graphics").  In  some 
embodimcms.  some  or  all  of 1he  visual  omput  may  corre-
spond  lo  uscr-inlcrbcc objccls.  !i.n1hcr  dc!ails  of which  arc 
described below. 
a plurality ofcmnmunicalions standards. protocols and lcch-
no!ogics.  including  but  no!  limited  lo  (i!oba!  Syslcm  !(Jr 
Mobile Conununications (GSM).I:nhanc<.'d Dma GSM J:nvi- 30 
ronmem  (EDGE).  wideband  code  division  muhip!c  access 
(W-CDM.\).  code  division  muhiplc  access  (CDM.\).  lime 
di\ ision nmhip!c access                                                              Wireless l:idcl-
ity (Wi-Fi) (e.g ..  !! :1  ;! : X02.lla. !! ;I :1;  X02.  l I h.!! :1 ;I: X02.  II g. 
and/or  IEEE  802.lln).  voice over  Interne!  Protocol  (\'oil').  35 
Wi-M.-\X.  a  pr01oco!  for  email.  instant  messaging.  and/or 
Short  Messag.c  Service  (SMS)).  or  any  o1hcr  suitable com-
munication protocol. including communication protocols no! 
yc!  de\ eloped as of the Ji!ing date of this document. 
.-\  touch  screen  in  display sys1cm  112  is a  1ouch-scnsi1ivc 
sur!Ucc 1ha1 accepts inpmli"om the user based on hap1ic and/or 
tactile comac1.  The display  system  112 and  the  display con-
troller I 56 (along with any associa!cd modules and/or sets of 
inslmclions  in  memory  102) dc!ccl conlacl  (and  any  mmc-
mcnt  or breaking of 1he  contact) on  the display  sys1cm  112 
and converts !he deJected contact  into  intcrac1ion  wi1h  uscr-
imcrface  objL><::Is  (e.g. ..  one  or  more  soli  keys.  icons.  web 
pages or images) that arc displayed on the !ouch screen.  In an 
exemplary embodiment.  a  point  of conlacl  between a  !ouch 
scrL-cn  in  the  display sys1em  112 and the  user corresponds 10 
a  Enger of 1he  user. 
'1-hc !ouch screen in  the display system  I 12 may usc I.CI) 
(liquid  crystal  display)  technology.  or  I  PD  (light  cmiuing 
polymer  display)  technology.  although  other  display  IL'ch-
"111e  audio  circuitry  110.  the  speaker  111.  and  the  micro- 40 
phone 113  provide an audio intcr!Ucc  bc1wccn a user and the 
dL'\ icc 100. '1-hc  audio circuitry  I 10 rccci\cs audio data Jium 
the  peripherals  inlcrbcc  1 I8.  converts  the  audio  data  loan 
elcc!rical  signal.  and  transmits  the  elcc!rical  signa!  lo  the 
speaker 111  The speaker 111  converts the clec1rical sig.na! to 
human-audible  sound  waves.  The  audio  circuill)'  llO  also 
rccci\cs electrical  signals ctm\crtcd  by  the microphone  I 13 
from sound wmcs. rhc audio circuitry  I 10 converts the clec-
1rical sig.nalto audio daw and 1ransmi1s 1he audio daw 10  the 
peripherals  intcr!Ucc  118  Jix processing. .. \udio dma  may  be 
retrieved from  and/or transmilk'd 10  memO!)'  102 and/or the 
45  no!og.ies  may  be  used  in  other  embodimcms.  "111e  1ouch 
scrL-cn  in  the  display  system  ll2 and  1he  display  comrollcr 
156  may  delL><::!  conlacl  and  any  movement  or  breaking 
thereof using any of a plurality of touch sensing lcchno!ogics 
now  known  or !mer developed.  including.  but  not  limited  10 
Rl:  circuitry  I08  by  the  peripherals  inlcrbcc  1I8.  In  some 
embodiments. the audio circuitry  I I 0 also includes a head sci 
jack  (not  shown).  The  headse1  jack  provides  an  interface 
betWL'Cn  the  audio circuit!)'  110 and  removable audio  input/ 
output peripherals. such as output-only headphones or a head-
-;o  capacitive. resistive. infrared. and sur!Ucc acous1ic wave k><::h-
no!og.ies.  as  well  as  o1her  proximily  sensor  arrays  or  other 
dcmcnls !(Jr detctmining one or more points of con lac!  with 
a  !ouch  screen  in  the display  syslcm  1 I2.  A  louch-scnsili\c 
display in some embodiments of the display system  112 may 
sci  with both output  (e.g ..  a headphone ll1r  one or both cars) 
and input (e.g ..  a  microphone). 
'-'  be ana!og.ous 10 1he muhi-touch sensitive tablc1s described in 
the  !l1llowing  U.S.  Pal.  Nos.  6.323.X46  (Wcslcnmm  cl  a!.). 
6.570.557 (WcslcmJ<m cl a!.). and/or 6.677.932 (Westerman). 
and/or  U.S.  l'a!cnl  l'uhlicalion  2002/00!5024Al.  each  of 
"111e 110 subsystem 106 couples input/output peripherals on 
!he  device  100.  such  as  the  display  system  ll2  and  o1her  60 
input/control  devices  116.  lo  the  peripherals  intcrliJcc  1 I8. 
'1-hc  1/0 subsystem  I 06 may  include a display con!rol!cr  I 56 
and  one  or  more  input  controllers  160  for  o1her  input  or 
comro!  devices.  The  one  or  more  inplll  comrol!ers  160 
R><::civc/scnd elcc1rica! sig.nals  from/to  other input or comro!  65 
dL'\ ices I 16. rhc other input!contro! devices 116 may include 
physical  \muons  (e.g ..  push  bul!ons.  rocker  bul!ons.  clc.). 
which  is  hereby  incorporated  by  reference  herein  in  their 
emirc1y  llowevcr.  a  touch  scrL-cn  in  the  display sys1em  112 
displays\ isual output  !i"om  the pm1ahle device 100. whereas 
!ouch sensitive tablets do no! prm ide\ isual output. '1-hc !ouch 
SCR'Cn  in  !he  display  system  ll2 may  have  a  resolution  in 
excess  of 100 dpi.  In  an  exemp!al)'  embodiment. 1he  1ouch 
scrL-cn in the display system has a resolmion ofapproximately 
l6X dpi. '1-hc  user may makcconlacl with the !ouch screen in 
the display  system  112  using any suitable objL><::I  or append-
us 7,469,381  82 
13 
age. such as a  stylus. a  linger. and so J(n1h.  In  some embodi-
ments.  the  user interface  is  designed to work primarily with 
!ingcr-bascd contacts and gestures. which nrc  much less pre-
cise than stylus-based inplll due to the larger area ofcontact of 
a linger on the touch screen. In somccmbmlimcnls. the de\ icc 
translates the rough linger-based input into a  precise poin!erl 
cursor  position  or  command  for  pcrfonning  the  actions 
dcsir<..'d  by the  user. 
A  touch-scnsitin::  display  in  some  cmbmlimcnls  of the 
display  system  I 12  may  be  as  described  in  the  lllllowing 
applications: (l) U.S. patent application Scr.  No.  t t n X l . ~  13. 
"Multipoint Touch Surface Controller." H!<..'d  on May 2. 2006: 
(2) U.S.  patent application Scr.  No.  10/840.862. "Multipoint 
'!lmchscrecn." !!led on  May  6.  2(XJ4:  (3) U.S.  palenl applica-
tion  Ser.  No.  !01903.964.  "(jeslures  For  '!lmch  Sensitive 
Input  ])cviccs.''  tiled  on Jul.  30.  2(X)4:  (4) U.S.  patent appli-
cation  Scr.  No.  11/048.264.  "Gcslllrcs  1-'or  Touch  Sensitive 
Input  Devices.'' tiled  on Jan.  31. 2005: (5) U.S.  patent appli-
cation  Ser.  No.  ll/03X.590.  "Mode-Based  Ciraphica!  User 
lnlcrbccs For '!lmch  Scnsili\c lnpul  DL"\iccs."  Jiled  on  Jan. 
18.  2005:  (6)  U.S.  patent  application  Scr.  No.  11/228.758. 
"\lnua!  lnplll  Device  Placement  On..\  'li.1uch  Screen  User 
lnlcrbcc." Jiled on Scp.  I 6.  2005: (7) U.S.  patent application 
Scr.  No.  ll/22X.7(XJ.  "Operation  Of A  Computer  With  A 
'!lmch  Screen  !nterl'iJCc."  !!led  on  Scp.  16.  2005:  (R)  U.S. 
patent  application  Scr.  No.  1 !/228.737.  ".\ctivating  \lnua! 
Keys Of.\ ']i.Juch-Scrccn Virtual  Keyboard." tiled on Scp.  16. 
2005:  and  (9)  U.S.  palcnl  application  Scr.  No.  l 1/367.740. 
"Multi-Functional !land-! !c!d I )L"\ icc." Jiled on Mar. 3. 2006. 
14 
sources (e.g ..  hallcry. ahcmaling ctuTcnl  (AC)). a recharging 
system. a power failure detection circuit. a power convener or 
inverter. a power status indicator (e.g .. a  light-emitting diode 
(LFD)) and  any  other components associated  with  the  gcn-
5  cralion.  management  and  distribution  of power  in  pm1ahle 
devices. 
The  device  100  may  also  include  one  or  more  optical 
sensors  164.  1-'lG.  1 shows  an  optical  sensor coupled  to  an 
optical sensor controller 158 in  1/0 subsystem  I 06. The opli-
lCJ cal sensor 164 may include charge-coupled device (C'C! )) or 
comp!cmcnlary  metal-oxide  semiconductor  (CMOS)  pho-
totransistors. The optical  sensor  164  receives  light  from  the 
environment.  projected  through  one  or  more  !ens.  and  con-
vcJ1s  the light  lo  data representing an  image.  In  conjunction 
15  with  an  imaging  module  I43.  the  optical  sensor  I64  may 
capture still  images or video.  In some embodiments. an opti-
cal sensor is  !ocak'd on the  back of the device  100. opposite 
the touch screen display 112 on the from of the device. so that 
the  touch  screen  display  may  he  used  as  a  \ iL"\v!indcr  ll1r 
""  either still and/or video  image acquisition.  In  some embodi-
ments. an optical sensor is located on the front of the device so 
that  the  user's image may be obtained Jix vidL'<.lConfcrcncing 
while the user  views the other\ ideo conJCrcncc  p;u1icipanls 
on the touch screen display.  In some embodiments. the posi-
"5  lion of the optical sensor 164 can he changed by the user (e.g .. 
by  rotating the  !ens and the sensor in  the  device housing) so 
that  a  single optical  sensor  164  may  be  used along with  the 
touch  screen  display  ll1r  both  \ideo  conJCrcncing  and  still 
and/or\ ideo  image acquisition. 
AI! of these applications arc incorporated by reference herein  30 
in  their entirety. 
The  device  100  may  also  include  one  or  more  proximity 
sensors 166.  1-'lG.  1 shows a proximity sensor 166 coupled to 
the  peripherals intcrJUcc  118. Alternately. the  proximity sen-
sor  I 66  may he coupled loan input controller 160  in  the  110 
subsystem  106.  'l11c  proximity  sensor  I66  may  pcrllm11  as 
In  some embodiments. in addition to the touch screen.  the 
dL"\ icc 100 may include a louchpad (nul shown) ll1r acti\aling 
or dcacti\aling  p;u1icubr  functions.  In  some embodiments. 
the  touchpad  is  a  touch-sensitive  area  of the  device  that. 
unlike the touch  screen. docs not display  visual outpUl.  The 
touchpad  may  be  a  touch-sensitive  surface  that  is  separate 
from  the touch screen in  the display system  I 12  or an exten-
sion  of the  touch-sensitive  surl'i1cc  J(mned  by  the  touch 
screen. 
In some embodiments. the device 100 may include a physi-
cal  or \inual dick wheel  as an  input  control  dL-,.icc  I16.  A 
user  may  navigate  among  and  interact  with  one  or  more 
graphical objects (hcncd(Jnh  rcJCrred  lo as  icons) displayed 
in  the  display  system  112  by  rotating the  dick wheel  or  by 
moving a point of contact with the dick wheel (e.g .. where the 
amount ofmmcmcnl oflhcpoinl ofconlact is  measured by its 
angular  displacement  with  respect  lo  a  center  point  of the 
click wheel). The click wheel may also be used to select one 
35  described  in  U.S.  patent  application  Scr.  Nos.  11124UG0. 
"Proximity  Detector  In  llandhcld  Device."  tiled  Scp.  30. 
2(XJ5.  and  11/240.788.  "Proximity  Detector  In  llandheld 
lk\icc." Ji!cd  Scp.  30.  2005.  which arc hereby  incorporated 
by  rckrencc herein  in  their entirely.  In  some embodiments. 
40  the  proximity  sensor turns olr and disables the touch screen 
112 when  the  multili.mction device  is  placed  ncar the user's 
car  (e.g ..  when  the  user  is  making  a  phone  call).  In  some 
embodiments. the proximity sensor keeps the screen offwhcn 
the de\ icc  is  in  the user's pocket. purse. or other dark area lo 
45  prevent  unncccssm)'  battery  drainage  when  the  device  is  a 
locked state. 
In  some embodiments.  the soli ware cmnponcnls stored  in 
or  more  of the  displayed  icons.  1-'or  example.  the  user  may  '0 
press  down  on  at  !cast  a  portion  of the  dick  wlK-c!  or an 
associakd \muon.  Uscrcmnmands and na\ igalion commands 
provided by the user\ ia the click whee!  may he processed by 
memory  102  may  include an operating system  126.  a  com-
munication  module  (or  set  of instructions)  128.  a  contact/ 
motion module (or set ofinstructions) DO. a graphics module 
(or  set  of instructions)  B2. a  text  input  module  (or  set  of 
inslmctions) I 34. a (jlohall'osilioning System ((jJ>S) module 
(or set ofinslmctions) I 35. and applications (or set ofinslmc-
tions)  D6.  an inplll controller 160 as well as one or more oft he modules 
and/or sets of instmctions in memory  102.  For a virtual dick  '5  The operating system  126  (e.g ..  Darwin.  RTXC.  LINUX. 
wheel. the dick whee! and dick whee! controller may he pan 
of the  display  system  112  and  the  display  controller  156. 
rcspecti\ely. !:ora vi11ua!dick whee!. the click wheel may he 
either an op.1quc  or semitransparent  object  that appears and 
disappears  on  the  touch  scrL-cn  display  in  response  to  user 
interaction with  the dL-,.icc.  In  some embodiments. a  vi11ua! 
click  whee!  is  displayed  on  the  touch  screen  of a  ponahle 
muhili.mction  device  and  operated  by  user comacl  with  the 
touch screen. 
'll1c device  100 also includes a power system 162 for pow-
ering  the  \arious  components.  The  power  system  162  may 
include  a  power  management  system.  one  or  more  power 
UNIX. OS X. WIN!)OWS.or ancmhcddcdopcralingsyslcm 
such  as  \'xWorks)  includes  various  sollwarc  components 
and/or tlri\crs  ll1r  controlling and  managing genera!  system 
tasks  (e.g ..  memory  management.  storage  device  control. 
60  power  management.  etc.)  and  facilitates  conununication 
between various hardware and sollwarc components. 
The  communication  module  128  bci!ilalcs  communica-
tion  with other devices over one or more cxtcma!  ports  124 
and also  includes various software components for handling 
65  data received by the  Rl-'  circuitry  108 and/or the cxtcmal port 
124. rhc cxlcrna! port  I24 (e.g ..  Uni\crsa! Serial !Sus (US!S). 
FI!{I;WI!{I;.  ctc.)  is  adapted  ll1r  coupling  directly  lo  other 
us 7,469,381  82 
15 
tk'\ ices or imlircctly over a  network (e.g ..  the  !nlemcl. wire-
less LAN. etc.).  In  some embodiments. the cxtcmal port  is  a 
multi-pin  (e.g ..  30-pin)  connector  that  is  the  same  as.  or 
similnr to  and/or compatible with the 30-pin cOJUlCCtor used 
on il'od (trademark of Apple Computer.  Inc.) de\ ices. 
'!lu::  nmlacl/molion  module  BO may detccl  conlacl  with 
16 
alarm dock widget  149-4. dictionary widget  149-5. and 
other  widgets  obtained  by  the  user.  ns  well  as  user-
crcmed widgets 149-6: 
widget  crcmor  module  150  for  making  user-crcnted  wid-
gets  149-6: and/or search module  I 51. 
the  touch  screen  in  the  display  system  112  (in  conjunction 
with  the  display  comrol!cr  156)  and  other  touch  sensitive 
devices (e.g ..  a  touchpad or physical dick wheel). The con-
lact!molion  module  130  includes  various  so!lwarc  compo- lCJ
ncnls  ll1r  pcrllmning various operations  related  to  dch.x:lion 
I Oxamples  or other applications  I36 that may  be stored  in 
memory  102  include memo  pad and  other word  processing 
npplications. JA\:\-cnabled applicmions.  encryption.  digital 
rights mnnngement. voice recognition. nnd voice rcplicmion. 
In conjunction with display system  I 12. display controller 
156. contact module 130. graphics module I 32. and text input 
module I 34. the contacts module I 37 may be used to manage 
nn nddrcss book or contact  list.  including.  adding namc(s) to 
the  nddrcss  book:  deleting  name(s)  from  the nddress  book: 
of contact. such as determining if contact hns occurred. deter-
mining  if there  is  movement  of the contnct nnd  trucking  the 
movement across the touch screen in the display system  112. 
and  determining  ir the  contact  has  been  broken  (i.e ..  ir the 
contact  has  ceased).  I )etermining  mmement  or the point or 
contnct mny include determining speed (mngnitude). velocity 
(magnitude nnd  din.><::tion).  and/or an acceleration  (n  change 
15 
associating  telephone  numher(s).  e-mail  address(es).  physi-
cal address(es) or other inl(mJJation with a name: associating 
nn  imngc with n name: cntegorizing and sorting names:  pro-
viding telephone numbers or e-mnil addresses to initiate nnd/ 
or JUcilitatc conununicmions by telephone 138. video confer-
in  magnitude and/or dinxtion) or the point or contact. These 
operations may be applied to single contacts (e.g .. one linger 
contncts) or to  multiple  simultaneous contncts (e.g ..  "multi-
touch''lmultiple  !inger contacts).  In  some embodiments.  the 
contnctlmotion  module  130  and  the  display  controller  156 
also dehxts contact on a touchpad. In some embodiments. the 
contact/motion module I30 detects mmement or  one or more  "" 
objects  on  or  nenr  the  touch  screen  nnd/or the  touchpnd.  In 
some embodiments. the contact/motion module  130 nnd  the 
controller 160 detects contact on a dick wheel  116. 
""  ence 139. e-mail140. or IM  14I. and so  I(Jrth. 
In conjunction with  RF circuitry 108. audio circuitry  I 10. 
speaker  I I 1.  microphone  1 I 3.  display  system  112.  display 
controller  156.  contact  module  130.  graphics  m<Jdulc  132. 
nnd text inplll module  134. the telephone module  138 mny be 
used  to  enter  a  sequence  of characters  coJTesponding  to  a 
telephone number. access one or more telephone numbers in 
the  nddrcss  book  137.  modi!)  a  telephone  number  that  has 
been enten.>d.  din!  a  respective telephone  number.  conduct n 
conversation nnd  discomJcct or hang up when  the conversa-
'l11e graphics module B2 includes various known so!iware 
components  I(Jr  rendering  and  displaying  gwphics  on  the 
displny system  112.  including components  for changing the 
intensity  of graphics thm  arc displnyed. As  used  herein.  the 
term "graphics" includes nny  object  that  cnn  be  displny<..'d  to 
30  tion  is completed. :\s notL>d  abme. the wireless communica-
tion  may  use any of a plurality orcmnmunications standards. 
protocols and technologies. 
a  user.  including  without  limitation  text.  web  pages.  icons 
(such  as  user-interl'iJCe  objects  including  soil  keys).  digital  35 
images.  vid<.os.  nnimations nnd  the like. 
In conjunction with  RF circuit!)'  108. nudio circuitry  llO. 
spenker  111.  microphone  113.  display  system  112.  display 
controller  I 56.  optical  sensor  I 64.  optical  sensor controller 
158.  contact  module  130.  graphics  module  B2.  text  input 
'111c  text input  module  134. which mny  ben component of 
grnphics  module  132.  provides  soli  keyboards  for  entering 
text  in \arious applications (e.g .. contacts I 37. e-mail140. IM 
I41.  hlogging  142.  browser  147.  and  any  other  application 
40 
thm  needs text  inplll). 
module  134. contact list  137. nnd telephone module  138. the 
vid<.oconfcrencing  module  139 mny  be  used to  initiate. con-
duct.  nnd  terminate  a  video  conference  between  a  user nnd 
one or more other participants. 
In conjunction with Rl' circuitry  I08. display system  I I2. 
display controller 156. contact module 130. graphics module 
132. and text  input  module 134. thee-mail client module 140 
'111c G!'S module 135 determines the  locmion of the device 
and provides this  inlixmation for usc in  vnrious npplicmions 
(e.g ..  to  telephone  138  I(Jr  use  in  location-based  dialing.  to 
camera  I43  and/or  blogger  I42  as  picture/video  metadata. 
and to applicmions that  provide location-based services such 
as  weather  widgets.  local  yellow  p.1gc  widgets.  and  mnpl 
navigation widgets). 
'l11e  applications  B6 may  include the  J(JIIowing  modules 
(or sets or instmctions). or a  subset or superset  thereof 
a contncts module  137 (sometimes cnlkd nn nddrcss  book 
or contact  list): 
a telephone module  138: 
a video conferencing module  139: 
an  e-mail client module  140: 
an  instant messaging (1M)  module  I4I: 
a blogging module 142: 
a camern  module  143  for  still and/or video  imngcs: 
an  image manngcment module  144: 
a video plnyer module  145: 
a music plnycr module  146: 
a browser module  147: 
a calendar module  148: 
""ldget  nmdules  149. ""hich  may  include  ;eather  ""idget 
149-1.  stocks  widget  149-2.  calculator  widget  I49-3. 
45 
may be  used to  crente.  send.  receive. and mnnnge c-mnil.  In 
conjunction with image management module 144. the e-mail 
module 140 makes it  very easy to create and send e-mails with 
still or vid<.'O  imnges tnken with cnmcra module  143. 
In conjunction with RF  circuit!)'  108. displny system  112. 
,
0 
display controller 156. contact module 130. graphics module 
132. and text  input module I 34. the instant messaging module 
14I  may  he  used  to  enter  a  sequence  or characters  corre-
sponding to nn  instant message. to modi!) previously entered 
charnctcrs.  to  trnnsmit  a  respective  instant  message  (for 
'5  example. using n Short Message Service (SMS) or Multime-
dia  Message  Sen ice  (MMS)  protocol).  to  rL><::ei\e  instant 
messages  and  to  view  rL><::eived  instant  messages.  In  some 
embodiments.  transmitted nnd/or n.><::cived  instnnt  mcssnges 
may  include grnphics.  photos.  audio  Jiles.  video  Jiles nndlor 
60  other  attachments  as  are  supported  in  a  MMS  and/or  an 
l;nhanced  Messaging Service (I;MS). 
In conjunction with Rl' circuitry  I08. display system  I I2. 
display controller 156. contact module 130. graphics module 
132. text  inplll module  134. imnge manngement module  144. 
65  nnd  browsing module  147. the  blogging module  142 mny  be 
used to send text. still images.\ ideo. and/or other           to 
a  blog (e.g ..  the user's hlog). 
us 7,469,381  82 
17  18 
I Oach  or the above identilied modules and applications cor-
respond  to  a  set  of instructions  for  pcrlixming. one  or more 
Ji.mctions  described  above.  These  modules  (i.e ..  sets  of 
instructions)  nc<.>d  not  be  implemented  as  separate  software 
In conjunction with display system 1 I 2. display controller 
156. optical sensor(s) 164. optical sensor controller 158. con-
wet  module  130.  graphics module  D2. and  image  manage-
ment  module  144.  the  camera  module  14J  may  be  used  to 
capture still  images or\ ideo (including a  video stream) and 
store them into memory  I 02. modify characteristics of a still 
image or video. or delete a still  image or video from memory 
102. 
In conjunction with display system 1 I 2. display controller 
156.  contact  module  130.  graphics  module  132.  text  input 
module 134. and camera module 143. the image management 
module  144  may  be  used  to  arnmgc.  modify  or  otherwise 
manipulate. labeL delete. present (e.g ..  in a digital slide show 
5  programs, procedures or modules. and thus \arious subsets or 
these modules may be combined or otherwise re-arranged in 
various  embodiments.  In  some  embodiments.  memory  102 
may store a subset of the  modules and data structures identi-
Jicd  abmc.  Furthermore.  memory  I02  may  store additional 
lCJ modules and data stmctures not  described ahme. 
or album). and store still and/or video images. 
In conjunction with display system  1 I 2. display controller  15 
156.  contact  module  130.  g.raphics  module  132.  audio  cir-
cuit!)' 110. and speaker 111. the video player module 145 may 
be used to display. present or otherwise play back vid<.os (e.g. .. 
In  some embodiments.  the device  100  is  a  device  where 
operation  of a  prcddined  set  of Ji.mctions  on  the  device  is 
pcrlixmed exclusively  through a  touch  scr<.>cn  in  the  display 
system 1 I 2 and/or a touchpad. ISy using a touch screen and/or 
a  touchpad as the primary  input/control device  I(Jr  operation 
of  the  device  100.  the  number  of  physical  input/control 
devices  (such  as  push  buttons.  dials.  and  the  like)  on  the 
device  100  may  be reduced. 
The  predelincd  set  of Jimctions  that  may  be  pcrl(mncd  on the touch screen or on an cxtemaL connected display  via 
cxtema! port  124).  ""  exclusively  through  a  touch  screen  and/or  a  touchpad 
includes navig.ation between user intcrJUces.ln some embodi-
ments.  the  touchpad. when touched by the user.  navig.ates the 
device  I 00  to  a  main.  home.  or  root  menu  Jium  any  user 
In  conjunction  with  display  system  112.  display  system 
controller  156.  contact  module  130.  graphics  module  132. 
audio  circuitry  I 10,  speaker  11 I.  RF  circuitry  108,  and 
browser module I47. the music player module I46allows the 
user  to  download  and  play  hack  rccon.kd  music  and  other  "5 
sound Hies stor<.>d  in one or more !ile fonnats. such as MPJ or 
A \C !iles.ln some embodiments. the device 100 may include 
the  Jimctionality  or an  MPJ  player.  such  as an  il'od  (trade-
mark or Apple C"omputer.  Inc.). 
interliJCe  that  may  be displayed  on  the  device  100.  In  such 
embodiments.  the  touchpad  may  he  relCJTed  to  as  a  "menu 
button." In some other embodiments. the menu button may be 
a physical push button or other physical  input/control device 
instead ora touchpad. 
I'J(j. 2 illustrates a portable nm!tilimction device 100 ha\-
30  ing  a  touch  screen  112  in  accordance  with  some  embodi-
ments. The touch screen may display one or more graphics. In 
this  embodiment.  as  well  as  others  dcscrib<.>d  below.  a  user 
may select one or more of the graphics by  making contact or 
In  conjunction with RF circuit!)' 108. display system 112. 
display system controller 156. contact module  130. graphics 
module  132. and text  input  module  134. the  browser module 
I47 may be used to browse the lntemct. including searching. 
!inking  to.  recci\ing.  and  displaying web  pages  or  portions 
thereof. as well as attachments and other Hies  !inked  to  web  35 
pag.cs. 
touching the graphics.  I(Jr example. with one or more lingers 
202 (not drawn to scale in the  Hgurc).  In  some embodiments. 
sckction ofoneor more graphics occurs when the user breaks 
contact with the one or more graphics. In some embodiments. 
the contact may  include a gesture. such as one or more taps. 
one or more swipes (li-om  !eli  to  right.  right  to  !eli.  upward 
In  conjunction with RF circuit!)' 108. display system 112. 
display system controller  I 56. contact module 130. graphics 
module 132. text  input module  134. e-mail module  I40, and 
browser module 147. the calendar module 148 may be used to 
create. display. modi!).  and store calendars and data associ-
ated with calendars (e.g ..  calendar entries. to  do lists, etc.). 
40  and/or downward) and/or a rolling of a  !inger (from  right  to 
ldi.  left  to  rig.ht.  upward  and/or  downward)  that  has  made 
contact with the de\ ice I 00.  In some embodiments, inadveJ1-
ent  contact  with  a  graphic  may  not  select  the  graphic.  For  In  conjunction with RF circuitry 108. display system 1 I2. 
display system controller  I 56. contact module 130. graphics 
module 132. text inplll module 134. and browser module 147.  45 
the  widg.ct  modules  149  arc  mini-applications  that  may  be 
downloaded and used by  a user (e.g  ..  weather widget  I49-I. 
stocks  widget  I49-2.  calculator  widget  149-3,  alarm  dock 
widget  149-4. and dictional)' widget  149-5) or created by  the 
user (e.g. .. user-created widget  149-6). In some embodiments.  '0 
a widg.ct  includes an  IITMI  (llypcrtcxt  Markup  Language) 
Jile. a CSS (Cascading Style Sh<.-ets) Jile. and a JavaScript Ji!c. 
example. a swipe gesture that sweeps mer an application icon 
may not  select  the corresponding application when the  g.cs-
ture corresponding to  selection is a  tap. 
The  device  I 00  may  also  include  one  or  more  physical 
buttons,  such  as  "home" or menu  button  204.  As  described 
previously.  the  menu  button 204 may be used  to  navigate to 
any  application  136  in  a  set  of applications  that  may  be 
executed  on  the device  100 .. \!tcrnatively.  in  some embodi-
ments,  the menu button is implemented as a soli kl:y in a (jlJJ 
in  touch screen 1 I2. 
In one embodiment. the device 100 includes a touch screen 
In some embodiments. a widget includes an XMI  (I Oxtensible 
Markup  Language)  !ile  and  a  JavaScript  !ile  (e.g. ..  Yahoo! 
Widg.cts).  '-'  112. a menu  button 204. a push button 206  for powering.  the 
device on/off and locking the de\ ice,  and \o!ume adjustment 
button(s) 208. The push  button 206  may he used  to  tum  the 
power  on/off on  the  device  by  depressing  the  button  and 
In  conjunction with RF circuitry 108. display system 1 I2. 
display system controller  I 56. contact module 130. graphics 
module 132. text input module 134. and browser module 147. 
the widget creator module 150 may be us<.>d  by a user to create 
widgets (e.g ..  turning. a  uscr-spcci!i<.>d  portion of a web pag.c  60 
into a widget). 
In  conjunction  with  display  system  1 I 2.  display  system 
controller  156.  contact  module  130.  graphics  module  132. 
and  text  input  module  134.  the  search  module  151  may  be 
used  to  search  for  text.  music.  sound.  imag.c.  video.  and/or  65 
other  Jiles  in  memory  102  that  match  one  or  more  search 
criteria (e.g ..  one or more uscr-spccilied search terms). 
holding. the button in the              state for a predcHn<.>d  time 
interval:  to  lock  the  device  by  depressing.  the  button  and 
releasing  the  button  bel(Jre  the prcdelined  time  interval  has 
elapsed:  and/or  to  unlock  the  device  or  initiate  an  unlock 
process.  In  an  alternative  embodiment.  the  device  100  also 
may accept verba! input for activation or deactivation of some 
Ji.mctions  throug.h  the  microphone  113. 
Attention  is  now  directed  towards  embodiments  of user 
interliJCes ("UI") and associated processes that may he imp!e-
us 7,469,381  82 
19 
mcntcd  on a  pm1ahk:  mul!i!lmction device  100 and/or on  a 
device  1700 wi1h  a  touch-screen display (FIG.  17). 
!-'I G. 3  i!lustrntes an cxcmplm)' user intcr!Uce Jix unlocking 
a ponab!cdcctronic device in accordance with some embodi-
ments.  In some cmbmlimenls. user in!crliJCc 300 includes the 
l(JI!owing ek:mcnls. or a  subset or supersc!lhcrcor: 
Unlock  image  302  that  is  mov<..'d  with a  Hng.cr  gesture  to 
unlock the device: 
Arrow 304 that provides a  visual cue lo the unlock gesture: 
Channel  306  that  prm ides  additional  cues  lo  the  unlock 
gesture: 
Timc308: 
Day 310: 
Datc312:and 
Wallpaper image 314. 
In  some embodiments. the device detects contact with the 
touch-sensitive display  (e.g ..  a  user's  Hng.cr  making contact 
20 
menu  bunon enables a  user to access any desired application 
with at  most  two  inpllls.  such as activnting.  the  menu  button 
204 nnd then activming. the desird applicmion (e.g. ..  by n tap 
or other ling.er gesture on the  icon corresponding. to the appli-
5  cation). 
In some embodiments.  Ul  400 provides  integrat.._-d  access 
to  both  widget-basL-d  applications  and  mm-widget-hased 
npplications.  In  some  embodiments.  all  of  the  widg.ets. 
whether user-crented or not. are displayed in Ul400.  In other 
lCJ embodiments.  acti\ating  the  icon  ll1r  user-creak-d  widget 
149-6  may  lead  to  another  Ul  (not  shown)  that  contains  the 
user-crented widg.ets or icons corresponding to  the user-cre-
med widg.ets. 
In some embodimems. a user may renrrange the icons in Ul 
15 
400. e.g ..  using processes descrih.._-d  in  U.S. patent application 
Ser  No.  II 1459.602. "Portable I ;kx:tronic lkvice With Inter-
on  or ncar  the  unlock  image  302) while  the  device  is  in  a 
uscr-interbce lock stale. The de\ ice moves the unlock image 
302 in accordance with the contact. rhe de\ ice transitions to  "" 
a  user-imerface  unlock  stme  if  the  detecl<-'<1  contnct  corre-
bee  RLx:tmliguration  Mode."  lik-d  Jul.  24.  2006.  which  is 
hereby  incorporated  by  reference  herein  in  its  entirety.  1-'or 
example. n user may move application icons in and om of tray 
408 using linger gestures. 
In  some  embodiments.  Ul  400  includes  a  gauge  (not 
shown) that  displays an  updated account  usage metric  ll1r  an 
nccount  associal<-'<1  with usage of the device  (e.g. ..  n cellular 
sponds  to  a predefined  g.esture.  such  as  moving.  the  unlock 
image across channel  306.  Conversely.  the device maintains 
the  user-interbce  lock  state  if the deh.:cted  contact does  not 
correspond  to  the  preddined gesture.  As  noted  above.  pro-
cesses  that  use  g.estures  on  the  touch  screen  to  unlock  the 
device  nrc  described  in  U.S.  patelll  npplication  Ser.  No. 
II 1322.549. "Unlocking a  I kvice by Perll1rming (iestures on 
an  Unlock  Image.'"  Jiled  DLx:.  23.  2005.  which  is  hereby 
incorpornted  by  reference herein in  its entirety. 
1-'lG. 4 illustrntes an exemplnry user inter!Uce  for a menu of 
applicmions on n portable muhili.mction device in accordance 
with  some embodiments.  ln  some emhmliments.  user  inter-
liKe  400  includes  the  ll1llowing  dements.  or  a  subset  or 
superset thereof: 
Sig.nal  strength indicator 402  for wireless communicmion: 
Time404: 
ISallery  status  indicator 406: 
1-ray  408 with icons  ll1r  lfequently used applications. such 
ns one or more of the l(lllowing.: 
Phone  138: 
1;-mailclient140. which may include an indicator410of 
the number of unread e-mails: 
Browser 147: and 
Music plnyer  146: nnd 
Icons  ll1r  other  applicmions.  such  ns  one or  more  of the 
ll1llowing: 
IM  141: 
lmag.e  mnnag.ement  144: 
Camern  143: 
VidL'O  plnyer  145: 
Weather  149-1. 
Stocks  149-2: 
Blog.  142: 
Calcndnr 148: 
Calculator 149-3: 
Alann dock  149-4: 
Dictionary  149-5: and 
User-cremed widg.et  149-6. 
In  some embodiments. Ul  400 displays all  of the nvnilable 
applications  136  on  one screen  so  that  there  is  no  ne.._-d  to 
scroll through a  list of applications (e.g  .. \ ia a scroll bar or via 
a swipe  g.esture).  In  some  embodimems.  as  the  number  of 
applicmions  increases.  the icons corresponding to the  nppli-
cntions  may decrease  in size  so thm  nil  npplications mny  be 
display.._-d  on  a  single  screen  without  scrolling.  In  some 
embodiments.  having  all  applications  on  one  screen  and  a 
"
5 
phone nccount). ns  described  in  U.S.  patem npplicntion Ser. 
No.  111322.552. ".-\ccoumlnlixmmion Display 1-'or  l'ortnblc 
Communication  De\ice."  Jiled  Dec.  23.  2(X)5.  which  is 
hereby  incorporat.._-d  by  rekrence herein in  its entirety. 
As discuss.._-d above. Ul400 may display all of the mailable 
30 
npplications  136 on  one  scrL>cn  so  that  there  is  no  JK>cd  to 
scroll  through  a  list  of  npplications.  However.  in  some 
embodiments  a  touch-sensitive  display  may  include a  (iUI 
with one or more windows that display only a portion of a list 
of items  (e.g ..  inlixmmion  items)  or of nn  electronic  docu-
35  ment. In response to detecting a movement of an object on or 
near the touch-sensitive displny. the list mny be scrolld or the 
dectnmic document may be translated.  I kt.._x:ting the mme-
ment  of the object  may  include determining  spLx:d  (magni-
tude). velocity (mag.nitude and direction). and/or an accelera-
40  tion  (including  mngnitude  and/or  dirLx:tion)  of the  object. 
Scrolling through the list  or translating the document may he 
accderat.._-d  in  response  to  an  accelerated  movement  of the 
ohjLx:l.  In  some embodiments. the scrolling and acceleration 
of the  scrolling..  or translntion and nccderntion of the trnns-
45  lmion.  may be in  accord.1nce with n simulation of n  physical 
device hming liiction.  i.e ..  damp'--d motion.  For example. the 
scrolling or translation  may correspond  to  a  simulation of a 
ll1rce law or equation of motion having a mass or inertial term. 
ns  well  as  a  dissipmive  term.  In  some  embodimems.  the 
,
0 
simulation  mny  correspond  to  a cylinder  rotming.  nbom  its 
aXIS. 
In  some  embodiments.  accelerated  movement  of  the 
dekx:t.._-d  obj'-x:l  may  include an  accderat.._-d  movement  of a 
point ofcomnct followed by n brenkingofthe point ofconwct. 
'-'  For  exnmple.  the  user  may  make  comact  with  the  touch-
sensiti\e display.  swipe or sweep  one or  more of his or her 
lingers  along  the  display  (i.e ..  move  and/or  accelerate  the 
point  of contact).  and  optionally.  break  the point  of contact 
with the displny.  i.e ..  move the one or more ling.ers away from 
60  the  display  The swipe or  sweep  mny  be  nlong n  predefined 
axis of the touch-sensitive display or may be within a  prede-
letmined angle of a  preddined direction on  the touch-sensi-
tive  displny.  In  other  embodiments.  the  accelerated  move-
ment  of the  point  of contnct  may  include a lirst  user g.esture 
65  oriemed alongn predefined nxisofthe touch-sensitive display 
or  oriented  within  a  predetetmin.._-d  angle  of a  prL-ddined 
dirLx:tion on the touch-sensitive display. 
us 7,469,381  82 
21  22 
letter  in  the alphabet  that  has  one  or  more  entries.  In  some 
embodimcms.  the  scrolling  may  be  in  accordance  with  a 
simulation of an equation of motion having friction. 
The  scrolling  may  include  scrolling through  a  respective 
Scrolling through the list of items or  translating the dec-
Ironic  document  may  be  li.1rthcr  accdcrm<..-d  in  response  to 
detection of a  second  movement of an object  on or ncnr the 
touch-sensitive display. such as a second sweeping motion of 
the  point  of contact  along  the  preddincd  axis  or within  the 
predetermined angle of a  preddincd din.x:lion  on  the touch-
sensitive display and/or a s<..>cond  user gesture oriented along 
the  prcdc!incd  axis  or within  the  prcdctcnnincd  angle  of a 
prcddim:d  direction  on  the  touch-scnsitin::  display.  For 
example. the user may swipe one or more ofhis or her !ingcrs 
along the louch-scnsiliH:: display two or more times. 
5  inl(mJJalion item subset  if the point of conlacl  mmes o\er a 
corresponding respccli\e index  item  in  the index items. The 
scrolling  may  have  an  associmcd  scroll  speed  based  on  a 
spc<.-d of movemem oft he point of contact over the respective 
index  item and  the number of items  in  the inl(mJJalion  item 
lCJ subset  corresponding  lo  the  resp<.><:li\e  index  item.  For 
example. the scroll speed may he li1sler  ll1r  subsets that  ha\e 
more  cmries  than  subsets  with  fewer  cmries.  The scrolling 
may  include  scrolling  through all  items  in  a  plurality of the 
inl(mJJalion  item  subsets  in  response lo  the point ofconlacl 
"111c  scrolling throug.h  the  list of items or the  translmion of 
the electronic document may be stopped in  accordance with 
the user hrcaking the point ofconlacl and then cslahlishing a 
suhslanlia!!y stationary point  of contact with the touch-sen-
sitive display form least a pre-determined period of time. For 
example. alicr swiping one or more of his or her Hngers along 
the touch-sensitive display and breaking the poimofcontact. 
the  user  may  touch  the  display  and  hold  the  one  or  more 
!ingcrs  that  arc touching  the display  stationary  (or appmxi- "" 
mmcly stationary) Jixone or more seconds. or fractions of a 
SL'COnd. 
15  mm ing over the corresponding index  items  in  the displayL'<i 
index. 
]fit is  determined  that  the  point of contact with  the  index 
corresponds to a respective index item in  the  index.  the  list of 
inl(mJJalion items may he scrolled loa corresponding subset 
of the  list  of inl(mnalion  items.  For  example.  if the  user 
sck>cts an  index item. such as the  letter 'R'. in the set of index 
symbols.  the  list  of items  may  be  smoothly  scrolled  to  the 
corresponding  subset  ll1r  the  letter  'R'  in  the  list  of items. 
:\llernalivdy.  the  displayed  list  of inl(mJJalion  items  jump 
"!lJc direction of scrolling or translation may he reversed in 
response lo inters<.>cling a \ irlual boundary corresponding lo 
a  leJminus of the list or an edge of the electronic document. 
The scrolling reversal or translation reversal  may correspond 
to  a  d.1mpcd  motion.  For  example.  during  scrolling.  a  dis-
played pm1ion oft he list of items may appear lo bounce off  of 
"5  dir<-><:lly  Jiom  a  cuJTenl  scroll  position loa scroll  position  in 
which information items corresponding to the index item 'R' 
arc displayed. 
In the present document. the term "il" may he construed lo 
mean '\\hen." or "upon." or "in response lo determining." or  a boundary of the window in the louch-sensili\edisplay when 
a beginning or an end oft he list of items is rcach<.'d. Similarly. 
during translation. a display<.'d portion oft he electronic docu-
ment may appear to bounce oll" of a boundm)' oft he window 
in  the touch-sensitive display when an edge of the document 
is  reached. The apparent  bounce may coJTespond  loa simu-
lation of a viscous or clastic ball  having momemum in a  !irsl 
direction striking an immovable and/or inelastic object. such 
as a wall. The subs<.'<.juem motion oft he documem (the motion 
30  "in  response  to  detecting."  depending  on  the  comcxt  Simi-
larly. the phrase "if it  is determined" or "if[a stated condition 
or event 1  is detected" may  be construed to mean "upon deter-
mining" or "in response lo determining" or "upon detecting" 
the slated condition orevenl. or"in response lo del<->cling" the 
35  stated condition or event. depending on the  comext. 
If the  poim  of contact  with  the  touch-sensitive  display 
corresponds  to  a  user  selection  of a  respective  infonnation 
item in the list ofinl(mJJalion items. inl(mnalion coJTespond-
ing lo  the respL><:live  inl(mJJalion  item  may  he displayed  on 
of which coJTesponds lo  the hal!  in  the                anal-
ogy) may he damped.  !(Jr example. by  including a  friction or 
dissipmivc term in the simulation . .-\ parameter corresponding 
to  the  friction  term  in  the  simulation  may  be  adjustable. 
allowing  the document  lo  reach  <-'<.juilihrium  in  contact  with 
the vi11ual  boundary. or displaced  limn  the\ irlual  boundary. 
40  the  touch-sensitive display.  For example. if the  user selects a 
respective name. the corresponding comact  information may 
he displayL'<i. 
While scrolling through resp<.><:li\e  inl(mJJalion subsets. an 
index symbol may displayed in nmjunclion with each respcc-
45  tive  informmion  item subset.  In  some embodiments.  respec-
tive index symbols may be display<.'d adjaccmto correspond-
ing subsets (such as displayed lexl) oft he list  of inl(mnalion 
items.  In some embodiments. a resp<.><:li\e  index symbol may 
be  displayed  at  an  upper  edge  of a  window  comaining  the 
In smneemhodimenls movement of the point ofconlacl by 
the user over an index on the  touch-sensitive display may be 
determined.  In  some  embodimems.  the  index  may  be  dis-
played in a lirsl region or a !irsl window of the louch-sensili\e 
display while the list of items or in!(mnalion items during the 
scrolling  may  be  displayed  in  a  second  region  or a  second 
window of the  touch-sensitive display.  The displayed  index 
may have a S<-'<.jUenceofindcx items. In an exemplm)' embodi-
ment. the SL'<.jUence  of index  items may include letters  in  the 
alphabet.  i.e ..  the  index  may  include an  alphabetical  index. 
The  list of informmion  items may  include an alphabetically 
ordered list of infonnation items. The alphabetically ordered  '5 
list ofin!(mnalion items may include conlacl in!lmnalion. !(Jr 
example.  in a  user's conlactlisl or address book. 
'0  displayed text  of the  resp<.><:tivc  inli.mnation  item subset. 
In  response lo movement oft he user's point ofconlacl over 
a displayed  index.  the list of inllxmation items on the touch-
sensitive  display  may  be  scrolled.  The  list  of  inlixmation  60 
items  may  include  a  sequence  of inllmnalion  item  subsets 
corresponding  lo  the  sequence of index  items.  The subsets 
may  include one or more cmcgorics.  For example.  a resp<->c-
tivc  cmcgory  may  include  contact  inllxmmion  for  one  or 
more individuals whose Hrsl and/or last names begin with one  65 
or more respective letters.  such as the letter 's'.  In  an exem-
plary  embodiment.  there  is  a  subset  corresponding  lo  each 
The  index  symbol corresponding to  a resp<.>ctivc  inli.mna-
lion subset may he translucently displayed mer the respccli\e 
inl(mJJalion  item  subset.  The  translucently  displayed  index 
symbol  may  have  a  different  li.1nt  color  than  that  used  to 
display  text  in  the  inli.mnation  item  subset. and/or it  may be 
displayed using a larger Jlmllhan the l(ml usL'<i  lo display texl 
in  the inl(mnalion  item subset. 
If the  list  of inl(mnalion  items  contains  no  items  ll1r  a 
particular index symbol. i.e ..  no emrics li.1r a particular subset. 
a  lirst index symbol prcc<.'ding a particular index symbol and 
a  second  index  symbol  l(JIIowing  the  index  symbol  may  he 
displayed  in  ctmjunclion  with  scrolling  through  the  list  of 
information items from the inli.mnation subset corresponding 
to  the  lirst  index  symbol  to  the  information  subset  corre-
sponding  to  the  second  index  symbol.  The  particular  index 
symbol  may  nol  he  displayed  in  nmjunclion  with  the  dis-
played  lcxl of the list ofinl(mJJalion  items during the scroll 
:np puo.\:1q IO:.'"OJI' tm'i!m.\qdsl( 1 p:1q:m:u s1  SI1U!Ul.l:ll :lt]l :1mpq 
f:"JSf :l.JI1)S:l'i! :ld!'<\.S :l![JJO .\qds1p u:nDs tp110J :l![l uo fhh'"Ods  I' 
lll puods:JJJO::I ,\r,m ([9-\"9 "S!)[:J U!  U.\\llljS      ;)ljlJll                
;)tjl'i!Uppr,;).J  0)  .!O!Jd           ilUHJ<.U::IS  r,  ";)jdUWX;)  .!O:J  ");)..'"Ofqo 
;)ljl  JO  )lWUWAlllU  Jll  p;);)tfS  r,  lll                   Wljl  p;);)tfS  'i!m 
-nons fA'"Oli'!::IOSSI'           Sl'l(       :ll[lJO SI1U!UU:lll' 'i!U!lPI':lJ  OJ 
JO!Jd UO!P:tHp        :ll(l  U!  'i!mnons                   :llUOS Uj 
-p;)tpe;).J  09 
              ;)tjl           tTSf               ;)dt.\\S  ;)tjl  ,\q  ,\ejds]p 
U:l:Jns  tp11o1  :lt]l  uo                            1'  tmtp  SS:lj  :1q  .\1m1 
tp!l]\\ "8fSf            I' .H:J                 S!  JS!J  :ll[l p.-..tpt,:l.J    SI1U!Ul 
J:l) :lljl  .!:llJl'  ".)9  "!)):]  ll!  ":ljdlUI,X:l  JO:]  "fA'"Olpi!.'"OJ  Sl              
;)ljl  .1;)\I!J  )J;)fqo  ;)ljl  JO  )U;)lU;)MllU  Jll  ;);)Ur,JS!p  r,  U!Jljl          
   Wljl                                                 r,  .!OJ  UO]l;)..'"O.!]p  )s.!!J 
:ll[l u!                             JSI( :lljlJO           :lt]l ptm.\:Jq 
1':1.11'  tm  'ilm.\l'[dS!(!  p.-..tpl,:tl  s1               :l![l  :tHlpq  tJSf 
;).Jil)S;)f.           ;)lj)  ,(q            U;);).J::IS  tplllll  ;)ljl  UO                
;)::IUr,Jstp  e  01                  .(em ([9-\"9         m  U.\\Ot[S  lS!i  ;)tjl  0> 
Jll SllU]m.J;)) ;)ljl f.U]tpP-;).1  0) .!Opd                           r,  ";)jdtu!JX;) 
.10:]        :ll(l.JO               :ll(l  Timtpl,:l.J  OJ  .Hl!.!d  p:1fqo :lljl JO 
                           I' OJ                 Wl[l                        
p;)Jr,pmse  ls.!!J  e            ;)t[l  JO  snu]m.J;)l  ;)tjl  'ilmtpe;).J  01 
.!Opd Ull]l::l;).!!p         ;)ljl  U!                            ;)lUOS  U[ 
  
(pzsl 
.\l'[dS!P  U:J.."U:lS  tp110J  :ll[l  uo p.-...\qds1p  :11!p.-..  tm  OJ  JO  .\l'[dS!P 
U:l:lJ::IS tp110):lljlJO:l'i!fA'"O tm OJ  fA'"Ol(:li'Jll'                    O).ll,:lddl' 
)S]j  ;)ljlJO SllU]m.J;))  ;)ljl            p.-..,\ejdS!p .J;)f.UO[  OU     lS!j  ;)ljl 
Jll SHU]UU;)J  ;)ljl  puo.(;)q !J;).J!J  ;)ljl  j!)U!l  UO!lJ;).!]p  pUO;)..'"OS  ;)ljl  U!  Ot 
JS!(                     OJ  UO!)J:l.I!P        :lljl U!  JS!J                UllU.J 
:J'i!tmtp :l![l  s]u:Jtmpoqm:J :1mos  UJ  (zzs)  uo!1om  p.-..dump  1' 
      Ull])J;).!!p pUll;)..'"OS  ;)ljl U]               S!  lS!j ;)lj)"SHWtmpoqtu;) 
;)mos  Uj  "(OZS)  p.-...\ejdstp  .J;)'i!UO[  OU  S]  lS!i  ;)ljl  Jll              
;)ljl  puo.(;)q  e;).Je  ;)ljl  [!lUll  Ull!)::l;).!!p         ;)ljl  ;))!SOddo  Ull!)    
-:J:JJIP  pum:1s 1'  u!  p:lJFU:ls  S!  stu:JJI .JO  JS!J  :lt]l                     
![:llllll :ll[J.m:lU JO UO  fA'"OJ:h'"OPp  J:l'i!UOJ  OU  S!  p:1fqo :lljl J:ll.JV 
":l:l!.\:!p           
[11m :l]qlnJod 1'     :l:l! \:!p :lt]l  "SJU:ltmpoqm:J       UJ            1' 
S!  J;)..'"Ofqo  ;)ljl                         Uj  "(ZOS) ;)::I!A;)p  r, JO         
            tpnoJ e         .10 uo p;)JJ;)J;)p S]  J::l;)fqo ue.1o JU;)tu;)Mljii,J 
p;)tpe;).J  U;);)q  SP-tj       r,  Jll SllU]m.J;))  e  )etjl         r, 
OJ  JO]IDipU!                  I'        \ll.ld  nOS plll(PlU :ll(.!.          
-1poqm:1        l[ll\\  :l:Jtmp.Jm:ll'  u!  JS![  1'  qTimut]l            
JO  nOS  poqpm  I'  'ilU!li'JlSI1[[!  Ull!l'ili'!P  \\OtJ  I'     S  "!)!:] 
"().J;)Z 
        ;)q  ,\em )!  pjOljS;).Itjl .J;).\\0[  r,             ,\)1::10[;)1\  ;)ljl tWlJ/1:\ 
"'}(,<;"  .{q                      .{lml.{J!:lOj:l.\ :ll(l Jl'\J:l)U!                     
tplo:.'"O  u!             .ro.-1  p.u:1d1'1 :1q .\1m1                .10           
:lljl .JO  ,{]DOj:l.\  :ll(l  "Pl')Ull:l :lljl.JO 'i!U!)jl':l.llJ  :lljl  OJ  JO!Jd       
-.J;))U]  ;)lUll ;).JOlU .Ill ;)Ull U]  .\)!:Ill];)\ ;)ljl .!OjpUe UO]Jr,.!;)j;)::l::le ;)ljl 
UO  p;)sr,q ,\)1::10[;)\  ;)ljlJO UO]WU]m.J;)j;)p                                  
                     m                 :1mos U[  uo!Jqstm.JJ m  Tiu! 
[[ODS :ll[l.JO UO!P:l.I!P JO  S!XI'  tm 'i!UO(I'  p:lJ:h'"Ol(ud  :llJ .\I'm UO!l 
             e  tpns m                    .1o;pue                ;)tiJ.  je.U;)JU] 
;)m]J  ;)UO  se tpns ";)lUll  p.-..sdep  tm  S]  111  pue U;))jO.Jq               
;)ljl  U;)lj.\\  UO]Jr,.!;)j;)::IJe  ;)ljl  JO  ;)!lje,\  )lW.J.JnJ  r,     e  "lW'jO.Jq 
Sl  PI'JUO:l :lljl U:llj\\ ,{]DOj:l.\ :li(JJO :li1Jl'\ ]U:tl.JI1:ll' S! 
0
.\ :l.J:llj\\ 
"1\W+".<  't 
      
p;)U]m.J;)j;)p ;)q .(em pe)Ull::l 'ilm'je;).Jq .!;)lJe Sje,\.J;))U] ;)lU]l ;).JOlU 
.10  ;)UO               .10 'i!U!iill.!::IS JO fi\ ,(J]JO];)\ ;)ljl  ";)jdUWX;) .!ll:J 
"PI')UllJ:lljlJO'i!U!'jl':l.JlJ :lljl O).lllUd              :llUI) :tlOlU JO:lUO 
m  .{J!:lO(:l\ :lt]l .10  p.-..:Jds :lt]l put' UO!ll'.l:JP:l:Jt' :lt]l u! :J'i!tmtp :l![l 
tjll.\\ ;)::ltmp.!O::IJB  m  ;)q ,\em            ;)tjl           .\ueuo]Jdo       
r,  .1;)\I!J                 .10               ;)ljl                   ;)mOS  U[ 
"[P-A.I;)JU]  ;)m]JJU;)nb..-..sqns  e  .1o;pue ilu]p;)J;).Jd  e  U] 
p:lU!Ul.!:!pp            Ull  fA'"OSI'lJ  p:lp:Jfll.ld :llJ .\1m1  JOfPut'  (1!\.J:l)U! 
:lUl!l               :l![l .!OJ  S:llU!l :lJOUl JO  0\\l fA'"OU!llll:lPp  :llJ .\I'm 
UO]Jr,.!;)j;)::IJB  .!OjpUe  ".\)!:Ill];)\           ;)ljl                 ;)S;)ljl 
UJ                )llU  .10  p.-..dd!'jS  ;).Je  S;)tue.!J  ;).Jllm  .10  ;)Ull  U;)lj.\\ 
se      p;)Sil     ;)Je.J  ;)mP-.!J  ;)jqeueA r,  U;)lj.\\ tWA;)  p;)U]m.J;)j;)p 
";)J!tj.\\  ;).Je           p;)JS][  ;)tjl JO                  ;)tjl  pue 9fSf 
        ;)tjl  t[Joq  .)9  "Di:i  m  ";)[dmex;)  .!O:J  (8JS)                  
;)ljl  lUO.!J  )JU!)S]pU]  ,\nenst,\         ;)ljlJO SHU]UU;)J  ;)ljl  puo,\;)q 
1':1.11' :ll(l ptm pu110.Rl'j:Jl'q I' SI"J  SUl:l)!JO JS!(  :ll(l "S)U:ltU!pOlJlU:l 
:lUlOS  UJ  "(9JS)  :lll![.1.          :lljl  JO               :lljl  ptm.\:Jq 
e;).Je ;)tjl  s)U;)m]poquw ;)tum UJ  s[mm;) JO       'ilmpuods;).J.JO::I 
;)ljlJO             ;)ljl       pur, m;)J]  lS.!!J  ;)ljl S]  S;)Ullf UO.IP-\"  mll.!J 
tfSf J!l'lU:l :l![l     . !)!:! U!             .lll_.j  "Ul:ll!        :lljl JO lU:l)l 
)S.l!J  :ll(l J:ll]l!:l                 :ll(l  put' Ul:ll!        I'  ptm lU:l)l  )S.l!J  I' 
         :Jt]l  "SJU:Jtmpoqm:J       UJ  (tiS s:JA-o IS) p:1.\1'[ds!P 
OC  :1q .\1m1  UO!JIO.!:!p:l:ll' .Hl;ptm .\J!:lOj:l.\             :lljl                  
      UJ  .\l'[dS!P 1qo s L<J !()"() s1'  1p11s ":JWJ :JUH!l.JI'JO :JSJ:l\U! 
ue 01               Je.U;)JU!  ;)tU!l  ;)A]l;)..'"OdS;).J  e  ;).J;)tj.\\             
;)m]l ;),\!) .J;)Ml p;)U!lU.J;)J;)p ;)q ,\em UO]Je.!;)j;)::IJe .!Ofplm .()!JOj;)A 
"P;);)dS  ;)ljl  ")U;)tU!poqtu;)  .\Jejdtu;)X;)  Ue  U[                 ;)m]l 
,:c  jlOJ:l\:lS  'i!U!.!11p  fA'"OU!lUJ:!pp              :J'i!l!l:l.\1'  :llU!ll' :llJ  ,\I'm 
         :ll(.!. "PI'JUO:l.JO )U!Od I'.JO )U:lUl:l.\OUl.JO p:h'"OdS        l(:li1S 
p;)fqo  p;)JJ;)J;)P  e  JO  JU;)tu;)Mltu JO            e  tjl!.\\                    
U!  ;)q  ,(r,m  UO]lejSlW.J)  .10                             ;)mOS  U[ 
   lSI[  ;)t[l  JO             ;)tjl  puo.\;)q  e;).Je  ue                          
l[Jillll  ;)ljl  .J!J;)U  .10  UO  fJ<'"OlJ;));)p  ii!lS     )J;)fqo  ;)ljl  ;)jllj.\\  Ull!) 
-:J..')JIP        :Jt]l  u!       :Jt]l             :!]It]\\        :Jt]JJO             "" 
:ltp'i!mtpl,:tl uod11  TI:1)  p.-..tpl,:tl  S!  JSI(  :l![l.JO  SI1U!UU:lll' .11 
"(80S) Ull!)::I]JJ 
'i!m,Wtj Ull]lOlU JO UO!Wilb;) UP- J 0              r,  lj)].\\ ;)::ltmp.!O::I::Ie 
U]               S!  lS!i  ;)ljl  "SJU;)tutpoqtu;)  ;)mos  U[  "(90S)  J;)..'"Ofqo 
:ll[l.JO JU:lUl:l.\OUl.JO           I'  O]'i!mpuods:JJ.lll:l fA'"O:lds               >'l 
fA'"Oll'!:lOSSI'  tm  sm.]  )SI(  :ll(l  .JO  SI1U!UU:l)  I'  Timtpt,:l.J  OJ  JO!.!d 
Ull!)::l;).!!p  )s.!!J  ;)ljl  U]  )S!i  ;)ljl               "SHWtmpoqtu;)         
            
:1q         :lljl U!             .l:lll'( :lSlll':l ,\I'm .mq          :ll(l UO  PI'JUO:l 
JO JU!Od  :lljlJO )U:llU:l\OlU p.!I,\\U\\Op I' Sl,:l.J:llj\\                 :llJ 
        ;)ljl U]  S;)UJU;).J;)!j.!e;) ;)SileJ ,(r,m .Jeq iill.!::IS ;)ljl UO  J::leJUOJ 
JO 1mod  e  JO  JU;)tu;)Alltu              ue U;)t[l  p;)sn     .1eq         e 
Jl                 :lUI OS  Uj  "JI'lJ  nons l(:li1S  .{tm .JO  )U:lpU:Jd:!pU! 
:1q  tm:J :tl:l![                             .10             :Jt(l  "lSI(  p.-...\qd 
     :l![l  1(11\\  uo!pu11fmn  m  p:l.\l'[dS!P :1q  .{[[l'!lU:lJOd  pj110:J 
.Jeq           r,  ;)jllJ/1:\                   )lWUHlJOp ::I!UO.JP;)j;) .10      ;)ljl 
tp!lj.\\ U]  .\\OpU].\\ ,\ejdS]p r,  U]lj)].\\ ;).J;)lj.\\,(Ue lj!ed r, 'i!UOJ e  ";)::I!Jj 
       s,.\l'[dS!P :lljll]l!.1.  PI'JUO:l  ll!  JO  JI'!.'"OU "Ulli]Otu  Tiu!plj'il  JO 
ol                    1' :1p11pu!  .\1m1  ptm               :Jm<.UJ:h'"O(:l              
.10  )S!i              ;)ljlJO dO) UO  .(jlJ;).!]p p;)UUOj.J;)d ;)q  ,\em UO]l 
-e.J;)dO                                 ;)lj) Ull  Ull!)Om                        
;)liJ.         iill.!::IS  'i!m,\ejdS!p  lllOljll.\\  S;))!J.J;)dO  ;).J;)lj            
U[  "UO]l;)..'"O.!]p  je)UOZUlllj  r,     UO]l;)..'"O.!]p  lS.!!J  ;)ljl  "SHWtmpoqtu;) 
J:llj)O        U!  :UO!P:tHp Jl':l!P:l.\       Ulll]:l:l.!lp        :ll(l  "S]U:lUl 
!POlJUl:l  :lUlOS  UJ  "S'j.Jiml'jOOlJ .JO       I'  JO           umq]l' JO 
JS!(I' "S:lUO)'i!U!.I.JO                                  JO )SI(I' "S:lSS:l.!pp1' 
I!P-UWJO  lSI[  e               JWm;)JO )S!i  r,             )S]j  r,  "(lSI[ 'jllllq 
          .Ill  lS!i  )J!JlUO::I  e                            Ull!)P-UUOJU]  pe) 
Ull:l .JO       I' "S.l:llJUlllU :lUO!jd :ll!.I0\10J.JO       I' "SUO!li"J:l.\Ull:l 
:J'i!I"S:llU  ]lW]SU!  JO       I'     SUl:ll!  JO  JS!(  :ll(l  "S)U:ltU!pOlJlU:l  ,: 
;)mos  Uj  "([9-\"9  "SDJ:i  U]                                  j!etu;) 
Jll       e  S]  lS!i  ;)ljl                 ;)tum  Uj  "(f:"OS)  UO]l;)..'"O.!]p 
ls.!!J  e  U]                 ,\ejds]p  U;);).J::IS  tpno)  ;)tjl  uo  p;),\ejds]p 
        .JO  )SI(  I'  "]U:llU:l.\OUl  :ll(l  'i!U!P:!Pp  OJ               Uj 
t<: 
S)U:lUlll:lOp  :l!UOJP:l(:l  .JO  UO!JqSutOJ)  :ll(l                   
       ll!  .{(JI'(IlUIS  "JI'lJ  [[ODS  I'  'i!m.\qtfs1p  ]110l(l!l  S:l)IOJ:ldO 
;).J;)t[                         lSI[  ;)t[l  snwunpoqtu;)  ;)tuos  U[ 
         X;)pU!  .Jej!l::I!UL>d  ;)ljl               
OU  SUJelUOJ SUWl! Ull])etu.!OJU!Jll      ;)ljl U;)lj.\\ p.-..dd!'jS ;)q ,\em 
]Oqm{s X:!pU!                I' .JO  .{l,jdS!P  ":ljdlUI,X:l .Hl:[  "l('illllUI(l 
<: 
zs  !8t'69v'L sn 
us 7,469,381  82 
25 
terminus  of the  list  includes  scrolling  the  !is!  in  the  !irs! 
direction nt  n second nssocintcd  scrolling speed. The second 
associm<..-d  scrolling sp<..-cd  is  slower than 1hc  !irst nssociatcd 
scrolling spc<..'d.  For cxnmp!c. in  FIG.  6C. displaying the area 
3536 beyond the terminus of the list may include scrolling the 
list at a spc'--d that is slower than the scrolling speed b c l l m ~  the 
terminus  is  reached.  In  some embodiments. the  second nsso-
cimcd speed  is  a  fmction  (e.g ..  one-half or one-third) of the 
!irs!  associated  spc-.xi.  In  some  cmbmlimcnls.  the  second 
associated  speed  is  the  square  nml  of the  Jirsl  associated 
speed. 
]fa terminus of the list is not reached while scrolling the list 
in  the !irs! direction while the object is still detected on or ncnr 
the  !ouch  screen  display.  the process  500  is  complc!c  (510-
No,  512).  The  process  500  may  he rc-initiatcd  upon  subse-
quent detection of another movement of an  object on or ncar 
the touch screen display (502). 
26 
upward  and/or  vc11ically  downward  swipe  gestures  on  the 
touch screen.  In the example o!TIG. 6..\. a portion of a list of 
emails  is  displayed  in  the  screen  area.  including  a  top  dis-
played email 3530 from Bmcc Walker and a bottom displayed 
.< email  3532  !ium  Kim  Brook.  :\  user  pcrl(mJJs  a  \crtically 
downward swipe gesture 35141o scroll toward the lop  of the 
list.  The vertically downward gesture 3514. which may be  a 
linger gesture. corresponds to  the movement of an  obj<..'CI  on 
or ncar the !ouch  screen  !hal  is  dekc!cd  in  operation  502  of 
lCJ process 500 (FIG.  5). The vc11ically downward gesture 3514 
nL"--d  no! he exac!ly vc11ical: a substantially \erlical gesture is 
suflicient.  In some embodiments. a gesture within a predeter-
mined  angle  of being  pcrlCctly  vertical  results  in  vertical 
scrolling.  In one embodiment. a gesture within 27  degrees of 
l'i  being per!L'Ctly  \erlical  results  in  \ertical scrolling. 
As  a  result  of dck'Ciing  the  vertically  downward  gesture 
3514.  in  FIG.  6B  the  displayed  cmails  have  shilk-d  down. 
such that the previous boll om displayed cmai13532 from Kim 
Brook  is  no  longer  displayed,  the  previous  lop  displayL-d 
""  email  3530  limn  Bmce Walker is  now second  !i-om  the lop. 
and  the  email  3534  li"om  .\aron Jones.  which  was  not  dis-
played in  1-'lG.  6..\.  is  now display<..'<im  thetopofthe list. This 
shilling of emails is an example of the scrolling dcscrihL-d  in 
1-'lGS.  6..\-6]) illustrate the scrolling of a  list  of itcms to  a 
lcrminus of the lis!.  a!  which point an area h:yond the lcJmi-
nus  is  displayed  and  the  list  is  then  scrolled  in  an opposite 
direction  until  the  area  beyond  the  terminus  is  no  longer 
displayed.  in  accord.1ncc  with  some  embodiments.  While 
Fl(iS.  6:\-6]) illuslralc this scrolling in  the context of a  por-
table mul!i!i.mclion de\ icc  I 00, this scrolling is not  limited lo 
pm1ahlc  muhili.mclion  devices.  In  the  example  of  Fl(iS.  "" 
6.\-6D.  the  listed  items  arc  email  messages:  FIGS.  6.\-6]) 
illustrmc an cxcmplmy user intcrlUcc 3500.\ for managing an 
inhox in accordance with some embodiments. An analogous 
user inlcrliJCc may he used lo display and manage other mail-
boxes  (e.g  ..  dralis.  sent.  trash.  personal.  etc.).  In  addition. 
other types of lists arc possible.  including but  not  limited  to 
lists  of install!  message conversmions.  favorite  phone  num-
bers.  conlacl  in!lmnalion.  lahds.  email  ll1ldcrs.  email 
addresses.  physical  addresses,  ringloncs.  album  names  or 
bookmarks. 
operation 504 of process 500 (FIG.  5). 
In  this example.  the email  3534  limn  Aaron  Jones  is  the 
!irs! email in the  list and thus is the terminus ofthc list.  Upon 
reaching this cmai13534.  in  response to continued detection 
of the vc11ically downward gesture 3514. an area 3536 (FKi. 
6C) above  the lirsl  email  3534  (i.e ..  beyond  the k'rminus of 
30  the  list) is displayed. as described in opcrmion 514 of process 
500  (1-'lG.  5).  In  some  cmbodimems.  the  area  displayed 
beyond the  tcnninus of the list  is  visually  indistinctli"om the 
background of the list. as  dcscrihL-d  in  operation  518 of pro-
cess  500  (FKi.  5).  In  FKi.  6C.  both  the  area  3536  and  the 
35  background  of the  cmails  (e.g ..  cmails  3534  and  3530) arc 
white and thus arc visually indistinct.  In  some  embodiments.  user  interface  3500..\  include  the 
ll1llowing dements. or a subset or supcrsctthcrcof: 
402. 404, and 406. as described ahmc: 
Once vertically downward gesture 3514 is complete.  such 
a  creak email  icon  3310  that  when  acliva!cd  (e.g ..  by  a 
linger tap  on  the icon) initiates display of a  Ulto create  40 
a  n<..'W  email message: 
!hal a  cmTcsponding object  is  no  longer dc!ec!L-d  on or ncar 
the  !ouch  screen  display.  the  list  is  scrolk-d  in  an  opposik' 
dir<..'Ction  umilthe area 3536 is  no  longer displayed.  FIG.  6]) 
illustrates the result of this scrolling in  the opposite direction. 
mailboxes  icon 3502  !hal when acliva!cd (e.g ..  by a  linger 
lap on the icon) initiates the display of a Ul  listing email 
mailboxes (i.e  ..  ll1ldcrs): 
which corresponds lo operation 520 of process 500 (FKi. 5): 
the email 3534 li"om  Aaron Jones  is  now  displayed a!  the lop 
of the screen area alloi!L-d  lo the list  and the area 3536 is  no! 
unread  messages  icon  3504  thm  displays  the  mnnbcr  of  45  displayed. 
unread messages in  the  inbox: 
names 3506 of the senders of the email messages: 
suhjcc!lincs 3508 !l1r the email messages: 
dates 3510 of the email messages: 
In  the  example  of FIGS.  6..\-6]).  a  vertically  downward 
gesture resulted in display of an  area beyond the lirsl item  in 
the list.  Similarly.  a  \erlically  upward gesture may result  in 
unread  message  icons  3512  that  indicate  messages  thm  '0 
have  not  been opened: 
display  of an  area  beyond  the  last  item  of the  list.  if the 
vertically  upward  gesture  continues  once  the  list  has  been 
scrolled  to  the  last  item.  The  last  item  may  be  considered a 
pr<..'\ i<..w  pane separator 3518 that separates the list of mes-
sages  !ium a  pr<..'\i<..w  of a sekc!cd message in  the list: 
scllings icon 3520 that when activated (e.g ..  by a linger tap 
on  the  icon)  initimcs  the  display  of a  Ul  to  modify  '5 
lcJminus  of the  list.  similar  lo  the  lirsl  item.  As  discussL-d 
ahmc.  the  gesture  need  no!  he  exac!ly  \crtical!o  result  in 
vertical  scrolling.  a  gesture  within  a  prcdelincd  range  of 
angles  li"om  per!Cctly  vertical is  sullicicnt. 
scllings: 
move  message  icon  3522  thai  when  acliva!ed  (e.g  ..  by  a 
linger  lap  on  the  icon)  initiates  the  display  of a  Ul  lo 
move  messages: 
Del etc  symbol  icon  3524  that  when  activated  (e.g  ..  by  a 
linger lap on the icon) initiates display of  a Ul!o con linn 
!hal the user wants lo  dde!c the sekc!cd email: 
Reply/Forward  icon 3526 thm  when activated  (e.g ..  by  a 
linger tap on the  icon) initiates display of a Ulto sckct 
how  to  reply or lixward the sdcck-d email: 
If the list ofcmails lills more than the allollcd screen area. 
the  user  may  scroll  through  the  cmails  using  \erlically 
In some embodiments, instead of scrolling a list of items in 
one dimension.  a  user  may desire  lo  translate an  electronic 
document in two dimensions.  If the ekc!ronicdocumcnl lills 
more  than  the  screen area  allolled  to  display  the  document. 
60  the  screen  will only display a  portion of the  document.  The 
user may translate the ekc!ronic document  lo  viLw  pm1ions 
of the document thai  are no!  initially displayed. 
1-'lG.  7  is  a  !low  diagram  illustrating  a  method  700  of 
translating an electronic document  in  accordance with some 
65  embodiments. The method 700 provides a simple visual indi-
cator lo  a user !hal one or more edges of an dec!nmic docu-
ment are being display<..-d. 
us 7,469,381  82 
27 
Mon::mcnl of  an objccl is dc!cc!cd on or ncar a !ouch screen 
display of a device (702). In some embodiments. the obj<  ..  ><::t is 
a  !ing.cr.  In  some embodiments. the device is a  ponab!c mul-
tili.mction device. 
28 
associated translating distance is less than a distance ofmme-
mcnl  of 1he  object  nlicr  reaching.  1he  edge of 1he  ck><::lronic 
documem.  For exnmplc. in  FIG.  8C. allcr the cdg.c  is reached 
the  web  pag.c  3912  is  translated  by  a dislnnce  indicmcd  by 
In  response to dc!ccling the mo\cmcnl. an dcc!nmic docu-
ment displayed on the touch screen display  is  lranslatcd in a 
!irst  direction  (704 ).  In  some  embodiments.  the  electronic 
document  is  a  web  page.  us  i!lustrntcd  in  FIGS.  8..\-8]).  In 
some  embodiments.  the  dcc!ronic  document  is  a  digital 
image.  In  some embodiments.  the ck:clronic  document  is  a 
word  processing.  sprcadshccl.  email.  or  pn::scnlalion  docu-
ment.  In  some embodiments.  the  !irst  direction  is  a  vertical 
direction.  a  horizontal  direction.  or  a  diagonal  direction.  In 
some  embodiments.  the  Jirsl  direclion  corresponds  lo  the 
direclion  of movement of the objccl dc!ec!ed on or near the 
disp!ny  bll!  is  no!  necessarily  idemica!  to  the  din.><::tion  of 
movement of the  objecl. 
5  opposing arrows 302R-I  and 302R-2. which may be less  than 
a distance traversed on the !ouch screen display by the swipe 
g.cslurc  3925 nlicr 1hc 1cnninus  is  renched. 
In  some  cmbodimems.  translating  in  the  Hrsl  direction 
prim lo reaching an L'tlgcofthc ek><::lronicdocumcnl has a !irs! 
lCJ associated  translating  speed  that  corresponds  loa speed  of 
mmemenl of the objccl.  For example. a spcL'tl  of translation 
prior  10  renching  !he  edge  of !he  web  pag.e  3912  shown  in 
FIGS. 8:\-SD may correspond to a speed of movcmemofthc 
swipe gesture 3925.  Displaying an area  beyond  the edge of 
15  the  elcc!ronic  document  includes  translating  the  ek><::lronic 
documem  in  the  !irs! din.><::lion  m n  second nssocintcd  1rnns-
ln some embodimems.lranslaling 1he electronic documem 
in  the Jirsl dircclion prim lo reaching an L'tlgeoftheck><::lnmic 
document has an associa!L'tl speL'tl of translation correspond- "" 
in g.  to  n  speed  of movcmem  of the  object  (706 ).  In  some 
embodiments. the electronic document is 1ransln!cd in accor-
dance  with  a  simulation  of an  equation  of motion  ha\ing 
friclion  (708). 
lming.  sp<.-cd.  The  s<.><::ond  nssocintcd  1rnnslming  speed  is 
slower  than  !he  !irs!  nssocintcd  1rnns!nting.  speed.  For 
example.  in  FKi.  8C.  displaying  the  area  3930  beyond  the 
edge of the web page 3912  may  include translating the web 
page 3912 ala speed that  is  slower than the  speed of transla-
tion  bclixc  the  edg.e  is  rcnchcd.  In  some  embodiments.  the 
SL><::ond  associated  spL"L'tl  is  a  Ji-aclion  (e.g ..  one-half or one-
third) of the !irs! associated spL"L'tl.  In some embodiments. the 
!fan edge of the elcc!ronic document is reached (e.g .. upon 
renching  the  edge  of  the  documem)  while  1rnnslming  the 
c!ec1ronic  document  in  the  Hrsl  din.><::lion  while !he object  is 
still  de!L><::IL'tl  on  or  ncar  the  !ouch  screen  display.  an  area 
bL")'tmd  the  L'tlge  of the  elec!nmic  document  is  displayed 
(710-Ycs.  714).  In  some embodiments.  the  area  beyond  the 
cdg.c  of1hc c!cc1ronic document  is  black.  g.ray.  a solid color. 
"5  SL><::ond  associated speed is the square roo!  of the Jirsl associ-
mcd sped. 
If an  cdg.c of the electronic documelll is  no!  reached while 
translating thedec!nmic document in the Jirsl direclion while 
the objecl is still detcc!L'tl on or near the !ouch screen display. 
30  the  process 700 is complete (710-No. 712). The process 700 
may  be  re-ini1intcd  upon  subs<.'<.juem  deJection  of nnothcr 
movement  of nn  object  on  or  ncar  the  touch  screen display 
(702). 
or while  (716).  In  some embodimems.  the  area  beyond  the 
L'tlge of the elec!ronic document  is  visually distincl  Ji-om  the 
document (718). I'm example. the area 3930 b9ond the L'tlge 
of1he web png.c  3912  in  FIG. 8C  is  black.  in  comrnsllo  the  35 
while  bnckg.round  of  the  web  pngc  3912.  In  some  o1her 
embodiments. a wn!!paper imag.e such ns n picmrc or pnnern 
may be displayL'tl in  the area beyond theL'tlgc oftheck><::lnmic 
document. 
Aller 1he object  is  no  !ong.cr de1cctcd  on or ncar 1he  touch  40 
screen  disp!ny.  the  c!cc1ronic  documem  is  1rnnslm<.-d  in  a 
s<.><::tmd  dircclion  until  the area bL")'tmd  the edge of the el<.><::-
lronic document is no longer displayL'tl (720). l'mcxample. in 
FJ(i. 8]) the web page 3912 has been translated such that the 
area  3930  beyond  its  cdg.c  is  no  longer  displnycd.  In  some  45 
embodiments. the s<.><::ond  direction is opposite 1he Hrsl din.><::-
tion.  In some embodiments. the elec!nmic document is lrans-
la!L'tl  in  the second dircclion using a damped motion (722).  In 
some  embodiments.  the  chnnge  from  translating  the  ck><::-
1ronic  document  in  the  Hrs1  din.><::lion  10  1rans!nting. 1he  ck><::- '0 
Ironic documem in 1he second direction umil1he nrcn  beyond 
the  L'tlge  of the  ek><::lronic  document  is  no  longer displayed 
makes  the  edge  of the  elcc!ronic  document  appear  lo  be 
clns1ica!!y mwchcd to nn  cdg.c  of 1he  touch sen.-en  disp!ny or 
10  nn edg.e displayed on the 1ouch screen display (724).  '5 
In  some  embodiments.  translating  in  the  Jirsl  dinxlion 
prim lo reaching an L'tlgeoftheelec!nmic document has a Jirsl 
associa!L'tl!ranslating distance that  corresponds loa distance 
of movcmem  of the object  prior to  reaching.  the  edg.e  of the 
c!ec1ronic documenl. For example. n distance oflranslationof  60 
the web page 3912  shown in  FJ(iS.  8A-8D prim lo  reaching 
the edge of the document  may correspond loa distance Ira-
versed on !he !ouch screen disp!ny by the  swipe gcsmre 3925 
before the cdg.c  is  renched.  In some embodiments. displnying 
an area beyond the  cdg.c of the c!cclronic document  includes  65 
translating the elcc!ronic document in  the Jirsl dircclion ll1r  a 
SL><::tmd  associa!L'tl  translating  distance.  wherein  the  second 
FIGS.  8A-8D  illuslralc  the  translation  of an  ek><::lronic 
documemto an edge ofthc documem. m which point nn nrcn 
beyond the <.-dge  is displny<.-d and 1hc documcm is then 1rnns-
lmcd  inn second din.><::lion  until 1hc  area beyond 1he edg.e  of 
!he document is no longerdisplayL'tl. in accordance with some 
embodiments.  While FJ(iS.  8:\-8]) illuslralc this  translation 
in  1he  contcx1  of n  porwblc  muhili.mction  device  100.  this 
translation is  notlimi1<--d to portnb!c muhili.mc1ion devices. In 
the example  of FIGS.  8:\-8]).  the  document  is  a  web  page 
3912: FKiS. 8A-81) illuslralc an exemplary user intcrli1ce ll1r 
a browser in accordance with some embodiments. :\n <malo-
g.ous  user  intcrJUcc  may  be  us<.-d  10  display  o1hcr  types  of 
electronic documems. such ns word processing.. spreadshcel. 
emaiL  prescnlalion documents. or digital images. 
In  some  embodiments.  user  inlerbce  3900:\  of  FIGS. 
8:\-SD includes the following. c!emcms. or n subset or super-
sci !hereof: 
402. 404. and 406. as describ<.-d  above: 
Previous  page  icon  3902  that  when  acliva!L'tl  (e.g ..  by  a 
linger lap on  the  icon)  initiates display of the pre\ious 
web pag.c: 
Web  pag.e  name 3904: 
Next page icon 3906 !hal when aclivated (e.g ..  by  a  linger 
lap on the icon) initiates display of the next  web page: 
URI.  (Unillmn  Resource  I ocalm)  entry  box  3908  ll1r 
inpulling URI .s of web pag.es: 
Refresh icon 3910 1hnt when nc1ivated (e.g ..  by n Enger tap 
on  the icon)  initiates a reli-esh of the web page: 
Web  page  3912  or other  slmclurL'tl  document.  which  is 
mndc  of blocks 3914 of1ex1 content nnd  other grnphics 
(e.g ..  imag.cs): 
Senings icon 39161hm when nc1ivated (e.g .. by a Hng.cr tap 
on  the icon)  initiates display of a  sellings menu  ll1r  the 
browser: 
us 7,469,381  82 
29 
ISookmarks icon .WI8 that when acli\ated (e.g .. by a  linger 
tap  on the  icon)  initintes display of a  bookmnrks list or 
menu  for the browser: 
30 
until  the area J9JO is no  longer displayed. I'Ki. 81)  i!!uslrales 
the  result of this  trnnslmion. wllich corresponds to  operation 
720  of process  700  (I'IG.  7):  block  9  (3914-9)  is  now  dis-
played  in  the  lower  right-hand  corner of the  portion  of the 
Add  bookmark  icon 3920 that  when  activmcd  (e.g ..  by  a 
linger lap on the icon) initiates display of  aU! l(Jr adding 
bookmarks: and 
New  window  icon  3922  thm  when  activated  (e.g ..  by  a 
Enger tap on the icon) initiates display of a Ul for adding 
nL'\\"  windows to the browser. 
In  some embodiments. the tk'\ icc analy /CS  the render tree 
of the web page 3912 lo de!cJminc the blocks 3914 in  the web 
pag.c.  In  some embodiments.  a  block 3914 corresponds to  a 
render node thm  is:  replaced: a  block:  an  inlinc block:  or an 
5  screen a!!oncd to display the web page J91 2 and the area J9JO 
no!  displayed.  In  some embodiments.  the dircclion of trans-
lation is no!  necessarily opposite lo the original direclion hut 
may  be  in  any  direction  such  thm.  upon  completion  of the 
translation.  the  nrcn  beyond  the  <..'dgc(s)  of  the  ck><::tronic 
lCJ document  is  no longer displayed. 
FIG.  9  is  a  !low  diagram  illustrating  a  process  900  of 
displaying an dec!nmic document hm ing a document length 
nnd  a documcm  width.  in  accordance  with  some  cmbodi-
in! inc table. 
In  I'Ki. 8A. the web page Ji!!s more than the a !lolled screen 
area:  only  the  left  sides  of block  7  (J914-7)  and  block  8 
(J914-8) arc displayed and only the top !eli corner of block 9 
(J914-9) is display<..'<!.  To view the pania!!y display<..'<!  blocks. 
mcnts. "ll1c process 900 provides n simple visunl  indicmor to 
15 
a  user  that  an  elec!ronic  document  is  being  disphtyL-d  a!  a 
minimum  magnilicalion (e.g ..  the ek><::lronic  document  can-
no!  he /oomL-d out and/or dcmagni!iL-d  !i.1rlher). 
a user may translate the displayed document by gesturing on 
the !ouch screen in accordance with  some cmhodimenls. 
ln  some cmbodimcms. in response to a substantially verti-
The  process  900  is  pcrllHmcd  a!  a  dL'\ ice  with  a  !ouch 
""  scrL>en display  In some embodiments. the device is n portnbk 
mu!tili.mction  device.  In  some  embodiments.  the  ck><::tronic 
cn!  upwnrd (or downward) swipe gcsmrc by the user.  the web 
page  (or.  more  generally.  other  elec!ronic  documents)  may 
lransla!e  one-dimensionally  upward  (or  downward)  in  the 
\ertica! dircclion.  In  some embodiments. a gesture is consid- "5 
crcd substantially verticnl if it  is within a prcdctcrmincdnngle 
of being  pcr!Cctly  vertical.  For  example.  in  response  to  nn 
upward  swipe gesture  by  the  user  that  is  within  a  prcde!cr-
mined angle (e.g ..  27")  of being  pcr!Cc!ly  \erlical.  the web 
pngc  mny  scroll  onc-dimcnsionnlly  upward  in  the  venicn!  30 
direction. 
document  is  a  web  page  (e.g ..  web  page J912.  FJ(iS.  IOA-
10C).  In  some  embodiments.  the  dec!nmic  document  is  a 
digital image. In some embodiments. the electronic document 
is  a  word  processing.  sprcndshcct.  cmnil  or  prcscmation 
documcm. 
Thedec!nmic document  is  displayL-d (902) a!  a !irs! mag-
ni!icalion on  the !ouch  screen display.  A  gesture  is  dc!ec!L-d 
(904) on or ncar the !ouch screen display corresponding loa 
conunand  to  zoom out  by a uscr-spcciHcd  amount.  In  some 
cmbodimcms. the  gesture  is  n pinching gcsmrc (e.g ..  gesture 
J951/J95J.  FJ(i.  lOA). 
In  response  lo  de!ccling the gesture.  the dec!nmic docu-
ment  is  displayL-d  (906) a!  a  magni!icalion  less  than the !irs! 
magnification.  For example. the web page J912 is shown m a 
lesscrmngniHcation in  FIG.  lOB  thnn  in  I'IG.  10.-\. 
Conversely. in some embodiments. in response ton gesture 
that  is  no!  within a  pn.-de!cJmined angle (e.g ..  27") of being 
per kelly  vertical.  the  web  page  may  translate  two-dimen-
sionally (i.e .. with simultaneous movement  in both the verti- 35 
en! nnd horizontal directions). For cxmnplc. in response to nn 
upward swipe gesture  by  the user thm  is  not  within a prcdc-
lermined angle (e.g  .. 27") of being per kelly \crlica!. the web 
page may translate lwo-dimcnsiona!!y along the din.:clion of 
the swipe. 
If the documcm  length  or document  width  is  not cmirdy 
displayed  (908-No) while  the gesture  is  sti!!  dc!ec!L-d  on  or 
near  the !ouch  screen  display.  the  process  900  is  comple!e 
40  (910). 
In  the example of I'IG. 8.-\. nn  upwnrd swipe gesture 3925 
is  no!  within a predc!ermincd angle of being per!Cc!ly  \erli-
cal.  nlercll1rc.  as  a  result  of dc!ecling  the  upward  swipe 
gesture J925. the web page is lransla!L-d in two dimensions. In 
this cxnmplc. the trans!ntion is approximmcly diagonal.  FIG.  45 
8B illustrates the  result of tills trnnslmion:  blocks 8 (J914-S) 
and 9 (J914-9) arc now  !i.J!!ydisplayed: blocks 1 (J914-1) and 
2  (J914-2)  are  now  only  parlia!!y  displayed.  and  block  J 
(3914-J)  is  no  longer displnycd at  all. This trnnslmion  is  nn 
cxmnple of the trnns!mion described in opcrmion 704 of pro- '0 
cess 700 (I'IG.  7). 
In  FJ(i.  81S.  block  9  (J914-9)  is  in  the  lower  right-hand 
corner oft he web page J912: both the bol!om and right edges 
of the web pngc have  been rcnch<..'d  while trnns!nting the web 
pngc.  Upon  reaching  these  edges  of  the  document.  in  '5 
response lo  continued deh.:clion of the upward gesture J925. 
an area J9JO (FJ(i. 8C) beyond the hollmn and right edges of 
the  web  page  is  displayed.  In  some  embodiments.  the  area 
disp!nycd  beyond  the  cdgc(s)  of an  electronic  documcm  is 
visually distinct from the document. ns described in opcrmion  60 
718 of process 700 (l'l(i. 7).  In l'l<i. 8C. the area J9JO is black 
and thus is visua!!y distincl  !i-om  the while background of the 
web page J912. 
Once  the  upwnrd  gesture  3925  is  complete.  such  that  a 
corresponding  obj<.><::t  is  no  longer  detected  on  or  ncnr  the  65 
!ouch screen display. the web page J912 is lransla!L-d (e.g ..  in 
a  direclion  opposile  lo  the original  dircclion  of translation) 
][however. the document length (e.g .. J957.1'1G.  lOB) or 
documcm width (e.g  ..  3959.  FIG.  lOB) is  entirely displayed 
(908-Yes) while the gcsmrc (e.g ..  3951/J95J) is still detected 
on or near the !ouch screen display. thedec!nmic document is 
displayed  (912)  a!  a  magni!icalion  wherein  areas  beyond 
opposite edges of the  electronic  document  (e.g ..  areas 3955. 
FIG.  lOB)  arc displayed. 
In some embodiments. the nrcns beyond opposite L'<igcs  of 
the elec!ronic document include an area beyond a lop Lxige of 
the document and an area h9ond a hollmn Lxige of the docu-
mcnt.ln some cmbodimcms. the areas beyond opposite edges 
of the  electronic  document  include  nn  nrcn  beyond  a right 
edge of the documcm nnd  nn  nrcn  beyond a !ell  edge  of the 
document.  In some embodiments. the areas h9ond opposile 
edges oftheck><::lnmic document include an area beyond a lop 
edge of the document.  an  arcn  beyond n bot1om  edge  of the 
document. nn nrcn  beyond a right edge of the document. nnd 
nn nrcn  beyond n !eli edge of the documcm (e.g  ..  I'IG.  1  OB). 
In some embodiments. the areas hL')"tmd  opposile Lxigcs of 
the  ck><::lronic  document  are  black.  gray.  a  solid  color.  or 
white.  In  some  embodiments.  the  areas  beyond  opposile 
edges  of the  electronic  document  nrc  visunlly  distinct  from 
the  document.  For example.  the  nrcas  J955  (FIG.  lOB) nrc 
black and thus arc \isually distincl  !ium the web page J912. 
Upon de!ccling  lenninalion  of the  gesture.  the ekclronic 
document  is  displayed  (914) a!  a  magnilicalion wherein  the 
us 7,469,381  82 
31 
areas  beyond opposite edges of the dcclnmic document arc 
no  longer  displayed.  For  example.  1hc  areas  J955  arc  not 
displayed in  FIG.  lOC 
!-'IGS.  10.\-IOC illustrate thcdisp!ayofan ck>ctronic docu-
ment  at  multiple  magnilications  in  accordance  with  some  'i 
embodiments.  While  FKiS.  IOA-IOC  i!!uslralc  displaying 
these  multiple  magni!icmions  in  the  context  of a  portable 
muhili.mction device  100. displaying these multiple magniH-
cations is no! limited lo portable muhilimclion de\ ices.  In  the 
example  of FJ(jS.  IOA-IOC  the  document  is  a  web  page  lCJ
3912: FKiS.  I OA-1 OC  (like !'!(iS. SA-81 )) i!!uslratcan cxcm-
plmy  user  interface  for  a  browser  in  accordance with  some 
embodiments.  An  analogous  user  interface  may  be  used  to 
display other types of dcc!ronic  documents,  such as digital 
images or word processing.  spreadsheet. emaiL or prcscnta- l'i 
tion documents. 
In  FIG.  10.\.  the  web  page  3912  is  disp!ay<.'d  at  a  !irst 
magnification. The web page 3912 !ills more than the allotted 
screen area:  only the !dl sides of block 7 (3914-7) and block 
8 (39I4-8) arc displayed and only the top !ell corner of block  "" 
9 (3914-9) is display<.'d. 
32 
gesture  3931/3933,  a  pm1ion  of the  web  page  3912  is  dis-
played at  the  prcddincd magnification. as illustrat<.'d  in  I'IG. 
12C. and a portion oft he digital image 1302 is displayed at the 
prcddincd magnification. as illustrated  in  FIG.  13C. 
In some embodiments,  immediately prim to  detecting ter-
mination of the gesture, a  last decreased pm1ion  of the elec-
tronic  document  is  displayed  at  a  !irst  rcso!mion.  Upon 
dct<:cting tcnnination of the gesture. the respective portion of 
the  electronic  document  is               at  a  s<.>cond  resolution 
that  is greater than the Jirst  resolution. 
I'J(jS,  12:\- I2C illustrate the display of  an ck>ctronic docu-
ment  at  multiple  magnifications  in  accordance  with  some 
embodiments.  While  I'IGS.  12:\-12C  illustrate  displaying 
these  multiple  magnifications  in  the  context  of a  portable 
multili.mction device 100, displaying these multiple magni!i-
cations is  not  limited to pm1ab!c nmltili.mction devices. In  the 
example  of I'IGS.  12.\-12C.  the  document  is  a  web  page 
3912: I'IGS.  12:\-12C (like FIGS. 8.-\-8])) illustrate an exem-
p!aty  user  intcrlitcc  ll1r  a  browser  in  accordance with  some 
embodiments.  :\n analogous  user  interbcc may  be  used  to 
display  other types of electronic documents.  such as digital 
images or word  processing. spreadsheet. email. or presenta-
tion  documents. 
In  FIG.  12.\. a  !irst  portion  of the  web  page  3912  is  dis-
played at a Jirst  magnilication. n1cwcb page 39I2 !ills more 
than  the  allotted  screen  area:  only  the  !ell  sides  of block  7 
(3914-7) and block 8 (3914-8) arc display<.'d and only the top 
Jell  corner of block 9 (3914-9) is display<.'d. 
In  response  to  detecting  a  pinching  gesture  3951/3953 
(I:J(j.  1  0:\), the web-page is displayed at a magnilication less 
than the Jirst  magnilication. as shown in  J'](j,  lOB.  !fa docu-
ment  length  3957 or a document width  3959  is  entirely dis- "-' 
play<.'d  while  the  gesture  395113953  is  still  detected.  areas 
3955  beyond  opposite  edges of the  web  page  3912  arc  dis-
played. Upon detecting termination of the gesture 3951 13953. 
the web page 39I 2 is displayed at a magni!ication wherein the 
areas 3955 arc no  longer displayed. as shown  in  I'IG.  1  OC. 
I'IG.  11  is  a  How  diagram  illustrating a  process  1100  of 
displaying an electronic document at multiple magni !ications 
in  accon.bncc  with  some  embodiments.  n1c  process  !IOU 
provides a simple\ isual  indicator to a user that an electronic 
document  is  being  displayed  at  a  maximum  magnification  35 
(e.g ..  the  electronic  document  cannot  be  zoomed  in  and/or 
magnified Ji.1rthcr). 
In  response to dct<.><::ting  a de-pinching gesture 393113933 
30 
(J'](j,  I2:\). decreasing  pm1ions  of the  web-page  3912  arc 
displayed at  increasing magni!ications compared to  the mag-
nification shown in FIG.  12.\. For example. the portion of the 
web p.1ge 3912  shown in  FIG.  12B  is  smaller than and has a 
'llJc  process  IIOO  is  pcr!(mJJcd  at  a  device  with  a  touch 
screen display. In some embodiments. the de\ icc is a portable 
multili.mction  device.  In  some  embodiments.  the  electronic  40 
higher magnilication  than the  pm1ion  of the web  page 39I2 
shown in  J'](j,  12A. 
In  the example of FJ(j,  12B.  the  magni!ication  exceeds a 
prcddincd magnification.  Upon dct<.><::ting  termination of the 
gesture  3931/3933.  a  portion  of the  web  page  3912  is  dis-
played at  the  preddincd magnilication, as illustrated in  J'](j, 
12C 
l'!(jS, 13:\- I3C illustrate the display of  an ck>ctronic docu-
ment  at  multiple  magnifications  in  accordance  with  some 
embodiments.  While  I'IGS.  13:\-13C  illustrate  displaying 
document  is  a  web  page  (e.g ..  web  page  3912.  FIGS.  12.\-
I2C).  In  some  embodiments,  the  electronic  document  is  a 
digital  image (e.g ..  digital  image 1302.  FJ(jS.  I3:\-13C).  In 
some embodiments,  the electronic document  is  a  word  pro-
cessing.  spreadsheet. email or presentation document.  45 
these  multiple  magni!ications  in  the  context  of a  pm1able 
multili.mction device 100, displaying these multiple magni!i-
cations is  not  limited to pm1ab!e nmltili.mction devices. In  the 
example oJTIGS.  13.\-13C. the document  is  a digital  image 
1302  that  includes an image of a  person  1304. 
At  least  a  !irst  portion  of the  electronic  document  is  dis-
played  (1  I02)  at  a  Jirst  magni!ication.  :\gesture is  detected 
(11 04) on or ncar the touch screen display corresponding to a 
command  to  zoom  in  by  a  user-specified  amount.  In  some 
embodiments.  the  gesture  is  a  de-pinching  gesture  (e.g ..  '0 
3931/3933.  FIGS.  12.-\  and  13.\). 
In  I'IG.  13:\.  a  digital  image  1302  is  display<.'d  at  a  !irst 
magni!ication.  In  response to detccling a de-pinching gesture 
393113933. d<.>creasing  portions of the digital image 1302 arc 
displayed at  increasing magnifications compar<.'d to  the mag-
nification shown in FIG.  13.\. For example. the portion of the 
In  response to detecting the gesture, decreasing portions of 
the  electronic  document  arc displayed  (1  I 06)  at  increasing 
magnifications. For example. in I'IG.  12B a dccreas<.'d portion 
of the  web page 3912  is  displayed at a  higher magnification 
than  the  portion  in  l'!(j,  12:\, and  in  FJ(j,  131S  a  decreased 
pm1ion  of the  digital  image  I 302  is  displayed  at  a  higher 
magni!ication than the pm1ion  in  l'!(j,  13A. 
,
5 
digital image 1302 shown in FJ(j.  13B is smaller than and has 
a  higher magni!ication  than  the  portion of the digital  image 
1302  shown in  l'!(j,  13A. 
If.  upon detecting tcnnination of the gesture. the magnifi-
cation docs not cxcc<.'d a preddin<.'d magnification (1108-No ).  60 
the  process  1100 is cmnpletc (I 1 I 0). 
IL  however.  upon detecting tennination of the gesture. the 
magnification  exceeds  a  preddin<.'d  magnification 
(11 08-Yes). a respective portion of the ckctronic document is 
displayed  (1112)  at  the  pr<.'ddincd  magnification.  In  the  65 
examples ofl'!(jS, 121S and 13B. the magni!ication exceeds a 
prcddim:d magnilication.  Upon  detecting termination of the 
In  the  example of FIG.  13B.  the  magnification  exceeds a 
prcddincd magnification.  Upon dct<.><::ting  termination of the 
gesture  3931/3933,  a  portion  of the  digital  image  1302  is 
displayed  at  the  prcddined  magnilication.  as  illustrated  in 
FJ(j,  13C. 
I'IG.  14  is  a  !low  diagram  illustrating  a  process  1400  of 
executing  a  screen  rotation  conunand  in  accordance  with 
some  embodiments.  The  process  1400  provides  a  simple 
visual  indicator  to  a  user  that  the  user  has  not  provided  a 
sullicicnt gesture to  initiate a 00" screen rotation command. 
-1poqm;,         u1  zi I          IIJ.'"Ons  tpnoJ ;,tp  uo              
Sl  UO!J1,JlU  JO  ;osu;os           U!              ptm  lf:'()9I           
   sqmntjl 0.\\Jjll Ull!)P-10.!                  "UO]WJUJUO  JWJ)JOd  r,  U] 
ZOSI ;,ilem] JeJ!il]pJt]l             I  JJ],\JP Jt]l"\"91  . DLI U] 
zo51  ::>iletm  ]m]iltp ::>tJJ  JJeJOJ  oJ       
Sl               UO!J1,JlU  UJ.'"OJ:lS  SlljJ  ":19I-V9I  "S!)!:! JO  ;,(dttmx;, 
;,t]J UJ           \ap                -'"']q1,J.lOd  OJ  P-'"'J!lU!jJOII               
       OLL I  .\.rom  ;om                     UJ  oIL I                
mOJJ  p;,JtDO(  .\pJottnJ          \;op               JJom  Jo ;,uo ;,pnpm 
.\]]eUO!)dO  .(em  OLLI  .\.Jouww                                   
.')]!JejOA-UllU  J.')l]lll  Jll             ,\Jom;,m l]Se[l                      
'jSip  jeJ!)dO  s;oJ!AJp                 J!).')U"i!em  .')Jllm  JO  JUO  se 
     .\.mm;,m ""'JIW]O.\-IIOU ;,pnpu! .(r,m               \;op .\.rmu;,m 
;oJ1,JS  p1(0S           moptmJ  J:li(JO  JO  J;\IV"H                 
            se tpns ,\Jom;,m        mopueJ                            
OLL1  .\JomJV'i[  "05L1  (JJI,\;op  ilunu!od  J.')tjJO  .10)         
        p.!tmq.\;o)\1'            .\1nu  OS]!'  ()fl. I  :l:l10]J""'JU!        :ll[.!. 
otL I.(t,]ds!pua.-..ns-tpnoJ                ()fl. I  :l:ll,J.!:lJU! J:lSl11' 
         ()()l, I         \;op ""''1.1.                         ua.-...\"\pq        
-e::>mnumJoJ S]<.UJUOJ  pue                Jet]! (JJsdpp e  p;,!Je:l    
            .\.!J!IlJJP  ::>pnpm  ,\em  OZLI  s;osnq  uope::>mmu 
-mo:J :ll[.!.                             TIII!p;,umnJ;oJm  JOJ  OZL I        
utliJtDmnmmo:J ;omm Jo ;ouo  ptm "OLL I            "09L I          
-JJJU!                 J;Jt]JO  Jll  'j.!O.\\J;JU  JJOm  .!0  JUO  "01LI 
(S,fld.))  SJ!lHl  "i!U!SS;JJOJd  JJOm  JO  ;JUO  s;,pnpm  .(!JP-:lld.(J 
00L1  JJIA;op  Jti.L  ;,]qe)Jod  ;,q  lOU  p::>;ou  00L1  JJIAJ(]  "SJUJm 
!poqm;,         ![J!!>\                   II!            ll.'):lJ:JS![:lllllJ  1' 
![J!.\"\  OOL I  :l:l! \;op                               )j:lO]q  1'  s1  L I  . !)1:1 
09  UO!)eJ<.U  UJJJJS  Sltjl  "00 I  JJ!,\Jp  UO!)JU!1J!)Jl1m  J]I(P-l.!Od  e  Jll 
lXJJUOJ Jl]l U!  JJnJSJf!  Ull!)P-10.!  UJJJJS S]ljJ  JWJJS!l!!!  ;]9 I-\'91 
"S!)I:l -'"'[l![i't\  "SJU;otmpoqma ;,mos t]J!.\"\ a:Jtmp.ro:J:J1'  II!             
IIO!JlWU  u;,ans  .\.rqdm;,x;,  tm                  :19I-V9I  "S!)I:l 
       . !)]:]  II!  11.\"\0!(S  S1'               
st WSI ;,ilem] JeJ]iltp JtjlJO UO!)W!Juo J]eJuod                 
JtjJ  t]ll.\\  p;,JnJ.""\XJ  st  Jjilue  JJnJe  JtjJ  01  JJ]Soddo  Jjiltm  ue 
l(JI\\ ptmmtull:l IIO!Jl'JlU                   "80S I                   "i!U!JS!.\"\J          
-IJ(lltu  -'"'![J  J:l.'"OPp  OJ             IIOd[]  "(lSI  "!)1:1  m                      
JtjJl]ll.\\ "fi<""\JilJ.""\XJ     UO!)P-!O.!JO Jjiltm JJilJlJ Ue l]ll.\\ ptmUHUOJ 
0>  UO]WJ<.U  UJJJJS  \' "UO!)elllJ JO JJJf!Jp pJU!]JpJ.!d e  fi<""\JJXJ  lOU 
s;,op WtJJ  UO]JelllJ JO ;o..""\JilJp ilu]puodsJJJOJ e  set] 80S I          
"ilu!JSI\\J                   -'"'![J  "J;o\;o.\"\m]  .)S I  "!)1:1  JO            -'"'![J 
II]        "!)1:1  m  11.\"\0!(S                                      II!              
Sl  Jilem] ]eJlfl]p Jl]l             Jtjll]ll.\\ "PJlllJJXJ Sl  ptmUHUOJ  .\Jet\ ,\r,m ;JJ!\;,p ;Jt]l  .(q  p::>UUOJ.!Jd  SUO!)JUI11 
.10  UOIPtH1J  JtjJ  pue ;oJqepod ;,q wu .(em .10  ,\em .\\O]Jq  OOL I 
.'):JL\:lp  S1'       ":l:l!\;op  :ll(.J.                  :llUOS  l(J!!>\  .'):lut'p 
        m                               t]J!.\"\  ;o:JL\JP  .\tm 110  p;,mn:J 
-J;od  :llJ  .\1'm                         "()()I  :l:l!.\;op                  
;Jjqeuod  e  Jll  JXJJUOJ  Jtjl  U!  SUO!)eJJdO  Ull!)eJOJ  pur,            
uo!w]sueJJ                     ;]91-\"9 I  pue :151-\"SI  .)1 
Vfi  ".)ZJVZI  ".JOI-VOI  "CI8-V8  "CI9-V9  "S!)!:!  :l(!ll/'t\ 
":19  I   !)!:1 m  l!.Wll]S      "UlliWJU:l!JO  Jll!!J.md     OJ  ZOSI 
J"i!em!  jeJ!illp  JtjJ             ,\qJJJtjl  pJJilJJXJ    Jjiltm  JJHJe 
Jl]l  OJ  JJ!SOddo  Ull!)eJOJ JO  JjilUe  tm  ljj!.\\  pueUJU!OJ  Ull!)eJOJ 
UJJJJS  e          }l-t09I  pur,  "J-t091                JtjJ Jll  Ull!) 
         :l:lll() "'d9I  "!)]:]  m                    :ll]J  l[ll\\            :lJll:l1' 
    .\q fA'"OJl,JOJ     (  19 I   !)l:l m  ZOS I            Jl'J!"illp ;ot]J  ":l]dmt,X:l 
JO;]  -p::>lllJJXJ  S!  UO!)P-JOJ  JO  Jj"i!ue  JJnJe  ue  tjl!.\\  puem 
-mo::> UO!WJOJ              e  uo!)eJ<.UJO JJJilJp fi<""\U!]JPJJd  e  pJJJXJ 
JOU  s;,op uopm0.1 JO JJJ"i!::>p                Jtjl "JJAJ.\\lltj  ]! 
      "!)J:I  U!  UO!J1,JII:l!JO        
-puq     OJ  \'9I  "!)]:] JO  UO!J1,JII:l!JO  JWJjJOd  .')ljJ  lUOJJ  fh'"OJ1,JOJ 
   Z051  ;,"ilem!  ]eJlil!P  JtjJ JO           "J]dumx;, JO:J  p;,JnJJXJ 
   puemmoJ Ull!)P-10.!  UJJJJS 
0
()(i  r,  "UO!)eJ<.U Jll  JJ.ril:Jp  p::>U]jJp 
-ard  1'  sp.h'"O:JX:l  UO!J1,JlU  JO               "ilmpuodsamn  :lt]J  .11 
        tpoq .H:J  :lS!.\"\)j:lOJ:l.!:lJIIlllD ;,q  11!\"\  ZI I             
l(JllllJ  .')ljJ  .(q             UO!J1,JlU JO :lSII:lS  .')l[l  U.')l[l  ".!:li(JO        
moJJ  pedep::>Aom JJe sqmmJJ Jt]J pue (\"9I "DLI U]         Jtjilu 
JJ.\\O]  JtjJ  uetjl JJt]WJ)  ZTI  UJJJJS  tpnoJ JO       Jt]ilu  JJddn 
;,tp UO  .\[[l'!J!U!  Sl          qmm[J "(V9I  "!)]:]II! :lP!S  Jp] J:lddn 
                      n  I                        J.PJ jJ.\\o
1 
""''lJ  m1  
 
    
-]Ul     "J-t09I  qmntjlJ]  "JjdttmXJ .!O:J  "Ull]WJOJ                 
-UilOJ  e     UO]WJ<.U JO              Jl]l "SJUJm]poqm;, Jmos U] 
   UO!WJ<.U             
0
()(i  e  "Snt].L  "Ull!)P-10.!  Jll  JJJf!Jp  fi<""\U!]JpJ.!d  r, 
SfAh'"O:lX.')         UO!J1,JlU JO.').'"OJ"i!;op                            .')JllJ 
                                   -'"'![J  vs I   !J!:I .10 ""'ldumx;, ""''lJ  111
( s.ra"ilii!J  O\\J ;,t]J .1 o 
suo]ilJJ  pewo::>  JtjJJO           .10  snnod JJJUJJ Jt]J  u;o..""\.\\JJq 
Ot  SlXlJ  Ue  f,;,)  JJilJSJil  JJf!U!J!)]ntU  Jl]l  U]  SJJf!U!J  ll.\\J  Jl]l 
JO         UJ.'"OJ:lS  lj:lllOJ .'"OI(J Ull        P1,JIIO:l.')ljJ UJ.'"O.\"\pq       
tm JO  UO!J1,JlU  JO  J.'"O.J1Jap  1'  OJ               Ullljr,JOJ  JO  J.'"O.J1Jap 
JtjJ  sw::>tmpoqm;,       UJ  uonewJ JO ;o..""\.ri!Jp                
r,  Setj  8051  .!0  9051  JJillSJil              JJf!U!J!)]ntU  Jli.L           
          tpnoJ Jtjl uo PJPJIJP st (.)5I . Di:O 8051 .!0(\"51  . Di:O 
90S I                   "i!U!JSI\\J  J.'"O"ilii!JIJjlllU  \' "IIO!Jl,JU.')!JO              1'  II! 
                 ZOSI  a"il1'm!  Jl'JI"illp-'"'![J  .)SI ptmVSI  "S!)I:l Ill 
wsi ;,ilemJ  ]mtil]p e     JU::>um::>op 
::>moJPJ!J  ::>tJJ  :!si-V51  s!JU .10  ::>]dumx::>  JtJl  u1          
0[  UOllJU!1J!)jntU  Jji(P-l.!Od  OJ  pJ)llU!]  JOU     UO!WJOJ          
"()()I  .'"O:l! \;op                  -'"'[lJl'!-llld       JX.')JUO:l ;otp m  IIO!Jl,JOJ 
                             I -vsi s!JI:l -'"'l!'V't\                 ;,mos 
l]ll.\\  JJtmp.!OJJlJ  U]  )JJfqo  jej!il]p JJl]JO  JO  JUJUHlJOp  J]UOJJ 
'" 
-J.""\jJ  ue Jll           JtjJ  ilU!)eJOJ  JWJJS!l!!!  !151-\"51  "S!)Li 
(:]9 I 
ptm  "lSI  "S!)I:l  II!                       ;ot]Jl]J!.\"\  1!;,)  -'"'["iltm         
.')ljJ  OJ  -'"'J!SOddo  UO!J1,JlU  JO  ;,(1\tm  tm  ljJI\\  ({)If:' I)  fA'"OJll:l;)X.') 
Sl puemmoJ UO]WJ<.U  UJJJJS r,  "JJillSJf! f!U!JSl.\\l JJf!UH!lJ nm Jl]l 
lJ.""\lJp  OJ  ilU]SeJJ  UOdfl  "!!91  pue (!SI  "S!)LJ  U]              
""                 "a["iltm          tm .\q  P-'"'WJOJ  S!  CI9I  ptm  .JSI  "S!)I:l 
JO  ZOSI  ;,TI1,m1  (l'JITI!P  -'"'l]J  ;,Jdmt,xa Jll:]  "(&Uti)  paJn:Jaxa  S! 
(
0
()(i  Uetjl      ;,1)  UO]WJ<.U  Jll  Jjiltm JJilJlJ  tm  l]l].\\ ptmUHUOJ 
UO!)e)<.U  UJJJJS  r,  "(ON-f:"Of:'T)  UO!WJOJ  JO  JJ.ril:Jp  fi<""\U!]JpJ.!d 
e  p::>JJXJ  JOU         uotWJOJ JO  JJJil::>p ilmpuodsJJ.JOJ JtjJ J!  "JJ!AJP JtjlJO ::>ptS'jJeq  JtjJ  ilmpBJUOJ .\q  00 I  JJ],\JP 
                          lt09I  sqmnt]J  mn]J  .!:l![JO                >'l 
"".')"!)              J.')ljJO             JO  :llUOS           W                  
Jmos  U]  "UO!)P-10.!  Jll  JJJf!Jp                 JtjJ            
JSd!]p JtjJJO      JtjJJO Ull]JeJUJ].!O  Jtjl U]  Jf!Uetp JtjJ  "SJUJm 
!poqm;, :llUOS  U]  "(.)9I  "!)]:]  U!  ZII               lj:lllllJJO  UlliJ.!lld 
p.-..1\Jqll:l  tm Ull            S1'        "!)!:!II!  1809I ;osdqp P1'JUlD  fll 
OJ  V9I  "!)]:]II!  "]9()9I  :lSd![[""'  Pl'JUlD  lUlUJ            fA'"OJ:l.'"OPp 
           HSI  "S!JI:l 
U!                             "IIO!Jl,JU.')!JO                  OJ  UO!WJ 
-UJ]-10  JW.!JJOd  e  mO.!J  PJJP-10.!     V9I  pur,  \'51  "SDLJ.Ill W51 
::>ileun  JeJ!il]p Jt]l"J]dumx::> JO;]  (90tT) pJJHJJXJ S]  ptmunuoJ 
IIO!JlWU  u;,ans 
0
{)()            tOt I)  IIO!Jl,JOJ JO  :l.'"O.R!;op  P-'"'II!J-'"'P 
-aJd  1'                utliWJOJ  JO  J.'"OJTiap                ;,tp  .11 
(CI9I       V9I  "S!JI:l)        
pur, "J-t09 I  sqmntjl 0.\\l ,\q                              ilmJS].\\l 
JJilUH!lJilm  JtjJ               Jmos  UJ  "UO]WJ<.U  JO  JJJf.Jp 
                      ;oJnJsa"il "ilmJS!.\"\J                  -'"'lll.          
IIJ.'"O.JJS                           JOUO (ZOti) p.-..p;,pp S!  (.)SI "!)]:]"80S I 
.!0  "\'51  "!)LJ  "9051  f!J)  JJillSJil             JJilUH!l]llm  \' 
Jq  ,(r,m  JSdl]JJ  Jl]l  JO  S]XP- Ue Jll  Ull]WJUJUO  Jl]l  U!  Jf!Uetp 
Jl]l  "jeJ!)d!]p     qmntjl  JtjJ  Jll  eJJe  )JBJUOJ  Jl]lJl  "JjdmeXJ 
.!0:]             ll.'):lJ:JS  lj:lllOJ  ;otpt]J!.\"\  qmmp :l![JJO  l'!.'"OJ1' P1'JUlD 
:ll(JJO  IIO!Jl,JU.')!JO  U!  J"i!tmtp  :li(J  1\U!JOJ!UOlU  .(q  p:lJ:l.'"Opp     ,: 
                UO]WJ<.UJO       JtjJ"SJUJtU!poqm;, Jmos U] 
"Ull]WJOJ JO JJJf.Jp flmpuodSJJ.!OJ  e 
     sqmmJl o.\\J  JtjJJO UO]WJOJ                Jti.L  "(.)9 I   D!:i 
1!;,)  Ullljr,JOJ                         UO!J1,JlU JO :lSII:lS        :li(J  "SJU.')UJ 
t 
"JJ]AJp Ull!)JUHJlljllm 
J]I(P-l.!Od  r,     JJlAJp                    Jmos U]            UJJJJS 
lj:lllOJ     ![JI\\  .'"O:l!.\;op  1'      pamn:p;od  Sl  ()()f:'I  SS.'"O:Jtud  .'"Ol].]. 
 
zs  !8t'69v'L sn 
us 7,469,381  82 
35 
programs. modules. and data slmclures analogous lo the pro-
grnms. modules. and dma stmcturcs stored in the memory 102 
36 
of portable  multifunction  device  100  (!-'IG.  1).  or a  subset 
thereof.  !-'unhcrmorc.  memO!)'  1770  may  store  additional 
programs.  modules.  and  data  slnJclures  (not  shown)  no!  'i 
present  in the memory  102  ofpm1ahk: mu!ti!lmction de\ ice 
100. 
5. rhccompulcr-implemen!cd method of claim I. wherein 
the !irs! dir<.><::lion  is a vertical direction. a horizontal dircc1ion. 
or a diagonal dircc1ion. 
6. The computer-implemented mc1hod of claim 1. wherein 
the elec!ronic document  is  a  web page. 
7. rhccompulcr-implemen!cd method of claim I. wherein 
the  clcc1ronic documcm  is  a digiwl  image. 
Fach of the above  idcntiHcd  clements  in  !-'!G.  17  may  be 
stored  in one or more of the  previously  mentioned  memory 
tk'\ ices.  I Oach  of the abmc idcntilicd mmlulcs corresponds to 
8. The computer-implemented mc1hod of claim 1. wherein 
the  electronic  documcnl  is  a  word  processing.  spreadsheet. 
lCJ email or presentation document. 
9. rhccompulcr-implemen!cd method of claim I. wherein 
the  clcc1ronic documcm  includes a  list  of i1cms. 
10.  The  compmcr-implcmcmcd  mc1hod  of  claim  1. 
wherein the  second dir<.><::lion  is  opposite 1hc !irs! direction. 
I I.  The  cmnpuler-implemcn!cd  mc!hod  of  claim  I. 
wherein translating in  the Jirsl  dir<.><::lion  prim lo reaching an 
edge of the  documcm has an  associated  spc<.-d  of translation 
that  corresponds to a  speed of movement of the  object. 
a  scl  of  inslmclions  ll1r  pcr!lmning  a  llmc!ion  described 
above. "111c above identified modules or progrnms (i.e ..  sets of 
inslntctions)  need  not  be  implcmcnt<..-d  as  separate  soliwarc 
programs. procedures or modules. and thus various suhsc!s of 
these modules may he combined or olhcnvisc re-arranged in  l'i 
various cmbodimcms.  In  some embodiments.  memO!)'  1770 
may store a subset of the modules and data structures identi-
fied  above.  Furthermore.  memO!)'  1770 may store additional 
modules and data slruclurcs no! described abo\ c. 
12.  The  compmcr-implcmcmcd  mc1hod  of  claim  1. 
""  wherein translating in  the !irs! d i n ~ c l i o n  is in accordance with 
a  simulation of an equation of motion hm ing friclion. 
'll1c  ll1rcgoing description. ll1r  purpose of explanation. has 
b<.-cn described with rcJCrcncc to sp<.><::i!ic cmbodimcms. l low-
ever.  the illustrative discussions above arc not  intended to  be 
exhaustive or lo  limit  the imcnlion lo the precise  J(mns  dis-
closed.  Many  modilicalions  and  variations  arc  possible  in 
\ i<."\\"  of the ahmc teachings. The embodiments were chosen 
and  dcscrib<.'d  in  order  to  best  explain  the  principles  of the 
invention  and  its  practical  applications.  to  thereby  enable 
others skilled  in  the artlo hcsluti!izc the invention and vari-
ous embodiments with \arious modilicalions as arc suited lo 
1hc  particulnr usc contemplated. 
What  is  claimed  is: 
1.  .\ computcr-implcmcmcd method. comprising: 
a1  a device with a !ouch screen display 
displaying a  !irs! ponion of an  electronic documcm: 
dc!<.><::ling  a  mmuncnl of an ohjccl on or ncar the !ouch 
screen display: 
in  response lo de!<.><::ling  the  mmcmenL  translating  the 
electronic  document  displayed  on  the  touch  screen 
display in a !irs! direction to display a second portion 
of the elec!ronic document. wherein the second  por-
tion  is  dilkrcnl Jimn  the Jirsl  pm1ion: 
in response to an edge of1hc ck><::lronic document being 
reached while translating the  electronic document  in 
1hc  !irs!  dir<.><::lion  while 1hc  object  is  s1ill  dc1cc1cd on 
or ncar the !ouch screen display 
displaying an area beyond the edge of the document. 
and 
IJ.  The  cmnpuler-implemcn!cd  mc!hod  of  claim  I. 
wherein 1hc  area  beyond  the  <.'dgc  of the  document  is  black. 
gray.  a solid color. or white. 
"-'  14.  The  cmnpuler-implemcn!cd  mc!hod  of  claim  I. 
wherein the area h'-")tmd  the edge of the document is  visually 
distinct  from  the  document. 
15.  The  compmcr-implcmcmcd  mc1hod  of  claim  1. 
30 
wherein 1ranslating !he document in !he S<.><::ond  direction is a 
damped motion. 
16.  The  cmnpuler-implemcn!cd  mc!hod  of  claim  I. 
wherein  changing  from  1ranslating  in  1hc  !irs!  direction  10 
translating  in  the second direction umil1hc area  beyond  the 
35 
edge of the document  is  no longer displayed makes 1hc edge 
oftheelec!ronic document appear lo heclaslicaHy allached lo 
an edge of the !ouch screen display or loan edgedisplayL'<i on 
the 1ouch  screen display 
17.  The  compmcr-implcmcmcd  mc1hod  of  claim  1. 
40 
wherein 1ranslating in !he !irs! dircc1ion  prior 10 reaching the 
edge of the clcc!nmic document  has  a  lirsl  associa!cd trans-
lating distance that corresponds loa distance of movement of 
the  objcc1  prior 10  reaching the  edge of 1hc  clcc1ronic  docu-
ment: and wherein displaying an area beyond the edge oft he 
45 
clcc!nmic  document  comprises  translating  the  d<.><::lronic 
document  in  the lirsl dircclion  ll1r  a s<.><::tmd  associa!L'<i  trans-
lating  distance.  wherein  the  second  associated  translating 
distance is less than a distance ofmovcmcm of1hcobjcc1 alicr 
displaying a 1hird portion of the clcc1ronic document. 
wherein  the  third  portion  is  smaller  than  !he  !irs!  -;o 
portion: and 
reaching the  edge of the  ck><::lronic  documcm. 
18.  The  cmnpuler-implemcn!cd  mc!hod  of  claim  I. 
wherein translating in the Jirsl dircclion prior lo reaching the 
edge of the clcc!nmic document  has  a  lirsl  associa!cd trans-
lating speed !hat corresponds 10 a  spc<.-d  of movement of the 
obj<-><::1.  and wherein displaying an area beyond !he edge oft he 
in response lo dc!ccling that the ohj<-><::1  is  no  longer on 
or  ncar  the  10uch  scr<.-cn  display.  translating  the 
ck><::lronic document in a second dircc1ion until the 
area  beyond the edge of the electronic document is 
no  longer displayed  lo  display  a  Jlnu1h  portion of 
the  ck><::lronic  document.  wherein  the  Jlnu1h  pur-
lion is  dilkrcnt  from  the  !irs! ponion. 
,
5 
clcc!nmic  document  comprises  translating  the  d<.><::lronic 
document  in  the  lirsl dir<.><::lion  a!  a  second associa!L'<i  trans-
2. The complllcr-implemcntcd method of claim 1. wherein 
1hc  !irs!  portion of the  electronic document. 1hc  second  por- 60 
lion of the ck><::lronic documenL the third portion oft he d<.><::-
lronic  document.  and  the  Jlmrth  portion  of the  ck><::lnmic 
document arc displayed at  the  same magnification. 
J. The complllcr-implemcntcd method of claim 1. wherein 
!he movcmcnl of !he obj<-><::1  is  on the !ouch screen display 
4. Thecmnpuler-implemcn!cd mc!hodofclaim  I. wherein 
the ohjccl  is  a  linger. 
65 
lating sp<.-cd. wherein the s<.><::ond  associated translming speed 
is  slower than the  !irs! associated translating speed. 
19 . .-\device. comprising. 
a !ouch screen display: 
one or more processors: 
memory: and 
one or more programs. wherein the  one or more programs 
arc stored in  the memory and con!igurcd 10  be executed 
by  the one or more processors. the programs including: 
inslmclions ll1rdisplaying a !irs! portion of an d<.><::lronic 
document: 
us 7,469,381  82 
37 
instmclions !l1r dclccling a  mmcmcnl of<m oh_icc! on or 
ncar 1hc  touch screen display: 
instructions for 1ranslming. the electronic document dis-
play<..'<!  on the  touch screen display in a !irst din.><::tion 
lo  display  a  second  portion  of the  ckx:tronic  docu- 'i 
mcnl. wherein the second portion is diflCrcnl !ium the 
!irst portion.  in  response to  detecting the movement: 
instructions for displaying an area beyond an edge of the 
ck:clronic document and displaying a  third portion of 
the dcc!ronic documcnl. wherein the third portion is  lCJ
smaller than the Jirsl  pm1ion.  in  response lo  the edge 
of the dcctronic document being reached while trans-
lating  the  electronic  document  in  the  !irst  din.x:tion 
while the ohjccl  is  still detcc!cd on or ncar the touch 
screen display: and  l'i 
instructions for  trnnslating the  ck>ctronic  document  in  a 
second direction until  the urea  beyond the edge of the 
electronic document is no  longer display<..'d  to displuy 
a  !(mrth portion of the dcctronic document. wherein 
the !lmrth portion is difJCrcnt  from the lirst  pm1ion. in  "" 
response to detecting thm the object is no longer on or 
ncar the touch screen displuy. 
20.  A  computer  readable  storage  medium  hming  stored 
therein instructions. which when cxL>cutcd  by a device with a 
touch screen display. cause the de\ icc to: 
38 
display a  Jirst  portion of an dcctronic document: 
detect a movement of an object on or ncar the touch screen 
displuy: 
trnnslatc  the  electronic  document  displayed  on  the  touch 
screen  display  in  a  Hrst  direction  to  display  u  second 
portion of the dcctronic document. wherein the SL>cond 
portion is di!krcnt !ium the Jirst  pm1ion,  in response to 
detecting the movement 
displuy an urea  beyond an L'<igc oft he electronic document 
and displuy u third  portion of the electronic  document. 
wherein the third portion is smu!!cr thun the Hrst  portion. 
if the L'<igc  of the ck>ctronic  document  is  reached while 
translating the dcctronic document  in  the lirst  dirL>ction 
while  the  object  is  still  dck>ctcd  on  or  ncar  the  touch 
screen displuy: und 
trnnslatc  the  ck..::tronic  dtlL'umcnt  in  a  s<.>t."ond  diw::tion 
until  the area  beyond  the edge  of the  electronic  docu-
ment is no longer displayL'<i to display a Jlnu1h portion of 
the electronic  document.  wherein  the  fourth  portion  is 
dilkrcnt  from  the  Hrst  portion.  in  response to  detecting 
thm  the object  is  no  longer on or ncar the touch  screen 
display. 
*  *  *  *  * 
UNITED STATES PATENT AND TRADEMARK OFFICE 
CERTIFICATE OF CORRECTION 
PATENT NO.  :7,469,381  B2  Page  l  of  l 
APPLICATION NO.  : ll/956969 
DATED  :December 23,2008 
!NVENTOR(S)  : Oniing 
It is certified that error appears in the above-identified patent and that said Letters Patent is 
hereby corrected as  shown below: 
Column 38,  line 8, please insert-- ; --after movement. 
Signed and  Sealed this 
Seventeenth Day of February,  2009 
JOHN DOLL 
Acting Director of  the United Suztes Patent and Trademark Office 
, 
. 
' 
.  :. 
., 
. 
,. 
,,   '  .. - '   
." --' 
.  '  .  -; .. 
... 
-'  .. 
.  r, .:  ljif':f,:i   .  i 
-.' 
' 
1.  " '  ',. ,:- <  ;.- '       ' 
1
--------------------------------------'  :-    . ; -' 
..  '' 
          ,;: 
'  '  -
.. ;-::..;;: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Exhibit 5 
(12)  United States Patent 
Platzer et al. 
(54)  .\PPLIC\TIO:'\  PROGH..Ui:\11\"G 
I\"H:H.E\CES FOH.  SCH.OLLI:'\G 
OPERATIO:\S 
111111  1111111111111111111111111111111111111111111111111111111111111 
US007844915B2 
(I OJ  Patent No.: 
(45)  Date of Patent: 
7,00'),62(,  B2  3 200(i 
          B2    200(i 
7.t 17,45.1  B2  10 200(i 
US 7,844,915 B2 
Nov.  30,2010 
-\nw"r 
Dm id  ct ,] 
       ct ,] 
(75)  !mentors:  Andn.w J>hltzt>r,  Santa Clara. CA (US): 
7.t7.1,62.1  B2  2 2007  Calkins    al 
7,3.17,412  B2  2      Guido ct  al 
Scott IIcrz. S.1nta  C!arn. C.\ (US) 
           B2         SwmV ct al 
     Assignee:  Applt>  Inc ..  Cupc11ino.  CA (US) 
( * )  Notice:  Subject to  any disclaimer. the term of this 
pntcnt  is  extended  or  adjusted  under  35 
U.S.C.  l54(b) by  5R3  days. 
(21)  App!.  No.:  111620,717 
(22)  Filed: 
(65) 
J:m. 7,2007 
Prior Publication  I>ata 
US 2(XlR/OlOR3R4 AI 
(51)  Int.Cl. 
<ifJ6F 3/fJfJ 
<ifJ6F 3/fJJ3 
G06F 31041 
G06F 31048 
Jul.  10. 200R 
(2006.01) 
(2006.01) 
(2006.01) 
(2006.01) 
(Continu<.'d) 
FORJ]GN 1'.-\TI:N'r DOCUMJ:NTS 
Ll'  3  2005 
(Continued) 
Or! II]{ I'UBIJC..\TIONS 
Toshiyuki  Ylasui ct al. "l:lastk                   !Or l'rcdsc Data 
\hnipulation",  1')<)_';,  -\C\1.  pp  143-t44  
(Continued) 
(52)  u.s.('].  7151781.715/784:715/800: 
345117". 
Primar_r Ewminer  Xiomnra  L  Bmnista 
(74) Attornet'.  Agent.  or Firm  IS!akely,  Sokoloii ray lor  & 
/_afman  I  I.P 
(58)  Fidd of (:Jassitication St>arch  7151704. 
(56) 
7151705. 784, 7R6.  7XX.  XOO,  XM.  X66,  973. 
715/974:  345/156.157.  J(i<).173 
(57)  AHSTH..\CT 
S<.-c  npplicntion H!e  for  complete senrch history. 
           Cited 
          A  7  J<J9(i  !Jansen d  al 
.'i.<Jm.<Jo2  A  5  l<J9<J  <lnct al 
6JWHi02 
' 
2  2000                  ,] 
           Bl  ll  2002  Lbillos 
6.677.9(i.'i  Bl    l  2004  Ulmann ct al 
6.74!.')')6  Bl  5 2004           ct  al 
          B2  1 2005         
6.<Jm.<Jn  B2  6  2005  Anlau!T 
6.<J.'i7.392  B2  lO  2005  Simistcr ct al 
            
Bt  ''  to  2005  \hlsushilact al 
715     
AI  leas!  ccJ1ain  embodiments  of  the  present  disclosure 
include nn environment with user inter!Uce  soliwnre internct-
ing  with  n  soliware  npplication .  .-\  method  Jix  operating 
through an application  programming  intcrliJCc  (API)  in  this 
cnvinmmcnl  includes  trans!Crring  a  sci  hounce  cal!.  The 
method li.trther includes setting at  least one of maximum nnd 
minimum bounce vnlues. The set bounce call cnuses a bounce 
of n scrolled region in nn opposite direction of n scroll bused 
on a region pas! an edge of the scrolled region being visible in 
a display region at  the end of the scrolL 
345  17." 
              
"""""''0""'""""' 
" 
,,. ... ,,..,""',_,,...."""" 
            "''-.''"'" 
""'-'''"' 
" 
,,._,,. -""'""'''""'"' 
"'""'""-' '"""' '"-'" 
'"'"""'-"'"--'""""""''"' 
" 
 
r '""""o'"""""'';;.;,_,"'l 
'''""""""-''""""'""'""'                                 
             -,.-""""-'-' -
,.._.,"""'""""'"''"""'"'"''" 
'"''"' '"''""''""'"""    
" 
'""""'"'-"'."""" ... """'  ""'-'- CWC.d.w-==0> 
""''""""'"'"'"'"''-"  '""'''"''"'-""'-    ,  ...     
               "''' 
., 
21           .n          Sheets 
U.S.  PA:t-I;N"r J)OCUMI;NI-S 
7561  l.'i9  B2  7 200<)  Abel ct   
7576.n2  B2    g 200'!  Lii 
2001  0045<)4<)  _\]  !1  2001  Chilh;unbaram d  ,] 
2002  019451>9  AI  12  2002  Cristolillo ct   
2003  0095096  AI  5 2003  Robbin d    
200_1  012271>7 
" 
7  200.1                al 
200_1  0132<)-':;<) 
" 
7  200.1              ,] 
2003  0160iG2  AI  g 2003  Ridgky ct a] 
200_1  017414<) 
" 
<)200.1  htiisaki d  ,] 
2004  002Hi76 
" 
2  2004       d  al 
2004  002J(i91>  AI  2  2004  Baldwin ct al 
2004  0100479  AI  5 2004  :\akano d  al 
2004  02!5643 
" 
!0 2004          d  al 
2004 0222<)<)2 
" 
!1  2004  C.!lkins d  ,] 
2004  0224(>31>  AI  II  2004  Fadel! ct al 
2005  00."7524  _\]''  .12005  l!illd,] 
2005  001>1>443 
" 
4  2005         al 
2005  01930L'i  AI  9  2005  Logston ct al 
200(i  003i.:796  AI   2 200(i           d  al 
200(>  01901>33 
" 
:;  200(>  SanGiO\anni     al 
200(i  0D(i263  AI   to  200(i  Bathkhc d  al 
2007  OO.'i5967  At  3  2007  Po!T<:t  al 
2007  0075<)6-':; 
" 
4  2007  lluppi  d  "I 
2007  01742-':;7 
" 
7  2007  llow;ml 
2007          At    2007  Vkndisd al 
2007         t  At   t I  2007  llolkmans d  al 
2007              
" 
12  2007  Butlind"l 
2oog  ooo5703  At   1 2oog  Radivojcvk  <:1 al 
2oog  oot(iO%  At  1 2oog  Wildingdal 
2001>  003402<) 
" 
2 2001>  hmgdal 
2001>            _\I''  2 2001>  Tr<:nl  <:1 ,] 
2oog  016g395  At   7  2oog  <>rding d  al 
2001>  0231(>10  _\I''  <) 2001>  llolcllingd"l 
200<)  02-':;<)<)6<)  _\I''  10  200<)  p,IJako!T 
!'OR!;KiN PA:t-!;N"r !)OCUM!ON'!-S 
GB  2 319 59!  .\  .'i      
GB  23!959!  .\  .'i      
US  7,844,915  B2 
Page 2 
    tn 
345  173 
345  tn 
715      
345  173 
715U>3 
345  1_<.7 
715g33 
345  173 
       
wo 
\\'() 
wo 
wo 
\\'() 
       
pages 
()Hie<: 
pages 
()Hie<: 
pages 
W<>-2006 0(>77 t I 
W<  >              _\I   
\V<  >             At  $ 
\V<             
\\"(               
(i  200(i 
7  2001> 
7  2oog 
7  2oog 
7  2001> 
en! !!OR                
Adion.  L  s  .  \ppl  :--:o  t I  620.723 .  maik'<l 
_\elion,  [; s  -\ppl  :--:o  11  620,709.  m"ik'<l 
.\pi'  I 
-\pr  I 
-\clion.  t: s  .\ppl  :--:o  11  (>20.720.  maikd .hm  n. 
<         Adion. LS  .\ppl  :--:o  II  (>20.720.  maikd     23. 
pages 
2009.  g 
200<),:; 
200<),  17 
      lg 
PCT lnl<:rnalional Sc,reh Rcpm1 and Wrill<:n (>pinion for I'CT lnl<:r-
nalional  _\ppln  :--:o  CS2001>          m"ikd  .lui  31.       (10 
pages) 
PCT lnl<:rnalional Sc,reh Rcpm1 and Wrill<:n (>pinion for I'CT lnl<:r-
nalional -\ppln  :--:o          00001><), maikd -\pr  ti, 2001> ( 14 pag<:s) 
PC 1 International S<:ardl Rcpo11  and Written< >pinion !Or  PCT Inter-
national  .\ppln  :--:o  PCT         000103.  maik'<l  Jun  3.       (15 
pages) 
PC 1 International S<:ardllkpot1 and Written< >pinion !Or  PCT Inter-
national Appln  :--:o  PCT         000069.  maik'<l  Vlay 2.  200g (J(i 
pages) 
PCT lnl<:rnalional Sc,reh Rcpm1 and Wrill<:n (>pinion for I'CT Inter-
national Appin  :--:o  PCT l'S200g 000060. maik'<l  Apr  22.      (12 
pages) 
OJiie<:  _\elion,  C  s  .\ppl  :--:o  11  ti20. 72_1,  maikd  Jun  s.  2010.  7 
pages 
<         Adion.  l- S  Appl  :--:o  It (>20.709.  maik'<l  Jun  9.  2010.  7 
pages 
Final         Adion.  l  s  Appl  :--:o  It 620.709  maik'<l  :--:ov  !3. 
200<),  1> pages 
Fim!l  Ollie<:  _\elion.  l  s  .\ppl  :--:o  II  620,723,  mailed  :--.:"'  17. 
2009.  10 pages 
       .\dion. L  S  Appl  :--:o  t I  (>20.720  maikd :--:ov      2009.  17 
pages 
* cited by cxmnincr 
U.S.  Patent  Nov.  30,2010  Sheet 1 of 37  US  7,844,915  B2 
100 
~ 
RECEIVE A USER  INPUT 
J!l2 
j. 
CREATE AN  EVENT  OBJECT  IN 
RESPONSE  TO  THE  USER  INPUT 
104 
.. 
DETERMINE WHETHER  THE  EVENT OBJECT 
INVOKES A SCROLL  OR  GESTURE 
OPERATION 
1011 
.. 
ISSUE AT  LEAST ONE  SCROLL  OR 
GESTURE CALL  BASED  ON  INVOKING 
THE  SCROLL  OR  GESTURE OPERATION 
100 
j. 
RESPOND  TO  AT  LEAST ONE SCROLL  CALL, 
IF ISSUED,  SCROLL  A WINDOW  HAVING A 
VIEW  ASSOCIATED  WITH  THE EVENT  OBJECT 
BASED  ON  AN  AMOUNT  OF  A SCROLL  WITH 
THE SCROLL  STOPPED  AT  A PREDETERMINED 
POSITION  IN  RELATION  TO  THE USER  INPUT 
110 
~ 
RESPOND  TO AT  LEAST ONE  GESTURE CALL, 
IF ISSUED,  CHANGE A VIEW  ASSOCIATED 
WITH  THE EVENT  OBJECT BASED ON 
RECEIVING  A PLURALITY  OF INPUT POINTS 
IN  THE  FORM  OF THE  USER  INPUT 
111 
FIG.  1 
U.S.  Patent  Nov. 30.2010  Sheet 2 of 37  US  7,844,915  B2 
200 
rv 
TRANSFER  A SET  BOUNCE CELL 
2P2 
+ 
SET  AT  LEAST  ONE OF  MAXIMUM  AND 
MINIMUM  BOUNCE VALUES 
~ 
+ 
CAUSE  A SLIGHT  BOUNCE OF A SCROLLED 
REGION  IN  AN  OPPOSITE  DIRECTION  OF A 
SCROLL  BASED  ON  A REGION  PAST  AN  EDGE 
OF  A CONTENT BEING VISIBLE IN  A DISPLAY 
REGION  AT  THE END OF  THE  SCROLL 
20Ji 
FIG.  2 
300 
rv 
TRANSFER  A RUBBERBAND  CALL  TO  CAUSE 
RUBBERBANDING A SCROLLED  REGION 
DISPLAYED WITHIN  A DISPLAY  REGION 
302 
+ 
TRANSFER  AN  EDGE  RUBBERBAND  CALL  TO 
SET  DISPLACEMENT VALUES  FOR  AT  LEAST 
ONE EDGE  OF  THE  DISPLAY  REGION 
3Jl4 
FIG.  3 
U.S.  Patent  Nov.  30,2010 
MOVEMEN 
414 
T 
\ 
WINDOW 
410  .. 
___/ 
v 
GUI 
DISPLAY 
408 
I 
' 
! 
I 
10000\\ 
\ 
' 
I 
I 
I 
I 
Sheet 3 of 37 
/400 
 
 
 
INFORMATION 
4J2c1 
INFORMATION 
4J.U 
INFORMATION 
4123 
INFORMATION 
412,4 
 
 
 
G 
FIG. 4 
US  7,844,915  B2 
p 
0 
I 
I 
I 
I 
U.S.  Patent 
DISTANCE 
512-1 
'-
TERMINUS. 
514 
WINDOW. 
410 
Nov.  30,2010  Sheet 4 of 37 
GUI 
DISPLAY 
    
408 
I 
\ 
11000   
 
\ 
 
 
 
I 
           
412-1 
- - --
VELOCITY  r-
510-1 
'--
- - --
I 
y 
v 
G 
FIG.  SA 
US  7,844,915  B2 
F 
c 
I 
U.S.  Patent 
1ERMINUS  ----
514 
WINDOW 
410 
-
Nov.  30,2010  Sheet 5 of 37  US  7,844,915  B2 
"" 
GUI 
DISPLAY 
/400 
408 
' 
' 
' 
I  -
11000\. 
\ 
c 
,
 
 
 
 
INFORMATION 
;12-1 
- - -
/ 
~ 
l/ 
8 
FIG.  58 
U.S.  Patent 
DISTANCE 
512-1 
TERMINUS 
514 
WINDOW 
410 
Nov. 30.2010  Sheet 6 of 37  US  7,844,915  B2 
f' 
GUI 
DISPLAY 
~ 4 0 0 
408 
' 
i 
' 
' 
ttooo 
\ 
0 
' 
\ 
510-2 
v VELOCITY 
I 
iNFORMATION 
I 
1JH 
- - - -
- - - -
I 
-
r 
l/ 
8 
FIG.  SC 
U.S.  Patent  Nov.  30,2010  Sheet 7 of 37  US  7,844,915 B2 
.  t 
  
r 2oo  100 
PORTABLe  UlfiFUNCTION  D"VICE 
 
3500.A 
[  SPEAKER 
1.1__1_ 
) r OPTICAL 
_  SENSOR  1P4 
[  PROXIMITY 
SENSOR  ill 
ro 
( 
0 
N 
L]4Q2 
Current  Time 
404 
G  106 
;::: 
( 
.  }3502 
3504 
ro 
In box 
/ 
0 
N 
Marlboxes  _ 
0 
L. 
3512-1  3506-2  3510-2 
  Bruce         January  30,       
Lunch  meeting  today.d
508
2 
K.  B  k 35063  35103 
rm  roo   
January 30,  2006' 
3508-3 
Draft  agreementv 
Bob  Adams 
I 
I  January 29,  2006 
I 
Project Orion  f---..  3514 
35122 
I 
 
Darin  Adler     January 29,  2006 
fantasy  football 
,, 
Aaron  Jones  January  29.  2006 
Fwd:  status  report 
Kim  Brook  January  28.  2006 
Re:  proposal  3532 
\ 
"  j  3518 
CD 
w 
0 
9 
LZJ 
3020 
352.1 
35.2.4.  35Zll 
351_Q 
(MICROPHONE) 
111  204 
FIG.  6A 
U.S.  Patent  Nov.  30,2010  Sheet 8 of 37  US  7,844,915 B2 
2!1(;  I 
100 
  
PORTABLE  MULTIFUNCTION  DEVICE 
-
3500A 
(  SPEAKER 
111 
J l  OPTICAL  l PKOXIMiTY 
SENSOR  164  SENSOR  166 
co: 
) 
0 
N 
..::::J402 
Current Time 
404  IIJ>  406 
-
( 
ysoz 
    
  
Mailboxes 
In box 
O' 
N 
-
Aaron  Jones J
506
'
1 
3510-1 
R  p  .  O .  3508-1 
January 30,        
e:  rowct  r1on  
3534 
35121  35062  35102 
  Bruce         _ January 30,       
Lunch  meeting  today.:l'
08
-
2 
353D 
K'  B  k 35063  I  3510-3 
1m  roo    1  January 30,       
D  I  35083  I 
rat                  
Bob  Adams 
_:  January  29,  2006 
Project Orion 
\I 
I 
3512
.
2
Darin  Adler 
  fantasy football 
January 29,  2006 
Aaron  Jones  January  29,  2006 
Fwd:  status  report 
\  "f  /c 3518 
(j) 
rn 
0 
9 
[ZJ 
)520 
3522  )544 
:ill.6. 
3510 
(MICROPHONE 
ill 
@ 
4 
FIG.  68 
U.S.  Patent  Nov.  30,2010  Sheet 9 of 37  US  7,844,915  B2 
I      I 
100 
   
PORTABLE  MULTIFUNCTION  DEV'CE 
-
3500A 
(  SPEAKER 
111 
)  [  OPTICAL  d [ PROXIMITY  J 
SENSOR  164  SENSOR  1Q 
rol 
) 
0' 
N' 
L:::l1DZ 
Current  Time 
404  l:b  406 
.:::: 
( 
r502 
    
In box 
' 
rol 
Mailboxes 
  
3536. 
Aaron  Jones -2
506
.
1 
3510-1 
R  p  .  O .  35081 
January  30,       
e:  reject      
3512-1  3506-2  3510-2 
  Bruce         January  30,       
Lunch  meeting  today-2
508
2 
353il 
K'  B  k 35063  I  35103 
Jm  r00    1  January 3Q,       
3508-3 1 
Draft              r..-3514 
Bob  Adams 
  January 29,  2006 
Project  Orion 
\  1 
I 
 
 
3510-1 
R  p  .  I O .  35081 
January 30,       
e:  ro)eC      
3534 
3512-1  3506-2  3510-2 
4J  Bruce         January 30,       
Lunch  meeting       
  
 
J530 
Kim  Brook 
  
 
3510-3 
January 30,       
Draft agreement 
  
 
Bob  Adams 
January 29,  2006 
Project  Orion 
3512
-
2
Darin  Adler 
  fantasy football 
January 29,  2006 
Aaron  Jones  January 29,  2006 
Fwd:  status  report 
\  ...  __,{.3518 
(jJ 
rn 
0 
9 
[2] 
3520 
3522  3524  3526 
3510 
          
 
4 
FIG.  60 
U.S.  Patent  Nov. 30.2010  Sheet 11  of 37  US  7,844,915  B2 
700 
~ 
TRANSFER  A DIRECTIONAL  SCROLL  CALL 
TO  DETERMINE IF DIRECTIONAL  SCROLLING 
IS  ENABLED 
!02 
~ 
TRANSFER  A DIRECTIONAL  SCROLL  ANGLE 
CALL  TO SET A SCROLL  ANGLE FOR  LOCKING 
THE SCROLLING IN  AT  LEAST  ONE OF A 
VERTICAL  OR  A HORIZONTAL  DIRECTION 
704 
~ 
LOCK  THE SCROLLING IN  THE HORIZONTAL 
DIRECTION  IF A USER  INPUT FORMS  AN 
ANGLE WITH  A HORIZONTAL  DIRECTION  THAT 
IS  LESS  THAN  OR  EQUAL  TO  A FIRST  SCROLL 
ANGLE 
706 
~ 
LOCK THE SCROLLING IN  THE VERTICAL 
DIRECTION  IF A USER INPUT FORMS AN 
ANGLE  WITH  A VERTICAL  DIRECTION  THAT 
IS  LESS  THAN  OR  EQUAL  TO A SECOND 
SCROLL  ANGLE 
708 
FIG.  7 
U.S.  Patent 
---
---
Nov. 30.2010 
--
sOB;- --- .. 
' 
' 
' 
' 
' 
' 
' 
' 
--
Sheet 12  of 37 
' 
' 
' 
' 
' 
' 
810' 
.  ' 
(: 
'  ' 
'  ' 
'  ' 
'  ' 
'  ' 
'  ' 
'  ' 
" --
---
---
---
US  7,844,915 B2 
---
---
--
1\  ----- '--806 
---
--
--
---
' 
' 
I  l  --.._ 
--
1  \  ---
1  l  --
'  ' 
'  ' 
'  ' 
' 
' 
' 
' 
' 
1
812 
' 
' 
' 
' 
' 
' 
' 
' 
' 
' 
' 
' 
' 
' 
' 
804 
FIG. 8 
802 
U.S.  Patent  Nov. 30.2010  Sheet 13  of 37  US  7,844,915  B2 
900 
~ 
TRANSFER  A DECELERATION  SCROLL  CALL 
TO SET  A DECELERATION  FACTOR  FOR  A 
DRAG  USER  INPUT  THAT  I 'NOKES A SCROLL 
wz 
 
SLOW  THE SCROLL  TO A STOP  BASED 
ON  THE SPEED  OF THE DRAG USER  INPUT 
904 
FIG.  9 
1000 
~ 
TRANSFER  A SCROLL  HYSTERESIS CALL  TO 
DETERMINE WHETHER  THE USER INPUT 
INVOKES A SCROLL 
1002  . 
 
SET THE  HYSTERESIS  VALUE FOR 
DETERMINING WHETHER  A USER INPUT 
INVOKES  A SCROLL 
1004 
FIG.  10 
U.S.  Patent  Nov. 30.2010  Sheet 14 of 37  US  7,844,915 B2 
1100 
~ 
TRANSFER  A SCROLL  INDICATOR CALL  TO 
DETERMINE WHETHER AT LEAST ONE 
SCROLL  INDICATOR  ATTACHES  TO A SCROLL 
REGION  OR  A WINDOW  EDGE 
11Q2 
+ 
OPTIONALLY  ATTACH  SCROLL  INDICATORS 
TO  A SCROLL  REGION  BASED  ON 
THE  SCROLL  INDICATOR  CALL 
1104 
+ 
OPTIONALLY ATTACH  SCROLL  INDICATORS 
TO A WINDOW  EDGE  BASED  ON 
THE SCROLL  iNDICATOR  CALL 
:!JQ 
FIG.  11 
1200 
~ 
TRANSFER  AN  INADVERTENT USER  INPUT 
CALL  TO  DETERMINE WHETHER  THE USER 
INPUT WAS  INADVERTENT 
1202 
+ 
IGNORE THE INADVERTENT  USER  INPUT 
BASED  ON  THE  INADVERTENT  USER  INPUT 
CALL 
1204 
FIG.  12 
U.S.  Patent  Nov. 30.2010  Sheet 15 of 37  US  7,844,915  B2 
1300 
~ 
TRANSFER A HANDLE GESTURE EVENT  CALL 
1JQ2 
+ 
TRANSFER A GESTURE CHANGE  CALL  IN 
RESPONSE TO THE  HANDLE GESTURE 
EVENT  CALL 
1])1 
FIG.  13 
1400 
~ 
TRANSFER  A SCALING TRANSFORM  CALL 
TO  DETERMINE A SCALING TRANSFORM 
FORA VIEW  ASSOCIATED WITH  A USER 
INPUT HAVING A PLURALITY OF  iNPUT  POINTS 
llil2 
+ 
TRANSFER  A SCALING GESTURE  START 
CALL 
1404 
+ 
TRANSFER  A SCALING GESTURE PROGRESS 
CALL 
.1406 
+ 
TRANSFER  A SCAL!NG GESTURE END 
CALL 
Hall. 
FIG.  14 
U.S.  Patent  Nov.  30,2010  Sheet 16 of 37 
1502 
\ 
~ 
~ ~ - - - - - - -
---.  1508 
.r-J 
 
 
1 5 1 ~ ' , \ 
\,  : 
' 
' 
' 
' 
/ 
'0::--""-_,;_.-- ~ 
' 
,' 
FIG.  15 
US  7,844,915 B2 
1602 
) 
_________ / ________ , 
1604 
) 
_[ 
1608--.l 
   
  
      
  
{) 
1612--, 
-X 
1610--. 
-0 
-------------------
FIG.  16A 
1656 
1660-
1658-
1650 
) 
                  
1652 
---{) 
0  1664 
' 
' 
' 
' 
' 
' 
' 
1654 
-x 
    
0' 
-o 
  
' 
' 
' 
' 
' 
' 
' 
' 
' 
' 
' 
' 
' 
'  ' 
l------------------ 
FIG.  168 
 
'JJ 
 
 
""  ;-
= 
... 
:2 
0 
 
w 
.o 
"' 
0 
- 0 
00 
"" 
a 
-
_, 
0 
 
w 
_, 
 
"' 
__, 
 
_.. 
-;, 
-
'-" 
s 
U.S.  Patent  Nov. 30.2010  Sheet 18 of 37 
..,. 
,__ 
~ , 
I 
b 
US  7,844,915 B2 
-
u. 
U.S.  Patent  Nov. 30.2010  Sheet 19 of 37  US  7,844,915  B2 
1700 
rv 
TRANSFER  A ROTATION  TRANSFORM  CALL 
TO DETERMINE A ROTATION  TRANSFORM 
FOR  A VIEW  ASSOCIATED  WITH  A USER 
INPUT HAVING A PLURALITY OF INPUT POINTS 
1702 
~ 
TRANSFER A START  ROTATION  GESTURE 
CALL 
1704 
~ 
TRANSFER  ROTATION  GESTURE 
PROCESS  CALL 
lTOJl 
~ 
TRANSFER  A ROTATION  GESTURE END 
CALL 
1708 
FIG.  17 
U.S.  Patent  Nov. 30.2010  Sheet 20 of 37  US  7,844,915  B2 
NO 
1800 
r - - - - , ~ 
NO 
NOTIFY 
DELEGATE 
181Q 
FIG.  18 
NO 
YES  CALCULATE NEXT 
STATE 
1806 
U.S.  Patent  Nov. 30.2010  Sheet 21  of 37  US  7,844,915  B2 
1900 
rv 
START AT  LEAST TWO ANIMATIONS 
190.2 
~ 
DETERMINE THE PROGRESS  OF EACH 
ANIMATION 
1904 
+ 
UPDATE EACH  OF AT LEAST  TWO 
ANIMATIONS  BASED  ON  A SINGLE TIMER 
liQ!i 
FIG.  19 
U.S.  Patent  Nov. 30.2010  Sheet 22  of 37  US  7,844,915  B2 
2000 
~ 
PROVIDE A SINGLE ANIMATION  TIMER 
2002 
~ 
ANIMATE A PLURALITY  OF ANIMATIONS 
WITH  THE SINGLE ANIMATION  TIMER 
2 0 Q ~ 
FIG.  20 
U.S.  Patent  Nov. 30.2010  Sheet 23  of 37  US  7,844,915  B2 
2100 
rv 
SET ATTRIBUTES  OF  VIEWS 
INDEPENDENTLY WITH  EACH  VIEW  BEING 
ASSOCIATED  WITH  PROCESS 
2102 
~ 
TRANSFER A SYNCHRONIZATION  CALL 
TO SYNCHRONIZE ANIMATIONS  FOR  THE 
MULTIPLE VIEWS  OF THE  DISPLAY 
2104 
~ 
TRANSFER  A SYNCHRONIZATION 
CONFIRMATION  MESSAGE WHEN  A 
SYNCHRONIZATION  FLAG  IS  ENABLED  BASED 
ON  THE LIST OF THE  PROCESS  BEING 
SYNCHRONIZED 
2106 
+ 
UPDATE THE ATTRIBUTES 
OF THE VIEWS  INDEPENDENTLY 
2106 
+ 
TRANSFER  A START ANIMATION CALL  TO 
DRAW  THE  REQUESTED  ANIMATIONS 
2110 
FIG.  21 
U.S.  Patent  Nov. 30.2010  Sheet 24 of 37  US  7,844,915 B2 
2200 
2210 
FIG.  22A 
. 2200 
2.2.10 
FIG. 228 
U.S.  Patent  Nov. 30.2010  Sheet 25 of 37  US  7,844,915  B2 
2300 
~ 
CONSTRUCT  A DATA  STRUCTURE HAVING 
A HIERARCHY OF LAYERS  WITH  A 
LAYER  BEING ASSOCIATED  WITH  A 
VIEW  AND  OWNING  THE  VIEW 
2302 
+ 
REMOVE THE  LAYER  FROM  THE  DATA 
STRUCTURE 
2304 
~ 
SWITCH  OWNERSHIP OF THE  VIEW 
FROM  THE  LAYER  TO THE VIEW 
<Jllo 
FIG.  23 
2400 
~ 
CONSTRUCT A DATA  STRUCTURE  H A V I . ~ G 
A HIERARCHY OF  LAYERS  WITH  A 
LAYER  BEING ASSOCIATED  WITH  A 
VIEW 
2402 
~ 
STORE  THE  DATA  STRUCTURE  IN  MEMORY 
2404 
~ 
MAINTAIN  A RETAINED  COUNT  OF THE 
NUMBER  OF  REFERENCES  TO  THE  VIEW 
FROM  OTHER  OBJECTS 
21l!Q 
~ 
DEALLOCATE THE VIEW  FROM  MEMORY 
IF THE  RETAINED  COUNT  IS  ZERO 
2408 
FIG. 24 
U.S.  Patent  Nov. 30.2010  Sheet 26 of 37  US  7,844,915 B2 
2508 
2504  2.5.06 
2512 
FIG.  25A 
2.5llli  ~  2512  ~ 
FIG.  258 
U.S.  Patent  Nov. 30.2010  Sheet 27 of 37  US  7,844,915  B2 
2600 
~ 
CONSTRUCT A DATA  STRUCTURE HAVING 
A HIERARCHY OF LAYERS  ASSOCIATED 
WITH  THE  USER  INTERFACE OF THE 
DEVICE 
2402 
~ 
DETERMINE WHETHER  EACH  LAYER  OFTHE 
DATA  STRUCTURE IS  ASSOCIATED  WITH 
MEDIA OR  NON-MEDIA CONTENT 
2604 
~ 
DETACH  MEDIA CONTENT  FROM  THE  DATA 
STRUCTURE 
2606 
~ 
STORE  MEDIA CONTENT  IN  A FIRST 
MEMORY LOCATION 
2608 
~ 
STORE NON-MEDIA CONTENT  IN  A SECOND 
MEMORY LOCATION 
2610 
J 
COMPOSITE THE  MEDIA AND  NON-MEDIA 
CONTENT  FOR  DISPLAY  ON  THE 
DEVICE 
2612 
FIG. 26 
U.S.  Patent  Nov. 30.2010  Sheet 28 of 37  US  7,844,915  B2 
2712 
2710 
- - - ~ 
' 
2 7 0 J ~ 
2120. 
I  I  I 
I  I  I 
 
' 
GQ 
~ 
' 
2722  2732  2742 
FIG. 27 
U.S.  Patent  Nov. 30.2010  Sheet 29 of 37  US  7,844,915  B2 
2838  2832 
~ 2 8 0 0 
2834  \  ! 
\ 
2836 
2840 
2844 
2846 
FIG.  28 
V.s.  Patent 
/ 
I 
/ 
/ 
I 
i 
' 
/ 
( 
I 
I 
' 
/ 
' 
' 
' 
/ 
I 
/ 
I 
I 
' 
/ 
J--._ ___ _ 
- ~ , 
/ 
I  I 
/  / 
' ' 
// 
/ 
I 
I 
/ 
i 
FIG.  29 
US 7,844,91SIJ:t 
     
U.s.  Patent 
308g 
Nov. 30, 2010 
Sheet 31  of37 
-1084  30.98 
! 
//// 
//  3093 
   ...-/ 
FIG.  30A 
3092 
) 
/ 
 
--
'  ! 
3096 
<::6, 
       --- I, 
':'J_  _________ j  "-3089 
{If!__________  \,_Jog1 
FIG.  308 
VS 7,844,915 BZ 
3070 
DISPLAY  DEVICE 
31Q6 
BACKLIGHT 
3106A 
...  ..  .  STORAGE 
DIGITAL 
PROCESSING 
DEVICE 
3101 
D G T. 
SYSTEM 
ANTENNA  I  I  ALAND/OR  3103 
SYSTEM  f- ANALOG  RF     AUDIO 
31Q1  TRANSCEIVER  f- MEDIA  TRANSDUCER 
-   31.02.  PROCESSING  3.1Sl.a 
SYSTEM 
3109 
I 
I 
I MICROPHONE l  BATTERY 
~ .  310.7 
SENSOR(S)  INPUT  105A 
3110  DEVICE(S) 
.  31Q5 
3100 
FIG.  31 
~ 
~ 
'JJ 
 
~ 
"" 
It 
= 
.... 
:2 
~ 
w 
.o 
"' 
0 
- 0 
00 
"" 
a 
w 
"'  0 
~ 
w 
_, 
~ 
"' 
__, 
~ 
.... 
-;, 
-
.., 
s 
U.S.  Patent  Nov. 30.2010  Sheet 33 of 37  US  7,844,915 B2 
CACHE 
3208 
          
 
/3200 
! 
3202  3204 
,_; 
  
MICROPROCESSOR 
MEMORY 
3206 
 
< 
BUS  > 
,------,1,_--....--1  -----, 
DISPLAY 
CONTROLLER 
AND 
DISPLAY 
DEVICE 
(OPTIONAL) 
3210  3212 
1/0 
CONTROLLER(S) 
3214 
1/0 DEViCE(S)   
(E.G .  KEYBOARD. 
CURSOR  CONTROL 
DEVICE.  NETWORK 
INTERFACE) 
FIG.  32 
321 6 
J 
SENSOR(S) 
FOR  USER 
ACTIVITY 
U.S.  Patent  Nov. 30.2010  Sheet 34 of 37  US  7,844,915 B2 
3306 
' 
3302 
I 
3304 
FIG.  33A 
U.S.  Patent  Nov. 30.2010 
I 
3354 
Sheet 35 of 37 
FIG.  338 
US  7,844,915 B2 
3352 
U.S.  Patent  Nov. 30.2010  Sheet 36 of 37  US  7,844,915 B2 
-3362 
\ 
3360 
FIG.  33C 
U.S.  Patent  Nov. 30.2010  Sheet 37 of 37  US  7,844,915  B2 
3400 
rv 
CONSTRUCT A HIERARCHY OF VIEWS 
OPERATING  ON  TOP OFA HIERARCHY  OF 
LAYERS 
3402 
~ 
PROVIDE ACCESS  TO  THE HIERARCHY  OF 
VIEWS WITHOUT  PROVIDING ACCESS  TO  THE 
HIERARCHY  OF  LAYERS 
3404 
FIG.  34 
us 7,844,915  82 
1 
APJ>I.I<:ATIO:\  J>RO<;RHlVII:\G 
1:'\TERFACES FOR SCROLLI:'\G 
OPERATIO:\S 
1:11:1  1)01:-nu;J)JSC!.OSURI; 
"111is  disclosure  rclmcs  to applicmion  prog.r<Jmming  inter-
faces  thm  provide scrolling opcrmions. 
COMI'tri-I;R PROGRAM I  IS'I-ING 
A  ponion  of the  disclosure  of tills  pmcnt  document  con-
wins  mmcrial  which  is  subject  to  copyright  prot<..><::tion.  The 
copyright  owner hns  no  objection  to  !Ucsimilc  reproduction 
by anyone oft he paten! document or the paten! disclosure. as 
it  appears  in  the  l'atenl  &  Trademark  Ollicc  patent  Ji!c  or 
n.><::ords.  bllt  otherwise  reserves  all  copyright  rights  whmso-
cvcr. 
Applicnnl has submitted herewith Computer Program I jst-
ings  which arc included as Appendix A.  allachcd. 
BACKGROUND 0!-' TilE DISCLOSURE 
2 
At  least  certain  embodiments  of the  present  disclosure 
include nn environment with user inter!Uce  soliwnre internct-
ing  with  n  soliware  npplication.  A  method  Jix  operating 
through an npplication  progrnnuning  interface  (.\PI)  in  tills 
5  environment  includes  trans!Crring  a  set  bounce  cal!.  The 
method  !i.1rthcr includes setting at  least one of maximum and 
minimum bounce vnlues. The set bounce call en uses a bounce 
of n scrolled region in nn opposite direction of n scroll bused 
on a region past an edge oft he scrolled region being visible in 
lCJ a display region at  the end of the scm!!. 
At  least  certain  embodiments  of the  present  disclosure 
include nn environment with user inter!Uce  soliwnre internct-
ing  with  n  soliware  npplication.  A  method  Jix  operating 
through an application  programming  intcrliJCc  (API)  in  this 
15  environment includes trans!Crringa mhhcrhand call. Rubber-
handing a scrolled region within a display region occurs by a 
predetermined  maximum  displncement  when  the  scrolled 
region exceL'ds  n displny L'dge.  The  method  further  includes 
trans!Crring an L"t.!gc  mhhcrhand call to set displacement \a!-
""  ucs  l(Jr at  least one L"t.!gc  of the display (e.g ..  top and bottom 
edges.  !eli and right edges). 
At  lenst  certnin  embodiments  of  the  present  disclosure 
include  gesture  opermions  for  n  display  of n  device.  The 
gesture  operations  include  pcr!(Hming  a  scaling  transl(mJJ 
"5  such  as  a  /oom  in  or  zoom  out  in  response  to  a  user  input 
having two or more input  points. The gesture opermions nlso 
include perlixming n rotntion transfonn to rotnte an image or 
view  in  response  to  a  user  input  having  two  or  more  input 
An.\1'1 is n source code inter!Uce thm n compmer system or 
program  library  prmidcs  in  order  to  support  n.:qucsts  !(Jr 
scniccs  !ium a  so!lwarc application.  An  API  is  spccilicd  in 
termsofn progrmnming !angunge that can be imerpretmive or 
compiled when nn npplication  is  built. rmher thnn nn explicit 
low  level  description of how  datu  is  laid olll  in  memory. The 
so!iwarc that provides the li.mctionality described by an API 
30 
is  said to  be an  implementation of the API. 
points. 
At  least  certain  embodiments  of the  present  disclosure 
include a method  for  perlixming animmions  for  n displny of 
n device. The method includes starting at  lenst one animmion. 
!"he method !i.1rthcr includes determining the progress o fcach 
animation. "l.hc method further includes completing each ani-
Various devices such as ek>ctronic devices. computing sys-
tems.  portnble devices. nnd hnndheld devices hnve soliwnre 
applicmions. The .\PI inter!Uces betw.  ..  -cn  the soliwnre nppli-
cations  and  user  intcrbcc so!iwarc  to  provide a  user  of the 
dL"\ icc with certain features and operations. A user may desire 
certain operations such as scrolling. selecting. gesturing. and 
animming opermions  for n display of the  device. 
35  mat ion hasL"t.! on a single timer. rhc single timer can he hasL"t.! 
on a redraw  intervnl of the displny hnrdwnre. 
Scrolling is the net of sliding a directional (e.g ..  horizontnl 
Vmious devices wllich perform one or more oft he forego-
ing  methods  and  machine  readable  mL"t.!ia  which.  when 
executed by a processing system. cause the processing system 
40  to  pcr!(mnthcsc methods. arc also dcscrihL"t.!. 
or vc11ica!) presentation ofcontent. such as text. drawings. or 
images.  across  a  screen  or  display  window.  In  a  typical 
grnphical  user inter!Uce.  scrolling  is  done with  the  help of a 
scro!!bar or using  keyboard  shortcllls  olien  the  nrrow  keys. 
Gesturing  is  n  type  of user  input  with  two  or  more  inplll 
45 
points.  Animating  operations  include  changing  content 
within a given time period. 
Other  methods.  devices nnd  machine  rendable  medin  me 
nlso describL'd. 
ISRII:J:  J)IOSC"RJI>"J"ION  01:.1.111:  I)RAWINCiS 
The disclosure is described by wny of example with rc!Cr-
ence to  the  accompnnying drnwings. wherein: 
"l11c  \arious  types  of devices  may  have  a  limited  display 
size. user interface. sollware. API  interface and/or processing 
cnpability which  limits  the  ense  of use  of the  devices.  User 
intcrbccs  of dL"\iccs  implement  APis  in  order  to  prmidc 
requested  li.mctionality  and  !Caturcs.  These  user  intcrliJccs 
cnn  have  dilliculty  interpreting  the  various  types  of  user 
inputs  and  providing  the  intendL'd  li.mctionnlity  associated 
with the user inputs. 
I'J(j.  1  is  !low  chart  of a  method  for  responding to  n  user 
,
0 
input of a data processing device: 
I'!Ci.  2  illustrates  details  of an  application  programming 
interface in  How chart  form nccording to certain tenchings of 
the  present disclosure: 
I'IG.  3  i!!ustrntes  details  of nn  applicmion  programming 
,
5 
interliJCc  in  !low chartl(mJJ according to ccJ1ain teachings of 
the present disclosure: 
SUMMARY 01: n II;  J)IOSC"RJI>"J"ION 
At  least  certain  embodiments  of the  presunt  disclosure 
include one or more applicmion progrmnming interfaces in nn  60 
em ironment  with  user  interbcc so!iwarc  interacting with  a 
so!iwarc application. \"arious  !i.mction calls or messages arc 
trnns!CrrL'd  vin  the  npplicmion  progrmnming  interfaces 
betWL'Cn  the  user  interface  soliwnre  and  soliwnre  applicn-
tions.  Exmnple npplication  progrmnming  inter!Uces  trnns!Cr  65 
li.mction calls to  impkment                        and animat-
ing operations !(Jr a de\ icc. 
I'!Ci.  4  is a  schematic diagram  illustrating an  embodiment 
of user interface of a portable electronic device 400 having n 
touch-sensitive display 408: 
I'IG.  5A-5C  i!!ustrme  at  lenst  some  embodiments of user 
interliJCc of a  portable clcctnmic dL"\ icc 400 ha\ ing a touch-
scnsiti\c display: 
I'IG.  6A-6D  i!!ustrnte  the  scrolling  of n  list  of items  to  n 
terminus of the list. nt  which point an area beyond the  lenni-
nus  is  displnyed  and  the  list  is  then  scrolled  in  nn  opposite 
din.:ction  until  the  area  bLytmd  the  terminus  is  no  longer 
displayed.  in  accordance with some embodiments: 
us 7,844,915  82 
3 
!'Ki.  7  illustra!cs  details  of an  application  programming 
intcr!Ucc  in !low chnrt form according to certain teachings of 
the present disclosure: 
!-'IG.  8 illustrates Hrst and s<..>cond  scroll angles for  locking 
4 
FJ(j.  J2 shows another example of a device in accordance 
with one embodiment of the  present disclosure: 
a  scroll  of a  display  of a  de\ icc  in  a  hmizon!al  or  vertical  'i 
direction according to certain teachings of the present disclo-
!-'I G.  JJ.-\  is  a perspective  view  of n device  in  a lirst  con-
ligurmion (e.g.  inn lnptop conligurmion)  in  accord.1ncc with 
one embodiment of the present disclosure: 
FJ(j. JJ!S is a pcrspccti\e \ iLw  of the dL"\ iceoJTKi. JJA in 
n  second  conliguration  (e.g.  a  trnnsition  conligurntion)  in 
nccordnncc with one embodiment of the  present disclosure: 
sure: 
!-'IG.  9  illustrmcs  dctni!s  of an  application  progranuning 
intcrbcc in !low chart  !lmn according lo certain teachings of 
the present disclosure: 
I'Ki.  I 0  illustrates details of an  application  programming 
intcr!Ucc  in !low churl form according to certain teachings of 
the present disclosure: 
FJ(j. JJC is a pcrspccti\e \ iLw  of the dL"\ iceoJTKi. JJA in 
lCJ a  third  con!iguration  (e.g ..  a  tablet  con!iguration)  in  accor-
dance with one embodiment of the present disclosure: and 
!-'IG.  J4 illustrates dcwils of nn  npplication  progrmnming 
intcr!Ucc  in  How chart  form nccording to certain tenchings of 
the present disclosure.  !'Ki.  I I  illustrates details of an  application  programming 
intcrbcc in !low chart  !lmn according lo certain teachings of  l'i 
the present disclosure: 
l)!T\l!J:J) Dl:SCR!I'TION 
!-'IG.  12  illustrntcs details of an  applicmion  prog.ranuning 
inter!Ucc  in !low chart form according to certain teachings of 
the present disclosure: 
!'Ki.  B  illustrates details of an  application  programming  "" 
inter!Ucc  in !low chart form according to certain tcnchings of 
the present disclosure: 
\arious embodiments and aspects of the disclosure will he 
described with  rekrence to  details discussed below. and the 
accompanying drawings  will  illustrate  the  various  embodi-
ments.  The  following  description nnd  drnwings  arc  illustra-
tive of the disclosure nnd arc  not  to be  constnK'<i  as  limiting 
the  disclosure.  Numerous  speci!ic  details  are  descrihL'<i  to 
prm ide a through understanding of \arious embodiments of 
!-'IG.  14  illustrntcs details of an  applicmion  prog.ranuning 
interbce in !low chart  !lmn according to certain teachings of 
the present disclosure: 
!-'IG.  15  illustrntcs n display  of n device  having a scnling 
trnnslixm ofn view 
!-'IGS.  16.\ and  16B illustrntc a displny of n device with a 
\ iLw  ha\ ing a  !irs! and a  second scaling  bctor: 
"5  the  present  disclosure.  However.  in  certnin  instances.  well-
known or conventional  dcwils  arc  not  described  in  order to 
provide n concise discussion of embodiments of the  present 
disclosure. 
!'Ki. 16(" illustrates changing a viLw  Jiom a scale bctor of  30 
2x to a scnle !Uctor of 1  x in m lenst some embodiments of the 
Some  pm1ions  of the  detailed  descriptions  which  JlJI!ow 
arc prcscnk-d in  terms of algorithms which includcopcrmions 
on  dnw  storL'<i  within  a compmcr  memory  .. \n nlgoritlun  is 
generally a  sell:consistcnt sequence of operations leading to 
a  desired  result.  The operations  typically  require or invohc 
physical  manipulations  of  physical  quantities.  Usually. 
present disclosure: 
!-'IG.  17  illustrntcs details of an  applicmion  prog.ranuning 
interbce in !low chart  !lmn according to certain teachings of 
the present disclosure: 
!-'IG.  18  illustrntcs details of an  applicmion  prog.ranuning 
inter!Ucc  in !low chart form according to certain tcnchings of 
the present disclosure: 
!'Ki.  19  is  !low  chart  of a  method  !(Jr  animating  \iLws 
displayed on a display of a de\ ice: 
!'Ki.  20  is  !low  chart  of a  method 
displnycd on a display of a device: 
!(H  animating  \ iLws 
!-'IG.  21  illustrntcs details of an  applicmion  prog.ranuning 
interbce in !low chart  !lmn according to certain teachings of 
the present disclosure: 
!'KiS. 22A and 2 2 1 ~  illustrate synchroni/ing the resizing of 
windows of a displny of a device: 
!-'IG.  2J illustrntcs n method  for  switching ownership of a 
\iLw  of an application displayed on a  display of a data pro-
cessing de\ ice: 
!'Ki. 24  illustrates a method  !(H  memory management of a 
view of an  application displnycd on a display of a device: 
!-'IGS.  25.\  nnd  258  illustrntc  a  datu  structure  having  a 
hierarchy oflaycrs with a layer being associa!L"d with a\ iLw: 
!'Ki.  26  illustrates  a  method  !(H  cmnpositing  media  and 
non-media content of user intcrliJCc  !l1r display on  a device: 
!-'IG.  27  illustrmcs  a dnta  structure or lnyer  tree  hnving  a 
hierarchy of lnycrs: 
!'Ki. 28 is a perspective\ iLw  of  a device in accordance with 
one embodiment of the present disclosure: 
!'Ki. 29 is a perspective\ iLw  of  a device in accordance with 
one embodiment of the present disclosure: 
!-'IGS.  JO.-\  nnd JOB  illustrmc a device J070 nccording to 
one embodiment of the disclosure: 
!'Ki.  J1  is a  block diagram of a  system  in  which embodi-
ments of the present disclosure can he implemented: 
35  though not necessarily. these quantities take the  fonn ofdcc-
tricnl or magnetic signnls cnpablc of being stored. trnns!Crrl.-d. 
combined.  compared.  and  otherwise  manipulated.  It  has 
prmen comenicnt at  times.  principally  ll1r  reasons  of com-
mon usngc.  to  refer to these signals as bits. values. dements. 
" 
symbols. charnctcrs.  terms.  numbers. or the  like. 
It should be  borne  in  mind. however.  thm  nil  of these nnd 
similar tcm1s arc to he associated with the appropriate physi-
cal  quantities  and  arc  merely  convenient  labels  applied  to 
these  qunntitics.  Unless  spccilically  stntcd  otherwise  as 
45  npparcnt  from  the  following discussion.  it  is app!L>ciatcd  that 
throughout  the description. discussions  milizing terms  such 
as  "processing"  or  "computing" or "calculating" or  "deter-
mining" or "displaying" or the like. can rdCr to the action and 
processes of a datu  processing system.  or  similar ck>ctron.ic 
'0  device.  thnt  manipulmcs and  transfonns  datu  represented as 
physical  (electronic) quantities within the system's registers 
and memories into other data similarly represented as physi-
cal  quantities  within  the  system's  memories  or  registers  or 
other  such  inli.mnmion  storage.  transmission  or  display 
'5  devices. 
The present  disclosure c;m  relate to  an apparatus  !l1r  per-
limning one or more of the operations described herein. n1is 
apparatus may be specially constmctcd  ll1r  the required pur-
poses. or it  mny comprise n gencrnl purpose compmcr sdec-
60  tivdy nctivntL-d or reconligurL'<i by n complllcr program stored 
in the computer. Such a computer program may be stored in a 
machine (e.g.  computer) readable storage  medium.  such as. 
bm  is  not  limitl.-d  to.  any type of disk  including lloppy disks. 
optical  disks.  CD-ROMs.  and  mngnetic-optical  disks.  rend-
65  only memories  (ROMs).  random access memories (R.\Ms). 
erasable programmable ROMs (I ;PROMs). ck>ctrically eras-
able programmable ROMs (I;! :!'ROMs). !lash memory. mag-
us 7,844,915  82 
5 
netic or optical can.ls. or any type o fmcdia suitable l(Jr storing 
electronic  instructions. and each coupk-d to  a bus. 
A  machine-readable medium  includes any m<..>chanism  Jix 
storing  informmion  in  a  form  readable by  a  machine (e.g ..  a 
computer).  For  example.  a  machine-readable  medium 
includes  read  only  memory  ("ROM"):  random  access 
memory ("R. \M"): magnetic disk storngc media: optical stor-
age media:  Hash  memO!)' devices: etc. 
6 
The pm1ah!c media player may  include a  mL-dia  sck>ction 
device. suchns n dick wheel input device onnn iPod R or iPod 
Nnno R mcdin  p!nycr  from  Apple Compmcr.  Inc.  of Cuper-
tino. Cnlif  ..  n touch  screen  inpm  device.  pushbunon device. 
5  mmahle  pointing  input  device  or  other  input  dL"\icc.  The 
media sck>ction device may he used lo sclcc!thc mL-dia slorL-d 
At  least  ccJ1ain  cmhmlimcnls  of the  present  disclosure 
indudconcor application programming intcrliJccs in an cnvi- lCJ
ronmcnl with user intcrliJcc sollwarc interacting with a soli-
ware  application.  Vmious  li.mction  calls  or  messages  arc 
trans!Crr<..'d  via  the  applicmion  prog.rmnming  interfaces 
between  the  user  in!erliJCc  sollwarc  and  sollwarc  applica-
tions. rrans!Cning the !imclion calls or messages may include  15 
issuing.  initiating. invoking or receiving the  li.mction culls or 
mcssngcs.  Fxnmple  npp!icmion  prog.rnnuning  imcrfnccs 
1rnns!Cr li.mction culls to  implemcm scrolling. gesturing. nnd 
animating operations !l1r a de\ icc ha\ ing a display region. An 
API  may also  implement  !lmc!ions having paramclcrs.  vari- "" 
nbles.  or  poimcrs.  An  .\PI  mny  r<.>cdvc  pmmnetcrs  ns  dis-
dosed or other combinmions ofpnrnmc1crs. In  nddi1ion to the 
AI' Is disclosed. other AI' Is individually or in cmnhinalion can 
pcrllm11  similar !i.mclionality as  the disclosed Al'ls. 
on  the  storngc device nnd/or 1hc  remote  storngc device. The 
portnblc mcdin  p!nycr mny.  in  ntlens1 ccrwin embodiments. 
include a  display device which  is  coupled lo  the media  pro-
cessing system lo display  titles or other  indicators of mL-dia 
being selec!L-d  through the input device and being prescn!cd. 
ci1hcr  1hrough  n  spcnkcr  or cnrphonc(s).  or  on  the  displny 
device.  or  on  both  disp!ny  device  nnd  n  spcnker  or  cnr-
phone(s). In some embodiments. the display de\ icc and input 
device arc integra!L-d while in other embodiments the display 
device nnd  inpm device me  scpnrmc devices.  Fxnmples of n 
portnblc mcdin  plnycr nrc dcscribd in publishd U.S.  pntcnt 
npplicntion  Nos.  2003/0095096 nnd  2(X)410224638.  both  of 
which arc incorpora!L-d  by  rd"crcncc. 
! Omhodimcnls  of the disclosure described  herein  may  he 
purl  of other  types  of dmn  processing  systems.  such ns.  for 
cxnmple. cntcrtnimncnt systems or personnl digitn! nssistnms 
(I'DAs).  or  genera!  purpose  computer  systems.  or  spL>cial 
purpose  computer  systems.  or  an  embedded  device  within 
"!11c  display  region  is  a  llm11  of a  window.  A window  is  a 
disp!ny  region which mny  no!  hnvc n border nnd mny  be  the 
entire disp!ny  region  or men  of n displny.  In  some  embodi-
ments. a display region may ha\c a!  leas! one window and/or 
at leas! one viLw  (e.g  .. web. !ext. or image conlcnl). A window 
mny hnvc m lens! one view. The mc1hods. sys1cms. nnd nppn-
rntuscs disclosed  cnn  be  implemented  wi1h  disp!ny  regions. 
windows. nnd/or views. 
AI  leas!  ccJ1ain  embodiments  of the  present  disclosure 
include  scrol!ing  operations  !(Jr  scrolling  a  display  of a 
device. The scrol!ing opcrntions include bouncing n scrolled 
region  in  nn  opposilc  dir<.>clion  of n  scroll  when  n  scroll 
comple1cs.  mbbcrbnnding  n  scrolled  region  by  n  predeter-
mined  maximum  disp!accmcnl  when  the  scro!kd  region 
exceeds a display edge. and selling a scrolling angle that locks 
1hc  scrol!  in  n horizonwl or vcrticnl dircc1ion. 
At  lens!  ccnnin  embodiments  of 1hc  prcscm  disclosure 
include  gesture  operations  ll1r  a  display  of a  device.  The 
gesture  operations  include  pcrl(mning  a  scaling  lransl(mn 
such  as  a  zoom  in  or /oom out  in  response  lo  a  user  input 
hnving two or more inpm points. The gcsmrc opcrntions nlso 
include pcrfonning n rotmion 1rnnsli.mn to rot me nn  imngc or 
\iL"\\'  in  response  loa user  input  ha\ing  two  or  more  input 
points. 
At  lens!  ccnnin  embodiments  of 1hc  prcscm  disclosure 
include n method Ji.1r  pcrfonning nnimntions Ji.1r  n disp!ny of 
n device. The mc1hod includes stnrting m lens! one nnimntion. 
!-he mc!hod !lu1hcr includcsdc!crmining the progress of each 
animation. rhc mc!hod !i.n1hcr includes cmnplcting each ani-
mmion bused on n single 1imcr. The single timer cnn be bused 
on n rcdrnw  intcrvn!  of the  disp!ny  hnrdwnrc. 
AI  kasl ccnain embodiments oft he disclosure may he p;u1 
of a  digital  media  player.  such  as  a  portable  music  and/or 
\ideo media  player. which  may  include a  media processing 
sys1cm  10  present  1hc  mL'<iin.  n  s1orngc  device  10  s1orc  the 
mcdin  nnd  mny  limhcr include n rndio  frequency  (RF) trnns-
ccivcr  (e.g ..  an  RF  lranscci\cr  !(Jr  a  cellular  telephone) 
coupled  with  an  antenna  system  and  the  media  processing 
sys1cm.  In  ccrtnin  embodiments.  nK'<iin  s1orcd  on  n  remote 
storngc  device  mny  be  trnnsmincd  10  1hc  mcdin  p!nycr 
1hrough 1hc  Rl-'  1rnnsccivcr. The mL'<iin  mny  be.  for cxnmple. 
one or more of music or other audio. still  piclures. or motion 
piclurcs. 
"5  another device.  or cellular telephones which do  no!  include 
mcdin  plnycrs.  or muhi  touch  wble1  devices.  or  o1hcr  muhi 
touch devices. or devices which combine nspcc1s or li.mc1ions 
of these  de\ ices  (e.g ..  a  mL-dia  player.  such  as  an  il'odR. 
combined with a I'DA. an cnlcnainmcnl system. and a cel!u-
30  lm  telephone  in  one  device).  In  this  disclosure.  ck>clronic 
devices and consumer devices arc types of devices. 
!-'J(j.  1 is  !low  chart  of a  method  for  responding to  n  user 
input  of a  de\ icc. rhc method  100 includes recci\ ing a  user 
input  a!  block  102.  The user  input  may he in  the  !lmn oLm 
35  input key. bunon. wheel. touch. or o1hcr mcnns Ji.1r imcracting 
wi1h the device. The me! hod  100 li.1r!her includes crcming an 
cvcm objcc1  in  response  10  1hc  user inpm m  block  104.  The 
method  100  !i.Jr!hcr  includes  dc!cJmining whc!hcr  the even! 
ohjL>cl  invokes a  scroll or gesture operation a!  block  106.  For 
40  example. a single 10uch that drags a diswncc ncross n display 
of the device may  be intcrprck-d usn scroll operation.  In one 
embodiment. a two or more linger !ouch of the display may he 
inlcrprc!L-d  as  a  gesture  operation.  In  ccnain embodiments. 
dc!crmining whether the c\cnl ohjL>cl  invokes a scroll or gcs-
45  lure opcrmion  is  basL'<i  on  receiving n  drug user  input  for  n 
certnin time period. The method  100 limhcr includes issuing 
a!  kasl one scroll or gesture call based on invoking the scroll 
or gesture  operation  a!  block  108.  The  mc!lmd  100  !i.Jr!hcr 
includes  responding  10  nt  lens!  one  scroll  call.  if issued.  by 
-;o  scrolling n window  hnving a  view  (e.g ..  web.  1cx1.  or  imngc 
content) nssocintcd wi1h  the event objcc1 bused on an nmount 
of a scrol! with the scrol! slopped a!  a predc!cnninL-d  position 
in  relation  lo  the  user  input  a!  block  110.  For cxampk.  an 
input mny end m a ccnain posi1ion on n display of1hc device. 
'-'  The scrolling  may  continue  umil  reaching  a  prcdc1ermincd 
position  in  relation  lo  the  !as!  input  rccci\L-d  li'llm  the  user. 
The mc!hod  I 00  !lu1hcr  includes  responding  lo  a!  leas! one 
gesture calL  if issued. by changing a\ iLw  associated with the 
cvcm object  bnsd on r<.>cciving  a pluralily of input  poims  in 
60  the  form  of the  uscrinpm m block  112. 
In  ccJ1ain  embodiments  of the  present  disclosure  scroll 
operations  include  allaching  scroll  indicators  lo  a  nmlcnl 
edge of n display  .. \hcrnativcly.  the  scroll  indicmors cnn  be 
nnachcd  10  the  disp!ny  edge.  In  some  embodiments.  user 
65  input  in  the  form  of a  mouscl!ingcr  down  cnuscs  1hc  scroll 
indicators lo  he displayed on the display L-dgc.  content edge. 
or window L-dgc of the scrolk-d region.  If a mouse/linger up  is 
               [mtu:J Tim:Jq                    :ll(Jl[J!!>\ (  19-V9  "S!)!:!JO 
                 U!  (h'">J10JJS11[(!     ()() pOl(PlU.JO UO!J10J:Jdo ptmq.r:Jq 
-qiU  ;,11.1.                ;,mm 1!!!.\\  ;,:mep.Jo:x:m  U!  p;o.\e[dS!P    
JJilUO[  ou               J1[1  puo.\;,q  e;o.Je  J1[J  [pun  UO!):)..'">J!P 
         ue  U!           UJ1[J  st  JSH  Jt[l  pur,                 snu 
!UUJJ Jl(J  puo.\;,q          tm  JU!Od  l(J!l(\\  J1'  "JS!(  Jl(J.JO            
1'  OJ                 tqo TIU![(lUJS  Jl(J                ([9-V9  "S!)I:I 
             :lliJ  Ull  :l(lJ!Sl \  JJ'i!UO[  ou  )UJ)Ull:l :ll(J 
.JO  :lP!Slllll  um'i!;o.J  :lliJ                             )U:l)UllJ  :ll(J  "[]lUJS 
J1JJJO  p1w  Jt[l  JV  m;,mo::>  Jt[l          uoti!JJ  J1JJ        mnoum 
mnunxem J1Jl  SJ!ltH!  Jll[P-A  JUJtuJJe[dstp J1Jl  UJt[l            Jt[l 
m  J[q!st,\ JUJJUOJ Jl!JJO ;,ilp;, Jt[lJSed uo!ilJJ e ilunwm         
Jlll.JO )UJ)UOJ          JJS111' .J[           Jl(J UO  (h'">S1'q  JJl 'u'">p  1'.JO 
        1' .JO  :J'i!p:J          1'              um'i!;,.r  (h'">[(lUJS  :ll(J  U:lll\\ 
       
Jl[lJO UO!)JJJ!P          UP- U!  UO!ilJJ          J1(lJO 'i!upunoq 
.JO  JU11mtm  Jl(J  Jmtm:Jpp                       m11m!u!m  ptm 
lU11lU!XlnU  :ll(.!. "(h'">(qtm:J  S!  UO!J10JJdO J:m11oq     JJliPll\\ S:lU!Ul 
-JJPP zm::  )o[:lOJll                   [(tD ;,:m11oq :Jt].l. _)s-vs s!)!:! 
U!  p.'">qp::>s;op  SUO!)eJJdO  JJ1H10q  J1[J  Stu.IOJ.!Jd  ()QZ  p01[JJU1 
                  JUJSJ.Jd  Jl[lJO               JUJOS  JSeJ[  JP- U[ 
09  Jll[P-A                mnunxem p;,mm.JJJJP.'">Jd e .\q s.Jn::>Jo 00 
pOl[lJtu  J1]J  OJ  flmp.JOJJB  UO!f!JJ  (h'">!\O.IJS  r,  flu!p1mq.J;oqqn}j 
            IJl' m               JqTiu  ptm l.PI             
monoq  ptm  do1  J<.:J  ps am                        JtiJ         
-tpoqm;, JUlOS  U[  "PO  )j:lOiq J1' .\qdstp :ll(J.JO ;o'ilp.'">  :JUO JS1'JI  W 
s11u!tu.JJJ      w ,.s:J:m11oq, 
ptm            JSt['iltH]]OJ:Js  :ll(J  .l:llJl'  p:Jdttmp st  sp.--.!"qo           
-S!P  JJOtu  JO  JUO  Jl!JJO  UO!JOtu  J1[J  ;,!  "J-ZI S JJUeJS!p  J1[J 
       z-ZIS          Jt[l  UJ1[.\\  J-O IS .(Jpop.qo ;opnwnkm 
Jl!J  uet[l SSJ[  ;oq  ,\r,m  z-O JS  .\Jpop.qo ;opnJmilem J1[J  "SJUJtu 
-!poqm;, :Jmos u1  "tiS s11u!m.JJJ JtiJ  mm.1  z-zis           1,;oq 
       ptm  ZOIS  .(Jt:lO(J\ :l.\1n[.(1,lU  IZif:'  J:)..'">fqo  UO!J1nUJOJU! 
         s;,nJe\ m;,m;o::>eJdS!P     OJ  ue::>  pueq.J;oqqtu ;,ilp;, ue ilU!J.IJJ 
        s;,pnpu! JJtp.mJ 00 pot[tJm JtLI. zot: :-po[q Je          
   Ull(Jl\\               umTiar  p.'">]]OJ:Js  1'  Timptmq.r;,qqtu  :Jsm':J 
OJ[(lD  ptmq.J;oqq11.11'  Tiu!J.IJ_JSUl!lJ           UO!l10JJdo  ptmq.J:Jq 
-qtu  e  ilmptMl.Jd .!OJ  00 pot[lJtu JtLI.  uoneJJdo pueqJ;oqqnJ 
0>  r,  JP!Ml.Jd  01  .!Jp.!O  U!  UO!)P-J![dde  JJe.\\lJOS  e  l[ll.\\  ilU!)JeJJJU! 
Jl!J  "tiS            J1[J  1[1!.\\  UO!)JJSJJJU!  Jt[l  JJljP- Jtu!)  r,  J\" 
"UO!)JJJ!P  JSJJ,\JJ                  .(etu  "1-Zlf:  UO!JP-UUOJU!  J1[J    
          "SJJ.'">!"qo  p.--..\qdstp :JJOUl  JO JUO JliJ ".)S  . !)1:1  U!            
-s1111!     :JmtJ  m           tm J1'  <.u;oz  ;,q .\1'm .\JDop.\           
Jl(J  ;,!        .\tmr             JtiJ  OJ                 JUJtuJ\om 
JJe.\\lJOS  J:lllJ.IJJU!  JJSil  1!!!.\\  JUJtuUlU!\UJ Ue U!          JJP-j 
-JJJU!  Tiu!mum.Rlo.rd  mltllDt[dd1'  Jt].l.  amsops!P JU:Js;o.Jd  :ll(J 
.JO  S'i!Ull(J1'JJ           OJ               UUO.J).nnp .\\0[1  U!  JJ10J.l:llU! 
ilu!umm.Jilo.Jd  uope::>![dde  ue JO  S]!eJJP             "!)!:! 
"!\P-J  JJ1H10q  JJS  J1]l f!UJ,\JJJJJ  JO  f!Upj<.lAU! 
'ilmW!llll!  1lm11sst  .JO  :Juo  J:ll(Jl:J     [(lD  :JJUn<.lq  ps :ll(J  'ilm.r 
                            )UJSJ.Jd :lliJ.JO                  ump:J:J U[ 
um'il;,.r  JU:JJUO:J 
e  ;,q .(em uo!ilJJ  PJ!\OJJS  J1U.  "90Z  :jJOJq  Je         Jl[J.IO  p1w  Jl!J  "tiS             J1[1  1[1!.\\  JJJSJJJU!  JO  1pe;o.1  "1-Zlf:  J:)..'">fqo 
UO!JP-UUOJU!  J1[J  se       "SJ:)..'">fqo               JJOtu  JO  JUO  J1[J 
U:lll\\  "HS  "!)1:1  m                    "80t         :ll(J          Oit 
\\OPU!'l"\ :ltiJ  l(Jl\\                           Jl':l!s.\tld       p.--.soddo 
                        J1[J  1!!!.\\  p;,Jeposse ,\Jepunoq  [enutA  e 
Ot  J1]JJe UO!f!JJ           e  U!  J[q!S!A ilU!Jl( UO!ilJJ (h'">I\O.IJS          
uo!'i!;o.J     uo           ]]OJ:Js  1'.JO  ump:JJ!P           tm  m  umTiar 
p:l[(OJ:Js     .JO  :J:Jtmoq     'ilmsm'J                    OOZ  poqpm 
J1U. mdm      e  pJAJJ:)..'">J     W1JJ.\\OptH.\\ P-JO ;,ilp.--. ;,uo JSeJJ 
   f:'J S           Jl[l  W1[J  JJON  "(h'">]]OJJS  'i!uwq S!       Jl!J  J[!l[.\\ 
J-OTS .\JtJO[J\  e 1[J!.\\ ilu!Mltu ;,q ,\em pue uo!ilJJ          eJo    
:J'i!p.--.      l(Jll(.\\ SUl:lJ!JO JS!( :ll(J.JO tiS S11U!Ul.IJJ 1' lUO.I.J  I -ZIS 
:J:JtmJSlp     ;,q        I-z It p;o!"qo  UO!J1ntm:JU!      l(J11S  "SJJ.'">!lJO 
            J.Jom .10  JU() ,\e[dS!P                  e  'ilmAet[  OOP 
JJ!\JP ::>p:!OJJ:)..'">[J  J]qeuod e JO J:lllJ.IJJm  JJsn JO JUJ1mpoqm;, 
tm  ilmWJJsnm  me.Jilmp              e     vs  "D!:i        e  OJ  oc 
:JUlO:l .\[[tmO!JdO U:lliJ ptm "UO! jJ;JJtp      \.'"OJ             :ll(J .JO pu:J 
:ll(J.l.IO JJlll10lJ             JS!(  :ll(J.JO pu;, JliJ                          
JJOtu  JO  JUO  JU!Od  tp!1j.\\  W  "JS!(  Jl[l JO  SllU!Ul.IJJ  e  OJ  JJ!,\Jp 
e  uo stuJJ! JO     eJO ilm!IOJJS  Jl!J            .)S-\"S  "SDI:i 
"(UlllJ  '" 
-:J:J.!tp  :lliJ.JO  JU:lpu:Jd;opu!  JUJUl:l\OUl  p.--.p;,pp JO (h'">UllUJ:lPp 
w 1Jl!.\\              ;,q ,\em SJil(eA JJ1moq mnm!xem pur, mnm 
-m!tu  JtLI.  poz  :jJO[q  w         J::>unoq  mnunmm  pue  mnm 
       .JO ;,uo JS1'JI  J1'  Tiu!lPS s:Jp11pm          OOZ  poqpm Jt].J. 
zoz )o[Jolq  J1'  l(l':J :J:Jtmoq ps                 s;op11pu! uo!J1o.r;odo 
JJtmoq  e  ilmp!Ml.Jd  .!OJ  ooz  pot[lJtu  JtLI.  uoneJJdo  JJtmoq 
r,  JP!Ml.Jd  01  .!Jp.!O  U!  UO!)P-J![dde  JJe.\\lJOS  e  l[ll.\\  ilU!)JeJJJU! 
JJe.\\lJOS  J:lllJ.IJJU!  JJSil  1!!!.\\  JUJtuUlU!\UJ Ue U!          JJP-j 
-JJJU!  Tiu!mtmo.Rlo.rd  mltllDt[dd1'  Jt].l.  amsops!P JU:Js;o.Jd  :ll(J 
.JO  S'i!Ull(J1'JJ           OJ               UUO.J).nnp .\\0[1  U!  JJ10J.l:llU! 
ilu!umm.Jilo.Jd  uope::>![dde  ue JO  S]!eJJP           z "!)!:! 
"JJe.\\lJOS 
                   :ltiJ.JO                   'ilmJt!J:Jdo  am.\\uos  .\\.'"It\ 
;,q  .\1'm .\\.'"It        Jt].l.                -\\JL\     .JO            1'  s1'  'ilmw 
-.r;,do JJ1,\\l.JOS  J:J]]OJ:Js  :llJ .\1'm .\\.'"It         Jl(.!. \\J!.\.1Jd11s :ll(J 
OJ         U.\\Op  pue dn        f,r,Jp !\P-       ;,potu  JdJJJJJU! 
ue  nwunpoqm;,  JJtpoue  UJ              J1Jl  01  m;,s  J.Je        
1'  ""J"!)  .rqtDS  1'  OJ              Ul  JO                   JJliJO  JJO[[J  JO 
JUO U!  f:'Jf:"  JUJtuJMltu OJ          U!  ;oq .(etu SJ:)..'">fqo  p;,,\e[dS!P 
Jl!JJO JUJUlJAOUl  SJUJtmpoqm;, JJ1]JO  U!  "UO!JJJ.!!p Je[HJ!)JP-d 
1'  m  tit JUJtuJ\om                 OUt  JUJtmpoqm:J  J(ll(.\\  mltJ 
       U[                       arom JO  0\\J  :ll(        JJ:ll[l  SJUJUl 
-!poquw JJ1]JO  m  o It .\\OPU!.\\ JUO          oot JUJ1mpoqm;, 
J[!l\11:\  "JJeJUOJ JO  nnod J1]JJO  JUJtuJMltu  p;,JeJJ[JJJe ilmu!tu 
-JJJJP .10  ilup::>JJJP OJ  ;,suods;o.J  m  pJWJJ(JJJe ;,q ,\em SJ:)..'">fqo 
               Jl(J.JO JU:llU:J.\OlU                    :llUOS U[  (p. !)!:! U! 
:l]l'JS OJ           JOU         l[J!ll\\)           9IP SJl'il!p;,mm JO JUO 
t[l!.\\ p;,Je!Josse JP-1JJ     1pns ,\e[dstp J1]Jl!l!.\\ peJUOJ JO  JU!Od 
""  u-w1p ptm d11  JSn<.lm J(ll(.\\ -\\J!.\.1Jd11s :Jl(J  OJ  111du!  Tit!rp          
;,pmu Tit!rp  uo Jd:JJJJJU!     "JU:lm!poqm;,            U[            \q11s 
          Jt[l 01  smdm ile.1p  pue dn ;,snom u.\\Op              
;,potu      e  "JUJtu!pOqtuJ JUO UJ  "1l<.l!JeU!lUJJJJp  S!1JJ  ilm:jetu 
              snope.\  JJS  ueJ Jd\" uv "JlJ fle.!p .10  u.\wp       
>'l  d11  :JS110lU  tqo lllll:J  :ll(J  U!  )11dU!          .\q               S!  .\\.'"Ol\ 
-q11s  .10  \\.'">!.\.1Jd11s  ".\\.'"It\  ".\\opu!.\\ l[J!ll\\ JU!lUJ:Jpp OJ          
e  JO  PIP  JUJtuJMltu  ilup:ntu.JJJJP JO  i!U!):)..'">JJP  OJ           m 
(h'">\Om ;,q .\1'm                         :ll[.!. smJJl.JO        m  spmp!.\ 
!Pll! :JJOUl  JO JUO .ll:J  UO!J1,lUJl:Jm  P1'JUO:l OJ                      fll 
ZIP SJJ.'">!lJO  umJtmu<.:Ju!  :ll(J  "JU:Jmtpoqm:J .\.rqdm;,x;, tm u1  p 
-ZIP Ol  I-ZIP                        se tpns          p;,,\e[dS!P 
J.Jom  .10  ;,uo  ;,pnpm  .\em  OTt  .\WPU!.\\  JtLI.  ort  .\WPU!.\\ 
-:)..'">U     11              pur,              ilmpnpm          J]dtl]lltu 
r,  JAP-1J.(etu .\\OpU!.\\ tpe:J            JO          Jjd!j]ntU flm,Wt[ 
UO!'i!;o.J                        J:JL\:lp  1'                 :llUOS  U[ 
"J11du!        :Jl(J  Tiu! \!:JJ;tJ  uo p.'">s1'lJ  1110  Tiu! 
-mmv .10 m'ilmmooz .\q JJ.'">l"qo  JUJ\J :ll(J liJ!.\\                  .\\.'"It\ 
e          ;,pnpu!       .(em            JJilJSJ!)  mdm      
J1JJJO uuoJ Jt[l m  snnod Jndm JO .\memJd eilmAJJ:)..'">J         
JJ.'"O!(JO  JUJ\J  :ll(J  l(Jl\\                 \\:l!.\  1'              .\q                 :lp11pm  .\1'm 80P         :ll(.!.  "80f:'            :l.\!llSU:JS-l(J110l 
1'  Tiu! wtl OUt :l:l!.\JP :Jm<.UJJ.'">P             .JO                      
JUJtu!poquw tm ilU!WJJsnm  me.Jilmp             est p   Dl:i 
,:  .J!  "[(lD              JUO  JS1':lll1'  O)'i!mpuods:JJ  Jp11[JU!             
JJillSJf!  "JJilSO[JS!P  JUJSJ.Jd  J1]J  JO  SJUJUHpoqm;,  U!e)JJJ  U[ 
[[eJ pueqJ;oqqnJ Jt!J  ilu!\!JJJJ .10  iluno,\m 
ilu!Jetl!tH           JO  ;,uo JJt[l!J  st  ue::>  pueq.J;oqqtu  Jt[l  iluu 
            "JJllSO(JSlp JU:JS;JJ\.1  Jl(J.JO SJUJtU!pOl(Ul:l U!1'UJJ U[ 
8 
uotilJJ 
PJ!\OJJS  Jt!J JO ;,f,p;,  .\WptH.\\ .10  ;,flp;, JUJJUOJ  uo!ilJJ         
Jlll       1110                 SJOJ1'J!PU!          Jl(J  "(h'">JJ.'">Pp  U:ll(J 
L 
zs  >  J6'vv8'L  sn 
us 7,844,915  82 
9 
!'!(iS.  6A-61)  il!uslralc  an  exemplary  user  interlitce JSOOA 
for  managing  an  inbox  in  accordance  with  some  embodi-
ments .. \n analogous  user  interface  may  be  used  to  display 
and  manage  other  mailboxes  (e.g ..  dralls.  sent.  trnsh.  per-
sonal.  de.).  In  addition.  other  types  of  lists  arc  possible. 
including hut  no!  limited  lo  lists of instant  message conver-
sations.  favorite  phone numbers. contact informntion.  labels. 
email folders. email addresses. physical addresses. ringtoncs. 
or album  lklmcs. 
10 
lrans!Crring  a  directional  scroll  angle  call  lo  determine  if 
dir<.>ctional scrolling is enabled at block 702. The method 700 
li1rther  includes 1rans!Crring a dir<.>clional  scroll angle call1o 
se1  a  scroll angle for  locking the  scrolling in  at  leas1 one of a 
'i  vcJ1ical  or  a  hori/Onlal  direction a!  block  704.  The  method 
700  li1rther  includes  locking  the  scrolling  in  the  horizontal 
dir<.>clion  if a  user  input  Jixms  an  angle  wi1h  a  horitonwl 
dir<.>clion 1hat is less 1han or<.'qual to a lirs1 scroll angle at block 
If the list ofcmails Jil!s more than the alloucd screen area.  lCJ
706. rhe mc!hod 700 li1rthcr includes locking the scrolling in 
the vcJ1ical  direction  if a  user input  l(mJJs  an  angle with  the 
vcJ1ical  direction that  is  less  than or <-'qual  to  a second scroll  the  user  may  scroll  through  the  cmails  using  \crtically 
upward  and/or  vertically  downward  swipe  gestures  on  the 
touch sen.-en.  In  the example of FIG. 6..\. a portion of a list of 
emails  is  displayed  in  the  screen  area,  including  a  lop  dis-
played email3530 !ium !Smcc Walker and a boll om displayed 
email  3532  from  Kim  Brook.  A  user  perfonns  a  vertically 
downwnrd swipe gesture 3514 to  scroll toward the top of the 
list.  The  vertically  downward  gesmre  3514  need  not  be 
exactly \erlical:  a  substantially \ertical  gesture  is  sullicicnl. 
In  some  embodiments.  a  gesture  within  a  predetermined 
angle of being perfectly vertical  results  in  vertical scrolling. 
angle at block 708. 
In certain cmbodimcms. a  user input  in 1he  form of a drag 
!(mns an  angle with the hori/Onlal dir<.>clion  that  is  less than 
l'i  the !irs! scroll angle.  In  this case. the user presumably intends 
to  scroll  in  the  horizonwl  direc1ion.  The  scrolling  will  be 
locked in  the horizonwl dir<.>clion  unti11hc user input cxc<.-cds 
the  lirst  scroll  angle.  A  s<.>cond  scroll  angle  may  be  used  for 
locking  the  user  input  in  the  vcJ1ical  direction.  The s<.>cond 
""  scroll angle may he sci equal to  the Jirsl  scroll angle. 
As  a  result  of detecting  the  vertically  downward  geslllre 
3514.  in  F!(j,  6!S  the  displayed  cmails  have  shilled  down. 
such lhallheprcvious hollmn displayedcmail3532 !ium Kim 
!Srook  is  no  longer  displayed,  the  prc\ious  lop  displayed  "-' 
email  3530  lfom  Bruce Walker  is  now  second  li-O!n  the  top. 
and  the  email  3534  lfom  Aaron  Jones.  which  was  not  dis-
played in  FKi.  6A,  is  now  displayed allhc lop of the list. 
I-'IG.  8  illus1ra1es  lirst  and second scroll angles Jix locking 
a  scroll  of a  display  of a  device  in  a  horizontal  or vertical 
dir<.>clion.  The horizontal direction 802 and \ertical dir<.>clion 
804 arc in rdCrcncc loa window or a display of a device. As 
discussed  in  the  mc!hod  701).  a  user  input  such  as  a  drag 
movement forming an angle wi1h the horitomal dircc1ion 802 
less than or equal  to  1hc  lirs1  scrolling angle 806 or 808 will 
lock  the  user  input  in  the  horizontal  direction.  In  a  similar 
manner, a user input  !(Hming an angle with the vcJ1ical dircc- In  this  example.  the email  3534  !i-om  Aaron  Jones  is  the 
lirst email in the list  and thus is  the terminusofthe list.  Upon 
reaching this email3534. in  response to  cominu<.-d det<.>ction 
oft he vertically downward gesture 3514. an area 3536 (FIG. 
6C) ahmc the  lirsl email  3534  (i.e ..  bcytmd  the terminus of 
the  list)  is  displayed.  In  some  embodiments.  the  area  dis-
          beyond  the  terminus  of the  list  is  visually  indistinct 
from the background oft he list. In 1-'lG. 6C. both the area 3536 
and the background of the emails (e.g .. cmails 3534and3530) 
arc while and thus are\ isually  indistinct. 
30  tion 810 less 1han or equal to 1hc second scrolling angle 810 or 
812 will  lock 1hc user input  in  the  vertical direc1ion. The lirst 
and second scrolling angles may be sc1 at the same angle or at 
dif!Crcnl  angles  as  well.  For  example.  the  !irs!  and  s<.>cond 
scrolling angles  may  be setal  25  degrees.  A  user  input  less 
35  than or <-'qtmllo  25  dcgr<.-cs  wi1h  respect  to  1hc  horizonwlor 
vertical  direction  will  lock  the  scrolling  in  the  appropriate 
dir<.>clion. 
Once vc11ically downward gesture 3514 is complete, such 
that a  corresponding object  is  no  longer detcct<.-d  on or ncar  40 
the  touch  screen  display.  the  list  is  scrolled  in  an  opposite 
dir<.>clion  until the area 3536 is no longer displayed.  F!(i. 6]) 
illustrates the result of this scrolling in the opposite dir<.>clion. 
the email 3534  Jimn  Aaron Jones is now displayed al  the lop 
In  some embodiments. the horizontal and \erticallocking 
angles can he detcJmined in  p;u1  by the aspect of the content. 
For example. contcm in 1he  form of a wll page may receive a 
larger vertical locking angle compar<.-d to the horizomallock-
ing angle. 
F!(j,  9  illustrates  dc!ails  of an  application  programming 
interliJCc  in  !low chart  l(mJJ according lo ccJ1ain teachings of 
the  present  disclosure.  The  application  progranuning  imer-
!Uce  operates in  an  enviromnent wi1h  user imcrfacc soliwarc 
of the  screen area allotted to  the list and the area 3536  is  not  45 
displayed. 
In  the  example  of !'!(iS.  6A-6D,  a  vc11ically  downward 
gesture resulted in display of an area h<-J'tmd  the Jirsl  item in 
the  list.  .\s described  in  FIG.  3.  the  values  for  the  predeter-
mined  maximum  displacement  (e.g ..  display  of  an  area  '0 
beyond the lirst item in the list) arc set at block 304 for top and 
hollmn edges oral block 306 !(Jr all  edges of the window. 
interacting with a  sollwarc application  in  order lo  prm ide a 
d<.>cderalion  scroll operation.  '!-he  me! hod 900 !(Jr prm iding 
the  deceleration  scroll  operation  includes  1rans!Crring  a 
deceleration scroll call  to  set a deceleration !Uctor for  a drag 
user  inpm  at  block  902.  The  me1hod  900  fur1hcr  includes 
slowing the scroll to a slop based on the spe'--d of the drag user 
input and the deceleration  li1clor al  block 904.  Similarly, a vertically upward gesture may result in display 
of an  area  beyond  the  last  item  of the  list.  if the  vertically 
upward gcsmrc cominuesoncc the list has been scrolled to the 
lasl  item. rhc lasl  item  may be considered a  lcJminus of the 
list.  similar lo the Jirsl  item.  As discussed above,  the gesture 
need  nol  be exactly  vcJ1icallo  result  in  \ertical  scrolling:  a 
gcsmre  within  a  pr<.-delined  range  of angles  from  perfectly 
vertical  is  sullicient. 
FKi.  7  illustrates  details  of an  application  programming 
inlerbce in !low chart  !lmn according lo certain teachings of 
the  prescm  disclosure.  The  application  programming  inter-
face operates in an cnvironmcm with user imer!Uce  soliware 
interacting with a  soliware application  in  order to provide a 
dir<.>clional scrolling operation. rhe method 700 !(Jroperaling 
through an application programming inlcrface(API) includes 
In certain cmbodimcms. a  user input  in 1he  form of a drag 
'5  invokes a scroll operation  for  a certain time period. The user 
input  has a ccJ1ain  speed. '!-he  scroll of the scrolk-d region of 
a window or a display region of a display of a device will he 
slopp'--d a!ier the user input slops by  applying a dccdcralion 
!Uctor  10  the  speed of 1he  user  input  during  the  drag  move-
60  ment. 
F!(j,  10  illustrates dc!ails of an application  programming 
interliJCc  in  !low chart  l(mJJ according lo ccJ1ain teachings of 
the  present  disclosure.  The  application  progranuning  imer-
!Uce  operates in  an  enviromnent wi1h  user imcrfacc soliwarc 
65  imeracting with a  software application  in  order to  provide a 
scroll  hysteresis operation.  The  mc!hod  1000  !(Jr  prmiding 
the scroll  hysteresis  operation  includes  lranskrring  a  scroll 
us 7,844,915  82 
II 
hysteresis  call  to  detcJminc  whc!hcr a  user  input  invokes  a 
scroll  m block  1002. The method  1000  li.mhcr includes set-
ting a  hysteresis value  Jix determining whether a  user inplll 
invokes a  scroll m block 1004. 
I2 
or display. A mask may merely pc1mi1 ccJ1ain changes while 
limiting. or not  pennitting. o1hcr changes.  Evems of all kinds 
come imo the application via a g.raphics li"amework. They arc 
enqueued.  collalecL'd  if  ncccssm)'  and  dispatched.  If  the 
5  events arc system  level events (e.g ..  application should  sus-
pend. de\ icc orientation has chanted. de) they are rou!L"d  lo 
the  application  having.  an  instance  of  a  class  of 1hc  user 
imerfacc  software.  If 1hc  cvems are  hand  events  based  on a 
In  certain cmhmlimcnts. a  user input in  the l(mJJ  or a  drag 
mer a  certain distance across a  display  or window within  a 
display of a device invokes a scroll operation. The hysteresis 
value  determines  the  certain  distance  which  the  user  inplll 
must  drag across the display or window  prior to  invoking a 
scroll  operation.  A  user  input  that  docs  no!  drag  the ccJ1ain  lCJ
predetermined distance will  not imokc a  scroll operation and 
may be considered a mouse up or down inplll or other type of 
input. 
user input. the events arc routed lo the window they occurrL'<i 
over. rhc window then routes these e\enls lo  the appropriate 
control by calling the instance's mouse and gesture methods. 
The  control  1hat  receives  a  mouse  down  or mouse  cmcred 
li.mction will continue to  get allli.Jturc calls umil  the  hand  is 
!ilk-d.  If a  second  linger is  de!L><::!L-d.  the gesture  methods or  !'Ki.  1 I  illuslratcs details of all  application  programming 
inlerbce in !low chart  !lmn according lo certain teachings of 
the  prescm  disclosure.  The  application  prog.rmnming.  inter-
face opermes in an cnvironmcm with user imer!Uce  soliware 
interacting.  with  a  software  application  in  order  to  anach  a 
scroll  indicator loa scroll region edge or a window edge of a 
dL'\ ice.  In some embodiments. the scroll region edge is asso-
ciated with a comem edge. The window or display L'dgc may 
be associated with  the  edg.e  of a display reg. ion.  The method 
15  !i.mctions  arc  invokL-d.  "!11cse  !i.mctions  may  include  start. 
change. and end gcsmre calls. The comrol  that  R><::eives  start 
g.esture  call  will  be  scm allli.nure chang.e  g.esture  calls  umil 
the  gcsmrc ends. 
FIG.  13  illustrates details of an application  programming 
""  interliJCc  in  !low chart  llm11  according lo ccJ1ain teachings of 
the  present  disclosure.  The  application  progranuning  imer-
!Uce  operates in  an  enviromnent wi1h  user imcrfacc software 
imeracting with a  software application  in  order to  provide a 
gesture operation. "!.he method  IJOO  !l1r providing the gesture 
I I 00 ll1r  prm iding the scroll indicator includes lrans!Cning a 
scroll  indicator call  to determine whether alleasl one scroll 
indicator a  !laches  lo  an edge of a  scroll  region  or a  window 
edg.e  at  block  1102.:\ scroll  indicator may  be displayed on 
any  display  edge.  window  edge  or  scroll  region  cdg.e.  The 
method I I 00 !i.u1hcr includes optionally allachingal least one 
scroll  indica lor lo  the edge of the scroll  region  based on  the 
scroll  indicator call at  block  1104 .. \hcrnativdy.  the  method  30 
"5  operation includes lranslCrring a handle gesture e\enl call al 
block  1302. The method  BOO  li.1rther  includes trans!Crring. a 
g.esture  change  call  in  response  to  1hc  handle  gesture  event 
call al  block  131l4. 
1100  further  includes optionally attaching. at  !east one scroll 
indicator to the window edg.e  of the vkw based on the scroll 
indicator call al  block  I I 06. 
In certain embodiments. a user input  in the llm11  of two or 
more points is rccci\L-d by a display of  a dL'\ ice. A multi-touch 
driver of the  device receives 1he  user inplll and packages the 
cvem imo an cvem objL><::1.  _.\window server R><::eives 1hc event 
ohjL><::I  and determines whether the event  object  is  a  gesture 
even! objL><::1.  If the window  scner dctcJmincs that a gesture 
In  some cmhmlimenls. the operations of method  I I 00 can 
be  alteR-d.  modiHed.  combined.  or  deleted.  For  example. 
block  1104  can  be  delctL'd.  Likewise.  block  1106  can  be 
ddetL'd  li"om  the  method  1100 .. \ltcrnativdy.  the  order  of 
block  I I 04 and block  I I 06 can he switched. Other methods 
having \arious operations that have been disclosL'<i  within the 
prcsem disclosure can also be  alteR-d.  modi!k-d.  rcarrang.ed. 
collapsed. combined. or deleted. 
35  cvem objcc1  has been  received.  then user interface  software 
issues or 1rans!Crs 1he  handle gcsmre call at  block  1302  to  a 
sollwarc application associated with  the \iLw.  The sollwarc 
application conlim1s  that  a  gesture e\enl  has  been  rccei\L-d 
and  passes  the  handle  g.esture  call  to  a  libra!)'  of the  user 
" 
In ccJ1ain embodiments of the present disclosure. transfer-
ring the scroll indicator call is either one of issuing. initialing. 
imoking or receiving  the scroll  indicator cal!.  For example. 
the user interface software (e.g. ..  software kit or library) may  45 
R><::eive  the scroll indicatorcallli"om the sollwarc application. 
FKi.  I2  illustrates details of an  application  programming 
inlerbce in !low chart  !lmn according lo certain teachings of 
the  prescm  disclosure.  The  application  programming.  inter-
face operates in an cnvironmcm with user imer!Uce  soliware  '0 
interacting. with a  software application  in  order to dctennine 
imerfacc  software.  The  window  server  also  associates  1hc 
geslurccvcnl object with the\ iLw !hal rccci\L-d the user input. 
The library responds by  lranskrring a gesture change call  in 
response to  1hc  handle gcsmrc cvem call at  block  1304. 
In one embodiment. a window or vkw associated wi1h  the 
user  input  rccei\es  the  change call  in  order  lo  pcrllmn  the 
gesture  e\enl.  The  user  so!lwarc  that  provides  the  view 
receives  a  gcslllre  start  cvcm  cal!.  a  g.esturc  chang.cd  event 
cal!. a  zoom  to  scale scning.  for  1hc  view.  and a  gcsmre end 
call.  The  gesture  calls  rL><::civc  an  input  of a  gesture  event 
which may he base e\enl having a type such as a hand e\enl. 
kLyhoard e\enl. system even!. de.:\ delegate associa!L-d with 
the application R><::eivesa  start g.esturccal!. gcsmre did change 
cal!. and gcslllre did linish call. The user software is dynmni-
cally !inking  into  the application  during  the run  lime of the 
gesture process. 
In  some embodiments.  the gesture changL-d  !i.mction call 
contains the  following  information about  the  gesmrc: 
the number of lingers currently down: 
if an  inad\crtenl  user  input contacts a  \ iLw  of a display of a 
dL'\ ice. The method 1200 includes lranskningan inadvcJ1cnl 
user inplll call to determine whether the user inplll was inad-
vertent  at  block  1202.  The  method  1200  li.1rther  includes  '5 
ignoring the  inadvcJ1cnluscr  input  based on  the dctennina-
tion of the  inadvcJ1cnluscr  input  call  al  block  I21l4.  In  one 
embodiment.  the  inadvcJ1cnl  user  input  call  comprises  a 
1humb detcc1ion call1o de1ermine whether 1he user inplll was 
the number of lingers initially down: 
00  an inadvertcm 1humb. 
In ccJ1ain embodiments of the present disclosure. lrans!Cr-
ring the  inadvertent  user  input  call  is  either  one  of issuing. 
initiating..  invoking.  or  receiving.  1hc  inadvertcnl  user  inplll 
cal!. 
_.\  gcslllre:\1'1 provides an interface bc1wcen an application 
and user sollwarc in order lo handle gesturing. Gesturing may 
include scaling. rotating. or other changes loa viLw.  window. 
65 
the rotation of the hand: 
the  scale of the  hand: 
the 1ranslation of 1hc  hand: 
the  posi1ion  of1he  im1cr and outcrmos1lingers: and 
the pressure of the lirsl  linger. 
us 7,844,915  82 
13 
In  other cmbmlimenls.  more  in!(mJJalion  about  each  linger 
down mny be  included as Ji.1!lows. 
14 
lo  represent  that  a  larger  pm1ion  of content  is  no!  being 
displayed on display 1652 in FIG.  16B as a result oft he zoom 
in operation. 
In  micas!  some embodiments of the present disclosure. a 
the stage of the linger Oust touch down. fully  pressed. lilling 
o!I etc): 
the position of the linger: 
the proximity of the !Inger (how hard you'n::  touching): 
the orientation of the  !ingcr (whm angle the ovoid  is at): 
5 
user desires 10  chang.e  a view  1670 Ji"om  a  scale JUc10r of 2x 
loa scale liJCiorof lx as illuslra!L'd  in I'Ki. 16C. :\ lirsl sci of 
user inputs  I672 and 1674 that  mme lo the second sci of user 
inputs 1676 and I678 will decrease the scale bclm Jimn 2x lo 
the length of the  major and minor axis. 
the velocity of the !Inger: and 
the ccccnlricity of the linger's moid. 
1
,  lx.  11  may  be  desirable  for  the  user  to  scale  Ji"om  2x  to  lx 
wi1hout having to move !he user inputs a !arg.c diswncc across 
the view 1670. In an environment with user inter!Uce soli ware 
inleracling  with  a  so!lware  application.  a  gesture  scaling 
lransllmn  Jlag  may  be  sci  in  order  lo  dclermine  a  scaling 
A gesture L'\cnl object may be a chord c\cnl object ha\ ing 
a  chord cmml (e.g ..  mnnbcr of lingers conlac!cd the viLw  or 
display).  a  chord  stnrt  event.  a  chord  change  event.  and  a 
chord end event..\ chord change event may include a scaling 
or rowtion trnnsform. 
l'i  lransllmn  !l1r  a  viLw  associated  with  a  user  input  having  a 
plurality  of inpm  points.  The  scaling.  transform  !lag  scales 
ci1hcr li"om a current scale !Uc10r 10 a minimum scale !Uc1or or 
li"om  the  currcm scale  factor 10 a  maximum scale  factor.  For 
example. a  Jlag  may  be  sci a!  the position associated with a 
""  l.Sx scale liJCior and a third sci of user inputs 1680 and 1682. 
!-'IG.  14  i!lustrntcs details of an  applicmion  prog.nmuning 
intcrbcc in !low chart  !lmn according lo certain leachings of 
the  present  disclosure.  The application  programming  inler-
!iJCc operales in an cnvinmmcnl with user inlerbce so!iware 
interacting.  wi1h  a  soliware application  in  order 10  provide a  "-' 
scaling.  lransfonn of a  display  reg.ion_  window. or view  of a 
display of a device. The method  1400 for providing the  scal-
ing lrans!lmn includes lrans!Cning a scaling lrans!(mn call lo 
determine  a  scaling  lransllmJJ  !l1r  a  \ iLw  associated  with  a 
user input having a plurality of input points a! block 1402. "!.he  30 
mc1hod  1400  li.Jr!hcr  includes  lranslerring. a  scaling gcslllre 
start  call  a!  block  1404.  The  me1hod  1400  Ji.Jrlher  includes 
:\user desiring lo change the scale bclm Jium 2x lo  l x would 
only have 10 move his !ingcrs.thc user inpms. from !he !irs! set 
1672  and  16741o 1hc 1hird  set  1680 and  1682  if the  g.esture 
scaling 1ransform Hag.  has  b<.-cn  set at  a  scale !Uctor of 1 .5x. 
I'! G.  17  illustrates dclails of an application  programming 
in!erliJCe  in  Jlow  chart  Jlm11  according lo ceJ1ain teachings of 
the  present  disclosure.  The  application  programming  inler-
!Uce  operates in  an  enviromnent wi1h  user imcrfacc soliwarc 
imeracting with a  software applicmion  in  order to  provide a 
rotation lransllmJJ of a  view.  window. or display region of a 
display of a device. rhe me! hod  1700 ll1r  prm iding the rota-
tion  lrans!(mn includes lrans!Crring a rotation lransllmn call 
to determine a rotmion 1ransform for a view associmed wi1h a 
1rans!Crringa scaling g.eslurc progress call a!  block 1406. The 
mclhod  I200  Ji.Jrlhcr  includes  lransl"erring  a  scaling gesture 
end call a!  block  I408. 
35 
user inpm having a p!urali1yofinput points at block 1702. The 
mclhod  1700  li1rlher  includes lrans!Cning a  rotation gesture 
star!  call  a!  block  I704.  n1e  mc!lmd  1700  li1r1her  includes 
translerring. a scaling. gcslllre prog.ress call m block 1706. The 
In certain embodiments. a  user input in  the !lmn of two or 
more  input  points  (e.g ..  lingers)  moves  logclher or apart  lo 
invoke a  geslllrc cvcm  !hal  performs a  scaling.  transform on 
!he  view  associated  with  !he  user  input.  :\  scale  lransfonn 
40 
includes  a  minimum  and  maximum  scale  bclm.  FIG.  15 
method  1700  li.mhcr  includes  1rans!Crring a  scaling.  g.esturc 
end call m block 1708. 
In cenain embodiments. a user input  in the Jlm11  of two or 
more  input  points mlales lo  invoke a  gesture even!  that  per-
!(mns  a  rotation  lrans!lmn  on  the  \ i<.w  associa!L'd  with  the 
user  input.  The  rowtion  1ranslixm  includes a  minimum and 
illuslrales a display  I 502 of a device ha\ ing a  scaling lrans-
JlmJJ  of a  \iLw.  The  viLw  I504  (e.g  ..  web.  lex!.  or  image 
comcm) has a !irs! scale fac1or.  _.\user input (e.g ..  lwo  lingers 
moving. a pan) associmed wi1h the view 1504 is  inlcrprc1L'<i as 
a  gesture  e\enllo zoom  out  from  viLw  I504  lo  view  1508 
having a second scale bel  or that exceeds the maximum scale 
liJclor of the\ iLw  I 5I6. :\snapback Jlag dcleJmines whclher 
1hc  zoom out  can proceL'<i  pas1  the  maximum  scale  factor  to 
view  1508  prior  to  snapping  back  to  1hc  maximum  scale 
liJclor associa!L'd with view  15I 6. 
45 
maximum  degree  of rowtion  for  associated  minimum  and 
maximum  rotation  views.  The  user  input  may  temporarily 
rotate a  view  pas! a maximum degree of rotation prim lo  the 
view  snapping hack lo  the maximum degree of rotation. 
FIG.  18  illustrates dcwils of an application  prog.rmnming 
'0  imerfacc in  How char!  form according to certain 1eachings of 
the  present  disclosure.  The  applicmion  progranuning  imer-
bce operates in  an  em ironment with user interliJce sollware 
inleracling  with  a  sollware  application  in  order  lo  notify  a 
dclcg.me  of at  leas!  one animmion associated  with a  display 
l'Ki.  16:\ illustrates  a  display  I604  of a  dL'\ice  having  a 
!irs!  scaling  bclorofa \iLw  1616.:\ user  input  (e.g  ..  two 
lingers  1608 and  1610 moving 1og.e1her) associated wi1h  !he 
view  1614  is  imcrprc!ed  as  a  gcslllre cvcmlo zoom  in  from 
\iLw  I614  lo  \iLw  I664  ha\ing  a  second  scale  liJclor  as 
illuslra!ed  in  Fl(i.  161S.  The dashed  regions  I602  and  1650 
represent  the  total  area  of the conlenl  with  the only  content 
being.  displayed  in  the  display  area  1604  and  1652.  In  per-
forming 1he scaling. 1ransform li"om  FIG. 16:\ to FIG. 16B.Ihe  60 
cenler  of the  gesture  e\enl.  center  I612  ll1r  FIG.  I6:\  and 
cenler  I660 ll1r  I'Ki.  161S.  remains  in  the same position with 
rcspec11o 1hc display 1604. The scroll indicator 1606 shrinks 
'5  reg. ion. window. or view of a display of  a device .. \  delay in the 
animation  may  he  specilied  by  the API.  Also.  multiple ani-
mations  may  he  assigned  priority  by  the :\1'1.  "l11e  mclhml 
1800 llll notifying theddegale includes dclermining whclher 
10  become scroll indicator 1654 during the 1ransfonn1o indi-
cate 1hm  a  smaller portion of the 1o1al  content  1650  is  being  65 
displayed on display I 604as a result oft he zoom in operation. 
"l.hedashed region I 650 is larger than the dashed region 1602 
any animmion occurs at block 1802. The method 1800 Ji.Jr!her 
includes checking the prog.ress of  an animmion at block 1804. 
If progress  has  occurred.  then  the  next  stale  (e.g ..  position. 
opacity. or lransllmll) of the animation  can  he caleulated  a! 
block  1806.  lfprog.rcss has  complc1ed at  block 1806.then at 
block  1808 i1  is de!Crmined whether the view associated wi1h 
the complc1ed animmion is associa1L-d wi1h a delcg.mc.  If so. a 
ddegale call  is  lransl"erred  lo  notify the delegate of the ani-
mation  ll1r  the  view  a!  block  I810.  The  ddegale operating 
J;ot1JO  tutu.]  .  .,.;,!.\  ;,tp  OJ             JO  J;oqumu  ;oqJ  JO  JUlllD 
p;,umpJ     'i!U!U!l'JUWlU                     00f:'Z  POl1lJUl  ;,t].!_ 
"f:'Of:'Z  )jJll[lj  Fl .\.iom;,m U!  ;oJil)JlUJS  lHL'P                        
J;)t[PnJ  ootz           ;:ltiJ.  zotz  :-tJo[q  Je  .\\;:l!A  ;:lt[J  t(l!.\\ 
                                           w t(l!.\\            Jll                
1'  Tim.\1"[ amp!UJS t'll'P 1'  Tiu!PlUJSmD          OOPZ  pm1pm 
;ot].!_  'J:l!.\:lp l'JO            m1                                JO  .  .,.;,!.\ 
e JO               .UotuJtu .!OJ  potpJm e              tZ  DLI 
"PJS.IJ,\;:1.!                    .I!  ;:JUO       
WJO JUllll:l  p;,u!l'PJ I' J.\1"(1!!1. .1..'"01 \  :ll!J. "P.'"OSJJ.\JJ  JllU  S!  '>'.;,!.\ 
Jl]l.JO              ;,t1JJ!  .Uom:Jm tutu.]  p.--.\otuaJ Jo P.'"'ll':JO[[B;op 
;oq  ptw OJ;oz JO  JUllll:l  p.--.umpJ I' ;o.\1"11[1'>\  '>'.;,!.\  ;,t].].  p:J.\OlUJJ 
Sl  1\t'tJ  UlliJl'Z!UlUtpu.\s  I'  u;,t1'>\                            UO!Jl'Z 
-mtmpu.\s 1'                  s;,pnpu!              OOIZ  pm1pm ;ot].L 
                        w ue::>  uonezmonpu.\s e          ssJJoJd Jo UO]l 
-eJ!!dde                      ;:lUll  U[  "UOIWUl]Ue  ilU!JS;:JilfJ;:JJ  JJe 
Jet[!              Jll          ;:Jt]J  pue uope::>mJUJP!  Jt[l           
1Jl':l                  ;oqJ  "Ju;om!poqm:J ;,uo UJ     .  .,.;,!.\ ;,1d11111m 
;ot1J  JO  UO!jlml!lW  'i!UIJS:Jilfl:JJ        11"(1              :lljJ  JO      
09  e  pue  SJSSJJtUd  ;:ll[l  Jll  UOIWZIUOR[JU.\S  Jl[l JO  UO]leJ!HJUJp] 
ue                    Jo              Jndu]           ,\em  [[eJ 
                     :ll!J. 'tO IZ )j:l01lJ  Jl'            ;oqJJO S.\'\..'"01  \  ;,1d!J 
-pnu :ll]J  Jl:J                        OJ[]lD  mll]l'Zmtmpu.\s 
Jq  [[!.\\  .\\."lJ,\  ;:ll[l  OJ  JJ,\e[  ;:ll[J  UJO.!J  J;)JU!Od  ;:ll[J  ;:JJJJ  JJ,\e[    
                                 00 IZ poqpm ;,lJJ.         puo:J.--.s 
e  OJ       lS.!!J  e  mO.!J  SJJnqpJW  J.!lltu  Jll  ;:lUll  S.IJJ]e  UO]Jem 
-me uv "JJ;:J  .\)IJBdo  "JZ]S            r,  Jpnpm ,\em  .\\;:!]\  r,  Jll  Jll            eJep ;:ll[l  mO.!J  p;:!AllUWJ  S!  J;:J,\e[  ;:ll[l  UJl[/1:\  "JJ!\;:!p 
Jl]l JO              ;ot1J  lUlUJ  p.'"O\OlUaJ  'ilm;,q          :ll11  l]J!.1.  p.'"OJI' 
!:lOSS!' .1..'"01 \  ;ot1J  UO           Jll:J:lll  .\tml JJil):JIUJS  l'll'P ;ol]J  UllUJ 
J;:J.(e[  Jl(l f>U!MlmJ}j              eJep Jl(l  mOJJ  p;:!AllUWJ  Jq [[!.\\ 
J;:J.(e[  ;:ll[l  Wl[l UOIWJ!HJOU  ;:lAWJ.."lJ  ,\etu .\\J!\ JliJ. "JJ;:Jfqo Jl[lJO 
JUno::>  p:lU!!JJJJ Jt[l se fJ<"lU!JJP  S!  .\\;:!!\  Jt[l se tpns pJfqo ue OJ 
'ilmJU!od             JO J;oqmnu :ll!J. "JJ.\q Jt11  OJ  .  .,.;,!.\ ;,t1J  tulUJ 
                   J;ojU!lld  puo:JJS  V  '.\'\..'"01 \  :lljJ  OJ  J;o.\q  :ll11  UllUJ 
        JJUJ.!;:l,IJ.! JJJU!Od         \' .\\J!A Jl(l .(q           JUJJUOJ 
JWJ;:JUJ'i!OJ .!Jp.!O  U!  .\l."l!A  ;:ll[J  OJ  [[eJ UOIPU!1J                e         
.  .,.;,!.\  ;oqJ  l]JI'>\                 J;o.\q  Jt].L   .  .,.;,!.\     l1J!.L  p:lW!:JossJ' 
            l'WP             J;o.\q                       JUlOS U] 
'90Z )j:lO[lj      .1..'"01.\  :ll]J  OJ  JJ.\q 
.\J.l;odOJd JO;oJnq!.IJW      "J1dumx:JJO:] "ZO J z  )j:l01lJ  II'             
l]ll'>\              Tiu!:llJ  .  .,.;,!.\       l1JLL  .\pu:Jpu:Jd;opu!  s.L.'"OL\ JO 
SJJnqpJW f!U]llJS            SUO]lem]Ull  ;:ll]J                  .!OJ 
0>  001 Z pllt]J;:!Ul  ;:lliJ.  'JJ],\Jp eJO          ll JO S.\\OpU!.\\ .!0 S.\\JIA 
            t(l!.\\  pJJBposse SUO]Wm]ue               01 .!Jp.!o  U] 
SJSS;J:Jtud  JO                                ;o(d!J111lU  l]J!.1.  1\U!J:ll'J;oJU! 
;oJI,'>\JjOS  ;o:JIOJ.!;oJU!  J;oSI1l1JI'>\  jU:JlUUlU!.\li:J tm Ul                  
-J;:JJU]  f.U]tutue.fcloJd  Ulli)BJ!!dde  ;:lliJ.  ';)JilSll[JS]p  JUJS;:JJd  Jl[l 
   JO             U!!Jj.l;:lJ  lll f.U]p.!OJJB  UUOJ  petp .\\O[l  U!  ;:l:lllJ.!;:lJU] 
                                    JO                       JZ  "!)!:1 
"l,S.JJ.\  :l:l!.\ JO  JU;oJJ'd 
Jl[l  UJO.!J  .\\;:!]\  Jl[l Jll                             SJp!1[JU]  J;:JljlJI11 
OOfZ pot]J;:Jtu Jl[.L 'POfZ )jJO[q W  ;:JJnJJIUJS  eJep ;:Jt]J  tull.!J JJ,\e[  Ot 
Jtp'i!m \OtuaJ s:Jpnpu! J;ot1J.Il1j  00Z pm[PlU ;olJJ.  'UO!JlDI[dd!' 
Jl]l.JO                      .H:J  p.--.fqo JO ;,d.\J  J:ll]JO       Jo            
"JXJJ  "SJf.etu]  "OJp]A               "JU;:JJUOJ  Jq  .(etu  S.IJ.(ej  Jl[.L 
zot:z  )jJO[q  Je  .\\;:!]\  Jt[J'ilmu.\\0  pue  .\\J]A  e  t[ll.\\  pJJeposse 
'i!mJq  JJ,\e[  e  t]J].\\  SJJ,\e[  Jll  .\tp.!eJ;:JJt]  e  ilm.wt[              
t'll'fl                s;,pnpu! OOfZ pm1pm ;olJJ. "J:J! \;op           
-tud  l'Jl'P  l'JO .\qds1p I'  Ull                   UlliJlDI[dd!'  lWJO  '>'.;,!.\ 
        OJ  Jllh!,dO lUOJJ  .(J!:ll,dO :lljJ           UO!ll'lU!llll         
U\" "Jmll.!J  eJO f!UJZ]SJJ  Jpll[JU! .(Btu UO]lem]Ull ;:Jtue.!J  \" m.!OJ 
       UO]leJtU .!0 ilU!leJS  ll  Jpll[JUI .(em           UO]letUJUB 
v  um]tml!lW  .\J!:ll,do  tw                   mJt:Jsut!JJ     ;,pnpu! 
.\1'm             ;,t]. 1.                        Jll:J:Jo lFJilJ.1.            
[[e  ]OJJUOJ  .(Btu  JJm]l           ll  "JjdUWXJ  .!0:[  'f:'OOZ  )jJO[q 
w JJm]l  uoJwmp:m           Jt[l  t(l!.\\           Jll  .\i!!B.!n[d 
r  ilu]wm]ue          J;:ltJPnJ oooz potpJm JtU. zooz :-tJo[q JB 
J:llU!J              J11!ms l'TIU!P! \tud s:Jpnpu! OOOZ  pm[PlU ;ot].]. 
;o:JL\Jp    JO            m1                 .  .,.;,!.\ m               umTiar 
         r,  ilupemmr, .!OJ  pot[tJm  eJo uetp .\\O[l     oz "!)!:!  e  Jll  d!t[SJ;:JU.\\0  ilmtpll.\\S .!OJ            e            Z    DLI 
'00 TZ  pOt[l;:lUl Jll UOIWZIUOR[JU.\S  ;:ll]J  l[l].\\ JnJJll pue .([[eJ 
-UJm;:JJJU!  J!1JJO  ,\etu               ;:ll]J  OJ  ;:lJJHS  JS.!!J  Jl[l  Ulll.!J 
'ilmTiump  U!              ;ot].L        ptw  VZZ  "S!)!:!  m            
-Sil[[!  ozzz ptw OIZZ s.Lopm'>\  ;oqqo           ;,t1JJO UO!Jl'Z!U 
-o.!tpu.(s          00 TZ  pot[tJm ;:ltiJ. '01 zz .\\OpU].\\        Jt[JJO 
     U!             Jl[l OJ  UO]UOdOJd U!  ;:JZJS  U]               ,\em OZZZ 
.w1pm.L puo:J.--.s     "JlUIJ Jttws                      JV "HZZ   !)!:! 
u!  o  rzz .w1pu!.L ;oJJ'Js  pum:Js      vzz  !)!:! u!  o 1 zz  .w1pu!.L 
      JS.I!J            1\u!Titmtp .\q      U!  JSl'!.'"OJ:JU!  .\tml ;ojllljUJll' 
      e  t]J].\\            lS.!!J  e  t(l!.\\              OTZZ  .\\OPU].\\ 
e  ";:JjdmeXJ  .!ll:]  "JJ]A;:!p  e  JO  ,\e[dS]p  e  JO  S.\\llpU].\\  .!0            
JO Tiu!/IS;JJ                                       ptm VZZ  'S!)I:1 
            .L.'"OU
Jt[l  t[ll.\\ UJ;:JJJS  Jt[l              pue SJJepdn J."l.!l                   "JtmJ 
         'SUO]Jem]Ue             .!]Jl[l               ;:JAetj           
              ;:ll]J  1!1Ul1  pJJepdn  IOU  S]  ;:JJJl  .!JpUJJ  Jl[l  "JJ,\J 
-Wl] 1 ":J.'UJ  J;o.\q  ;,t1J JO  .\do:J              SJU;os:JJd:JJ  ;o:JJJ  JJPUJJ 
JO  JJilPIUJS  l'WP  puo:JJS  V                Jl]l  JO  S.Lopu!.l  JO 
           Jl[lllJ puodS;:JJ.!OJ Wl[l  S.IJ,\e[ JO  ,\tp.!eJJ!l[ e  SHWSJJdJJ 
J;:JJJ           Jo  ;:JJnJJIUlS  ewp  JS.I!J  e  snwunpoqtuJ         U[ 
'JWilJ[;:Jp Jl[l f!tH[]ll.!JUOJ  Ulli)BJ!!dde              Jl[l 
oc  uo                p.."liluetp Jq .(r,m  uopetmur, ue t]J].\\              
JOU             J:ll11()  'UlliJlmlllW  ;ot1J  JO              u;,t1J     J)l''i!;,pp 
;ot].L  "J)l''i!;,pp     l]JI'>\  p.'"OJI'!:lOSSI'                  lFJI';o  J;ol1Pl1'>\ 
                       JJt]UI11  .\em  0061  pot[tJm  JtLL 
ur::>              e  uodn p.."lseq  Jo .\[[e::>]popJd 
,:c  p:lW111:lJI':l  ;,q  .\1'm             tpto:.--.  JO            ;,t].!_          
;,t11JO:lttWJJ JXJU Jt11 'iluunp SJ:Jump;,t11         OJ  .1;op.1o      
-J;oJU!  .w'JP.'"OJ ;,t11  Tiu!Jnp         :ll]J OJ  p:Jwpdn                
U!                      Sll[l  U[  'JJ],\Jp  ;:ll]J  JO  ,\r,[dS]p  ;:ll]J  Jll  Jme.!J 
lXJU ll  pue Jme.!J  JUJJJilJ eJO ,\e[dS!p ;:ll[l  UJ;:l.\\);:llj  popJd ;:!Ul]l 
""        lFJilJ.L(l!\JJJU!  .W,.ip:JJ     uo         J;oUHJ            J;otu!J 
         :ll]J amSOFJS!P          :lljlJ o                 UWJ.l:l:l U] 
'9061  )jJO]q  w JJtmJ J]ilms 
ll  UO        UOIWUl]Ue  l[JBJ f!tHJ;:J[dtuOJ           .!Jl[l.H1J  0061 
pOl[JJm  Jl[.L  "f:'06 I  )jJO]q  Jll  UO]letmur,  l[JBJ Jll  SSJJi!OJd  Jl[l 
,:1  'ilu!mtm:Jpp s:Jpnpm          0061  pm1pm  Jl].!_  'Z06l  )j:lO(lj 
Jl'             o.LJ  JSI'J1  Jl'            s:Jpnpu! 0061  pm1pm ;ot].L 
';)JJ,\Jp ll Jll          ll  Ull  pJ,\B[dS]p            .!0               "UO!f.JJ 
         r,  ilupemmr, .!OJ  pot[tJm  eJo uetp .\\O[l     61  "!)!:! 
'01 lZ )j:lO]q  11'       puo:J.'"OS  ;ot1J 
l]J!.1.                             p:Jwpdn J\1"[              qJOq  U:Jlj.1.  fll 
            p:lJS:Jilfl:JJ  ;ot11  .W,.!p  OJ  1Jl':l                        1\uu 
             SJpnpU] J;:Jt]UI11  001 Z pOl[JJm ;:Jt[.L  'S;:Jtu]lJUJJ;:lJJ!P W 
               UllUJ  S;:!Jl1q].!Ue  fJ<"lJepdn  ;:ll[l  S;:!A!J:l;:l.!         .\\llp 
      ll!  ;osJ,JJ:JUI  OJ  S.\'\..'"01  \  J;ol1JO 
          [lmO!J1ppl' ;ojJ,aJ:J .\I'm mH:JSlWJJ          ;ot1J  .\q :l/!S U! 
                'i!m:Jq .1..'"01 \  ;ot1J  .\p\1Wtu;,J[V       u!  p:J:Jnp.u ;oq  OJ 
pJ;:JU  ,\r,m  S.\\JIA J;:Jt]Jll  Jl[l JSBJ l[Jil(.\\ U]  S.\\."lJ,\  JJl[lO PIUlSljll 
,\em  m.!OJSUB.!l           Jl[l  .(q         U!  fJ<"lSBJJJU!  f.U]Jlj  .\\JIA 
;,t].L  s.1..'"01\           Jpnpm .\tml         v  Jndm       :ll]J  -m .  .,.  ;ot1J  "JU;om!poqm;,  ;ouo  UJ  "80JZ  )j:lO(lJ  Jl'  .\pu;,pu;od:Jpm 
       pml:l.'"OS  I'  OJ       JS.I!J  I'         S.1..'"01.\  :ll11  JO               
Jl[l  ilupepdn  sJpnpu]  J;:Jt[l.H1]  OOTZ            ;:lliJ.               
J:lllJ.!;:lJU!  JJS!1  ;:ll[l f!tHJeJ;:JdOJJA.WS  .\\OpU].\\ e  lll                   
tpeJ                              01              Jt[l  UJt(.\\           
;,q  UID  'i!t'U                      ;,t].!_  "90JZ  )j:l01lJ      P.'"'1lJlm:J 
91 
,:  l]ll'>\  p:lW!:JossJ' .1..'"01 \  ;oqJ  uo mn:JstWJJ          1' suuo_p;od Jl"[l 
UO!Jem]Ue  Ull              ;:JJe.\\ljOS                  U!!Jj.l;:lJ  U[ 
"UO]l 
-em1ur ;:lt[l  ,\q  pJmpom ilu]Jq .\\JIA  Jt[l OJ                 m  s.\\JIA 
J:ll1JO J'i!tmtp UID UO!JlDI(dd!' am.LlJ OS ;ol11J 0  (lUJUO:J ;ol]J J;opun 
>l 
zs  >  J6'vv8'L  sn 
        
-ops!P JU;os;o.Jd  ;oqJ  m               spoqpm :JI(JJO amos  JSIO:.'"I( J" 
           OJ           UeJ 008(':        Jl(J  "JJnSO(JSip           
                           U[           Jl[J JO                  JO 
    OJ           JJl[JO         OJ JO                    JlldU!  [OJJUOJ 
         I'  m  JU:llU:l.\OlU  J;ot[Jll  .Ill  TIU!JI,lUitm  "1\U!.IIlJS:lTI  Tim 
]]OJ:JS (O.IJUll:l              :l11'm                      "Jt[TI!J1:mq 
,\ejdS!P e                     OJ                         UeJ l[Jllq  09 
JO  9P8Z                      ppgz        .(J!ttHXOJd  Jl[J  tuOJJ 
I'JI'P  ;ot].l.  "S:JIJ!\!PI'          :ll(J  Jl10l(l'                   .l:ll(JI'TI  OJ 
":lUll[" p.'"1SI1  JO  "J;oqpTIOJ                ;oq  tmJ 9P8Z J;opmo.r;opJJI' 
:ll[l  p1m  ppgz Josu;os .(J!UHXOJd :ll(J  m<.UJ  pa.!!llhJI' I'JI'P ;ot].]. 
,\p,\!jJJdSJJ zpgz et!UJJtHl  pue OP8Z               "8f8Z    
         JOJ         ::>q  ueJ  euu::>nm  pur,                       
u.Lmq-u;o.L  .\uv  ;,111  ;,t1J  p1m  ua.'"OJJs  1pm1J  p1'd  tpnoJ 
"PI'd                 p1,d.\;,1 m                                             
-Jilq "J[dtueXJ JOJ"JPil]JU!  ,\r,m 9f8Z        JlldU!  Jll.l.  "([_)"[ 
tm         mje tpp:[.\\         JlldtH  l]JilOJ  r,  JO                0> 
OJ  .\Jmqe      ::>pnpm  JOU       tpp:[.\\  (([_)'[)                      
P!llh!1  1'                 ;,q  .\1'm  Pf8Z  ;oJn;op  .\l'[dS!P  ;ot].l. 
.([;o\lpadsa.J  "t1Jnom  ptm 
           e  1[1!-\\             U!  p::>tl<.l!JISod  .([[eJ!d.(J      mq 
                 uo uone::>O[  .\ue Je                  ueJ OP8Z  JUOt[d    
-<.UJntl  p1m 8f8Z J:l1IO:.'"Ods  ;ot1J        paW!J;tJddl' aq ]]!!>\  J]  "98Zf 
;oJL\ap  Jndm  :ll(J  .-,..opq  "Zf8Z  Timsnoq  ;otp JO  ml!pod  J;o.1.0( 
I'  Jl'             Sl  OP8Z  :JUOl[dOJ:J!m  :ll].].  "Pf8Z  ;oJn;op  .\l'[dS!P 
Jl[J        Z8Z                  JO  UO!UOd        Ue  W         
OS[e     88Z                "Zf8Z                JO UO!j.l<.ld        Ot 
m' w Zf8Z Timsnoq :ll(J m<.UJ  TimpuaJX:J II.Wll1S    ZP8Z I'UU:JJim 
:li(.J. "Zf8Z           :li(JJO Ull!Ulllf .l:l">\<.111'  W  p.'"OUll!JISOd            
-OJdaJ OJ  s.(l,">\  sno!.m\ ll!                               Jt1TI!1  :J\Il!PPI' 
m          uauo) ;on]q  ptm  ua.uTI           I(J!l(1.  m  ppmu :J\Il!PPI' 
ue  S!  tp!t[.\\              e  JO  tuJOJ       m  aq  ,\em         
mpam-uou atl.l. f>u!wpdn                  JOU  op W1[1          
pur,           "lt!JJUOJ  apnpm  ,\em          mpam-uou        
":l:l!\;op :ll(J 
JO         :ll(J OJ  pammJs Tiu!aq OJ .lll!Jd           aq .\1m1  JU:JJUOJ 
           :JI(.J.  puo:Jas  .1;od           .\po.l  OJ  .\Ju;o_\"\.J  .\]]mJimJsqns 
JO  ateJ  e  w                01             .(em              
atl.l.  sttwuodmo::>  (JO[OJ)                        .\ pur, 
n  p1m                :ll(J)  JU;ouodm<.l:l  a:Jtmu!mll[l'               
A  a1p  111!.1.  ppmu  .\flA 1'  Jll          ;,111  ll!  ;oq  .\1'm  JU:JJUOJ 
mpam  atl.l.         iluj.\.ieA      Jat[JO  Jo  af!etu]  o1pne  u1 
-iln[d oapiA oapiA apnpu]  ,\em         P-]pam                  e 
Ull[l!.\\ UO]WJO[         JO  "J!llll                 SJitjdeJf!  e             
umm  ;,tp1D  m              .\.1omam  Jll  ;,d.\J  .\1m  ;,q  mD  UO!J 
-I,Jll(  .\.1om;,m :ll].l.  .(1'1dS!P ;otp  OJ  .(1J:l.'"I.I!P  JU:lJUOJ  l'lfA'"IUl-UOU 
pur,                        pur,  "UOIWJO[  .\.iotuatu  pUOJ.'"IS      
UJOJJ  J[IJJUOJ  P-]p.'"Otu-UOU  .'"Ol[l f.U],\.'"OUJ.'"OJ  "UOIWJO[                 
;,111  mO.IJ  JU:JJUOJ             :ll(J Tiu! \;oupJ        JU;oJUOJ mpam 
-uou  ptm             :ll(J               "SJU;ouupoqma  amos  U[ 
"()J9Z  )jJO(l[ 
Jl'  :l:l!.\;op  ;otp  Ull           .H:J  JU:ljllll:l  l'!fA'"IlU-UllU  p1m  mpam 
.'"Ol[l                      J.'"Ol[JJI11  009Z                  "809Z 
'jJO[q  te  uope::>O[  .\.iomam           e  m  Jt!JJUOJ  mpam-uou 
TIU!.IOJS  sapnpu!             ()()9Z  pm[Ptu :li(.J. "909Z 1:lll1q W  UO!J 
-I,Jll1  .\.!om am JS.I!JI' m  JU;oJum                                       
009Z  potj).'"Otu  .'"011.1. "909Z  1JO[q  W  .'"OJilPIUJS  etep  .'"Ol[l tuOJj 
             t[J].\\  pateposse  Ja.(e[  e  ilmlpetap  sapnpu] 
         009Z  pot[Jatu  atl.l.           mpam-uou Jo mpam  1[11.\\ 
              amp!UJS l'li'P ;ot1l.Jll  s.n\1'1  ;ot1l.Jll  I(JI';o  J;ot1Pl1">\ 
   9f8Z          J!ldU!  Jl[J  pue  "Zf8Z                  JO  UOIJJOd 
JJddn  1m  W  p::>tlll!jiSOd           S!  Pf8Z                   Jtl.l. 
sz   Dl:l m  u.\\OtJs JoJ::>eJ  mJoJ  ::>tJJ  moJJ 
         Ul.lll.J  JU:JJ;,_jjlp  I'  :J.\1'1(  .\1m1  ptm SJOSU:JS  .l:l">\;,_j  .Ill  :l.llltu 
asn .\1m1  gz "!)!:!.Jll JU;ouupoqma;,t1J Jl't1J  paW!J;tJddl' aq 1[1">\  J] 
"9P8Z                  ue pur,  PP8Z           .\Jitu!X<.ud  e  ::>pnpm 
.\em  mw  oosz                      Jti.I.  zrsz          1m  pue 
OP8Z  JUOI[dOJJitu  e  "8f8Z           e  pr,d,\J'j                
m' ;,q  .\1'm  I(Jil(.1.  9f8Z ;oJI \;op  Jndm  m'  "Pf8Z :JJ!.\;op  .\l'[dS!P 
I'  "Zf8Z Tiu!Sillll(l' ;opnpm  .\1'm  008Z ;oJL\ap              :ll(J  "8Z 
       U[  "J[.\Js  ,.Jeq-,\pue::>,  e  ilu!,WI[  uonemiluuoJ JUOt[d::>pJ 
e  U!  JJIAJp             e  S.\\OI[S  8Z         "JJilSO(JS!P        JUJU! 
-!poqm;, auo OJ  1\u!p.!OJJI' ()()8Z ;oJL\ap I'              8Z . !)]:1 
..  ;omm.Japp OJ  .r;op.ro  U!  p.'"OSJ:l\I!IJ  Sl  J."Uj  .I:J.\1'(  .Ill ;tlll)JIUJS  l'li'P 
" 
  atl.l.  ro9Z  'jJO[q  JP-         mpam-uou Jo            1[11.\\  paJmJ 
saJ! \;op as;ot1J 
Jll  .-,..;,_!  1' Jll S:J[d11mx;, :lJI,.IJSil[[!  ff8Z ptm 9-p "S!)l:!  saJ!.\;op 
     JJl[JO  JO                   JO  UO!JeU!l(tuOJ  ,\ur,           
            ewp  tpllOJ  !J[ntU            tpllOJ  !J[ntU           
ppt1ptmq         \ap  P(l[I'J  "S:l:l!.\;op  .II'Jil((JJ  "S:l:l!.\;op                o<: 
            ;,[qi,UOd  s.JaJndmoJ doJ1S:lp                     
ewp                     "SJJIAJp              ilU!Pil[JU!          
         U!                      U!JJ                                 
-eJedde pur,                       Jt[l                     U[ 
-mse s1             etep at[l JO         tpea                             
sapnpu!              009Z  pm1pm ;,t].].  zogz  1:lll]q  Jl'  ;oJI\ap :ll(J 
JO ;oJIOJ.l;oJU!  J:JSil :ll(J 111!.1.  fA'"Ili'!JOSSI'  s.n(I'1Jll .\tpm.!;o!l11' 1\u! 
                  I'JI'P I' 1\mp!UJSUOJ         ()()9Z  pm1pm ;,t].l. 
oc           e  uo .\ejds]p JOJ                     JO          mpam-uou 
pue                                potJJ-'"'tu  e            9Z        
              aq [[!.\\  OTSZ  .\\.'"11,\       ilU].!OJS          
;,111  U:ll(J  "OJ;oz Jll JUilOJ  pau!I'PII'      () JSZ            J I        "!)1:1 
.:c  m                 s1'  JUilOJ  p.'"lump.J  J;o.LO(I'  a.\1'1(  [[L1.  OJSZ  .\\.'"11_\ 
.  paMltu.'"OJ     80SZ          .'"Ol[l t!Jl[l  "HSZ         m  paWJJSil[l! 
se  aJilPIUJS  etep  at[l  tuOJJ                  90SZ  Ja,\e[  at[l  Jl 
mliJID01  .\.1omam ;oJml,das 1'  u!  pass:JJ  >'I 
-<.ud  ptm ampn.JJS I'JI'P ;,111  mo.!J  pa.\oma.J  aq ]]1">\  POLZ  Ja.\q 
zrsz pur, 
80SZ               .I:JJU!Od  ;,tp  Ull  pas1'q  O">'.JJO  JUilOJ  pau!I'PJ 
I'       VSZ  "!)!:!  ll!  ()JSZ  .\\.'"11\  ;otlJ.  "Jndm  J:JSill'  OJ            
m  OJSZ  .\\.'"11\  ;ot11  Tiu![(lUJs      1pns OJSZ  .\\.'"1!.\  :ll(J  1[11">\  paw 
        SUO!jeJado [OJJUOJ  .(em OfSZ            [[1        "OJ SZ 
.\\.'"01,\  .'"Ol[l OJ  OfSZ             ([[1)                   tuOJJ  JU]Od 
.\1'm  ZfSZ a:Jtnl;o_pl  J;oJu!od  pmp V  "90SZ  J;o.\q  :ll(J  OJ  OJSZ 
.\\.'"II\ :ll[l  tu<.UJ  SJU!od  z  JSZ  :JJtn!;op.r J;oJU!lld  pmDas V  "() JSZ 
.\\.'"II,\       Ol90SZ             tuOJj          80SZ                  
      \' ".\\.'"0],\          papiAOJd J[IJJUOJ                 OJ J.'"OpJO  U1        
at[l  OJ[[eJ            e               OTSZ  at[l  t[J].\\               
90SZ J;o.(q ;,t].].  "() JSZ .\\.'"11  \  ;,t1J 1[11">\                    90SZ J;o.\w I 
gosz  ptm  rosz  zosz  s.Ja.\1'1          ampn.JJs  l'li'P  ;,tl.l. 
       e  1[11.\\            iluwq         e  t[)l.\\         JO            
   1pns               1[11.\\  p::>Jeposse  SJJ,\e[  .\uy          
-uou  Jo  mp::>m  1[11.\\               JJIHJIUJS  etep       JO         
l(JI'a .r;ot1Pl1">'. ;omm.Japp IJ!1.  ()09Z poqpm ;ot].]. z JLZ  JU:JJml:l 
l'!fA'"IlU-UllU  ;ot1J  Jll               :ll(J  SUUll.J        ".\p\I)J:JdS:JJ  fll 
"ZPLZ  ptm  "ZfLZ  "ZZLZ  JU:lJUOJ  l'lfA'"Itu-uou  111!.1.  paW!JllSSI' 
JJe OPLZ  pue "OfLZ "OZLZ          o::>piA      JOJ                   
     ::>q  .(em tp!t[.\\  zr LZ                        1[1!-\\           
e  ilm,wl[           etep  e            HSZ  pue  vsz         
".')JIA.'"Op  .'"Ol[JJO  ,\e[tfSip  .'"Ol(J Ul<.UJ              
"ilm;,q .n\1'1 ;ol(Jl(JI">\  p.'"IJmJOSSI'  .-,..;,!.\  ;,111  UO  fA'"ISI'q  JllJJO .\I'm 
,:                 I'WP  :ll1J  lUO.IJ  .n\1'1  ;,111                 amp!UJS  l'li'P 
.'"Ol[l tuOJJ  paAOUIJJ Sl         .'"Ol[JJ]  pajU.'"OUl.'"OJJ.'"Ip  aq [[!.\\ .\\.'"0],\      
S!  ()JLZ  J;o.\wj  oap!\        tpns  90LZ  JU:lJUOJ             l1J!.L 
                  POLZ J;o.\q                                       ptm 
      1[11.\\  patepmse aq ueJ         atl.l.           JO .\tp.mJa!t[ 
e  ilmAet[                Jo            ewp  e             LZ  "DI:l 
                .'"Ol[l OJ  paJedtuOJ       J.'"O.\\O[S  r,  W           .'"Ol[l
OJ             aq       jU;ojUllJ l'!fA'"IlU-UllU  ;ol(.J.  "S.Ill10J J:ll1Jll :JJ11p 
81 
JO )UilOJ                                          "80PZ  'jJO[q )!J      
s1  JUno::>               Jl  .\.iouwm  tuOJJ         at[J              
sapnpu!             OOPZ  pm1pm  :JI(.J.  "90PZ  1Jll[q  W  spa!"qo 
LJ 
zs  >  J6'vv8'L  sn 
us 7,844,915  82 
19 
!'Ki.  29  shows  a  device  2950  in  accordance  with  one 
embodiment of the disclosure. The device 2950 may include 
a housing 2952. a display/input device 2954. a speaker 2956. 
a microphone 2958 and an optional antcmla 2960 (which may 
he visible on the exterior oft he housing or may be concealed  -' 
within  the  housing).  The  de\ icc  2950  also  may  include  a 
proximity  sensor  2962  and  an  accdcromdcr  2964.  The 
device 2950 may be a cellular telephone or a device which is 
an intcg.rm<..'d  PI)..\ and a cellular telephone or a device which 
is  an  integrated  media  player  and  a  cellular  telephone  or  a  lCJ
tk'\ icc which is both ancnlcJ1ainmcnl system (e.g. !(Jrplaying 
gmncs) and a  ccllulnr telephone.  or the device  2950 may  be 
other  types  of devices  described  herein.  In  one  particulnr 
embodiment.  the  device  2950  may  include  a cellular  tele-
phone and a media player and a I'I)A, all contained within the  l'i 
housing 29S2. rhc de\ ice 29SO may ha\e a Jlm11  l'iJCtorwhich 
is  small  enough thut  it  !its within  the  hund  ofu normuladu!t 
and  is  light  enough  thm  it  can  be curried  in  one  hund  by un 
adult. It will be appreciated that the term "pm1ab!e" means the 
dL'\ice  can  he  easily  held  in  an  adult  user's  hands  (one  or  "" 
both):  ll1r  example.  a  laptop computer and an  il'od  arc  por 
wble devices. 
20 
telephone  integrated  with  a  media  player which  plays  Ml'3 
Hies.  such as Ml'3  music  Hies. 
Fuch oft he devices shown in FIGS. 4. SA. SB. SC. 6.\. 6B. 
6C. 6D. 28. 29. JO.\ and JOB may be u wireless commtmica-
tion  de\ ice,  such as a  cellular telephone,  and  may  include a 
plurality of components which prm ide a capability ll1r  wire 
less  commuJlicntion.  !'!G.  J1  shows  an  embodiment  of a 
wireless device J070 which includes the capubility  for  wire-
less  commtmication.  The  w i n ~ l e s s  device  J070  may  he 
included in any one of the de\ ices shown in FKiS. 4.  SA. SB. 
SC. 6A. 6JS.  6C. 6! ). 28. 29. 30A and JOB.  although a!tema 
tivc  embodiments of those devices of FIGS.  4.  S.\. SB.  SC. 
6.-\.  6B.  6C.  6D.  28.  29.  JOA  and J08  muy  include more  or 
J(:wer components than  the Wireless de\ icc 3070. 
Wireless de\ ice J070 may indudeanantcnna system 3 I 01. 
Wireless dcviccJ070 muy ulso indudcu digitnlandlor unulog 
rndio Ji"equency (R!') trnnscciver J1 02. coupled to thcuntcnnu 
system  J101.  to  transmit  und/or  R><::cive  voice.  digiwl  dmu 
and/or media signals through antenna system  3101. 
Wireless device J070 may also include a digital processing 
system  J10J  to  control  the  digitu!  R!'  trunsccivcr  und  to 
manugc the voice.  digitn!  duw  undlor mL'dia  signals.  Digiwl 
processing system 3103 may be a genera! purpose processing 
device,  such  as a  microprocessor or controller  ll1r  example. 
In  one  embodiment.  the  display/inplll  device  29S4  muy 
include a multi-point  touch inplll screen in uddition to  being 
a  display.  such  as  an  I CD.  In  one  embodiment.  the  multi 
point touch screen is a capaciti\e sensing medium conligurcd 
to  detect  multiple touches  (e.g ..  blobs on the displuy  Ji"om  a 
user's  JUce  or  multiple  lingers  concurrently  touching  or 
ncur!y touching the display) or ncar touches (e.g .. blobs on the 
display) that occur at the same time and at distinct locations in 
the  plane of the  touch  pane! and  to  produce distinct  signals 
rcpresentmive of the  locution of the touches on  the  p!une  of 
the touch  panel  for  each of the multiple touches. 
"-'  l)igita! processing system JI OJ  may also he a spL><::ia!  purpose 
processing device. such us un .\SIC (upplication spcci!ic hue-
grated  circuit).  FI'GA  (!ield-prog.ranunuble  gate  array)  or 
DSI'  (digital  signa!  processor).  Digital  processing  system 
3 I 03  may also include other devices, as arc known in the art, 
30  to  interJUce  with other components of wireless device J070. 
For  example.  digital  processing  system  J10J  muy  include 
unalog-to-digitu! und digita!-to-unalog converters to interJUcc 
with other components of wireless device J070.  J  )igita!  pro 
cessing system 3103 may include a media processing system 
In  certain  embodiments  of  the  present  disclosure.  the 
dL'\ice  2800 can  be used  to  implement  at  least  some of the 
methods discussed in  the present disclosure. 
35  J109.  which  may  ulso  include u  generul  purpose  or  special 
purpose processing device to  munuge  mcdiu. such as  tiles  of 
uudio datu. 
FKiS.  JOA  and JOB  illustrate a device J070 according to 
one embodiment of the disclosure. The device J070 may be a 
cel!ulnr telephone which includes a hinge J087 that couples a  40 
display  housing  J089  to  a  kLypad  housing  J091.  The  hinge 
J087 allows a user to open and dose the cellular telephone so 
that  it  c;m  he placed in  at  least one of two dilkrcnt  conligu 
rutions  shown  in  FIGS.  JO.\  and  JOB.  In  one  particulnr 
embodiment. the hingcJ087 muy rotmub!y couple the displuy 
45 
housing to the kLypad  housing.  In particular, a user can open 
the  cellular  telephone  to  place  it  in  the  open  conliguration 
shown  in  F!Ci.  JOA  and  can dose the cd!u!ar  telephone  to 
pluce  it  in  the dosed con!igurution shown  in  FIG.  JOB.  The 
keypad  housing  J091  may  include  a  keyp.1d  J095  which  '0 
rccei\es inputs (e.g.  telephone number inputs or other alpha 
numeric  inputs)  Jimn  a  user and  a  microphone J097 which 
R><::cives  voice inplll  Ji"om  the user. The displuy housing J089 
muy  include.  on  its  interior surJUce.  a display J09J  (e.g.  un 
I .CD) und a speaker J098 und a proximity sensor J084: on its  ,
5 
exterior  surl'iJCc.  the  display  housing  J089  may  include  a 
speaker J096. a temperature sensor J094. a display J088 (e.g. 
another I .CD). an mnbicnt light sensor J092. und u proximity 
sensor J084.\. I knee. in  this embodiment. the displuy hous-
ing  J089  may  include a  lirst  proximity sensor on  its  interior 
60 
surl'i1cc and a second proximity sensor on its exterior surbce. 
Wireless  device  J070  may  also  include  a  storage  device 
3 I 04, coupled to  the digital  processing system,  to  store data 
und/oropernting progrmns Jixthe Wireless device J070. Stor-
uge device J 104 muy be. for example. uny  type of solid-stmc 
or magnetic memory dL'\ ice. 
Wireless de\ icc  J070 may also  include one or more input 
devices J 1  OS.  coupled to  the digital processing system 3 I 03, 
to  accept  user  inputs  (e.g ..  telephone  numbers.  nmncs. 
uddrcsscs.  media sek><::tions. etc.)  lnplll device J 105 may be. 
ll1r  example.  one  or more of a  kLypad,  a  touchpad,  a  touch 
screen. a pointing device in combination with a display device 
or similar input device. 
Wireless device J070 muy also include m lcnst one display 
device JJ 106. coupled to  the digitnl  processing system J 10J. 
to display inllmnation such as messages. telephone call inlllr 
mation. contact inllmnation. pictures. movies and/or titles or 
other indicmors of mcdiu  being sck><::ted  via  the input device 
J105.  Display  device  J106  muy  be.  for  example.  un  !.CD 
display de\ ice.  In one embodiment, display device JI 06 and 
input  dL'\ice  310S  may  he  integrated  together  in  the  same 
device (e.g .. a touch screen I CJ) such as a  muhitouch input 
panel  which  is  integrnted with  a displuy  device.  such  us  an 
!.CD display device). The displuy device J 106 may  include u 
backlight J 1  06A to illuminate the display dL'\ ice 3 I 06 under 
certain circumstances. It  will be apprccialL'd that the Wireless 
device J070 may include multiple displuys. 
In at  !east ccJ1ain embodiments, the de\ ice J070 may con 
win components which provide one or more of the  Ji.mctions 
of u wireless conununicution device  such us  a ccllulnr tele-
phone.  a mediu  player.  an entertainment  system.  u  I'D.\.  or 
other types of devices described herein.  In one implemcnta 
tion  of an  embodiment.  the  device  J070  may  he  a  cellular 
Wireless device J070  may also  include u  battery  J 107  to 
65  supply opcrming power to  components of the  system includ-
ing  digital  RF  transcci\er  3102.  digital  processing  system 
3 I 03,  storage  device  J 104.  input  device  JIOS,  microphone 
    Ul  '(]OJ:lS     'i!U!)jlHU!  JlldU!  J;osn  ;oqJ  UO  p.'"OSI'l(  JlldU!  J;osn  OJ             'i!mp!.\OJd  jlllll[ll\\ S.\"\.'"01  \jO .\1pm.1;o!1J  aqJ  OJ            
'ilu!pLvud  sapnpu!          OUt  poqpm  at]_].  "ZOtf  )j:lO(lJ  I' .ll:J           UO!Jl'J;o(:l:Jap     ps OJ             (]lU:lS  UO!Jm;op:Jap 
e             JOJ  !d\' ue          )o{JO.\\aUHUJ  at]lJO .\.uuqq at]! 
"Jtwunpoqma ue U]          e sa)o(OAm  mdu! Jasn e Jat]Jat].\\ au!m 
-JaJap 01  uotFuado                     e                        ld\" ue 
         )jJ<.vu;,mt!l.J  ;,q!Jo .\.m.!lJ!I  ;,t]J  "JUam!poqm;,  tm  UJ 
umpaJ!P                 JO  jlD!pa.\ 
e JO  auo       w U!  'ilm]]OJJS  at]l  iluppo] JOJ  a]ilue        e    
01  uopeJado  ]]OJJS  ]euotpaJ!P  e                  JOJ  !d\" ue       
-tud  )jJlJ.\\;otut!l.J  ;,t]lJO .\.mJql[  ;,t]l  "JUam!poqm;,     UJ          
   w SJa.(e]  JO  .\tpJeJa]t]  e JO  dot  uo ilmwJado              JO  ,\tpJe 
-Jatt]  e                sapnpu]  Wt]J  OUt  pot]tam  U]  pawJtsnm 
se         !d\' atn aJe.\\lJOS                  at]! mt]l!.\\        
JO                .JO  dOJ  UO            S.\"\.'"01  \ .JO  .\l(:JJI,J;o!1]1'       
-1poqm;,  ;,mos  UJ                              1]1!-\"\  Tiu!PI'J;oJU! 
I'  UO             ;,1\p.'"O                            um'i!a.J               ;otjl  Ual(.\"\ 
                mmmxtmt                   1'  .\q uo!TiaJ              
e  uo              pueqJaqqnJ  e  set]  tetp  UO!WJado  pueqJaqqiU 
e                   JOJ  !d\"  tm  sap!MlJd  :-jJO.\\ameJJ  at]l  JO  .\JeJq!] 
atp"Ju;ounpoqma tm UJ           ;,qlJo pu;, aq1  11'  utl!'ilaJ           
09  aJe.\\lJOS  a::>e:paJU]  Jasn t]l!.\\  mammu],\Ua ue m          aJeJ 
-J.'))U]  ilU]UHUe.riloJd  UO!)P-J!]dde  atl.L  '.')JilSO]JS]p  JUaSaJd  at]l 
JO S'i!U!l(:ll';ol  ll!l'J.l;o:l  OJ                  Ul.IO.JJ.m1p  .\"\0[1  U!  ;o:JIOJ.l;oJU! 
                                   .JO                       f:'f  "!)J:I 
          JUasaJd  atp m                spoqpm 
   at]JJO amm       w wama]dm] 01 pasn aq ueJ 00 aJ]\ap do1 
-de]  at]l            masaJd atp JO             umua::>  U] 
   m ;,ll(!SL\ 'ilu!;,q  um1la.1             ;o1]1JO           1m        umTia11' 
UO  paseq        r, JO  UO!IJ.')J!P             Ue  U!  UO!ilaJ  pa]]OJJS  e 
JO a::>unoq  e       01  uopeJado a::>tmoq  e                   JOJ  !d\" ue  O> 
          'jJll.\\.')UWJJ  .')l]l  JO  ,\JeJq!]  at])  ")Uam!pOl(UW  UP- U] 
.\.mpa.l!P a['ilms     U!        
    Jl"]l (":JP "jXaj "sa'i!tml!  1!;,) Sa:JJllOS.'"OJ  paW!       I'        
os1e  :pm\attmJJ  atn             'ilmwmp:m  pur,  'i!u!Jntsail 
                'ilmmJOJJad                      ilmmumJil<.ud    
UllljlD![ddl' ;op! \tud OJ  UUO.JWjd  aqJ.JO S1Ul!J1Jtud  aqJ 1]1!-\"\     
-J;oJm                 at(.]_  aptn am-\\uos .JO  .\.tt!ll(!]  1'  'ilmu!I'JmD 
)jJO.\"\.'"IttmJJ  1'  sapnpu!  mJ<.:]Jqd aq1                amos UJ 
'UO]ilaJ  ,\r,]dS]p 
e JO            .\ejds]p  e  Jo  ailpa  matuoJ  e  01         JOWJtpm  ot 
(]lU:lS  aml             J;ol(Pl(.\"\ ;oumuapp OJ  ld\'     1j'ill10.ll[l(]lD 
JOJI':l!Pll!  ][OJ:lS     1\U!JJ:J_jSUl!lj  Jl:J                 ;opnpm  S1Ul!J1J 
-<.ud  aJom  Jo  auo  at]l  tuam]poquw  ue  U]          e  iluno,\m 
tndu]       atp uo       mdm Jasn  e JOJ  JOPBJ  UO]WJap::>ap  e 
j.')S 01  ]d\'UP- t]f!HOR]l  ]jeJ ]]OJJS UO])eJa]aJap r,                        
           ;,pnpm sum.R!OJd  aJotu Jo ;,uo ;,111  "Ju;ounpoqma 
    U]                         JlldU!  Jasn    Jal(Pl(.\"\ ;oumuapp OJ  ld\' 
tm t]ilmut]J]]eJ                                  JOJ              
apnpm            aJom  Jo  auo  atp  watmpoqma  ue  U] 
                0[ 
(l'JUOZWl1]1' Jo (l':l!J.l;o\                      u!  TIU!J(OJ:Js ;oqJ'ilU!)j:lO( 
J<.:J  a['iltm  wu:Js        OJ  JdV     qTinoJqJ  !Jl':l  lions  Jl'Ull!J 
-J.')J!p  e f!uUJq]SUeJJ  JOJ               apnpU]            .')JOm 
Jo auo at]l"JUam]poquw ue U]  ']]OJJS  e uo           ailpa ,\e]dS]p 
I'               U0!1JaJ               ;o1jl  Ual(.\"\  jUama:Jl'jdS!P  lUillU!Xlml  ,:c 
p.'"lmmJapp.<ld  I'  .\q  UO!TiaJ             I'  uo  P:J_]p  ptmqJ;ol(lJIU 
1'        OJ  JdV 1m  qTimut]J  ][l':l  p1mqJ;oqqn.1  1'                 .H:J 
           apnpm sme.RloJd  aJom Jo auo at]l  nwunpoqma 
tm  U]  uoJJs at]l JO pua at]JJe uotilaJ          e U]          ilupq 
um1JaJ               aqJ.JO ;o'i!p.'"O  1m  JSI'd  U0!1JaJ  I' UO  p.'"OSI'l(  !!ODS  I'  flC 
.JO UOlj:J.'"OJ!p a]!SOddo 1m U!  UO!'i!.'"OJ  pa(]lU:lS I'JO;o:JUilOlJ I' aSlllD 
01  ]d\' Ue  t]f!!llUt]l  ]jeJ .')JtHlOl(  e               JOJ              
apnpm            aJom  Jo  auo  atp  watmpoqma  ue  U] 
     
'09f 
.\poq 1qo do1  m1        99f attmJ.J             ptm Z9Z        
e  t]JJ.\\  aJ]\ap  ta]qm  atLL  .)  'Dl:l  m  paWJlsnm  se  aJtAap 
1a]qe1  e ilmmJOJ  ]pun ZS pJeoq.\a)]  e JO do1  at]J          tS 
,\poq at]l U!t]l!.\\       S]  8S          r,  ilU]UWJUOJ  9S ameJj 
           .JO ;,1\p.'"O  UV  ;o:J! \;op  PllJI'l    OJU!  a:J!.\ap         ;ol[l.JO 
UO!SJa.\UO:J;o1]J                      !)1:1  .)f "!)1:1  p1m            U! 
patemnm se aJ]\ap ta]qm e OJU]  paua,\UOJ aq tmJ()O aJtAap 
d01de]  atn '80          e  pur,  "90 ameJJ           e  po 
.\poq 1' zot:f                 l(Jl\\ ()Off ;o:J! "''"'P  do1dq 1'             
Vff "!)!:!            ;o1]J.JO                U!l'J.l;o:J  JSI';ol  w OJ 
'ilu!pm:J:JI' a:J!.\ap    JO ;o[dumx;, Ja1]Jlllm           .)Vf 'S!)!:I 
          masaJd atp m            spot]tam 
at]J  JO  amm  1sea1  w JtWUW]dm]  01       aq  tmJ OOZ  aJtAap 
;,111            JUasaJd  a111  JO  SJU;ounpoqma  umu;o:J  UJ 
a:l!.\ap aqJJO         aJotu JO  auo m  JU;otujS11fp1'  1m  asm':J 
.\ue::>nemome  uat]J  .(em  WZ  JmsaJ<.UdtuJtm  at]J            
Wt]JJO  J]nsaJ  e sy u]aJat]             s.\e.\\ Jat]JO  at]l  m  Jo     
-OJd  a::>twilqpJU]  ]P-P!J!JJP- tm  t]ilnon]J  paz.\jetm  aq  .(em  etep 
;,111  ;,]dttmx;,  m:l  un1;o11                  Jammm  aq1  u!  l'll'P  Jl'l(l 
JO             aq1  uw:pad .\1'm  p1m  91Zf s.Josuas  aJom Jo ;,uo 
m<.UJ  etep a,\]aJaJ .(em ZOZ Jossa::>oJdoJJ]m at]J ooz aJtAap 
at])  JO                  UWIJ.')J        )e  Uj  "JOSUaS  H]'il!]  )tW 
-tqme ue          .(J]UHXOJd  e a]dmexa JOJ  ilu]pnpu] upJat] 
paq!J:Jsap           aq1  .JO  ;,uo       aq  .\tml  91Zf sJosuas ;o1l.L 
'(.l:l.\!a:lS1mJj :nJ 1m  1\a) )j.IO\\PU                  I' JO  )j.IO\\PU  p.<H\\ 
e  JOJ  Jat]l!a     tptt].\\ a::>BJJalm  )]JO.\\lau  e  apnpm  .\em  tlZ 
saJ]\ap tndtno;tndu] at]J aJottuat]Uil:J  pued tndm tpno1 e   
tpns a:J!.\ap ]OJJUO:J JosJn:J    m  p.11'oq.\;,1 m  p1,d,\;,)j     ;,pnpu! 
.\I'm f:'JZf  sa:J!.\;op  JlldJilll/Jildm  at(.]_        ;o1]J  ll!  l!.Wlll)jjp\\ S! 
Sl'             JOjptm                 saTip!.!lJ Sllll!.m.\ 1j'illllU1jJ J;o1jJO 
tpea 01                     aJom Jo auo apnpu]  .(em  90Z    
atl.L  .(j!A!lJe  J.')Sil          JOJ  .')J!J  l]J!l].\\  9JZ         .')JOm 
JO  ;ouo  .ll:J                apL\tl.ld  OJ  ptm  f:'JZf            JlldJilll 
1111dm  JO.J                ap!.\OJd  OJ  90Zf  snq  atp  OJ  pa[dno:J 
     aJe n Z                tndtno;tndu] aJom Jo auo "90Z    
at]l  t]'ilnon]J              Jat]JO  at]l  01  pa]dnoJ st  tptt].\\ 01 Z 
aJtAap           pue  Ja]]OJJUOJ  ,\e]dstp  e  apnpm  .(]]eUO]ldo 
-t!Jado  'i!U!ll'm!1m  ptm  'i!mJn]saTI            Sllll!JI,.\  mn:p;od  ,:1        .\tml ;o:Jn;op  S!1l.L  "Z()(':f                    ;o1jl  OJ  p.'"Ojdllll:l  S! 
tpll(.\"\ 80Zf            apnpm .\j(l'utl!Jdo .\tmt  OOZ  a:J!.\ap ;,11.1. 
'90Z  snq  e  t]ilnoJt]l  Jatpo tpea 01  pa]dno::>  aJe tp]t].\\  poz 
,\Jomam  e  pue  zoz  JmsaJ<.UdtuJtm  se  tpns             e 
OJ  .1ap.1o  m               TimmumJTIOJd                 tm  1J'ilnoJ1]J 
          JO  S!!!JJ  UO]IJU!1J  ilU!-fJ.')jSUeJJ                    
        apnpU]             .')JOm  JO  .')U()  'J!'Hl               
;,tp  .\q                   aq  OJ  pam'ilgmn ptm .\.tmu;,m  a111  u!        
am  Jl'l(l  S1Ul!JTitud  aJotu  Jo  ;,uo                  'i!U!Jm;odo  ol 
;,q.]_               ;,111  OJ            .\.tmu;om1' p1m  p1md Jndu!  tm OJ 
pa]dnoJ tmn             e apnpm .(em            aJR\\pJet] 
atLL           ilU]JeJado ue pur, SJtwuodmoJ aJP-.\\pJet]        
mn:nqd  at(.]_            1lmw1m1m  p1m  1!u!JI1JSaTI  11m 
-Hons sno!.m\ sap! \tud tuJO.JW]d                   amos UJ 
'S.\\.'"OJ,\.]0  ,\tp 
-JeJatt] at]J  .\\O]aq ilupeJado         JO  ,\tpJeJatt] atp          
JHOt]l!.\"\  !d\'  atp  m,\          JO  ,\tpJeJap:]  atp  t]ll.\\  pr,Jalm 
.\tml  Ull!JlD![ddl'  UV  'f:'()tf  )j:lOjl(  11'  s.n\t'] JO  .\t(:lJl!la!l(  ;o1]J 
zz 
;opnpu! .\1'm OOZf  a:J! \;op         amsops!P aqJJO JUam!pDqm;, 
tm OJ'ilmp.lo:J:JI' ;o:J! \;op        a1dumx;, J;o1]Jmm s.\"\Ol(S  Zf "!)!:1 
          JUasaJd  atp m                spoqpm 
at]J  JO  amm  1sea1  w JtWUW]dm]  01       aq  tmJ OLO  aJtAap 
          at]l            wasaJd  atp JO  swatmpoqma umua::> 
Ul  "VSOJf  aml1jdOJ:l!Ul  ;ouo  JSI,;oj  11'  p1m                 ;,mm  JO 
,.- ;,uo apnpm .\1'm 1]J!1]\\  "80 1 sJa:Jnps1mJJ        apnpm      
,\em  OLO  aJ]\ap              .\Jaueq  apup.\t]  ]mam  ]a'jJJU  Jo 
um]t]l!]  a]qeailJmpaJ-uou Jo a]qeailJmpaJ e  a]dumxa       aq 
.\em  LOT  .\Jauq]  '901 aJ]\ap           pue on (s)Josuas 
"6() If m;oJK(s               mpam "80I f  Ja:Jnps1m.11 mpm' vo If 
lZ 
zs  >  J6'vv8'L  sn 
us 7,844,915  82 
23 
embodiment. the !ihraryofthe !ioJmewmk provides an API !(Jr 
specil)ing. a scroll  indicator operation to  dctenninc whether 
at  !cnst  one  scroll  indicmor  attaches  to  a  content  <..-dgc  or  a 
display edge of a display region. 
In  the  foregoing  spcciHcation_  the  disclosure  has  been 
5 
described with rc!Crcncc to spccilic exemplary cmhmlimcnls 
thcrcoL  II  will he cvidcnllhal \arious modi!icalions  may  be 
made  thcrclo  without  departing  li'llm  the  broader  spirit  and 
scope of the  disclosure as  set  fonh  in  the  following  claims. 
1
, 
The  spcci!icmion  and  drawings  arc.  accordingly.  to  be 
rcgnrdcd in an i!lustrmivc sense rather than a restrictive sense. 
What  is  claimed  is: 
I.  A  machine  implemented  method  ll1r  scrolling  on  a 
louch-scnsiti\c display of a device comprising: 
l'i 
receiving a user input. the user input  is  one or more input 
points applied to the touch-sensitive display that  is  intc- "" 
g.ratcd  with the device: 
creating. an event obj<  ..  >ct  in  response to  the  user inpm: 
determining whether  the  cvem  object  invokes  a  scroll  or 
g.csturc  operation  by  distinguishing  between  a  sing.le 
input  point applied lo  the louch-scnsili\c display that is  "-' 
inlcrprc!cd as the scroll operation and two or more input 
points  applied  lo  the  louch-scnsili\c  display  that  arc 
imcrprctcd as the  gcsmrc operation: 
issuing. at !cast one scroll or g.csturc cal! based on invoking 
30 
the  scroll or g.csturc  operation: 
responding. to at  least one scroll calL if issued. by scrolling 
a window having a\ iLw associa!L"d with the c\cnl objL>cl 
based on an amount of a scm!! with the scm!! slopped a! 
a  prcdc!crmincd  position  in  relation  to  the  user  input:  35 
and 
responding. to at  least one gcsmrc call. ifissucd. by scaling 
the  view  associated  with  the  event  object  based  on 
receiving. the two or more input  points in  the fonn of the 
40 
user input. 
24 
rL>cei\ ing a  user input.  the user input  is  one or more input 
poims applied  to  a  touch-sensitive  display  that  is  hue-
grated with  the  data  processing. system: 
creating an cvem object  in  response to  the user input: 
dctcnnining whether the  event  object  invokes  a  scroll  or 
gcsmrc  operation  by  disting.uishing.  between  a  sing.!c 
input  point applied lo the !ouch-sensitive display !hal  is 
interpreted as the scm!! operation and two or more input 
points  applied  lo  the  !ouch-sensitive  display  !hal  arc 
intcrprck-d as the g.csturc  operation: 
issuing at  least one scroll or g.csturc call basL'<i on invoking 
the scroll or gcsmrc operation: 
responding to at  least one scroll cal!. if issued. by scrolling 
a  window  having  a  view  associated  with  the  event 
objL>cl:  and 
responding loa! leas! one gesture calL if issued. by scaling 
the  \iLw  associa!cd  with  the  L"\cnl  objecl  based  on 
receiving. the two or more inplll poims in the  form ofthc 
user input. 
9.  The medium as in  claim 8.  li.Jrthcr comprising. 
rubbcrbandinga scrolling. rcg.ion displayed within the win-
dow  by  a  predetermined  maximum displaccmcm when 
the scrolled region cxce\.:ds a window edge based on the 
scroll. 
I 0.  The medium as  in  claim 8.  further comprising: 
allaching scm!! indicators loa content edge of the\ iLw. 
I 1. "!.he  medium as  in  claim 8.  further comprising: 
allaching scroll indicators loa window edge of the view. 
I2.  n1e  medium  as  in  claim  8.  wherein  dc!ennining 
whc!her the e\enl objL>cl  imokcs a scroll or gesture opl."ralion 
is  based  on  receiving  a  drag.  user  input  Jix  a  certain  time 
period. 
lJ. The medium as  in  claim 8.  further comprising.: 
responding to at  least one gcsmrc call. ifissucd. by rotating 
a\ iLw  associa!L"d with the e\enl objL>cl  based on rL>cei\ ..
ing  a  plurality  of input  points  in  the  J(mn  of the  user 
input. 
2.  "!.he mc!hod as  in  claim  1.  further comprising: 
mbbcrbanding a scrolling region displayed within the win-
dow by a prcdc!crmincd maximum displacement when 
the scrolling. reg. ion exceeds a window cdg.c basL'<i on the 
scroll. 
J. The method as  in  claim  1.  further comprising.: 
allaching scroll indicators to a com em cdg.c of the window 
4.  The method as  in  claim  1.  further comprising.: 
allaching scroll  indicators to  the window cdg.c. 
I4. "!.he medium as in claim 8. wherein the data processing 
system is one of: a data  processing device. a portable device. 
45  a  portable  da!a  processing.  device.  a  multi  touch  device.  a 
muhi  !ouch  portable  de\ ice.  a  wireless  device.  and  a  cd! 
phone. 
I 5. An apparatus. comprising: 
means  !(Jr  receiving.  through  a  hardware  device.  a  user 
5.  n u ~  method as in claim  1. wherein detcJmining whether 
the even! objL>cl  imokcs a scroll or gesture operation is based 
on receiving a drag user input  l(Jr a certain time period. 
'0  inpm on a  touch-sensitive display of the apparams.  the 
user  input  is  one or  more  input  poims  applied  to  the 
louch-sensili\e display !hal  is  intcgra!L"d with the appa-
6.  The method as  in  claim  1.  further comprising.: 
responding. to at least one g.csturc call. if issul.-d. by rotating 
a view associated with the event object basL'<i  on receiv-
ing  a  plurality  of input  points  in  the  Jixm  of the  user 
input. 
7.  "!.he  method as in claim  1.  wherein the dL"\ice  is  one of: 
a  data  processing device.  a  portable de\ icc.  a  pm1able data 
processing.  device.  a  multi  touch  device.  a  multi  touch  por-
table device. a wireless device. and a eel!  phone. 
8 . .-\  machine readable storage nK'<iium  storing cxccmable  65 
program inslmclions which when execu!L"d cause a data pro-
cessing system  lo  per!(mn a  method comprising: 
ralus: 
means  l(Jr creating an e\enl objL>cl  in  response lo  the user 
inpm: 
means for determining whether the event objL'Ct  invokes a 
scroll or gcsmrc operation  by  disting.uish.ing.  bctwL-cn  a 
sing.le  input  poim applied to  the  touch-sensitive display 
that is inlcrprc!ed as !he scm!! operation and two or more 
input  points applied  lo  the  !ouch-sensitive display  !hal 
arc imcrprctcd as the  gcsmrc operation: 
means for  issuing. at least one scroll or gesture call based on 
invoking the scroll or gcsmrc operation: 
means for responding. to at least one scroll call. if issued. by 
scrolling a  window  having  a  \iLw  associa!cd  with  the 
even!  objL>cl:  and 
us 7,844,915  82 
25 
means !l1r responding to a!  least one gestun:: call. if issued. 
by  scaling  1hc  view  nssociatcd  with  the  event  obj<  ..  ><::t
bas<..-d  on  receiving  the  two  or more  input  points  in  the 
li.mn of the user input. 
16.  The apparatus as  in  claim  15.  !lu1her comprising: 
means  !(Jr  rubhcrbamling  a  scrolling  region  displayed 
within  the window  by  a  predetermined  maximum  dis-
placement when the scrolling region exceeds a window 
edge bas<..'d  on the scroll. 
17.  The apparatus as  in  claim  15.  !lu1hcr comprising: 
means  ll1r  allaching scroll  indicators loa content  edge of 
the window. 
18.  The apparatus as  in  claim  15.  Jlu1hcr comprising: 
means for nttnching scroll  indicntors to  the window edge. 
26 
19.  The  apparatus  as  in  claim  15.  wherein  dc!cnnining 
whether the event obj<  ..  ><::t invokes u scroll or gesture operntion 
is  bused  on  receiving  u  drug  user  input  Jix u  certnin  time 
period. 
20. The apparatus as in claim  15.  Ji.n"lher  comprising: 
means ll1r  responding to at  !east one gesture calL  ifissmxL 
by rotnting u view associm<..'d with the event object bused 
on receiving a plurality of input  points in  the li.mn oft he 
user input. 
21. rhc apparatus as in claim  15. wherein the apparatus is 
one of:  a data processing dL"\ ice. a pm"lah!c de\ icc. a pm1ah!c 
dmu  processing device.  u  multi  touch  device.  u  multi  touch 
portuble device. a wireless device. and u cell phone. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Exhibit 6 
(12)  United States Patent 
Chaudhri et al. 
(54)  \1ETIIOD.\:'\I>.\PP.\Il..\TUS FOR 
I>ISPL\YI:'\G.\ WI\"DOW  FOR.\ USEil. 
            
(75)  !mentors:  Imnm ChaudhrL San  Francisco. CA 
(US):  Ba!>  Ording. San Francisco. C.\ 
(US) 
     Assignee:  Applt>  Inc ..  Cupc11ino.  CA (US) 
( * )  Notice:  Subject to  any disclaimer. the term of this 
patent  is  extended  or  adjusted  under    
U.S.C.  154(b) by  247 days. 
(21)  App!.  No.:  12/012,184 
(22)  Filed: 
(65) 
Feb. 1, 2008 
Prior Publication I>ata 
(63) 
(51) 
(52) 
(58) 
(56) 
US 2(Xl810222554  .\1  Sep.  11. 2<Xl8 
Rehlted  U.S. Application  nata 
Continuation of application  No.  111635.847.  Hied  on 
I kc.  8.  2000.  which  is  a  continuation  or application 
No.                  on  Jul.  10.  2(Xl2.  now  Pat.  No. 
7.343.566. 
Int. Cl. 
<ifJ6F  17/f)(J 
U.S.Cl. 
(2006.01) 
7151781.7151708:7151788: 
7151795:  719/318: 3451629 
Field of ClaJ>J>ification  Search  7151768. 
7151781. 788. 795:  7191318:  3451629 
See application Jile  l(Jr complete search history. 
Reference!> Cited 
U.S.  P.\TI:NT I)OCUMI:N"rS 
.'i.19Ui20  A  3  1993  l.cc 
." ..  133.272 
' 
7  1994  C1pek cl  "1 
s.:nu;ts 
' 
ll 1991>  Drc\\ s cl ,] 
.'i.iG1>.311>  A  ll 1  <.m:  l'oncr ct al 
.'i.i-:92511  A  4  1999  Gelsinger ct al 
.".<)29.1>."4 
' 
7  1<)9<)  Ross 
I  IIIII  1111111111111111111111111111111111111111111111111111111111111 
US007853891B2 
(I OJ  Patent No.:  US  7,853,891  B2 
(45)  Date of Patent:  Dec.  14,2010 
5,940,."17 
' 
g  1<)<)<)  Shimm<hi     al 
5,<)<)<),1<)1 
' 
12  1<)<)<)  Frank    al 
ti,OOlU<O<J 
' 
12  1<)<)<)  Brooks 
(i.072.4g<) 
' 
6  2000  Gough d  al 
(i.24(i.407  lll  6  2001  \\'ilks ct a! 
(i.24<JJQ(i  Bl  $  6  2001  !'any ct al  710  ]<) 
(>,252,-':;<)5  Ill  6  2001  Birminglmm    ,] 
(>,307,."45  Ill  10 2001  Conrad    "1 
ti,Bti,Ul  Bl    1 2002  Wo!J(,  .........................  70<)  20.1 
(>.409.603  lll  6  2002  :-.:ishino d  al 
(i.42<JJiiO  lll  g 2002  Plowctal 
(i.600 .  .'i00  Bl  $  7 2003  Yrunamoto  ..................  7L'i  7'!5 
(Continu<..'d) 
l'rimwT Hxaminer  Ti1deese  llailu 
(74) .11/orne\:  Agent.  or 1-i'rm  Brian  K.  McKnight:  Nmak 
Dmce +Quigg I.I.P 
(57)  AHSTR\(T 
Methods nnd  nppmatuses  to  displny windows.  In  more  than 
one embodiments of the invention. a window is closed mno-
matically (e.g ..  a!ler a  timer expires.  or when a condition or 
criterion  is  met.  or a  system  input  is  n ..x:ei\L-d)  without  user 
input.ln some exmnples. the window is  translucent so that the 
portion ofnnother window. when present. is visible under the 
window. In some examples. the image or the window  is li1ded 
out        the  window  is  closL-d  and  destroyed.  In  some 
examples. the window does not close in  response to any  input 
Ji"om  n  user  input  device.  In  some examples.  the window  is 
repositionL'<i (or hidden) autommicnlly when nnother translu-
cent  window  is  displayed.  The  degree  or translucency.  the 
speLxf  J(Jr  !i!ding OU\.  the discrete  levels  or translucency  J(Jr 
JUding  out.  the  time  to  expire.  and/or  other  pnrameters  l\1r 
controlling the displny of the  window mny  be  set  by the user 
or adjusted by the system (or npplication software programs) 
automatically according to system conditions or other crite-
na. 
75 Claims, 21  Drawing Sheets 
U.S. 
             Bl 
6.(>70.970  Bl 
6.720.<)1>2  Ill 
6.:m<.<Jg<J 
B2  '' 
6.907.447  Bl   
7.046.254  B2 
7.061>.266  Bl 
PA:t-I;N"r J)OCUMI;NI-S 
ll 2003  Jones 
12  2003  Bonura d  al 
4  2004  Sahguchi 
US  7,853,891  B2 
Page 2 
7.155.72<) 
7.342,-':;<)4 
2002  Ot<JJ02g 
2003  OOOll><J<J 
2003  00Hi25.1 
2003  004.1! <)7 
lll 
Ill 
.\l 
.\l 
\l 
\l  !2 2004  Cortright  ...................  715  769 
(i  2005  Cooperman ct al  70<)  2o.1 
2003  005J22g  .\l 
5 200(i  Bmwndal 
2003  01450(>0  .\l 
(i  200(i  Rudk  * cited by examiner 
12  200(i             ct al 
3 2001>  Orl d  ,] 
12  2002            ct a! 
1 2003  Pm1ancn ct al 
l  20o.1  -\oki d"l 
3 20o.1  Kremer cl  al 
3 2003  Ylaninct ct a! 
7 2003  Ylanin 
U.S.  Patent  Dec.14,2010  Sheet 1 of 21  US  7,853,891  B2 
104 
101 
Gache 
/ 
/103  /107  /105  /106 
Volatile 
Nonvolatile 
Microprocessor  ROM 
RAM 
Memory 
(e.g.  hard drive) 
/ 
/102 
l  l  l 
""  ""' 
"" 
/108 
l 
/109 
/ 
Display Controller  110 
& Display Device  Contro!!er(s) 
l 
/110 
1/0 Oevice(s) 
(e.g.  mouse, or keyboard, or 
modem,  or network interface,  or 
printer,  or scanner,  or video 
camera) 
Fig.  1 
U.S.  Patent  Dec.14,2010  Sheet 2 of 21  US  7,853,891  B2 
203 
207 
205 
       1  %:'Hm                               M                 
')1-;.h  W,>lfm;. >!:            to)  US- M:l                <::<,;p$K      
     M>::IWW  !t>       Al;lqw, 
Fig.  2 
Prior Art 
201 
209 
210 
U.S.  Patent  Dec.14,2010  Sheet 3 of21  US  7,853,891  B2 
215 
Fig.  3 
Prior Art 
U.S.  Patent  Dec.14,2010  Sheet 4 of 21  US  7,853,891  B2 
223  225 
221 
227 
229 
Fig.4 
Prior Art 
U.S.  Patent  Dec.14,2010  Sheet 5 of21  US  7,853,891  B2 
231 
Fig.  5 
Prior Art 
U.S.  Patent  Dec.14,2010  Sheet 6 of 21  US  7,853,891  B2 
   
rm 
"'"it 
K:& 
. 
                   
                
 
       
?'J, 
tl  er 
. 
:&1J 
_____ , 
a 
"' 
. 
                G&*                              t'e:.;.11>:\'l 
             
          
'  ., . 
'-'' 
((<>;) 
  a    
   
    . 
''':--
                                  W  Mm            M>.'<>        
 
 
., 
"tl   
 
.. 
- y 
Nettw<.'!k               P>.r;%"flds              Q'-"':-Hb.e 
                      
 
  
Jl 
 
  
  
                                                  r <'kt.f:vrq 
s. ...          
rP 
Fig.  6 
Prior Art 
U.S.  Patent  Dec.14,2010  Sheet 7 of21  US  7,853,891  B2 
313  310 
311  315 
J 
' 
'080 
Folder A 
Name  Date  Size 
303 
LJ Favorite  3115/02  1:20PM 
301 
" 
LJ Video Clips  4115/02  5:20AM 
LJ Images  3/25/02  10:20 PM 
L:Jremp  4/22/02  11:20 AM 
Fig.  7 
U.S.  Patent 
301 
"i 
Dec.14,2010 
LJ Favorite 
LJ Video  Clips 
LJ Images 
Sheet 8 of 21  US  7,853,891  B2 
Folder A 
3115/02  1:20 PM 
4/15/02 5:20AM 
3125/02  10:20 PM 
Fig.  8 
U.S.  Patent  Dec.14,2010  Sheet 9 of 21  US  7,853,891  B2 
88 
Folder A 
Name  Date  Size 
301 
303" 
LJ Favorile  3/15/02  1 :20 PM 
LJ Video Clips  4/15/02 5:20 AM 
LJ Images  3/25/02  10:20 PM 
LJ           ... _.  __                     
                
---- -------- 
Fig.  9 
U.S.  Patent 
303" 
301 
Dec.14,2010 
Name 
LJ Favorite 
LJ Video Clips 
LJ Images 
LJ Temp,,' 
. 
:--v. 
' 
/  .... 
341 
Sheet 10 of21  US  7,853,891  B2 
Folder A 
Dale  Size 
3/15/02  1:20 PM 
4115/02  5:20AM 
3125102  10:20 PM 
..  4l22102.1.1:20:AM' 
_._._. ___ , 
---------------------' 
Fig.  10 
U.S.  Patent  Dec.14,2010  Sheet 11  of21  US  7,853,891  B2 
80 
Folder A 
Name  Date  Size 
LJ Favorite  3/15/02  1:20PM 
301 
LJ Video Clips  4/15/02  5:20AM 
LJ Images  3/25/02  10:20 PM 
Fig.  11 
U.S.  Patent  Dec.14,2010  Sheet 12  of21  US  7,853,891  B2 
Display a  user interface window (e.g., a translucent window 
v 
which when displayed on  top of a portion of a second 
401 
window allows the user to see the portion of the second 
window through the translucent window) 
Automatically close the user interface window {e.g., fade 
out an image of the window and destroy the window) 
without user input (e.g., after a timer expired, or after a 
v 
determination that a system status is changed or a 
403 
condition is met, or after receiving  input that is not 
associated with any user input device) 
Fig.  12 
U.S.  Patent  Dec.14,2010  Sheet 13  of21  US  7,853,891  B2 
Display a first window in  response to an input (e.g., an  input 
from a user input device,  or an input that is  not associated 
/ 
with any  user input device, such as an  input !rigged by a 
411 
system event,  a change in  system status,  ringing signals on 
a phone line, or inputs  initiated by the operating system) 
413 
Start a timer 
/ 
Close the first window when the timer expired (e.g.,  fade 
/ 
out an image of the first window and destroy the first 
415 
window) 
Fig.  13 
U.S.  Patent  Dec.14,2010  Sheet 14 of21 
Receive an  input (e.g., a user input from  a user input  421 
device,  such as a keyboard, a mouse, a track ball, a touch 
pad,  a touch screen,  a joy sticker,  a button,  or others) from 
a digital processing system 
Display a first translucent window on  a display device (e.g., 
a LCD display,  a CRT monitor,  a touch screen,  or others) of  423 
the digital processing system (e.g., on top of a portion of a 
second window), where the first window does not close in 
response to any input from a user input device of the digital 
processing system 
425 
Start a timer 
~ - - - - - - - - - - 1  Process the mput 
Is  an input 
(e.g.,  a user input 
427 
or a system input) for the first 
window received  "' 
Restart the timer 
? 
429 
Is  a second 
translucent window displayed 
? 
Close the first translucent window when the timer expired 
(e.g.,  fade  out an image of the first window and destroy the 
first  window) 
Fig.  14 
435 
437 
US  7,853,891  B2 
433 
431 
U.S.  Patent  Dec.14,2010  Sheet 15 of21 
441 
Combine the image of a translucent window and the portion 
of the image of window under the translucent window to 
generate a  combined image for the translucent window 
and the window under the translucent window 
443 
Display the combined image on the screen for the 
translucent window and the window under the translucent 
window 
445 
US  7,853,891  B2 
Is the translucent window 
updated? 
,   - - - ~ - - - J . 
447 
Is the 
wlndow under the translucent 
window updated 
7 
Fig.  15 
,.,  _____  ..J 
U.S.  Patent  Dec.14,2010  Sheet 16 of21  US  7,853,891  B2 
Fig  ~ 6 
U.S.  Patent  Dec.14,2010  Sheet 17 of21  US  7,853,891  B2 
Fig  17 
U.S.  Patent  Dec.14,2010  Sheet 18 of21 
t  -..-
__ ,  ,,j 
'--' 
Fig.  18 
US  7,853,891  B2 
U.S.  Patent  Dec.14,2010  Sheet 19 of21  US  7,853,891  B2 
Flg  19 
U.S.  Patent  Dec.14,2010  Sheet 20 of21  US  7,853,891  B2 
Fig.  20 
U.S.  Patent  Dec.14,2010  Sheet21  of21  US  7,853,891  B2 
Fig  21 
us 7,853,891  82 
1 
VIETIIOD X\!) APPARATUS  FOR 
DISPL\YI\"G .\WI:'\ DOW FOH. A USER 
I\"H:H.E\(:E 
2 
The progress of the operation is indicated by progress bar 229 
and  an animmion  showing  thm  the documcm  is  going  from 
one folder to another. Windows 221  and 231  in FIGS. 4 and 5 
show  two  snap shots of the animation. A  user  may  drag title 
'!lu::  present  application  is  a  continuation  or co-pending 
U.S.  application Scr. No. 
1 
v,-,_,._847.  Ji!cd Dec. X.  2006. which 
is  a  continuation  of U.S.  applicmion  Scr.  No.  10/193.573. 
tiled  Jul.  10.2002 now  U.S.  I'm.  No.  7.343.566. 
'i  bar 223 (e.g .. pressing down and holding a bull on of a mouse 
and mm ing the mouse while holding down the lmllon) lo drag 
the window from one location on a screen to another: and the 
user can click on the title  bar to  bring the window  to  the top 
level  when the window  is  p;u1ial!y  covered  by  another win-
1:11;11)01'-r!!l;  !N\'ION'I-!ON 
"111c  invention rdmcs to graphical user intcr!Uccs. and more 
particularly to  such  intcr!Uccs with windows. 
lCJ dow (e.g ..  when window  241  is panially cmercd by window 
243. as shown in !'!(i. 6). When the copy operation completes. 
the  progress window doses automatically 
Traditional windows typically provide strong user imcrnc-
tions. which may causedislraclions. !'orcxample. a user wails  A  pm1ion  of the disclosure of this  palcnl  document  con-
tains  material  which  is  subject  to  copyright  proh.x:lion.  The 
copyright owner has no  objection to  the  facsimile  reproduc-
tion  by  anyone  of the  pmcnt document or the  patent  disclo-
sure. as it  appears in  the Patent and Trademark Ollicc palenl 
!ik:  or  records.  but  otherwise  reserves  all  copyright  rights 
whalsoc\cr.  Copyright Apple Computer.  Inc..  2(XJ2. 
l'i  !l1rwindow  201  lo  disappear lo  viLw  window 210 in  I'Ki.  2: 
the  user manipulmcs a cursor comrol device (e.g .. a mouse. a 
track  balL  or  a  touch  pad)  to  view  or  dismiss  !lash  help 
window 2B in FIG. 3:and. the user interaction is provided 10 
relocate the progress window or change the window display-
""  ing hierarchy lo  sec the  progress of window 241  in  FIG.  6. 
BACKGROUNI) OF Till; INVJ:N"rJON 
Many  digital  processing  systems  usc  window-based 
grnphical  user  imcrfaccs  for  users  to  interact  with  soliwarc  "-' 
progrnms.  Images  of windows  arc  display<.'d  on  a  display 
dL"\ ice lo  show the user the slates of the so!iware programs: 
and user input dL"\ ices (e.g .. a keyboard and a mouse) arc used 
SUMMARY OF Till; INVJ:NTION 
Me! hods and apparatuses lo display windows arc described 
here.  There  arc  many  difl"ercnt  cmbodimcllls  which  arc 
described here.  Some ofthcsc embodiments arc sununarizcd 
in  this section. 
In morel han one embodiment oft he invention. a window is 
closed  aulomalical!y  (e.g ..  alkr a  timer  expires.  or when  a 
condition  or criterion  is  met.  or  system  inpm  is  received) 
without user input. In some examples. the window is  translu-
cent  so  that the ponion of another window. when  present.  is 
visible under the window.  In some examples. the image of the 
window  is  bdcd  out  b d ( m ~  the  window  is  closed  and 
lo  accept  user  inputs.  In  addition  lo  user  input  dL-,.ices.  a 
digital  processing system  may have  other devices (e.g ..  sen- 30 
sors)  Jix accepting sys1em  inputs.  such as phone line status. 
power supply  status.  storage disk usage status. cmnmunica-
tion conncclion status. execution status of so !\ware programs. 
and others !hal arc not dirL><::tly  relm<.'d  to  user inpms (signals 
associak'd with user input devices). 
35  dcstroyL'<i.  In a further example. the  level oftrnnsluccncy. the 
spc<.'d  for  !Uding out.  the  discrelc  levels  of translucency  for 
bding  out.  the  time  lo  expire.  and/or  other  paramclers  ll1r 
controlling the display of the window  may he sci  by the user 
!'IGS. 2-6  illuslrmc examples of traditional windows. FIG. 
2  shows  a  typical  window  210  that  has  title  bar  203  and 
lmllons  205.  207 and  209  !l1r  minimizing.  maximiting.  and 
closing the window. The title  bar and the  buuons on the  tilk 
bar can be used  to  manipulating the  position and  site of the  40 
window.  !'or  example.  tilk  bar  203  may  be  clicked  (e.g .. 
pressing a  bul!on of a  mouse while the cursor  is  on  the title 
bar)  lo  bring  the  window  lo  the  lop  level  of the  window 
displaying  hierarchy  so !hal  if there arc  any  other windows 
displayed m !he same location of window 210.!hcsc windows  45 
wil!  he hidden under window 210. 
or adjusted by the system (or application sollwarc programs) 
mnomatical!y according to system conditions or other crite-
ria. 
In one embodiment of the invention. a mc!hod lo display a 
user  interliJCc  window  !(H  a  digital  processing  system 
includes: displaying alirsl window  in response lo  rccei\ ing a 
Hrst  input  from  a user inplll device (e.g ..  a keyboard. mouse. 
track ball. touch pad. touch scrL-cn.joy stick. button. or others) 
of the digital processing system which  is  capable of display-
ing  a!  leas!  a  portion  of a  second  window  under  the  !irs! 
window:  starting  a  timer:  and  closing  the  !irs!  window  in 
When a user starts an application program. a window (e.g .. 
window 201) may he displayed lo show  the license/copyright 
information  while  the  componcms  of the  sollwarc  program 
arc being loaded. Aller the  componcms of the sollwarc pro-
gram arc li.J!Iy  loaded. the license/copyright window is closed 
aulmnalica!ly  so  that  the  user can  start  lo  use  the  so!iware 
program without inter!Crcncc !i-om the license/copyright win-
dow. 
'0  response  to  a  determination that  the  timer expired.  The  Hrst 
window docs not  close  in  response 10  any  inplll  li"om  a  user 
input de\ icc of the digital processing system.  In one example 
according lo this embodiment. the !irs! window is lransluccnl: 
the  portion of the second window  is  visible while under the 
!'IG.  3  shows  task  bar  211  with  Hash  help  window  2B. 
When the user pauses cursor 2 I 5 a!  a location of the !ask bar 
'5  Hrst window: and the Hrst window is at a top level  in a window 
displaying  hierarchy.  In  one example.  an  image of the  !irs! 
window  is  li1dcd  out on the screen bcll1re the !irs! window  is 
destroyed  lo  close  the  !irs!  window.  In  one  example.  the 
ll1r  a  short  period of time.  !lash help window 213 appears.  If 
the user docs not  move the cursor for  another shon period of 
time while window 2B is  displayed.  Hash  window  2B dis-
appears.  If the  user  moves cursor 215  sliglllly  (e.g ..  using a  60 
mouse. a !rack halL or a !ouch pad) and pauses the cursor 215 
again.  !lash help window  may appear again. 
!'IGS.  4-6  show  a  window  !hal  displays  the  progress  of 
copying  a  !ilc.  When  a  !ilc  is  copied  li"om  one  location  to 
an01hcr  location.  window  221  is  displayed  to  indicate  the  65 
progress.  !Sullon  227  is  provided  ll1r  canceling  the  copy 
operation: and button 225  is  ll1r closing the progress window. 
second  window.  if displayed. doses  in  response  10  an  input 
li"om a user input device of the digital processing system: and 
the  !irs!  window  docs  no!  respond  lo  any  input  Jiom  a  user 
input dcviceofthedigital processing system. In one example. 
the !irs! window is rcpositiotK'<i in response to a third window 
(e.g ..  an  alert  window  or  a  trnnsluccm  window)  being  dis-
played:  in  another  example.  the  Hrst  window  is  hidden  in 
response  lo  a  third  window  being  displayed  a!  a  location 
where the !irs! window is displayed.  In one example. the !irs! 
   .\.mm;,m ;,[!Jqtn-uou ;oqJ  JI"[J           1   !)!:! ;o[ll(M p.nnh;oJ 
J<.m           t["ilnm[J(l'  .\.n1m;om            umput!l  1'  ;,q        11!1. 
,\.iom;,m :l(!JP-[0\-UOU :ll!J",\[[P-:l!d,\.J.          :ll(J  mOJJ            
           J:J\Ie       eJep  umwwm  tp!t].\\           .\.iouwm 
'S.Lopu!.l[lmO!J!Pl!llJO               ;)Jl,JJS!l[[l  9-z  'S!)!:1 
"UO!JU;).\Ul           ;ot1J  l(J!.1.          ;oq  .\I'm l(:lll(.1.  m;oJK(S 
               l'WP 1'.]0 ;o[dumx;, mt,J"i!t,!p )j:lO]q I' S.Lm1s  J "!)!:1 
                                        :l)jl]  tp]tj.\\ 
m                                :ltJJJO         :ll!J  m  UO!)eJ!m]]  wu 
pur, :ljdmex;, JO         .(q                                             
                   :10                           
JO  ;,d.\J         JO  11\l\(1  (!.\(]  e  JO  :lA!Jp  ]P-:l!JdO  Ue  JO  :lA!Jp 
(lD!Jdo :l!PU"ill'm 1'  .10  ;o\up p.11"1  :J!puTit'm  1'  .\[[tD!d.\J  s1  901 
.\.1om;,m ;,[!Jqtn-uou ;,t!J. .\Jom;,m ;oqJ  m  t'JI'fl ;,t1J umJU!tml .10 
                  Ul                                    !]:1!!1.\\ (11\l\ (!(!)  09 
Iii!\ (I  :mueu.\p  se               .\ue:J!d.\J                :lJ!J 
-l'Jll.\ ;)l(J. '601              ]!1d]lllljJ!1dU!l("illllUl11            ;)l(J  OJ 
             am 01 1              J!ldJllll/Jndm ;oqJ  .\1[!':l!d.\t J.m ;oqJ  m 
U.WlU)j  !!;,.\'\.am l[:)ll(.1.  S:JJ! \;op  J;ol1JO  put'            o;op!.\  "KJ;oU 
                                                spJeoq.\;,1        
           tpltj.\\           
        :ltJJ  UJOJJ  pur,  silupwJp                          moJJ 
.  Jllall,ddt'  ;oq  ]]!'>\  UO!JU;).\Ul           ;)l(J  ]0  S:JJlljl,;)j  J;ol11() 
   '  '  '  .  . 
        ;)S:ll1J  llllOJl:ld  OJ 
          ;,t11  ;osm,;, sm;oJK(s "ilmss;o;,<.ud  I'JI'fl uo p;,Jn;o.--.x;,  u;,t1'>'. 
tp!t].\\  mp;,m                        pue                     mJOJ 
-J:Jd tp]tj.\\                       ewp ilu]pnpu]                   
um:JJ;od tpll(.1.                     UO!JU;o\u!  JU;osaJd  ;,tLL 
   .(em  tp!tj.\\            (O/i)  mdmo;mdu!     tpns           
(l!l;ol(du;,d  OJ  ptm  801  ;o;,n;,p          ptm J;)[(lUJUlD  .\t'[dS!P 
l'  OJ  901  put'  "SOl  "L()l  "f()J              ;os;,t1J  sp;,umnJ;oJm 
OS]e  pue  J:lljJ:lf!OJ              snope,\         S)J:JUUOJJ:JJU! 
zo 1 snq       1   D!:IJO               m           se POI  .\.iouwm  0> 
      OJ  (h"'\jdllOJ  S!  11\lHJ  JO  'JUj  ejOJOJOIII,J  UJOJJ  JmS:JJ 
-tudo.Dml  P!) .10  t!) 1'  ;,1dmt,x;, .H:J  ;,q  .\1'm  l(:lll1'>'.  "01      
m;oJK(s 
               (l'J!TI!p  ;,tp JO         \;op  Jndu!  J;osn  1'  mOJJ  P.'"'\!;oJ.'"OJ 
Sl  JlldU!  pUOJ:JS  :lljl  pue  :.\\OpU!.\\        :lljJ  JOJ  mdm  pUOJ."'\S 
e  ilU]A];)J:JJ  OJ           U]               J:JUHJ  :ll!J  ;,]dumx;, 
         UJ  (p."'\,\e]ds!p         .\\OpU].\\  pJ]tJJ  e  01           
m  TI;,)  Jndu!  J;osn  JllOl(Jl'>\            1'  uo p;omJIJ!Sod;oJ  S!  .Lop 
                ;ot].L  "9() 1 .\Jmu;,m ;o[!Jqo\-tmu 1' put' SO I        
:lJ!JeJOA  pur, LO 1 V\!0}1  e pue 01                    e OJ            
   tpltj.\\ Z01      e                                mep eJo          
1'  s!  tp!l(.L  ro 1 m;oJK\s J;oJndm<.n ;oqJ   1    !)!:!  u!  u.Lm[s    
"J;)J!ldmo;,  l(SOJUDl'Vi[ 
;,1ddv tm  ;,q  ;,1dttmx;, .H:J  .\tml  1  '!)1:1.10           J;oJndm<.n 
:ll].L  "UO!lU:lAU!           :lljl  lj)l.\\  p;,sn  ;,q  OS]e  ,\em        
         :JJom        Jo                      ;,,\etj  tpltj.\\     
                    t'JI'fl  J;ol(JO  put'               )jJO.Lpu  JI"1J  p.'"OJI' 
!;J;oJddl' ;oq  OS(I'  !!!'>\  J!  'Ullljl!;o.\ll!  JU;)S:JJd  ;)l(J  OJ  ;otmmJ;o"i!  JllU 
am S1!1'PP tpns                  ;,t11  Tiu!JJ.'"OUUO:JJ;oJm .JO J;ommm 
JO                Je]HJ!UL>d  ,\ur,           OJ           JOU  Sl  )! 
           J:lJildUJOJ  r, JO              SHOUP-A                J  .  !)]:J 
;,1!!1'>\ JI"1J;oJON  'UO!JU;).\Ul           ;)l(J l(Jl'>\ (h'"OS!l  ;,q .\I'm l[:)ll(.1. 
         J;oJndmo;,  1lD!d.\J  1' .JO  ;,[dumx;, ;,uo  s.Lm1s  J    !)1:1 
          ;oq        .\I'm           ;ouo .\1u0 
mJOjJ:Jd  OJ  p;,mme.riloJd  Jo  (h"'\Uil!s:Jp  :JJe  tp!t].\\              
                                                                  
-mn 1'  s1'  tpns                         (l'J!TI!P  1'  l1J!.L  p;,mn:p;od 
;oq  .\tml  UO!JU;).\ll!           ;oqJ  .JO         ;ot11  .JO  .\ut'j!IJ 
                   :lljJ 
JO                                 P!O\e  OJ  J:lpJO  U!               lOU 
                          JO  U.\\OU)j                     U!e)J:JJ  Ul 
"J;o\;o.LO]  1 um]u;o.\u!  JU;osaJd  ;,qqo                q"ilnmm[J 1' 
;opL\OJd OJ  P.'"'lJ!.lJs;op ;)Jl' S1WPp ::I!J!:l;ods snoJ;omnN "UO!JU;).\Ul 
     ilU!jllU!]  sr,  p:11UJSUOJ  ;,q  OJ  JOU      pur,  UO]JU:JAU!  :lljJ 
JO  :lA]WJJSil!i!  :JJe              pur,             f!Ul.\\OilOJ  :lli.L 
                               
'UO!) 
                :ll!JJO JU:JUJ]poquw ;,uo OJ                          
             .JO             UJ.'"OJJS  ;o[dumx;,  .Lm1s  IZ-91  'S!)I:1 
umJu;o.\m  JU;osaJd  ;,t1l.JO  JU;om!poqm;, ;,uo OJ  "ilmpm:1:11' 
.\WpU!.\\              e  ,\e]dS]p  OJ  potjl:JUJ  e  S.\\OtJS  S1  'DLI 
'UO!)U:JAU]                 
jU;)lU!poqm;, ;ouo  OJ  "ilmp.!OJ:ll'  WlPU!.1.                 l'  (lUJUlD 
OJ  pm1pm  I' JO  um.Rlmp  WltJ  p;,[!l'PP  I'          PJ  '!)]:1 
'Ull!J 
                  :ll!J  JO  JU:JUJ]poquw      OJ                .\\OpU].\\ 
e  ;,sop  OJ  potjJ:JUJ  e  JO  umJile]p  .\\O[l  e           n  'DLI 
'Ull!J 
-u;o.\u!           ;oqJ JO  JU;om!poqm;,  ;,uo OJ  "ilmpm:JJI'  WlPU!.1. 
e           OJ          e  JO  me.rile]p  .\\O[l  e           zr  'DLI 
'UO!) 
                  :ll!J  JO  JU:JUJ]poquw      OJ                .\\OpU].\\ 
1'              .JO              ;o[dumx;,  ;)Jl,JJSI1[[!  l  j-L  'S!)I:1 
p 
-Ul'>\  JS.l!J  ;oqJ  ";,[dumx;, ;,uo U]  .Lopu!.L  JKl!J  ;,t11  .1;opun  p.--..\qd 
     U:ll].\\             .\\OpU].\\  pUOJ."'\S  e JO  UO!)JOd  r,  Jel!J  ![::IllS 
                .\\OpU].\\ JS.I!J  :ll!J  pue                        ]eJ]il!p 
Ot  ;,t1JJO        \;op  Jndu!  J;osn  1'  Ulll.l.J  Jndu!  .\tm OJ  puods:JJ  J<.m  s;,op 
.Lopu!.L  JKl!J  ;ot1J  TI;,)          "ilmss;o;,<.ud  [l'J!TI!p ;ot1l.JO ;,;,1 \;op 
Jndm        1'  m<.U.J  Jndu!  .\tm  OJ             u!  ;,sop  J<.m  s;,op 
.\\OpU].\\ JS.I!J  :ll!J":l]dmex;, :JUO U]  '(.\\OpU].\\ JS.I!J  :ll!J             
pur,  :.\\OpU!.\\             JO  ;,ileuH  ue  Jno  ilmpeJ  "'1!;,)  p:lJ]dx;, 
   J;)lU!l ;)l(J  Jl'l(J  UO!li'Ulllll;)JJp I' OJ  ;osuods;oJ  ll!  .LOpU!'>\         ;)l(J 
"ilmsop ptm :J;om!ll' "ilmJ.mJs :m;oJK(s               Jl'll"il!p ;oqJ.JO 
:JJ!A:lp  Jndm      e lJl!.\\ p:lJP-]Josse JOU     Jet]JJndm JSJ!!  e  ilu] 
          OJ           m  .\\OpU!.\\ JSJ!J  e                      uw1 
                   ]eJ!il]p  e JOJ  .\\OpU].\\               e          
O[  OJ  pm1pm  I'  "UO!JU;)\Ul  ;)l(J  .JO  jU;)lU!poqm;,              l'  U] 
"(l'!.l;)J!.D J;)l(JO  JO  "p.'"O"i!tmtp                        I'  "'"il;,)  pm S! 
UO!J!pmn          1'  Jl"11  umwmmJ;opp 1'  OJ  ;osuods;oJ  ll!  p.--.sop 
Sl  .\\OpU!.\\                       J:ll])JI1J  e  U]  "UWJS.(S             
JeJ]il!p       JO          mdm       e  l!Jl.\\            JOU  s1  Jet]! 
,:c  Jndm  tm  OJ  ;osuods;oJ  ll!  p;osop  S!  .Lopu!.L  JKl!J  ;oqJ  ";,[dumx;, 
J;)l1Jmm  U]  "(.LOpU!'>\  JS.l!J  ;oqJ            ptm  WlPU!.1.  ]Kl!J  ;)l(J 
JO ;,iletm ue Jno ilmpeJ "'1!;,) p;,sop    .\\OpU].\\                     
           U:llj.\\  Wljl  OS            J:lUl]l  r,              S]ljJ  OJ 
                        ;,uo U]  mdu]      JHOtJJ].\\ .\\OpU!.\\           
o<:  "ilu!sop ptm :.Lopu!.L  JKl!J  ;oqJ .1;opun               .wJpU!'>\  puo;o.--.s 
;ot11  .JO  UO!)JOd  ;)l(J  "'>\OpU!'>\  JS.l!J  ;oqJ  J;opun                      
-OJd  ]eJ!il]p :lljJ  UO                 .\\OpU!.\\         e JO  UO]UOd 
e J!  Jet]!  tpns .\\OpU].\\                    e  ilm.\e]ds!p  :s;,pnpu] 
Ul;)JS.(S                 (l'J!TI!p  l' .H:J  WlpU!'>\                 J;)S!l  l'  .\qd 
,:1       OJ  pm1pm  l'  "UO!JU;).\Ul  ;)l(J.JO  JU;ouupoqm;, J;otjllllm  U] 
(m;oJK(s                 (l'J!TI!P  ;,t1l.JO ;,;,1 \;op 
mdm        e  mOJJ  "'f!':J)  .\\OpU].\\  JSJ!j       JOJ  Jndm  pUOJ."'\S 
e  ilmAWJ."')J  01            U]           S]  J:JUJ]l  :ll!J  pur,            
;ot11  Ull  .\[[l'JUOZUOl1  (h'"OJ;oju;,;,           I'  "'"il;,)          ;ot11  UO 
ol  JosJnJ tqo UO!J!Sod tqo JU;opu;,d;,pm    JI"1J m;oJK(s              
Jl'll"il!p ;ot11  JO  .\1'1\.ls!p I'  uo UlllJ!SOd  l'  W  p;,.\t'[dS!P  S!  .Lopm'>\ 
                     :JUO U]  "(.\\OpU!.\\ JS.I!J         JUOJJ  Ul  .\\OpU!.\\ 
         ilmiluuq  "'1!;,)  mdm  pJ]tJJ  e  01             U]          
;oq  UlD  .\tpmJ;o!l1              WlPll!.1.  I'  m  WlpU!'>\        
,:  ;ot1l.JO  UO!JlSOd  l'  ptm :( WlPU!.1. ;ot11  1\u!ddmp ptm "ilmTI"ilmp     
tpns ".\\OpU!.\\  :ll!J             OJ                       jej!il]p     
JO          mdm      e  UJOJJ  mdu]  ue Jo                .\\OpU!.\\ 
pm]J e  Jet]! ilmJP-Jlpm mdu] ue fl;,) .\\OpU].\\ JSJ!!       JOJ  Jndu] 
puoJ.'"OS  l'  OJ  ;osuods;oJ  ll!          l'  UO                  Sl  .LOpU!'>\ 
 
Z8  !68'S<;8'L  sn 
us 7,853,891  82 
5 
a  local tk'\ ice coupled directly to  the res!  of the components 
in  the  dma  processing system_  it  will  be appn.>ciatcd  thm  the 
present invention may utilize a non-volatile memO!)' which is 
remote  from  the  system.  such  us  a  network  storage  device 
which  is  coupled  lo  the  data  processing  sys!cm  through  a 
network in!crliJCc such as a modem or I ;thcrncl intcrbcc. The 
bus  102  may  include  one  or more  buses  conncct<..-d  to  each 
other through various bridges. controllers and/or adapters as 
is  we! I known in  the art.  In onccmbmlimcnllhc !10 controller 
109  includes a  USIS  (Universal  Serial  I  Sus) adapter  ll1r  con-
trolling  USIS  peripherals.  and/or an  II;I;I:-IYJ4  bus  adapter 
for controlling IJ:J]:-1394 pcriphcrnls. 
It will be apparent from this description that aspects of the 
present  imcnlion may  be embodied,  a!  !cas!  in  p;u1,  in  soH-
ware. That is. the techniques may he carried out in a computer 
system  or o1hcr  data  processing  sys1cm  in  response  to  its 
processor.  such as a  microprocessor. cx<.>culing S<-'<.JUCnccs  of 
ins1niC1ions contained in a memory. such as ROM  107. vola-
tile  RAM  105,  mm-\olatik  memory  106.  cache  104  or  a 
remote  storage  de\ ice.  In  various  embodiments,  hardwired 
circuitry  may  be  used  in  combinalion with soliwarc  ins1niC-
1ions  to  imp!cmcm  the  prcscm  invemion.  Thus.  1hc  tech-
niques  arc  no!  limited  lo  any  speci!ic cmnhinalion  of hard-
ware circuitry and sollwarc nor  lo  any  particular source  !l1r 
the  inslmclions  ex<.>cu!cd  by  the data  processing  system.  In 
addition.  1hroug.holl1  !his description.  various  li.mc1ions  and 
operations arc described as being pcrli.mncd by or caused by 
sollwarecodc lo simpliFy description. llowcvcr, those skilled 
6 
any  user  input.  Thus,  window  J21  displays  the  message  of 
low  bmtCI)'  power  10  1hc  user  witholll  li.1rcing  1hc  user  10 
provide inputs to dismiss !he message window  Since window 
321  is 1ransluccn1  and  transient.  1hc  portion  of window 30J 
5  that  is  under window  J21  is  still  \ isihk. '!lms,  the user can 
nmlinuc working with window  J()J  (or other window) with-
om having to provide additional input1o gel message window 
321  om of !he way. 
In  one embodiment  of the  present  invention.  lrans!uccnl 
1"  window J2 I is always              all he lop k'\cl ofthcwindow 
displaying hierarchy so that the lrans!uccnl window  is always 
visible when displayed. "111is  eliminates the  ned for the  user 
to  change 1hc  window  displaying  hierarchy  to  bring  up  the 
lrans!uccnl  window  when  another  traditional  window  is 
15  brought  up  lo  the  lop  of the  window  displaying  hierarchy 
(e.g ..  by crcming a new window or accidcmally changing the 
hierarchy).  In  another cmbodimcm of1hc prcscm  invemion. 
the user can change the  position of1hc translucent window in 
the hierarchy so that iftheuserdcsircs the lrans!ucenl window 
""  may be  sen!  lo  a background position. 
In one embodiment of 1hc  present  invemion. 1hc  image of 
window  321  is  faded  out  when 1hc  timer  expires.  which  is 
il!uslra!cd  by  the  images  of windows  J21.  JJI. and  J41  in 
I:IGS. 8, 9 and 10. :\Jlcrlhc image of window J2I is fi1dcd out, 
"5  window  J21  is               
in  the art will recognize what is  mean! by such expressions is 
1ha1  1hc  li.mctions  result  from  execution  of the  code  by  a  30 
processor.  such as the  microprocessor 10J. 
In an01hcr embodiment of the  pre scm invemion. a translu-
cent message window swns to  fade om when a swtus change 
is  de!<->cted.  For  example.  a  message  window  is              
when  the system  dc!ecls  the ringing  signa! on  a  phone !inc. 
When 1hc  system dctcc1s  that  the  ringing signal  is  no  longer 
present on !he phone line. !he image of the  message window 
.-\  machine  readable  media  can  be  used  to  s1orc  soliwarc 
and data which when execul<-'d  by  a  data  processing sysl<-'m 
causes the system lo pcrllm11  \arious mc!hods of the present 
invention. Tills cxccuwble sollwarc and dma may be s1orcd in 
various  places  including  for  example  ROM  107.  volmile 
R. \M  105.  non-volatile  memO!)'  106  and/or  cache  104  as 
shown in  FIG.  1.  Pm1ions of this so!lwarc and/or data may be 
stored in any one of these storage de\ ices. 
is H1dcd out: and !he message window is dcs1roycd.  Similarly. 
a  translucent  progress  window  !(H  showing  the  progress  of 
copying a  Ilk can be  bded out and destroyed a!ier the copy 
35  process ends. In one example. message window J61 as shown 
in 1-'lG.  11  is displayed when a new message arrives. When the 
user starts 10  open  an  app!icmion  to  view  1hc  new  message. 
message window J61  is clos<.-d  automatically so  that  the user 
does no! ha\elo provide inpullo dismiss the message window 
40  orwaitli.1r 1hc  message window 10  JUde  out.  "llllls. a  madlinc readable nK'<iia  includes any mcchmlism 
1ha1  provides  (i.e ..  stores and/or 1ransmi1s)              in  a 
llm11  accessible  by  a  machine  (e.g ..  a  computer.  nclwork 
d<.'\ice.  persona!  digital  assistant.  m;mubcluring  tooL  any 
d<.'\ice  with  a  sci  of  one  or  more  processors.  clc.).  For 
example. a machine rcad.1bk media includes rccordab!c/non-
r<.>cordab!c  media  (e.g ..  read  only  memO!)'  (ROM):  random 
access memory (RAM): magnclic disk storage media: optical 
storage media:  !lash  memory devices: clc.),  as well  as  el<.>c-
1rical. optical. acous1ica! or o1hcr fonns of            signals 
(e.g .. carrier waves. infrared signals. digital signals. etc.): elc.  '0 
In one embodiment of 1hc  present  invemion. 1hc  image of 
window  J21  gradually  sets  in  when the window  is  !irs! dis-
played.  In another embodiment of the present imcnlion, win-
dow J21  in  F!(i. 8  is automatically rclocal<.'<i  or moved (e.g  .. 
45  in  an  animation  !Ushion)  10  a  dill'crcm  !ocmion  so  1ha1  the 
image  of window  J21  docs  no!  obscure 1hc  display  of any 
particular ponion of windows JOJ  !l1r an extended period of 
timed.  For  example.  window  J2 I  may  he  automatically 
moved across the  screen horizontally  from  1hc !eli hand side 
of screen 301to 1hc right  hand side of screen J01  (or ncar the 
center of screen 321  in a circular motion).  At  leas! one embodiment of1hc prcscm invemion seeks to 
display a window with r<.-duced dislraclions so that a user can 
ll1cus on more important windows. 
In  one embodiment  of the  present  imenlion,  the  system 
1-'IGS.  7-11  i!!uS!ralc  example  scenarios  of displaying  a 
window according 10  one cmbodimcm of1hc prcscm  invcn- '5 
lion. Traditional window JOJ  is shown in FIG. 7.  Window J()J 
de!<.  >cis  (or manages) all the translucent windows so that when 
a  second  translucent  window  is  displayed  before  the  Hrst 
translucent window is dosed.  the  Hrst1ransluccll1  window  is 
repositioned  so  that  the  second  lrans!ucenl  window  can  he 
contains control bul!ons J 1 I,  J I J  and J 15  !l1r closing.  mini-
mizing  and  maximi/ing  the window.  Window  JOJ  also  has 
Iitle  bar 310. which  may be used  10  relocate 1hc  window on 
screen J()l.  Consider a  scenario where  the  batlel)' power of 
the system is  !ower than a threshold. Aller the sysl<-'m dc!ecls 
such a  system  status change.  window  J21  may he displayed 
ncanhc ccmcrofscrccn 301. as shown in 1-'lG. 8. Window J21 
is 1ransluccn1 so !hal regular window 303 is sti!! visible under 
window J2l. Once window J21  is displayed on 1hc screen. a 
timer is s!;uk'd lo control the closing ofthcwindow. When the 
timer  expires.  window  J21  is  automatically  closed  without 
easily seen on the screen without inlcrl'crencc with each other. 
1:or example. alkr hallery !ow  window  J2 I  is              as in 
FIG.  8.  the  system may dc!cc1  a new  message arriv<.-d  Ji.1r  the 
60  user. Thus. 1ransluccn1 window J61  is display<.-d as in FIG.  11 
lo  inllmJJ!hc user about the !1'-'W  message. At  the same time, 
window  J5I  is  automatically mm<-xi  loa position as seen  in 
FIG.  11  so !hal both 1ransluccn1 windows 351 and 361 can be 
easily  seen on  the  screen ..                the  !irs!  translucent 
65  window (e.g .. window 351) is  hidden so !hal only the  second 
window (e.g  .. window J61) is display<.-d. rhe timcrofthe !irs! 
window  is  slopp<-xi  while being hidden until  the second win-
SUlOJj  :ll(JJll Si!tOlU!  :ll(J :ljlOJ:lUSi!  ,\t'm -'l'l.llpU!!>\  jU:l:llljSUl!Jj :lljJ 
          _\'\.opm,..  p;JJ;J_Jjnq-uou  1'  UJ   11 J;Jptm  _\'\.Opt!!,..  ;'ll]J  pmo 
.\\llpU!.\\ JU;:lJil]SUlW  Jl[l ,\e[dSip OJ  S_\\OpU!.\\ ;:ll]J.IO  SJf!P-Ul!  ;:ll]J    
                     .\WpU!.\\  ;:Jt]J  pur,  :.([;:JJeJed;-,s                       
.\WpU!.\\               Jl[l JJpun _\\OpU!.\\ J1[1  pue .\WpUp\ JUJJil[ 
SUlOJj JljJJll            :lljJ            \\OpU!\\ fA").!JJJlll(  l' Ul  ;,1\tmH 
UJJJ:Js Jt]J Jll umuod                Jt]J  :lWpdn OJ  p:lmn:p;,d 
   Jpj:- UO!JP-JJdo  p;-,jepdn  S!  _\\OpUp\                J1[1  JJpun  09 
.\\llPU!_\\ ;:Jt[J  Wlll                LPP  UOIWJJdo JO               _\\Op 
-U!-"" JU:l:lll(SUlOJj :ll(J JlOl(J                  SPJ:- Ull!Jl,JJdO_J]  "\\llPU!-"" 
             Jt]J J:lpun_1.opm-\\ :ll(J ptm _\'\.opm-\\  JUJ:llljSUl!IJ Jt]J 
U!  p.")][l)jS  :lUll lljjUJJ!Oddto S!  J]  "S_\'\.OpU!\\  jU:l:lll(SUlOJj 1(11\\  UO!J 
-u;-o\m  JU;-os;-oJd  ;-oqJJO  JU;Junpoqm;-, ;JUO              J J L        
             .!!O[llTI:lJ  uo 11m)jJO\\ 
     ;:ll]J  JOJ                UHlUHU]lU  SP-l]  .\\llpU!.\\  JUJJil[SUJJJJ 
;:lljJ.IO  ;:JJUJSJJd ;:ll[l"Sntl.L (Jeq ;:l]lll                   e .(q            
,\[[tDid.\J     t[J!l]\\)  Sll:lllJ  p.!tmq.\J)'[  Jl]J        JlOl(J  \\llPU!_1.  :ll(J 
OJ  p.")p.n,_\-\.ll:J     Jlldm (lllOOlj.\.")'j JljJ ")lldUl p.!!Olll(,\J)\10 JUH1SUO:l 
JOU        -\\opu!-""                  Jt]J Jl          J<.m  s;-oop  _\'\.opm-\\ 
JUJJil[SUJJJJ  J1[l Jl     _\\OpU].\\  JUJJil[SUJJJJ  J1[1  J;:JpUn  _\\OpU!.\\ 
;:ll]J  1[11.\\  JJJJJJJU!  UlJJ  J;)Sil  J1[1  Je1[1     _\\OpU!.\\  JUJJil[SUJJJJ 
JljJ  .!:lpun  jSllf Sl  Jl'ljJ  \\llPU!_1.  JljJ  .!OJ                Sl  JlldU!  :ll(J 
"WlpU!\\                Jl(J .\q fA")JdJ:J:ll'  JOU     ('j:l!(J l' '"11;,)  jUJ\J 
Jl:J             :ll]J Ull Si!toml p:lU!l[lUlD :ll]J          fpp Ull!Jl,J:ld() 
_\\OpUp\                ;:Jt[J  JJpun  .\\llPU!_\\  J1[1  pur,  .\WpUp\ 
              ;:llll  JOJ                       e  ;:JJeJ;:JUJil  OJ  .\WpUp\ 
             :ll(J J:lpun  -\\opm-\\ JO J11tom!  Jt]JJO uo!uod Jt]J  ptm 
-\\llPU!_1.                  10 JO :l1ltom!  :ll]J  S:lU!l[lUO:l  jpp Ull!Jl,J:ld() 
"UO!JlWAU!            ;:llll  JO  jU;:lUl!pOqtuJ  JUO  OJ  flmpJOJJ!J 
.\WpU!.\\              e  ,\e[dS!P  OJ            e  s_\\Otls  Sl  "DL! 
   pJJP-]JJ JosJnJ e_11               JO:]         wu        _\\OpU].\\  JU;:JJH] 
       J1[1JI    s_\\OpU].\\ [P-tuJou 01  p;-,pJe_\UOJ  JJe SJndm J;:Jt]JO 
          mdm J;)Sil        SllldU!                      ,\[UO             
_\'\.opu!_1.                  JljJ  ")lldU!  J:lSll              WlpU!\\  jUJ:lllj 
"(_\\OpUp\  js.!!J  J1[1  flm,\OJjS;:Jp  pur,  _\\OpUp\  js.!!J 
:l1(JJO  J11t"U!  1m  jllll          .\q  '"11;,)  S:lJ!dX:l  JJUHJ  Jl(J  U:ll(.1. 
\\llpUL1.                   JKl!J  Jl]J  S:lSll[J  L.ff:'  Ullljl!J:ld()  "(U:lPP!lJ 
,, 
.J!                JO)                        ,(r,m                           
f!U!U!lJlU;:lJ  J1[1  "fi<")SOp  Sl                            JO  J;:ll(lUllU    
l'JO :lUO  UJl]ifi  "_\'\.OpU!\\  jUJ:lll(SUlOJj        :ll(J                    
-oda1 Sff:' UO!JlOJJdo                  \\llPU!_1.                          
l'  W1[l  S:lU!UlJJPp  6ZP  Ull!JlOJJdo  UJl(,'fi  (p:lSS:l:Jtud     Jlldm 
J1[1  J;:llJP- p.")l.l!JjS;:JJ  pue p.")ddOJS       ,\r,m  JJlU!J  ;:llll  .(pA]JeUJJj 
-je)  JlldU!  J1[1  SJSSJJOJd  ffp UO!JlJJ;:JdO  pue :J;:JUJ]J  ;:lljl  S).l!JjSJJ  Ot 
Jfp UO!JlOJJdO  'p:l.\l:l:l.")J  Sl  .\'\.opu!_1.  JKl!J  JljJ  Jl:J  (JlldU!           
1' .10  Jndu! .J:lsn to  11;,)  Jndu! 1m Jl"Jl  s;-,u!uu;,pp LZP  UO!JlOJJdo 
           "J;:JUJ]l  e        SZP                                    JeJiil]p 
J1[J.IO            mdu]        e  tu<.UJ  mdu] .(ue OJ               U]        
JOU         W.1pU!.\\  js.!!J ;:lljl  ;:JJJ1(.\\ "(.\\OpU].\\ pUOJJS !JjO UOIJJOd    
10 Jll  do]  UO  TI:l)                        Jl'l!111p  :ll(J  Jll  (SJ:ll(JO 
j() 'U:l."U:JS  1[Jllllj l' "JOJ!UO[[J _]}L) l'          (].)  I l' 11;,) :l:l!.\JP 
,\e[dS]p  e  uo  _\\OpU].\\               JSJ!J  e            HP  uo11 
-eJJdo             ilmssJ:JoJd  JeJiil]p  e  tuOJJ             Jo uonnq  e 
"J;:J'j:JIJS .\ofe             1pnoJ e ped tpnoJ e  11eq 'j:JP-JJ  e ;-,snom e  oc 
                  1pns ":l:l!.\:lp Jndu! J:lsnt' mtuJ Jndm        TI:l) 
Jndu! tm sJ.\I:l:l.")J  J zt umJt,JJdoJJUV uo!JU:l\Ul JU:ls;-oJdJt]JJO 
jUJtu]pOqHW  JUO  OJ  flmpJOJJB  .\\OpU].\\                 r,  [OJjUOJ 
01  pot]J;:Jtu  e  JO  um.rilmp  .\\OU  PJI!P-JJP  e           PI  "!)L! 
( -\\opU!-""        Jl]J           ptm  \\llPU!_1.  JKl!J  :llj!Jll JTitmH  ,:c 
Ul'  jllll         1\:l)  S;JJidX:l  JJUHJ  JljJ  UJlj\\  _\'\.opu!_1.        JljJ 
       SIP uo!JtoJ;odo  "J:lmiJ  to        nt umJt!J:Jd()            
ilmJeJJdo  ;:Jt]J  .\q  p;-,Jepm]  smdm  Jo  ;-,u!l           e  uo          
ilmiluu snJms          m            e  "JU;:l,\;:1           e  ,\q           
Jndu!  tm          ":l:l!.\:lp Jndm      .\tm t]l!-""               JOU     o<: 
Jl'l]J  JlldU!  tmJO":l:l!.\:lp Jlldm         UllUJ  JlldU!  tm TI:l)  Jlldm 
ur, OJ              U]  .\\llpU!.\\  Js.!!J  r,            JJP UOIWJJd()  "UO!) 
-UJ,\Ul.              ;:ll[l  JO  JU;:!Ull_poquw  JUO  OJ  flmpJOJJ!J  .\Wpm  __\\ 
e         OJ  pot]J;:Jtu  e  JO  umJile]p  .\\O[l  e           n  "DL! 
"(:l:l!.\Jp  Jndm  JJsn  ,:1 
.(m,  1[11\\                J<.m     Wt]JJlldm1lm\IJ:J:lJ  JJ!Jl'  Jo  pm 
   UO]JipUOJ e JO                                  r,  Jel[l UO!jlJU!lUJJJ;:Jp 
e  JJJje  Jo               J;:JUJ]J  e  JJJje  f,;-,)  mdm       JHOt]l!.\\ 
( -\\opu!-""  Jt(J           ptm  -\\opu!-""  :l1[1  Jll  :lTitmn  1m  1110  ;optOJ 
11;,)  -\\opu!_1.                     :ll(J         .\jjlO:l!JlnUOJlllO  fOP UlliJ  fll 
-l!J:ldo pmo :( \\llPU!_1.                  Jl]Jl(11lllut]J  _\'\.opu!_1.          
;:ll[lJO  UOijJOd  J1[1  ;:JJS  OJ       ;:ll]J           .\\OpU].\\ pUOJ;:JS  r,  JO 
UOIJJOd  P-JO dOJ UO  p."),\JJ[dSip UJ1(.\\ 1[Jilj.\\ .\\llpU!_\\               
to  '"11;,)  -\\opu!-""                   10 K(t,jdS!P  JOt UlliJl!J:Jd()  "UlliJ 
U:l.\U!           Jl(J Jll  jUJUl!POl]UlJ  :lUll  OJ1IU!pJO:l:llO  \\llPU!_1.  ,_-
r,           OJ  p01[JJtu  e  JO  me.rile]p  _\\O[l  e           zr  "DL! 
"JUJJil[ 
-SUJJJJJOU  JJP- Jel[l              JOJ  p.")JUJlUJ[dUH Jq tWJ UO]JUJ,\Ul 
jU:lSJ.Jd :llj!Jll splll(!JlU        jlOl(J  Ull!JdU:JS:lp S!l]J  lUlUJ  J.ll' JljJ 
8 
         U:ll(.1.  'UO!JU:l\Ul  jU:lS;JJ\.1  Jlj!Jll jUJtU!pOljUl:l JUO Ul 
           Jndu!       mOJJ  Jndu!  .\mo Tiu!mnsmn Jlllll(JI\\ J:lsn 
;:Jt]J  OJ               e                         e .\q pJJP-]l!U]  _\\OpU].\\        
      r,  "UOIJUJ\Ul  JUJS;:JJd  Jl]lJOJlWtU!pOl(UlJ ;:JUO  U[           
J:l)lldm<.D  l'  U-\\llp         OJ         J:lSll  :ll(J  UJlj\\  11;,)  _\'\.OpU!\\ 
Jt]J  ;,sop  OJ            TimJt!J:Jdo  Jt]J                   1'      1pns 
s1ndm          OJ          [[IJS  .\tml  _\'\.opm-\\ :lt]J  'J:JI \JP Jndu! 
     e  UJOJJ  JlldU!  .(tm OJ                 U]       lOU  SJOp  _\\OpU!.\\ 
;:ll]J  UJ1[A\  ,\[[P-Jl)P-UlOllllJ  .([UO          .\\llpU].\\  ;:ll[l  :(_\\OpU!.\\ 
           Jll_l  ,\J'j Jll:l  Wll]S  l'  S:l'jl'l JOU  '_\'\.opu!_1.  :ll(J  1\u!sop 
.H:J  uonnq  to  JWt]  J<.m  s;-oop  _\'\.opm-\\  :lt]J  TI:l)  :l:l!\JP  Jndu! 
     e  UJOJJ  J!ldU]  .(ur,  OJ                 U]  JSO[J  lOU       ;:JJJAJp 
mdm         e  1[1].\\                Jndm  ue  ,\q  pJJP-]l!U]  _\\OpU!.\\ 
JUJJil[SUJJJJ  Jt]l  "UOIJUJ,\Ul            ;:ll]J  JO  JU;:!Ul]pOqUW  ;:JUO 
U]                 JOU     \\llpU!\\  JUllljO.\  JljJ  'Ull!JU:l.\Ul  jUJS:lJd 
JljlJO jU:l1U!p0l(lU:lJUO U]  .(JllDijlmllljlW fA")SO(J  put' ]110         
Sl  _\\OpU].\\  [<.UJUOJ  ;:JUHl]O\  Jl]l  pue               J;)Ul]l  ;:ll]J  ";)Ul]l 
JO  Jmwme                         e        Jtull[OA  ;:Jt]J            sdoJs 
J:lSll  JljJ  JJJJV                  S!  .1.0pU!\\  JUllljO.\  jUJ:llljSUl!Jj  :ll(J 
.H:J  J:llU!l  :l1(J  ':llUll(ll\           .H:J  ,\J'j              :lljJ  UllUJ  JlldU! 
UlO  S:l.\!:l:l.")J  -\\OPU!_\'\.JUllljO.\ JljJ U:ll(A\ "(UJ:lJ:lS :l1(J              l' 
JOUO!)P-JO[  ;:Jt[l  lUOJJ                  f,;-,) _\\OpU].\\ ;:JUHl]O\  JU;:l:Jllj 
       ;:ll]l                      UO]WJO[  r,  S;:JU!lUJ;)JJp .([]P-JIWU!OJIW 
(tut!!Titud  Ull!)lO:l!(ddto  tm  .10)            WlpU!\\  JljJ  "Ull!JUJ\U! 
JU:lS:lJd :ll(J J o  JU:l1mpoqm:l ;,uo u 1 (              .10 "JSl,JJUO:J m) 
]J\J[ ;:JUHl]O\  JUJJJilJ Jljl.\\01[S  OJ                  _\\OpU!.\\  JU;:l:Jllj 
       r,  ,\;:!)'[  UOIJJUl1J  [P-]J..")dS  ;:ll[l  01               U[                 
JO             JO)  ;:JUHl]O\  JSn[pr,  OJ  .(J'j  UOIJJUl1J  ]e!JJdS  r,     
.\tom JJsnt' ':l[dumx;, Jll:J  ":l:l!.\JP Jndu!         l(JI\\              
Jlldm  Ul'  tj11ll().ll[l  \\llPU!_1.                    :lJl'!llll!  .\tml       V 
            JU:l:l 
-ll[SUJJJJ           JO           J1[l[<.UJUOJ .(]JJ..")J]p  01  UO]JdO  Jl]l      
     r,  Wl]l OS  (f.U]SOp       "')S!J, ,\;:!)'[           ;:ll]J      1[JilS          
       JlOIJ.")ds  '"1\;,)         p:lu!uu;,pp.")Jd  JdJ:J:Jt'  s_\'\.opm-\\ 
                     jUJS:lJd Jlj!Jll jU:llU!Plll]lUJ J\!JlOl!.l:lJ(l' JUO Ul 
"(SJ:ll(JO ptm                     Ul J1Jutnp :lljJ 'J:llUIJl'Jll Ullljl!l!dXJ 
;:ll]J            1;:1Ul  JJP-            U!JJUJJ U;:ll(.\\ .([]JJJ]JelUOJIW ;:JSOp 
1[Jl1[.\\                            OJ              JS;)l]J  01  PJP]MlJd 
;,q mo:J]ndm JJSn<.m ptm :1ndm J:lsn .\mo ;,umsuo:J J<.m  op s_\'\.op 
Ul\\  jUJ:lll(SUlOJj        'UO!JU:l.\Ul           :ll(JJO  jU:llU!Plll]UlJ 
      U[              J;:Jt]JO  Jo uounq          ,\of           tpnoJ  ped 
1[JHOJ"[]eq  'j:JJJJJ                       e  f,;-,)          mdm     
1[11.\\                mdm  .(ue  motpl.\\          e  .\q  p;-,Jepm]  JJe 
Jlot]J  s_1.opm-\\                  Jll J[dmtox;,  mo  _\'\.m[s  11 -s "S!)I:l 
          J:ll(JO  JOfPtm  '(;,sop OJ  JUl!l  p:lWUHJS:l  m) 
       OJ  JUl!J                            :l:JUlO].JOd1m JljJ OJ  1\u!p.!tl:l:ll' 
S_\\OpU!.\\                J1[l  JO  .(ejdS]p  Jl]l  JO  SUO!JISOd  U;:J;:JJJS 
;:Jt]J  pur,                                  .\][e::>pemome  OJ  s_\\OpU!.\\ 
JUJJil[SU!JJ1  J1[l                   .\\llpU!.\\  J1[1  "UO]JlWAU!  HWSJJd 
Jt]J Jll JUJtmpoqmJ JJtjl.lllJ  to  u1           .\[]tDIJtmJOJtm  s1  _\'\.op 
L 
zs  !68'S>8'L sn 
us 7,853,891  82 
9 
lucent window on lop oft he other window using the image of 
1hc  window  under  it.  For example.  the  1ranslucent  window 
obwins 1hc  image  of the  window  under  it  alicr  the  window 
under  it  draws  on  the  lhlmc  bullCr:  then.  the  trnnsluccnt 
window  generales  a  combined  image  lo  update  the  corrc- 'i 
sponding portion of the screen. 
10 
scopeofthc invention as set ll1rth in the ll1llowingclaims.  !"he 
spccilicmion nnd dmwings arc. accordingly. 10 be regarded in 
nn  i!!us1rmivc  sense rather than  a rcs1ric1ivc  sense. 
What  is claimed is: 
I  :\method lo display a user inlerbce window  ll1r a digital 
processing system.  the mclhod comprising: 
displnying a lirst  window  in  response  to  receiving a lirst 
inpm  Ji"om  n user  inpm device of 1hc  digiwl  processing 
system which is capable of displaying a!  leas! a  portion 
of a second window ctmcurrent!y with the lirsl  window 
on  a  screen: 
stnrting a 1imcr: nnd 
closing the lirst window in response 10 n dc1cnninmion that 
the timer cxpirLxl: 
wherein the Jirsl window does nul close in response lo any 
inpm  Ji"om  n user  inpm device of 1hc  digiwl  processing 
sys1cm.  wherein  the  lirst  window  hns  been  displayed 
indcpcndcmly li"om  n posilion of n cursor on the screen. 
2.  :\  method  as  in  claim  I  wherein  the  lirsl  window  is 
lrans!uccnl:  and the  portion of the second window  is  visible 
while under 1hc  lirst  window. 
3.  _.\  mc1hod ns  in  clnim  2 wherein the  lirst  window  is  at  n 
lop  k'\d in a window  displaying hierarchy. 
4. :\method as in claim 2 wherein a degree of translucency 
of the Jirsl  window is adjustable. 
5 .. \  method  as  in  clnim  1 wherein  snid  closing 1hc  lirst 
window comprises: 
li1ding out an image of the Jirsl  window. 
!-'IGS.  16-21  show  example  screen  images  of windows 
displayed according to one embodiment of the present inven-
tion.  When  a  user  starts  to  adjust  the  volume  k:vd  (e.g .. 
pressing on a  Jimction  key  !(Jr  increasing or decreasing vol- lCJ
umc. or selecting an item from a syslem control menu with a 
cursor control device. such as a mouse or a touch pad). trans-
lucent  volume  window  511  appears  on  sen.-en  501.  Since 
window 51 I  is  lransluccnl. the portion ofwimlow 503 under 
window 51 I  is still visible.  In one embodiment of the present  15 
invention_  when  window  511  is  initially  !ondcd.  the  back-
ground of volume window 511  has n high degree oftrnnspar-
cncy:  and  the  content  of window  511  hns  n  !ow  degree  of 
transparency  (or  no  transparency).            the  user  can 
easily sec the content of window  51 I  when  the user  is  sup- "" 
posed to ](1cus  on window 511. .\s the  user provides inplll to 
adjust the volume level. window 511  remains in a stmc with a 
high  degree  of transparency  ll1r  the  background  and  a  low 
dcgreeoflransparcncy ll1r lheeonlcnl. !'or example. when the 
user decreases the \olumc levd (e.g .. pressing a  Ji.mction kl:y.  "5 
or an army key). the volume !eve! is decreased ns indicated by 
window 521  in  FIG.  17. When the user Ji.1rthcr dccrcnscs the 
\olumc  k'\d lo mule the speakers.  window  531  changes an 
icon lo  indicate that the speakers arc muted. as shown in l'](j. 
18. When 1hc user starts 10  ndjus1  the  brig!uncss of the  moni-
1or.  translucent brightness window 541appcars. us  shown in 
FIG.  19. while the volume window is  hidden (or dcs1roycd. or 
converted into the brightness window  by  redrawing the icon 
and  the  levd bar).  If the  user slops  providing  input  ll1r  the 
brightness  window  for  an  nmount  of time  (e.g ..  n  prcdetcr- 35 
mined mnoumoflimc. a randomly selected amoum of time. a 
lime  period  delcrmincd  nccording  to  a system  condition  or 
other criteria.  a  lime  period  ea!eu!atcd  on  the  Jly.  or a  time 
period  speeilicd  by  a  user)  window  541  starts  lo  bde away 
and  be  dcstroy<.'d.  as  shown  in  FIGS.  20  and  21.  In  one  40 
embodiment  of  the  present  invention.  when  n  1mnsluccn1 
window starts lo lit de away. the degree of transparency of the 
content  in  the lransluccnl  window  is  increased  lo  allow  the 
user lo  see hcller the window under the translucent window. 
6.  :\ mclhod as  in  claim  I  wherein  the second window.  if 
30  displayed. does close in response to an input from nuscr input 
device of 1hc digitn!  processing system. 
as illustrm<.'d  by window 551  in  FIG.  20.  Thus. 1hc dcgr<.'C  of  45 
1rnnsparcncy  of the  window  cnn  be ndjus1cd  during  the  life 
cyde  of the  window  lo  lead  the  Jixus  point  of the  user. 
Ftu1hcr. a user may  specify the degree of transparency of the 
window  (e.g ..  as  a preference  pmmnetcr).  The  imngc of the 
window may  fade out smoothly in nn nnimmion: or 1hc image  '0 
of1hc window mny JUde olll in a number of discrete steps. The 
degree of lrans!uccncy. the spel.xl  Jix  li1ding out.  the discrete 
!e\ds of translucency ll1r li1dingoul. the time lo expire. and/or 
other  pammctcrs  for  comro!!ing  the  displny  of the  window 
mny  be  sc1  by  1hc user or ndjus1cd by 1hc  system (or app!icn- '-' 
lion  sollware  programs) automatically  according  lo  system 
conditions orolhercrilcria. l'orcxample. the system (or appli-
cation programs) may adjust the time lo expire according lo 
1hc  number of translucent  windows  displayed  concurrently 
on the scR-cn: or 1hc sys1cm (or nn application program) mny  60 
adjust the initial degreeoflrans!uccncy according lo the color 
pallem allhe location where the lransluccnl  window  is  dis-
plny<.'d. 
In  1hc  Jixcgoing  spccilicmion.  the  invention  hns  been 
described with rcJCrcncc  to spccilic cxcmplmy embodiments  65 
thcreoL  II  will he cvidcnllhal \arious modilicalions  may  be 
made  lherclo  without  departing  Jimn  the  broader  spirit  and 
7. _.\method as  in clnim 6 wherein the lirs1 window docs not 
respond  lo  any  input  Jium  a  user  input  device of the digital 
processing system. 
8.  :\ mc1hod  as  in claim 1 Ji.1rthcr comprising. 
rcposilioning 1hc  lirs1  window  in  response  to  a third  win-
dow  being displayed. 
9.  :\ mclhod as  in claim  I  li.1rlher comprising: 
hiding the lirsl window in response loa third window being 
disp!nycd  at  n  location  where  the  lirs1  window  is  dis-
p!nycd. 
I 0. :\ method as in claim  I  li.1rthcr comprising: 
repositioning the lirsl window on a display in  response loa 
second input  Jix the Jirsl  window. 
11.  _.\  mc1hod  ns  in  claim  10  wherein  the  second  input 
indicmcs that  n third window  is  disp!nycd. 
12.:\ method  as  in  claim  10  wherein  the  second  input  is 
rcccivl-xl  Ji-om  a  user  input  device  of the  digital  processing 
system. 
B.:\ method as in claim  10 Ji.mhcr comprising: 
adjusting n position  of1hc  lirst  window  inn window dis-
playing hierarchy  in  response loa third input. 
14.:\ method as in claim  I  li.1rthcr comprising: 
dc1cnnining a position on n display of the  digiwl  process-
ing system  independent of a position of n cursor on the 
display: 
wherein the Jirsl  window  is  displayed allhe position. 
IS.:\ mclhod as  in  claim  14  wherein  the  position  is  cen-
tered horizontally on 1hc display 
16.:\ method as in claim  1li.lf1hcr comprising: 
restarting the timer in  response lo rccei\ ing a second input 
ll1r  the lirsl window. 
17.  _.\  mc1hod  as  in  claim  16  wherein  1hc  second  inpm  is 
rcceiwd  Ji"om  n  user  inplll  device  of 1hc  digitn!  processing 
system. 
18.  :\method as  in  claim  16  wherein  the  Jirsl  window  is 
crealLxl  by  a  Jirsl  application and  the second window  is  ere-
us 7,853,891  82 
II 
atcd by a  second application. wherein the  !irs! application is 
dillCrcnt  from  1hc  second applicmion. 
19. A mel hod as in claim  1 wherein the user inplll device is 
one of' 
I2 
31. A media as in  claim 26 wherein the sL-ctmd window.  if 
displayed. docs close in response to an input from n user input 
device of the digitnl  processing. system. 
32 . .  \media as in claim 31  wherein  the  !irs! window docs 
a)  a  keyboard: 
h) a  mouse: 
.< no! respond lo any input Jimn a user input de\ icc of the digital 
c) a  track ball: 
d)  a touch pad: 
c) a  !ouch screen: 
J)  a _joy  stick: and 
g) a  \muon. 
20 . . \  method  to  display  a  user  interface  window  Jix  a 
dig.itnl  processing system.  the  method comprising: 
displaying a  !irs! window.  the  !irs! window being lranslu-
ccnl. at !cas! a portion of a second window being capable  l'i 
of  being  displayed  on  the  digiwl  processing  system 
under the  Hrst  window.  the  portion  of the  S<..>cond  win-
dow. when present. being visible under the  Hrst window 
on a  screen: and 
dosing  the  !irs!  window  without  user  input.  wherein  the  "" 
Hrst  window  hns  been  displnycd  independent  from  n 
position ofn cursor on the  screen. 
21  A mc!hod as  in  claim 20  Ji.n"lhcr  comprising: 
starling a  timer: 
wherein  said  dosing  the  lirsl  window  is  in  response  lo  "" 
expirmion of the timer. 
22 . .-\method ns  in  clnim 20  li.1rther comprising.: 
receiving.  nn  input.  the  inplll  not  nssocintcd  with  n  user 
input de\ icc of the digital processing system: 
wherein said dosing the lirsl  window is  in  response to  the  30 
input. 
23 . .-\method ns  in  clnim 20  li.1rther comprising.: 
determining whether or not n condition  is  met: 
wherein  said  dosing  the  Jirsl  window  is  in  response  loa 
determination that the condition is  mel. 
35 
24.  A mc!hod as  in claim 20  wherein said dosing the Jirsl 
window comprises: 
fading olll nn  imnge of the  !irs! window. 
25.:\ mc!hod as  in  claim  20  wherein a degn  .. -c  oflranslu-
'0 
ccncy of the Jirsl window  is adjustable. 
26. :\machine readable media containing cxL-cutahlecmn-
plllcr prog.ram  instructions which when cxccli!L'd by a digitnl 
processing. system cause said system to  perform n method to 
display a user intcrliJCc window.  the mc!hod comprising: 
45 
displaying a  lirsl  window  in  response  lo  rL-cciving  a  lirsl 
input  Jimn  a  user input  de\ ice of the digital processing 
system which is cnpable of displnying. nt  least  n portion 
of n second window concurremly with the !irst window 
on a screen: 
starling a  timer: and 
dosing the !irs! window  in  response loa determination that 
the  timer cxpirL'd: 
'0 
wherein the !irs! window docs not close in  response 10  nny 
input  Jimn  a  user input  de\ ice of the digital processing  ,
5 
system.  wherein  the  lirsl  window  has  hL-cn  displayed 
independently  Ji-om  a position of a cursor on the screen. 
processing system. 
33 .. \  media  as  in  clnim  26  wherein  the  method  Ji.Jrthcr 
comprises: 
repositioning the  Jirsl  window  in  response  lo  a  third win-
dow  being displayed. 
34.  :\  media  as  in  claim  26  wherein  the  method  Ji.Jr!her 
comprises: 
hiding. the !irs! window in response to a third window being 
displayed  a!  a  location  where  the  lirsl  window  is  dis-
played. 
35 . . \  media  as  in  clnim  26  wherein  the  method  Ji.Jrthcr 
comprises: 
repositioning. the !irs! window on n displny in  response 10 n 
second input  ll1r  the Jirsl  window. 
36. A media as in claim 35 wherein the second input  indi-
cates that  n third window  is  displnycd. 
37 . .-\  mcdin  ns  in  clnim  35  wherein  the  second  input  is 
received  li-mn  a  user  input  device  of the  digital  processing 
system. 
38.  :\ media  as  in  claim  35  wherein  the  method  Ji.Jr!her 
comprises: 
adjusting.  n position  of the  !irst  window  inn window dis-
playing hierarchy  in  response loa third input. 
39.  :\ media  as  in  claim  26  wherein  the  method  Ji.Jr!her 
compnses: 
detcnnining a position on n display of the  dig.ital  process-
ing.  system  independent of a position of n cursor on the 
displny: 
wherein the Jirsl  window  is  displayed a!  the position. 
40. A media as in claim 39 wherein the position is centered 
horizontally on the display. 
41.  .\ media  as  in  clnim  26  wherein  the  method  Ji.Jrthcr 
comprises: 
restarting the timer in  response lo rL-cei\ ing a second input 
ll1r  the lirsl window. 
42.  A  media  as  in  claim  41  wherein  the  sL-cond  input  is 
receiwd  Ji"om  n  user  inplll  device  of the  digitnl  processing. 
system. 
43. :\machine readable media as  in claim 41  wherein the 
Jirsl  window  is  crca!ed by a  Jirsl  application and  the sL-cond 
window  is crcntcd  by  a SL>cond  applicmion. wherein the !irst 
npplication is different  from  the second npplication. 
44 . . \media as in claim 26 wherein the user inplll device is 
one oJ": 
a) a  kLJ-hoan.l: 
h) a  mouse: 
c) n track  ball: 
d) n touch pad: 
c) n touch scrL-cn: 
J)  a joy slick: and 
g) a  bul!on. 
27 . .-\  medin  ns  in  clnim  26  wherein  the  !irs!  window  is 
trnnslucem: nnd  the  portion of the second window  is  visible 
while under the lirsl  window. 
28. A media as in claim 27 wherein the lirsl window is a!  a 
lop level  in  a window displaying hierarchy. 
45 . .-\machine readnb!c medin contnining cxccuwble com-
pUler progrnm instructions which when executed by n dig.ital 
60  processing system cnuse snid system to perform a method to 
display a user inlerbce window. the method comprising: 
29 . .-\  medin  as  in  clnim  27  wherein  a  degree  of trnnslu-
cency of the  !irs! window  is ndjustablc. 
30 . . \  medin  as  in  claim  26  wherein  snid  closing.  the  !irs!  65 
window comprises: 
li1ding out an  image of the lirsl  window. 
displaying a  Jirsl  window.  the Jirsl  window  being translu-
cent. at least a portion ofn second window being cnpnble 
of  being.  displayed  on  the  digitnl  processing.  system 
under  the  !irs!  window.  the  portion of the  second  win-
dow. when present. being visible under the Jirsl window 
on  a  screen: and 
us 7,853,891  82 
13 
dosing  the  !irs!  window  without  user  input.  wherein  the 
Hrst  window  hns  been  disp!nycd  independent  from  a 
position ofn cursor on the  screen. 
46.  A  mcdin  as  in  claim  45  wherein  the  method  funhcr 
compnscs: 
starling a  timer: 
wherein  said  closing  the  !irs!  window  is  in  response  to 
cxpirmion of the timer. 
47.  A  mcdin  as  in  claim  45  wherein  the  method  fun her 
comprises: 
rcccJnng  an  input.  the  input  no!  associated  with  a  user 
input de\ icc of the digital processing system: 
wherein said closing the !irs!  window is  in  response to  the 
input. 
48.  A  mcdin  as  in  claim  45  wherein  the  method  funhcr 
comprises: 
detcJmining whc!hcr or no! a  condition  is  mel: 
wherein  said  closing  the  Jirsl  window  is  in  response  to  a 
determination that the condition is  meL 
49 .. \  mcdin  ns  in  dnim 45  wherein  snid  dosing.  the  !irst 
window comprises: 
fading olll nn  imngc of the  !irst window. 
15 
14 
60.  :\  digital  processing  system  as  in  claim  51  !i.1rther 
comprising.: 
means  for  repositioning.  the  !irst  window  on  n  displny  in 
response to  n second  inplll  for  the  !irst window 
6 I.:\ digital processing system as in claim 60 wherein the 
s<.>cond  input  indicates that  a third window is  displayed. 
62.:\ digital processing system as in claim 60 wherein the 
second inplll is received from a user inplll device ofthcdig.ital 
processing system. 
6J .. \  digitnl  processing  system  ns  in  clnim  60  li.1rthcr 
compnsmg: 
means  !lH  adjusting  a  position  of the  !irs!  window  in  a 
window  displnying.  hicrnrchy  in  response  to  n  third 
inplll. 
64 .. \  digitnl  processing  system  ns  in  clnim  51  li.1rthcr 
compnsmg: 
means !lHdetcJmining a position on a display of the digital 
processing system independent of a position of a cursor 
on  the  display: 
wherein the !irst window  is  displnycd m the  position. 
65 .. \  digitnl processing system us  in dnim 64 wherein the 
position is centered horizontally on the display. 
50.  A  media  as  in  claim  45  wherein  a  degree of translu-
cency of the !irs! window  is adjustable. 
66.  :\  digital  processing  system  as  in  claim  51  !i.1rther 
""  compnsmg: 
51  :\digital processing system to display a user interface 
window. the system comprising. 
means  for  restarting.  the  timer  in  response  to  receiving.  n 
second inplll for the !irst window. 
mcnns for  displnying n !irst window  in  response to  receiv-
ing a  !irst  inplll  from  a  user  input  device of the digitnl 
processing system which is capablcofdisplayingat least 
a portion of a second window concurrently with the !irs! 
window on n screen: 
67 .. \  digitnl processing system us  in dnim 66 wherein the 
s<.>cond  input is received !ium a user input device of the digital 
30 
processing system. 
mcnns for starting. n timer: and 
mcnns Jix closing the  !irst  window  in  response ton deter-
mination that  the timer expired: 
35 
wherein the !irs! window docs not close in  response to any 
input  limn  a  user input  de\ icc of the digital processing 
system.  wherein  the  !irst  window  has  been  displayed 
independently li"om a position of a cursor on the screen. 
40 
52. A digital  processing system as in claim 51  wherein the 
!irs!  window  is  translucent:  and  the  portion  of the  second 
window is  visible while under the lirst  window. 
5J. :\ dig.ital  processing. system as in claim 52 wherein the 
!irst window is at n top level inn window displnyinghicrarchy  45 
54 .. \  dig.ital  processing system  us  in  claim  52  wherein  a 
degree of translucency of the !irs! window is  adjustable. 
55.:\ digital processing system as in claim 51  wherein said 
means  !l1r closing the lirst  window comprises: 
mcnns for fading out  nn  imngc of the  !irst window  '0 
56.:\ dig.ital  processing. system as in claim 51  wherein the 
S<.>cond  window.  if displnycd.  docs  dose  in  response  to  nn 
input  !ium a  user  input de\ icc of the digital  processing sys-
tem. 
57.:\ dig.ital  processing. system as in claim 56 wherein the  '
5 
!irst window docs not  respond to nny  inplll from n user inplll 
device of the  dig.ital  processing system. 
58.  :\  digital  processing  system  as  in  claim  51  flll1hcr 
compnsmg: 
means  ll1r  repositioning the  !irs! window  in  response to  a 
third window being displny<.'d. 
59 .. \  dig.ital  processing.  system  as  in  claim  51  further 
comprising: 
mcnns  for  hiding.  the  !irst  window  in  response  to  a  third  65 
window  being  displayed  at  a  location  where  the  !irs! 
window  is  displayed. 
68. :\digital processing system as in claim 66 wherein the 
!irst  window  is  crcntcd by a  !irst  applicntion and  the  second 
window  is crcntcd  by  a S<.>cond  applicntion. wherein the !irst 
application is dif!Crcnt  from  the second application. 
69.:\ digital processing system as in claim 51  wherein the 
user input device is one of: 
a) a  k'-')boan.l: 
b)n mouse: 
c)ntrackball: 
d) n touch pad: 
c) n touch scr<.-en: 
l) n joy stick: and 
g) n button. 
70. A digital processing system to  display a  user interbcc 
window.  the system comprising: 
means llHdisplayinga !irs! window. the !irs! window being 
trnnsluccnL at least a portion of n second window being 
capable  of being  displny<.'d  on  the  digital  processing 
system under the !irs!  window. the portion of the s<.>cond 
window. when present. being visible under the !irs! win-
dow  on a  screen: and 
means  for  dosing.  the  !irst  window  without  user  input. 
wherein  the  !irst  window  hus  b<.-en               indepen-
dent  from  a position of a cursor on the screen. 
71.  :\  digital  processing  system  as  in  claim  70  !i.1rther 
compnsmg: 
means  !l1r st;u1ing a timer: 
wherein the !irs! window is closed in response to expiration 
of the timer. 
72 .. \  digitnl  processing  system  ns  in  clnim  70  li.1rthcr 
comprising.: 
means ll1r  r<.>cciving  an  input. the input  not associated with 
a user input de\ ice oft he digital processing system: 
wherein the !irs! window  is closed in  response to the input. 
us 7,853,891  82 
15 
73.  A  digital  processing  system  as  in  claim  70  flll1hcr 
compnsmg: 
means for determining whether or not  a condition  is  met: 
wherein the  Hrst  window  is  dos<..-d  in  response  to  a  dctcr-
minntion that  the  condition is  met. 
16 
74  A digital processing system as  in claim 70 wherein said 
means  for closing the Hrst  window comprises: 
means for  fading out an image of the Hrst  window. 
75.  A  digital  processing system as  in  claim  70 wherein a 
'i  degree of translucency of the Jirsl  window  is  adjustable. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Exhibit 7 
(12)  United States Patent 
Hamel et al. 
(54)  CA\"TILEVEREI> PUSH  HUTTO\"  ILWI\"G 
\1ULTIPLE CO\"T.\CTS A\"D  FUL('IW\1S 
(75)  !mentors:  Hradley .1.  I lame I. Sunnyvale. CA (US): 
Tang Yew Tan. San Francisco. CA (US): 
Erik Wang. Redwood City. C.\ (US) 
     Assignee:  Apple Inc ..  Cupct1ino. CA (US) 
( * )  Notice:  Subject to  any disclaimer. the term of this 
pntcnt  is  extended  or  adjusted  under  35 
U.S.C.  l54(b) by  !RR  days. 
(21) 
(22) 
(65) 
(60) 
(51) 
(52) 
(5R) 
(56) 
Appl.  No.:  12/239,102 
Filed:  Sep.26,2008 
Prior Publication  I>ata 
US 2(Xl9/tnOIR57  AI  Dec.  10.  2(X)9 
H.clatcd  U.S. Application  I>ata 
Provisional  application  No.  611059.753.  tiled  on Jun. 
7. 200R. 
Int. Cl. 
//01// 2J/OO 
u.s.(']. 
(2006.01) 
200/339: 20015  R:  2001553 
Field of(:Jassification Search  2001512. 
20015 Hi.  517.  553.  557.  55R.  339:  34! 120  22: 
345/156.  !57.  !61.  16R.  !69.  IR4 
SL>c  application !ile  for complete search history. 
References Cited 
S  ..  12<J.27g  _\  ''  7  1<J<J4  Dombroski  341  20 
111111  1111111111111111111111111111111111111111111111111111111111111 
US007863533B2 
(I OJ  Patent No.: 
(45)  Date of Patent: 
5,."01>,47<) 
' 
  4  ]<)<)(; 
5,."1>4.31>0 
' 
  12  ]<)<)(; 
(,   2_1<).3 <) 2  Bl    -'  2001 
(i.24(i.OJ<J  Bl  $  6  2001 
(i.274JQ(i  Bl  $  :;  2001 
(i,%1,052  Bl    11  2005 
ti,%7,300  B1    11  2005 
(,,<)<)5,32(,  B2   2 200(, 
7.25<J.D<J  Bl  $    2007 
* cited by  examiner 
US 7,863,533 B2 
Jan. 4, 2011 
        200  5 R 
'\aitou  .......................  200  315 
         d  al  200  5 R 
         d  al  200  (i A 
Scriz<twa d  al  200  5 R 
va,iri  ..........................  14-'  11>4 
\li;nmo    a1 
'""'"'"'" 
200 ."12 
Sugimum d  a1  200  5  R 
        ct     200  5 A 
l'riman Hxaminer  Michael A  Friedho!Cr 
(74).11/orne\:  Agent.  or h'rm  lkycrl  aw  (imup 1.1.1' 
(57)  AHSTH..\CT 
.\cantilevered push button adapted Jix accepting. an  input on 
an electrical or electronic device is disclosed. The button can 
include an elongated \muon lop component disposed about an 
exterior surli1ce of;m clec!rical or clec!ronic dL'\ ice such that 
it  is accessible to a user. and having two opposing. distal ends 
associated with separate user inputs .. \  !irst li.1lcrum  is located 
bel ween the !irs! distal end and the midpoint oft he elongated 
bul!on  lop  component.  while  a  second  !lilcmm  is  located 
belween the second distal end and the midpoint. A !irs! elec-
trical  contact  is associated with  the  !irs! distal end.  such that 
when  a  user  presses  on  the  !irs!  distal  end.  the  elongated 
bul!on  lop cmnponenl  pivots  about  the  second  !lilcmm  and 
the  !irs!  clec!rical  conlacl  is  acluated.  A  second  clec!rical 
contact is similarly associated with the second distal end and 
!irst  li.ilcrtlm. 
20 Claims, 6 I>rawing Sheets 
100 
112 
U.S. Patent 
Jan. 4. 2011 
Sheet I  of 6 
US  7,863,533  B2 
U.S.  Patent 
0 
0 
~ 
Jan. 4. 2011  Sheet 2 of 6 
N 
N 
~ 
US  7,863,533  B2 
U.S.  Patent  Jan. 4. 2011  Sheet 3 of6  US  7,863,533  B2 
N 
N 
-
-
co 
.,. 
C"' 
-
'   
(!) 
i!: 
U.S.  Patent  Jan. 4. 2011  Sheet 4 of 6  US  7,863,533  B2 
U.S.  Patent 
0 
0 
~ 
N 
0 
~ 
Jan. 4. 2011  Sheet 5 of6  US  7,863,533  B2 
U.S.  Patent  Jan. 4. 2011  Sheet 6 of 6  US  7,863,533  B2 
aq       tma               Tiu!o'il;t10J              a1(.!_  aa.n:J  p.m-'>'.dn 
            1(11'>\  pap1,op1d aq  .{t,m  'P!![.'>\            Jl':l!.lJXp 
ad.\1 uonnq amop         uea Sl:JP-JU<XJ  JP-:l!Jpap        pur,    
lSJ!J  at]l  uol)]ppe U]  wuawm aJq1xaum Jat]lO Jo ":J1JSJJ]d  pJet] 
1mam  e          ]epawm  p1il!J  .\ummmsqns  e JO          
aq .\1'm  do]  uonnq paw'iluop at]l               Sllll!J1,.\  U] 
   u!                     Jo      at]l           utD  ll"Jl       
-tpal  Jo           uounq  .n\a(1Jtm:J  JaqJo  apnmd  01        
e            S]              at]l m]p.\\ pa:-pO.\\ ,\HeJauail a.wt] suo1 
-1nq        .\\P-S:J."")S  Jo  p.."")JaAajl)Ue:J        suil]sap .(uem  awl/\:\ 
"j]aSJ!  UOlllll(  at]lJO  UO]UOd 
                   atjl PlU)SUll:l OJ  fA'"OSll               aJq1X.'"O[l         
Jatj]O JO  (l'PlU 1'  Ual(.\"\                               UlD                            1ndm               JOJ            auo 
l(l!.'>'.  sum.D[l1.Jltnla.J.J1P mo.1  a.\1"]tm:J s]ndu! JllOJ  t]l!.'>'. uonnq 
paJa,\annm::> e a]dumxa JO;]        aq 01  n]'ilnot]l    1ndm uonnq 
Jad  UHU:J]HJ  auo  "JP-]IlJ])Jed  U]  tril]sap  uaA]il  e  JOJ  paJ1sap 
aq .\1'm  s1'  pasn :Jq  osp' .{tml             ]tmO!l1PPV                
J<.m           mmnq a1p  .JO  JU!odpm1  a1p  Ulll.l.J  aatmJS!P  Jl'nha 
ue p.."")Je:JO]  aq  uea            at]lt]ilnot]l]r  Jat]Uil;]  a]qeJqpJd 
   uonnq  at]l JO  )modp1tu  at]l  tuOJJ  .\e.\\P- JllJ  .\pueamtril]s    
)P-tj)  UO!)lJ:lOj.(Ue pua j!J)S]p r,  W  S]  tulU:ljllJ  r,  JOJ  UO]WJO]  ]P-Ul 
-!Jdo     qTimll]l]V  uonnq       p."")J.'"I.\.'"1(1Jtm:J  atp.Jo pua Jl'lS!P 
J.'"lt]Jmm  11'  paJtDO(  :Jq  tm:J            pumas aq1  ptm pua Jl'lS!P 
auo W  fi<"")Jr,:JO]  aq U!J:l  UHU:ljllJ        atp.(p,\]WUJa)j\" pe)UO:l 
]P-JUPa]a )SJ!J  at]l w pa)eJO] aq uea UHU:J]HJ  puo::>as at]l Jo;pue 
"Pl'JUO:l  (lDUPa(.'"O  puoxs            fA'"Ol1':lO(  aq  tm:J               )S.l!J 
atp uonnq tjsnd p.<la.\a(!Jtm:J S1t]l.JO                  U] 
09  stua]qll.ld  pJ1,'>\Ul            S!  pua P.'"'11mp1'  at]l  aJ!l]'>\       (l':l 
-ttmtpam Jat]lOtm Jo           a:J]Aap at]l ,\q a:Je]d m  ppt] aq 01 
pua pa)enpe-uou at]ll]tuJad 01 saxau uonnq       paJa,\anme::> 
at]l  .JO       Jo  amos  l1'l(ltpns  sp,ua11'm  -'"']qt'![d  Ja1po  Jo  ":l!l 
           "Jaqqtu       p.--.uuo.l  am suonnq p.--.Ja"-'"'l!llllD  amos 
   sa:J!Aap             J]al]l  UllUJ  .(JJ.\\lJ  flU!AOUl          Jatj)O 
Jo      uonnq  t]ll.\\        S]t]l  JOJ  awsuadmo::>  01  JapJo  U] 
             S]  pua JP-]IlJ])Jed  e  uat].\\ a:J]Aap at]l 
tu<.UJ  ,\e.\W aMltu        paJa,\anme::>      JO  sptw         
O>  .'"OWl]  OJ                  .{1JlD1Plj]Sa1'  SSa(l1"]'>\.'">UlOS      fA'"0.\1.'"0:JJad 
aq  ]]1JS  mD  l!          a]mh  aq  utD          uat]'>\        
paJa\.'"1]1JutD       .{q  p.--.p\ml            JlmP1' at]lt]'illlm[l[V 
aJt,\ap  at]lJO  )SaJ  at]l  tu<.UJ  .\e.\\P- Jo  pJR\\dn        .\uenpe 
pua Jat]lO at]l"PJJJUO:J uonnq                    a)enpr, 01 Jasn e .\q 
a:J1\apat]l 
p.m.\"\Ol             pass;ud 'ilmaq  uonnq      paJa\."")]!llllD aJ1]Ua 
atp m         uea UO]Jemae                 pur,  aatAap at]l 
   m  pat]snd    pua auo uat].\\  let]ltpns unu:J]l1J  ]P-J)Ua:J  e  )noqe 
JO.\!d  .{]Jl':l!d.{J  suonnq  tjsnd              Jo p.<la.\a(!Jtm:J  tpns 
        qsnd P.'"'J-'"'"-'"'l!llllD  atUJ  .\tmm 1(11'>\ 
atu!l aums at]l  w        tpoq a]m1P1' 01  a1q1ssod  J<.m          
s1  l!  aptml     P1,JUO:J  (lDUPa[a  Jaum         ptm  puo:J.--.s 
JO      .\.mmpJo ilupnp Jasn  e  ,\q                pa1enpe aq 
utD      (l'lS1p        ptm       .'"11[l.JO  t]JOq               sno 
!.m\ U]  "fA'"OJm1p1'  S!  Pl'JUO:l  (l':l!JJ:l.'"O(:l  puo:JaS .'"01(1 ptm           
lSJ!J  at]l  moqe  sJO,\td  )Uauodmoa  d01  uounq  pa1eiluop  at]l 
uat]l")Uauodmoa do) uounq pa1eiluop at]lJO pua ]JJlS]p         
atp  uo          Jasn  e  uat].\\  .(pewms  pa)enpr,  S]  pe)UO:J 
(lDUPa(.'"O       aq1 ptm Ulll.l:l(ll.J  pmnas aqJJllllq1' )0\!d UlD )U.'"OU
-odmoa do]  uonnq paw'iluop a1p  uat]l  1uauodmo:J do] uonnq  .. 
pa1eiluop at]JJO pua ]eJStp JSJ!J  atp uo sassaJd      e tWt]/1:\  ;c 
Ot  e                  pua  Jat]lO  atp  uat].\\  pur,  pa)enpr,     J:JJJJUOJ 
]JJ:l!JPap Jaum JSJ!J  e             pua auo tWt]/1:\  stwunq )ndu] 
maJa.mp  o.\\l            .\]aA!)Jq[p Jaquwm  Ja)no  pawiluo1a 
              "]uama'i!ut!U1'  tm  tpns  U]                        Tiu! 
nwuodmo::>  do)  uounq pa1eiluop at]lJO  pua                
atp t]l].\\                 aq ueJ PJJJUO:J  ]P-JUPa]a          at]l a]ll].\\ 
"]uauodm<.n  do]  uonnq  P.'"'l1'1luo1a  at]l  .JO  pua  Jl'lS!P        at]l 
l]l!.\"\                aq UlD P1,]UO:l  (l':l!JJ:l.'"O(:l        .'"01(.!.  ")U.'"OtllldlUO:l 
0
,. 
do) uounq paJeiluopat]lJO nnodp]tu at]l pur, pua ]eJStp           
atp  uaa.\\Jaq Jo pua              atple p.."")Je:JO]  aq ueJ unua 
-]nJ  puo::>as  at]l  a]ll].\\  nwuodmo::>  do)  uonnq  pa)eiluop  at]l 
                                ptm              amm1' 'ilmpL\OJd  aJ!l]'>\ 
suounq o.\"\lJO J:l.'"O.J_Ja              at]J'ilmp!.\OJd .JO  .{1,'>\  auo     
suonnq             U.\\OU!f  os1e          t]snd  paJa,\annm,) 
      aJe        tpns 
.\uem  aJat].\\  aJ]\ap  ]]rJaMl  atp  JOJ  a::>tmJeadde  xajdtuo:J  Jo 
pa1annp1' aq tm:J]ndu! Tiu!ll1mJad.n:J stmam1'             qsnd 
'i!U!Sll  OJ  :O(:l1'lJ.\"\mp  aU() "J.'"OU1J!sap  1'  .\q paJ!Sap                 ll! 
pasn aq tm:JJO "P1'd k--.)j-() 1    p.moqk--.)jtqo J.md aq mD       
tpns               pue sqou1                      tpnoJ ilu]pnpu] 
.JO  ]umdpm1 at]l  ptm pua               at]l  uaa.\"\pq  m  pua Jl'lS!P 
)S.l!J .'"01(1 W  pa]lDOj aq UlD lUlU:ljll.JJS.l!J .'"01(.!.  "Jasn    OJ                  
   pur, a:J]Aap :l]UOJ):l."")p  JO  jlJ:l!JPap tm JO  a:JP-jJilS JOUa)Xa  U!J 
)twqe                          )Uauodmoa do1  uonnq pa1eiluop 
at[.!_  1ndm  Jasn  JS.l!J  at]l  Ulll.l.J           ]ndu!  Jasn            
samwaJ            t]ll.\\  Jasn  e  ,\q  sptmmmo::>  Jo  uonemJOJU] 
""  ilu]nndm  JO          aJmhaJ  tWlJO           tpns  snoJmh]qn 
1'  t]l!.\"\  paw!::>oss1'  ptm  pua          JS.l!J  at]l  a]1soddo  pua Jl'lS!P 
              ptm ]ndu!             1[11'>\  P.'"'l1'!:JOSS1' pua Jl'lS!P         "" 
aAet] tmJ do1 uounq p.."")wiluo1a atn pr,)uoa ]P-:JUPa]a puoaas e 
pue pemo::> ]JJ:l!Jl:lap       e mtUJ]l11 puoaas e mtUJ]IlJ lSJ!J  e 
"]uauodm<.n do]  uonnq P.'"'lt,Tiuop tm apnpm tm:J  uounq tjsnd 
p.--.Ja.\a(!ltm:J          "P.'"'P!\OJd     aanap :l!UOJJ:l.'"Op  Jo Jl':l!Jpap 
   uo  1ndm  tm                J<.:J            uonnq  tjsnd  p.<la.\a(  "l 
-]JUJJJ  e  uonua,\U]          atp JO                    U]   
pat]snd    uounq atpJo pua tpp:].\\ .\q pau]tu 
-Jalap ilmaq UHU:J]l1J  at]lt]ll.\\ "lOA]d  ueJ uonnq       paJa,\a] 
-!Jtm:J  aqJt]J!l]'>\  JlllllJ1'            a[d!l(l1Ul.JO  asn aqJt]'ilnoJt]l 
       Ul         W                       aq  UlD  S1l].L              fA'"OljSlld  fll 
        pawnpr, atp uat].\\      01        at]JJO sptw pawnpe 
-uou  at]l  aJ]nbaJ  lOU  op       let]!  Sl:JP-JUOJ  ]P-JUPa]a  a]dl) 
]ntU  'ilmwt]              p.--.Ja.\a(!llllD  p11l!J  as1-\\.Jat]JO  Jo :J1( 
Jl'PlU apL\OJd OJ  UO!JU.'"O\U!             al[l.JO                 tm S!  l] 
J..}J\"I"ll"lflS 
flmsea]d                 aJotu aq os1e .(em  )JJt]l  S]e!Ja)etu       
-sod .JO          J.'"l)1,a!TI     .H:J                .'"1(11(.\"\            a]q1'!PJ 
<: 
' 
.WlU am               JO S.'"O:l1 \ap           :l!UOJPa(.'"O JO (lDUPa(.'"O 
Jatj]O                 ptm                Jl,jlljp:l  "Kl:J.{l,jd  l'!fA'"Oj/IJ 
                
          J]UlUpap JO  ]P-JUJJa]a 
uo suonnq        paJa,\anme::> JO      at]l  01  .\pe(llJ])Jed  aJom 
ptm               01  .\j(l'Jaua'il         um]ua.\m         atLL 
<I  I'll:!  !V.J!NILHL 
         ]]!J JOJ  pue .()aJ!)Ua S)l  U]  aJtWJqpJ ,\q  UjaJat] 
paJeJod!o::>m     tpttj.\\  .:SVI!fHLY lfl:l  C!NV  S.LN.LNO,) 
!!"ldi.L"IflVII !)NL\\"11 NO.LIJH! !!Sfld CHN!L\!l"II.LN\'.), 
P.'"'Jl!lua      xooz:  "L  unr P.'"'l!J  "t<;C6S"OI!'J  oN  umJtD1[ddv 
                \lUd  "S" [} OJ  .{J!JO!Jd  Stump UO!]lD1(dd1'        
SNOI.LV.J!  !ddV 
C!:l.L\  "!!!}!  O.L !UN!!}I!U!!"N  ssmu 
srxmtnn:I <I\:,. s.L>Y.L\:O.> :n<n.nmx 
             .'\:OJ .. lJlH  IISJld (J:.UI:U:nl.l.'\:V:> 
l 
zs w;'s98'L sn 
us 7,863,533  82 
3 
included  or only  partially  included  in  any dcsin.:d  combina-
tion  for a  given cantilevered push button. 
In  li.1rthcr  embodiments of the present  invention.  an  ck>c-
trical  or electronic  device  can  include a  housing adapted  to 
contain  one or  more  intcmal  ck:clrical  device  components  'i 
therein. one or more user interbcc regions. and a e<mtilc\crcd 
push  button  locmcd at  one  of the  user  intcr!Ucc  regions and 
ad.1ptcd  for  accepting one  or more  inputs  on  said electrical 
tk'\icc.  with  the  cantik:n::red  push  bul!on  being  any  of the 
cantik:n::red push \muons described above.  In  the c\cnl of an  lCJ
ck:clronic device. a processor located within the housing may 
be included. and the user intcr!Ucc region or regions can be in 
communication  with  the  processor  .. \  plurality  of cnntilc-
\ered  push  \muons  may  also  he used  on  such a  device,  and 
may he placed at  one or multiple user inlerli1ce regions.  15 
Other nppnrmuses. methods. fcmures nnd ndvnntngcs of the 
invention will be or will b<.>come  nppnrent  to one with skill in 
the nrt upon cxmninmion oft he following Hgures nnd dctnilcd 
description.  !l  is  intended  that  all  such  additional  systems. 
methods.  JCalurcs  and  advantages  he  included  within  this  "" 
description.  be  within  the  scope  of the  invention.  nnd  be 
protected by  the nccompnnying dnims. 
IWII;I: I)I;SCRWI-ION 01'-rlll; I)RAWINGS 
4 
specilic  embodiments  of the  present  invention.  Although 
these embodiments nrc described in suflicicnt detail to ennblc 
one skilled in the nrt to prnctice the  invention. i1  is understood 
that  these examples arc not  limiting. such thm other embodi-
ments  may  be  used,  and  changes  may  be  made  without 
dep;u1ing Jimn  the spirit and scope of the imenlion. 
The invemion relntes in vnrious embodiments to the imple-
mentmion  nnd  use  of  cantilevered  push  buHons  ns  input 
mechanisms on dec!rical devices.  Such a device can  he,  l(Jr 
example. an elcc!ronic device. such as an il'od R media player 
or il'honc R cellular telephone made by Apple Inc ..  as well as 
n PD.-\.  handheld gnmc or video gnmc controller. radio. min-
imure  television.  keyboard.  or  nny  other  electricnlor elec-
lnmic de\ ice !hal  uses push hullons  l(Jr  user input. 
In  \arious embodiments of the present  invention. a  canti-
levered  push  button  hnving  multiple  contncts  nnd  multiple 
li.1lcrums  is  provid<.-d.  The  cantilevered  push  button  cnn  be 
ndapted  such  that  dilkrent  Ji.ilcrtlms  arc  used  to  pivot  the 
hullon depending upon which end or portion of the \muon  is 
prcssL'<i.  In  this manner,  the merall motion and rcacli\e dis-
placcmcmof the button cnn  be controlled. even where metal 
or other rigid materinls nrc  us<.-d  to construct the user portion 
of the hullon. The merall ellixL  look and  J(:el  can generally 
he more aesthetically pleasing lo the user. 
Re!Crring  lirsllo FIG.  I. an exemplary canlile\ercd \muon 
nlong the side of an outer housing  li.1r  nn  nssociatcd cellular 
telephone  is  shown  in  side  perspective  vkw.  Cellular  tele-
phone housing  I 0 can include \arious prolmsions. ports and 
!Calurcs. as will he readily appreciated. l'orcxample. a hole or 
"111c  included  drnwings  nrc  for  illustrntive  purposes  and 
serve  only  to  provide  exmnples  of possible  structures  and 
arrangements  !(Jr  the  disclosed  invcnli\c  apparatuses  and 
methods  l(Jr  prm iding cantilevered  hullons  ha\ ing multiple 
contncts  and  Ji.llcrums.  These drawings  in  no  way  limit  nny 
chnngcs in  J(mn and detail thnt  mny be made to the  invention 
by one skilled in the art without departing li-mn the spirit and 
scope of the imenlion. 
30  recess along the  side of housing  10 cnn  be made  li.1r  cantile-
vered  push  button  100.  Such  a  bu1ton  100  can  hnve  n  Hrst 
distnl  end  101  nnd  n  second  distnl  end  102.  us  well  as  a 
midpoint or center !OJ.  l:ach of distal ends  101.  102  can he 
l'Ki.  I  illuslrales  in  side  pcrspccli\e  \i<.'\\'  an  exemplary 
cmuilcvered button nlong the  side of anomer housing for  nn  35 
associm<.-d cellular telephone. 
adap!ed lo aclualc an associated  hullon or dec!rical conlacl 
within the device when they nrc dcprcss<.-d or otherwise used. 
.\hhough shown on the  side of a cellular telephone. there nrc 
l'Ki. 2A illustrates  in  side de\alion and partially cutaway 
\ i<.'\\'  an  exemplary  cantilevered  \muon  according  lo  one 
embodiment of the  present  invention. 
1-'JG.  2B  illustrntes  in  side elevmion nnd  p.1rtinlly cmawny  40 
view  a  close-up  of one  end  of the  exemplnry  cantilevered 
\muon ofl'Ki. 2A. 
many  suitable  locmions  Ji.1r  such  cantilevered  buttons.  nnd 
numerous other types of de\ ices can JCaturc such a  button or 
hullons, as will he readily appnxiatcd by  those skilled  in  the 
nrt. 
Moving next to FIG.  2.-\. nn exemplmy cantilevered button 
according  lo  one  embodiment  of the  present  imenlion  is 
illustrates  in  side  elevation  and  p;u1ially  cutaway  viLw.  As 
noted above. cantilevered push \muon  I 00 can he embedded 
l'Ki.  2C  illustrates  in  side cross-sL>clional  \i<.'\\'  the exem-
plnry cnmilcvered bunon of 1-'JG.  2.-\. 
1-'JG.  J.\ illustrates  in  side elevmion and p.1rtinlly cmawny 
view the exemplar)' cmuilcvered bun on of FIG.  2.\ with  the 
!eli end aclua!ed according lo one embodiment oft he present 
imenlion. 
1-'JG.  JB illustrates  in  side cross-sectionnl view the exem-
plmy  cantilevered  button  of FIG.  J.\ with  the  !eli end  actu-
ated. 
I)I;'IAII  1:1)  I)IOSC'RII,-r!ON 
Fxcmplmy  npplicntions  of  nppnratuses  nnd  methods 
according lo the present  invention arc descrihL'<i  in  this s<.>c-
tion. rhcsecxamples arc being provided solely lo add conlcxl 
and aid in  the understanding of the  invention.  It will  thus be 
apparent  to  one  skilled  in  the  an thm  the  prescm  invention 
mny be prncticed witholll some or all of these speciHc detnils. 
In  other  instances,  well  known  process  sleps  ha\e no!  been 
described in detail  in on.lcr lo avoid unnecessarily obscuring 
the  present  invention.  Other npplicntions  arc  possible.  such 
thm  the Ji.1llowing cxnmples should not  be  taken as  limiting. 
45  within  a  hole  or other  recess  in  housing  10 . .-\n  elongnted 
bun on top component  100 cnn  include opposing distnl ends 
I 01.  102. and a  midpoint or center !OJ.  Firs!  distal end  I 01 
can  he  associated  with  a  lirsl  inlcmal  hullon  or  elcc!rical 
contnct 121  inside the device. while second distnl end 102 can 
-;o  be nssociatcd with n second intemal bulton or electricnl con-
tnct  122  inside the device. The elongnted  button top  compo-
nent  100 is generally outside or ahoullhe dL'\ ice and exposed 
loa user,  while an in lema! elongated \muon base  I 04 c;m  he 
nnached  or  otherwise  coupk-d  to  the  elongmed  button  top 
'5  component.  One  or  more  protn1sions  111  in  the  elongnted 
hull on hasecmnponenl  I 04 can he adap!ed lo help acluale the 
dec!rical conlacls 121, as will he readily apprL>ciatcd. 
FIG.  21S  illustrates in  side de\alion and partially cutaway 
view n close-up of the right end of the excmplmy cantilevered 
60  bunon  of 1-'JG.  2.-\.  .\s  shown.  distal  end  102  is  disposed 
dirL>clly above internal hull on or ck>clrical con  lac!  122.  ln!er-
In  the Ji.1llowing detailed description. references arc made  65 
lo  the  accompanying  drawings.  which  J(mJJ  a  part  of the 
description  and  in  which arc shown.  by  way  of illustration. 
nal  hullon  or dec!rical  conlacl  can  he,  !(Jr  example.  a  pre-
loaded dome  type  button or other suitable electricnl contact 
device. ns  will be rendily apprecim<.-d  by those  skilled  in  the 
nrt.  When a user presses downward on or nbolll end 102. the 
hullon lop component  100 generally depresses downward al 
distal end  102 and  in  the dirL>clion  of ek>ctrical  conlacl  122. 
us 7,863,533  82 
5  6 
This  !(Jrccs  the  portion oflmllon base  104  dircc!ly  beneath 
end 102 downward us well. such thnt  protmsion 112 presses 
on  the  top  132  of button  or electrical  contact  122.  and  this 
s<..>cond  "button" or electrical contact is thereby actuated.  For 
this  process  of actuating  second  \muon  or contact  I 22  by  'i 
depressing second distal end  I 02.  the actual  !i.J!cnnn is a!  the 
other end of the cantilevered button and is not  shown in  FIG. 
2B.  In  the  event  that  the other end of the cantilcvcn.-d  button 
present  on canti!e\ered  button  IIHI.  it  is  possible  to  depress 
both ends 101.  102 to actuntc both internal buttons or electri-
cal contncts  121. 122 s.imultnn<.."'ously.  In such .instances. such 
s.imultnncous actuation results .in  the entire cantilevered push 
button being press<..-d  inward toward its respecti\eelectrica! or 
electnmic de\ ice. rhis kature prm ides an additional ad\<111-
tnge over trndit.ionnl  or customal)' cantilever buttons .  .in  that 
most such devices do  not  permit  both  buttons at  both ends to 
be actuated simultan<..ously. Accordingly. the respccti\e elec- is  depressed lo acli\alc the other dcctrical conlacl (both  no! 
shown  in  F!(i.  21S).  then  the cantik:n::r pivots  about  conlacl 
I 22 (i.e  ..  axis  141 ).  t-his  process is  made possible due lo the 
gap between button base  104 and  internal structure  l3J. 
!-'IG.  2C  illustrates  in  side cross-scctionnl view the cxcm-
pbry cantilevered button of !'!(i. 2A.  Again. pressing at  end 
t"  trical  or electronic de\ ice can he design<..-d  or programmed to 
accept and act upon simultaneous inputs Jium multiple inputs 
on a s.ing.!c  cnntilevercd button. 
I 01  actuates contact  I 2 I.  while pressing at end 102 actuates  l'i 
contnct  122.  However.  the  li.llcrum  is  dill"crent  for  each  of 
Continuing now  to FIGS.  3.-\  nnd 3B. the cxcmplnl)' cnn-
ti!e\ered button of!'!(i. 2A is shown with the !ell end actuat<..-d 
according to one embodiment of the present  invention.  FKi. 
3.-\ depicts a side elcvm.ion and partially cutaway view. while 
FIG.  3B  depicts  n  side  cross-sectionnl  view . .-\s  .i!!ustrat<..-d. 
d.istnl  end  101  hns  been pressed downwnrd  such that  protm-
sion 1 I 1 has activat<..-d  button or electrical contact 12 I directly 
these difl"crcnt actuations. In the event thm end 101  is  pressed. 
then the li.llcnnn  is  nlong. contact  122 (i.e .. nxis  141). while if 
end I 02  is pressed. then the !i.J!cmm is at contact 121  (i.e .. axis 
142).  Since  button  base  104  is  efli.:cti\ely  separated  Jium  "" 
intcrnnl stmcture D3. the efl"cctive mechnn.icnl contnct points 
betw<..-en  the  elongntcd  button  top nnd  bnse nnd  the  internnl 
stmcture are at  the internal buttons or electrical contacts  I 2 I 
below  distal end  I 01. rhe Ji.J!cmm  ll1r  the entire cantilevered 
button 100 Jix this nctuation .is  dk"'<::tively button or electrical 
contnct  122 at the opposite end. with rotnt.ion g.cnernlly being 
about a  point  atop the dome of contact  122  (i.e ..  along axis 
141 ).  Of course. the merall device can be  substantially sym-
metrical in nature. such that the same relationships and results 
can be had  llx depressing. distnl end  102 . 
and 122. Thus. when a mechanical downward J<.ll"ceisapp!ied 
at one end above one electrical contact. the ell"cctive  Ji.J!crum  "" 
ism the other electrical contact m the other end. The result is 
thnt  multiple Ji.llcnnns  are used  with the overall cantilevered 
button.  such  that  the  opposite  end  does  not  percepti\ely 
extend away Jimn  the device when one end is pushed inward 
to  nctivmc  its  button. 
While  not  neccssm)'  in  order  for  the  cnntilevercd  push 
button  to  dkctively  hnve  multiple  fulcrums.  the  spring 
loaded  internal  button  at  each  end  aids  in  prm iding  more 
rigidity and suppm1to the merall device.  That  is.  when end 
101 (nnd thus button orcontnct 121) is pushed downwnrd. the 
spring.  loaded  Jixce on  contnct  or  button  122  g.cnerally  dis-
poses end 102 to rcmnin up and steady while button 122 is the 
Ji.ilcrum  ll1r  the entire elongated  button  top  component  100. 
Although  it  is  thought  that  the top  of the dome of a  spring 
lond<..-d  dome  type  button  makes  nn  excellent  locution  for  a 
fulcrum.  other locnt.ions  nrc  also  possible. ns  w.i!!  be  readily 
appreciated.  In  bet. any  location  at  a  distal  end or between 
one distal end ofthecantil<..'\ered push button and its center or 
midpoint could be suitable ll1r a Ji.ilcnnn when the other distal 
end is  being pressed or actuntcd. 
.-\s w.i!!  be rcnd.ily npprceintcd. the farther n li.llcnnn .is awny 
from the midpoint or center of the button. the better the elli.:ct 
will he as Jiu as minima! movement of the opposite end when 
a  part.iculnr end  is  pressed.  Thus.  an  opt.imnl  location  for  a 
fulcrum can actunlly be at the opposite end of the button from 
the end  thnt  is  being pressed or nctuntcd.  Conversely.  n  ful-
cmm location that  is at  or dose to  the midpoint of the button 
can he less desirable. although not impossible to implement in 
a  particular design . .-\s  shown  .in  the cxcmplmy  .i!!ustrnt.ions 
provided.  the  Ji.1!crums  used  are  near  the  distal  ends  of the 
cantilevered  push  button.  with  the  results  of such  locations 
being  bvorah!e. 
Also.  it  should  he  noted  that  the exemplary  design  illus-
trntcd nnd  descr.ib<..-d  herein  utilized  "soft"  li.llcnnns .  .in  thm 
the  li.llcrums  do provide res.istnnce  and are cfl"cct.ive  .in  ordi-
nary  use.  hut  can  be dd"eated  if desired  in  a  particular way. 
That  is.  each  dome  loaded  electrical  contact  prmides  sulli-
eient  res.istnnce  to  function  us  n  Ji.llcnnn  when  the opposite 
end .is  press<..-d  or actuated. but  w.i!!  not provide enoug.h  resis-
tance  to  be  n  rigid  "hard"  Ji.llcnnn  if force  is  nlso  placed 
generally  abme  it  at  the  same  time.  !kcause  a  "hard"  or 
permanent  centra!  or  midpoint  li.1!cmm  is  not  physically 
.-\g.ain.  because the Ji.llcnnn  is  moved away from  the  mid-
point  or  center  of the  cantilevered  button.  any  resulting 
motion rise of the opposite end is eliminated or substantially 
30  reduced when either end  is  pressed.  "111is  .is  true even where 
the upper portion of the cantilevered button .is a rig..id  materinl. 
such as a  metnl.  hard  plastic or other  .inllcxib!c  materinl. .-\s 
will  he appr<.."'<::iated.  such an ability  provides designers with 
added  Jlexihi!ity  in  their  choices  ll1r  materials  and  appear-
35  nnces  in  the  dcsig.n  and  prcsentmion  of cantilevered  push 
buttons that  are fully  li.mctional  and nesthctically pleasing.  in 
nppearnnce nnd  use. 
It  should  be  not<..-d  that  although  the  Ji.J!cmms  in  the 
examples prm id<..-d  above are generally  !ocal<..'d an equal dis-
40  tnnce  from  the midpoint of the  button.  tills  is  not  nbsolutely 
nccessnry.  !-'or example. n pnrticulnr design might  favor one 
li.1!cmm  being  located  at  a  distal  end.  and  another  li.1!cmm 
being  located  halfway  between  the other distal  end  and  the 
45 
midpoint of the button. or even closer to the midpoint. 
Furthermore.  nlthough  the  foreg.oing  cxnmp!cs  nll  usc  n 
relatively simple cnntilever<..-d button with only two inputs on 
opposing  ends.  more  complex  buttons  with  additional  Ji.il-
cmms may also be used. as may be desired ll1r a gi\en design. 
For  example.  a  four-way  cnntilever<..-d  button  hnving.  Ji.1ur 
-;o  inputs and  Ji.1ur  Ji.1!crums  mny  be used.  In  such a desig.n.  the 
button  top component  may  be  shaped  !ike  a  cross nnd  may 
ha\e a  Ji.ilcnnn  that  cmTesponds to each of the Jlmr difl"crent 
inputs at each distal end oft he cross. Altematively. the button 
top  could be shaped like a circle. with inputs similarly m the 
'5  "north." "west." "south" nnd "cnst" coordinates of the circle. 
The use of a  simple single user input  on  such a button  (e.g  .. 
"north") could result in a piHJting about an opposing li.1!cmm 
(e.g .. "south"). similar to the two input elongated canti!ever<..-d 
push  button  in  the  Ji.1reg.oing.  examples.  In  such  an  cmbodi-
60  mcnt. the simultaneous nctuntion of two ndjnccnt inputs (e.g  .. 
north  and  east).  could  result  in  the  simultaneous  piHlling 
about the two opposing li.1!cmms  ll1r  those inputs (e.g .. south 
nnd west). Similar to the li.xcgoing two  input  button embodi-
ments. a cnntilever<..-d push button having Ji.1ur or more inputs 
65  could  also  have  "soli" Ji.1!crums.  such  that  the  entire  button 
and  all  inputs could  he actuated at  once.  As  will  he  readily 
appreciated.  li.1rther  designs  and  additional  inputs  ll1r  e\en 
us 7,863,533  82 
7 
more complex cantilen::rcd \muons ha\ ing multiple !i.J!cnnns 
could also be used within the spirit of the present  invention. 
Although  the  foregoing  invention  hns  been  described  in 
detail  by  way  of illustration  and  example  Jix  purposes  of 
clarity and umk:rslamling. it  will be rccogniA::d that the abo\c  'i 
described  invention  may  he  embodied  in  numerous  other 
spcciHc variations and embodiments witholll dcpmting from 
the  spirit  or  essential  charnctcristics  of the  invention.  For 
example. although many i!luslralions ha\c pointed to the usc 
of metal  as  the  material  !(Jr  the c;mtile\cn.::d  push  bul!on.  a  lCJ
rigid and in!lcxible plastic or other material may ahcmativcly 
be  used.  Multiple  materials  may  also  be  us<..'d  to  fonn  the 
button.  Other  changes  and  modiHcations  mny  be  prncticcd. 
and it  is  understood that  the invention  is  not  to  be limited by 
the            details.  hut  rather is  to  he ddined by the scope  15 
of the  appended c!nims. 
What  is  claimed  is: 
1  . ..\ cnnti!even.-d push button adnpt<..-d  !\1r accepting one or 
more inputs on nn electrical or ek>ctronic device. comprising: 
a !muon top component having a  !irs! distal end associated  "" 
with a  Jirst  user input and a  second distal end opposite 
said  !irs!  distal  end  and  associatL'<i  with  a  second  user 
input  sepnrate  from  said  Hrst  user  input.  wherein  snid 
button top component is disposed about nn exterior sur-
bceofan ck>ctrica! or electronic de\ ice and is accessible  "
5 
to a user. and wherein both of said !irs! and SL>ctmd distal 
ends  cnn  be  nctumed  simultaneously  by  a  user  during 
ordinal)' use  of said electricnl or electronic device: 
a !irst li.llcnnn !ocatL'<i at snid !irst distal end or between snid 
Jirst  distal end and the midpoint of said butlon top com-
30 
ponent: 
a  second  li.i!crtlm  located  at  snid  SL>cond  distn!  end  or 
between snid second distn! end nnd said midpoint ofsnid 
button top  component: 
35 
a !irs! dectrica! contact associated with said !irs! distal end 
of said  button  top  component.  wherein  said  butlon  top 
component  pivots  about  said  SL>cond  Ji.i!crtlm  and  snid 
Hrst electrical contnct is actuated when a user presses on 
said  Hrst  distal end: and 
" 
a  second  ek>ctrica!  contact  associated  with  said  second 
distal  end  of said  butlon  top  component.  wherein  said 
button top component pivots nbollt snid Hrst Ji.llcnnn and 
said  SL>cond  electricn!  contact  is  nctunted  when  a  user 
presses on said second distal end. 
2.  n1e cantilevered  push  button  of claim  I.  wherein  said 
!irs!  Ji.J!cnnn  is  !ocatL-d at said SL>cond  dectrica! contact. 
J.  The  cnnti!evcred  push  button  of claim  2.  wherein  snid 
SL>cond  Ji.llcnnn  is  locmed m said Hrst  electricnl contnct. 
45 
4.  The  cnnti!evcred  push  button  of claim  l. wherein  snid  ,
0 
butlon  top  component  is  comprised  of a  substantially  rigid 
materia!. 
5.  The  cnnti!evcred  push  button  of claim  4.  wherein  snid 
button top component  is  meta!. 
6.  The  cnnti!evcred  push  button  of claim  l. wherein  snid  -;5 
!irs! li1!cmm  is  located at  said !irs! distal end and said second 
Ji.ilcrum  is  located at  said second distal end. 
7.  The  cnnti!evcred  push  button  of claim  l. wherein  snid 
!irst  and  second  electrical  contncts  comprise  dome  button 
type electrical contncts.  60 
8.  n1e cantilevered  push  button  of claim  7.  wherein  said 
dome  butlon  type  dectrica!  contacts  are  prdoaded  with  a 
positive upwnrd  force. 
9.  The  cnnti!evcred  push  button  of claim  l. wherein  snid 
simultaneous nctuation results in  the entire cnnti!even.-d push  65 
butlon  being  pressed  inward  toward  said  dectrica!  or  ek>c-
tronic device. 
8 
I 0.  The cantilevered  push button of claim  1.  wherein said 
button  top  component  is  adnpt<..-d  to  be  disposed  through  an 
opening  of nnd  not  contact  n  housing  of snid  electricnl  or 
electronic device. 
I 1. An ek>ctrica!  dL"\ ice. comprising: 
a housing adapted to contain one or more intema! dectrica! 
device components therein: 
one or more user interJUce  regions: nnd 
a  cantilevered  push  button  located  at  one  of said  one or 
more  user  interli1ce  regions  and  adapted  l\1r  accepting 
one  or more  inputs  on  said  dectrica!  device.  wherein 
said cantilevered push button  includes 
an  elongat<..-d  button top component  having a  !irst distal 
end  associated  with  a  Jirst  user  input  and  a  SL>cond 
distal end opposite said Jirst distal end and associated 
with n second user inplll separnte  from  said Hrst  user 
input. wherein said elongated button top component is 
disposL'<i  about nn  exterior surJUce of an electricn! or 
dectnmic  device  and  is  accessible  to  a  user.  and 
wherein both of said  !irs!  and second distal ends can 
be nctumed simultnnL'ously  by n user during ordinmy 
use  of said electricnl device. 
a Jirst  Ji.J!cnnn  located at said  !irs! distal end or between 
said !irs! distal end and the midpoint of said elongated 
button top component. 
a  second  li.i!crtlm  located  at  said  second  distnl  end  or 
between snid second distnl  end and snid  midpoint  of 
said dongatL-d  button top component: 
a  Jirst  ek>ctrica!  contact  associated with  said  Jirst  distal 
end of snid elongat<..-d  button top component. wherein 
said  dongnted  button  top  component  pivots  about 
said second li.i!crtlm nnd snid !irst electrical contnct is 
actuatL-d  when a user presses on  said  !irs! distal  end. 
and 
a  second electricn! contnct nssocinted  with  said  second 
distn!  end  of snid  elongmed  button  top  component. 
wherein said elongmed button  top  component  pivots 
about  said  !irs!  Ji.ilcrum  and  said  second  dectrica! 
contact is actuatL-d when a user presses on said SL>cond 
distn!  end. 
12. The electricn! device of claim 11. wherein said electri-
cal dL"\ ice comprises an ek>ctronic device. 
I 3.  The electrical  device  of claim  11.  wherein  said  Jirst 
!i.1!cmm  is  located at  said second ek>ctrica!  contact. 
14. The ek>ctrica! device of c!nim  IJ. wherein snid second 
Ji.1!crum  is  locnted at  said  !irst electrical contnct. 
15.  '!-he  ek>ctrica!  device of claim  I 1.  wherein  said  don-
gated  button  top  component  is  comprised  of a  substantially 
rigid materin!. 
16. The electrical device ofc!nim 11. wherein said !irst nnd 
second ek>ctrical contacts comprise dome button type electri-
cal contacts. 
17. The ek>ctrica!  device of claim  I I. wherein said simu!-
tnnL'OUS  nctumion results in  the entire cnntilevcred push but-
ton  being pressed  inward toward said electricnl device. 
18.  The ek>ctrica!  device of claim  I 1.  wherein  said  don-
gated button top component is disposed through an opening in 
said housing and docs not  contact said housing. 
19. An ek>ctronic  device. comprising: 
a housing ad.1pted to contnin one or more internnl electrical 
de\ ice components therein: 
a processor located within said housing: 
one or more user interface regions having one or more user 
interface components in  conununicntion with snid  pro-
cessor: nnd 
one or  more cantilevered  push  buttons  located  at  at  !cast 
one  of said  one  or  more  user  interli1ce  regions  and 
us 7,863,533  82 
9 
adapted !(Jr accepting a  plurality or        on said dec-
Ironic device. wherein each of said one or more cantilc-
      push buttons  includes 
an elongated  button top  component  having a  Hrst  distal 
end  associntcd  with  a  !irst  user  input  and  a  S<..>cond  -' 
distal end opposite said !irs! distal end <md  associated 
with a  second user input  separate ![om said  !irs! user 
input. wherein said dongntcd button top component is 
disposed through an opening in said hm1sing. docs not 
conlacl said housing. and  is  acccssihk: to  a  user. 
a  Jirsl  fu!cmm  and  a  second  lli!cmm  about  which  said 
elongated bul!on lop pivots when aclmJtcd  by a  user. 
a  !irs! dcctrical  conlacl associated with said  Jirsl  distal 
end of said elongated button top component. wherein 
10 
said  elongated  \muon  top  component  piHJls  about 
said second li.ilcrtlm nnd snid !irst elcctricnl contnct is 
nctunt<..-d  when n user presses on  snid  !irst distnl  end. 
nnd 
a  second electrical contact associat<..-d  with  said  second 
distal  end  of said  elongated  bu!lon  top  component. 
wherein said elong.mcd  button  top  component  pivots 
nbom  snid  !irst  fulcrum  and  snid  second  electrical 
contact is actuated when a user presses on said second 
distal end. 
20. "!.he clectnmic d<..'\  ice of claim 19. wherein both of said 
!irst nnd second diswl ends cnn be actuated simultaneously by 
n  user during ordinnry usc of said electronic device. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Exhibit 8 
(12)  United States Design  Patent 
Chaudhri 
(54)  GH..\PIIIC\L USEil.                FOH..\ 
I>ISPL\Y SCREE\" OR PORTIO\" TIIEH.EOF 
(75)  !mentor  Imnm ChaudhrL San  Francisco. CA 
(US) 
(73)  Assignee:  .\pplc Inc ..  Cupcnino. C.\ (US) 
(**)  Term:  14 Years 
(21)  App!.  No.:  29/281,656 
(22)  Filed:  Aug. 20, 2007 
H.clatcd  U.S. Application  I>ata 
(63)  Continuation of npplication  No.  291281.695.  Hied  on 
Jun. 28. 2(Xl7. which is n continumion-in-part ofnppli-
cation No.  291281.507. !ik:d on Jun. 25. 2007. now  Pal. 
No.  Des.          which  is  a  continuation-in-pari  of 
applicmion  No.  291281.460.  tiled  on  Jun.  23.  2(Xl7. 
now  I'm.  No.  Des.  604.305. 
(51) 
(52) 
(58) 
(56) 
LOC (9) Cl. 
U.S.Cl. 
14-04 
1>14/486 
Field of(:JaJ>J>ification Search  1)14/485  95: 
DIR/24  33:  Dl9/6.52.9.10:  D20111:  D21/324  33: 
7151700  867. 973  77 
Sec application Jilc  l(Jr complete search history. 
           Cited 
U.S.  P.\TJ:NT J)OCUMJ:N"rS 
4.736.199 
' 
4  191>1>  Chadwick    ,]  715  71>1 
D29.".1>77  s  5  191>1>                 d  a! 
.'i.2!4.7.'i6  A  5  l<J<J3  Franklin ct   
.'i.34.'i5.'i2  A  <) l<J<J4  Bmwn  ........................  7!571>4 
.".5."." ..  164 
' 
<) 1<)<)(,           
.".ti42.490 
' 
6  1<)97  \1organ    a!  715  762 
.'i.7!2.<J<J.'i  A  I  J<J<jg  Cohn  .........................  7!57'!2 
D.190.541>  s  2  1<)91>  \hckmv"    a! 
!).192.266  s  .11<)91>  Snydcrcl ,] 
.'i.<J<J.'i.tm  A  II  l<J<J<J  Ashe 
        s  l  2000          ct   
D420.<J9.1  s  2  2000  Decker 
Jl' 
(I OJ  Patent No.: 
(45)  Date of Patent: 
D4.11>.21.1  s  2 2001 
])441.76.1  s  "2001 
6.22<J . .".12  B1   
"2001 
])445.421>  s  7 2001 
])462.076  s  g 2002 
us 0627,790 s 
**  Nov.  23,2010 
           
Kahn     
Fujii  ..........................  7!."  7.1.1 
Pallcndcn 
Robbin     
(Continu<..'d) 
I:ORIO!CiN  I'Al"ION"I"I)OC"UMI;N"l"S 
Dl235!27  4  2005 
Or!!!]{ PUB!JC..\T!ONS 
..PD.\s  \\ilh  a  buill-in           !..\'\.using      '\ursing  Suppm1 
          (a,io .Vc"H'.\'  Re!ea.\e.  hllp  """ ""sio co jp release  2003 
nns htmL           21>.  2003 
(Continu<..'d) 
l'rimwT Hxaminer  Melanic I I Tung 
(74) Attomel'. Agent.  or 1-i'rm  S!crnc. Kessler. Goldstein & 
Fox  P!.!.C 
(57)  CI.AI\'1 
The  ornmnenwl  desig.n  for  a  graphical  user  interface  for  a 
display screen or portion !hereo[ as shown and described. 
])ES<:RIPTI():\ 
rhc I'!CiURI:  is a  front  \iL"\\"  of a graphical user inlcrbcc l(Jr 
a  display screen or portion thereof showing my nL-v.  design. 
The broken lines of the display screen or portion thereof and 
other dements  J(mn  no  p;u1  of the claimed design. 
1 ("]aim, 1 ])rawing Sheet 
US  D627,790 S 
Page 2 
U.S.  PA:t-I;N"r J)OCUMI;NI-S 
             Bl    <) 2002  Go ken  715  716 
           Bl    12  2002  Bmwndal  715762 
!)472.244  s  .1200.1  Wasko 
          Bl    3  2003  Kido  715767 
6.nt.3t6  B2  5 2004  I krigstad ct al 
           Bl''  <) 2004  Del Vecchio d  al  _1(il  <)7 
6.1>07.5."7  Bl''  !0 2004  '\m-,cs cl  al  70<)  201 
!)507577  s  7  2005  Toucn d  al 
6.<JlG.424  Bl  1 200(>  Dull a 
7JJ20.1W<  B2  '' 
.1200(>  Roscn/wcig cl  al  7151>."5 
7.051>.902  B2    (i  200(i  lwcma ct al  715100 
7.075512  Bl    7  200(i  Fabrcct al  345  J.'i(i 
7.107.54<)  B2  <) 200(>  Dcalond al 
7.11>-'Ug<J  Bl''  2  2007  'li!im"  7151>!0 
!)540.340  s  4  2007  Cummins 
1)544.1>75  s  6  2007  Wang cl  ,] 
D541U3<J  s  :;  2007  Rimas-Ribik<!uskas cl  al 
D.'i.'i2.(i20  s  to  2007  Sato ct al 
D.'i.'i.'i.(i60  s  II  2007  '\ovidlo d  al 
D5S<J.261  s  1 2001>  Jung cl  ,] 
!)564530  s  3  2oog  Kimctal 
D56.'i5l>(i  s  4  2oog  Shin ct al 
D56.".51>1>  s  4  2001>        
D561>.<)00  s  5 2001>       al 
D569.31>3  s  5 200i-:  Jung et al 
D570.35i-:  s  (i  200i-:  Anastasopoulos et al 
D574.00<)  s  7  2001>          
D574 ..  11>1> s  :;  2001>                 ,] 
D576.171  s  9  200i-:  Annendarit et al 
D579.4.'i(i  s  lO  200i-:  Chen ct  al 
D579.<J4ti  s  11  2001>  I    d  al 
D5l>O.<J4<)  s  11  2001>        
D51>1.424  s  11  200i-:  !long 
D5K'i.075  s  I  2009  Flynt  ct  al 
7 .41>7 .467  B1''  2  200<)  Kmv,hamd al  7151>10 
D51>7.720  s  .1200<)  '\miello d  al 
7552.401  B2    (i  2009  Guido eta!  715i-:31> 
7574.(i(i6  B2    g  2009  Vliyrunoto  715769 
7 .51>7 .til>O  B2  '' 
<) 200<)  Wad.a  7151>04 
7.(>00.192  B1''  10  200<)  ]],shimolodal  7151>02 
7.M3.036  B1    I  2010  Rees  345  594 
7.(i53.i-:1>2  B2    I  2010  llorentrup et al  715  i-:21 
OT!IER  PUBLIC.\TIONS 
l- S  .\ppl  '\o  29 21>1.460.  Annues  et  al.  Icons.  Graphkal  Lser 
           and                                      ](,-a  Disph!y 
       or Portion         fikd Jun  n. 2007 
l- S  .\ppl  '\o  29 2l>L'i07.  Annues  et  al.  Icons.  Graphkal  Lser 
Interface.  and             Graphical  Lser  Interfaces  for  a  Display 
       or Portion         fikd Jun  2.".  2007 
l- S  .\ppl  '\o  29 21>1.695.  Annues  et  al.  Icons.  Graphical  Lser 
Interface.  and             Graphical  Lser  Interfaces  for  a  Display 
       or Portion         fikd Jun  21>.  2007 
1: S  -\ppl  '\o  29 21>1. 747.           al  "!  .  Icons.                
Interface.  and             Graphical  Lser  Interfaces  for  a  Display 
        or !'onion Thereof.  fik-.1  .\ug  10.  2007 
1: S  -\ppl  '\o  29 21>2.1>35.              "!.  Icons.                
           and                                      ](,-a  Disph!y 
        or !'onion Thereof.  fik-.1  Jul  30.  2007 
1: S  -\ppl  '\o  29 21>2.1>37.           al  "!.  Icons.                
           and                                      ](,-a  Disph!y 
        or !'onion Thereof.  fik-.1  Jul  30.  2007 
\.  S  .\ppl  '\o  29  2i-:2.1>3K  .\ntures ct  al.  Icons.  Graphicall-scr 
          ;md  -\nim,led  Gmphica!  l."ser              for"  Display 
Screen or 1'o11ion           filed  Jul  30.2007 
\.  S  .\ppl  '\o  29  2i-:2.1>39 .. \ntures  at  al.  Icons.  Graphicall-scr 
          ;md  -\nim,led  Gmphica!  l."ser              for"  Display 
       or  P011ion          filed  Jul  .10.  2007 
\.  S  .\ppl  '\o  29  2i-:2.1>40 .. \ntures  ct  al.  Icons.  Graphicall-scr 
lntel'!ilce.  and  .\nimated  Graphical  l'scr  lntel'!ilces  !Or  a  Display 
       or  P011ion          filed  Jul  .10.  2007 
\.  S  .\ppl  '\o  29  2i-:2.1>4!.  .\ntures ct  al.  Icons.  Graphicall-scr 
lntel'!ilce.  and  .\nimated  Graphical  l'scr  lntel'!ilces  !Or  a  Display 
       or  P011ion          filed  Jul  .10.  2007 
1;  S  -\ppl  '\o  29  21>2.1>42.  -\nn1res  "' ,]. Icons.  Gmphica!  l."ser 
lntel'!ilce.  and  .\nimated  Graphical  l'scr  lntel'!ilces  !Or  a  Display 
       or  P011ion          filed  Jul  .10.  2007 
1;  S  -\ppl  '\o  29  21>2.1>43.  -\nn1res  d  ,]. Icons.  Gmphica!  l."ser 
lntel'!ilce.  and  .\nimated  Graphical  l'scr  lntel'!ilces  !Or  a  Display 
Screen or 1'o11ion           filed  Jul  30.2007 
1;  S  .\ppl  '\o  2<)  21>4.264.1 emay ala!.                Interlaces 
](,-a Disph!y        or  P011ion          filed  Sep  4.  2007 
\.  S  .\ppl  '\o  29  302.019.  Chaudhri  ct  al  .              Image !Or  A 
Portion of Disph!y         Jikd .hm  1>. 2001> 
1;  S  .\ppl  '\o  29 .102.06.1.  -\n/ures d  a!. Gmphica!       Interlaces 
for  a  Display Screen or  l'o11ion           filed  Jan  9.  2001> 
\.  S  Appl  '\o  29 302.217 .. \n;-uresct al.Graphical Lser Interfaces 
](,-a Disph!y        or  P011ion          filed  Jan  11.  2001> 
\.  S  .\ppl  '\o  29  302.429.  Chaudhri  at  al  .              Image !Or  A 
!'onion of Display Screen.  fik-.1  Jan  16. 200i-: 
1;  S  .\ppl  '\o  29 .104 . ."1>4.  -\n/ures d  a!. Gmphica!       Interlaces 
](,-a Disph!y        or  P011ion          filed  \1ar  4. 2001> 
\.  S  Appl  '\o  29 317.755 .. \n;-uresct al.Graphical Lser Interfaces 
for  a  Display Screen or  l'o11ion           filed  Vlay (i.  2001> 
1;  S  .\ppl  '\o  2<)                     d  "!. Gmphic;!ll."ser Interlaces 
for  a  Display Screen or  l'o11ion           filed  Vlay (i.  2001> 
\.  S  .\ppl  '\o  29  3 !i-:.44(i Chaudhri et al  . Graphicall-scr Interfaces 
](,-a Disph!y        or  P011ion          filed  \1ay 20.  2001> 
1;  S  .\ppl  '\o  29 .11 <).31><).  -\n/ures d  a1.               Interlaces 
for  a  Display Screen or  l'o11ion           filed  Jun  i-:.  2001> 
1;  S  .\ppl  '\o  29 .11 <).397.  -\n/ures d  a1.               Interlaces 
](,-a Disph!y        or  P011ion          filed  Jun  <J.  2001> 
\.  S  Appl  '\o  29 319.434 .. \n;-uresct al.Graphical Lser Interfaces 
for  a  Display Screen or  l'o11ion           filed  Jun  9.  2001> 
1;  S  .\pp1  '\o  2<)  .12 1..174. Chaudhri      . Gmphicall:serlnlerJaces 
](,-a Disph!y        or  P011ion          filed  Jul  1.".  2001> 
\.  S  .\ppl  '\o  29  324.194.  Evans et  al  . Graphical  l'scr  Interfaces 
](,-a Disph!y        or  P011ion          filed  Sep  1>. 2001> 
1;  S  .\pp1  '\o  2<)  .124.1<).". Chaudhri      . Gmphicall:ser Interlaces 
for  a  Display Screen or  l'o11ion           filed  Sep  1>. 200i-: 
\.  S  Appl  '\o  29  324.196. ('haudhri eta! . Graphicall:ser Interfaces 
;md Icons fora Display        or P011ion          filed  Sep  1>. 2001> 
\.  S  Appl  '\o  29 324.935 .. \n;-uresct al.Graphical Lser Interfaces 
and  Icons  for  a  Display Screen  or  !'onion  I hereof.          Scp  23. 
2001> 
1;  S  -\pp1  '\o  29 32(>.3%. Christie d  ,] . Icon](,-" Display       
or !'onion Thereof.  fik-.1  Oct  16.  200i-: 
\.  S  Appl  '\o  29 333.233 Graphicall-scr lmel'!ilces and  Icons for a 
Disph!y        or  P011ion          filed  \1ar  4.  200<) 
\.  S  Appl  '\o  29 333 ..  'i59 .. \nimaK-.1  Image.  Graphicall-scr Inter 
faces and Icons !Or a Display Screen or !'onion  I          fik-.1  Vlar  II. 
2009 
1;  S  .\ppl  '\o  29 B.1.l>ti7.            lim1ge.  Graphicall."ser  Inter-
faces and Icon for a Display Scrwn or !'onion  I hereof. fik-.1  Vlar  l(i. 
2009 
1;  S  .\ppl  '\o  2<)  3.1.".21>2.                   and  Icon for"  Display 
Screen or  l'o11ion           filed  Apr  13.  2009 
* cited by examiner 
U.S.  Patent  Nov.  23,2010  US  D627,790 S 
                             
'  ' 
/  --------------------------.  ' 
,  ,...-:.------------------------- '  ' 
I  1/  " '\ \ 
I  'I  \  \ 
I  I,  \\  I 
I
'  I' I, .. -----,  'I 'I
'-------' 
'  'I 
I  I,  i i 
i!  I  I 
' '        -  c  '"""' =      II 
I I                       t ....                 I  1 
''  tl 
liODDDii 
I
' I  I' 
'  II 
,  I  ' 
!  i I 
I]DDDDii  i I  I' 
i  .  I\  ' 
I,  i I  I 
i!  l i i 
         I,  i I 
I
I  I  I  I 
'  II 
'I  , 
I,  i I 
I
I!  I  I 
  I I 
, I  ' 
I,  i I 
I
I!  I  1 
  11 
'I  ' 
I,  i I 
liDDDOii 
''  II 
I
I  , ' 
  11 
'I  ' 
I,  /--..._  /1 
i !  t'  -r-r  \  i i 1 
\ t I,  \      /  J}  j 
''\  '  /  t'J 
\  \    -..... __ ..  /I; 
'  '  ........  ..  ..  / 
'' --------------------------/ 
..............  _-=--_  -::_-_ -:._-_-=.  -_  -=----=----=--_  -=----=:_-=--_  -=:_-=--_      / .. 
FIGURE 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Exhibit 9 
(12)  United States Design  Patent 
Andre et al. 
(54)  ELECTH.O\"IC I>EVICE 
(75)  Inventors:  Hartley K..\ndrc. Menlo l'nrk. C.\ 
(US):  Daniel J. Coster. San Francisco. 
CA (US):  J):mide  J)c  Iuliis,  San 
Francisco, CA (US):  Richard  P. 
Howarth. San !-'rnncisco. C.\ (US): 
Jonathan P.  Iw. S.1n  !-'rnncisco. C.\ 
(US):  Stcvt>  .Jobs.  Palo Alto. CA (US): 
J)uncan  Robcrt  Kerr. San  Francisco. 
C.\ (US): Shin \"ishibori.  Portola Valley. 
C.\ (US):  \1atthcw Dean  Rohrbach. 
San !-'rnncisco. C.\ (US):  Peter 
Russdi-Ciarkc. San Francisco. CA 
(US):  Douglas H.  Satzgcr. Menlo Park. 
C.\ (US): Christopher J. Stringer. 
Woodside. C.\ (US):  Eugene .\ntony 
\Vh:mg. San Francisco. CA (US):  Rico 
Zorkcndorfcr. San Francisco. CA (US) 
(73)  Assignee:  .\pplc Inc ..  Cupenino. C.\ (US) 
(**) 
(21) 
(22) 
(63) 
Term:  14       
.-\pp!.  No.:  29/J19,J77 
Filed:  .Jun. 6, 2008 
J.tclatcd  U.S. Application  I>ata 
Continuation-in-part  of applicmion  No.  291306.334. 
tiled  on  .\pr.  7.  2008.  and  a continumion-in-pan  of 
application  No.  2()/306.950.  tiled  on  Apr.  IX.  2(XJX. 
which is a continuation ofapplication No.  2()/306.334. 
Jik:d  on Apr  7.  200X. 
(51)  LOC(9)CI. 
(52)  u.s. Cl. 
14-02 
DI4/J41 
(I OJ  Patent No.:  us 0602,016 s 
**  Oct.  13, 2009  (45)  Date of Patent: 
(58)  Field  of("Jassification Search  ])141341  347. 
(56) 
])14/420. 426.427.432.439  441.448.496. 
])14/125.  129  130.  137.  138.  147.  156.218. 
Dl4/247  24X.  250. 3X9:  DI0/65.  104:  DlX/6  7: 
I )2! 1329. 6X6:  D6/596. 601. 605:  455190.3. 
45516.1.  556.2.  575.1.  575.3.  575.4:  3791433.01. 
379/433.04.433.06.433.07:  361/814:  341/22: 
345/169:  3461173 
Sec application  lik:  I(Jr  compk:lc search history. 
J.tcfcrcnccs Cited 
U.S.  1'.-\TI:N"r  DOCUMJ:NTS 
7  19'!3       
2 2000  \1omles 
.'i  2000        
DD7 . .'i(i<J  S 
])420.354  s 
D424 . .'i3.'i  S 
(i.2<J7.7<J.'i  Bl  $ 
])4<)1>.754  s 
])."04.1>1><)  s 
D.'iO.'i.<J.'iO  S 
])."14 . ."<)0  s 
D."l<J.l  Hi  S 
D.'i20.020  S 
D.'i27.37<J  S  $ 
])."21> ..  '42  s 
])."21> . ."61  s 
D.'i2<J.04.'i  S 
D.".12.7<)1  S 
])."34.!4.1  s 
D.'i3.'i.2i:t  S 
D.'i3(i.6<J I  S 
D.".16.%2  S 
D.'i4l.2<Jl>  S 
D.'i4l.2<J<J  S  $ 
])."46.31.1  s 
])."41>.7.12  s 
D.'i41>.747  S 
10 2001  Kmo  d     ..................  34.'i  61>4 
1!  2004  Blyth 
."  2005         d    
6  2005  Summit d    
2 2006         
4  2006         d    
.'i  200(i        d    
1>200(i       
9  2006  l.uminosu d  ,] 
9  2006         e1  ,] 
9 200(i  Shin 
1!2006  Kim 
12  2006        
I 2007  Yang 
2 2007  Pm-k 
2 2007        
4  2007  .\mired   
4  2007  .\mired   
7 2007        
:;  2007         ,1 
1>2007           
D.'i.'i(i.2Jl  S  112007         
])."57.2.11>  S  12  2007  Kim 
D.'i.'i7.2.'i<J  S  $  12  2007  llirs<:h 
])14  241> 
])14  4% 
])14  217 
US  D602,016 S 
Page 2 
           s  1 2oog  Yu  eta! 
D5."1>.7Sti  s  1 2001>  _\n<lrc  d  ,] 
D.'i.'il>.7.'i7  s  1 2oog  Andre ct al 
D.'i.'il>.7.'ig  s  1 2oog  Andre ct al 
            s  1 2001>  Chigira 
D5S<J.220  s  1 2001>  Icc d  al 
1)560.192  s  1 2oog  Lccd al 
D560.MO  s  1 2oog  Lee 
D560.M<ti  s  1 2001>  Kim 
D56l.L'i3  s  2  2oog  llongd al 
1)561.204  s  2  2oog  Toh 
D56L71>2  s  2 2001>  Kim 
!)562.21>5  s  2 2001>  lim 
1)563.432  s  3  2oog  Kim 
D563.<J2<J  s  .12001>  l'"rk 
D5MUO<J  s  5 2001>  Ccbc cl  al  D14 .141 
D57.'i.2.'i<J  s  g  2oog  Kimctal 
1)571>500  s  to  2oog  Lccd al  D14  Dl>  G 
D57<J.1Nl>  s  11  2001>  Icc d  al  Dl4  BlHi 
IW<0  .  11>7  s  11  2001>  _\n<lrc  d  ,] 
D.'il>l.31>4  s  11  2oog  Kimctal  D14  131>  .\D 
IWH.<J22  s  12  2001>  _\n<lrc  d  ,] 
IWG ..  145  s  12  2001>  Kimd"l 
D5M.272  s  I  200'!  Chung ct al  D14  131>  G 
D5M.303  s  I  200'!  Andre ct al  Dl4 341 
D5M.ti4ti  s  1 200<)  Sanguinclli  1)1065 
D5M.711  s  I  200'!  Kimctal 
D.'iM.ng  s  I  200'!  Kimctal  Dl4 4% 
1)51>.".411  s  1 200<)  F<1ton  Dt4       
JW<g.14ti  s  .1200<)  Tsuboi  ])14  474 
D5<Jl.2.'i2  s  4  2009  Kimctal  Dt4  nn; 
D592.ti2g  s  5 2009  Kimctal  Dt4  ng .\D 
200_1  012507<)  _\]''  7  200_1  l'"rk <:tal  455  5."(, 
2004  OD2499  AI  7  2004  Abc 
2004  016ti<J07  AI  g  2004  Yajima 
2004  022.1004 
" 
!1  2004  I inch<:! al 
2007  oognJg 
" 
4  2007  Yoon<:l  al 
200i-:  00040K'i  AI  I  200i-:  Jung ct a! 
!-'ORJ:JGN  1'.\TJ:NT J)OCUMI:nrs 
Jl'  Dl2S04g7  <)  200-' 
KR             12  200.'i 
OTIIER  PUBLIC.\TIONS 
SmTISung  F700. announc<:d  hb 2007. [online[.  fr<:tric,cd  on Feb  g. 
2007]  R<:tric,cd  Jfom  Intern<:!  .<l."R!_  hup  wwwgsm,rcnacom> 
Philips S900.             Jun  200ti.                       on Feb  20. 
2007 J  Retrieved  from  lntcmd .<l-RI. http  v,v./V/  gsmarcna com> 
J _(i  KJX<;O  l'mda. ;mnounccd  Jan  2007.  fonlin<: ].                 on hb 
20.  2007[             from  lntcmct  .<LRL  hup  v.wwgsmarcna 
com> 
-\pplc il'hon<:. ;mnounccd .h!n  2007.  fonlin<: ].  fr<:tri<:\<:d  on \hr  !2. 
2007]  R<:tric,cd  Jfom  Intern<:!  .<l."R!_  hup  wwwgsm,rcnacom> 
linnos PDA.           \1ay  19.  2006.[on!inc].[rdrievcd on  .\ug  22. 
2007]  R<:tri<:\<:d  Jfom  lnt<:rn<:t  .<l."RJ _ hup  www nmbik'\vhack 
com> 
\1ciftl  \1K  posted  Jan.  29.  2007.  [online[.              on  Scp  D. 
2007]  Retrieved  from  lntcmd .<l-RL http  wv,wcngadgd com> 
Jlilon I G D\1B \11'.1  F\1.1-'.p"stcd Jun  26. 2006. fonlinc].[r<:tric\cd 
on D<:c  2ti. 200g1  R<:tric,cd  Jfom lnt<:rn<:L  <l."RJ _ hllp  hilon com 
en amobak agi-:JOOO.'i549> 
          \1ag;uin<:.  '\o  !2 (2004).  p  60 
          \1ag;uin<:.  '\o  !1<)  (Jun  L 2005). p  45 
cFashion  \1aga;-inc.  '\o  172 (Apr  2006).  p  26 
l- S  .\pp!  '\o  29           I. Amlrcd a!  . Lkdronic Device. fikd Ju! 
_10.  2007 
l- S  .\pp!  '\o  29            Amlrcd a!. Lkdronic Device. fikdJu! 
    2007 
1: S  -\ppl  '\o  2<)  2g2.g33  _\ndr<: <:!  al. Electronic  Dc,icc. filed  Jut 
_10.  2007 
l- S  .\ppl  '\o  29 2i-:4.1i-:7  And red a!  . Fkcnonic Device. fik-.t  Aug 
    2007 
{.  S  App!  '\o  29  2i-:4.1 gg  Andree! al  .l:!cctmnic Device. fikdAug 
3!. 2007 
{.  S  .\pp!  '\o  29  2i-:4.2(i9  .\ndrccta!. F!cctmnic Device. fik-.l  Scp 
4. 2007 
1;  S  -\ppl  '\o  2<)  2g4,27!. -\ndr<: <:tal. Ekctronic Dc,icc. Jikd Scp 
4. 2007 
{.  S  .\pp!  '\o  29  2i-:4.272  .\ndrccta!. F!cctmnic Device. fik-.l  Scp 
.'i.  2007 
1;  S  -\ppl  '\o  2<)  2g4,276. -\ndr<: <:tal. Ekctronic Dc,icc. Jikd Scp 
.'i.  2007 
{.  S  .\pp!  '\o  29  2i-:4.2i-:g  .\ndrccta!. F!cctmnic Device. fik-.l  Scp 
-' 2007 
1;  S  -\ppl  '\o  2<)  2g4,_10g.  -\ndr<: <:tal. Ekctronic Dc,icc. Jikd Scp 
.'i.  2007 
1;  S  -\ppl  '\o  2<)  2g4,_110.  -\ndr<: <:tal. Ekctronic Dc,icc. Jikd Scp 
-' 2007 
{.  S  .\pp!  '\o  29            .\ndrccta!. F!cctmnic Device. fik-.l  Scp 
.'i.  2007 
1;  S  -\ppl  '\o  2<)  _106 ..  134. -\mired,] . Electronic D<:\ icc. Jilcd .\pr 
7. 2oog 
{.  S  .\ppl  '\o  29    9.D9  Andree\ a!  . Lkctmnic Device. fikd Jun 
-' 2oog 
1;  S  -\ppl  '\o  29 3! <JAB. _\ndr<: <:tal  . Fkctronic D<:\ ic<:.  filed  Jun 
9. 200i-: 
l. S  .\pp!  '\o  29          .. \ndrcd al  . Fkcnonic Device. fikd Apr 
]g.  2oog 
* cited by cxmnincr 
l'riman Hxaminer  Calhron C  ISnmks 
Assistant Hxaminer  ISarhara  l'ox 
(74) Allome:r.  A?,ent,  or Firm  Sterne. Kessler. Goldstein & 
Fox  P.LLC 
(57)  CI.AI\-1 
The ornamental dcsig,n Jix an electronic device. as shown and 
described. 
I>ES<:RIPTIO:'\ 
FIG.  1  is  a  front               view  of an  electronic  device 
showing our new design: 
FIG.  2  is  a  rear              view thereof: 
FIG.  J  is  a  front  view thereof: 
FIG.  4  is  a  rear view thereof: 
FIG.  5  is  a  side view thereof: 
FIG.  6  is  another side view  thcRof: 
FIG.  7  is  a  top view  thcRof: 
FIG.  8  is  a  bottom view  thereof: 
FIG.  9  is  a  front  perspective vi<..'\v  of another embodiment of 
an ck>ctronic device showing our n<..'\V  design: 
FIG.  10 is a  rear perspective view thereof: 
FIG.  11  is a  !font  view thereof: 
FIG.  12  is a  rear vi<..'\v  thereof: 
FIG.  lJ is a  side vi<..'\v  thereof: 
FIG.  14 is another side view thereof: 
FIG.  15 is a  top view thereof: and. 
FIG.  16 is a  bottom view thereof. 
The  !Ucc.  back  and  side  sur!Uccs  of the  electronic  device 
shown  in  the  FIGS.  1  8  arc  illustrated  with  color  dcsig,na-
tions.  The  face  and  the  back  surface  arc  black.  The  side 
smbccs arc silver. gn:y or chrome. 
The  bee.  hack  and  side  surbccs  of the  dcc!nmic  device 
shown  in  the  nc;s. 9  16 arc illustrated  with color dcsigna-
US  D602,016 S 
Page 3 
lions.  The  liJCe  and  the  back  surbcc  arc  white.  '!lu::  side 
surfaces arc silver.  grey or chrome. 
The broken lines in the  Figures represent unclaimed portions 
of the  electronic  device  andb  form  no  p.1rt  of the  clnimcd 
design. The shade  lines  in  the Figures show contour and not 
sur!Ucc  omamcntmion. 
1 Claim, 4 Drawing Shcch 
U.S.  Patent  Oct. 13, 2009  Sheet I  of 4  US  D602,016 S 
FIG.  1 
FIG. 2 
U.S.  Patent  Oct. 13,2009  Sheet 2 of 4 
FIG.  3 
FIG.  5  FIG. 6 
FIG. 4 
FIG. 7 
FIG. 8 
US  D602,016 S 
,, 
,, 
' 
,, 
U.S.  Patent  Oct. 13, 2009 
FIG. 9 
FIG.  10 
Sheet 3 of 4 
 
: ~ . - ' 
US  D602,016 S 
U.S.  Patent  Oct. 13, 2009 
r--------------------, 
.  ' 
'  ' 
'  ' 
'  ' 
... 
FIG.  11 
" 
H 
r! 
" 
u 
" 
'' 
FIG.  13 
  ,, 
' 
FIG.  14 
Sheet 4 of 4  US  D602,016 S 
            
,.) 
:1 
FIG.  12 
FIG.  15 
.,, 
,,, 
" 
" 
  
"' 
--           --          
FIG.  16 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Exhibit 10 
(12)  United States Design  Patent 
Andre et al. 
(54) 
(75) 
    
(  *) 
(**) 
(2!) 
(22) 
ELECTH.O\"IC  I>EVICE 
Inventors:  Hartley K..\ndrc. Menlo l'nrk. C.\ 
(US):  Daniel J. CoJ>tcr.  San Francisco. 
CA (US):  J):mide  J)c  Iuliis,  San 
Francisco, CA (US):  Richard  P. 
Howarth. Sun  !-'rnncisco. C.\ (US): 
Jonathan P.  Iw. S.1n  !-'rnncisco. C.\ 
(US):  Stew Jobs.  Palo .\Ito. C.\ (US): 
J)uncan  Robcrt  Kerr. San  Francisco. 
CA (US): Shin :\ishiborL Portola \"alky. 
C.\ (US):  \1atthcw Dean  Rohrbach. 
Sun  !-'rnncisco. C.\ (US):  I>oughts  It 
Satzgcr. Menlo Park. CA  (US): CalYin 
Q. Scid.  Palo Alto. CA (US): 
Christophcr .1.  Stringer. Woodside. CA 
(US): Eugene Antony Whang. S.1n 
Francisco. C.\ (US):  Rico 
Zorkcndorfcr. San Francisco. CA (US) 
Assignee:  Applc Inc ..  Cupc11ino.  CA (US) 
Notice: 
Term: 
This  paten!  is  subject  lo  a  lcnnina!  dis-
claimer. 
14 Years 
App!.  No.:  29/328,018 
Filed:  :'100\'.  18, 2008 
Rehlted  U.S. Application  nata 
(60)  Di\ision  of application  No.              !!led  on  Jul. 
    2(XJ7.  now  Pal.  No.  Des.  58! .022. which is  a con-
tinuation of application  No.  29/270.888.  H!cd on Jan. 
5.  2007.  now  Pat.  No.  Des.  558.758. 
(51)  LOC(9)Cl.  14-02 
(52)  u.s. c1.          D !4/248:  D 1412m.7 
(58)  Field of Classification Search  Dl41341. 
!)141342. 343.344.345.346.347.420.426. 
D !41427. 432.      440. 44 L 448. 4%.  !25. 
Dl4!!37.  12'>.  no. ns. 250.       147.  2!8. 
Dl4/247.  248.!56:  DI0/65.  104:  nn/168: 
DlR/6.  7:  D21/329.  686:  455190.3.556.1. 
455/556.2.575.1.  575.3.  575.4:  37<)/433.01. 
3701433.04,                 36!1814:  34!122: 
3451160,  !73:  1)615<)6,  60!. 605 
Sec  application  !lie  ll1r  comp!clc  search  history. 
(I OJ  Patent  No.:  us 0618,677 s 
(45)  Date of Patent:  **  *Jun.29,20l0 
(56)  H.eferem:es Cited 
U.S.I'Al"ION'I-IJOC"UMI;N"rS 
5  Jn7  Gemmell  ct    
(Conlinm:d) 
FOR!]GN PAT!:nr DOCUMI:NTS 
F\1  OOO."ti<Jl57-0005  5 200(, 
(Continu<.'d) 
Or! I!]{ PUB!JC\TIONS 
t; S  .\ppl  '\o  2<)                       .                     likd .ltil 
       
(Conlinm:d) 
l'riman Hxaminer  Cathron C  ISrooks 
Assislanl Ewmim:r  Angela J  L<.'C 
(74) Allome:r.  A?,elll,  or Firm  Sterne. Kessler. Goldstein & 
Fox  PI  LC 
(57)  CI.AI\-1 
The ornamental design of an ck>ctronic device. as shown and 
described. 
nEs<:n.wno:" 
FIG.  1 is  a  Jiont  perspective  view  of an electronic device  in 
accordance with the present  invention: 
1:](;.  2  is  a rear pcrspccli\c \ i<.w  thcrcoL 
FJ(j_  J  is  a  front  \i<.w  thereof: 
1:](;.  4  is  a rear\ i<.w  thereof: 
FJ(j_  5  is  a lop vi<."\'.  thereof: 
FJ(j.  6  is  boll om \ i<."\'.  thereof: 
FJ(j_  7  is  a !di side view  thereof: and, 
FIG.  8  is  a right side view thereof. 
The claimed surJUcc oft he electronic device is i !!ustratcd with 
the color designation  ll1r  the color black. 
rhc elcc!ronic device is  no!  !imi!<."d lo the scale shown herein. 
As  indicated  in  the title. the art ide of manubclurc lo  which 
the  ornamental  design  has  been  app!kd  is  an  ck>ctronic 
device. media player (e.g ..  music.  video and/or game player). 
media storage de\ icc,  a  persona! digital assistant. a commu-
nication device (e.g ..  cd!ubr phone), a novelty item or loy. 
I  Claim, 2 Drawing Sheets 
!)337569  s 
D4l0.440  S 
D424.535  S 
D4.'i.'i.4D  S 
D4.'i6.023  S 
        S 
D46<J.4U  S 
        s 
JWW.7."4  S 
!)499.42_1  s 
D502.l73  S 
D504.iHI9  S 
D50S.<JSO  S 
!)507.00.1  s 
D.'il4.l2l  S 
!)5!4.590  s 
D5!9.1  lti  S 
D519523  S 
!)520.020  s 
7JJ42.7!2  B2  '' 
        S 
        S 
D529JJ45  S 
!)532.791  s 
D534.l43  S 
           S 
D536.ti91  S 
!)536.962  s 
D53iUQ2  S 
D54L291>  S 
D54L29<J  S 
!)541.71>5  s 
D546 ..  1U  S 
D54i<.732  S 
!)541>.747  s 
D.'i.'i4.on  s 
!)5."6.2!1  s 
!)5."7.231>  s 
7.30H24  B2 
!)5."1>.460  s 
D5."1>.7Sti  S 
D.'i.'il>.7.'i7  S 
D.'i.'il>.7.'ig  S 
D5Si<.792  S 
D.'i.'i9.220  S 
D560.l92  S 
D560.MG  S 
D560.M<ti  S 
D56l.l.'i3  S 
!)561.204  s 
D56L71>2  S 
!)562.21>5  s 
!)563.432  s 
!)563.929  s 
D5MUO<J  S 
!)573.14_1  s 
!)574.015  s 
7.409.059  B2   
D579.<J30  S 
JW<0 ..  11>7  S 
D.'il>l.922  S 
D.'iM.ng  S 
D.'i&i.l>OO  S 
J))g<J.<J7<)  s 
2004  OD2499  At 
20040J6(i<)07  At 
2004  022.1004  _\  l 
2005  01307!-':;  _\] 
200(i          AI 
2007          AI 
7  1993  Kando 
(i  1999  Carnell 
5 2000  l'dtob! 
4  2002  Alviar ct a! 
4  2002  Andre ct al 
6  2002  p,]m d  ,] 
1200.1  Tod"l 
5 2004  !luang 
11  2004  Blyth 
12  2004  B"hroochad al 
2 2005  Jung ct a! 
5 2005  Andre ct al 
6  2005  Summit  d  ,] 
7  2005  l'"i d  al 
I  200(i  Johnson 
2 2006  '\"mki 
4  2006  '!imaka d  ,] 
4  200(i  Chill  Cl  a] 
5 200(i  Scnda ct al 
5 2006  Ghosh cl  ,] 
9  200(i  Luminosu  ct a! 
9  200(i  Ka-Wci  ct a! 
<) 2006  Shin 
112006  Kim 
12  200(i        
I  2007  Yang 
2 2007  l'"rk 
2 2007  -L1!UlCr 
3  2007  Andre ct al 
4  2007  _\n<lrc  d  ,] 
4  2007  _\n<lrc  d  ,] 
5 2007  ]]wang ct al 
7  2007  I  hccm 
  2007  Ccbc cl  al 
  2007  Andre ct al 
10  2007  Lee 
11  2007  1  !ow;ml 
12  2007  Kim 
12  2007  Tu ct al 
1      y, cl  ,] 
1      _\n<lrc  d  ,] 
I       Andre ct al 
I       Andre ct al 
1      Chigim 
I       Lee ct  al 
I       Lee ct  al 
1      Icc 
1      Kim 
2      !long ct  al 
2      Toh 
2      Kim 
      lim 
3       Kim 
3       Park 
5      Ccbc cl  al 
7       l'"rk cl  al 
7       V!asui 
       Fujisawa 
11       \hsk<!tia 
11       _\n<lrc  d  ,] 
12       Andre ct al 
I  2009  Kim ct al 
2 200<)  _\n<lrc  d  ,] 
4  200<)  _\n<lrc  d  ,] 
7  2004  Abc 
  2004  Yajima 
11  2004  I inckc d  al 
6  2005  htiisawa 
12  200(i  /.uo ct al 
4  2007  Yoon ct  a! 
US  D618,677 S 
Page 2 
])]4 34(i 
])]4 441 
D14  .14.1 
D14  126 
.16167<)0.1 
D14  .141 
D14  .141 
])]4 4% 
379 4D  13 
D14  .141 
])]4 4% 
D14  .141 
D14  4% 
             .\1  $ 
2oog         -\1 
I       Ohki  ct al 
I       .l!!ng d  ,] 
Jl' 
Jl' 
IP 
KR 
KR 
I:ORIOICiN  I'AriON'I-IJOC"UMI;N"rS 
         
         
2004  2902."6 
30-0394921 
30-0422221 
12  2002 
9  2005 
10  2005 
12  2005 
  200(i 
Or! II]{ I'UBIJC..\TIONS 
4.'i.'i  .'i(i(i 
[; S  .\ppl  '\o  2<)  2g2,K12,  -\mire cl  ,] , Electronic  De\ icc,  lilcd .l!!l 
30.  2007 
L  S  Appl  '\o  29          .. \ndrc ct al  . Fk-ctronk Dcvkc.         Jul 
30.  2007 
[; S  .\ppl  '\o  2<)        g7  _\ndrc d  ,] , Electronic De\ icc. filcd_\!!g 
31.  2007 
[,  S  Appl  '\o  29           Andrcd al  .l:ledmnk Dcvkc. filed Aug 
31.2007 
L  S  .\pp!  :--:o  29           .\ndrcctal. Flcdmnk Dcvkc. fik-.1  Scp 
4. 2007 
[; S  -\ppl  :--:o  2<)           -\mire cl  al. Electronic Dc,icc.lilcd Scp 
-' 2007 
L  S  .\pp!  :--:o  29          .\ndrcctal. Flcdmnk Dcvkc. fik-.1  Scp 
.'i.  2007 
[; S  -\ppl  :--:o  2<)          -\mire cl  al. Electronic Dc,icc.lilcd Scp 
.'i.  2007 
L  S  .\pp!  :--:o  29          .\ndrcctal. Flcdmnk Dcvkc. fik-.1  Scp 
-' 2007 
[; S  -\ppl  :--:o  2<)            -\mire cl  al. Electronic Dc,icc.lilcd Scp 
.'i.  2007 
l!ilon  IG  D\1B  \11'.1  F\HS.  posted  on  Jun  26.2006,  [online], 
[rdric,cd on  Dec  26,        Rctric,cd  Jfom  lnlcmcl.  <CRL  hup 
hilon com en autobak                
cl-ashion  V!aga;-inc. 2004.  vol  :--:o  12.  p  60. China 
cFashion  \1aga/inc  . .l!!n  !. 2005,  \ol  :--:o  119,  p  45. China 
cFashion  \1aga/inc  ..  \pr  2006. \o]  '\o  142.  p  26,  China 
:--:otification  and             !Or  Invalidation  of  Chinese  Patent 
i'l 2007.10J4g767  X.  !'"len!  Reexamination  Bo;ml  of the  State  of 
lntdlcclu"l  Properly  O!licc  of  the  PRC  and  English  lrmdation, 
maik-.1  Dec  II.       19  pages 
:--:otification  and             !Or  Invalidation  of  Chinese  Patent 
i'I2007.10J4g75! <J.  Palen!  RccxmTiim1lion  Board  of the  St,lc  of 
Intellectual  Propeny  Ollicc  of the  PRC  and  Lnglish  translation. 
maik-.1  Dec  II.       19  pages 
'\otilic"lion  and  Request  for  !m-,]i<hilion  of  Chinese  Palen! 
i'I2007.10J4g71<JO.  Palen!  RccxmTiim1lion  Board  of the  St,lc  of 
Intellectual  Propeny  Ollicc  of the  PRC  and  Lnglish  translation. 
maik-.1  Dec  II.       19  pages 
[; S  -\ppl  '\o  2<)  .106 ..  134. -\mired,] . Electronic De\ icc.lilcd .\pr 
7.     
L  S  .\pp!  :--:o  29  306.950  .\mlrcctal. Electronic Device. filed Apr 
   2oog 
[; S  -\ppl  '\o  2<)  31 <J.n<J. _\n<lrc cl  al  , Fk-clronic  De\ icc, filed  .l!!n 
.'i.      
L  S  .\ppl  :--:o  29 319.433  Andree\ a!  . Lk-ctmnk Device. filed Jun 
<J.      
[; S  -\ppl  :--:o  2<)  324,1.10. -\mire cl  al. Electronic Dc,icc.lilcd Scp 
.'i.      
L  S  .\pp!  :--:o  29  324.137  .\ndrcctal. Flcdmnic Dcvkc. fik-.1  Scp 
6.     
[; S  -\ppl  :--:o  2<)  324,262. -\mire cl  al. Electronic Dc,icc.lilcd Scp 
9.     
L  S  .\pp!  :--:o  29          .\ndrcctal. Flcdmnic Dcvkc. fik-.1  Scp 
4. 2007 
L  S  .\pp!  :--:o  29          .\ndrcctal. Flcdmnic Dcvkc. fik-.1  Scp 
.'i.  2007 
[; S  -\ppl  '\o  2<)  31 <J.377, _\n<lrc cl  al  , Fk-clronic  De\ icc, filed  .l!!n 
6.     
Samsung 1700. announced  lcb                             on lcb   
2007 f              fmm  Internet.  <l:RJ.  http  W'V/V/  gsmarcna com> 
US  D618,677 S 
Page 3 
Philips S900.             Jun  200(i.                       on  Feb  20. 
2007]  Rdric,cd  Jfom  lnlcrnd, <-CRI  hllp  """ gsm,rcn" com> 
In D!X'iO  l'mda. annotuKcd Jan  2007.  [online].               on Feb 
20.  20071  Rdri<:vcd  from  lntcmct.  <LRL  hup  v.v.wgsmm-cna 
com> 
-\pplc iPhonc, ;mnolinccd .h!n  2007,  ]online]. [rdric\cd on \hr  12. 
2007 J  Retrieved  from  !mcmd. <l-RL  http  v.v.w gsmm-cna  wm> 
Tinnos  I'D.\.  posted  V!ay  19.  2006.  [online].                on Aug  22. 
2007]  Rdric,cd  from  lnlcmd.  <l.'RI.  hllp  """ mobikv.h,ck 
com> 
Vkiill       posted  Jan  29.  2007.  [online].              on  Scp  13. 
2007]  Rdric\cd from  lnlcmcl.  <UU  hllp  wwwmgmlgd com> 
* cited by examiner 
U.S.  Patent  Jun. 29,2010  Sheet I  of 2  US  D618,677 S 
FIG.  1 
FIG.  2 
U.S.  Patent 
' 
' 
Jun. 29,2010 
, 
' 
' 
' 
I 
                      
FIG.  3 
' 
,, 
'  ' 
' 
'-, 
' 
-' 
' 
" 
" 
I'' 
< ' 
" 
'l ' 
'  ' 
" 
Ut 
' 
' 
' 
' 
' 
' 
' 
' 
' 
' 
' 
' 
' 
' 
' 
' 
FIG.  7 
,, 
' 
'  ' 
' 
' 
}----I 
'  ' 
'  ' 
' 
' 
' 
' 
'  ' 
'  '  '-<..    
FIG.  8 
Sheet 2 of 2  US  D618,677 S 
                        
'  ' 
'  ' 
{  ,,.;1-------------- ',   
    \  " 
' 
' 
'  ' 
                      
'  ' 
'  ' 
' 
' 
' 
' 
' 
' 
' 
' 
' 
' 
, 
--------------- 
' 
' 
t: 
.. , 
'  ' 
'  ' 
' 
' 
' 
'  , 
' 
----------------------
/ 
FIG.  4 
----------------------- .  , 
(---                                 _) 
--------' 
FIG.  5 
FIG.  6 
Ex.  11 
lnt. Cl.:  9 
Prior  U.S. Cis.:  2J, 23, 26, 36  nnd  38 
United  States  Patent  and  Trademark  Offi ce 
Reg. No. 3,470,983 
               .July 22,  20011 
TRADEMARK 
PRINCIPAL REGISTER 
APPLC  INC.  (CALIPORNIA  C'OiillORI\TION) 
I  INFlNITB LOOP 
CUI'ERTINO. CA ?SOI4 
J?OR:  Hi\Nl)HllLo MOOILB DJOITAL ELECTRO 
NTC Dl!VICilS COMPIUSilO Or A MOOJLB  PHONB, 
DIOITAl.  AlJI)IO  ANI'l  VII)HO  Pt.AVHR.  HAND 
HOLD  COM!'UTJ!I(,  PI!I(SONAL  mOn'AL  AliSl); 
TAN'T,  flLflCTROI\.IC  PllRSONAl.  OROANIZI!R. 
POCI<rrr  COMPtiTI1R  I"'OR  NOTI:.TAKINO, !!l.I!C. 
TRONJC CALUNDAR.  CALCUL.ATOR.  AND  CAM 
f!RA, AND CAPADLD  OfT  PROVIDINO ACCl!SS TO 
TIH"! IN"rf! RNIIT AND SllNI)INO AND  RliCillVINO 
I!LI!CTRONIC  MAll..  OIOI'rAt.  AUDIO,  VIDEO. 
Tt:!XT,  IMAOI!S,  OK/\l'HI<'S  ANI>  MULTlMiiDII\ 
PILES,  IN CLASS 9 (U.S.  CLS.  21.  23.26,  36 ANl) 3!!). 
FIRST USB 6-292007; IN <'OMMf!RCI! 6-29.20()7. 
NO  CLAJM  IS  MAOIJ  TO  Till!  I!XCLUSIVll 
RlOHT TO US I! "SMS".  APART PROM Tllll MARK 
AS SHOWN 
TH!l COLOI((S) DLACK. IJLUH. UROWN, DROWN 
ORA V,  ORAV..(JRP,RN,  ORIIHN,  ORANUB,  IUiO, 
SILVBR,  Ti\N,  WHITIJ  ANI)  YULLOW  ISj i\Rll 
CLAIM DO AS A f't!ATURB 017 THll MART<. 
'l'Htl  MARK  <.:ONSISTS  OF  THfl  CONI'IIOURA 
ilON OF A RBCI'ANOULAR IIANDII BLD  MOD!I.J! 
OIOITAL l!Lil<"I'RONlC  UUVICI:l  WITH  ROUNOBD 
SILVI!R llUOI!S, A 9Li\CK  PACH, AJ'O AN ARRAY 
Of'  16  SQIJARI!ICONS  WITH  KOUNOI10  !!DOllS. 
THU TOP  12  ICONS APPI'.AR  ON  A  Ol.ACK OACK 
OROUND.  AND  Ti ll!  DO'ITOM  4  APPBI\R  ON  II 
Sli..VBR  DACKOROUNO.  Til!!  f71RST  ICON  Dl! 
PICTS THI"  L.UI11iltS "SMS"  IN Olm UN  INSfDE  A 
WHITt!  SPI'I'C:H  IJUDOLU ON  A  ORUI!N  OACK 
OROUNI); THII St CONO  ICON  IS  WHITH WITH  A 
TtlLN RLD STRIN!                       ICON 
D6PIC7S A SUNPLOWI!R WITH YI!LLOW PIITAL.'I, 
i\  DROWN  t'CNTIJR.  AND  A  ORlli!N  :m!M  IN 
FRONT  01'  A  ULUH  SKY;  Tlill  fOURTH  ICON 
DL1PICTS  A C'AM BRA  LeNS  WITH 1\  OLi\CK llAR 
RP.L  ANU            GLASS  ON  i\  SlLVllR  01\CK 
GROUND;  Til l!  Pl f7TH  ICON  D!PICTS  A  TAN 
Tl'!LDVISION  CONSOLR  WITH  DROWN  KNOllS 
AND  A URA Y.ORI!f!N  SCRBBN; THE SIXTH  ICON 
J)l:li'J< .  ."i'S  A  WH!Tl!  ORArll  UNI!  ON  A  OLUI! 
OACKOKOUNU; THH SEVENTH  I<.:ON  Dlii'ICI'S A 
MAP WITH YULLOW AND ORANOE ROADS, A Plf'l 
WITH  A  Kl!l)  Hl:AD.  ANI)  A  IUlD.J\ND  DLUI! 
ROAD  SION  WITH  TH!l  NUMI!RAL  "2H0"  If'! 
WHIT11; ntr niOHTH ICON OPPICI'S AN 0KAN01' 
SUN  01\  A  DLUU  0/\CKGROUND.  WITH  1 Hll 
TEMPI'lRATURB  IN  WHIT!!;  Till!  NINTH  IC'ON 
Dfll'ltiS  A  WIIITI!  CLOCK  Wrn.t  DLACK  ANO 
Rim  HANI)S  AND  NUMBRALS  ON  A  DLAC'K 
IJACKOROUNO:  THH  TBNHI  ICON  DI!PICTS 
THRIJil  OROWNOitAY  C' IRCt.llS  ANn  ONfl  OR 
ANOB  CIRCLU  ON  A  BLACK  BACKGROUND 
WITH  1\  WHITH            WITH 'fHI1 MA'IHUMA 
TICAL SYMOOL.') f'OR  A l)OIT{ON. Sl iBTJlACI.'.ION. 
MULTII'UCATION.  AND  Till!  IJQUAL  S!ON  ms. 
Pl..AYlJO  IN  WII ITIJ  ON  Til l!  CIRCU!S; THI!  Bl.H 
VJJN'l'li ICON OIJI'tc:rs A PORTION Of' A YIJLLOW 
NO'flii'AU Wrlll  ULUIJ AND  RIID RUUNO, WITII 
IIROWN  OINIJINCJ  AT  THH TOP:  THB  iWULP'fli 
lmN  OPPIC'iS  THKllH  SlLVHR  GI!ARS  OVHR  A 
           IILACK.AND-SILVI!R  IIACK 
OROUND;  THU  'n IIRTr.f!NT14  ICON  DIJPICTS  A 
WliJTI!  TULBPtiOND  RDCI!JVDR  AOAINST  A 
ORJ:DN DACKOROUND; ntB FOURTI!DNnt ICON 
l)liPIM'S A WHIT II  UNVIlLOI' B OVBR A DLUIJ SKY 
WITH  WHITE  CLOUDS;  THr  FIFTJ:.:bNTH  lCO!'\  SI:::C,  2(1-'). 
DEPlCI'S  A  WHl'fl:.!  COMPASS  WlTli  A  WWTl;:-
AND-RrD  NBI'l1lc  OVER  A  BLUE  MAl''  THE 
SlXT.GENTf/  ICON  DEPICTS  THB  UtSTil'CTIVE  SER. !\0. 77-303,2S:;,  PlLBD  10-12-201.17. 
CONFJGUHA'l'lON  Of<'  APPLICANT'S  MBDIA 
PLAYER  DE'.Vl(:Jl  JN  WH.lTIJ  OYER     ORANGf: 
RACKGROUND.  SKYEJ YOUNG.            A'ITOJ<NEY 
Ex.  12 
Int.  CI.:  9 
Prior U.S.  Cis.:  21,  23,  26,  36  and  38 
United  States  Patent  and  Trademark  Office 
Reg.  No.  3,457,218 
            July  lj 2008 
TRADEMARK 
PRINCIJ>AL REGlS'U:R 
APPLE  IKC.  (CALIFORNIA  CORPORATION) 
!INFINITE LOOP.  MS  3TM 
C\JPERTTNO.  CA  95014 
FOR:  HAN!JHELD MOBILE DIGITAL  ELLGTJ\0 
NIC  })(,VICES  COMPIUShD OF  A MOB!Lh PHON!:. 
DIGITAL  AUDIO  AND  VtrmO  f'tA YER,  HAND-
HELD  COMPUTER,  PERSONAL  DIGITAL  ASSIS-
TANT,  ELECTROl\IC  PERSONAL  ORGANIZER. 
POCKET  C'OMPllTHR  FOR  NOTbTAKING,  I::LHC 
TROt<lC  CA!.UI\1)AI\.  CAJ.CULAIOR.  ANl)  CAM 
ERA,  AND  CAPABLE  OF PROVIDING  ACCESS  TO 
THE  INTERNET  ANn SBNDlNG AND  RECEIVIKG 
ELECTRONIC  MAlL.  DIGlTi\L  t\UDIO,  Y!DEO, 
TEXT,  IMAGI:!S,  GRAPHICS  AND  MULTIMEDIA 
FILES,  IN CLASS  9 (U.S.  CLS.  21,  23,  26,  36  AND 3:S). 
FIRST USE  19200'/; IN  COMMERCE  629200'1. 
THE  MARK  CONSISTS  OF  THO  CONriGliRA 
TION OF A RECTANGULAR HAND HeLl> MOBILe 
DJO!TAL                DEVlC:E  W(TH  ROIJNDI\D 
CORNERS.  THE  MATTER  SHOWN  IN  BROKEN 
LINES  IS  NOT PART  OF  THE  MARK 
    2(r). 
SKYE  YOUJ\"G.  nXAMlNJNG  i\TTORNDY 
Ex.  13 
Int.  Cl.:  9 
Prior U.S.  C1s.:  21,  23,  26,  36 and  38 
United  States  Patent  and  Trademark  Office 
Reg.  No. 3,475,327 
             July  29,  2008 
TRADEMARK 
PRINCIPAL IlliGISTER 
APPLE.  INC.  (CALIFORNIA  CORPORATION) 
I INFINITE LOOP 
CUPERTINO.  CA  95014 
FOR:  HANDIIDW        D!Gll'AL  ELECTRO 
NIC  DEVICES  (YJMPRISED  OF A MOD!LC: PHON C.. 
DIGITAL  AUDIO  AND  VIDEO           HAND-
HELD  COMPUTER,  PbRSONAL  lJIGITAL  ASSIS 
Ti\NT.  f.LECTRON.IC  PERSONAL  ORGANIZER. 
POCKET  COMPUTER  FOR  NOTETAKING,  EJ..Ji(". 
'!'RONIC  CALENDAR.  CALCULATOR,  AND  CAM 
URA,  A\\TJ)  CAPAUL.E     t-'RO'VlDlNG  ACCESS  TO 
THE JNTF.:RNBT  AND SENDING AND  RECEIVINO 
l::lECTRONIC'  MAIL  DIGITAL  AUDIO,  VIDEO, 
'I'EXT,  IM/\UES,  URAPHK'S  AND  MULTIMEDIA 
PILES,  IN  CLASS  9(\I.S.  Ct."l.  21,  21.  26,16  AND  38). 
FlRST lJSl.l  1-9-2()07;  IN COMMbRCb 629200'1, 
THE  COLCR(S)  GRAY,  SILVER  AND  BLACK  lSi 
THE  MARK  CONSISTS  OF  THJ.::  L'ONfiiGURA 
TlON OF A  HANDHEl.D  MOlllLL  DIGITAL  ELEC 
Tl\ONIC  DEVICE.  THE  MATERIAL  SHOWN  IN 
DOTTED  LINES.  NAMELY.  THE  BUTTONS  AND 
OPEI<!NGS ON THE DEVICE SHOW THE POSITION 
Of  THE  MARK  IN  RELATION  TO  Tl-W  DEVICI.! 
ANL>  ARE  NOT  C:ONSIDElUm  A  PART  or- TJ:U! 
MARK.  IHb  COLOR  ORA Y APPEARS  AS  A REC 
Ti\NGLI':!  AT  TJJI:  PRON1,  CENTER  OF  THE  DE 
V1CP.  THE  COT.OR  RLACK  APPEARS  ON  THE 
FRONT  OF  THE  DEV1CE  !\DOVE  AND  BilLOW 
THH  GRAY  IU!CTANGL.t.i  AND  ON THH  CURVED 
CORNERS  OF THE  DEVICE.  THE  COLOR  Sll.Vt<R 
APPEARS !IS THE OUTER BORDER  AND SIJ)IlS OF 
THE  lJEVJCE  THE  COLOR  WHITD  IS  SHOWN 
SOLf!LY  TO  IDENTIJ-IV  PLAc;EMENi'  OF  TH!i 
MAl{K  AND  IS  NOT  CLAIMED  AS  A  PART  01' 
THE  MARK. 
S8C.liF) 
8ER. NO.  77103.049,  FILED  IOll2007. 
     CLAIMhD  AS A  Fl:.ATLIRL  OP THIJ  MARK.  SKYE:  VOlJNO,  EXAMlNlNO  ATTORNEY 
Ex.  14 
RcJt.  No. 3,886, 196 
Registered Dec.  7, 2010 
Int.  1.: 9 
TRAI>t::MARK 
PRt NCJilAI. RF.GISTF.t"l 
II I'I>U! INC  (CALIFORNIA COJU'Oitii110N) 
I INFJNm> LOOP 
<.:UI'EJWNO, <.:11  95014 
      ThLlii'IIONY       W/\JU!,  NIIMI!LY,  COMI'U11cR  SOI
1
1WIIIU;  JOK  MAKINO, 
MIINIIOINO.AND RRCmVINU l'IIONBCAJ.J.'i,ANil rOJt IU VII WINO, MANI\OINO,AND 
I'I.IIY1Nl1  Fl.llCTRONIC VOICP  MliS.'IAOil.'!, IN  CI.AI\S  9 (II S  Cl.'i         lb, '() Mffi 
'K) 
1-li(S I  USI' t>-2?-2UC0, IN {'llMMIItCI' ().21).2007 
OWNI-:1{  OF U 8  R!!O. NO              
1111\ COLOR(S) ORI'JlN, 1.101 IT  ORRRN,  01\RK ORIhN 1\Nl> wiiJ II  l:l/1\Rl! t'l.IIIMilll 
Nlll lt.:ATURI! OI'TIW 1\JARK. 
'11fT'  MARK  CONSISTS  01' /1  RFC11\NOLI  Wl'lll  ROUNI>I'Il  ('(lRNIIRil  I >I!J'IC'I'INO  II 
IITYI.Ii'J\11  Wlll'l1i  "11il.li riiONI!  IUiCIOIVJ :R 1101\INST II  1\TIUI'IU)  OHI'HN liND  DI\RK 
OllPHN RM:J(OilOI JNI)  i1  SlJAJ)P or 1.101 f1  cJilrllN I'OVHIIS '11 111 tll'l
1
1!lt 111\1,1' 01''11 II' 
RI!CII\NOJ.I: D"SION. 
ANDREW Rl HM.  hXJ\MJNIN<.i 111' l'ORNIJY 
Ex.  15 
Reg.  No. 3,889,642  AI'I'I.R INC. (CAI.IIIORNV\ coRPORATION) 
I INlINl l1t I,O<W 
Rcgistcr('d l>l.'C.  I 4, 20 I 0 cuPiiR11NO, cA 9SOI4 
Int. CJ.: 9  toR  nn<T 11Nn  Mln.nYJmlll  Ml!l\!WHNo sui IWIIRI,,  NIIMI'I v. soi71WAtm rok 
I'ROCE.'lSINO           UIU\I'IIIt'S ANI> 'll!X'I , IN  tl ASS 9 (IJS  Cl .'i  ll . 2l, 26, .16 A  Nil 
1R) 
             
PRINCIPAl. RECISTER 
HRS1' 1JSI' (,.l9-l007, IN  CUMMP.Rt'l'  f.-l9-l!Ml7 
OWNI* OF U.S. IillO  NO  .IA7U,?8J 
1111.  COI .OR(S) WHITE, (JIU\I!N,  0/\RK CIRI
1
1
1
N AND  !.lOin       JIN  IS/AIU' CI.AIMI' D 
AS 1\  H
1
A1111ll' <W 11 II' M/\ RK 
1'111;  MARK  CONSIS'I':I  01' 1\  IUIC'T,\NOI.I:  Willi  llOlJNI)III)  COIINIIUII>HI'IC'IlN<I/\ 
S I VI.IZH) SPHHCH  RlliHI.h ON A lli/\(IONAI, S I 1(11
1
1
1
1>  tJAt'KOI{OIINI)  II IH C()l,(>lt 
Wlllll! 1\1'1'1'.1\RS IN Till! Sl'r!I\CII  ll\Jillli.P 1)11SION, 1111  COI.OIIS  (llti'I!N AND DARK 
UIU'.I!N  AI' I'I'AR IN  lllf 01/\00N/\1,  STRII'HS  IN  1'111'  U/\C.:KUIIOUNO  01'  l llll  ltl!(.;'l 
II Ntii,P fli'.SiON;  ANI) 'niP. C:OI.OR  Lill i II'  l illlli'N 1\ l'l'HAI<II IN 'II  II!           111\I ,Jl  OF 
'11m llHCTANOI .I!  I>HSION 
Slm  NO  R5-ll l R,959, PII.Jol) 4-l llOIU 
ANIJRI\W Ill liM,            /\TIUliNI
1
V 
Ex.  16 
Reg.  No. 3,886,200 
Registered  Dec. 7, 2010 
Int. Cl.: 9 
TRADEMARK 
PRINCIPAL            
AI'PI .I! IN('  {CA!.IFORNlA CORP<)Rr\TION) 
I JNI
1
JNITI
1 
1.001' 
t'III' I' I{J'IN(l, t:A ?501-1 
JiOit t'O'MJ'U I  lilt ljOJTWAilli I'OR 01\UANJI.INO, !fiUIUNO. SIIAIUNO. ANU VIUWINO 
IMAillt'!, SOLI) AS A IIJ!II'J'URI! 01'  <:OMI>t!ll'li'l  AND  IIANI)III/1.1)  MOIIIII  llltliiAI 
I!I.E<.''JRONJ<.:        (.'OMI'KJSI!IJOF MOllii.J! l'liONI!.'l, IJIOIJAI.AUJ)JOI\NU VIJ)J!Q 
1'1.1\YI!RS,  IIANOlllll.D  COMI'UTr!RS, PI  IIOONAI .  DIOI'Ii\1  ASiil!lli\N l'!i, ANill'l.l:c. 
I KONIC  l'EKSONAL OJWANIZI
1
RS,JN CI.ASS 9 (US         11, 23,ll, )(;ANI) 1HJ 
       US!! 6-292007: IN COMMI'.RCP 6-2920117 
OWNLR 01
1 
U.S. RI!O  NC.  3,4'10,983 
IIlli CI)WI<(N) YEI.LOW  Jji)Jl'  tiKill! N. UROWN  Ul.At'K  tlltAY ANU  WIU llllS/AJU! 
C'l.AJMUD AS A fi:>A11JJU: 01111 J[ MARK 
1111. MARK  CONS ISIS 01
1 
A tlllAY,  WIIIJII, AND III,OII IU'(' II\ NUl  1
1 
Wll II  KOIINtWII 
CORNT:RS f)flJIICTINCIA             IN1111iCOI,OilSC11U!BN, Ylii.IAIW, IIROWN, 
ULAI.:K. WIUJI:ANlHiRAY 
JAMES MACJIARl.ANH, UXAMININCI/\ 1 J'()flNI!Y 
Ex.  17 
Reg.  No.  3,889,685 
APPLE  INC.  (CALIFORNIA  COI(l'ORAflON) 
I  INFJNJ  I 1: LOOP 
Registered  Dec.  14,2010 Clll'Fl<TINO, cA  '11014 
Int. Cl.: 9 
TRADEMARK 
PRINCIPAL REGISTER 
JIOJ{: t:Otvl1
1
(J'l.HR               l:'OH.               lJSI.:R SV1-r!"J:M Sl'l"J'IN<lS/INI l  l'll:I:J:J.:R-
l.NCI;S  Sf)[_ I)  AS  A  l;l.AllJI?.F  OF  COMPIJTI:RS  fiND  lJAND-ll.ELD          DIUITI\L 
J)JNJCES  COMPRISI:D  OF  MOHJLJ!             Dlt!UAL  i\UDlU  AND  Yll>h")  l'l.JWHRS, 
               C()l\,jJ
1
,JTnHS,                    J)JUI'IA!.                   AND  T\J.I':CTRONJ{' 
              OIHlANJ:t.I:RS,  IN               CI,,,S,  21, 23, /..(>,  )(1  /\ND     
         01
1
1  l S  Rl:u. NOS ..  M70,I)8111.Nl>               
THE  COLOR(::;)  UH.J\Y,  WI U              i\ND  HL/\CK  IS/ARI'  Cl.AIMELl .1\S 1\  FEAJURF 
OJ.  l'JJl:  MARK 
I JILMARK CONSHWS 01' I'ARTJ.AL I!YIA(lLSOI TJ  !I{J:J:(n<:A.RS S)  JOWN  IN (lR!\ Y, Wlllll: 
ANIJ  SILVI'Jt ON  A  IIACKOR01JND  01'  Ol<AY  W1T1J  l.ll.ACK  ])()18  ALL  CON'IAINii]) 
'WI I J liN A  I{Ji.C I.AN\lllLAl< (Jl{I!Y ANI) Will l I\ J'lo!.AMJ.  WIT! l RO!JNJlld l  CORNJ:_tu.; 
FRI D  CARL.  l::X!.MINING lll'TORNIY 
Ex.  18 
Reg.  No. 3,886, 169 
Al'PLlliNC. (CALIFORNIA  CORI'PRi\'llON) 
I I NHN11'1
1 
I,CX)I> 
Rcgistccd Dec. 7, 20 I 0  CUI'WIINo. cA      
Jnt. Cl.: 9  FOil  COMJ)lJ'I1'R  SOJo1iVAJUl  JIOR  COMI'OSIN<l,  IU'AI>IN<J,  SI'ARCIIINU, SIIAIUNO 
ANIHIYNI 'JNU 'I l:X I' l'llli.'l.IN         ')(US  l'I.S  21.l1. 26, lltANl> lij) 
TIV\ OV.MARK 
PRI NCIPAL REGISTER  OWNllR 01  US  llliO  NO  3.470,983 
nm COI.OR(S)YI!LI.OW,DitOWN AND GRAY IS/AIU  CI.AIMI'l)ASA I'I!Al1JRI
1
01' '1111. 
MAIU< 
11 IE  MARK  CONSIS'I S 01  A  RECTANOI.I  Willi  ROUNI)Jof)  t'OitNl,lt.'i  l>l!l'IC'I1NO A 
Sl YL!Zhl)                01' A J'A<Jii Oil Nctl HIIOOK  I'AI'I  II  1111:  ('ol,OR  Yl'l.l,OW 
Al'PI!ARS  IN  'Ill!  NOilillOOK  PIII'I!R.  Till!  C:OI.Oii  IIIIOWN AI'I'I!AIIS  AI  1111!  '101' 
AUOVI! Till! NOillUOOK I'AI'I'R ANU IN '1111  Vl' lniCAL l.INUI ON  I Ill!       1  SIOil Of' 
I In  Nm'P.HOOK PIIPP.R. ANI)TI rr. COLOR OR/\ Y  1\Jli'I!/\RS IN'I1 Ill I IORI/.ON II\ I  I.INP.S 
/\t'I<OSS ' I Ill! NO rL!IJUOK        
!UIR  NO  liS-1119,1%,111.1\D 421211111 
        IUUM, EXAMININU A'rt'llltNI(Y 
Ex.  19 
Reg.  No. 3,886, 197 
1\1'1'1.1! INC. (CI\t.IFORNIA C'ORJ'ORJ\'nON) 
1          llX)J> 
             Ucc. 7, 2010  CUI'I'tmNo.cA 95014 
Int. Cl.:  9  ttoR  coM!'tiTP.R soFT\\'AR!l R>R coN lAC 1 fNI oRMAtiON MANAUHMEN IWWAS 
PRINCIPAL REGISTER 
1\ HOI\TURilOFCOMI'tln:JU!I\NDIII\NDIIIll  D MOilll f1 Dl<llll\1, H.I\CTRONIC r>l!VICt:s 
CllMPRillrOOF Mf>Jlll P.PIIoNJl"'\  Ol(illl\1  AIIT>IOI\NI> VIIWO l'l.i\ YLitS. lli\Nl>llliLP 
COMl'IIrERS, PI!RSONI\l,  DICII1AI.                 AND  I.I.I:C""ffi()NIC  I'I'RSONI\1 , OR 
01\NI)'J,RS,INCI.I\SS>I(US  n.S 21,ll,ll.llii\N1>1M) 
        llSI! 6-f>l.21J()Q, IN  COMMt:RCl! (lo f92009 
OWNI  H 01'  U.S.  RI!G. NCl'\  3,462,199, ,,462,224,1\NI> 1,4711,'/M, 
I Ill t'()LUI<(I:i) !JROWN, WJlrJ IJ 1\NU ORI\Y  lll/1\lti'  CLAIMHD /\:! 1\  t'IJ/\1 Ulill OF  lilt 
MARK 
n  m  MI\RKCONSIST!H,II'A BROWN IU!"  I'IINill.I
1
WI II II{(lllNilt:J)('OI<NI'IlS I)JII'It'"I1Ntl 
A STYI.I/,1(1) W!Rfi I10\IND BOOK WITII'Il IH  SII ,IIOIJETI h 01
1
1\ MAN IN1111! MII)I)J,R 
rill; WlltH  BINIJIN(i