JP6734419B2 - メディア及びロケーションのキャプチャ及び伝送のためのメッセージユーザインタフェース - Google Patents

メディア及びロケーションのキャプチャ及び伝送のためのメッセージユーザインタフェース Download PDF

Info

Publication number
JP6734419B2
JP6734419B2 JP2019050138A JP2019050138A JP6734419B2 JP 6734419 B2 JP6734419 B2 JP 6734419B2 JP 2019050138 A JP2019050138 A JP 2019050138A JP 2019050138 A JP2019050138 A JP 2019050138A JP 6734419 B2 JP6734419 B2 JP 6734419B2
Authority
JP
Japan
Prior art keywords
touch
message
display
sensitive
affordance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019050138A
Other languages
English (en)
Other versions
JP2019146184A (ja
Inventor
ローレンス, ワイ. ヤング,
ローレンス, ワイ. ヤング,
ウー−ラム リー,
ウー−ラム リー,
ロベルト ガルシア,
ロベルト ガルシア,
ジャスティン ウッド,
ジャスティン ウッド,
カイル, エス. マッコーマー,
カイル, エス. マッコーマー,
アニル, ケー. カンダンガス,
アニル, ケー. カンダンガス,
シャオユアン ツ,
シャオユアン ツ,
ヴィーヴォ, オスカー モラレス
ヴィーヴォ, オスカー モラレス
クレイグ, エム. フェデリーギ,
クレイグ, エム. フェデリーギ,
イムラン チャウドリー,
イムラン チャウドリー,
ステファン, オー. ルメイ,
ステファン, オー. ルメイ,
ユージン, エム. ビストラス,
ユージン, エム. ビストラス,
アルヴィンド クリシュナスワミー,
アルヴィンド クリシュナスワミー,
Original Assignee
アップル インコーポレイテッドApple Inc.
アップル インコーポレイテッドApple Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US201462006071P priority Critical
Priority to US62/006,071 priority
Priority to US201462047622P priority
Priority to US62/047,622 priority
Priority to US14/503,386 priority
Priority to US14/503,376 priority patent/US9185062B1/en
Priority to US14/503,355 priority
Priority to US14/503,386 priority patent/US9207835B1/en
Priority to US14/503,355 priority patent/US20150350141A1/en
Priority to US14/503,376 priority
Application filed by アップル インコーポレイテッドApple Inc., アップル インコーポレイテッドApple Inc. filed Critical アップル インコーポレイテッドApple Inc.
Publication of JP2019146184A publication Critical patent/JP2019146184A/ja
Application granted granted Critical
Publication of JP6734419B2 publication Critical patent/JP6734419B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object or an image, setting a parameter value or selecting a range
    • G06F3/04842Selection of a displayed object
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 – G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1694Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0412Digitisers structurally integrated in a display
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object or an image, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for entering handwritten data, e.g. gestures, text
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the screen or tablet into independently controllable areas, e.g. virtual keyboards, menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation, e.g. computer aided management of electronic mail or groupware; Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/107Computer aided management of electronic mail
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00Arrangements for user-to-user messaging in packet-switching networks, e.g. e-mail or instant messages
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00Arrangements for user-to-user messaging in packet-switching networks, e.g. e-mail or instant messages
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Real-time or near real-time messaging, e.g. instant messaging [IM] interacting with other applications or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00Arrangements for user-to-user messaging in packet-switching networks, e.g. e-mail or instant messages
    • H04L51/08Messages including annexed information, e.g. attachments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00Arrangements for user-to-user messaging in packet-switching networks, e.g. e-mail or instant messages
    • H04L51/10Messages including multimedia information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00Arrangements for user-to-user messaging in packet-switching networks, e.g. e-mail or instant messages
    • H04L51/20Messaging using geographical location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00Arrangements for user-to-user messaging in packet-switching networks, e.g. e-mail or instant messages
    • H04L51/22Mailbox-related details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00Arrangements for user-to-user messaging in packet-switching networks, e.g. e-mail or instant messages
    • H04L51/34Arrangements for user-to-user messaging in packet-switching networks, e.g. e-mail or instant messages with provisions for tracking the progress of a message
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • H04M1/72433User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages for voice messaging, e.g. dictaphones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72454User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment ; Cameras comprising an electronic image sensor, e.g. digital cameras, video cameras, TV cameras, video cameras, camcorders, webcams, camera modules for embedding in other devices, e.g. mobile phones, computers or vehicles
    • H04N5/225Television cameras ; Cameras comprising an electronic image sensor, e.g. digital cameras, video cameras, camcorders, webcams, camera modules specially adapted for being embedded in other devices, e.g. mobile phones, computers or vehicles
    • H04N5/232Devices for controlling television cameras, e.g. remote control ; Control of cameras comprising an electronic image sensor
    • H04N5/23216Control of parameters, e.g. field or angle of view of camera via graphical user interface, e.g. touchscreen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment ; Cameras comprising an electronic image sensor, e.g. digital cameras, video cameras, TV cameras, video cameras, camcorders, webcams, camera modules for embedding in other devices, e.g. mobile phones, computers or vehicles
    • H04N5/225Television cameras ; Cameras comprising an electronic image sensor, e.g. digital cameras, video cameras, camcorders, webcams, camera modules specially adapted for being embedded in other devices, e.g. mobile phones, computers or vehicles
    • H04N5/232Devices for controlling television cameras, e.g. remote control ; Control of cameras comprising an electronic image sensor
    • H04N5/23293Electronic viewfinders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment ; Cameras comprising an electronic image sensor, e.g. digital cameras, video cameras, TV cameras, video cameras, camcorders, webcams, camera modules for embedding in other devices, e.g. mobile phones, computers or vehicles
    • H04N5/225Television cameras ; Cameras comprising an electronic image sensor, e.g. digital cameras, video cameras, camcorders, webcams, camera modules specially adapted for being embedded in other devices, e.g. mobile phones, computers or vehicles
    • H04N5/232Devices for controlling television cameras, e.g. remote control ; Control of cameras comprising an electronic image sensor
    • H04N5/23293Electronic viewfinders
    • H04N5/232933Graphical User Interface [GUI] specifically adapted for controlling image capture or setting capture parameters, e.g. using a touchscreen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment ; Cameras comprising an electronic image sensor, e.g. digital cameras, video cameras, TV cameras, video cameras, camcorders, webcams, camera modules for embedding in other devices, e.g. mobile phones, computers or vehicles
    • H04N5/225Television cameras ; Cameras comprising an electronic image sensor, e.g. digital cameras, video cameras, camcorders, webcams, camera modules specially adapted for being embedded in other devices, e.g. mobile phones, computers or vehicles
    • H04N5/232Devices for controlling television cameras, e.g. remote control ; Control of cameras comprising an electronic image sensor
    • H04N5/23293Electronic viewfinders
    • H04N5/232939Electronic viewfinders for displaying additional information relating to control or operation of the camera
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04808Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/22Details of telephonic subscriber devices including a touch pad, a touch sensor or a touch detector

Description

関連出願の相互参照
本出願は、2014年5月31日に出願された米国特許仮出願第62/006,071号、「MESSAGE USER INTERFACES FOR CAPTURE AND TRANSMITTAL OF MEDIA AND LOCATION CONTENT」、2014年9月8日に出願された米国特許仮出願第62/047,622号、「MESSAGE USER INTERFACES FOR CAPTURE AND TRANSMITTAL OF MEDIA AND LOCATION CONTENT」、2014年9月30日に出願された米国特許出願第14/503,376号、「MESSAGE USER INTERFACES FOR CAPTURE AND TRANSMITTAL OF MEDIA AND LOCATION CONTENT」、2014年9月30日に出願された米国特許出願第14/503,386号、「MESSAGE USER INTERFACES FOR CAPTURE AND TRANSMITTAL OF MEDIA AND LOCATION CONTENT」、及び2014年9月30日に出願された米国特許出願第14/503,355号、「MESSAGE USER INTERFACES FOR CAPTURE AND TRANSMITTAL OF MEDIA AND LOCATION CONTENT」に対する優先権を主張する。これらの出願の内容は本明細書において全ての目的のために参照により組み込まれる。
本出願は、2011年6月3日に出願された米国特許出願第13/153,374号、「MOTION PATTERN CLASSIFICATION AND GESTURE RECOGNITION」、及び2011年6月3日に出願された米国特許出願第13/153,335号、「MOTION−BASED DEVICE OPERATIONS」に関連する。これらの出願の内容は本明細書において全ての目的のために参照により組み込まれる。
開示される例は概して、電子デバイスのユーザインタフェースに関する。
「背景技術」
メッセージは、音声、ビデオ、又は画像などの、種々のメディアを含むことができる。いくつかのシステムは、メディアをキャプチャし、伝送し、見るために、メッセージングアプリケーションの外部のメディアアプリケーションを立ち上げることをユーザに要求する場合がある。更に、メディアをメッセージ内に含めることは、コンテンツをキャプチャし、キャプチャされたコンテンツをメッセージ内に含め、メッセージを受信者へ送信するための複数のステップを実行することをユーザに要求する場合がある。このとき、受信者は、コンテンツを再生するか、若しくは見るために、複数のステップを実行するか、又は別個のメディアアプリケーションを明示的に立ち上げる場合がある。
メディアを共有することに加えて、ユーザはまた、メッセージアプリケーションの内部から自分たちのロケーション情報を1人以上の他のユーザと容易に共有するか、又は通信のための音声動作を開始したいと思う場合もある。メディア及びロケーション情報を迅速にキャプチャし、メッセージに含めて1人以上の受信者へ送信することを支援するか、又は1人以上の受信者への音声動作を開始するメッセージユーザインタフェースが望ましい。
しかし、電子デバイスを用いてメディア及びロケーション情報を共有するためのいくつかの技法は、概して、煩雑で非効率的である。例えば、メディア及び/又はロケーション情報の共有が支援される点において、既存の技法は、複数のキー押し又はキーストロークを含み得る、複雑で時間のかかるユーザインタフェースを用いる。既存の技術では、必要以上に時間がかかり、ユーザの時間及びデバイスのエネルギーを無駄にしてしまう。この後者の考慮事項は、バッテリ動作デバイスにおいては特に重要である。
いくつかの実施形態では、メッセージアプリケーションの内部からメディアをキャプチャし、送信するための方法は、タッチ感知面とディスプレイとを有する電子デバイスにおいて、ディスプレイ上に、メディアアフォーダンス、及びメッセージ会話の参加者の間で送信されたメッセージを表示するためのメッセージ領域を表示することと、ディスプレイ上におけるメディアアフォーダンスのロケーションに対応するタッチ感知面上のロケーションにおける接触を検出することを含む、タッチ感知面上におけるジェスチャを検出することと、接触を検出したことに応じて、ディスプレイ上に送信アフォーダンスを表示することと、タッチ感知面を横切る接触の移動を検出すること、及びそれに続き、タッチ感知面からの接触のリフトオフを検出することを含む、ジェスチャの続きを検出することと、接触が、ディスプレイ上における送信アフォーダンスのロケーションに対応するタッチ感知面上のロケーションへ移動したかどうかを判定することと、接触が、送信アフォーダンスのロケーションに対応するタッチ感知面上のロケーションへ移動したとの判定に従って、及びリフトオフを検出したことに応じて、ジェスチャの少なくとも一部分に応じてキャプチャされたメディアをメッセージ会話の参加者へ送信することと、を含む。
いくつかの実施形態では、メッセージアプリケーションの内部からビデオをキャプチャし、送信するための方法は、タッチ感知面とディスプレイとを有する電子デバイスにおいて、ディスプレイ上に、メディアアフォーダンス、及びメッセージ会話の参加者の間で送信されたメッセージを表示するためのメッセージ領域を表示することと、タッチ感知面上における第1の入力を検出することであって、第1の入力はディスプレイ上におけるメディアアフォーダンスのロケーションに対応する、ことと、第1の入力を検出したことに応じて、記録アフォーダンス及び送信アフォーダンスを表示することと、タッチ感知面上における第2の入力を検出することであって、第2の入力はディスプレイ上における記録アフォーダンスのロケーションに対応する、ことと、第2の入力を検出したことに応じて、ビデオを記録することを開始することと、タッチ感知面上における第3の入力を検出することであって、第3の入力はディスプレイ上における送信アフォーダンスのロケーションに対応する、ことと、第3の入力を検出したことに応じて、記録されたビデオを参加者へ送信することと、ディスプレイから送信アフォーダンス及び記録アフォーダンスを消去することと、を含む。
いくつかの実施形態では、メッセージアプリケーションの内部から音声メッセージをキャプチャし、送信し、再生するための方法は、タッチ感知面とディスプレイとを有する電子デバイスにおいて、メッセージ会話の第1の参加者から受信された第1の音声メッセージの表現を表示することと、第1の音声メッセージを再生せよとの要求を検出することと、要求を検出したことに応じて、第1の音声メッセージを再生することと、第1の音声メッセージを再生した後に、デバイスの持ち上げを検出することと、デバイスの持ち上げを検出したことに応じて、第2の音声メッセージを記録することと、第2の音声メッセージを記録した後に、第2の音声メッセージを第1の参加者へ送信することと、を含む。
いくつかの実施形態では、メッセージを会話内における表示のためにグループ化するための方法は、タッチ感知面とディスプレイとを備える電子デバイスにおいて、時間インターバル以内に第1の参加者から複数のメッセージを受信することと、複数のメッセージがメッセージグループ化基準を満たすかどうかを判定することと、複数のメッセージがメッセージグループ化基準を満たさないとの判定に従って、複数のメッセージを表現する複数の別個の境界されたメッセージ区域を表示することと、複数のメッセージがメッセージグループ化基準を満たすとの判定に従って、複数のメッセージを表現する、単一の、グループとして境界されたメッセージ区域を表示することと、を含む。
いくつかの実施形態では、メッセージ会話から、満期になったメッセージを削除するための方法は、タッチ感知面とディスプレイとを備える電子デバイスにおいて、第1のメッセージを受信することと、ディスプレイ上に第1のメッセージの表現を表示することであって、第1のメッセージは満期基準の満足時に削除されるようにスケジュールされる、ことと、第1のメッセージをキープするためのアフォーダンスを表示することと、アフォーダンスが満期基準の満足前に選択されたとの判定に従って、第1のメッセージをキープすることと、アフォーダンスの選択を検出することなく満期基準が満足されたとの判定に従って、ディスプレイ上に第1のメッセージの表現を表示することを中止することと、を含む。
いくつかの実施形態では、ロケーション情報を共有するための方法は、タッチ感知面とディスプレイとを備える電子デバイスにおいて、ディスプレイ上に、メッセージ会話の第1の参加者と第2の参加者との間で送信されたメッセージを表示するためのメッセージ領域を表示することと、第1の参加者のロケーションを、このロケーションが少なくとも所定の期間にわたって変化する際に、第2の参加者と共有するためのロケーション共有アフォーダンスを表示することと、ロケーション共有アフォーダンスの選択を検出することと、ロケーション共有アフォーダンスの選択を検出したことに応じて、少なくとも所定の期間中に、第2の参加者に、第2の参加者が第1の参加者の現在のロケーションを判定することを可能にする情報を提供することと、を含む。
いくつかの実施形態では、会話にメディアを追加するための方法は、カメラセンサと、タッチ感知面と、ディスプレイとを有する電子デバイスにおいて、ディスプレイ上に、メッセージ会話を表示するためのメッセージ領域を表示することと、メッセージ会話にメディアを追加せよとの要求を受信することと、要求を受信したことに応じて、メッセージ会話の少なくとも一部分と同時にメディア選択インタフェースを表示することであって、メディア選択インタフェースは、メディアをメッセージ会話への追加のために選択するための複数のアフォーダンスを含み、複数のアフォーダンスの少なくともサブセットは、メッセージ会話に追加するために利用可能なメディアのサムネイル表現を含む、ことと、複数のアフォーダンスからのそれぞれのアフォーダンスの選択を検出することと、それぞれのアフォーダンスの選択を検出したことに応じて、対応するメディアをメッセージ会話への追加のために選択することと、を含む。
いくつかの実施形態では、音声動作を開始するための方法は、マイクロフォンを備える電子デバイスにおいて、電子デバイスの運動、及び1つ以上の近接センサの測定値に基づいてデバイスのコンテクストの変化を検出することと、デバイスのコンテクストの変化を検出したことに応じて、デバイスが音声動作基準を満たすかどうかを判定することであって、音声動作基準は、電子デバイスの運動が運動基準を満足し、1つ以上の近接センサ測定値が近接基準を満足すると満たされる基準を含む、ことと、デバイスのコンテクストの変化が音声動作基準を満足するとの判定に従って、音声動作を開始することと、デバイスのコンテクストの変化が音声動作基準を満足しないとの判定に従って、音声動作の開始を見送ることと、を含む。
いくつかの実施形態では、音声メッセージを送信するための方法は、少なくとも1つのマイクロフォンを備える電子デバイスにおいて、指定された連絡先のための音声メッセージを記録せよとの要求として解釈される1つ以上の条件を検出することと、1つ以上の条件を検出したことに応じて、少なくとも1つのマイクロフォンを用いて音声記録を生成することと、音声記録が拒否基準を満たすかどうかを判定することと、拒否基準が満足されないとの判定に従って、音声記録を、指定された連絡先へ送信することと、拒否基準が満足されるとの判定に従って、指定された連絡先への音声記録の送信を見送ることと、を含む。
いくつかの実施形態では、メディアをキャプチャし、送信するための方法は、タッチ感知面とディスプレイとを有する電子デバイスにおいて、ディスプレイ上に、メディアアフォーダンス、メッセージ作成フィールド、及び参加者の間のメッセージ会話を表示することであって、メッセージ会話はメッセージ領域内に表示される、ことと、ディスプレイ上におけるメディアアフォーダンスのロケーションに対応するタッチ感知面上のロケーションにおける接触を検出することと、接触を検出したことに応じて、メッセージ作成フィールド内にライブメディアプレビュを表示することと、タッチ感知面からの接触のリフトオフを検出することと、リフトオフを検出したことに応じて、ライブメディアプレビュに基づく新しい画像をキャプチャすることと、キャプチャされた画像をメッセージ会話の参加者へ送信することと、を含む。
いくつかの実施形態に係る、タッチ感知ディスプレイを備えるポータブル多機能デバイスを示すブロック図である。
いくつかの実施形態に係る、イベント処理のための例示的な構成要素を示すブロック図である。
いくつかの実施形態に係る、タッチスクリーンを有するポータブル多機能デバイスを示す図である。
いくつかの実施形態に係る、ディスプレイ及びタッチ感知面を備える例示的な多機能デバイスのブロック図である。
いくつかの実施形態に係る、ポータブル多機能デバイス上のアプリケーションのメニューのための例示的なユーザインタフェースを示す図である。
いくつかの実施形態に係る、ディスプレイとは別個のタッチ感知面を備える多機能デバイスのための例示的なユーザインタフェースを示す図である。
いくつかの実施形態に係るパーソナル電子デバイスを示す図である。
いくつかの実施形態に係るパーソナル電子デバイスを示すブロック図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。 いくつかの実施形態に係る例示的なメッセージングユーザインタフェースを示す図である。
いくつかの実施形態に係る、メディアをキャプチャし、送信するためのプロセスを示すフロー図である。
いくつかの実施形態に係る、メディアをキャプチャし、送信するためのプロセスを示すフロー図である。
いくつかの実施形態に係る、メディアをキャプチャし、送信するためのプロセスを示すフロー図である。
いくつかの実施形態に係る、メッセージをグループ化するためのプロセスを示すフロー図である。
いくつかの実施形態に係る、満期基準に基づいてメッセージを管理するためのプロセスを示すフロー図である。
いくつかの実施形態に係る、ロケーション情報を共有するためのプロセスを示すフロー図である。
いくつかの実施形態に係る、会話にメディアを追加するためのプロセスを示すフロー図である。
いくつかの実施形態に係る、音声動作を開始するためのプロセスを示すフロー図である。
いくつかの実施形態に係る、音声動作を開始するためのプロセスを示すフロー図である。 いくつかの実施形態に係る、音声動作を開始するためのプロセスを示すフロー図である。
いくつかの実施形態に係る、音声動作を開始するためのプロセスを示すフロー図である。 いくつかの実施形態に係る、音声動作を開始するためのプロセスを示すフロー図である。
いくつかの実施形態に係る、音声動作を開始するためのプロセスを示すフロー図である。 いくつかの実施形態に係る、音声動作を開始するためのプロセスを示すフロー図である。 いくつかの実施形態に係る、音声動作を開始するためのプロセスを示すフロー図である。
いくつかの実施形態に係る、音声動作を開始するためのプロセスを示すフロー図である。 いくつかの実施形態に係る、音声動作を開始するためのプロセスを示すフロー図である。
いくつかの実施形態に係る、音声動作を開始するためのプロセスを示すフロー図である。
いくつかの実施形態に係る、音声動作を開始するためのプロセスを示すフロー図である。 いくつかの実施形態に係る、音声動作を開始するためのプロセスを示すフロー図である。
いくつかの実施形態に係る、音声動作を開始するためのプロセスを示すフロー図である。
いくつかの実施形態に係る、音声記録を送信するためのプロセスを示すフロー図である。
いくつかの実施形態に係る、音声記録を送信するためのプロセスを示すフロー図である。 いくつかの実施形態に係る、音声記録を送信するためのプロセスを示すフロー図である。
いくつかの実施形態に係る、音声記録を送信するためのプロセスを示すフロー図である。 いくつかの実施形態に係る、音声記録を送信するためのプロセスを示すフロー図である。
いくつかの実施形態に係る、音声記録を送信するためのプロセスを示すフロー図である。 いくつかの実施形態に係る、音声記録を送信するためのプロセスを示すフロー図である。
いくつかの実施形態に係る、メディアをキャプチャし、送信するためのプロセスを示すフロー図である。
いくつかの実施形態に係る電子デバイスの機能ブロック図である。
いくつかの実施形態に係る電子デバイスの機能ブロック図である。
いくつかの実施形態に係る電子デバイスの機能ブロック図である。
いくつかの実施形態に係る電子デバイスの機能ブロック図である。
いくつかの実施形態に係る電子デバイスの機能ブロック図である。
いくつかの実施形態に係る電子デバイスの機能ブロック図である。
いくつかの実施形態に係る電子デバイスの機能ブロック図である。
いくつかの実施形態に係る電子デバイスの機能ブロック図である。
いくつかの実施形態に係る電子デバイスの機能ブロック図である。
いくつかの実施形態に係る電子デバイスの機能ブロック図である。
以下の説明では、例示的な方法、パラメータなどが記載される。ただし、このような説明は、本開示の範囲に対する限定として意図されているのではなく、代わりに、例示的な実施形態の説明として提供されることを理解されたい。
ポータブル電子デバイス上でメディアコンテンツ又はロケーションデータをキャプチャし、送信し、再生するためのより高速で、より効率的な方法及びインタフェースを有する電子デバイスが必要とされている。例えば、ユーザがメッセージングアプリケーションの内部からメディアコンテンツをキャプチャし、送信することを可能にするユーザインタフェースは、このようなコンテンツを共有するために必要な入力の数を低減し、メッセージ会話に参加しているユーザの認知負担を軽減することができ、それにより、生産性を向上させる。更に、そのような技術は、そうでなければ余分なユーザ入力において浪費される、プロセッサ及びバッテリ電力を低減し得る。
以下において、図1A〜図1B、図2、図3、図4A〜図4B、図5A〜図5B、及び図50〜図59は、メディアオブジェクト又はロケーションコンテンツをキャプチャし、送信し、かつ再生するか、又は見るための技法を実行するための例示的なデバイスの説明を提供する。図6A〜図32Cは、メディアオブジェクト又はロケーションコンテンツをキャプチャするか、送信するか、再生するか、又は見るため、及び記録された音声メッセージを送信するための例示的なユーザメッセージユーザインタフェースを示す。図33〜図49は、メディア及びロケーションコンテンツをキャプチャし、送信し、かつ再生するか、若しくは見る方法、メッセージを表示のためにグループ化する方法、会話から満期になったメッセージを消去する方法、音声動作を開始する方法、並びに記録されたメッセージを送信する方法を示すフロー図である。
以下の説明では、様々な要素を説明するために「第1」、「第2」などの用語が使用されるが、これらの要素はこれらの用語によって限定されるべきではない。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、説明されている様々な実施形態の範囲から逸脱することなく、第1のタッチは第2のタッチと称することができ、同様に、第2のタッチは第1のタッチと称し得る。第1のタッチと第2のタッチはともにタッチであるが、同じタッチではない。
本明細書で説明される様々な実施形態の説明で使用される用語法は、特定の実施形態を説明することのみを目的とするものであって、限定することを意図するものではない。説明される様々な実施形態の説明及び添付の特許請求の範囲で使用されるとき、単数形「a」、「an」、及び「the」は、文脈がそうではないことを明確に示さない限り、複数形もまた含むことが意図される。本明細書で使用されるときに、用語「及び/又は」が、関連する列挙された項目のうちの1つ以上の全ての可能な任意の組み合わせを指し、かつこれを含むことをもまた理解されたい。更に、用語「includes(含む)」、「including(含む)」、「comprises(備える)」、及び/又は「comprising(備える)」は、本明細書で使用される場合、記述される特徴、整数、ステップ、動作、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び/又はそれらの群の存在若しくは追加を排除するものではないことが理解されるであろう。
用語「if(〜場合に)」は、文脈に応じて「when(〜ときに)」、「upon(〜ときに)」、「in response to determining(〜という判定に応じて)」、又は「in response to detecting(〜を検出したことに応じて)」を意味すると解釈することができる。同様に、句「if it is determined(〜と判定される場合に)」又は「if[a stated condition or event]is detected([述べられる条件又はイベント]が検出される場合に)」は、文脈に応じて「upon determining(〜と判定される時に)」、「in response to determining(〜との判定に応じて)」、「upon detecting[the stated condition or event]([述べられる条件又はイベント]の検出時に)」、又は「in response to detecting[the stated condition or event]([述べられる条件又はイベント]の検出に応じて)」を意味すると解釈することができる。
電子デバイス、そのようなデバイス用のユーザインタフェース、及びそのようなデバイスを使用するための関連プロセスの、実施形態を説明する。いくつかの実施形態では、このデバイスは、PDA機能及び/又は音楽再生機能などの、他の機能をも含む、モバイル電話機などのポータブル通信デバイスである。ポータブル多機能デバイスの例示的な実施形態としては、限定するものではないが、California州CupertinoのApple Inc.からのiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)デバイスが挙げられる。タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を備えたラップトップ又はタブレットコンピュータなどの、他のポータブル電子デバイスも任意選択的に使用される。また、いくつかの実施形態では、デバイスはポータブル通信デバイスではなく、タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を備えたデスクトップコンピュータであることを理解されたい。
以下の論考では、ディスプレイ及びタッチ感知面を備える電子デバイスを説明する。しかし、電子デバイスは、物理キーボード、マウス、及び/又はジョイスティックなどの、1つ以上の他の物理ユーザインタフェースデバイスを任意選択的に含むことを理解されたい。デバイスは、描画アプリケーション、プレゼンテーションアプリケーション、ワードプロセッシングアプリケーション、ウェブサイト作成アプリケーション、ディスクオーサリングアプリケーション、スプレッドシートアプリケーション、ゲームアプリケーション、電話アプリケーション、テレビ会議アプリケーション、電子メールアプリケーション、インスタントメッセージングアプリケーション、トレーニングサポートアプリケーション、写真管理アプリケーション、デジタルカメラアプリケーション、デジタルビデオカメラアプリケーション、ウェブブラウジングアプリケーション、デジタル音楽プレーヤアプリケーション、及び/又はデジタルビデオプレーヤアプリケーションのうちの1つ以上などの、様々なアプリケーションをサポートしてもよい。
このデバイス上で実行される様々なアプリケーションは、タッチ感知面などの、少なくとも1つの共通の物理ユーザインタフェースデバイスを、任意選択的に使用する。タッチ感知面の1つ以上の機能並びにデバイス上に表示される対応する情報は、1つのアプリケーションから次のアプリケーションへ、及び/又は対応するアプリケーションの中で、任意選択的に、調整、及び/又は変更される。この方式で、そのデバイスの共通の(タッチ感知面などの)物理アーキテクチャは、ユーザにとって直観的かつ透過的なユーザインタフェースを有する様々なアプリケーションを、任意選択的にサポートする。
ここで、タッチ感知ディスプレイを備えるポータブルデバイスの実施形態に注意を向ける。図1Aは、いくつかの実施形態に係る、タッチ感知ディスプレイシステム112を備えるポータブル多機能デバイス100を示すブロック図である。タッチ感知ディスプレイ112は、便宜上「タッチスクリーン」と呼ばれる場合があり、「タッチ感知ディスプレイシステム」として知られるか、又はそのように呼ばれる場合もある。デバイス100は、メモリ102(任意選択的に、1つ以上のコンピュータ可読記憶媒体を含む)、メモリコントローラ122、1つ以上の処理ユニット(CPU)120、周辺機器インタフェース118、RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、入出力(I/O)サブシステム106、その他の入力コントロールデバイス116、及び外部ポート124を含む。デバイス100は、1つ以上の光センサ164を、任意選択的に含む。デバイス100は、デバイス100(例えば、デバイス100のタッチ感知ディスプレイシステム112などのタッチ感知面)上の接触の強度を検出するための、1つ以上の接触強度センサ165を任意選択的に含む。デバイス100は、デバイス100上に触知出力を生成する(例えば、デバイス100のタッチ感知ディスプレイシステム112又はデバイス300のタッチパッド355などの、タッチ感知面上に触知出力を生成する)ための、1つ以上の触知出力生成器167を、任意選択的に含む。これらの構成要素は、1つ以上の通信バス又は信号ライン103を介して、任意選択的に通信する。
本明細書及び特許請求の範囲で使用されるとき、タッチ感知面上の接触の「強度」という用語は、タッチ感知面上の接触(例えば、指接触)の力又は圧力(単位面積当りの力)、あるいはタッチ感知面上の接触の力又は圧力の代替物(代用物)を指す。接触の強度は、少なくとも4つの異なる数値を含み、より典型的には、数百以上の異なる数値(例えば、少なくとも256)を含む、数値の範囲を有する。接触の強度は、様々な方法及び様々なセンサ、又はセンサの組み合わせを使用して、任意選択的に、判定(又は、測定)される。例えば、タッチ感知面の下に又は隣接して配置された1つ以上の力センサは、タッチ感知面上の様々な点における力を測定するために、任意選択的に用いられる。いくつかの実装において、複数の力センサの力測定値を組み合わせて(例えば、加重平均)、接触の推定の力を判定する。同様に、スタイラスの感圧性先端部を任意選択的に使用して、タッチ感知面上のスタイラスの圧力を判定する。別の方法としては、タッチ感知面上で検出される接触領域のサイズ及び/若しくはその変化、接触に近接するタッチ感知面の電気容量及び/若しくはその変化、並びに/又は、接触に近接するタッチ感知面の抵抗及び/若しくはその変化が、タッチ感知面上の接触の力又は圧力の代用物として、任意選択的に用いられる。いくつかの実装において、接触の力又は圧力の代替的測定値は、強度閾値を超えているかを判定するために直接に用いられる(例えば、強度閾値は、代替的測定値に対応する単位で記述される)。いくつかの実装において、接触の力又は圧力の代替的測定値は、推定される力又は圧力に変換され、この推定される力又は圧力を用いて、強度閾値を超えているか判定される(例えば、強度閾値は、圧力の単位で測定された圧力閾値である)。接触の強度をユーザ入力の属性として使用することは、アフォーダンスを(例えば、タッチ感知ディスプレイ上に)表示するため、及び/又はユーザ入力を(例えば、タッチ感知ディスプレイ、タッチ感知面、又はノブ若しくはボタンなどの物理的/機械的制御を介して)受信するための面積が制限された、低減されたサイズのデバイスにおいて、ユーザによるアクセスが他の場合に不可能であり得る、追加のデバイス機能へのユーザのアクセスを可能にする。
本明細書及び特許請求の範囲で使用されるとき、用語「触知出力」は、ユーザの触覚でユーザによって検出されることになる、デバイスの従前の位置に対するデバイスの物理的変位、デバイスの構成要素(例えば、タッチ感知面)の、デバイスの別の構成要素(例えば、筐体)に対する物理的変位、又はデバイスの質量中心に対する構成要素の変位を指す。例えば、デバイス又はデバイスの構成要素が、タッチに敏感なユーザの表面(例えば、ユーザの手の指、手のひら、又は他の部分)に接触している状況において、物理的変位によって生成された触知出力は、デバイス又はデバイスの構成要素の物理的特性の認識された変化に相当する触感として、ユーザによって解釈される。例えば、タッチ感知面(例えば、タッチ感知ディスプレイ又はトラックパッド)の移動は、ユーザによって、物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」として、任意選択的に解釈される。いくつかの場合、ユーザの移動により物理的に押された(例えば、変位された)タッチ感知面に関連付けられた物理アクチュエータボタンの移動がない時でさえ、ユーザは「ダウンクリック」又は「アップクリック」などの触感を感じる。別の例として、タッチ感知面の移動は、タッチ感知面の平滑度に変化がない時でさえ、タッチ感知面の「粗さ」としてユーザによって、任意選択的に、解釈又は感じられる。このようなユーザによるタッチの解釈は、ユーザの個別の感覚認知によるが、大多数のユーザに共通したタッチの感覚認知が数多くある。したがって、触知出力が、ユーザの特定の感覚認知(例えば、「アップクリック」「ダウンクリック」、「粗さ」)に対応するものと記述される場合、別途記載のない限り、生成された触知出力は、典型的な(又は、平均的な)ユーザの記述された感覚認知を生成するデバイス、又はデバイスの構成要素の物理的変位に対応する。
デバイス100は、ポータブル多機能デバイスの一実施例に過ぎず、デバイス100は、示されるものよりも多いか若しくは少ない構成要素を任意選択的に有するか、2つ以上の構成要素を任意選択的に組み合わせるか、又は構成要素の異なる構成若しくは配置を任意選択的に有することを理解されたい。図1Aに示される様々な構成要素は、1つ以上の信号処理回路及び/又は特定用途向け集積回路を含む、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの双方の組み合わせの形態で実装される。
メモリ102は、1つ以上のコンピュータ可読記憶媒体を含んでもよい。コンピュータ可読記憶媒体は、有形かつ非一時的であってもよい。メモリ102は高速ランダムアクセスメモリを含んでよく、また、1つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性固体メモリデバイスなどの、不揮発性メモリを含んでもよい。メモリコントローラ122は、デバイス100の他の構成要素によるメモリ102へのアクセスを制御してもよい。
周辺機器インタフェース118を使用して、このデバイスの入力及び出力周辺機器を、CPU120及びメモリ102に連結することができる。1つ以上のプロセッサ120は、デバイス100のための様々な機能を実行するため並びにデータ処理を行うために、メモリ102に記憶された様々なソフトウェアプログラム及び/若しくは命令セットを走らせたり、又は実行したりする。いくつかの実施形態では、周辺機器インタフェース118、CPU120、及びメモリコントローラ122はチップ104などの単一チップ上に実装されてもよい。一部の他の実施形態では、それらは、別個のチップ上に実装することができる。
RF(無線周波数)回路108は、電磁信号とも呼ばれるRF信号を送受信する。RF回路108は、電気信号を電磁信号に、又は電磁信号を電気信号に変換し、電磁信号を介して通信ネットワーク及び他の通信デバイスと通信する。RF回路108は、アンテナシステム、RF送受信機、1つ以上の増幅器、同調器、1つ以上の発振器、デジタル信号プロセッサ、CODECチップセット、加入者識別モジュール(SIM:subscriber identity module)カード、メモリなどを含むがこれらに限定されない、上記の機能を実行するための周知の回路を、任意選択的に含む。RF回路108は、インターネット情報検索システム(WWW)とも呼ばれるインターネットなどのネットワーク、セルラー電話ネットワークなどのイントラネット及び/又は無線ネットワーク、ワイアレスローカルエリアネットワーク(LAN)及び/又はメトロポリタンエリアネットワーク(MAN)、及び他のデバイスと無線通信によって、任意選択的に通信する。RF回路108は、狭域通信無線によるなどして、近距離通信(NFC:near field communication)の界を検出するための周知の回路を任意選択的に含む。無線通信は、複数の通信規格、通信プロトコル、及び通信技術のうちのいずれかを、任意選択的に使用し、それらの通信規格、通信プロトコル、及び通信技術としては、移動通信用のグローバルシステム(GSM(登録商標):Global System for Mobile Communications)、拡張データGSM環境(EDGE:Enhanced Data GSM Environment)、高速ダウンリンクパケット接続(HSDPA:high-speed downlink packet access)、高速アップリンクパケット接続(HSUPA:high-speed uplink packet access)、Evolution,Data−Only(EV−DO)、HSPA、HSPA+、2重セルHSPA(Dual−Cell HSPA、DC−HSPDA)、ロングタームエボリューション(LTE:long term evolution)、近距離無線通信(NFC:near field communication)、広帯域符号分割多元接続(W−CDMA:wideband code division multiple access)、符号分割多元接続(CDMA:code division multiple access)、時分割多元接続(TDMA:time division multiple access)、Bluetooth(登録商標)、Bluetooth Low Energy(BTLE)、Wireless Fidelity(Wi−Fi)(登録商標)(例えば、IEEE 802.11a、IEEE 802.11b、IEEE 802.11g、IEEE 802.11n、及び/又はIEEE 802.11ac)、ボイスオーバーインターネットプロトコル(VoIP:voice over Internet Protocol)、Wi−MAX、電子メール用のプロトコル(例えば、インターネットメッセージアクセスプロトコル(IMAP:Internet message access protocol)及び/又はポストオフィスプロトコル(POP:post office protocol)、インスタントメッセージング(例えば、拡張可能メッセージング及びプレゼンスプロトコル(XMPP:extensible messaging and presence protocol)、インスタントメッセージング及びプレゼンス利用拡張向けセッション開始プロトコル(SIMPLE:Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions)、インスタントメッセージング及びプレゼンスサービス(IMPS:Instant Messaging and Presence Service)、及び/又はショートメッセージサービス(SMS:Short Message Service)、あるいは本文書の出願日現在までに未だ開発されていない通信プロトコルを含めた任意の他の好適な通信プロトコルが挙げられるが、これらに限定されない。
オーディオ回路110、スピーカ111、及びマイクロフォン113は、ユーザとデバイス100との間のオーディオインタフェースを提供する。音声回路110は、周辺機器インタフェース118から音声データを受信し、音声データを電気信号に変換し、電気信号をスピーカ111に送信する。スピーカ111は、電気信号を人間の可聴音波に変換する。音声回路110は、マイクロフォン113により音波から変換された電気信号も受信する。音声回路110は、電気信号を音声データに変換し、処理するために音声データを周辺機器インタフェース118に送出する。オーディオデータは周辺機器インタフェース118によって、メモリ102及び/又はRF回路108から取得され、かつ/あるいはメモリ102及び/又はRF回路108に送信されてもよい。いくつかの実施形態では、オーディオ回路110は更にヘッドセットジャック(例えば、図2の212)を備える。ヘッドセットジャックは、オーディオ回路110と、出力専用ヘッドホン又は出力(例えば、片耳又は両耳用のヘッドホン)及び入力(例えば、マイクロフォン)の両方を持つヘッドセットなどの、取り外し可能なオーディオ入出力周辺機器との間のインタフェースを提供する。
I/Oサブシステム106は、周辺機器インタフェース118に、タッチスクリーン112及び他の入力コントロールデバイス116などのデバイス100の入出力周辺機器を連結する。I/Oサブシステム106は、ディスプレイコントローラ156、光センサコントローラ158、強度センサコントローラ159、触覚フィードバックコントローラ161、及び他の入力又は制御デバイス用の1つ以上の入力コントローラ160を任意選択的に含む。1つ以上の入力コントローラ160は、他の入力コントロールデバイス116から/へ電気信号を受信/送信する。他の入力コントロールデバイス116は、物理ボタン(例えば、プッシュボタン、ロッカボタンなど)、ダイヤル、スライダースイッチ、ジョイスティック、クリックホイールなどを、任意選択的に含む。いくつかの代替的実施形態では、入力コントローラ(1つ又は複数)160は、キーボード、赤外線ポート、USBポート、及びマウスなどのポインタデバイスのうちのいずれかに任意選択的に結合される(又は、いずれにも結合されない)。1つ以上のボタン(例えば、図2の208)は、スピーカ111及び/又はマイクロフォン113の音量調節のためのアップ/ダウンボタンを、任意選択的に、含む。1つ以上のボタンは、プッシュボタン(例えば、図2の206)を、任意選択的に、含む。
2005年12月23日に出願された、米国特許第7,657,849号である米国特許出願第11/322,549号、「Unlocking a Device by Performing Gestures on an Unlock Image」に記載されているように、プッシュボタンの素早い押下により、タッチスクリーン112のロックが解かれるか、又はタッチスクリーン上のジェスチャを用いてデバイスをロック解除する処理が開始されてもよい。同出願はその全体が本明細書において参照により組み込まれている。プッシュボタン(例えば、206)のより長い押下により、デバイス100への電源が入れられるか又は切られてもよい。ユーザは、1つ以上のボタンの機能性をカスタマイズすることが可能であってもよい。タッチスクリーン112は、仮想又はソフトボタン及び1つ以上のソフトキーボードを実現するために用いられる。
タッチ感知ディスプレイ112は、デバイスとユーザとの間の入力インタフェース及び出力インタフェースを提供する。ディスプレイコントローラ156は、タッチスクリーン112から/へ電気信号を受信し及び/又は送信する。タッチスクリーン112は、ユーザに視覚出力を表示する。この視覚出力は、グラフィック、テキスト、アイコン、ビデオ、及びそれらの任意の組み合わせ(「グラフィック」と総称される)を含み得る。いくつかの実施形態では、これらの視覚出力の一部又は全てはユーザインタフェースオブジェクトに対応してもよい。
タッチスクリーン112は、触覚及び/若しくは触知接触に基づくユーザからの入力を受け付けるタッチ感知面、センサ、又はセンサのセットを有する。タッチスクリーン112及びディスプレイコントローラ156(メモリ102内の任意の関連モジュール及び/又は命令セットと共に)は、タッチスクリーン112上における接触(並びに接触の任意の移動若しくは中断)を検出し、検出された接触を、タッチスクリーン112上に表示されたユーザインタフェースオブジェクト(例えば、1つ以上のソフトキー、アイコン、ウェブページ、又は画像)との対話に変換する。ある例示的な実施形態では、タッチスクリーン112とユーザとの間の接触点は、ユーザの指に対応する。
タッチスクリーン112は、LCD(liquid crystal display、液晶ディスプレイ)技術、LPD(light emitting polymer display、発光ポリマーディスプレイ)技術、又はLED(light emitting diode、発光ダイオード)技術を用いてもよいが、他の実施形態では、その他のディスプレイ技術が使用されてもよい。タッチスクリーン112及びディスプレイコントローラ156は、限定するものではないが、静電容量技術、抵抗性技術、赤外線技術、及び表面超音波技術、並びにタッチスクリーン112との1つ以上の接触点を判定するための、他の近接センサアレイ又は他の要素を含む、現在知られているか若しくは今後開発される複数のタッチ感知技術のうちのいずれかを使用して、接触及びそのあらゆる移動若しくは中断を検出してもよい。例示的な実施形態では、California州CupertinoのApple Inc.からのiPhone(登録商標)及びiPod Touch(登録商標)において見られるものなどの、投影型相互キャパシタンス感知技術が使用されている。
タッチスクリーン112のいくつかの実施形態におけるタッチ感知ディスプレイは、以下の米国特許、第6,323,846号(Westermanら)、第6,570,557号(Westermanら)、及び/若しくは第6,677,932号(Westerman)、並びに/又は米国特許出願公開第2002/0015024(A1)号に記載されているマルチタッチ感知タッチパッドに類似していてもよい。これらの文献はそれぞれその全体が本明細書において参照により組み込まれている。ただし、タッチスクリーン112はデバイス100からの視覚出力を表示するのに対して、タッチ感知タッチパッドは視覚出力を提供しない。
タッチスクリーン112のいくつかの実施形態におけるタッチ感知ディスプレイは、以下の出願で説明されているとおりであってもよい。(1)米国特許出願第11/381,313号、「Multipoint Touch Surface Controller」、2006年5月2日出願、(2)米国特許出願第10/840,862号、「Multipoint Touchscreen」、2004年5月6日出願、(3)米国特許出願第10/903,964号、「Gestures For Touch Sensitive Input Devices」、2004年7月30日出願、(4)米国特許出願第11/048,264号、「Gestures For Touch Sensitive Input Devices」、2005年1月31日出願、(5)米国特許出願第11/038,590号、「Mode−Based Graphical User Interfaces For Touch Sensitive Input Devices」、2005年1月18日出願、(6)米国特許出願第11/228,758号、「Virtual Input Device Placement On A Touch Screen User Interface」、2005年9月16日出願、(7)米国特許出願第11/228,700号、「Operation Of A Computer With A Touch Screen Interface」、2005年9月16日出願、(8)米国特許出願第11/228,737号、「Activating Virtual Keys Of A Touch−Screen Virtual Keyboard」、2005年9月16日出願、及び(9)米国特許出願第11/367,749号、「Multi−Functional Hand−Held Device」、2006年3月3日出願。これらの出願は全てそれらの全体が本明細書において参照により組み込まれている。
タッチスクリーン112は、100dpiを超えるビデオ解像度を有してもよい。いくつかの実施形態において、タッチスクリーンは約160dpiの映像解像度を有する。ユーザは、スタイラス、指などの、任意の好適な物体又は付属物を使用して、タッチスクリーン112に接触してよい。いくつかの実施形態では、ユーザインタフェースは、主として指に基づく接触及びジェスチャで機能するように設計され、タッチスクリーン上の指の接触面積が広いことにより、スタイラスに基づく入力よりも精度が低いことがある。いくつかの実施形態では、デバイスは、粗い、指に基づく入力を、正確なポインタ/カーソル位置又はユーザの望むアクションを実行するためのコマンドに変換する。
いくつかの実施形態では、タッチスクリーンに加えて、デバイス100は、特定の機能をアクティブ化又は停止させるためのタッチパッド(図示せず)を含んでもよい。いくつかの実施形態において、タッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しない、デバイスのタッチ感知エリアである。タッチパッドは、タッチスクリーン112とは別個のタッチ感知面、又はタッチスクリーンによって形成されるタッチ感知面の拡張部であってもよい。
デバイス100はまた、様々な構成要素に電力を供給するための電力システム162をも含む。電力システム162は、電力管理システム、1つ以上の電源(例えば、バッテリ、交流(AC:alternating current))、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態インジケータ(例えば、発光ダイオード(LED))、並びにポータブルデバイスにおける電力の生成、管理、及び分配に関連付けられる任意の他の構成要素を含んでもよい。
デバイス100は1つ以上の光センサ164も含んでもよい。図1Aは、I/Oサブシステム106内の光センサコントローラ158に結合された光センサを示す。光センサ164は、電荷結合素子(CCD:charge-coupled device)又は相補的金属酸化物半導体(CMOS:complementary metal-oxide semiconductor)フォトトランジスタを含んでもよい。光センサ164は、1つ以上のレンズを通して投影された、環境からの光を受光し、その光を、画像を表すデータに変換する。撮像モジュール143(カメラモジュールとも呼ばれる)と連動して、光センサ164は静止画像又はビデオを取り込んでもよい。いくつかの実施形態では、タッチスクリーンディスプレイを静止画像及び/又はビデオ画像取得のためのビューファインダとして使用することができるように、デバイスの前面のタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に光センサが配置されている。いくつかの実施形態では、ユーザが他のテレビ会議参加者をタッチスクリーンディスプレイ上で見るのと同時に、ユーザの画像をテレビ会議のために得ることができるように、デバイスの前面に光センサが配置されている。いくつかの実施形態では、光センサ164の位置はユーザによって(例えば、デバイス筐体内のレンズ及びセンサを回転させることによって)変更することができ、それにより、単一の光センサ164をタッチスクリーンディスプレイと共にビデオ会議並びに静止画像及び/若しくはビデオ画像取得のどちらにも用い得るようにしている。
デバイス100はまた、1つ以上の接触強度センサ165をも任意選択的に含む。図1Aは、I/Oサブシステム106内の強度センサコントローラ159に結合された接触強度センサを示す。接触強度センサ165は、1つ以上のピエゾ抵抗ひずみゲージ、電気容量式力センサ、電気力センサ、圧電力センサ、光学力センサ、容量式タッチ感知面、又は他の強度センサ(例えば、タッチ感知面上の接触の力(又は圧力)を測定するために使用するセンサ)を、任意選択的に含む。接触強度センサ165は、環境から接触強度情報(例えば、圧力情報又は圧力情報のプロキシ)を受信する。いくつかの実施形態において、少なくとも1つの接触強度センサが、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)に併置されているか、又は近接している。いくつかの実施形態では、少なくとも1つの接触強度センサが、デバイス100の前面に配置されたタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に配置されている。
デバイス100は1つ以上の近接センサ166を含んでもよい。図1Aは、周辺機器インタフェース118に結合された近接センサ166を示す。その代わりに、近接センサ166は、I/Oサブシステム106内の入力コントローラ160に結合されてもよい。近接センサ166は、米国特許出願第11/241,839号、「Proximity Detector In Handheld Device」、第11/240,788号、「Proximity Detector In Handheld Device」、第11/620,702号、「Using Ambient Light Sensor To Augment Proximity Sensor Output」、第11/586,862号、「Automated Response To And Sensing Of User Activity In Portable Devices」、及び第11/638,251号、「Methods And Systems For Automatic Configuration Of Peripherals」で説明されているように動作してもよく、これらの文献は、その全体が参照により本明細書に組み込まれる。一部の実施形態では、この多機能デバイスが、ユーザの耳の近くに配置される場合(例えば、ユーザが電話通話を行っている場合)、近接センサは、タッチスクリーン112をオフにして無効化する。
デバイス100はまた、1つ以上の触知出力生成器167をも任意選択的に含む。図1Aは、I/Oサブシステム106内の触覚フィードバックコントローラ161に結合された触知出力生成器を示す。触知出力生成器167は、スピーカ又は他の音声構成要素などの1つ以上の電気音響デバイス、及び/又はモータ、ソレノイド、電気活性ポリマ、圧電アクチュエータ、静電アクチュエータ、若しくは他の触知出力構成要素(例えば、デバイス上で電気信号を触知出力に変換する構成要素)などの、エネルギーを直線運動に変換する電気機械デバイスを、任意選択的に含む。接触強度センサ165は、触覚フィードバックモジュール133から触知フィードバック生成命令を受信し、デバイス100のユーザが感知できる触知出力をデバイス100上で生成する。いくつかの実施形態において、少なくとも1つの触知出力生成器は、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)と併置されているか、又は近接しており、任意選択的に、タッチ感知面を垂直方向に(例えば、デバイス100の表面の内/外)又は横方向(例えば、デバイス100の表面と同じ平面の前後方向)に移動することによって、触知出力を生成する。いくつかの実施形態において、少なくとも1つの触知出力生成器センサは、デバイス100の前面に配置されたタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に配置されている。
デバイス100は更に、1つ以上の加速度計168を備えてもよい。図1Aは、周辺機器インタフェース118に結合された加速度計168を示す。その代わりに、加速度計168は、I/Oサブシステム106内の入力コントローラ160に結合されてもよい。加速度計168は、米国特許出願公開第20050190059号、「Acceleration−based Theft Detection System for Portable Electronic Devices」、及び米国特許出願公開第20060017692号、「Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer」に記載されているように動作してもよい。これらの文献はどちらも、その全体が参照により本明細書に組み込まれる。いくつかの実施形態において、情報は、1つ以上の加速度計から受信したデータの分析に基づいて、ポートレートビュー又はランドスケープビューでタッチスクリーンディスプレイ上に表示される。デバイス100は、必要に応じて、加速度計(1つ又は複数)168に加えて、磁力計(図示せず)並びにデバイス100の位置及び向き(例えば、ポートレート又はランドスケープ)に関する情報を取得するためのGPS(又はGLONASS又は他のグローバルナビゲーションシステム)受信部(図示せず)を、任意選択的に含む。
いくつかの実施形態において、メモリ102に記憶されたソフトウェアコンポーネントは、オペレーティングシステム126、通信モジュール(又は命令セット)128、接触/動きモジュール(又は命令セット)130、グラフィックモジュール(又は命令セット)132、テキスト入力モジュール(又は命令セット)134、全地球測位システム(GPS)モジュール(又は命令セット)135、及びアプリケーション(命令セット)136を含む。更に、いくつかの実施形態では、図1A及び図3に示されるように、メモリ102(図1A)又は370(図3)は、デバイス/グローバル内部状態157を記憶する。デバイス/グローバル内部状態157は、以下の1つ以上を含む:現在アクティブ状態のアプリケーションがあれば、どのアプリケーションがアクティブかを示す、アクティブアプリケーション状態、どのアプリケーション、ビュー、又は他の情報がタッチスクリーンディスプレイ112の様々な領域を占領しているかを示す、表示状態、デバイスの様々なセンサ及び入力コントロールデバイス116から得られる情報を含む、センサ状態、並びに、デバイスの位置及び/又は姿勢に関する位置情報。
オペレーティングシステム126(例えば、Darwin(登録商標)、RTXC(登録商標)、LINUX(登録商標)、UNIX(登録商標)、OS X(登録商標)、iOS(登録商標)、WINDOWS(登録商標)、又はVxWorks(登録商標)などの組み込みオペレーティングシステム)は、一般的なシステムタスク(例えば、メモリ管理、記憶デバイス制御、電力管理など)を制御及び管理するための様々なソフトウェアコンポーネント及び/又はドライバを含み、様々なハードウェアとソフトウェアコンポーネントとの間の通信を容易にする。
通信モジュール128は、1つ以上の外部ポート124を介して他のデバイスとの通信を容易にし、RF回路108及び/又は外部ポート124が受信したデータを処理するための様々なソフトウェア構成要素を含む。外部ポート124(例えば、ユニバーサルシリアルバス(USB)、FIREWIRE(登録商標)など)は、直接的に、又はネットワーク(例えば、インターネット、無線LANなど)を介して間接的に他のデバイスに連結するように適合される。いくつかの実施形態では、外部ポートは、iPod(登録商標)(Apple Inc.の商標)デバイス上で使用される30ピンコネクタと同一の、又はこれに類似した及び/若しくは互換性のあるマルチピン(例えば、30ピン)コネクタである。
接触/動きモジュール130は、(ディスプレイコントローラ156と併せて)タッチスクリーン112との接触、及び他のタッチ感知デバイス(例えば、タッチパッド又は物理クリックホイール)との接触を任意選択的に検出する。接触/動きモジュール130は、接触が発生したかどうかの判定(例えば、指を下ろすイベントの検出)、接触の強度(例えば、接触の力若しくは圧力、又は、接触の力若しくは圧力の代替物)の判定、接触の移動及びタッチ感知面にわたる動きの追跡(例えば、1つ以上の指をドラッグするイベントの検出)があるかどうかの判定、及び接触が中止したかどうか(例えば、指を上げるイベント又は接触の中断の検出)の判定などの、接触の検出に関係する様々な動作を実行するための様々なソフトウェア構成要素を含む。接触/動きモジュール130は、タッチ感知面から接触データを受信する。一連の接触データにより表される接触点の移動を判定することは、接触点の速さ(大きさ)、速度(大きさ及び方向)、及び/又は加速度(大きさ及び/又は方向の変化)を判定することを、任意選択的に含む。これらの動作は、任意選択的に、単一の接触(例えば、1つの指の接触)又は複数の同時接触(例えば、「マルチタッチ」/複数の指の接触)に適用される。いくつかの実施形態において、接触/動きモジュール130及びディスプレイコントローラ156は、タッチパッド上の接触を検出する。
いくつかの実施形態では、接触/動きモジュール130は、ユーザによって動作が実行されたか否かを判定するための(例えば、ユーザがアイコン上で「クリック」したか否かを判定するための)、1つ以上の強度閾値のセットを使用する。いくつかの実施形態では、少なくとも強度閾値のサブセットが、ソフトウェアパラメータに従って判定される(例えば、強度閾値は、特定の物理アクチュエータのアクティブ化閾値によって判定されず、デバイス100の物理ハードウェアを変更することなく調整し得る)。例えば、トラックパッド又はタッチスクリーンディスプレイのマウス「クリック」閾値は、トラックパッド又はタッチスクリーンディスプレイハードウェアを変更することなく広範囲の既定の閾値のうちのいずれかに設定し得る。加えて、いくつかの実装形態では、デバイスのユーザには、(例えば、個々の強度閾値を調整することにより、及び/又はシステムレベルのクリック「強度」パラメータを用いて複数の強度閾値を一挙に調整することによって)強度閾値のセットのうちの1つ以上を調整するためのソフトウェア設定が提供されている。
接触/動きモジュール130は、任意選択的に、ユーザによるジェスチャ入力を検出する。タッチ感知面上の異なるジェスチャは、異なる接触パターン(例えば、異なる動き、タイミング、及び/又は検出された接触の強度)を有する。したがって、ジェスチャは、特定の接触パターンを検出することによって、任意選択的に、検出される。例えば、指のタップジェスチャを検出することは、指を下ろすイベントを検出し、続いて(例えば、アイコンの位置での)その指を下ろすイベントと同じ位置(又は、実質的に同じ位置)で指を上げる(リフトオフする)イベントを検出することを含む。別の実施例として、タッチ感知面上でのフィンガスワイプジェスチャを検出することは、指を下ろすイベントを検出することと、それに続く1つ以上の指をドラッグするイベントを検出することと、それに続く、指を上げる(リフトオフする)イベントを検出することとを含む。
グラフィックモジュール132は、表示されるグラフィックの視覚的効果(例えば、輝度、透明度、彩度、コントラスト、又は他の視覚特性)を変更するための構成要素を含む、タッチスクリーン112又は他のディスプレイ上にグラフィックをレンダリングして表示するための、様々な既知のソフトウェア構成要素を含む。本明細書で使用するとき、用語「グラフィック」は、ユーザに対して表示することができる任意のオブジェクトを含み、それらのオブジェクトとしては、テキスト、ウェブページ、アイコン(ソフトキーを含むユーザインタフェースオブジェクトなど)、デジタル画像、ビデオ、アニメーションなどが挙げられるが、これらに限定されない。
いくつかの実施形態において、グラフィックモジュール132は、使用されるグラフィックを表すデータを記憶する。それぞれのグラフィックには、対応するコードが、任意選択的に、割り当てられる。グラフィックモジュール132は、アプリケーションなどから、必要に応じて、座標データ及び他のグラフィックプロパティデータと共に、表示されるグラフィックを指定する1つ以上のコードを受信し、ディスプレイコントローラ156に出力する画面画像データを生成する。
触覚フィードバックモジュール133は、デバイス100とのユーザ対話に応じて、デバイス100上の1つ以上の場所で触知出力を生成するために、触知出力生成器(1つ又は複数)167によって使用される命令を生成するための、様々なソフトウェア構成要素を含む。
テキスト入力モジュール134は、グラフィックモジュール132の構成要素であってもよく、様々なアプリケーション(例えば、連絡先137、電子メール140、IM 141、ブラウザ147、及びテキスト入力を必要とする任意の他のアプリケーション)でテキストを入力するための、ソフトキーボードを提供する。
GPSモジュール135は、デバイスのロケーションを判定し、この情報を、様々なアプリケーションで使用するために(例えば、ロケーションベースのダイヤル発呼で使用するために電話138へ、写真/ビデオのメタデータとしてカメラ143へ、並びに、気象ウィジェット、地域のイエローページウィジェット、及び地図/ナビゲーションウィジェットなどの、ロケーションベースのサービスを提供するアプリケーションへ)提供する。
アプリケーション136は、以下のモジュール(若しくは、命令のセット)、又はそれらのサブセット若しくはスーパーセットを含んでもよい。
●連絡先モジュール137(時として、アドレス帳又は連絡先リストと呼ばれる)、
●電話モジュール138、
●テレビ会議モジュール139、
●電子メールクライアントモジュール140、
●インスタントメッセージング(IM:Instant Messaging)モジュール141、
●トレーニングサポートモジュール142、
●静止画像及び/若しくはビデオ画像用のカメラモジュール143、
●画像管理モジュール144、
●ビデオプレーヤモジュール、
●音楽プレーヤモジュール、
●ブラウザモジュール147、
●カレンダーモジュール148、
●気象ウィジェット149−1、株式ウィジェット149−2、計算機ウィジェット149−3、アラーム時計ウィジェット149−4、辞書ウィジェット149−5、及びユーザが取得した他のウィジェット、及びユーザ作成ウィジェット149−6のうちの1つ以上を含むことができる、ウィジェットモジュール149、
●ユーザ作成ウィジェット149−6を作るためのウィジェットクリエータモジュール150、
●検索モジュール151、
●ビデオプレーヤモジュール及び音楽プレーヤモジュールを統合した、ビデオ及び音楽プレーヤモジュール152、
●メモモジュール153、
●地図モジュール154、並びに/又は
●オンラインビデオモジュール155。
メモリ102内に記憶されてもよい他のアプリケーション136の例としては、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、JAVA(登録商標)対応アプリケーション、暗号化、デジタル著作権管理、音声認識、及び音声複製が挙げられる。
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、連絡先モジュール137は、(例えば、メモリ102又はメモリ370内の連絡先モジュール137のアプリケーション内部状態192内に記憶された)アドレス帳又は連絡先リストを管理するために使用されてもよく、この管理には、アドレス帳に名前(1つ1つ又は複数)を追加すること、アドレス帳から名前(1つ又は複数)を削除すること、電話番号(1つ又は複数)、メールアドレス(1つ又は複数)、住所(1つ又は複数)、又は他の情報を名前と関連付けること、画像を名前と関連付けること、名前を分類して振り分けること、電話番号又はメールアドレスを提供し、電話138、テレビ会議モジュール139、電子メール140、若しくはIM 141による通信を開始させること、及び/又は促進すること、などが含まれる。
RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、電話モジュール138は、電話番号に対応する一連の文字を入力し、連絡先モジュール137内の1つ以上の電話番号にアクセスし、入力されている電話番号を修正し、それぞれの電話番号をダイヤルし、会話を遂行し、会話が完了した際に接続を切るか又は電話を切るために、使用されてもよい。上述のように、無線通信は、複数の通信規格、通信プロトコル、及び通信技術のうちのいずれかを使用してもよい。
RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、光センサ164、光センサコントローラ158、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、連絡先モジュール137、及び電話モジュール138と関連して、テレビ会議モジュール139は、ユーザの指示に従い、ユーザと1人以上の他の参加者との間のテレビ会議を開始し、遂行し、終了するための実行可能命令を含む。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、電子メールクライアントモジュール140は、ユーザの指示に応じて、電子メールを作成し、送信し、受信し、管理するための実行可能命令を含む。画像管理モジュール144と併せて、電子メールクライアントモジュール140により、カメラモジュール143で撮影した静止画像又はビデオ画像を有する電子メールを作成及び送信することが非常に簡単になる。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、インスタントメッセージングモジュール141は、インスタントメッセージに対応する一連の文字を入力し、以前に入力された文字を修正し、(例えば、電話ベースのインスタントメッセージ用のショートメッセージサービス(SMS)若しくはマルチメディアメッセージサービス(MMS)プロトコルを使用して、又はインターネットベースのインスタントメッセージ用のXMPP、SIMPLE、若しくはIMPSを使用して)それぞれのインスタントメッセージを送信し、インスタントメッセージを受信し、受信されたインスタントメッセージを見るための、実行可能命令を含む。いくつかの実施形態では、送信及び/又は受信されるインスタントメッセージは、MMS及び/又は拡張メッセージングサービス(EMS:Enhanced Messaging Service)でサポートされているとおりの、グラフィック、写真、オーディオファイル、ビデオファイル、及び/又は他の添付物を含んでもよい。本明細書で使用するとき、「インスタントメッセージング」とは、電話ベースのメッセージ(例えば、SMS又はMMSを使用して送信されるメッセージ)及びインターネットベースのメッセージ(例えば、XMPP、SIMPLE又はIMPSを使用して送信されるメッセージ)の双方を示す。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、地図モジュール154、及び音楽プレーヤモジュールと関連して、トレーニングサポートモジュール142は、(例えば、時間、距離、及び/又はカロリー燃焼目標を有する)トレーニングを作成する、トレーニングセンサ(スポーツデバイス)と通信する、トレーニングセンサデータを受信する、トレーニングをモニタリングするために用いられるセンサを測定する、トレーニング用の音楽を選択して再生する、並びに、トレーニングデータを表示、記憶、及び送信するための、実行可能命令を含む。
タッチスクリーン112、ディスプレイコントローラ156、光センサ(1つ1つ又は複数)164、光センサコントローラ158、接触/動きモジュール130、グラフィックモジュール132、及び画像管理モジュール144と関連して、カメラモジュール143は、静止画像若しくはビデオ(ビデオストリームを含む)をキャプチャしてメモリ102内にそれらを記憶するか、静止画像若しくはビデオの特性を変更するか、又はメモリ102から静止画像若しくはビデオを削除するための実行可能命令を含む。
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びカメラモジュール143と関連して、画像管理モジュール144は、静止画像及び/又はビデオ画像を配列し、修正(例えば、編集)するか若しくは他の方式で操作し、ラベルを付け、削除し、(例えば、デジタルスライドショー又はアルバム内で)提示し、記憶するための実行可能命令を含む。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、ブラウザモジュール147は、ウェブページ又はそれらの一部、並びにウェブページにリンクされた添付物及び他のファイルを検索し、リンク付け、受信し、表示することを含む、ユーザの指示に従い、インターネットをブラウズするための実行可能命令を含む。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と関連して、カレンダーモジュール148は、ユーザの指示に従い、カレンダー及びカレンダーに関連付けられたデータ(例えば、カレンダー項目、ToDoリストなど)を作成し、表示し、変更し、記憶するための実行可能命令を含む。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と関連して、ウィジェットモジュール149は、ユーザによってダウンロードされ、使用されることが可能なミニアプリケーション(例えば、気象ウィジェット149−1、株価ウィジェット149−2、計算機ウィジェット149−3、アラーム時計ウィジェット149−4、及び辞書ウィジェット149−5)、又はユーザによって作成されることが可能なミニアプリケーション(例えば、ユーザ作成ウィジェット149−6)である。いくつかの実施形態では、ウィジェットは、HTML(ハイパーテキストマークアップ言語)ファイル、CSS(カスケーディングスタイルシート)ファイル、及びJavaScriptファイルを含む。一部の実施形態では、ウィジェットは、XML(拡張可能マークアップ言語)ファイル及びJavaScript(登録商標)ファイル(例えば、Yahoo!(登録商標)ウィジェット)を含む。ウィジェット)を含む。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と関連して、ウィジェットクリエータモジュール150は、ウィジェットを作成する(例えば、ウェブページのユーザ指定箇所をウィジェットに変える)ために、ユーザによって使用されてもよい。
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、検索モジュール151は、ユーザの指示に従い、1つ以上の検索基準(例えば、1つ以上のユーザ指定の検索語句)と一致する、メモリ102内のテキスト、音楽、音、画像、ビデオ、及び/又は他のファイルを検索するための実行可能命令を含む。
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、オーディオ回路110、スピーカ111、RF回路108、及びブラウザモジュール147と関連して、ビデオ及び音楽プレーヤモジュール152は、MP3又はAACファイルなどの1つ以上のファイル形式で記憶された録音済みの音楽又は他のサウンドファイルをユーザがダウンロード及び再生できるようにする実行可能命令、並びにビデオを(例えば、タッチスクリーン112上、又は外部ポート124を介して接続された外部のディスプレイ上に)表示、提示、又は別の方法で再生するための実行可能命令を含む。いくつかの実施形態において、デバイス100は、任意選択的に、iPod(Apple Inc.の登録商標)などのMP3プレーヤの機能を含む。
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、メモモジュール153は、ユーザの指示に従い、メモ、ToDoリスト、及び同様のものを作成し、管理するための実行可能命令を含む。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、及びブラウザモジュール147と関連して、地図モジュール154は、ユーザの指示に従い、地図及び地図に関連付けられたデータ(例えば、運転の道順、特定のロケーション又はその近くの店舗及びその他の見所のデータ、並びに他のロケーションベースのデータ)を受信し、表示し、変更し、記憶するために使用されてもよい。
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、オーディオ回路110、スピーカ111、RF回路108、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と関連して、オンラインビデオモジュール155は、ユーザが、特定のオンラインビデオにアクセスし、閲覧し、(例えば、ストリーミング及び/又はダウンロードによって)受信し、(例えば、タッチスクリーン上で、又は外部ポート124を介して接続された外部のディスプレイ上で)再生し、そのオンラインビデオへのリンクを有する電子メールを送信し、また他の方式で、H.264などの1つ以上のファイル形式でオンラインビデオを管理することが可能となる、命令を含む。いくつかの実施形態においては、電子メールクライアントモジュール140ではなく、インスタントメッセージモジュール141が、特定のオンラインビデオへのリンクを送信するために用いられる。2007年6月20日に出願された米国特許仮出願第60/936,562号、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」、及び2007年12月31日に出願された米国特許出願第11/968,067号、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」に、オンラインビデオアプリケーションの追加の説明を見いだすことができる。これらの出願の内容はその全体が本明細書において参照により組み込まれている。
上記で特定されたモジュール及びアプリケーションのそれぞれは、1つ以上の上記の機能を実行するための実行可能命令セット、並びに本出願に記載の方法(例えば、コンピュータにより実行される方法及び本明細書に記載の他の情報処理方法)に対応する。これらのモジュール(例えば、命令のセット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、それゆえ、様々な実施形態では、これらのモジュールの様々なサブセットを組み合わせるか、又は他の方式で再編成することができる。例えば、ビデオプレーヤモジュールは音楽プレーヤモジュールと組み合わせて単一のモジュール(例えば、ビデオ及び音楽プレーヤモジュール152、図1A)にされてもよい。いくつかの実施形態では、メモリ102は、上記で識別されたモジュール及びデータ構造のサブセットを記憶することができる。更に、メモリ102は、上述されていない追加のモジュール及びデータ構造を記憶してもよい。
いくつかの実施形態では、デバイス100は、デバイス上の機能の既定のセットの動作が排他的にタッチスクリーン及び/又はタッチパッドを介して実行されるデバイスである。デバイス100の動作のための主要な入力コントロールデバイスとしてタッチスクリーン及び/又はタッチパッドを使用することにより、デバイス100上の物理的な入力コントロールデバイス(プッシュボタン、ダイヤル、及び同様のものなど)の数を減らすことができる。
排他的にタッチスクリーン及び/又はタッチパッドを介して実行される、既定の機能のセットは、任意選択的に、ユーザインタフェース間のナビゲーションを含む。いくつかの実施形態において、タッチパッドは、ユーザによってタッチされると、デバイス100上に表示される任意のユーザインタフェースから、メインメニュー、ホームメニュー、又はルートメニューへデバイス100をナビゲートする。このような実施形態では、タッチパッドを用いて「メニューボタン」が実装される。いくつかの他の実施形態では、メニューボタンは、タッチパッドの代わりに、物理的なプッシュボタン又は他の物理的な入力コントロールデバイスである。
図1Bは、いくつかの実施形態に係る、イベント処理のための例示的な構成要素を示すブロック図である。いくつかの実施形態では、メモリ102(図1A)又は370(図3)は、イベントソータ170(例えば、オペレーティングシステム126内)並びにそれぞれのアプリケーション136−1(例えば、上述のアプリケーション137〜151、155、及び380〜390のいずれか)を含む。イベントソータ170は、イベント情報を受け付け、イベント情報を配布するアプリケーション136−1及びアプリケーション136−1のアプリケーションビュー191を決定する。イベントソータ170は、イベントモニタ171及びイベントディスパッチャモジュール174を含む。いくつかの実施形態では、アプリケーション136−1は、アプリケーションが活動状態又は実行中である時に、タッチ感知ディスプレイ112上に表示されている現在のアプリケーションビュー(1つ又は複数)を指示する、アプリケーション内部状態192を含む。いくつかの実施形態では、デバイス/グローバル内部状態157は、いずれのアプリケーションが現在アクティブであるかを判定するために、イベントソータ170によって使用され、アプリケーション内部状態192は、イベント情報の配信先となるアプリケーションビュー191を決定するために、イベントソータ170によって使用される。
いくつかの実施形態では、アプリケーション内部状態192は、アプリケーション136−1が実行を再開する際に使用される再開情報、アプリケーション136−1によって情報が表示されているか又は表示の準備が整っていることを示すユーザインタフェース状態情報、ユーザがアプリケーション136−1の以前の状態又はビューに戻ることを可能にするための状態待ち行列、及びユーザが以前に行ったアクションのリドゥ/アンドゥ待ち行列のうちの1つ以上などの、追加情報を含む。
イベントモニタ171は、周辺機器インタフェース118からイベント情報を受信する。イベント情報は、サブイベント(例えば、マルチタッチジェスチャの一部としての、タッチ感知ディスプレイ112上でのユーザのタッチ)についての情報を含む。周辺機器インタフェース118は、I/Oサブシステム106又は(オーディオ回路110を介して)近接センサ166、加速度計(1つ又は複数)168、及び/若しくはマイクロフォン113などのセンサから受信する情報を送信する。周辺機器インタフェース118がI/Oサブシステム106から受け取る情報は、タッチ感知ディスプレイ112又はタッチ感知面からの情報を含む。
いくつかの実施形態では、イベントモニタ171は、所定の間隔で周辺機器インタフェース118に要求を送る。これに応じて、周辺機器インタフェース118は、イベント情報を送出する。他の実施形態では、周辺機器インタフェース118は、重要なイベント(例えば、所定のノイズ閾値を超える、及び/又は所定の持続時間よりも長い入力を受信すること)がある場合にのみイベント情報を送出する。いくつかの実施形態では、イベントソータ170はまた、ヒットビュー判定モジュール172及び/又はアクティブイベント認識部判定モジュール173も含む。
ヒットビュー判定モジュール172は、タッチ感知ディスプレイ112が1つ以上のビューを表示した際に、1つ以上のビュー内のどこでサブイベントが発生したかを判定するためのソフトウェア手順を提供する。ビューは、ユーザがディスプレイ上で見ることが可能な、制御部及び他の要素で構成される。
アプリケーションに関連付けられるユーザインタフェースの別の態様は、本明細書では、アプリケーションビュー又はユーザインタフェースウィンドウと呼ばれる場合がある、ビューのセットであり、それらの中で、情報が表示され、タッチに基づくジェスチャが実施される。タッチが検出される(それぞれのアプリケーションの)アプリケーションビューは、アプリケーションのプログラム階層又はビュー階層内のプログラムレベルに対応してもよい。例えば、タッチが検出される最低レベルのビューはヒットビューと呼ばれてもよく、適切な入力として認識されるイベントのセットは、少なくとも部分的には、タッチベースのジェスチャを開始する最初のタッチのヒットビューに基づいて判定されてもよい。
ヒットビュー判定モジュール172は、タッチベースのジェスチャのサブイベントと関連付けられた情報を受け取る。アプリケーションが、階層として編成された複数のビューを有する場合、ヒットビュー判定モジュール172は、サブイベントを処理するべき階層内の最下位のビューとして、ヒットビューを特定する。ほとんどの状況では、ヒットビューは、開始サブイベント(例えば、イベント又は潜在的なイベントを形成するサブイベントのシーケンスにおける最初のサブイベント)が発生する最低レベルのビューである。ヒットビューがヒットビュー判定モジュール172によって特定されると、ヒットビューは、通例、それがヒットビューとして特定された、同じタッチ又は入力ソースに関連する全てのサブイベントを受け付ける。
アクティブイベント認識部判定モジュール173は、ビュー階層内のどのビュー(1つ以上)がサブイベントの特定のシーケンスを受け取るべきかを判定する。いくつかの実施形態において、アクティブイベント認識部判定モジュール173は、ヒットビューのみがサブイベントの特定のシーケンスを受け付けるべきであると判定する。他の実施形態において、アクティブイベント認識部判定モジュール173は、サブイベントの物理的な位置を含む全てのビューはアクティブに関わっているビューであると判定し、したがって、全てのアクティブに関わっているビューは、サブイベントの特定のシーケンスを受け付けるべきであると判定する。他の実施形態では、タッチサブイベントがある特定のビューに関連付けられた領域に完全に限定されたとしても、階層の上位のビューはアクティブに関わっているビューのままであるであろう。
イベントディスパッチャモジュール174は、イベント情報をイベント認識部(例えば、イベント認識部180)に送信する。アクティブイベント認識部判定モジュール173を含む実施形態において、イベントディスパッチャモジュール174は、アクティブイベント認識部判定モジュール173により判定されたイベント認識部にイベント情報を配布する。いくつかの実施形態では、イベントディスパッチャモジュール174は、それぞれのイベント受信部182により取得されたイベント情報をイベント待ち行列内に記憶する。
いくつかの実施形態では、オペレーティングシステム126は、イベントソータ170を含む。あるいは、アプリケーション136−1が、イベントソータ170を含む。更に他の実施形態において、イベントソータ170は、スタンドアロンモジュール、又は接触/動きモジュール130などのメモリ102に記憶された他のモジュールの一部である。
いくつかの実施形態では、アプリケーション136−1は、そのアプリケーションのユーザインタフェースの各ビュー内で発生するタッチイベントを処理するための命令をそれぞれが含む、複数のイベントハンドラ190及び1つ以上のアプリケーションビュー191を含む。アプリケーション136−1のそれぞれのアプリケーションビュー191は、イベント認識部180のうちの1つ以上を含む。典型的に、それぞれのアプリケーョンビュー191は、複数のイベント認識部180を含む。他の実施形態において、イベント認識部180のうちの1つ以上は、ユーザインタフェースキット(図示せず)又はアプリケーション136−1が方法及び他の性質を継承する上位レベルのオブジェクトなど、別個のモジュールの一部である。いくつかの実施形態において、それぞれのイベントハンドラ190は、データアップデーター176、オブジェクトアップデーター177、GUIアップデーター178、及び/又はイベントソータ170から受け付けたイベントデータ179のうちの1つ以上を含む。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデーター176、オブジェクトアップデーター177、又はGUIアップデーター178を利用するか又は呼び出してもよい。あるいは、アプリケーションビュー191のうちの1つ以上は、1つ以上のそれぞれのイベントハンドラ190を含む。また、いくつかの実施形態において、データアップデーター176、オブジェクトアップデーター177、及びGUIアップデーター178のうちの1つ以上がそれぞれのアプリケーションビュー191内に含まれている。
それぞれのイベント認識部180は、イベントソータ170からイベント情報(例えば、イベントデータ179)を受信し、そのイベント情報からイベントを特定する。イベント認識部180は、イベント受信部182及びイベント比較部184を含む。いくつかの実施形態では、イベント認識部180は更に、メタデータ183及びイベント配信命令188(サブイベント配信命令を含んでいてもよい)の少なくともサブセットを含む。
イベント受信器182は、イベントソータ170からイベント情報を受信する。イベント情報は、例えば、タッチ又はタッチの移動などのサブイベントの情報を含む。サブイベントによっては、イベント情報は、サブイベントの位置などの追加情報をもまた含む。サブイベントがタッチの動きに関わる場合には、イベント情報はサブイベントの速さ及び方向を更に含んでもよい。いくつかの実施形態において、イベントは、ある方向から別の方向へ(例えば、ポートレートの向きからランドスケープの向きへ、又はその逆)のデバイスの回転を含み、イベント情報は、デバイスの現在の向き(デバイスの姿勢とも呼ばれる)についての対応する情報を含む。
イベント比較部184は、イベント情報を既定のイベント又はサブイベントの定義と比較し、その比較により、イベント又はサブイベントを判断、又はイベント若しくはサブイベントの状態を判定又は更新する。いくつかの実施形態において、イベント比較部184は、イベント定義186を含む。イベント定義186は、例えば、イベント1(187−1)、イベント2(187−2)などの、イベントの定義(例えば、サブイベントの既定のシーケンス)を含む。いくつかの実施形態において、イベント(187)内のサブイベントは、例えば、タッチ開始、タッチ終了、タッチの移動、タッチの中止、及び複数のタッチを含む。ある実施例において、イベント1(187−1)の定義は、表示されたオブジェクト上のダブルタップである。ダブルタップは、例えば、表示されたオブジェクト上の所定の段階についての第1のタッチ(タッチ開始)、所定の段階についての第1のリフトオフ(タッチ終了)、表示されたオブジェクト上の所定の段階についての第2のタッチ(タッチ開始)、及び所定の段階についての第2のリフトオフ(タッチ終了)を含む。別の実施例において、イベント2(187−2)の定義は、表示されたオブジェクト上のドラッグである。ドラッグは、例えば、表示されたオブジェクト上の所定の段階についてのタッチ(又は接触)、タッチ感知ディスプレイ112を横切るタッチの移動、及びタッチのリフトオフ(タッチ終了)を含む。いくつかの実施形態において、イベントは、1つ以上の関連付けられたイベントハンドラ190についての情報も含む。
いくつかの実施形態では、イベント定義187は、それぞれのユーザインタフェースオブジェクト用のイベントの定義を含む。いくつかの実施形態において、イベント比較部184は、サブイベントに関連付けられたユーザインタフェースオブジェクトを判定するヒットテストを実行する。例えば、3つのユーザインタフェースオブジェクトがタッチ感知ディスプレイ112に表示されるアプリケーションビューにおいて、タッチ感知ディスプレイ112上でタッチが検出されると、イベント比較部184は、3つのユーザインタフェースオブジェクトのうちのどれがタッチ(サブイベント)に関連付けられているかを判定するためのヒットテストを行う。表示されたそれぞれのオブジェクトが、それぞれのイベントハンドラ190に関連付けられている場合、イベント比較部はヒットテストの結果を用いて、アクティブ化する必要のあるイベントハンドラ190を判定する。例えば、イベント比較部184は、サブイベント及びヒットテストのトリガーとなるオブジェクトに関連付けられたイベントハンドラを選択する。
いくつかの実施形態では、各イベント(187)に関する定義はまた、サブイベントのシーケンスがイベント認識部のイベントタイプに対応するか否かが判定されるまで、イベント情報の配信を遅延させる、遅延作用も含む。
それぞれのイベント認識部180は、一連のサブイベントがイベント定義186のイベントのいずれとも一致しないと判定した場合、それぞれのイベント認識部180は、イベント不可能、イベント失敗、又はイベント終了の状態に入り、その後は、タッチベースのジェスチャの次のサブイベントを無視する。この状況では、もしあれば、ヒットビューについてアクティブのままである他のイベント認識部は、進行中のタッチベースのジェスチャのサブイベントの追跡及び処理を続行する。
いくつかの実施形態において、それぞれのイベント認識部180は、構成可能なプロパティ、フラグ、及び/又はイベント配信システムがアクティブに関わっているイベント認識部にどのようにサブイベント配信を実行するかについて示すリストを持つメタデータ183を含む。いくつかの実施形態において、メタデータ183は、イベント認識部が互いにどのように対話し得るか、又は対話することができるかについて示す構成可能なプロパティ、フラグ、及び/又はリストを含む。いくつかの実施形態において、メタデータ183は、構成可能なプロパティ、フラグ、及び/又はサブイベントがビュー階層又はプログラム階層内の様々なレベルに配布されるかどうかを示すリストを含む。
いくつかの実施形態において、それぞれのイベント認識部180は、イベントの1つ以上の特定のサブイベントが認識された時に、イベントに関連付けられたイベントハンドラ190をアクティブ化する。いくつかの実施形態において、それぞれのイベント認識部180は、イベントハンドラ190に、イベントに関連付けられたイベント情報を配布する。イベントハンドラ190をアクティブ化することと、それぞれのヒットビューにサブイベントを送信(及び送信を延期する)することとは、区別される。いくつかの実施形態において、イベント認識部180は、認識されたイベントに関連付けられたフラグをスローし、フラグに関連付けられたイベントハンドラ190はフラグをキャッチし、既定の処理を実行する。
いくつかの実施形態において、イベント配信命令188は、イベントハンドラをアクティブ化せずにサブイベントに関するイベント情報を配布するサブイベント配信命令を含む。その代わりに、サブイベント配信命令は、一連のサブイベントに関連付けられたイベントハンドラ又はアクティブに関わっているビューにイベント情報を配布する。一連のサブイベント又はアクティブに関わっているビューに関連付けられているイベントハンドラは、イベント情報を受け付け、所定の処理を実行する。
いくつかの実施形態において、データアップデーター176は、アプリケーション136−1で使用されるデータを作成及び更新する。例えば、データアップデーター176は、連絡先モジュール137内で使用される電話番号を更新するか、又はビデオプレーヤモジュール内で使用されるビデオファイルを記憶する。いくつかの実施形態において、オブジェクトアップデーター177は、アプリケーション136−1で使用されるオブジェクトを作成及び更新する。例えば、オブジェクトアップデーター177は、新たなユーザインタフェースオブジェクトを作成したり、ユーザインタフェースオブジェクトの位置を更新したりする。GUIアップデーター178は、GUIを更新する。例えば、GUIアップデーター178は、表示情報を準備し、タッチ感知ディスプレイ上に表示するため、表示情報をグラフィクモジュール132に送信する。
いくつかの実施形態では、イベントハンドラ190は、データアップデーター176、オブジェクトアップデーター177、及びGUIアップデーター178を含むか、若しくはそれらに対するアクセスを有する。いくつかの実施形態において、データアップデーター176、オブジェクトアップデーター177、及びGUIアップデーター178は、それぞれのアプリケーション136−1又はアプリケーションビュー191の1つのモジュールに含まれる。他の実施形態では、それらは、2つ以上のソフトウェアモジュールに含まれる。
タッチ感知ディスプレイ上のユーザのタッチのイベント処理に関する前述の論考はまた、入力デバイスを使用して多機能デバイス100を動作させるための他の形態のユーザ入力にも適用されるが、その全てがタッチスクリーン上で開始されるわけではないことが理解されよう。例えば、単一又は複数のキーボードの押下又は保持と任意選択的に連係させた、マウスの移動及びマウスボタンの押下、タッチパッド上におけるタップ、ドラッグ、スクロール等などの接触の移動、ペンスタイラス入力、デバイスの移動、口伝え、検出された眼球運動、バイオメトリック入力、及び/又はこれらの任意の組み合わせが、認識対象のイベントを定義するサブイベントに対応する入力として、任意選択的に利用される。
図2は、いくつかの実施形態に係る、タッチスクリーン112を有するポータブル多機能デバイス100を示す。タッチスクリーンは、ユーザインタフェース(UI)200内に1つ以上のグラフィックを、任意選択的に、表示する。後述する実施形態並びに本実施形態において、ユーザは、例えば、1本以上の指202(図には、正確な縮尺率では描かれていない)又は1つ以上のスタイラス203(図には、正確な縮尺率では描かれていない)を用いてグラフィック上でジェスチャを行うことにより、グラフィックのうちの1つ以上を選択できる。いくつかの実施形態において、ユーザが1つ以上のグラフィックとの接触を断った際に、1つ以上のグラフィックの選択が生じる。いくつかの実施形態では、ジェスチャは、1回以上のタップ、(左から右、右から左、上方向、及び/若しくは下方向への)1回以上のスワイプ、並びに/又はデバイス100と接触した指の(右から左、左から右、上方向、及び/若しくは下方向への)ローリングを任意選択的に含む。いくつかの実装又は状況において、グラフィックとの偶発的な接触は、グラフィックを選択しない例えば、選択に対応するジェスチャがタップである場合、アプリケーションアイコンの上をスワイプするスワイプジェスチャは、対応するアプリケーションを、任意選択的に、選択しない。
デバイス100はまた、「ホーム」又はメニューボタン204などの、1つ以上の物理ボタンも含み得る。前述したように、メニューボタン204は、デバイス100上で実行することができるアプリケーションのセット内の任意のアプリケーション136へのナビゲーションに使用されてもよい。あるいは、いくつかの実施形態において、メニューボタンは、タッチスクリーン112に表示されたGUIにおけるソフトキーとして実装されている。
いくつかの実施形態では、デバイス100は、タッチスクリーン112、メニューボタン204、デバイスへの電源をオン/オフし、デバイスをロックするためのプッシュボタン206、音量調整ボタン(1つ又は複数)208、加入者識別モジュール(subscriber identity module、SIM)カードスロット210、ヘッドセットジャック212、及びドッキング/充電用外部ポート124を含む。プッシュボタン206は、ボタンを押下して、既定の時間間隔にわたってボタンを押下された状態で保持することによって、デバイス上の電源をオン/オフし、ボタンを押下して、既定の時間間隔が経過する前にボタンを解放することによって、デバイスをロックし、かつ/又はデバイスをロック解除するか、若しくはロック解除処理を開始するために、任意選択的に使用される。代替的実施形態では、デバイス100は、マイクロフォン113を通して、一部の機能のアクティブ化又は非アクティブ化のための口頭入力を受け付ける。また、デバイス100は、タッチスクリーン112への接触の強度を検出するための1つ以上の接触強度センサ165及び/又はデバイス100のユーザの触覚出力を生成するための1つ以上の触覚出力生成器167を、任意選択的に、含む。
図3は、いくつかの実施形態に係る、ディスプレイ及びタッチ感知面を備える例示的な多機能デバイスのブロック図である。デバイス300は、ポータブルでなくてもよい。いくつかの実施形態において、デバイス300は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、マルチメディアプレーヤデバイス、ナビゲーションデバイス、教育的デバイス(子供の学習玩具など)、ゲームシステム、又は制御デバイス(例えば、ホーム又は業務用コントローラ)である。デバイス300は、典型的には、1つ以上の処理ユニット(CPU)310と、1つ以上のネットワーク又は他の通信インタフェース360と、メモリ370と、これらの構成要素を相互接続するための1つ以上の通信バス320とを含む。通信バス320は、システム構成要素間の通信を相互接続及び制御する回路(チップセットと称することがある)を、任意選択的に含む。デバイス300は、典型的にはタッチスクリーンディスプレイである、ディスプレイ340を備える入出力(I/O)インタフェース330を含む。I/Oインタフェース330はまた、キーボード及び/又はマウス(若しくは他のポインティングデバイス)350並びにタッチパッド355、デバイス300上に触知出力を生成するための(例えば、図1Aを参照して上述された触知出力生成器(1つ又は複数)167と同様の)触知出力生成器357、センサ359(例えば、光センサ、加速度センサ、近接センサ、タッチ感知センサ、及び/若しくは図1Aを参照して上述された接触強度センサ(1つ又は複数)165と同様の接触強度センサ)も任意選択的に含む。メモリ370は、DRAM、SRAM、DDR RAM、又は他のランダムアクセスソリッドステートメモリデバイスなどの、高速ランダムアクセスメモリを含み、また任意選択的に、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性半導体記憶デバイスなどの、不揮発性メモリを含む。メモリ370は、CPU(1つ又は複数)310からは離れて位置する1つ以上の記憶デバイスを、任意選択的に、含む。いくつかの実施形態では、メモリ370は、ポータブル多機能デバイス100(図1A)のメモリ102内に記憶されたプログラム、モジュール、及びデータ構造に類似する、プログラム、モジュール、及びデータ構造、又はそれらのサブセットを記憶する。更に、メモリ370は、携帯型多機能デバイス100のメモリ102内に存在しない追加プログラム、モジュール、及びデータ構造を記憶し得る。例えば、デバイス300のメモリ370は、描画モジュール380、プレゼンテーションモジュール382、ワードプロセッシングモジュール384、ウェブサイト作成モジュール386、ディスクオーサリングモジュール388、及び/又はスプレッドシートモジュール390を任意選択的に記憶するが、その一方で、ポータブル多機能デバイス100(図1A)のメモリ102は、これらのモジュールを任意選択的に記憶しない。
図3の上記で特定された要素の各々は、前述のメモリデバイスのうちの1つ以上の内部に記憶されてもよい。上記で識別されたモジュールうちのそれぞれは、上述した機能を実行するための命令セットに対応する。上記で特定されたモジュール若しくはプログラム(例えば、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、それゆえ、様々な実施形態では、これらのモジュールの様々なサブセットが組み合わせられるか、又は別の方法で再編成されてもよい。いくつかの実施形態では、メモリ370は、上記で識別されたモジュール及びデータ構造のサブセットを記憶することができる。更に、メモリ370は、上述されていない追加のモジュール及びデータ構造を記憶してもよい。
次に、例えば、ポータブル多機能デバイス100上に実装することができるユーザインタフェースの実施形態に注目を向ける。
図4Aは、いくつかの実施形態に係る、ポータブル多機能デバイス100上のアプリケーションのメニューのための例示的なユーザインタフェースを示す。同様のユーザインタフェースが、デバイス300上に実装されてもよい。いくつかの実施形態では、ユーザインタフェース400は、以下の要素、又はそれらのサブセット若しくはスーパーセットを含む。
●セルラー信号及びWi−Fi(登録商標)信号などの無線通信(1つ又は複数)に関する信号強度インジケータ(1つ又は複数)402、
●時間404、
●Bluetooth(登録商標)インジケータ405、
●バッテリ状態インジケータ406、
●以下のような、頻繁に使用されるアプリケーション用のアイコンを有するトレイ408、
○不在着信又は音声メールメッセージの数のインジケータ414を任意選択的に含む、「電話」とラベル付けされた、電話モジュール138用のアイコン416、
○未読電子メールの数のインジケータ410を任意選択的に含む、「メール」とラベル付けされた、電子メールクライアントモジュール140用のアイコン418、
○「ブラウザ」とラベル付けされた、ブラウザモジュール147用のアイコン420、及び
○「iPod」とラベル付けされた、iPod(Apple Inc.の商標)モジュール152とも称される、ビデオ及び音楽プレーヤモジュール152用のアイコン422、並びに
●以下のような、その他のアプリケーション用のアイコン、
○「メッセージ」とラベル付けされた、IMモジュール141用のアイコン424、
○「カレンダー」とラベル付けされた、カレンダーモジュール148用のアイコン426、
○「写真」とラベル付けされた、画像管理モジュール144用のアイコン428、
○「カメラ」とラベル付けされた、カメラモジュール143用のアイコン430、
○「オンラインビデオ」とラベル付けされた、オンラインビデオモジュール155用のアイコン432、
○「株価」とラベル付けされた、株価ウィジェット149−2用のアイコン434、
○「地図」とラベル付けされた、地図モジュール154用のアイコン436、
○「天気」とラベル付けされた、気象ウィジェット149−1用のアイコン438、
○「時計」とラベル付けされた、アラーム時計ウィジェット149−4用のアイコン440、
○「トレーニングサポート」とラベル付けされた、トレーニングサポートモジュール142用のアイコン442、
○「メモ」とラベル付けされた、メモモジュール153用のアイコン444、並びに
○デバイス100及びその様々なアプリケーション136に関する設定へのアクセスを提供する、「設定」とラベル付けされた、設定アプリケーション若しくはモジュール用のアイコン446。
図4Aに示されているアイコンのラベルは、単なる例示であることに留意されたい。例えば、ビデオ及び音楽プレーヤモジュール152用のアイコン422は、「音楽」又は「音楽プレーヤ」と任意選択的にラベル付けされてもよい。他のラベルが、様々なアプリケーションアイコンのために、任意選択的に使用される。いくつかの実施形態では、それぞれのアプリケーションアイコンに関するラベルは、それぞれのアプリケーションアイコンに対応するアプリケーションの名前を含む。いくつかの実施形態において、特定のアプリケーションアイコンのラベルは、特定のアプリケーションアイコンに対応するアプリケーションの名前とは異なる。
図4Bは、ディスプレイ450(例えば、タッチスクリーンディスプレイ112)とは別個のタッチ感知面451(例えば、図3のタブレット又はタッチパッド355)を備えるデバイス(例えば、図3のデバイス300)上の例示的なユーザインタフェースを示す。デバイス300はまた、タッチ感知面451上の接触の強度を検出するための、1つ以上の接触強度センサ(例えば、センサ357のうちの1つ以上)、及び/又はデバイス300のユーザに対する触知出力を生成するための、1つ以上の触知出力生成器359を任意選択的に含む。
以下の実施例のうちのいくつかは、タッチスクリーンディスプレイ112上での入力(タッチ感知面とディスプレイとが組み合わされている場合)を参照して説明されるが、いくつかの実施形態では、デバイスは、図4Bに示されるように、ディスプレイとは別個のタッチ感知面上での入力を検出する。いくつかの実施形態では、タッチ感知面(例えば、図4Bの451)は、ディスプレイ(例えば、450)上の主軸(例えば、図4Bの453)に対応する主軸(例えば、図4Bの452)を有する。これらの実施形態によれば、デバイスは、ディスプレイ上のそれぞれのロケーションに対応するロケーション(例えば、図4Bでは、460は468に対応し、462は470に対応する)におけるタッチ感知面451との接触(例えば、図4Bでの460及び462)を検出する。このように、タッチ感知面がディスプレイとは別個のものである場合には、タッチ感知面(例えば、図4Bの451)上でデバイスによって検出されたユーザ入力(例えば、接触460及び462、並びにそれらの移動)が、多機能デバイスのディスプレイ(例えば、図4Bの450)上のユーザインタフェースを操作するために、デバイスによって使用される。同様の方法が、本明細書に記載の他のユーザインタフェースに、任意選択的に使用されることを理解されたい。
更に加えて、以下の実施例は、主に指入力(例えば、指の接触、指のタップジェスチャ、指のスワイプジェスチャ)を参照して説明されるが、いくつかの実施形態では、それらの指入力のうちの1つ以上は、別の入力デバイスからの入力(例えば、マウスに基づく入力又はスタイラス入力)で置き換えられることを理解されたい。例えば、スワイプジェスチャは、任意選択的に、(例えば、接触の代わりに)マウスクリックと置換され、その後、(例えば、接触の移動の代わりに)スワイプの経路に沿ってカーソルの移動が行われる。別の実施例として、タップジェスチャは、(例えば、接触の検出に続いて接触の検出を停止する代わりに)カーソルがタップジェスチャの位置上に配置される間、任意選択的に、マウスクリックと置換される。同様に、複数のユーザ入力が同時に検出される時、複数のコンピュータマウスが同時に、任意選択的に用いられ、又はマウスと指接触が同時に任意選択的に用いられることが理解されよう。
図5Aは、例示的なパーソナル電子デバイス500を示す。デバイス500は、本体502を備える。いくつかの実施形態では、デバイス500は、デバイス100及び300に関して説明された特徴(例えば、図1A〜4B)のいくつか又は全てを含むことができる。いくつかの実施形態では、デバイス500は、タッチ感知ディスプレイスクリーン504、以下、タッチスクリーン504を有する。代替的に、又はタッチスクリーン504に加えて、デバイス500はディスプレイ及びタッチ感知面を有する。デバイス100及び300の場合と同様に、いくつかの実施形態では、タッチスクリーン504(又はタッチ感知面)は、加えられている接触(例えば、タッチ)の強度を検出するための1つ以上の強度センサを有してもよい。タッチスクリーン504(又はタッチ感知面)の1つ以上の強度センサは、タッチの強度を表す出力データを提供することができる。デバイス500のユーザインタフェースは、タッチの強度に基づきタッチに応答してもよく、これは、異なる強度のタッチはデバイス500上で異なるユーザインタフェース動作を呼び出してもよいことを意味する。
タッチ強度を検出及び処理するための技術は、例えば、関連出願である、2013年5月8日出願の「Device,Method,and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application」と題された国際特許出願第PCT/US2013/040061号、及び2013年11月11日出願の「Device,Method,and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships」と題された国際特許出願第PCT/US2013/069483号に見いだすことができる。これらの出願の各々はその全体が本明細書において参照により組み込まれる。
いくつかの実施形態では、デバイス500は、1つ以上の入力機構506及び508を有する。入力機構506及び508は、含まれている場合、物理的であってもよい。物理的入力機構の例は、プッシュボタン及び回転可能機構を含む。いくつかの実施形態では、デバイス500は、1つ以上の取付機構を有する。そのような取付機構は、含まれている場合、例えば、帽子、アイウェア、イヤリング、ネックレス、シャツ、ジャケット、ブレスレット、時計バンド、チェーン、ズボン、ベルト、靴、財布、バックパックなどへのデバイス500の取付を可能にしてもよい。これらの取付機構は、デバイス500がユーザによって着用されることを可能にしてもよい。
図5Bは、例示的なパーソナル電子デバイス500を示す。いくつかの実施形態では、デバイス500は、図1A、図1B、及び図3に関して説明された構成要素のいくつか又は全てを含むことができる。デバイス500は、I/O部514を1つ以上のコンピュータプロセッサ516及びメモリ518に動作可能に結合する、バス512を有する。I/O部514は、タッチ感知構成要素522、及び、任意選択的に、タッチ強度感知構成要素524を有し得る、ディスプレイ504に接続されてもよい。加えて、I/O部514は、Wi−Fi、Bluetooth、近距離通信(NFC)、セルラー及び/又は他の無線通信技術を使用してアプリケーション及びオペレーティングシステムデータを受信するための通信ユニット530に接続されてもよい。デバイス500は、入力機構506及び/又は508を備えてもよい。入力機構506は、例えば、回転可能入力デバイス、又は押下可能かつ回転可能入力デバイスであってもよい。入力機構508は、いくつかの実施例では、ボタンであってもよい。
入力機構508は、いくつかの実施例では、マイクロフォンであってもよい。パーソナル電子デバイス500は、GPSセンサ532、加速度計534、方向センサ540(例えば、コンパス)、ジャイロスコープ536、動きセンサ538、及び/又はこれらの組み合わせなどの様々なセンサを含むことができ、これらの全てはI/O部514に動作可能に接続されることができる。
パーソナル電子デバイス500のメモリ518は、1つ以上のコンピュータプロセッサ516によって実行されると、例えば、コンピュータプロセッサに、プロセス3300、3400、3500、3600、3700、3800、3900、4000、4600、及び4900(図33〜図49)を含む、上述された技法を実行させることができるコンピュータ実行可能命令を記憶するための、非一時的コンピュータ可読記憶媒体であることができる。コンピュータ実行可能命令はまた、コンピュータベースのシステム、プロセッサを含むシステム、又は、命令実行システム、装置、若しくはデバイスから命令をフェッチし、それらの命令を実行し得る他のシステムなどの、命令実行システム、装置、若しくはデバイスによって、又はこれらと関連して使用するために、任意の非一時的コンピュータ可読記憶媒体内に記憶し、及び/又は輸送することができる。本明細書の目的においては、「非一時的コンピュータ可読記憶媒体」は、命令実行システム、装置、若しくはデバイスによって、又はこれらと関連して使用するためのコンピュータ実行可能命令を有形的に収容又は記憶し得る、任意の媒体であることができる。非一時的コンピュータ可読記憶媒体は、磁気的、光学的、及び/又は半導体記憶装置を含み得るが、これらに限定されない。そのような記憶装置の例は、磁気ディスク、CD、DVD、又はBlu−ray技術に基づく光ディスク、及びフラッシュメモリ、ソリッドステートドライブなどの永続的ソリッドステートメモリを含む。パーソナル電子デバイス500は、図5Bの構成要素及び構成に限定されず、複数の構成において、他の又は追加の構成要素を含むことができる。
本明細書で使用するとき、用語「アフォーダンス」は、デバイス100、300、及び/又は500(図1、図3、及び図5)のディスプレイスクリーン上に表示され得るユーザ対話式のグラフィカルユーザインタフェースオブジェクトを指す。例えば、画像(例えば、アイコン)、ボタン、及びテキスト(例えば、ハイパーリンク)がそれぞれ、アフォーダンスを構成してもよい。
本明細書で使用されるとき、用語「フォーカスセレクタ」とは、ユーザが対話しているユーザインタフェースの現在の部分を示す、入力要素を指す。カーソル又は他のロケーションマーカを含むいくつかの実装形態では、カーソルは「フォーカスセレクタ」として機能し、それにより、カーソルが特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素)の上にある間に、タッチ感知面(例えば、図3のタッチパッド355、又は図4Bのタッチ感知面451)上で入力(例えば、押圧入力)が検出されると、その特定のユーザインタフェース要素が、検出された入力に従って調整される。タッチスクリーンディスプレイ上のユーザインタフェース要素との直接的な対話を可能にする、タッチスクリーンディスプレイ(例えば、図1Aのタッチ感知ディスプレイシステム112、又は図4Aのタッチスクリーン112)を含むいくつかの実装形態では、タッチスクリーン上で検出される接触が「フォーカスセレクタ」の役割を果たし、それにより、入力(例えば、接触による押圧入力)が、タッチスクリーンディスプレイ上において、特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素)のロケーションで検出されると、その特定のユーザインタフェース要素が、検出された入力に従って調節される。いくつかの実装において、(例えば、タブキー又は矢印キーを使ったフォーカスの1つのボタンから別のボタンへの移動により)タッチスクリーンディスプレイ上の対応するカーソルの移動又は接触の移動なしに、フォーカスが、ユーザインタフェースの1つの領域からユーザインタフェースの別の領域に移動される。これらの実装において、フォーカスセレクタは、ユーザインタフェースの異なる領域間でのフォーカスの移動に従って移動する。フォーカスセレクタが取る特定のフォームに関係なく、フォーカスセレクタは、全体的に、ユーザのユーザインタフェースとの意図した(例えば、ユーザが対話したいと思っているユーザインタフェースの要素をデバイスに指示することによる)対話を伝達するように、ユーザによって制御されたユーザインタフェース要素(又は、タッチスクリーンディスプレイ上の接触)である。例えば、押下げ入力がタッチ感知面(例えば、タッチパッド又はタッチスクリーン)上で検出された時にそれぞれのボタンの上にあるフォーカスセレクタ(例えば、カーソル、接触又は選択ボックス)の位置は、(デバイスのディスプレイ上に示されている他のユーザインタフェース要素とは反対に)ユーザが、それぞれのボタンをアクティブ化しようとしていることを指示する。
明細書及び特許請求の範囲で使用されるように、接触の「特性強度」という用語は、接触の1つ以上の強度に基づく接触の特性を指す。いくつかの実施形態では、特性強度は複数の強度サンプルに基づく。特性強度は、任意選択的に、既定の数の強度サンプル、又は既定のイベント(例えば、接触を検出した後、接触のリフトオフを検出する前、接触の移動の開始を検出する前若しくは後、接触の終了を検出する前、接触の強度の増加を検出する前若しくは後、及び/又は接触の強度の減少を検出する前若しくは後)に対して所定の時間期間(例えば、0.05、0.1、0.2、0.5、1、2、5、10秒)内に収集された強度サンプルのセットに基づく。接触の特性強度は、任意選択的に、接触の強度の最大値、接触の強度の平均値(mean)、接触の強度の平均値(average)、接触の強度の上位10個のパーセンタイル値、接触の強度の最大値の半分の値、接触の強度の最大値の90パーセントの値などのうちの1つ以上に基づく。いくつかの実施形態では、特性強度を判定するために、接触の期間が使用される(例えば、特性強度が経時的な接触の強度の平均であるとき)。いくつかの実施形態では、動作がユーザによって実行されたかどうかを判定するために、特性強度が1つ以上の強度閾値のセットと比較される。例えば、1つ以上の強度閾値のセットは、第1の強度閾値及び第2の強度閾値を含んでもよい。この実施例では、第1の閾値を上回らない特性強度を有する接触の結果として第1の動作が実行され、第1の強度閾値を上回り、第2の強度閾値を上回らない特性強度を有する接触の結果として第2の動作が実行され、第2の閾値を上回る特性強度を有する接触の結果として第3の動作が実行される。いくつかの実施形態では、特性強度と1つ以上の閾値との間の比較が、第1の動作を実行するのか、それとも第2の動作を実行するのかを決定するために使用されるのではなく、1つ以上の動作を実行するか否か(例えば、それぞれの動作を実行するのか、それともそれぞれの動作を実行することを見送るのか)を決定するために使用される。
いくつかの実施形態では、特性強度を判定する目的で、ジェスチャの一部分が特定される。例えば、タッチ感知面は、接触の強度が増加する、開始位置から遷移して終了位置まで達する連続的なスワイプ接触を受け取ってもよい。この実施例では、終了位置における接触の特性強度は、連続的なスワイプ接触全体ではなく、そのスワイプ接触の一部分(例えば、終了位置におけるスワイプ接触の部分のみ)のみに基づいてもよい。いくつかの実施形態では、接触の特性強度を判定することの前に、平滑化アルゴリズムがスワイプ接触の強度に適用されてもよい。例えば、平滑化アルゴリズムは、任意選択的に、非荷重移動平均平滑化アルゴリズム、三角平滑化アルゴリズム、中央値フィルタ平滑化アルゴリズム、及び/又は指数平滑化アルゴリズムのうちの1つ以上を含む。いくつかの状況では、これらの平滑化アルゴリズムは、特性強度を判定する目的で、スワイプ接触の強度の小幅な上昇又は低下を除外する。
タッチ感知面上の接触の強度は、接触検出強度閾値、軽い押圧強度閾値、深い押圧強度閾値、及び/又は1つ以上の他の強度閾値などの1つ以上の強度閾値に対して特徴付けされてもよい。いくつかの実施形態では、軽い押圧強度閾値は、物理マウスのボタン又はトラックパッドのクリックに典型的に関連付けられた動作を、デバイスが実行することになる強度に相当する。いくつかの実施形態では、深い押圧強度閾値は、物理マウスのボタン又はトラックパッドのクリックに典型的に関連付けられた動作とは異なる動作を、デバイスが実行することになる強度に相当する。いくつかの実施形態では、軽い押圧強度閾値を下回る(例えば、かつ、それを下回ると接触がもはや検出されないわずかな接触検出強度閾値を上回る)特性強度で接触が検出される場合、デバイスは、軽い押圧強度閾値又は深い押圧強度閾値に関連付けられた動作を実行することなく、タッチ感知面上の接触の移動に従って、フォーカスセレクタを移動させることになる。全般的には、特に明記しない限り、これらの強度閾値は、異なるユーザインタフェース図のセット間でも一貫している。
軽い押圧強度閾値を下回る強度から、軽い押圧強度閾値と深い押圧強度閾値との間の強度への、接触の特性強度の増大は、「軽い押圧」入力と称される場合がある。深い押圧強度閾値を下回る強度から、深い押圧強度閾値を上回る強度への、接触の特性強度の増大は、「深い押圧」入力と称される場合がある。接触検出強度閾値を下回る強度から、接触検出強度閾値と軽い押圧強度閾値との間の強度への、接触の特性強度の増大は、タッチ面上の接触の検出と称される場合がある。接触検出強度閾値を上回る強度から、接触検出強度閾値を下回る強度への、接触の特性強度の減少は、タッチ面からの接触のリフトオフの検出と称される場合がある。いくつかの実施形態では、接触検出強度閾値は0である。いくつかの実施形態では、接触検出強度閾値は0よりも大きい。
本明細書で説明されるいくつかの実施形態では、1つ以上の動作は、それぞれの押圧入力を含むジェスチャの検出に応答して、又はそれぞれの接触(又は、複数の接触)で実行されるそれぞれの押圧入力の検出に応答して実行され、それらのそれぞれの押圧入力は、少なくとも部分的に、押圧入力強度閾値を上回る接触(又は、複数の接触)の強度の増大の検出に基づいて検出される。いくつかの実施形態では、それぞれの動作は、押圧入力強度閾値を上回る、それぞれの接触の強度の増大(例えば、それぞれの押圧入力の「ダウンストローク」)の検出に応答して、実行される。いくつかの実施形態では、押圧入力は、押圧入力強度閾値を上回る、それぞれの接触の強度の増大、及び後続の押圧入力強度閾値を下回る接触の強度の減少を含み、それぞれの動作は、その後続の押圧入力閾値を下回るそれぞれの接触の強度の減少(例えば、それぞれの押圧入力の「アップストローク」)の検出に応答して、実行される。
いくつかの実施形態では、デバイスは、時として「ジッタ」と呼ばれる偶発的入力を回避するために、強度ヒステリシスを採用し、デバイスは、押圧入力強度閾値との既定の関係を有するヒステリシス強度閾値を定義又は選択する(例えば、ヒステリシス強度閾値は、押圧入力強度閾値よりもX強度単位低いか、又は、ヒステリシス強度閾値は、押圧入力強度閾値の75%、90%、若しくは何らかの妥当な比率である)。それゆえ、いくつかの実施形態では、押圧入力は、押圧入力強度閾値を上回る、それぞれの接触の強度の増大、及び後続の、押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少を含み、それぞれの動作は、そのヒステリシス強度閾値を下回る、後続のそれぞれの接触の強度の減少(例えば、それぞれの押圧入力の「アップストローク」)の検出に応答して、実行される。同様に、いくつかの実施形態では、押圧入力は、デバイスが、ヒステリシス強度閾値以下の強度から、押圧入力強度閾値以上の強度への、接触の強度の増大、及び任意選択的に、ヒステリシス強度以下の強度への、後続の接触の強度の減少を検出する場合にのみ、検出され、それぞれの動作は、その押圧入力(例えば、状況に応じて、接触の強度の増大、又は接触の強度の減少)の検出に応答して、実行される。
説明を容易にするために、押圧入力強度閾値に関連付けられた押圧入力に応じて、又はその押圧入力を含むジェスチャに応じて実行される動作の説明は、押圧入力強度閾値を上回る接触の強度の増大、ヒステリシス強度閾値を下回る強度から押圧入力強度閾値を上回る強度への接触の強度の増大、押圧入力強度閾値を下回る接触の強度の減少、及び/又は押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少のいずれかの検出に応じて、任意選択的にトリガーされる。更に加えて、押圧入力強度閾値を下回る、接触の強度の減少の検出に応答して、動作が実行されるとして説明される実施例では、その動作は、押圧入力強度閾値に対応し、かつ押圧入力強度閾値よりも低い、ヒステリシス強度閾値を下回る、接触の強度の減少の検出に応答して、任意選択的に実行される。
本明細書で使用するとき、「インストールされたアプリケーション」は、電子デバイス(例えば、デバイス100、300、及び/又は500)上にダウンロードされ、デバイス上で立ち上げられる(例えば、開かれる)準備ができているソフトウェアアプリケーションを指す。いくつかの実施形態では、ダウンロードされたアプリケーションは、ダウンロードされたパッケージからプログラム部分を抽出し、抽出された部分をコンピュータシステムのオペレーティングシステムと統合するインストレーションプログラムを介して、インストールされたアプリケーションになる。
本明細書で使用するとき、用語「開いたアプリケーション」又は「実行中のアプリケーション」は、状態情報が(例えば、デバイス/グローバル内部状態157及び/又はアプリケーション内部状態192の一部として)保持されたソフトウェアアプリケーションを指す。開いたアプリケーション又は実行中のアプリケーションは、以下の種類のアプリケーションのうちの任意のものであり得る:
●アプリケーションが使用されているデバイスのディスプレイスクリーン上に現在表示されている、アクティブなアプリケーション、
●現在表示されていないが、アプリケーションのための1つ以上のプロセスが1つ以上のプロセッサによって処理されている、バックグラウンドアプリケーション(若しくはバックグラウンドプロセス)、及び
●実行していないが、メモリ(それぞれ、揮発性メモリ及び不揮発性メモリ)内に記憶され、アプリケーションの実行を再開するために用いられることができる状態情報を有する、中断されるか、又は冬眠させられているアプリケーション。
本明細書で使用するとき、用語「閉じているアプリケーション」とは、状態情報が保持されていない(例えば、閉じているアプリケーションに関する状態情報が、デバイスのメモリ内に記憶されていない)ソフトウェアアプリケーションを指す。したがって、アプリケーションを閉じることは、アプリケーションのアプリケーションプロセスを停止すること及び/又は機器のメモリから除去すること、並びにアプリケーション状態情報を機器のメモリから除去することを含む。一般的には、第1のアプリケーションの間に、第2のアプリケーションを開くことにより、第1のアプリケーションが閉じられることはない。第2のアプリケーションが表示され、第1のアプリケーションの表示が中止されると、第1のアプリケーションはバックグラウンドアプリケーションになる。
次に、メディア及びロケーションデータをキャプチャし、送信し、それを見るか又は再生するためのメッセージユーザインタフェースの実施形態に注目する。
図6A〜図32Cは、いくつかの実施形態に係る、メッセージのための例示的なユーザインタフェースを示す。これらの図におけるユーザインタフェースは、図33〜図49におけるプロセスを含む、以下において説明されるプロセスを例示するために使用される。
図6Aは、デバイス100によって任意選択的に表示される例示的なメッセージユーザインタフェースを示す。メッセージユーザインタフェースは、メッセージ会話の参加者の間で送信されたメッセージを表示するためのメッセージ領域602を、メッセージを作成するためのメッセージ作成フィールド604と共に含む。参加者によって交換されたメッセージが、境界されたメッセージ区域606の内部に表示される。いくつかの実施形態では、境界されたメッセージ区域は、アプリケーション描画面の背景と視覚的に区別される連続的な領域である。
本実施形態では、メッセージユーザインタフェースは、メディアストリームをキャプチャし、送信するための2つのメディアアフォーダンス608、610、即ち、音声メッセージをキャプチャし、送信するための音声キャプチャアフォーダンス608、及び画像若しくはビデオをキャプチャし、送信するための視覚メディアキャプチャアフォーダンス610を含む。本実施形態では、視覚メディアキャプチャアフォーダンス及び音声データキャプチャアフォーダンスはメッセージ作成フィールドの両側に表示される。メッセージユーザインタフェースはまた、メッセージ作成フィールド604内にテキストを入力するための仮想キーボード612を含む。いくつかの実施形態では、図6Bに示されるように、メッセージ作成フィールド604内におけるユーザ入力を検出したことに応じて、デバイス100は音声キャプチャアフォーダンス608の表示を、メッセージを送信するための送信ボタン614の表示と置換する。
以下においてより詳細に説明されるように、デバイス100は、メッセージングアプリケーションの内部から種々のメディア(音声、ビデオ、及び画像など)をキャプチャし、送信することができる。
いくつかの実施形態では、デバイス100はメッセージングアプリケーションの内部から音声メッセージを記録し、送信する。例えば、図6C〜Dによって示されるように、音声キャプチャアフォーダンス608上における接触を検出したことに応じて、デバイス100は、複数のアフォーダンス618、620、622を包含する視覚的に区別された領域616を表示し、デバイス100のマイクロフォンを用いて音声メッセージを記録することを開始する。音声メッセージは、例えば、ユーザが話すこと若しくは歌うこと、又はデバイス100によってキャプチャされることができる何らかの他の種類の音声メッセージであってもよい。
図6Dに示される実施形態では、視覚的に区別された領域616は、キャプチャされた音声メッセージをメッセージ会話の参加者へ送信するための送信アフォーダンス618、音声メッセージを記録することを中止し、音声メッセージを参加者へ送信することを見送るためのキャンセルアフォーダンス620、及び音声メッセージを記録するための記録アフォーダンス622を包含する。いくつかの実施形態では、送信アフォーダンスはディスプレイ上においてメディアアフォーダンスの近くに表示される。
本実施形態では、視覚的に区別された領域616は、ディスプレイの、音声キャプチャアフォーダンス608と同じ側に表示され、音声キャプチャアフォーダンス608に対応するロケーションに縦方向の中心を有する。それゆえ、ユーザが音声キャプチャアフォーダンス608に接触すると、視覚的に区別された領域616が音声キャプチャアフォーダンスのロケーションの周りに現れ、記録アフォーダンス622が音声キャプチャアフォーダンス608に取って代わる。
図6Dに示されるように、例示的な視覚的に区別された領域616は、ディスプレイの縁部626と、ディスプレイの縁部626において開始して終了し、ディスプレイの縁部に対して送信アフォーダンス618、キャンセルアフォーダンス620、及び記録アフォーダンス622を取り囲む半円624とによって境界される。視覚的に区別された領域616は、デバイス100がメディアキャプチャモードに入ったことの視覚的指示をユーザに提供し得る。
いくつかの実施形態では、デバイス100は、接触が、記録アフォーダンスに対応するディスプレイ上のロケーションにおいて維持されている限り、音声メッセージを記録することを継続する。いくつかの実施形態では、図7A〜Bに示されるように、送信アフォーダンス618へのディスプレイ上におけるスワイプジェスチャを検出したことに応じて、デバイス100は、音声メッセージを記録することを停止し、記録された音声メッセージをメッセージ会話の参加者へ直ちに送信する。スワイプジェスチャは、送信アフォーダンス618へのディスプレイ上における接触の移動、及びそれに続く、送信アフォーダンス618における接触のリフトオフに対応してもよい。いくつかの実施形態では、接触の移動は、送信アフォーダンスが表示された後に検出される。
いくつかの実施形態では、メディア(音声メッセージなど)をメッセージ会話の参加者へ送信することと併せて、メディアの表現がメッセージ領域内に表示される。例えば、図7Bに示されるように、いくつかの実施形態では、デバイス100は、メッセージ会話内に挿入された境界されたメッセージ区域708内に、送信された音声メッセージの表現を表示する。本実施形態では、音声メッセージの表現は、音声メッセージを表現する波形702の画像、音声メッセージを再生するための再生アフォーダンス704、及び音声メッセージの持続時間706を含む。いくつかの実施形態では、波形は、記録された音声メッセージに基づいて生成され、メッセージの音声コンテンツの固有の特性を描画する。いくつかの実施形態では、波形は図像的なものである。いくつかの実施形態では、波形の長さは音声記録の長さに対応してもよい。
いくつかの実施形態では、音声メッセージを記録している間に、デバイス100はメッセージ作成フィールド内に音声メッセージの表現を表示する。表現は、上述されたとおりの波形であってもよく、変化する音声コンテンツが記録されていることを指示するために、ユーザが音声メッセージを記録するにつれて形状を動的に変化させてもよい。
いくつかの実施形態では、再生アフォーダンス704上における接触を検出したことに応じて、デバイス100は音声メッセージを再生する。いくつかの実施形態では、音声メッセージが再生されたことの視覚的指示をユーザに提供するために、音声メッセージが再生された後に再生アフォーダンスの色が変化してもよい。いくつかの実施形態では、音声メッセージの対応する部分が再生されるにつれて、再生アフォーダンスの一部分は外観が変化し、経過した再生時間の視覚的指示を提供する。
いくつかの実施形態では、デバイス100は、音声メッセージを表現する波形702を初期色で表示し、音声メッセージが再生されると、音声メッセージが再生されたことの視覚的指示をユーザに提供するために波形の色を変更する。いくつかの実施形態では、デバイス100は、音声メッセージの対応する部分が再生されるにつれて、波形702の一部分の色を変更し、経過した再生時間の視覚的表現を提供する。上述された音声メッセージの表現及び色の変更は、メッセージングアプリケーションの内部から交換された任意の音声メッセージを表現するために用いられてもよく、ここで、それは、メッセージ会話内、メッセージ作成フィールド内、又は他の場所に表現される。
いくつかの実施形態では、デバイス100は、音声キャプチャアフォーダンスから離れ、送信アフォーダンス又は別の方向のいずれかに向かう接触の移動を検出したことに応じて、音声メッセージを記録することを停止する。いくつかの実施形態では、デバイス100は、接触の移動後に送信アフォーダンス618に対応するロケーションにおけるリフトオフを検出したことに応じて、記録された音声メッセージを送信する。音声キャプチャアフォーダンス上における最初の接触、及び送信アフォーダンスへの接触のその後の移動は、ユーザによって、ディスプレイ上における単一の連続した接触として実行されてもよい。
図7C〜Dに示されるように、いくつかの実施形態では、デバイス100がキャンセルアフォーダンス620へのディスプレイ上におけるスワイプジェスチャを検出した場合には、デバイス100は、音声メッセージを記録することを中止し、ディスプレイから、視覚的に区別された領域616を消去し、音声キャプチャアフォーダンス608を再表示し、音声メッセージを参加者へ送信することを見送る。いくつかの実施形態では、送信アフォーダンスに関して上述されたように、スワイプジェスチャは、音声キャプチャアフォーダンス608上における最初の接触から出発し、ディスプレイを横切ってキャンセルアフォーダンス620へ至る、接触の単一の連続した移動、及びそれに続く、キャンセルアフォーダンス620におけるリフトオフに対応してもよい。
いくつかの実施形態では、図8に示されるように、記録アフォーダンスから離れるディスプレイ上における接触の移動を検出したことに応じて、デバイス100は、視覚的に区別された領域616を拡大する。いくつかの実施形態では、視覚的に区別された領域は、接触の移動に従って拡大する(例えば、視覚的に区別された領域の拡大は、視覚的に区別された領域が拡大している間における接触の移動に比例する)。いくつかの実施形態では、視覚的に区別された領域616の内部に表示された送信アフォーダンス618及びキャンセルアフォーダンス620は、視覚的に区別された領域616の拡大に従って外側へ移動する。視覚的に区別された領域を拡大することで、デバイス100が、記録アフォーダンスのロケーションから離れる移動を検出したことの指示をユーザに提供することができ、また、スワイプジェスチャを実行するためのディスプレイのより大きな区域をユーザに提供することもでき、場合によっては、ユーザがスワイプジェスチャの軌道又は行き先を制御することがより容易になる。
いくつかの実施形態では、図9Aに示されるように、デバイス100が、送信アフォーダンス又はキャンセルアフォーダンスへの接触の先の移動を検出することなく、ディスプレイからの接触のリフトオフを検出した場合には、デバイス100は、音声メッセージを記録することを停止し、メッセージ作成フィールド604内に音声メッセージの表現を表示し、音声キャプチャアフォーダンスを、記録された音声メッセージをメッセージ会話の参加者へ送信するための送信ボタン614と置換する。
図7Aに関して先に説明されたように、いくつかの実施形態では、メッセージ作成フィールド内に表示される、記録された音声メッセージの表現は、記録された音声メッセージを表現する波形702の画像、記録された音声メッセージの持続時間706、及び記録された音声メッセージを再生するための再生アフォーダンス704を含む。
いくつかの実施形態では、図9Bに示されるように、送信ボタン614上における接触を検出したことに応じて、デバイス100は、記録された音声メッセージをメッセージ会話の参加者へ送信し、送信ボタン614を音声キャプチャアフォーダンス608と置換する。図9Bに示されるように、いくつかの実施形態では、送信ボタン上における接触に応じて音声メッセージを送信した後に、デバイス100は、メッセージ会話内に挿入された境界されたメッセージ区域908内に、送信された音声メッセージの表現を表示する。
それゆえ、図6A〜図9Bに関して上述されたように、いくつかの実施形態では、デバイス100は、ユーザに別個のアプリケーションを立ち上げることを要求することなく、メッセージングアプリケーション内に、ユーザがメッセージングアプリケーションの内部から音声メッセージを記録し、送信することを可能にするメッセージユーザインタフェースを表示する。更に、いくつかの実施形態では、ユーザは、音声キャプチャアフォーダンス上における最初の接触、並びにそれに続く、送信アフォーダンスへの移動及びリフトオフを含む、ディスプレイ上における単一の連続したジェスチャを用いて音声メッセージを記録し、送信することができる。このアプローチはユーザインタフェースの効率を高め、ユーザの認知負担を軽減する。
いくつかの実施形態では、デバイス100はまた、メッセージングアプリケーションの内部からカメラ画像をキャプチャし、送信することができる。いくつかの実施形態では、図10A〜Bに示されるように、視覚メディアキャプチャアフォーダンス610上における接触を検出したことに応じて、デバイス100はカメラユーザインタフェースを表示する。カメラユーザインタフェースは、デバイス100上のカメラセンサからのライブメディアプレビュ1010、並びにカメラセンサを用いて画像をキャプチャするための画像アフォーダンス1004、及び記録アフォーダンス1006を包含する視覚的に区別された領域1002を含む。視覚メディアキャプチャアフォーダンス610はキャンセルアフォーダンス1008と置換される。いくつかの実施形態では、ライブメディアプレビュはメッセージ領域の表示に取って代わる。
本実施形態では、視覚的に区別された領域1002は、ディスプレイの、視覚メディアキャプチャアフォーダンス610と同じ側に現れ、視覚メディアキャプチャアフォーダンス610に対応するロケーションに縦方向の中心を有する。それゆえ、ユーザが視覚メディアキャプチャアフォーダンス610に接触すると、視覚的に区別された領域1002が視覚メディアキャプチャアフォーダンスのロケーションの周りに現れ、キャンセルアフォーダンスが視覚メディアキャプチャアフォーダンスに取って代わる。
図11A〜Bに示されるように、いくつかの実施形態では、画像アフォーダンス1004へのディスプレイ上におけるスワイプジェスチャを検出したことに応じて、デバイス100は、プレビュ内に示されている画像をキャプチャし、画像をメッセージとして参加者へ送信する。スワイプジェスチャは、画像アフォーダンス1004へのディスプレイを横切る接触の移動、及びそれに続く、画像アフォーダンス1004におけるリフトオフに対応してもよい。いくつかの実施形態では、デバイス100は、移動を検出したことに応じて画像をキャプチャし、リフトオフに応じて画像を送信する。
図11Bに示されるように、いくつかの実施形態では、画像をメッセージとして送信した後に、デバイス100は、プレビュを表示することを中止し、メッセージ領域、メッセージ作成フィールド、及びメディアアフォーダンスを再表示する。いくつかの実施形態では、デバイス100は、表示されたメッセージ会話内に挿入された境界されたメッセージ区域1106内に、キャプチャされた画像を表現するサムネイル1104を表示する。
図11C〜Eは、デバイス100が、メッセージングアプリケーションの内部からの画像の迅速なキャプチャ及び送信のために任意選択的に用いることができる別の技法を示す。いくつかの実施形態では、図11C〜Eに示されるように、視覚メディアアフォーダンス上における接触を検出したことに応じて、図10A〜Bに関して説明されたようにメッセージ領域内にライブメディアプレビュを表示するのではなく、デバイス100はメッセージ作成フィールド604を拡大し、メッセージ作成フィールド604内にライブメディアプレビュを表示する。いくつかの実施形態では、デバイス100は音声キャプチャアフォーダンスの表示を送信ボタン614の表示と置換する。いくつかの実施形態では、視覚メディアキャプチャアフォーダンス610からの接触のリフトオフを検出したことに応じて、デバイス100は新しい画像をキャプチャする。いくつかの実施形態では、キャプチャされた画像は、視覚メディアアフォーダンスからのリフトオフを検出したことに応じて、又は送信ボタン614上における接触を検出したことに応じて、メッセージとして参加者へ送信される。いくつかの実施形態では、図11Eに示されるように、画像を送信した後に、デバイス100は、表示されたメッセージ会話内に挿入された境界されたメッセージ区域内に、画像を表現するサムネイルを表示する。いくつかの実施形態では、画像を送信した後に、デバイス100は送信ボタンの代わりに音声キャプチャアフォーダンスを再表示する。
図11Fに示されるように、いくつかの実施形態では、リフトオフを検出し、新しい画像をキャプチャした後に、デバイス100はメッセージ作成フィールド604内に、キャプチャされた画像の表現1108を表示する。いくつかの実施形態では、メッセージ作成フィールド内に、キャプチャされた画像の表現を表示している間に、デバイス100はメッセージ作成フィールド内における追加のコンテンツ1110のユーザ入力を検出する。例えば、追加のコンテンツは、キャプチャされた画像の表現に隣接して入力されてもよい。このような追加のコンテンツは、例えば、図11Fに示されるように、テキストコンテンツであってもよいし、又は絵文字若しくはアイコンなどのグラフィカルオブジェクトであってもよい。いくつかの実施形態では、追加のコンテンツ及びキャプチャされた画像は、送信ボタン上における接触を検出したことに応じて参加者へ送信される。
いくつかの実施形態では、図11Gに示されるように、画像及び追加のコンテンツを参加者へ送信した後に、デバイス100は、会話内に挿入された境界されたメッセージ区域1112内に、キャプチャされた画像を表現するサムネイル1114を、追加のコンテンツ1110と一緒に表示する。いくつかの実施形態では、画像及び追加のコンテンツを送信した後に、デバイス100は送信ボタンの代わりに音声キャプチャアフォーダンスを再表示する。
いくつかの実施形態では、デバイス100はまた、メッセージングアプリケーションの内部からビデオをキャプチャし、送信することができる。図10Aに関して先に説明されたように、いくつかの実施形態では、視覚メディアキャプチャアフォーダンス610上における接触を検出したことに応じて、デバイス100は、カメラプレビュ、並びに画像をキャプチャするための画像アフォーダンス、ビデオをキャプチャするための記録アフォーダンス、及びメディアキャプチャをキャンセルするためのキャンセルアフォーダンスを有する視覚的に区別された領域を表示する。
いくつかの実施形態では、図12A〜Bに示されるように、記録アフォーダンス1006上における接触を検出したことに応じて、デバイス100は、ビデオを記録することを開始し、記録アフォーダンスを、ビデオを記録することを停止するための停止アフォーダンス1212と置換し、画像アフォーダンス1004を、ビデオを参加者へ送信するための送信アフォーダンス1210と置換する。いくつかの実施形態では、デバイス100は、記録アフォーダンス1006上への接触の移動を検出したことに応じて、又は記録アフォーダンス1006上におけるタッチ若しくはタップに応じて、ビデオを記録することを開始する。いくつかの実施形態では、デバイス100がビデオを記録している間に、デバイス100は、経過した記録時間1208の指示を表示する。
図13A〜Cに示されるように、いくつかの実施形態では、デバイス100が、デバイス100がビデオを記録している間に、送信アフォーダンス1210上における接触を検出することなく、接触がディスプレイからリフトオフされたことを検出した場合には、デバイス100はビデオを記録することを継続し、記録アフォーダンス1006の表示を停止アフォーダンス1212の表示と置換する。いくつかの実施形態では、デバイス100がビデオを記録している間に、停止アフォーダンス1212上における接触を検出したことに応じて、デバイス100は、ビデオを記録することを停止し、停止アフォーダンス1212を、記録されたビデオデータを、受信者へ送信する前に見るための再生アフォーダンス1314と置換する。
いくつかの実施形態では、送信アフォーダンス1210上における接触を検出したことに応じて、デバイス100は、(記録がまだ停止されていない場合には)ビデオを記録することを停止し、記録されたビデオをメッセージ会話の参加者へ送信する。いくつかの実施形態では、図14に示されるように、デバイス100は参加者の間のメッセージ会話内にビデオのサムネイル1402を挿入し、記録アフォーダンス及び送信アフォーダンスを含む、視覚的に区別された領域の表示を消去する。いくつかの実施形態では、サムネイルを挿入することは、メッセージ領域内の境界されたメッセージ区域1406内にサムネイル1402及び再生アフォーダンス1414を表示することを含む。いくつかの実施形態では、境界されたメッセージ区域1406内の再生アフォーダンス1414上における接触を検出したことに応じて、デバイス100は、境界されたメッセージ区域1406の境界内でビデオを再生する。いくつかの実施形態では、再生アフォーダンス1414上における接触を検出したことに応じて、デバイス100はビデオをフルスクリーンモードで再生する。
図12Aに戻ると、いくつかの実施形態では、デバイス100は、デバイス100がビデオを記録している間に記録アフォーダンス1006からのリフトオフを検出したことに応じて、ビデオを記録することを停止する。いくつかの実施形態では、記録アフォーダンス1006からのリフトオフを検出し、ビデオの記録を停止した後に、デバイス100は、図13Cに示されるように、記録アフォーダンス1006の表示を、ビデオを、それが受信者へ送信される前に見るための再生アフォーダンス1314の表示と置換する。
それゆえ、いくつかの実施形態では、視覚的に区別された領域が表示されている間において、画像アフォーダンスへの上方向のスワイプは、画像をキャプチャして送信するのに対し、記録アフォーダンス上へのスワイプ、及びそれに続く、送信アフォーダンスに向かう上方向のスワイプは、ビデオをキャプチャして送信する。
いくつかの実施形態では、図10Aに示される視覚メディアキャプチャアフォーダンス610は、1つ以上の既存の画像又はビデオを、メッセージ会話に追加するべく選択するために用いることができる。これらの画像は、メッセージングアプリケーション以外のアプリケーションを用いてキャプチャされていてもよい。例えば、このような画像又はビデオは、デバイス100上で実行するか、又は遠隔デバイス上で実行するカメラアプリケーションを用いてキャプチャされていてもよいし、あるいは別のユーザによって、デバイス100上又は遠隔デバイス上のどちらかにおいて異なるアプリケーションを用いてキャプチャされていてもよい。このような既存の画像又はビデオは、デバイス100のメモリ内に記憶されているか、又は遠隔の記憶ロケーションからアクセスされてもよい。
図15Aは、デバイス100が、視覚メディアキャプチャアフォーダンス610上における接触などの、会話にメディアを追加せよとの要求を検出したことに応じて任意選択的に表示することができる例示的なメディアセレクタインタフェースを表示している。いくつかの実施形態では、メディアセレクタインタフェースは、ユーザが1つ以上の既存の画像、ビデオ、又は音声ファイルを、メッセージ会話に追加するために選択することを可能にする。いくつかの実施形態では、メディアセレクタインタフェースは、メッセージ会話が表示されている間に、メッセージ領域の下方に表示される。メディアセレクタインタフェースは、既存の画像又はビデオを表現するいくつかのサムネイル1504を有するフィルムストリップ1502を含む。いくつかの実施形態では、サムネイル1504は、最も最近キャプチャ又はアクセスされた画像、ビデオ、又は音声ファイルを表現する。いくつかの実施形態では、フィルムストリップ1502に関連付けられたロケーション上におけるスワイプジェスチャを検出したことに応じて、デバイス100はスワイプジェスチャに従ってフィルムストリップをスクロールする。
いくつかの実施形態では、特定のサムネイル1504上における接触を検出したことに応じて、デバイス100は、図15Bの例に示されるように、サムネイルに関連付けられた画像、ビデオ、又は音声ファイルをメッセージ会話の参加者へ送信し、会話内に画像、ビデオ、又は音声ファイルの表現1506を挿入する。
いくつかの実施形態では、フィルムストリップ1502内の特定のサムネイル1504上における接触を検出したことに応じて、デバイス100は、サムネイルによって表現された画像又はビデオを表示する。いくつかの実施形態では、画像又はビデオは、フルスクリーン表示によるなど、サムネイルによって表現された画像のより大きなバージョンで表示することができる。
いくつかの実施形態では、フィルムストリップ1502内の1つのサムネイルはカメラプレビュを表現する。いくつかの実施形態では、プレビュを表現するサムネイルの選択を検出したことに応じて、デバイス100は、デバイス100上のカメラを用いて新しい画像をキャプチャし、新しい画像を会話の参加者へ送信する。
図16A〜Bは、会話にメディアを追加するためのメディアセレクタインタフェースの別の実施形態を示す。本実施形態では、フィルムストリップ1602はメッセージ作成フィールド604の下方に表示される。フィルムストリップ内のサムネイル1604の選択を検出したことに応じて、いくつかの実施形態では、デバイス100は、メッセージ作成フィールド604内に、選択されたサムネイルの表現1608を表示し、音声キャプチャアフォーダンスの表示を、画像をメッセージ会話の参加者へ送信するための送信ボタン614の表示と置換する。いくつかの実施形態では、送信ボタン614上における接触を検出したことに応じて、デバイス100は、図11Bに関して先に示され、説明されたように、画像を参加者へ送信し、会話内に、送信された画像の表現を挿入する。
いくつかの実施形態では、デバイス100が、フィルムストリップ内の2つ以上のサムネイル1604の選択、及びそれに続く、送信ボタン1610の選択を検出したことに応じて、デバイス100は、選択されたサムネイルに対応する2つ以上の画像又はビデオをメッセージ会話の参加者へ送信する。
図17A〜Cは、会話にメディアを追加するためのメディアセレクタインタフェースの別の実施形態を示す。図17Aに示されるように、いくつかの実施形態では、デバイス100は、サムネイル1704を有するフィルムストリップ1702を、ライブラリから画像又はビデオを選択するための写真ライブラリボタン1706、新しい写真又はビデオをキャプチャするための写真撮影ボタン1710、及びメディアセレクタインタフェースの表示をキャンセルし、それを出るためのキャンセルボタン1708と共に表示する。いくつかの実施形態では、フィルムストリップ内のサムネイル1704は、最も最近キャプチャ又はアクセスされた画像又はビデオを表現する。
いくつかの実施形態では、写真ライブラリボタン1706の選択を検出したことに応じて、デバイス100は写真ライブラリ1712、1714のリストを表示する。いくつかの実施形態では、リスト内の写真ライブラリの選択を検出したことに応じて、デバイス100は、選択された写真ライブラリからの画像又はビデオのサムネイル1718を有する別のフィルムストリップ1716を表示する。いくつかの実施形態では、特定のサムネイル1718の選択を検出したことに応じて、デバイス100は、図15Aに関して上述されたように、サムネイルによって表現された画像若しくはビデオを表示するか、又は対応する画像若しくはビデオを会話の参加者へ送信する。
図18A〜Cを参照すると、図18Bに示されるように、いくつかの実施形態では、新しい写真又はビデオを撮影するための写真撮影ボタン1710の選択を検出したことに応じて、デバイス100は、新しい画像又はビデオをキャプチャするためのユーザインタフェースを表示する。いくつかの実施形態では、ユーザインタフェースは、ライブカメラプレビュ1802、及び画像をキャプチャするためのキャプチャボタン1804を含む。図18Cに示されるように、いくつかの実施形態では、キャプチャボタン1804の選択を検出したことに応じて、デバイス100は、プレビュ内に示されている画像をキャプチャし、ディスプレイ上に、キャプチャされた画像を、画像を再撮影するための(例えば、別の画像をキャプチャするための)再撮影ボタン1806、及びキャプチャされた画像を参加者へ送信するための使用ボタン1808と共に表示する。いくつかの実施形態では、使用ボタン1808上における接触を検出したことに応じて、デバイス100は、キャプチャされた画像を参加者へ直ちに送信し、メッセージ会話の表示に戻る。いくつかの実施形態では、デバイス100は、図11Bに関して先に説明されたように、会話内に、送信された画像の表現を挿入する。
いくつかの実施形態では、視覚メディアキャプチャアフォーダンスは、会話に既存のメディアを追加すること、及び新しいメディアを、会話に追加するべくキャプチャすることの両方のために用いられることができる。図10Aに戻ると、いくつかの実施形態では、視覚メディアキャプチャアフォーダンス610に対応するディスプレイ上のロケーションにおける接触を検出したことに応じて、デバイス100は接触の持続時間を判定することができる。持続時間が閾値持続時間よりも長い場合には、例えば、接触が視覚メディアキャプチャアフォーダンス上におけるタッチアンドホールドである場合には−デバイス100は、図10〜図13に関して上述されたように応答し、メッセージングアプリケーションの内部から画像又はビデオをキャプチャし、送信するためのユーザインタフェースを表示することができる。しかし、接触の持続時間が閾値持続時間を超えない場合には、例えば、接触が視覚メディアキャプチャアフォーダンス610上におけるショートタップである場合には、このとき、デバイス100は、1つ以上の既存の画像又はビデオを、メッセージ会話に追加するべく選択するためのメディアセレクタインタフェースを表示することができる。閾値持続時間は、例えば、.5秒〜10秒の範囲内であってもよい。
図6A〜Bに示されるユーザインタフェースは、メディアアフォーダンス及びメッセージ作成フィールドがデバイス100上のディスプレイの中央部分を水平に横切って表示され、各メディアアフォーダンス(視覚メディアキャプチャアフォーダンス及び音声キャプチャアフォーダンス)はメッセージ作成フィールドの両側に、ディスプレイの反対の縁部に沿って表示される様子を示している。このようなロケーションは、例えば、図6Aに示されるように、受信者へのメッセージを入力するための仮想キーボードがディスプレイ上に表示される時に適する場合がある。しかし、メディアアフォーダンス及びメッセージ作成フィールドは、図6A〜Bに示されるロケーション又は向きで表示される必要はない。図19A〜Bは、デバイス100が音声キャプチャアフォーダンス608、視覚メディアキャプチャアフォーダンス610、及びメッセージ作成フィールド604を表示することができる例示的な代替ロケーションを示す。このような代替ロケーションは、仮想キーボードをディスプレイ上に表示しない時に適する場合があり、メッセージ会話を表示するためのより大きなメッセージ領域を提供することができる。
図19Aに示されるように、いくつかの実施形態では、デバイス100はディスプレイの隅部において音声キャプチャアフォーダンス608を表示する。図20に示されるように、いくつかの実施形態では、隅部内の音声キャプチャアフォーダンス上における接触を検出したことに応じて、デバイス100は、例えば、図6Dに関して先に説明されたように、ディスプレイの同じ縁部において開始して終了する半円を表示するのではなく、タッチ感知ディスプレイの2つの異なる縁部2006、2008において開始して終了する円弧2004によって境界された視覚的に区別された領域2002を表示する。図8に関して先に説明されたように、音声キャプチャアフォーダンス608のロケーションから離れるディスプレイ上における接触の移動を検出したことに応じて、いくつかの実施形態では、デバイス100は、視覚的に区別された領域2002を拡大する。いくつかの実施形態では、視覚的に区別された領域の内部に表示されたアフォーダンスのロケーションは、視覚的に区別された領域の拡大に従って外側へ移動する。
いくつかの実施形態では、ディスプレイ上のヒット領域がメディアアフォーダンスに割り当てられ、それにより、ヒット領域上の任意の場所における接触がデバイス100によってメディアアフォーダンス上における接触として解釈される。いくつかの実施形態では、ヒット領域は、表示されたメディアアフォーダンスよりも大きい。図19C〜Dに示されるように、いくつかの実施形態では、メディアアフォーダンスのためのヒット領域1902は、図19Cの場合など、仮想キーボードが表示されていない時には、図19Dの場合など、仮想キーボードが表示されている時よりも大きい。例えば、仮想キーボードが表示されている時には、メディアアフォーダンスのためのヒット領域はメディアアフォーダンスよりも少し大きくてもよく(例えば、メディアアフォーダンスよりも5、10、15、又は20%大きい)、仮想キーボードが表示されていない時には、メディアアフォーダンスのためのヒット領域は最大でディスプレイの下四半分の半分を包含してもよい。このアプローチは、より大きなヒット領域を可能にするために十分な余地がディスプレイ上に存在する時には、ユーザがメディアアフォーダンス上における接触の検出をより容易に引き起こすことを可能にする。
いくつかの実施形態では、デバイス100はまた、受信された音声メッセージを再生することができる。いくつかの実施形態では、図21A〜Bに示されるように、第1の参加者からの音声メッセージを受信したことに応じて、デバイス100はメッセージ会話内に音声メッセージの表現2108を表示する。本実施形態では、表現は、音声メッセージを表現する波形2102を示す画像、音声メッセージを再生するための再生アフォーダンス2104、及び音声メッセージの持続時間2106を含む。いくつかの実施形態では、表現は、境界されたメッセージ領域内に表示される。いくつかの実施形態では、再生アフォーダンス2104上における接触を検出したことに応じて、デバイス100は音声メッセージを再生する。
いくつかの実施形態では、音声メッセージの表現2108を表示した後に、デバイス100は、デバイスの持ち上げを検出したことに応じて、音声メッセージを再生する。いくつかの実施形態では、デバイス100は、デバイス100の運動を検出するための1つ以上のデバイスの動きセンサ若しくは向きセンサを用いること、及び/又はユーザの耳に対するデバイス100の近接性を検出するための近接センサ若しくは周辺光センサを用いることによって、ユーザがデバイス100を持ち上げたことを検出する。図21Aに戻ると、いくつかの実施形態では、デバイス100は、デバイス100を持ち上げてメッセージを聞くようにユーザに教示する教示2110を表示することによって、音声メッセージをこのように再生するようにユーザに促す。
図22A〜Cに示されるように、いくつかの実施形態では、デバイス100は、デバイス100の持ち上げを検出したことに応じて、第2の音声メッセージを記録する。例えば、デバイス100が、受信された音声メッセージを再生し(これは、図22Aに示されるように、波形又は再生アフォーダンスを異なる色で表示することによって指示されてもよい)、デバイス100がデバイス100の持ち上げを検出した場合には、デバイス100は、第2の音声メッセージを記録することを開始する。いくつかの実施形態では、デバイス100が、(例えば、再生アフォーダンス上における接触を検出したことに応じるのではなく)デバイスの持ち上げを検出したことに応じて、受信された音声メッセージを再生した場合には、このとき、デバイス100は、デバイス100の2回目の持ち上げを検出する前にデバイス100が降ろされたことを検出した後にのみ、第2の音声メッセージを記録する。換言すれば、いくつかの実施形態では、ユーザは、デバイス100を持ち上げて音声メッセージを聞き、デバイス100を降ろし、その後、デバイス100を再び持ち上げて新しい音声メッセージを記録することができる。いくつかの実施形態では、デバイス100は、デバイス100を持ち上げて音声メッセージを記録するようにユーザに教示する教示を表示することによって、デバイス100を持ち上げてメッセージを記録するようにユーザに促す。
いくつかの実施形態では、第2の音声メッセージを記録している間に、デバイス100が、デバイス100が降ろされたことを検出した場合には、デバイス100は、第2の音声メッセージを記録することを停止し、第2の音声メッセージを第1の参加者へ送信する。デバイスが降ろされたことは、例えば、デバイスの運動を検出するための1つ以上のデバイスの動き/向きセンサを用いること、及び/又はユーザの耳に対するデバイスの近接性の終了を検出するための近接センサ若しくは周辺光センサを用いることによって、検出されてもよい。それゆえ、図22A〜Bに関して説明されたように、メッセージ会話の参加者からの音声メッセージを受信し、それを聞いた後に、いくつかの実施形態では、ユーザは、デバイス100を持ち上げて第2の音声メッセージを記録し、その後、デバイス100を降ろして第2の音声メッセージを参加者へ自動的に送信することによって、応答することができる。いくつかの実施形態では、図22Cに示されるように、デバイス100は、会話内に、送信された第2の音声メッセージの表現を挿入する。いくつかの実施形態では、デバイス100は、メッセージ特性(例えば、検出された人間の発話がないか、又はメッセージ持続時間が長すぎ、したがって、偶発的なメッセージング及びそれゆえ、コンピューティング資源の無駄を指示する)に基づいて、記録されたメッセージを送信するべきではないと判定する。図22Dに、この態様が示される。図示のように、いくつかの実施形態では、デバイス100は、メッセージが記録されたことを指示するメッセージアフォーダンス2214を表示するが、デバイスが降ろされてもメッセージは自動的に送信されない。代わりに、デバイス100は、選択されると、メッセージを、指定された連絡先へ送信するアフォーダンス2216を表示する。
図23Aに示されるように、いくつかの実施形態では、デバイス100は、デバイス100がロック状態で動作している間に受信されたメッセージを指示するアフォーダンス2302を表示する。ロック状態は、デバイス100が、デバイス100とのユーザ対話を制限する状態であってもよい。
いくつかの実施形態では、図23Bに示されるように、アフォーダンス2302における第1の方向のスワイプジェスチャを検出したことに応じて、デバイス100は、メッセージに返信するための返信アフォーダンス2304を表示する。図23Cに示されるように、返信アフォーダンス2304上における接触を検出したことに応じて、デバイス100は、電子デバイスを持ち上げて、応答メッセージに含めて送信するための音声メッセージを記録するようにユーザに教示する教示2306を任意選択的に表示する。いくつかの実施形態では、デバイス100の持ち上げを検出したことに応じて、デバイス100は、図22A〜Bに関して先に説明されたように、音声メッセージを記録することを開始し、同様に、その後、デバイスが降ろされたことに応じて、デバイス100は、図22Cに関して上述されたように、音声メッセージを送信する。
図23Aに戻ると、アフォーダンス2302上における反対方向のスワイプジェスチャを検出したことに応じて、デバイス100は、デバイス100をロック解除するようにユーザに任意選択的に促し、いくつかの実施形態では、デバイス100がロック解除された後に、デバイス100は、受信されたメッセージを、表示されたメッセージ会話の一部として表示する。
いくつかの実施形態では、図24Aに示されるように、デバイス100は、ディスプレイの通知区域2404内に、受信された音声メッセージ通知2402を表示する。図24Bに示されるように、下方へのドラッグ又はタップなどの、通知2402又は通知区域2404上における接触を検出したことに応じて、いくつかの実施形態では、デバイス100は、音声メッセージを再生するための再生アフォーダンス2406、返信音声メッセージを記録するための音声キャプチャアフォーダンス608、及びユーザインタフェースを出るためのキャンセルアフォーダンス2408を有するユーザインタフェースを表示する。いくつかの実施形態では、図24Cに示されるように、音声キャプチャアフォーダンス608上における接触を検出したことに応じて、デバイス100は、例えば、図6D及び図20に関して示され、説明されたように、音声メッセージを記録し、送信するための複数のアフォーダンスを有する視覚的に区別された領域2410を表示する。
音声メッセージを記録するための上述のプロセスと同様に、いくつかの実施形態では、デバイス100は、デバイス100が持ち上げられ、降ろされたことを検出したことに応じて、ビデオメッセージを再生、記録、及び送信することができる。このような実施形態では、デバイス100は、デバイス100が、ビデオメッセージの再生又は記録のために適した位置へ持ち上げられたかどうかを判定するために、顔認識技法を用いてもよい。
いくつかの実施形態では、デバイス100によって、上述されたユーザインタフェースを用いてキャプチャされたメディアはメタデータを含む。このようなメタデータは、例えば、デバイス100のロケーションの表現を含んでもよい。いくつかの実施形態では、デバイス100は、ユーザが、メタデータをメディアと共に送信することを抑止するべきであるかどうかを指定するための選択肢を提供する。
先に説明されたように、デバイス100は、メディア(音声、ビデオ、若しくは画像など)、テキスト、又はその両方を包含するメッセージを送信及び受信することができる。いくつかの実施形態では、デバイス100が時間インターバル以内に複数のメッセージを受信し、受信されたメッセージがメッセージグループ化基準を満たす場合には、デバイス100は、複数の境界されたメッセージ区域内にメッセージを表現するのではなく、単一の、グループとして境界されたメッセージ区域内にメッセージを表現する。時間インターバルは、例えば、10秒〜10分に及んでもよい。
メッセージの表現をこのようにグループ化することは、メッセージを表示するためにメッセージ領域内に必要とされる面積の量を低減することができ、複数のメッセージを受信することに関連付けられる乱雑を軽減し得る。グループ化は、表示のために比較的小さな表現に圧縮されることができる、音声メッセージのために特に有用になり得る。
いくつかの実施形態では、メッセージグループ化基準は、メッセージの数が数値閾値を超えると満たされる基準を含む。例えば、デバイス100が時間インターバル以内に何個かの連続したメッセージを受信し、その数が数値閾値を超えた場合には、デバイス100は、メッセージがメッセージグループ化基準を満足すると任意選択的に判定し、単一の、グループとして境界されたメッセージ区域内にメッセージの表現を表示することができる。数値閾値は、例えば、時間インターバル以内に受信された3、5、7、又は10個のメッセージであってもよい。
いくつかの実施形態では、メッセージグループ化基準は、受信されたメッセージの互いの離間間隔が閾値時間量未満であると満たされる基準を含む。例えば、互いの離間間隔が30、20、10、又は5秒未満である連続したメッセージがメッセージグループ化基準を満たしてもよい。例えば、デバイス100がテキストメッセージを受信し、それに続き、30秒未満の後に音声メッセージを受信した場合には、デバイス100は、任意選択的に、メッセージがメッセージグループ化基準を満たすと判定し、会話内に、メッセージのグループ化された表現を表示することができる。
いくつかの実施形態では、メッセージグループ化基準は、受信されたメッセージの種類に基づく。例えば、デバイス100が時間インターバル以内に複数の連続した音声メッセージを受信した場合には、デバイス100は、メッセージがメッセージグループ化基準を満足すると任意選択的に判定することができる。しかし、デバイス100が、音声メッセージではない介在メッセージを受信した場合には、デバイス100は、受信されたメッセージがメッセージグループ化基準を満足しないと任意選択的に判定し、別個の境界されたメッセージ区域内に、受信されたメッセージの表現を表示することができる。
いくつかの実施形態では、メッセージグループ化基準はメッセージの送信者に基づく。例えば、メッセージ会話の単一の参加者から受信された連続したメッセージはメッセージグループ化基準を満足してもよいが、異なる参加者から受信された連続したメッセージはメッセージグループ化基準を満足しなくてもよい。
いくつかの実施形態では、メッセージグループ化基準は、メッセージが全て、同じ読み取りステータスを有するかどうかに基づく。いくつかの実施形態では、読み取りステータスは、メッセージが読み取られたか、再生されたか、又は見られたかどうかに対応する。例えば、全て読み取られていない(例えば、未再生である)連続した音声メッセージはメッセージグループ化基準を満足してもよいが、異なる読み取りステータスを有する連続した音声メッセージ(即ち、そのうちのいくつかは再生され、そのうちのいくつかは再生されていない)はメッセージグループ化基準を満足しなくてもよい。
図25Aは、グループ化された境界されたメッセージ区域2502内に、メッセージグループ化基準を満たす複数の音声メッセージの表現を表示する一例を示す。いくつかの実施形態では、デバイス100は、個々の音声メッセージごとに再生アフォーダンス2506を表示することに加えて、又はその代わりに、グループ化された音声メッセージの全てを再生するための全て再生アフォーダンス2504を表示する。いくつかの実施形態では、デバイス100は、デバイス100の持ち上げを検出したことに応じて、グループ化された音声メッセージの全てを再生する。いくつかの実施形態では、デバイス100は、デバイス100を持ち上げて、複数のグループ化された音声メッセージの全てを再生するようにユーザに教示する教示を表示する。
図25Aに示される実施形態では、音声メッセージの各々は別個の波形画像によって表現されている。しかし、いくつかの実施形態では、デバイス100は、複数のグループ化された音声メッセージを表現する単一の合成波形を表示する。
図25Bは、複数の境界されたメッセージ区域2508内に、メッセージグループ化基準を満たさない複数の音声メッセージを表示する一例を示す。
いくつかの実施形態では、図25Aに示されるものなどの、グループ化された境界されたメッセージ区域2502上における接触を検出したことに応じて、デバイス100は、図25Bに示されるものなどの、別個の境界されたメッセージ区域2508内に、グループ化された境界されたメッセージ区域2502によって表現された音声メッセージを表示する。
図25Cは、グループ化された境界されたメッセージ区域2512内に、メッセージグループ化基準を満たす複数の画像メッセージ2510のサムネイル表現を表示する一例を示す。図25Dは、複数の境界されたメッセージ区域2514内に、メッセージグループ化基準を満たさない複数の画像メッセージの表現を表示する一例を示す。
いくつかの実施形態では、図25Cに示されるものなどの、グループ化された境界されたメッセージ区域2512上における接触を検出したことに応じて、デバイス100は、図25Dに示されるものなどの、別個の境界されたメッセージ区域2514内に画像メッセージの表現を表示する。
図25Eに示されるように、いくつかの実施形態では、複数の画像又はビデオメッセージを表現するグループ化された境界されたメッセージ区域2512上における接触を検出したことに応じて、デバイス100は、ディスプレイ上のフィルムストリップ2516内に、画像又はビデオを表現するサムネイル2518を表示する。いくつかの実施形態では、フィルムストリップ2516内に表示されたサムネイル2518は、境界されたメッセージ区域内に表示されたサムネイルよりも大きく、任意選択的に、スクロール可能である。
上述されたユーザインタフェースは、参加者がメッセージ会話内でメディアを交換することを容易にするため、場合によっては、参加者は会話セッション内で多くのメディアメッセージを交換し得る。例えば、参加者はメッセージ会話の途中で複数の短い音声メッセージを交換し得る。場合によっては、このような交換されるメッセージは、保持される必要がない短時間の非公式の通信として意図されている場合があり、参加者のメッセージ会話の表示を乱雑にし得る。したがって、いくつかの実施形態では、デバイス100は、何らかの満期基準の満足に基づいて会話内に表示されることを中止するメッセージをスケジュールする。いくつかの実施形態では、メッセージを表示することを中止することは、デバイス100からメッセージを削除することを含む。自動削除の目的はプライバシではなく、むしろ、会話を一時的なメッセージで乱雑にすることを回避することである。
いくつかの実施形態では、満期基準は、メッセージが任意のメディアコンテンツを包含しているかどうかに基づくか、又はメッセージがどの種類のメディアコンテンツを包含しているかに基づく。例えば、音声メッセージは、ビデオメッセージと異なる満期基準を有してもよい。いくつかの実施形態では、テキストメッセージは満期基準を全く有せず、したがって、決して自動的に削除されない。
いくつかの実施形態では、満期基準は時間インターバルに基づく。いくつかの実施形態では、時間インターバルは、(例えば、メディアをキャプチャした会話参加者のために)メディアがキャプチャされた時間から、又は(例えば、メディアを受け取った会話参加者のために)メディアが再生された時間から開始して計測されてもよい。いくつかの実施形態では、第1の参加者のためのメッセージのための満期基準は第2の参加者のためのものと異なる。いくつかの実施形態では、時間インターバルは、例えば、1分、2分、3分、4分、5分、又は10分であってもよい。
いくつかの実施形態では、満期基準は、メディアオブジェクトが、例えば、図6A〜図14に関して上述されたメッセージユーザインタフェースを用いてキャプチャされたのか、それともカメラアプリケーションなどの、異なるアプリケーションを用いてキャプチャされたのかに基づく。いくつかの実施形態では、非公式の一時的通信として意図される場合がある、図6A〜図14に関して説明された迅速なメディアキャプチャアプローチを用いてキャプチャされ、会話に追加されたメディアは、図15A〜図18Cに関して説明されたとおりのメディアセレクタインタフェースなどの、異なるアプローチを用いて会話に追加されたメディアと異なる満期基準を有してもよい。
当業者は、上述された例示的な満期基準は、数多くの仕方で組み合わせるか、又は変更することができることを理解するであろう。
いくつかの実施形態では、図26に示されるように、デバイス100はメッセージの表現内に満期基準2602の指示を提供する。図26に示される実施形態では、満期基準2602の指示は、時間インターバルであって、それを過ぎるとメッセージが、メッセージ会話内に表示されることを中止することになる、時間インターバルを含む。
図26に示されるように、いくつかの実施形態では、デバイス100は、さもなければ満期基準が満足された後に削除されるであろうメッセージをキープするためのキープアフォーダンス2604を表示する。いくつかの実施形態では、キープアフォーダンス2604の選択を検出したことに応じて、デバイス100は満期基準を無視し、会話内にメッセージを表示することを継続する。いくつかの実施形態では、キープアフォーダンス2604上における接触を検出したことに応じて、デバイス100は、満期基準の指示を表示することを中止し、及び/又はキープアフォーダンスを表示することを中止する。
いくつかの実施形態では、非公式の一時的通信として意図され得る、図6A〜図14において説明されたインタフェースを用いて会話に追加されたメディアメッセージは、送信又は受信される時にメディアライブラリ(カメラロール又は音声ライブラリなど)に追加されないが、図15A〜図18Cにおいて説明されたインタフェースを用いて会話に追加されたメディアメッセージはメディアライブラリに追加される。いくつかの実施形態では、メディアメッセージを(例えば、キープアフォーダンスを選択することによって)キープすることは、メディアライブラリにメディアを追加する。
いくつかの実施形態では、メッセージ会話の第1の参加者から第2の参加者へ送信された、関連付けられた満期基準を有するメッセージは、第1の参加者によってキープされること、第2の参加者によってキープされること、両者によってキープされること、又はどちらによってもキープされないことが可能である。
図27Aに示されるように、メッセージ会話の第1の参加者から第2の参加者へ音声メッセージを送信した後に、デバイス100は、音声メッセージが第2の参加者へ配信されたことの指示2702を第1の参加者に任意選択的に提供する。図27Bに示されるように、第2の参加者が音声メッセージの少なくとも一部分を再生したことを検出したことに応じて、デバイス100は、音声メッセージが再生されたことの指示2704を第1の参加者に任意選択的に提供する。図27Cに示されるように、第2の参加者が、音声メッセージに関連付けられたキープアフォーダンスを選択したことを検出したことに応じて、デバイス100は、第2の参加者がメッセージをキープしたことの指示2706を第1の参加者に任意選択的に提供する。いくつかの実施形態では、メッセージがキープされたことのインジケータは、メッセージが配信されたか、又は再生された/見られた/読まれたことのインジケータに取って代わる。
いくつかの実施形態では、デバイス100はまた、メッセージ会話の2人以上の参加者との間で静的ロケーション情報を送信するか、又は動的ロケーション情報を共有し、地図上に2人以上の参加者のロケーション情報を表示することができる。
いくつかの実施形態では、図28Aに示されるように、メッセージ会話を表示している間に、デバイス100は、メッセージ会話についての追加の詳細を表示するための詳細アフォーダンス2702を表示する。図28Bに示されるように、いくつかの実施形態では、詳細アフォーダンス上における接触を検出したことに応じて、デバイス100は、会話中に交換されたメディアの表現2704(サムネイル若しくは波形など)、デバイス100の現在のロケーション情報を会話の1人以上の参加者へ送信するためのロケーション送信アフォーダンス2706、並びにデバイス100のロケーション情報を1人以上の参加者と所定の期間の間、共有するためのロケーション共有アフォーダンス2708を表示する。
いくつかの実施形態では、ロケーション送信アフォーダンス2706の選択を検出したことに応じて、デバイス100は、デバイス100のための現在のロケーション情報をメッセージ会話の参加者に提供する。図28Cに示されるように、いくつかの実施形態では、デバイス100は、会話内に、現在のロケーション情報を示す地図2710を挿入する。いくつかの実施形態では、ロケーション送信アフォーダンス2706上における接触を検出したことに応じて送信されるロケーション情報は静的であり、その後、デバイス100のロケーションの変化に従って更新されない。
図29A〜Bに示されるように、いくつかの実施形態では、ロケーション共有アフォーダンス2708の選択を検出したことに応じて、デバイス100は、ロケーション情報が共有されることになる所定の期間を選択するためのユーザインタフェース2902を表示する。所定の期間のうちの1つの選択を検出したことに応じて、デバイス100は、選択された期間中に、メッセージ会話の参加者に、参加者がデバイス100のロケーションを判定することを可能にする情報を提供する。いくつかの実施形態では、情報を提供することは、情報を受信する参加者によって使用されている遠隔の電子デバイスに、自分たちのロケーションをデバイス100のユーザと共有するように参加者に促させる。いくつかの実施形態では、選択された期間が経過した後に、デバイス100は、ロケーション情報を参加者と共有することを中止することができる。
いくつかの実施形態では、参加者がデバイス100のロケーションを判定することを可能にすることは、参加者が、デバイス100がロケーション情報を送信する先のロケーションサーバからデバイス100のロケーションについての情報を要求することを可能にすることを含む。
図29Cに示されるように、いくつかの実施形態では、ロケーション情報を共有している間に、デバイス100は、期間が経過する前にロケーション情報を参加者と共有することを中止するための共有停止アフォーダンス2904を表示する。
いくつかの実施形態では、デバイス100はメッセージ会話の別の参加者からロケーション情報を受信することができる。いくつかの実施形態では、ロケーション情報を受信したことに応じて、図30に示されるように、デバイス100は、自分たちのロケーション情報を他の参加者と共有するようにデバイス100のユーザに促す。いくつかの実施形態では、ユーザが、自分たちのロケーション情報を共有することを選択したことを検出したことに応じて、デバイス100は他の参加者に、参加者がデバイス100のロケーションを判定することを可能にする情報を提供する。図29Bに関して先に説明されたように、デバイス100は、ユーザが、ロケーション情報が共有されることになる所定の期間を選択することを任意選択的に可能にすることができる。
上述されたように、いくつかの実施形態では、デバイス100はメッセージ会話の参加者から共有ロケーション情報を受信する。いくつかの実施形態では、ロケーション情報は外部デバイスのロケーションを含む。いくつかの実施形態では、ロケーション情報を受信したことに応じて、デバイス100は、電子デバイスのロケーション及び外部デバイスのロケーションの両方を示す地図を表示する。
図31に示されるように、いくつかの実施形態では、デバイス100はメッセージ会話の複数の参加者から共有ロケーション情報を受信し、それに応じて、複数の参加者のロケーション3104及びデバイス100のロケーション3106を(同じ地図上に)示す地図3102を表示することができる。いくつかの実施形態では、デバイス100は、ロケーションが地図上に表示されている参加者の各々についての情報3108を表示する。
いくつかの実施形態では、会話の複数の参加者のうちの誰もが、会話に1人以上の他の参加者を追加又は消去することができるか、あるいはメッセージ会話の名前を変更することができる。
図32Aに示されるように、いくつかの実施形態では、メッセージ会話内の地図3202上における接触を検出したことに応じて、デバイス100は地図のより大きなバージョン3204を表示する。いくつかの実施形態では、より大きな地図3204上における接触を検出したことに応じて、デバイス100は、メッセージ会話の参加者によって共有されたロケーション情報の衛星画像3206、ロケーション情報の地図画像3208、及びロケーション情報への道順を表示するためのアフォーダンス3210又はロケーション情報からの道順を表示するためのアフォーダンス3212を表示する。
図28A〜C及び図29A〜Cに関して先に上述されたように、いくつかの実施形態では、デバイス100は、参加者が自分たちの現在のロケーションを互いへ容易に送信するか、又は所定の期間の間、自分たちのロケーションを互いに共有することを可能にするメッセージユーザインタフェースを提供する。
いくつかの実施形態では、所定の期間が経過した後に、デバイス100は、表示された地図(例えば、図28Cにおける地図2710)の色を変更し、それが、もはやロケーション情報を用いて更新されていないことを指示する。いくつかの実施形態では、所定の期間が経過した後に地図上における接触を検出したことに応じて、デバイス100は、ロケーション情報がもはや共有されていないことを指示するアフォーダンスを表示する。
図33は、メディアの迅速なキャプチャ及び送信のためのプロセス3300を示すフロー図である。プロセス3300は、デバイス100(図2)のような、ディスプレイとタッチ感知面とを有する電子デバイスにおいて実行されてもよい。ブロック3302において、デバイスは、そのタッチ感知ディスプレイ上に、メディアアフォーダンス、及びメッセージ会話の参加者の間で送信されたメッセージを表示するためのメッセージ領域を表示する。ブロック3304において、デバイスは、ディスプレイ上におけるメディアアフォーダンスのロケーションに対応するタッチ感知面上のロケーションにおける接触を検出することを含む、タッチ感知面上におけるジェスチャを検出する。ブロック3306において、接触を検出したことに応じて、デバイスは、そのタッチ感知ディスプレイ上に、送信アフォーダンスを表示する。ブロック3308において、デバイスは、タッチ感知面を横切る接触の移動を検出すること、及びそれに続き、タッチ感知面からの接触のリフトオフを検出することを含む、ジェスチャの続きを検出する。ブロック3310において、デバイスは、接触が、ディスプレイ上における送信アフォーダンスのロケーションに対応するタッチ感知面上のロケーションへ移動したかどうかを判定する。ブロック3312において、接触が、送信アフォーダンスのロケーションに対応するタッチ感知面上のロケーションへ移動したとの判定に従って、及びリフトオフを検出したことに応じて、デバイスは、ジェスチャの少なくとも一部分に応じてキャプチャされたメディアをメッセージ会話の参加者へ送信する。任意選択的に、いくつかの実施形態では、ブロック3304において示される接触を検出したことに応じて、デバイスは、ディスプレイ上にキャンセルアフォーダンスを表示し、接触が、ディスプレイ上におけるキャンセルアフォーダンスのロケーションに対応するタッチ感知面上のロケーションへ移動したかどうかを判定してもよく、接触が、キャンセルアフォーダンスのロケーションに対応するタッチ感知面上のロケーションへ移動し、それに続き、リフトオフが行われたとの判定に従って、デバイスは、キャプチャされたメディアを参加者へ送信することを見送ってもよい。いくつかの実施形態では、接触が、送信アフォーダンスのロケーションに対応するタッチ感知面上のロケーションへも、キャンセルアフォーダンスのロケーションに対応するタッチ感知面上のロケーションへも移動しなかったとの判定に従って、及びリフトオフを検出したことに応じて、デバイスはメッセージ作成フィールド内に画像を表示してもよく、画像は、キャプチャされたメディアを表現する波形を有する(図33におけるBによって表現される)。いくつかの実施形態では、接触が、送信アフォーダンスのロケーションに対応するタッチ感知面上のロケーションへも、キャンセルアフォーダンスのロケーションに対応するタッチ感知面上のロケーションへも移動しなかったとの判定に従って、及び移動を検出したことに応じて、デバイスは、メディアをキャプチャすることを中止することができる(図33におけるB'によって表現される)。
プロセス3300に関して上述されたプロセス(例えば、図33及び図6A〜図14)の詳細はまた、本明細書において説明される他のプロセスにも、類似の様態で適用可能であることに留意されたい。例えば、プロセス3400、3500、3600、3700、3800、3900、4000、4600、及び4900は、プロセス3300を参照して上述された様々なプロセスの特性のうちの1つ以上を含み得る。簡潔にするために、これらの詳細は他のプロセスの説明において繰り返されない。プロセス(方法)3300を参照して上述された様々な方法及び技法は、図50に関して説明されるものなどの、1つ以上のユニットとして任意選択的に実装されてもよい。
図34は、迅速なビデオキャプチャのためのプロセス3400を示すフロー図である。プロセス3400は、デバイス100(図2)のような、ディスプレイとタッチ感知面とを有する電子デバイスにおいて実行されてもよい。ブロック3402において、デバイスは、ディスプレイ上に、メディアアフォーダンス、及びメッセージ会話の参加者の間で送信されたメッセージを表示するためのメッセージ領域を表示する。ブロック3404において、デバイスは、タッチ感知面上における、ディスプレイ上におけるメディアアフォーダンスのロケーションに対応する第1の入力を検出する。ブロック3406において、第1の入力を検出したことに応じて、デバイスは、記録アフォーダンス及び送信アフォーダンスを表示する。ブロック3408において、デバイスは、タッチ感知面上における、ディスプレイ上における記録アフォーダンスのロケーションに対応する第2の入力を検出する。ブロック3410において、第2の入力を検出したことに応じて、デバイスは、ビデオを記録することを開始する。ブロック3412において、デバイスは、タッチ感知面上における、ディスプレイ上における送信アフォーダンスのロケーションに対応する第3の入力を検出する。ブロック3414において、第3の入力を検出したことに応じて、デバイスは、記録されたビデオを参加者へ送信し、ディスプレイから送信アフォーダンス及び記録アフォーダンスを消去する。任意選択的に、ブロック3414において、デバイスは、第3の入力を検出したことに応じて、表示されたメッセージ会話内に、記録されたビデオのサムネイル表現を挿入してもよい。
プロセス3400に関して上述されたプロセス(例えば、図34、図10A〜B、及び図12A〜図14)の詳細はまた、本明細書において説明される他のプロセスにも、類似の様態で適用可能であることに留意されたい。例えば、プロセス3300、3500、3600、3700、3800、3900、4000、4600、及び4900は、プロセス3400を参照して上述された様々なプロセスの特性のうちの1つ以上を含み得る。簡潔にするために、これらの詳細は他のプロセスの説明において繰り返されない。プロセス(方法)3400を参照して上述された様々な方法及び技法は、図51に関して説明されるものなどの、1つ以上のユニットとして任意選択的に実装されてもよい。
図35は、電子デバイスを持ち上げることによって音声メッセージに応答するためのプロセス3500を示すフロー図である。プロセス3500は、デバイス100(図2)のような、ディスプレイとタッチ感知面とを有する電子デバイスにおいて実行されてもよい。ブロック3502において、デバイスは、メッセージ会話の第1の参加者から受信された第1の音声メッセージの表現を表示する。ブロック3504において、デバイスは、第1の音声メッセージを再生せよとの要求を検出する。任意選択的に、ブロック3504において、いくつかの実施形態では、デバイスは、第1の音声メッセージの表現が表示されている間にデバイスの別個の持ち上げを検出することによって、第1の音声メッセージを再生せよとの要求を検出する。任意選択的に、ブロック3504において、いくつかの実施形態では、デバイスは、第1の音声メッセージの表示された表現のロケーションに対応するタッチ感知面上のロケーションにおける接触を検出することによって、第1の音声メッセージを再生せよとの要求を検出する。ブロック3506において、要求を検出したことに応じて、デバイスは第1の音声メッセージを再生する。ブロック3508において、第1の音声メッセージを再生した後に、デバイスは、デバイスの持ち上げを検出する。ブロック3510において、デバイスの持ち上げを検出したことに応じて、デバイスは第2の音声メッセージを記録する。任意選択的に、ブロック3510において、第2の音声メッセージを記録している間に、デバイスは、デバイスが降ろされたことを検出してもよく、デバイスが降ろされたことを検出したことに応じて、デバイスは、第2の音声メッセージを記録することを中止してもよい。ブロック3512において、第2の音声メッセージを記録した後に、デバイスは、第2の音声メッセージを第1の参加者へ送信する。任意選択的に、ブロック3512において、デバイスが降ろされたことを検出したことに応じて、及び第2の音声メッセージを記録することを中止した後に、デバイスは、第2の音声メッセージを第1の参加者へ送信してもよい。
プロセス3500に関して上述されたプロセス(例えば、図35及び図21A〜図24C)の詳細はまた、本明細書において説明される他のプロセスにも、類似の様態で適用可能であることに留意されたい。例えば、プロセス3300、3400、3600、3700、3800、3900、4000、4600、及び4900は、プロセス3500を参照して上述された様々なプロセスの特性のうちの1つ以上を含み得る。簡潔にするために、これらの詳細は他のプロセスの説明において繰り返されない。プロセス(方法)3500を参照して上述された様々な方法及び技法は、図52に関して説明されるものなどの、1つ以上のユニットとして任意選択的に実装されてもよい。
図36は、メッセージグループ化のためのプロセス3600を示すフロー図である。プロセス3600は、デバイス100(図2)のような、ディスプレイとタッチ感知面とを有する電子デバイスにおいて実行されてもよい。ブロック3602において、デバイスは時間インターバル以内に第1の参加者から複数のメッセージを受信する。ブロック3604において、デバイスは、複数のメッセージがメッセージグループ化基準を満たすかどうかを判定する。いくつかの実施形態では、メッセージグループ化基準は、複数のメッセージ内のメッセージの数が数値閾値を超えると満たされる基準を含んでもよい。いくつかの実施形態では、メッセージグループ化基準は、複数のメッセージの互いの離間間隔が閾値時間量未満であると満たされる基準を含んでもよい。いくつかの実施形態では、メッセージグループ化基準は、複数のメッセージが、連続して隣接するメッセージであると満たされる基準を含んでもよい。いくつかの実施形態では、連続して隣接するメッセージは、異なる読み取りステータスを有する介在受信メッセージを全く伴わない、同じ読み取りステータスを有するメッセージを含んでもよい。ブロック3606において、複数のメッセージがメッセージグループ化基準を満たすとの判定に従って、デバイスは、複数のメッセージを表現する、単一の、グループとして境界されたメッセージ区域を表示する。任意選択的に、ブロック3606において、グループ化された境界されたメッセージ区域が少なくとも2つの音声メッセージを表現するいくつかの実施形態では、デバイスは、少なくとも2つの音声メッセージを順次再生せよとの要求を受信し、要求を受信したことに応じて、少なくとも2つの音声メッセージを順次再生してもよい。ブロック3608において、複数のメッセージがメッセージグループ化基準を満たさないとの判定に従って、デバイスは、複数のメッセージを表現する複数の別個の境界されたメッセージ区域を表示する。
プロセス3600に関して上述されたプロセス(例えば、図36及び図25A〜図25E)の詳細はまた、本明細書において説明される他のプロセスにも、類似の様態で適用可能であることに留意されたい。例えば、プロセス3300、3400、3500、3700、3800、3900、4000、4600、及び4900は、プロセス3600を参照して上述された様々なプロセスの特性のうちの1つ以上を含み得る。簡潔にするために、これらの詳細は他のプロセスの説明において繰り返されない。プロセス(方法)3600を参照して上述された様々な方法及び技法は、図53に関して説明されるものなどの、1つ以上のユニットとして任意選択的に実装されてもよい。
図37は、満期基準に基づいてメッセージ表示を管理するためのプロセス3700を示すフロー図である。プロセス3700は、デバイス100(図2)のような、ディスプレイとタッチ感知面とを有する電子デバイスにおいて実行されてもよい。ブロック3702において、デバイスは第1のメッセージを受信する。ブロック3704において、デバイスは、ディスプレイ上に、満期基準の満足時に削除されるようにスケジュールされた、第1のメッセージの表現を表示する。いくつかの実施形態では、満期基準は時間インターバルに基づいてもよい。いくつかの実施形態では、満期基準は、第1のメッセージがメディアを包含するかどうかに基づいてもよい。いくつかの実施形態では、満期基準は、メディアが、図6A〜図14に関して説明されたものなどの、迅速なメディアキャプチャアプローチを用いてキャプチャされたのか、それとも別のアプローチを用いてキャプチャされたのかに基づいてもよい。ブロック3706において、デバイスは、第1のメッセージをキープするためのアフォーダンスを表示する。ブロック3708において、アフォーダンスが満期基準の満足前に選択されたとの判定に従って、デバイスは第1のメッセージをキープする。任意選択的に、ブロック3708において、第1のメッセージがメディアを包含する場合には、アフォーダンスが満期基準の満足前に選択されたとの判定に従って、デバイスはメディアライブラリ内にメディアを保存してもよい。いくつかの実施形態では、デバイス100は、図6A〜図14に関して説明されたものなどの、迅速なメディアキャプチャアプローチを用いてキャプチャされたメディアのみを保存する。いくつかの実施形態では、第1のメッセージがメディアを包含し、満期が時間インターバルに基づく場合には、時間インターバルは、メディアが再生された後の時間から開始して計測されてもよい。いくつかの実施形態では、第1のメッセージがメディアを包含し、満期が時間インターバルに基づく場合には、時間インターバルは、メディアが作成された時間から開始して計測されてもよい。ブロック3710において、アフォーダンスの選択を検出することなく満期基準が満足されたとの判定に従って、デバイスは、ディスプレイ上に第1のメッセージの表現を表示することを中止する。任意選択的に、ブロック3710において、デバイスは、満期基準に基づいて削除されない第2のメッセージを受信してもよい。
プロセス3700に関して上述されたプロセス(例えば、図37及び図26〜図27C)の詳細はまた、本明細書において説明される他のプロセスにも、類似の様態で適用可能であることに留意されたい。例えば、プロセス3300、3400、3500、3600、3800、3900、4000、4600、及び4900は、プロセス3700を参照して上述された様々なプロセスの特性のうちの1つ以上を含み得る。簡潔にするために、これらの詳細は他のプロセスの説明において繰り返されない。プロセス(方法)3700を参照して上述された様々な方法及び技法は、図54に関して説明されるものなどの、1つ以上のユニットとして任意選択的に実装されてもよい。
図38は、ロケーション共有のためのプロセス3800を示すフロー図である。プロセス3800は、デバイス100(図2)のような、ディスプレイとタッチ感知面とを有する電子デバイスにおいて実行されてもよい。ブロック3802において、デバイスは、ディスプレイ上に、メッセージ会話の第1の参加者と第2の参加者との間で送信されたメッセージを表示するためのメッセージ領域を表示する。ブロック3804において、デバイスは、第1の参加者のロケーションを、このロケーションが少なくとも所定の期間にわたって変化する際に、第2の参加者と共有するためのロケーション共有アフォーダンスを表示する。ブロック3806において、デバイスは、ディスプレイ上におけるロケーション共有アフォーダンスのロケーションに対応するタッチ感知ディスプレイ上のロケーションにおける接触を検出する。ブロック3808において、ロケーション共有アフォーダンスのロケーションに対応するタッチ感知ディスプレイ上のロケーションにおける接触を検出したことに応じて、デバイスは、少なくとも所定の期間中に、第2の参加者に、第2の参加者が第1の参加者の現在のロケーションを判定することを可能にする情報を提供する。いくつかの実施形態では、デバイスは、ユーザが期間を選択することを可能にしてもよい。任意選択的に、ブロック3808において、ロケーション共有アフォーダンスに対応するロケーションにおける接触を検出したことに応じて、デバイスは、少なくとも2つの所定の期間に対応する少なくとも2つのアフォーダンスを表示し、ディスプレイ上における少なくとも2つのアフォーダンスのうちの1つのロケーションに対応するタッチ感知面上のロケーションにおける接触を検出し、ディスプレイ上における少なくとも2つのアフォーダンスのうちの1つのロケーションに対応するタッチ感知面上のロケーションにおける接触を検出したことに応じて、少なくとも2つのアフォーダンスのうちの1つに対応する所定の期間中に、第2の参加者に、第2の参加者が第1の参加者の現在のロケーションを判定することを可能にする情報を提供してもよい。任意選択的に、ブロック3808において、デバイスは、第2の参加者から、第1の外部デバイスのロケーションを動的に指示するロケーション情報を受信し、ディスプレイ上に、地図上における電子デバイスのロケーション及び第1の外部デバイスのロケーションを表示してもよい。任意選択的に、ブロック3808において、デバイスは、メッセージ会話に第3の参加者を追加し、第3の参加者から、第2の外部デバイスのロケーションを指示するロケーション情報を受信し、ディスプレイ上に、地図上における第2の外部デバイスのロケーションを表してもよい。任意選択的に、ブロック3808において、デバイスは、ディスプレイ上に、メッセージ会話と一緒に、詳細アフォーダンスを表示し、ディスプレイ上における詳細アフォーダンスのロケーションに対応するタッチ感知面上のロケーションにおける接触を検出し、ディスプレイ上における詳細アフォーダンスのロケーションに対応するタッチ感知面上のロケーションにおける接触を検出したことに応じて、自分たちのロケーションを共有したメッセージ会話の2人以上の参加者のロケーションを示す地図を表示してもよい。
プロセス3800に関して上述されたプロセス(例えば、図38及び図28A〜図32C)の詳細はまた、本明細書において説明されるプロセスにも、類似の様態で適用可能であることに留意されたい。例えば、プロセス3300、3400、3500、3600、3700、3900、4000、4600、及び4900は、プロセス3800を参照して上述された様々なプロセスの特性のうちの1つ以上を含み得る。簡潔にするために、これらの詳細は他のプロセスの説明において繰り返されない。プロセス(方法)3800を参照して上述された様々な方法及び技法は、図55に関して説明されるものなどの、1つ以上のユニットとして任意選択的に実装されてもよい。
図39は、メッセージ会話にメディアを追加するためのプロセス3900を示すフロー図である。プロセス3900は、ディスプレイと、タッチ感知面と、カメラセンサとを有する電子デバイスにおいて実行されてもよい。ブロック3902において、デバイスは、ディスプレイ上に、メッセージ会話を表示するためのメッセージ領域を表示する。ブロック3904において、デバイスは、メッセージ会話にメディアを追加せよとの要求を受信する。ブロック3906において、要求を受信したことに応じて、デバイスは、メッセージ会話の少なくとも一部分と同時にメディア選択インタフェースを表示する。メディア選択インタフェースは、メディアをメッセージ会話への追加のために選択するための複数のアフォーダンスを含む。それらの少なくともサブセットは、メッセージ会話に追加するために利用可能なメディアのサムネイル表現を含む。ブロック3908において、デバイスは、複数のアフォーダンスからのそれぞれのアフォーダンスの選択を検出する。ブロック3910において、それぞれのアフォーダンスの選択を検出したことに応じて、デバイスは、対応するメディアをメッセージ会話への追加のために選択する。任意選択的に、ブロック3910において、それぞれのアフォーダンスの選択を検出したことに応じて、デバイスはメッセージ会話にメディアを追加してもよい。任意選択的に、ブロック3910において、複数のアフォーダンスがライブプレビュアフォーダンスを含む場合には、デバイスは、ディスプレイ上におけるライブプレビュアフォーダンスのロケーションに対応するタッチ感知面上のロケーションにおける接触を検出し、ライブカメラプレビュのロケーションに対応するタッチ感知面上のロケーションにおける接触を検出したことに応じて、ライブカメラプレビュに基づく新しい画像をキャプチャし、新しい画像をメッセージ会話への追加のために選択してもよい。
プロセス3900に関して上述されたプロセス(例えば、図39及び図15A〜図18C)の詳細はまた、本明細書において説明されるプロセスにも、類似の様態で適用可能であることに留意されたい。例えば、プロセス3300、3400、3500、3600、3700、3800、4000、4600、及び4900は、プロセス3900を参照して上述された様々なプロセスの特性のうちの1つ以上を含み得る。簡潔にするために、これらの詳細は他のプロセスの説明において繰り返されない。プロセス(方法)3900を参照して上述された様々な方法及び技法は、図56に関して説明されるものなどの、1つ以上のユニットとして任意選択的に実装されてもよい。
図40は、音声動作を開始するためのプロセス4000を示すフロー図である。プロセス4000は、ディスプレイ(例えば、デバイス100のディスプレイ112)とマイクロフォン(例えば、デバイス100のマイクロフォン113)とを有する電子デバイス(例えば、デバイス100)において実行される。ブロック4002において、デバイスは、(例えば、図21Bに示されるとおりの上昇する動きによる)電子デバイスの運動及び1つ以上の近接センサ測定値に基づいてデバイスのコンテクストの変化を検出する。ブロック4004において、デバイスは、デバイスのコンテクストの変化を検出したことに応じて、デバイスが音声動作基準を満たすかどうかを判定する。例えば、音声動作基準は、電子デバイスの運動が運動基準を満足し、近接センサ測定値(1つ又は複数)が近接基準を満足すると満たされる基準を含む。ブロック4006において、デバイスは、デバイスのコンテクストの変化が音声動作基準を満足するとの判定に従って、音声動作を開始する。ブロック4008において、デバイスは、デバイスのコンテクストの変化が音声動作基準を満足しないとの判定に従って、音声動作を開始することを見送る。
有利には、プロセス4000は、ユーザが、単純なジェスチャを用いて(例えば、電話をユーザの耳まで持ち上げることによって)音声動作を開始することを可能にする。プロセス4000は、ユーザが、音声メッセージの送信などの音声動作を開始するために、デバイスを調べ、その上のアフォーダンスを選択する必要性を低減する。更に、運動基準及び近接基準が組み合わさり、誤った音声動作の量を都合良く低減する。ユーザインタフェースの効率の増大、及び誤った音声動作の発生及び持続時間の低減はどちらも、デバイスによるエネルギー使用を低減する。これは、エネルギー使用の低減によってバッテリ寿命が増大するバッテリ駆動デバイスのために特に重要である。
いくつかの実施形態では、運動基準は、デバイスが、図21A〜図22Cに示される上方軌道をとると、満たされる。いくつかの実施形態では、デバイスの運動は、デバイス100(図1A)上の加速度計168及び任意選択的なセンサのうちの1つ以上を用いて追跡される。いくつかの実施形態では、運動基準は、デバイスが所定の向き(1つ又は複数)と異なる向きになっていると、満たされる(例えば、デバイスが逆さまになっていると、満たされる)。いくつかの実施形態では、運動基準は、デバイスが、概ね上方へ向かう軌道をとるか、又はデバイスが、そのディスプレイを地球の表面とほぼ平行にした状態(例えば、ユーザがディスプレイ上の通信の指示を見ている時)から、そのディスプレイが地球の表面とほぼ垂直になった状態(例えば、ユーザが、音声メッセージを聞くか、若しくは記録するべく、デバイスを持ち上げ、それをユーザの耳のそばに配置した時)まで回転しながら、上方へ向かう軌道をとると、満たされる。
いくつかの実施形態では、近接基準は、電話が、図21Bに示されるように、ユーザの顔にあると、満たされる。いくつかの実施形態では、近接センサ測定値がデバイス100の近接センサ166によって提供され、近接基準は、センサが、ユーザの顔であり得る、オブジェクトとの近接近(例えば、数インチ以内)を指示すると、満たされる。
図41A及び図41Bは、プロセス4000(図40)のブロック4002内の任意選択的なサブプロセスを示すフロー図である。いくつかの実施形態では、図41Aに示される任意選択的なプロセス4102〜4106の1つ以上はブロック4002(図40)内で実行される。ブロック4102において、デバイスは、通信、例えば、音声メッセージ、テキストメッセージ、ボイスメール、電話の通話を受信する。ブロック4104において、通信を受信したことに応じて、及びデバイスのコンテクストの変化を検出する前に(例えば、図40におけるプロセス4000のブロック4004の前に)、デバイスは、通信が受信されたことの指示を提供する。可能な指示としては、視覚通知(例えば、メッセージ受信バナー、若しくはメッセージの吹き出しなどのアプリケーション固有の表示)、触知通知(例えば、振動)、又は音声通知(例えば、ビープ音、若しくは呼び出し音)がある。可能な指示としては、ユーザインタフェースロック状態で表示されるもの、及びユーザインタフェースロック解除状態で表示されるものがある。いくつかの実施形態では、通信が受信されたことの指示を表示することは、メッセージングアプリケーションを立ち上げることを伴う。メッセージングアプリケーションは、SMS及びMMSなどのサービスを介したショートメッセージ、並びに/又は例えば、California州CupertinoのApple,Inc.によって提供されているiMessage(登録商標)などのサービスを介したテキストメッセージを処理するように構成されたものである。
ブロック4106において、デバイスは、デバイスのコンテクストの変化を検出する前に、受信された通信の音声成分を再生する。例えば、通信が、デバイスによって再生されていない音声成分を有するメッセージ、例えば、新しい音声メッセージを含む場合には、このとき、音声動作は、メッセージの音声成分を再生することを含む。別の例として、通信がボイスメールメッセージを含む場合には、このとき、ボイスメールメッセージを再生する。
図41Bを参照すると、いくつかの実施形態では、任意選択的なプロセス4108及び4110がブロック4002(図40)において実行される。ブロック4108において、デバイスのコンテクストの変化を検出する前に、デバイスは、それが音声メッセージングコンテクスト内にあることを検出する。例えば、デバイスは、音声成分を有する着信メッセージングが(任意選択的に、何らかの最新性窓(window of recency)以内に)受信されると、デバイスがそのメッセージングコンテクスト内にあると判定する。別の例として、デバイスは、メッセージングアプリケーションが活動中であると、デバイスは、それがメッセージコンテクスト内にあると判定する。ブロック4110において、デバイスは、電子デバイスが音声メッセージングコンテクスト内にある場合にのみ(例えば、通信アプリケーションが開いているか、又は通信が最近受信された場合)、デバイスのコンテクストの変化を検出する。プロセス4108及び4110の有利な効果は、デバイスが音声コンテクスト外にある時には、持ち上げて話す運動を検出するために必要な加速度計及び/又は近接センサは電源を落とされてもよく(又は少なくとも積極的に監視されなくてもよく)、それにより、電力使用を低減し(例えば、デバイスのコンテクストの変化を監視するために用いられる資源を低減するとともに、偽陽性検出からの音声を記録し、処理するために用いられる資源を低減する)、かくして、電力を節約し、デバイスのためのバッテリ寿命を延ばすことである。
いくつかの実施形態では、上述されたように、ブロック4110において、デバイスは、電子デバイスが音声メッセージングコンテクスト内にある場合にのみ、デバイスのコンテクストの変化を監視する。いくつかの実施形態では、デバイスは、たとえ、マルチメディアメッセージングアプリケーションが開いていても、マルチメディアメッセージングアプリケーション内の現在選択されている会話が、音声成分(例えば、ユーザ、又は会話の他の参加者のうちの1人によって記録され、送信された音声成分)を有する少なくとも1つのメッセージを含まない限り、音声動作基準を満足するデバイスのコンテクストの変化を監視しない。上述されたように、デバイスがデバイスのコンテクストの変化を監視する状況を低減することは、デバイスの電力使用を低減し、それにより、電力を節約し、バッテリ動作デバイスのためのバッテリ寿命を延ばす。加えて、デバイスがデバイスのコンテクストの変化を監視する状況を低減することは、音声動作の偽陽性の開始(例えば、ニュースアプリケーション内にいる間に、ユーザがデバイスを持ち上げ、それを化粧台の上に置いた時に、音声を記録することを開始すること)の可能性を低減し、それにより、ユーザエクスペリエンスの全体的な質を改善する。
図42A〜図43Cは、プロセス4000のブロック4004(図40)内の任意選択的なサブプロセスを示すフロー図である。図42Aを参照すると、いくつかの実施形態では、任意選択的なプロセス4202がブロック4004(図40)において実行される。ブロック4202において、デバイスは、メッセージが、デバイスのコンテクストの変化を検出する前の既定の時間インターバル以内に受信されたかどうかを判定し、メッセージの音声成分を再生することは、メッセージが既定の時間インターバル以内に受信された場合には、メッセージの音声成分を再生することを含む。メッセージが時間インターバル以内に受信されなかった場合には、ブロック4202(及びそれゆえ、ブロック4004)は「いいえ」の結果を与え、処理は、デバイスが、新しい音声メッセージを記録することなどの音声動作を開始する機会を見送る、ブロック4008(図40)へ進む。メッセージが時間インターバル以内に受信された場合には、ブロック4202は「はい」の結果を与え、ブロック4004内の他の要求も満たされる場合には、このとき、処理は、デバイスが、新しい音声メッセージを記録することなどの音声動作を開始してもよい、ブロック4006(図40)へ進む。一例として、新しく記録される音声メッセージは、受信された通信への応答である。
図42Bを参照すると、いくつかの実施形態では、任意選択的なプロセス4204がプロセス4000のブロック4004(図40)において実行される。いくつかの実施形態では、プロセス4204に到達する前に、デバイスは、受信された通信の音声成分を再生したことを思い出されたい。これらの状況では、デバイスは、検出された、デバイスのコンテクストの変化が、音声メッセージを再生する所定の時間インターバル以内に生じたかどうかを判定するための任意選択的なブロック4204を実行してもよい。デバイスのコンテクストの変化が時間インターバル外で生じた場合には、ブロック4204(及びそれゆえ、ブロック4004)は「いいえ」の結果を与え、処理は、デバイスが、新しい音声メッセージを記録することなどの音声動作を開始する機会を見送る、ブロック4008(図40)へ進む。コンテクストの変化が、音声成分が再生された時間から所定の時間インターバル以内に検出された場合には、ブロック4204は「はい」の結果を与え、ブロック4004内の他の要求も満たされる場合には、このとき、処理は、デバイスが、新しいメッセージを記録することなどの音声動作を開始してもよい、ブロック4006へ進む。
図43Aを参照すると、いくつかの実施形態では、任意選択的なプロセス4302がプロセス4000のブロック4004(図40)において実行される。ブロック4302において、デバイスは、運動の終了、及び運動の終了時における電子デバイスの向きを判定する。例えば、運動の終了を判定することは、既定の閾値速度(例えば、0.75ft s−1、1ft s−1、1.5ft s−1、2ft s−1)を上回って運動した後に、デバイスが、期間(例えば、.5s、.75s、1s、1.25s、1.5s)以下の間、閾値量(例えば、当業者によって、使用されている実際の加速度計を考慮して決定されたとおりのノイズフィルタ値)を上回って運動したと判定することを含む。例えば、デバイスの向きを判定することは、デバイスが所定の向き(例えば、表を下にした向き、又は表を上にした向き、マイクロフォンを下にした向き、又はマイクロフォンを上にした向き)になっているかどうかを判定することを含む。いくつかの実施形態では、運動基準は、電子デバイスが運動の終了時に所定の向き(例えば、表を下にした向き)になっていないと、満たされる。
有利には、この特徴は、誤った音声動作の例を削減する効果を有する。いくつかのデバイスの向きは、音声動作に関連付けられることはありそうもないため、デバイスがそれらの向きになっている時に音声動作を抑止することによって、誤った音声動作の例が削減される。ユーザインタフェースの効率の増大、及び誤った音声動作の発生及び持続時間の低減はどちらも、デバイスによるエネルギー使用を低減する。これは、エネルギー使用の低減によってバッテリ寿命が増大するバッテリ駆動デバイスのために特に重要である。
いくつかの実施形態では、電子デバイスは、デバイスの表面上に位置付けられたスピーカ(例えば、スピーカ111、図2)を含み、所定の向きにおいて、表面は(例えば、重力に対して)下を向く。いくつかの実施形態では、電子デバイスはスピーカを含み、所定の向きにおいて、マイクロフォンは(例えば、重力に対して)受話口の上方に位置付けられる。運動の終了時におけるデバイスの向きが運動基準を満たさない場合には、ブロック4302(及びそれゆえ、ブロック4004)は「いいえ」の結果を与え、処理は、デバイスが、新しい音声メッセージを記録することなどの音声動作を開始する機会を見送る、ブロック4008(図40)へ進む。運動の終了時におけるデバイスの向きが運動基準を満たす場合には、ブロック4302は「はい」の結果を与え、ブロック4004内の他の要求も満たされる場合には、このとき、処理は、デバイスが、新しいメッセージを記録することなどの音声動作を開始してもよい、ブロック4006へ進む。
図43Bを参照すると、いくつかの実施形態では、任意選択的なプロセス4304がプロセス4000のブロック4004(図40)において実行される。ブロック4304において、デバイスは、運動基準を満足する運動が検出された後の所定の時間インターバル以内において、近接センサ測定値が、電子デバイスに近接したオブジェクトの検出を指示するかどうかを判定する。近接したオブジェクトは、任意選択的に、例えば、デバイスの、0.01、0.02、0.05、1、2、若しくは5インチ、又は別の妥当な閾値以内にある。所定の時間インターバルは、例えば、0.5、0.75、1、1.25、又は1.5秒を含む。近接センサ測定値が時間インターバル外で検出された場合には、ブロック4304(及びそれゆえ、ブロック4004)は「いいえ」の結果を与え、処理は、デバイスが、新しい音声メッセージを記録することなどの音声動作を開始する機会を見送る、ブロック4008(図40)へ進む。近接センサ測定値が時間インターバル以内に検出された場合には、ブロック4304は「はい」の結果を与え、ブロック4004内の他の要求も満たされる場合には、このとき、処理は、デバイスが、新しい音声メッセージを記録することなどの音声動作を開始してもよい、ブロック4006(図40)へ進む。
図43Cを参照すると、いくつかの実施形態では、任意選択的なプロセス4306がプロセス4000のブロック4004(図40)において実行される。ブロック4306において、デバイスは、運動が運動基準を満足し、かつ1つ以上の近接センサ測定値が近接基準を満足するとの判定の所定の時間インターバル(例えば、3秒)以内に、電子デバイスが所定の向きになっているかどうかを判定する。デバイスが所定の時間インターバルをもって所定の向きになっている場合には、デバイスは音声動作基準を満たさず、この場合には、ブロック4306(及びそれゆえ、ブロック4004)は「いいえ」の結果を与え、処理は、デバイスが、新しい音声メッセージを記録することなどの操作を開始する機会を見送る、ブロック4008(図40)へ進む。デバイスが時間インターバル以内に所定の向きになっていない場合には、ブロック4306は「はい」の結果を与え、ブロック4004内の他の要求も満たされる場合には、このとき、処理は、デバイスが、新しい音声メッセージを記録することなどの音声動作を開始してもよい、ブロック4006へ進む。
図44A〜図45Cは、プロセス4000のブロック4006(図40)内の任意選択的なサブプロセスを示すフロー図である。いくつかの実施形態では、ブロック4006は、図44Aに示される任意選択的なプロセス4402〜4406を含む。ブロック4402(図44A)において、音声動作を開始した後に、デバイスは、電子デバイスが所定の向きになっているかどうかを判定する。はいの場合には、処理は、電子デバイスが所定の向きになっているとの判定に従って、デバイスが音声動作を終了する、ブロック4404へ進む。音声動作を終了することは、音声を再生することを中止し、及び/又は音声を記録することを中止することと、任意選択的に、任意のすでに記録された音声を削除することと、任意選択的に、すでに記録された音声を記憶することと、記録された音声を配信するようにユーザに促すことと、を任意選択的に含む。いいえの場合には、処理はブロック4406へ進み、デバイスは、電子デバイスが所定の向きになっていないとの判定に従って、デバイスが音声動作を終了することを見送る。
いくつかの実施形態では、電子デバイスは、デバイスの表面上に位置付けられたスピーカ(例えば、デバイス100のスピーカ111)を含み、所定の向きにおいて、表面は(例えば、重力に対して)下を向く。いくつかの実施形態では、電子デバイスは受話口を含み、所定の向きにおいて、マイクロフォンは(例えば、重力に対して)受話口の上方に位置付けられる。
図44Bを参照すると、いくつかの実施形態では、任意選択的なプロセス4408〜4410がプロセス4000のブロック4006(図40)において実行される。ブロック4408において、音声動作を開始した後に、デバイスは、電子デバイスの特有運動が所定の閾値を上回ることを検出する。特有運動は、経時的な(平均の)加速度計出力、ピーク出力、出力持続時間、又は繰り返しに基づいてもよい。ありそうにない音声メッセージングのシナリオである例示的な特有運動は、袖の上で電話を拭くことである。ブロック4410において、電子デバイスの特有運動が所定の閾値を上回ることを検出したことに応じて、デバイスは音声動作を終了する。音声動作を終了することは、音声を再生することを中止し、及び/又は音声を記録することを中止することと、任意選択的に、任意のすでに記録された音声を削除することと、任意選択的に、すでに記録された音声を記憶することと、記録された音声を配信するようにユーザに促すことと、を任意選択的に含む。
音声動作を、それが開始した後に終了する能力に関するこれらの特徴は、誤った音声動作に起因するユーザエクスペリエンスへの影響を低減する有利な効果を有する。音声動作を迅速に開始し、それにより、応答性を改善し、ユーザのエクスペリエンスを向上させることは有益である。このような状況では、多くのことが、ユーザが音声動作を開始すること意図したように見え得る。例えば、電話を持ち上げ、それをポケットに入れると、運動基準及び近接センサ基準をトリガし得る。上述の特有運動及び所定の向きが音声に関連付けられることはありそうもない。それらの運動及び/又は向きが検出された時には音声動作を終了することで、デバイスの応答性に対するユーザの感覚に影響を及ぼさずに、誤った音声動作の数が有利に削減される。ユーザインタフェースの効率の増大、及び誤った音声動作の発生及び持続時間の低減はどちらも、デバイスによるエネルギー使用を低減する。これは、エネルギー使用の低減によってバッテリ寿命が増大するバッテリ駆動デバイスのために特に重要である。
図44Cを参照すると、いくつかの実施形態では、プロセス4000のブロック4006(図40)は任意選択的なプロセス4412〜4416を含む。上述されたように、デバイスは、上流の処理の結果、新しいメッセージの記録を開始する場合があることを思い出されたい。ブロック4412において、デバイスは、メッセージが発話を含むかどうかを判定する。発話を検出するために、デバイスは、検出された信号を発話波形の既知の特徴と任意選択的に比較する。記録されたデータが発話波形の既知の特徴(1つ又は複数)を含む場合には、デバイスは、メッセージが発話を含むと判定する。このような特徴(1つ又は複数)がデータ内にない場合には、デバイスは、メッセージが発話を含まないと判定する。ブロック4414において、デバイスは、メッセージが発話を含まないとの判定に従って、メッセージの記録を終了する。音声動作を終了することは、音声を再生することを中止し、及び/又は音声を記録することを中止することと、任意選択的に、任意のすでに記録された音声を削除することと、任意選択的に、すでに記録された音声を記憶することと、記録された音声を配信するようにユーザに促すことと、を任意選択的に含む。ブロック4416において、デバイスは、メッセージが発話を実際に含むとの判定に従って、メッセージの記録を終了することを見送る。
図45Aを参照すると、いくつかの実施形態では、任意選択的なプロセス4502〜4504がプロセス4000のブロック4006(図40)において実行される。ボイスメールメッセージを再生した後に、デバイスは、ブロック4502において、電子デバイスのポンプ(pump)運動を検出する。ポンプ運動は、下方への動き、及びそれに続く、上方への動き(例えば、音声動作基準を満たす動き)を任意選択的に含む。図22A〜図22Cに、例示的なポンプ運動が示されている。ブロック4504において、デバイスは、ポンプ運動を検出したことに応じて、ボイスメールメッセージに関連付けられた電話番号への電話通話を開始する(例えば、デバイスは折り返しの電話をかける)。
図45Bを参照すると、いくつかの実施形態では、任意選択的なプロセス4506〜4510がプロセス4000のブロック4006(図40)において実行される。ブロック4506において、デバイスは、音声再生基準が満たされたと判定する。ブロック4508において、デバイスは、音声再生基準が満たされたとの判定に従って、受信された通信に対応する音声を再生する。いくつかの実施形態では、音声再生基準は、通信が、デバイス上で以前に再生されていない音声成分を含む場合に満たされる基準を含む。いくつかの実施形態では、音声再生基準は、通信が、デバイスのコンテクストの変化が検出された時から所定の期間以内に受信された場合に満たされる基準を含む。いくつかの実施形態では、音声再生基準は、通信が、デバイスのコンテクストの変化が検出された時にデバイスのディスプレイ上に表示された通信アラート(例えば、ユーザインタフェースロックスクリーン上のポップアップ通知、ディスプレイ上に表示された別のユーザインタフェース上に重ね合わせられたポップアップ通知、又は会話内のメッセージ)に対応する場合に満たされる基準を含む。ブロック4510において、デバイスは、音声再生基準が満たされなかったとの判定に従って、再生を見送る。
図45Cを参照すると、いくつかの実施形態では、任意選択的なプロセス4512〜4516がプロセス4000のブロック4006(図40)において実行される。ブロック4512において、デバイスは、音声記録基準が満たされたと判定する。ブロック4514において、デバイスは、音声記録基準が満たされたとの判定に従って、受信された通信への応答のための音声を記録する。いくつかの実施形態では、音声記録基準は、通信アプリケーションのためのユーザインタフェース(例えば、電話ダイヤラアプリケーション、少なくとも1つの音声メッセージが送信又は受信されたマルチメディアメッセージングアプリケーションの会話)がディスプレイ上に表示されると満たされる基準を含む。いくつかの実施形態では、音声記録基準は、メッセージの音声成分が、デバイスのコンテクストの変化が検出された時の所定の期間以内に再生された場合に満たされる基準を含む。ブロック4516において、デバイスは、音声記録基準が満たされなかったとの判定に従って、記録を見送る。
プロセス4000に関して上述されたプロセス(例えば、図40〜図45、図21、及び図22)の詳細はまた、本明細書において説明されるプロセスにも、類似の様態で適用可能であることに留意されたい。例えば、プロセス3300、3400、3500、3600、3700、3800、3900、4600、及び4900は、プロセス4000を参照して上述された様々なプロセスの特性のうちの1つ以上を含み得る。簡潔にするために、これらの詳細は他のプロセスの説明において繰り返されない。プロセス(方法)4000を参照して上述された様々な方法及び技法は、図57に関して説明されるものなどの、1つ以上のユニットとして任意選択的に実装されてもよい。
図46は、メッセージを送信するためのプロセス4600を示すフロー図である。プロセス4600は、いくつかの実施形態では、ディスプレイ(例えば、デバイス100のディスプレイ112)と少なくとも1つのマイクロフォン(例えば、デバイス100のマイクロフォン113)とを有する電子デバイス(例えば、デバイス100)において実行される。ブロック4602において、デバイスは、指定された連絡先のための音声メッセージを記録せよとの要求として解釈される1つ以上の条件を検出する。指定された連絡先は、連絡先内の人、電子メール、及び受信されたメッセージ又はボイスメールに関連付けられた電話番号を任意選択的に含む。しかし、音声入力に応答し、それ以上のことはしないアプリケーションは、「連絡先」とみなされるべきではない。指定された連絡先は、ユーザによって、又はデバイス100によって特定される(例えば、指定される)連絡先である。ブロック4604において、デバイスは、1つ以上の条件を検出したことに応じて、少なくとも1つのマイクロフォンを用いて音声記録を生成する。ブロック4606において、デバイスは、音声記録が拒否基準を満たすかどうかを判定する。ブロック4608において、デバイスは、拒否基準が満足されないとの判定に従って、音声記録を、指定された連絡先へ送信する。ブロック4610において、デバイスは、拒否基準が満足されるとの判定に従って、音声記録を、指定された連絡先へ送信することを見送る。
有利には、プロセス4600は、誤ったメッセージの送信を削減することができる。進行中の音声記録を拒否基準について監視することによって、デバイスは、ユーザがうっかり音声記録を作動させてしまったか、又は記録中に気が変わったと都合良く判定する。これは、メッセージングシステムに対する顧客の満足を改善する効果を有する。ユーザインタフェースの効率の増大、及び誤った音声動作の発生及び持続時間の低減はどちらも、デバイスによるエネルギー使用を低減する。これは、エネルギー使用の低減によってバッテリ寿命が増大するバッテリ駆動デバイスのために特に重要である。
ブロック4602内の1つ以上の条件は、以上においてプロセス4000(図40)に関してより詳細に説明された、持ち上げジェスチャなどの、デバイスのコンテクストの変化若しくはユーザ入力、又はディスプレイ上にマルチメディアメッセージングアプリケーションを表示させるなどするメッセージングコンテクスト内にある間における他の入力を任意選択的に含む。
いくつかの実施形態では、ブロック4606内の拒否基準は、音声記録の持続時間が所定の持続時間(例えば、15秒)を超えると満たされる。この特徴は、ユーザが気をそらしている時に、音声記録を送信することを有利に抑止する。
図47A〜図47Dは、プロセス4600のブロック4606(図46)内の任意選択的なサブプロセスを示すフロー図である。図47Aを参照すると、いくつかの実施形態では、任意選択的なプロセス4702がプロセス4600のブロック4606(図46)において実行される。ブロック4702において、デバイスは、発話が音声記録内に存在するかどうかを検出する。拒否基準は、音声記録が、閾値量より多くを含まないと判定されると、満たされる。閾値量は、任意選択的に、絶対量、又は百分率などの相対量である。いくつかの実施形態では、閾値量は、短時間エネルギー及びゼロ交差率などの、エネルギー閾値である。いくつかの実施形態では、閾値量は発話モデルに基づく。いくつかの実施形態では、拒否基準は、(ノイズフィルタ閾値を上回る)音が検出されない場合に満たされる。
次に、デバイスの位置に基づく拒否基準に注目する。いくつかの実施形態では、拒否基準は、電子デバイスが音源から距離閾値以内にあると満たされる。任意選択的に、デバイスは、デバイスの近接センサ(例えば、デバイス100の近接センサ166)がデバイスの距離閾値以内においてオブジェクトを検出したかどうかを判定することによって、電子デバイスが距離閾値以内にあるかどうかを判定する。
図47Bを参照すると、いくつかの実施形態では、任意選択的なプロセス4704がプロセス4600のブロック4606(図46)において実行される。ブロック4704において、デバイスは、第1のマイクロフォン及び第2のマイクロフォンによってキャプチャされた信号を組み合わせることによって作り出された波形を分析することによって、電子デバイスが音源の距離閾値以内にあるかどうかを判定する(例えば、ビーム形成を用い、形成されたビームにおけるベース減衰を評価する。評価は、任意選択的に、近接場ビームの等化に基づく)。デバイスが距離閾値以内にない場合には、ブロック4704(及びそれゆえ、ブロック4606)は「いいえ」の出力を生じ、処理は、デバイスが、進行中である記録を終了するブロック4610へ進む。デバイスが距離閾値以内にある場合には、ブロック4704は「はい」の結果を与え、ブロック4604内の他の要求も満たされる場合には、このとき、処理は、デバイスが、メッセージを記録し、記録されたメッセージを送信することを任意選択的に継続する、ブロック4608へ進む。
図47Cを参照すると、いくつかの実施形態では、任意選択的なプロセス4706がプロセス4600のブロック4606(図46)において実行される。ブロック4706において、デバイスは、少なくとも1つのマイクロフォンにおける音圧レベルが音圧レベル閾値を超えるかどうかを判定することによって、電子デバイスが距離閾値以内にあるかどうかを判定する。いくつかの実施形態では、音圧レベル閾値は、電子デバイスによって以前に検出された音圧レベルの関数(例えば、囁き、大声の発話、静かな発話、普通の調子などのための時間的平均基準レベル)に基づく。デバイスが距離閾値以内にない場合には、ブロック4706(及びそれゆえ、ブロック4606)は「いいえ」の出力を生じ、処理は、デバイスが、進行中である記録を終了するブロック4610へ進む。デバイスが距離閾値以内にある場合には、ブロック4706は「はい」の結果を与え、ブロック4604内の他の要求も満たされる場合には、このとき、処理は、デバイスが、メッセージを記録し、記録されたメッセージを送信することを継続してもよい、ブロック4608へ進む。
図47Dを参照すると、いくつかの実施形態では、任意選択的なプロセス4708がプロセスのブロック4606(図46)において実行される。ブロック4708において、デバイスは、音圧レベルを、少なくとも1つのマイクロフォンによって検出された残響レベルと比較すること(例えば、残響エネルギーに対する直接発話エネルギーの比を算出し、比を閾値と比較すること)によって、電子デバイスが距離閾値以内にあるかどうかを判定する。比が遠距離場音響特性を指示する場合には、処理は、デバイスが、進行中である記録を終了するブロック4610へ進む。比が近距離場音響特性を指示する場合には、かつ、ブロック4604内の他の要求も満たされる場合には、このとき、処理は、デバイスが、メッセージを記録し、記録されたメッセージを送信することを継続してもよい、ブロック4608へ進む。
本明細書における説明は主として音声動作に関して提供されているが、上述のシステム及び方法は他の動作に拡張されることができることを理解されたい。例えば、電話の位置を判定することは、他のアプリケーション内で利用されることができ、電話がユーザの近くにあるのか、それともユーザから遠く離れているのかに関する情報を提供するためのプラットフォームサービスとして提示されることができる。このような情報は、例えば、呼び出し音の音量を設定するために用いることができる。
いくつかの実施形態では、拒否基準は電子デバイスの向きに基づく。いくつかの実施形態では、電子デバイスは、デバイスの表面上に位置付けられたスピーカ(例えば、デバイス100のスピーカ111)を含み、拒否基準は、表面が(例えば、重力に対して)下を向いていると満たされる。いくつかの実施形態では、電子デバイスは受話口を含み、拒否基準は、マイクロフォンが(例えば、重力に対して)受話口の上方に位置付けられていると満たされる。
いくつかの実施形態では、拒否基準は、電子デバイスの特有運動が閾値を超えると満たされる。特有運動は、経時的な(平均の)ジャイロスコープ及び/又は加速度計出力、ピーク運動、運動の持続時間、又は運動の繰り返し(袖の上で電話を拭くことなど)を任意選択的に含む。
いくつかの実施形態では、音声記録が拒否基準を満たすかどうかを判定することは、音声記録を、指定された連絡先へ送信せよとの要求として解釈される1つ以上の条件を検出したことに応じるものである。いくつかの実施形態では、判定は、音声を記録した後に(例えば、短時間の音声区間が記録された後に)実行される。いくつかの実施形態では、判定は、音声を記録している間に(例えば、ユーザが音声を記録しているつもりでない時に、長い音声区間の記録を終了するために)実行される。
図48A〜図48Bは、いくつかの実施形態における、プロセス4600のブロック4610(図46)内の任意選択的なサブプロセスを示すフロー図である。図48Aを参照すると、任意選択的なプロセス4802がプロセス4600のブロック4610(図46)において実行されてもよい。ブロック4802において、音声記録が拒否基準を満足すると、デバイスは、音声記録を含む暫定メッセージの表現、及び送信アフォーダンスを同時に表示する。(この態様は図22Dにおけるデバイス100上に示されている。)送信アフォーダンスのユーザ選択を検出すると、デバイスは暫定メッセージを、指定された連絡先へ送信する。
図48Bを参照すると、いくつかの実施形態では、任意選択的なプロセス4804〜4808がプロセス4600のブロック4610(図46)において実行される。ブロック4804(図48B)において、音声記録が拒否基準を満足すると、デバイスは、1つ以上の条件を検出したこと(例えば、ユーザ入力を受信するか、又は音声を記録することを開始したこと)と、音声記録が拒否基準を満足すると判定したこととの間の経過時間が時間閾値を超えるかどうかを判定する。ブロック4806において、デバイスは、経過時間が時間閾値を超えるとの判定に従って、音声記録を含む暫定メッセージの表現(例えば、図22Dにおけるデバイス100のユーザインタフェース)を表示する。ブロック4808において、デバイスは、経過時間が時間閾値を超えないとの判定に従って、暫定メッセージの表現を表示することなく、音声記録を削除する。例えば、音声を記録することを開始した後に間もなく、又は音声を記録することを終えた後に間もなく、音声メッセージの記録が誤りであると判定された場合には、このとき、音声メッセージは削除され、ユーザは、暫定音声メッセージを表示することに煩わされない。この場合には、記録が誤って開始された可能性が高く、本実施形態は、おそらく意図されたものでない記録でユーザを煩わせる必要を無くす。しかし、音声を記録した後、又は音声を記録することを開始した後、閾値時間を超えてから、音声メッセージの記録が誤りであると判定された場合には、ユーザを混乱させたり、イライラさせたりすることを回避するために、音声メッセージを、ユーザによる送信のために利用可能である暫定案として保存する。
プロセス4600に関して上述されたプロセス(例えば、図46〜図48、図21、及び図22)の詳細はまた、本明細書において説明されるプロセスにも、類似の様態で適用可能であることに留意されたい。例えば、プロセス3300、3400、3500、3600、3700、3800、3900、4000、及び4900は、プロセス4600を参照して上述された様々なプロセスの特性のうちの1つ以上を含み得る。簡潔にするために、これらの詳細は他のプロセスの説明において繰り返されない。プロセス(方法)4600を参照して上述された様々な方法及び技法は、図58に関して説明されるものなどの、1つ以上のユニットとして任意選択的に実装されてもよい。
図49は、メディアをキャプチャし、送信するためのプロセス4900を示すフロー図である。プロセス4900は、デバイス100(図2)のような、ディスプレイとタッチ感知面とを有する電子デバイスにおいて実行されてもよい。ブロック4902において、デバイスは、ディスプレイ上に、メディアアフォーダンス、メッセージ作成フィールド、及び参加者の間のメッセージ会話を表示する。会話はメッセージ領域内に表示される。ブロック4904において、デバイスは、ディスプレイ上におけるメディアアフォーダンスのロケーションに対応するタッチ感知面上のロケーションにおける接触を検出する。ブロック4906において、接触を検出したことに応じて、デバイスはメッセージ作成フィールド内にライブメディアプレビュを表示する。ブロック4908において、デバイスは接触のリフトオフを検出する。ブロック4910において、リフトオフを検出したことに応じて、デバイスは、ライブメディアプレビュに基づく新しい画像をキャプチャし、キャプチャされた画像をメッセージ会話の参加者へ送信する。任意選択的に、リフトオフを検出したことに応じて、キャプチャされた画像を参加者へ送信する。任意選択的に、デバイスは、メッセージを送信するための送信ボタンを表示する。送信ボタンに対応するロケーションにおける接触を検出したことに応じて、キャプチャされたメディアを参加者へ送信する。任意選択的に、リフトオフを検出したことに応じて、メッセージ作成フィールド内に、キャプチャされた画像の表現を表示する。デバイスは、メッセージ作成フィールド内における追加のコンテンツのユーザ入力を検出する。接触を検出したことに応じて、追加のコンテンツ及びキャプチャされた画像を参加者へ送信する。任意選択的に、表示されたメッセージ会話内に挿入された境界されたメッセージ区域内に、キャプチャされた画像のサムネイル、及び追加のコンテンツを表示する。
プロセス4900に関して上述されたプロセス(例えば、図49及び図11C〜G)の詳細はまた、本明細書において説明されるプロセスにも、類似の様態で適用可能であることに留意されたい。例えば、プロセス3300、3400、3500、3600、3700、3800、3900、4000、及び4600は、プロセス4900を参照して上述された様々なプロセスの特性のうちの1つ以上を含み得る。簡潔にするために、これらの詳細は他のプロセスの説明において繰り返されない。プロセス(方法)4900を参照して上述された様々な方法及び技法は、図59に関して説明されるものなどの、1つ以上のユニットとして任意選択的に実装されてもよい。
図50に示されるように、電子デバイス5000は、ユーザインタフェースを表示するように構成された表示ユニット5002と、接触を受けるように構成されたタッチ感知面ユニット5004と、表示ユニット5002及びタッチ感知面ユニット5004に結合された処理ユニット5006と、を含む。いくつかの実施形態では、処理ユニット5006は、表示可能化ユニット5008、検出ユニット5010、判定ユニット5012、送信ユニット5014、メディアキャプチャユニット5016、割り当てユニット5018、及び受信ユニット5020を含む。
処理ユニット5006は、メディアアフォーダンス、及びメッセージ会話の参加者の間で送信されたメッセージを表示するためのメッセージ領域の表示を(例えば、表示可能化ユニット5008を用いて)可能にすることと、表示ユニット5002上におけるメディアアフォーダンスのロケーションに対応するタッチ感知面ユニット5004上のロケーションにおける接触を検出することを含む、タッチ感知面ユニット5004上におけるジェスチャを(例えば、検出ユニット5010を用いて)検出することと、接触を検出したことに応じて、ディスプレイ上における送信アフォーダンスの表示を(例えば、表示可能化ユニット5008を用いて)可能にすることと、タッチ感知面ユニット5004を横切る接触の移動を検出すること、及びそれに続き、タッチ感知面からの接触のリフトオフを検出することを含む、ジェスチャの続きを(例えば、検出ユニット5010を用いて)検出することと、接触が、送信アフォーダンスのロケーションに対応するタッチ感知面ユニット上のロケーションへ移動したかどうかを(例えば、判定ユニット5012を用いて)判定することと、接触が、送信アフォーダンスのロケーションに対応するタッチ感知面ユニット上のロケーションへ移動したとの判定に従って、及びリフトオフを検出したことに応じて、ジェスチャの少なくとも一部分に応じて(例えば、メディアキャプチャユニット5016を用いて)キャプチャされたメディアをメッセージ会話の参加者へ(例えば、送信ユニット5014を用いて)送信することと、をするように構成される。
いくつかの実施形態では、接触及びそれに続く接触の移動は、タッチ感知面ユニット5004上における単一の連続した接触である。
いくつかの実施形態では、処理ユニット5006は、接触を検出したことに応じて、表示ユニット5002上におけるキャンセルアフォーダンスの表示を(例えば、表示可能化ユニット5008を用いて)可能にすることと、接触が、キャンセルアフォーダンスのロケーションに対応するタッチ感知面ユニット5004上のロケーションへ移動したかどうかを(例えば、判定ユニット5012を用いて)判定することと、接触が、キャンセルアフォーダンスのロケーションに対応するタッチ感知面ユニット上のロケーションへ移動し、それに続き、リフトオフが行われたとの判定に従って、キャプチャされたメディアを参加者へ送信することを見送ることと、をするように更に構成される。
いくつかの実施形態では、処理ユニット5006は、リフトオフを(例えば、検出ユニット5010を用いて)検出した後に、表示ユニットからの送信アフォーダンスの消去を(例えば、表示可能化ユニット5008を用いて)可能にするように更に構成される。
いくつかの実施形態では、処理ユニット5006は、接触が、表示ユニット5002上における送信アフォーダンスのロケーションに対応するタッチ感知面ユニット5004上のロケーションへ移動したとの判定に従って、及びリフトオフを検出したことに応じて、メディアを(例えば、メディアキャプチャユニット5016を用いて)キャプチャすることと、メディアを参加者へ(例えば、送信ユニット5014を用いて)送信することと、をするように更に構成される。
いくつかの実施形態では、処理ユニット5006は、接触を検出したことに応じて、メディアをキャプチャすることを(例えば、メディアキャプチャユニット5016を用いて)開始することと、接触が、表示ユニット5002上における送信アフォーダンスのロケーションに対応するタッチ感知面ユニット5004上のロケーションへ移動したとの判定に従って、及びリフトオフを検出したことに応じて、メディアをキャプチャすることを中止することと、メディアを参加者へ(例えば、送信ユニット5014を用いて)送信することと、をするように更に構成される。
いくつかの実施形態では、処理ユニット5006は、接触を検出したことに応じて、メディアをキャプチャすることを(例えば、メディアキャプチャユニット5016を用いて)開始することと、接触の移動を検出したことに応じて、メディアをキャプチャすることを中止することと、接触が、表示ユニット5002上における送信アフォーダンスのロケーションに対応するタッチ感知面ユニット5004上のロケーションへ移動したとの判定に従って、及び接触が、送信アフォーダンスに対応するタッチ感知面ユニット上のロケーションにある間に、リフトオフを検出したことに応じて、メディアを参加者へ(例えば、送信ユニット5014を用いて)送信することと、をするように更に構成される。
いくつかの実施形態では、メディアは、マイクロフォンから受信された音声データであり、リフトオフは、表示ユニット上における送信アフォーダンスのロケーションに対応するタッチ感知面ユニット上のロケーションにおけるものであり、処理ユニット5006は、接触を検出したことに応じて、音声データをキャプチャすることを(例えば、メディアキャプチャユニット5016を用いて)開始することと、接触が、表示ユニット5002上における送信アフォーダンスのロケーションに対応するタッチ感知面ユニット5004上のロケーションへ移動したとの判定に従って、及びリフトオフを検出したことに応じて、音声データをキャプチャすることを中止することと、音声データを参加者へ(例えば、送信ユニット5014を用いて)送信することと、をするように更に構成される。
いくつかの実施形態では、処理ユニット5006は、表示ユニット5002上におけるメッセージ作成フィールドの表示を(例えば、表示可能化ユニット5008を用いて)可能にすることと、接触が、送信アフォーダンスのロケーションに対応するタッチ感知面ユニット5004上のロケーションへも、キャンセルアフォーダンスのロケーションに対応するタッチ感知面上のロケーションへも移動しなかったとの判定に従って、及びリフトオフを検出したことに応じて、表示ユニット5002上における、メッセージ作成フィールド内における画像の表示を可能にすることであって、画像は、キャプチャされたメディアを表現する波形を有する、ことと、をするように更に構成される。
いくつかの実施形態では、処理ユニット5006は、リフトオフを検出したことに応じて、メディアアフォーダンスの表示の、キャプチャされたメディアを参加者へ(例えば、送信ユニット5014を用いて)送信するための送信ボタンの表示との置換を(例えば、表示可能化ユニット5008を用いて)可能にするように更に構成される。
いくつかの実施形態では、処理ユニット5006は、タッチ感知面ユニット5004上における接触を(例えば、検出ユニット5010を用いて)検出したことに応じて、表示ユニット5002上におけるメディアプレビュの表示を(例えば、表示可能化ユニット5008を用いて)可能にすることと、リフトオフを検出した後に、表示ユニット上にメディアプレビュを表示することを中止することと、をするように更に構成される。
いくつかの実施形態では、処理ユニット5006は、接触がメディアアフォーダンス上で維持されている間に、表示ユニット5002上における、視覚的に区別された領域の表示を(例えば、表示可能化ユニット5008を用いて)可能にすることであって、視覚的に区別された領域はメディアアフォーダンス及び送信アフォーダンスを取り囲む、ことと、接触の移動を検出したことに応じて、視覚的に区別された領域の表示を(例えば、表示可能化ユニット5008を用いて)拡大することと、をするように更に構成される。
いくつかの実施形態では、処理ユニット5006は、表示ユニット5002上における、参加者へのメッセージを入力するための仮想キーボードの表示を(例えば、表示可能化ユニット5008を用いて)可能にすることと、仮想キーボードの上方における、表示ユニット5002の特定の縁部に沿ったメディアアフォーダンスの表示を(例えば、表示可能化ユニット5008を用いて)可能にすることであって、表示された視覚的に区別された領域は特定の縁部によって部分的に境界される、ことと、をするように更に構成される。
いくつかの実施形態では、処理ユニット5006は、表示ユニット5002の隅部におけるメディアアフォーダンスの表示を(例えば、表示可能化ユニット5008を用いて)可能にすることであって、表示された視覚的に区別された領域は表示ユニットの2つの異なる縁部によって部分的に境界される、ことをするように更に構成される。
いくつかの実施形態では、タッチ感知面ユニット5004はタッチ感知ディスプレイであり(例えば、タッチ感知面ユニット5004は表示ユニット5002の一部である)、処理ユニット5006は、メディアアフォーダンスにヒット領域を(例えば、割り当てユニット5018を用いて)割り当てることであって、ヒット領域は、タッチ入力に応答する表示ユニットの区域であり、ヒット領域は、仮想キーボードが表示ユニット上に表示されている時には、仮想キーボードが表示されていない時よりも大きなサイズを有する、ことをするように更に構成される。
いくつかの実施形態では、処理ユニット5006は、メディアアフォーダンス上における接触の持続時間を(例えば、判定ユニット5012を用いて)判定することと、接触の持続時間が閾値持続時間未満であるとの判定に従って、表示ユニット5002上における、既存のメディアを、参加者へ送信するために選択するためのメディアセレクタユーザインタフェースの表示を(例えば、表示可能化ユニット5008を用いて)可能にすることと、をするように更に構成される。
いくつかの実施形態では、処理ユニット5006は、キャプチャされたメディアのメタデータのセットを参加者へ送信することを抑止するべきであるかどうかのユーザ指定を(例えば、受信ユニット5020を用いて)受信するように更に構成される。
いくつかの実施形態では、メタデータは電子デバイスのロケーションの表現を含む。
いくつかの実施形態では、メディアアフォーダンスは第1のメディアアフォーダンスであり、処理ユニット5006は、表示ユニット5002上における第2のメディアアフォーダンスの表示を(例えば、表示可能化ユニット5008を用いて)可能にするように更に構成される。
いくつかの実施形態では、第1のメディアアフォーダンスは、音声データをキャプチャするための音声キャプチャアフォーダンスであり、第2のメディアアフォーダンスは、ビデオ又は画像をキャプチャするための視覚メディアキャプチャアフォーダンスである。
いくつかの実施形態では、参加者へ送信されるメディアは満期基準に基づいて満期になる。
図33を参照して上述された動作は、図1A〜図1B、図3、図5B、又は図50に示される構成要素によって任意選択的に実施される。例えば、表示可能化動作3302、検出動作3304、及び/又は、判定動作3310は、イベントソータ170、イベント認識部180及びイベントハンドラ190によって任意選択的に実施される。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136−1に配布する。アプリケーション136−1のそれぞれのイベント認識部180は、イベント情報をそれぞれのイベント定義186と比較し、タッチ感知面上におけるジェスチャが、ユーザインタフェース上のアフォーダンスの作動などの、既定のイベント又はサブイベントに対応するかどうかを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、イベント又はサブイベントの検出に関連するイベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデーター176若しくはオブジェクトアップデーター177を利用又は呼び出してもよい。いくつかの実施形態において、イベントハンドラ190は、アプリケーションにより表示されるものを更新するためのそれぞれのGUIアップデーター178にアクセスする。同様に、当業者にとって、他の処理が、図1A〜図1B、図3、図5B、又は図50に示される構成要素に基づいてどのように実施されることができるのかは明らかであろう。
図51に示されるように、電子デバイス5100は、ユーザインタフェースを表示するように構成された表示ユニット5102と、接触を受けるように構成されたタッチ感知面ユニット5104と、表示ユニット5102及びタッチ感知面ユニット5104に結合された処理ユニット5106と、を含む。いくつかの実施形態では、処理ユニット5106は、表示可能化ユニット5108、検出ユニット5110、判定ユニット5112、送信ユニット5114、メディアキャプチャユニット5116、及びメディア再生ユニット5118を含む。
処理ユニット5106は、表示ユニット5102上における、メディアアフォーダンス、及びメッセージ会話の参加者の間で送信されたメッセージを表示するためのメッセージ領域の表示を(例えば、表示可能化ユニット5108を用いて)可能にすることと、タッチ感知面ユニット5104上における第1の入力を(例えば、検出ユニット5110を用いて)検出することであって、第1の入力は表示ユニット5102上におけるメディアアフォーダンスのロケーションに対応する、ことと、第1の入力を検出したことに応じて、表示ユニット5102上における記録アフォーダンス及び送信アフォーダンスの表示を(例えば、表示可能化ユニット5108を用いて)可能にすることと、タッチ感知面ユニット5104上における第2の入力を(例えば、検出ユニット5110を用いて)検出することであって、第2の入力は表示ユニット5102上における記録アフォーダンスのロケーションに対応する、ことと、第2の入力を検出したことに応じて、ビデオを記録することを(例えば、メディアキャプチャユニット5116を用いて)開始することと、タッチ感知面ユニット5104上における第3の入力を検出することであって、第3の入力は表示ユニット5102上における送信アフォーダンスのロケーションに対応する、ことと、第3の入力を検出したことに応じて、記録されたビデオを参加者へ(例えば、送信ユニット5114を用いて)送信することと、表示ユニット5102からの送信アフォーダンス及び記録アフォーダンスの消去を(例えば、表示可能化ユニット5108を用いて)可能にすることと、をするように構成される。
いくつかの実施形態では、第1の入力、第2の入力、及び第3の入力はタッチ感知面ユニット5104上における3つの別個の接触である。
いくつかの実施形態では、第1の入力はタッチ感知面ユニット5104上における接触であり、第2の入力は、表示ユニット5102上におけるメディアアフォーダンスのロケーションに対応するタッチ感知面ユニット5104上のロケーションから、表示ユニット5102上における記録アフォーダンスのロケーションに対応するタッチ感知面ユニット5104上のロケーションへの接触の移動を含むタッチ感知面ユニット5104上における接触の続きである。
いくつかの実施形態では、第1の入力はタッチ感知面ユニット5104上における接触であり、第2の入力はタッチ感知面5104ユニット上における別個の接触であり、第3の入力は、表示ユニット5102上における記録アフォーダンスのロケーションに対応するタッチ感知面ユニット5104上のロケーションから、表示ユニット5102上における送信アフォーダンスのロケーションに対応するタッチ感知面ユニット5104上のロケーションへの接触の移動を含むタッチ感知面ユニット5104上における別個の接触の続きである。
いくつかの実施形態では、処理ユニット5106は、第3の入力を検出したことに応じて、表示されたメッセージ会話内への記録されたビデオのサムネイル表現の挿入を(例えば、表示可能化ユニット5108を用いて)可能にするように更に構成される。
いくつかの実施形態では、処理ユニット5106は、ビデオを記録している間に、第2の接触のリフトオフを(例えば、検出ユニット5110を用いて)検出することと、リフトオフの後にビデオを記録することを(例えば、メディアキャプチャユニット5116を用いて)継続することと、をするように更に構成される。
いくつかの実施形態では、処理ユニット5106は、ビデオを記録している間に、第2の接触のリフトオフを(例えば、検出ユニット5110を用いて)検出することと、リフトオフを検出したことに応じて、ビデオを記録することを中止することと、をするように更に構成される。
いくつかの実施形態では、処理ユニット5106は、リフトオフを検出したことに応じて、表示ユニット5102上における、記録アフォーダンスの表示の、ビデオを再生するための再生アフォーダンスの表示との置換を(例えば、表示可能化ユニット5108を用いて)可能にすることであって、ビデオは参加者へまだ送信されていない、ことをするように更に構成される。
いくつかの実施形態では、処理ユニット5106は、ビデオを記録している間に、表示ユニット5102上における、記録されたビデオの時間的長さの指示の表示を(例えば、表示可能化ユニット5108を用いて)可能にするように更に構成される。
いくつかの実施形態では、表示されたメッセージ会話内への、キャプチャされたビデオのサムネイル表現の挿入を可能にすることは、表示ユニット5102上における、メッセージ会話内における境界されたメッセージ区域の表示を(例えば、表示可能化ユニット5108を用いて)可能にすることと、表示ユニット5102上における、境界されたメッセージ区域内における再生アフォーダンスの表示を(例えば、表示可能化ユニット5108を用いて)可能にすることと、を含む。処理ユニット5106は、表示ユニット5102上における再生アフォーダンスのロケーションに対応するタッチ感知面ユニット5104上のロケーションにおける第5の接触を(例えば、検出ユニット5110を用いて)検出することと、第5の接触を検出したことに応じて、境界されたメッセージ区域の境界内で、記録されたビデオを(例えば、メディア再生ユニット5118を用いて)再生することと、をするように更に構成される。
いくつかの実施形態では、参加者へ送信される記録されたビデオは満期基準に基づいて満期になる。
図34を参照して上述された動作は、図1A〜図1B、図3、図5B、又は図51に示される構成要素によって任意選択的に実施される。例えば、表示可能化動作3402、3406及び/又は検出動作3404、3408は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって任意選択的に実施される。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112又はその他の入力コントロールデバイス116上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136−1へ配布する。アプリケーション136−1のそれぞれのイベント認識部180は、イベント情報をそれぞれのイベント定義186と比較し、ディスプレイロケーションに対応する第1の入力が、ユーザインタフェース上のアフォーダンスの作動などの、既定のイベント又はサブイベントに対応するかどうかを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、イベント又はサブイベントの検出に関連するイベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデーター176若しくはオブジェクトアップデーター177を利用又は呼び出してもよい。いくつかの実施形態において、イベントハンドラ190は、アプリケーションにより表示されるものを更新するためのそれぞれのGUIアップデーター178にアクセスする。同様に、当業者にとって、他の処理が、図1A〜図1B、図3、図5B、又は図51に示される構成要素に基づいてどのように実施されることができるのかは明らかであろう。
図52に示されるように、電子デバイス5200は、ユーザインタフェースを表示するように構成された表示ユニット5202と、任意選択的に、接触を受けるように構成されたタッチ感知面ユニット5204と、表示ユニット5202、及び、任意選択的に、タッチ感知面ユニット5204に結合された処理ユニット5206と、を含む。いくつかの実施形態では、処理ユニット5206は、表示可能化ユニット5208、検出ユニット5210、判定ユニット5212、送信ユニット5214、メディアキャプチャユニット5216、及びメディア再生ユニット5218を含む。
処理ユニット5206は、表示ユニット5202上における、メッセージ会話の第1の参加者から受信された第1の音声メッセージの表現の表示を(例えば、表示可能化ユニット5208を用いて)可能にすることと、第1の音声メッセージを再生せよとの要求を(例えば、検出ユニット5210を用いて)検出することと、要求を検出したことに応じて、第1の音声メッセージを(例えば、メディア再生ユニット5218を用いて)再生することと、第1の音声メッセージを再生した後に、デバイス5200の持ち上げを(例えば、検出ユニット5210を用いて)検出することと、デバイス5200の持ち上げを検出したことに応じて、第2の音声メッセージを(例えば、メディアキャプチャユニット5216を用いて)記録することと、第2の音声メッセージを記録した後に、第2の音声メッセージを第1の参加者へ(例えば、送信ユニット5214を用いて)送信することと、をするように構成される。
いくつかの実施形態では、処理ユニット5206は、第2の音声メッセージを記録している間に、デバイス5200が降ろされたことを(例えば、検出ユニット5210を用いて)検出することと、デバイスが降ろされたことを検出したことに応じて、第2の音声メッセージを記録することを中止することと、記録された第2の音声メッセージを第1の参加者へ(例えば、送信ユニット5214を用いて)送信することと、をするように更に構成される。
いくつかの実施形態では、第1の音声メッセージを再生せよとの要求を検出することは、第1の音声メッセージの表現が表示ユニット5202上に表示されている間に、デバイス5200の別個の持ち上げを検出することを含む。
いくつかの実施形態では、処理ユニット5206は、第1の音声メッセージを再生した後に、及び第2の音声メッセージを記録する前に、デバイス5200が降ろされたことを(例えば、検出ユニット5210を用いて)検出するように更に構成される。
いくつかの実施形態では、第1の音声メッセージを再生せよとの要求を検出することは、表示ユニット5202上における第1の音声メッセージの表示された表現のロケーションに対応するタッチ感知面ユニット5204上のロケーションにおける接触を検出することを含む。
いくつかの実施形態では、表示ユニット5202はタッチ感知表示ユニットであり、表現の表示を可能にすることは、表示ユニット5202上における、受信されたメッセージを指示するアフォーダンスの表示を(例えば、表示可能化ユニット5208を用いて)可能にすることと、表示されたアフォーダンス上におけるスワイプジェスチャを(例えば、検出ユニット5210を用いて)検出することと、スワイプジェスチャを検出したことに応じて、表示ユニット5202上における、デバイス5200を持ち上げて第2の音声メッセージを記録するようにユーザに教示する教示の表示を(例えば、表示可能化ユニット5208を用いて)可能にすることと、を含む。
いくつかの実施形態では、受信されたメッセージを指示するアフォーダンスは表示ユニット5202上のロックスクリーン上に表示される。
いくつかの実施形態では、処理ユニット5206は、スワイプジェスチャを検出したことに応じて、表示ユニット5202上における、受信されたメッセージに返信するための返信アフォーダンスの表示を(例えば、表示可能化ユニット5208を用いて)可能にすることと、返信アフォーダンスの選択を(例えば、検出ユニット5210を用いて)検出することと、返信アフォーダンスの選択を検出したことに応じて、表示ユニット5202上における、デバイス5200を持ち上げて第2の音声メッセージを記録するようにユーザに教示する教示の表示を(例えば、表示可能化ユニット5208を用いて)可能にすることと、をするように更に構成される。
いくつかの実施形態では、デバイス5200を持ち上げて第2の音声メッセージを記録するようにユーザに教示する教示は、表示ユニット5202上のメッセージ作成フィールド内に表示され、処理ユニット5200は、表示ユニット5202上におけるメディアアフォーダンスの表示を(例えば、表示可能化ユニット5208を用いて)可能にすることと、表示ユニット5202上におけるメディアアフォーダンスのロケーションに対応するタッチ感知面ユニット5204上のロケーションにおける接触を(例えば、検出ユニット5210を用いて)検出することと、接触を検出したことに応じて、第2の音声メッセージを(例えば、メディアキャプチャユニット5216を用いて)記録することと、第2の音声メッセージを記録した後に、第2の音声メッセージを第1の参加者へ(例えば、送信ユニット5214を用いて)送信することと、をするように更に構成される。
いくつかの実施形態では、処理ユニット5206は、表示ユニット5202上におけるメッセージ入力フィールドのロケーションに対応するタッチ感知面ユニット5204上のロケーションにおける接触を(例えば、検出ユニット5210を用いて)検出することと、メッセージ入力フィールドのロケーションに対応するタッチ感知面ユニット5204上のロケーションにおける接触を検出したことに応じて、表示ユニット5202上における仮想キーボードの表示を(例えば、表示可能化ユニット5208を用いて)可能にすることと、をするように更に構成される。
いくつかの実施形態では、第2の音声メッセージは満期基準に基づいて満期になる。
図35を参照して上述された動作は、図1A〜図1B、図3、図5B、又は図52に示される構成要素によって任意選択的に実施される。例えば、検出動作3504、3508は、加速度計168、イベントソータ170、イベント認識部180、及び/又はイベントハンドラ190によって任意選択的に実施される。イベントソータ170内のイベントモニタ171は、デバイスの接触又は持ち上げによって表現された要求などの、要求を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136−1へ配布する。アプリケーション136−1のそれぞれのイベント認識部180は、イベント情報をそれぞれのイベント定義186と比較し、要求が、音声メッセージを再生せよとの要求などの、既定のイベント又はサブイベントに対応するかどうかを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、イベント又はサブイベントの検出に関連するイベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデーター176若しくはオブジェクトアップデーター177を利用又は呼び出してもよい。いくつかの実施形態では、イベントハンドラ190は、音声メッセージを再生するためにオーディオ回路110にアクセスする。同様に、当業者にとって、他の処理が、図1A〜図1B、図3、図5B、又は図52に示される構成要素に基づいてどのように実施されることができるのかは明らかであろう。
図53に示されるように、電子デバイス5300は、ユーザインタフェースを表示するように構成された表示ユニット5302と、任意選択的に、接触を受けるように構成されたタッチ感知面ユニット5304と、表示ユニット5302、及び、任意選択的に、タッチ感知面ユニット5304に結合された処理ユニット5306と、を含む。いくつかの実施形態では、処理ユニット5306は、表示可能化ユニット5308、検出ユニット5310、判定ユニット5312、受信ユニット5314、及びメディア再生ユニット5316を含む。
処理ユニット5306は、時間インターバル以内に第1の参加者から複数のメッセージを(例えば、受信ユニット5314を用いて)受信することと、複数のメッセージがメッセージグループ化基準を満たすかどうかを(例えば、判定ユニット5312を用いて)判定することと、をするように構成される。複数のメッセージがメッセージグループ化基準を満たさないとの判定に従って、処理ユニット5306は、表示ユニット5302上における、複数のメッセージを表現する複数の別個の境界されたメッセージ区域の表示を(例えば、表示可能化ユニット5308を用いて)可能にするように構成される。複数のメッセージがメッセージグループ化基準を満たすとの判定に従って、処理ユニット5306は、表示ユニット5302上における、複数のメッセージを表現する、単一の、グループとして境界されたメッセージ区域の表示を(例えば、表示可能化ユニット5308を用いて)可能にするように構成される。
いくつかの実施形態では、メッセージグループ化基準は、複数のメッセージ内のメッセージの数が数値閾値を超えると満たされる基準を含む。
いくつかの実施形態では、メッセージグループ化基準は、複数のメッセージの互いの離間間隔が閾値時間量未満であると満たされる基準を含む。
いくつかの実施形態では、メッセージグループ化基準は、複数のメッセージが、連続して隣接するメッセージであると満たされる基準を含む。
いくつかの実施形態では、連続して隣接するメッセージは、他の参加者からの介在受信メッセージを全く伴うことなく単一の参加者から受信されたメッセージである。
いくつかの実施形態では、連続して隣接するメッセージは、異なる種類の介在受信メッセージを全く伴うことなく受信された同じ種類のメッセージである。
いくつかの実施形態では、連続して隣接するメッセージは、異なる読み取りステータスを有する介在受信メッセージを全く伴わない、同じ読み取りステータスを有するメッセージである。
いくつかの実施形態では、複数のメッセージのうちのメッセージは音声メッセージであり、処理ユニットは、表示ユニット5302上における、境界されたメッセージ区域の内部における、音声メッセージに対応する波形画像の表示を(例えば、表示可能化ユニット5308を用いて)可能にすることであって、波形画像は、音声メッセージのコンテンツを表現する波形を有する、ことをするように更に構成される。
いくつかの実施形態では、境界されたメッセージ区域の内部における波形画像の表示を可能にすることは、初期色による波形の表示を可能にすることと、音声メッセージを再生せよとの要求を(例えば、受信ユニット5314を用いて)受信することと、音声メッセージを再生せよとの要求を受信したことに応じて、音声メッセージを(例えば、メディア再生ユニット5316を用いて)再生することと、再生された音声メッセージの部分を指示するために、再生中における波形の少なくとも一部分の色の変更を(例えば、表示可能化ユニット5308を用いて)可能にすることと、を含む。
いくつかの実施形態では、処理ユニット5306は、音声メッセージの対応する部分が(例えば、メディア再生ユニット5316によって)再生されるのに従って、波形の部分の色の変更を可能にするように更に構成される。
いくつかの実施形態では、グループ化された境界されたメッセージ区域は少なくとも2つの音声メッセージを表現し、処理ユニット5306は、少なくとも2つの音声メッセージを順次再生せよとの要求を(例えば、受信ユニット5314を用いて)受信することと、要求を受信したことに応じて、少なくとも2つの音声メッセージを(例えば、メディア再生ユニット5316を用いて)順次再生することと、をするように更に構成される。
いくつかの実施形態では、少なくとも2つの音声メッセージを順次再生せよとの要求は、デバイス5300の持ち上げの検出を含む。
いくつかの実施形態では、処理ユニット5306は、表示ユニット5302上における、順次的な音声メッセージを再生するためのアフォーダンスの表示を(例えば、表示可能化ユニット5308を用いて)可能にすることであって、少なくとも2つの音声メッセージを順次再生せよとの要求を受信することは、アフォーダンス上における接触の(例えば、検出ユニット5310を用いた)検出を含む、ことをするように更に構成される。
いくつかの実施形態では、処理ユニット5306は、グループ化された境界されたメッセージ区域の選択を(例えば、検出ユニット5310を用いて)検出することと、グループ化された境界されたメッセージ区域の選択を検出したことに応じて、表示ユニット5302上における、単一のグループ化された境界されたメッセージ区域の表示の、複数のメッセージの複数の表現の表示との置換を(例えば、表示可能化ユニット5308を用いて)可能にすることと、をするように更に構成される。
いくつかの実施形態では、グループ化された境界されたメッセージ区域は、複数のメッセージのうちの第1のメッセージを表現するテキスト、及び複数のメッセージのうちの第2のメッセージを表現する画像サムネイルを含み、処理ユニット5306は、表示された画像サムネイルのロケーションに対応するタッチ感知面ユニット5304上のロケーションにおける接触を(例えば、検出ユニット5310を用いて)検出することと、表示された画像サムネイルに対応するロケーションにおける接触を検出したことに応じて、表示ユニット5302上における、画像サムネイルによって表現された画像のより大きなバージョンの表示を(例えば、表示可能化ユニット5308を用いて)可能にすることと、をするように更に構成される。
いくつかの実施形態では、画像のより大きなバージョンを表示することは、画像をフルスクリーン画像として表示することを含む。
いくつかの実施形態では、グループ化された境界されたメッセージ区域は、複数のメッセージのうちの第1のメッセージを表現するテキスト、及び複数のメッセージ内のビデオメッセージを表現する画像サムネイルを含み、処理ユニット5306は、表示された画像サムネイルのロケーションに対応するタッチ感知面ユニット5304上のロケーションにおける接触を(例えば、検出ユニット5310を用いて)検出することと、画像サムネイルのロケーションに対応するタッチ感知面ユニット5304上のロケーションにおける接触を検出したことに応じて、画像サムネイルによって表現されたビデオメッセージを(例えば、メディア再生ユニット5316を用いて)再生することと、をするように更に構成される。
いくつかの実施形態では、ビデオメッセージを再生することは、ビデオメッセージをフルスクリーンモードで再生することを含む。
いくつかの実施形態では、ビデオメッセージを再生することは、ビデオメッセージを、グループ化された境界されたメッセージ区域内で再生することを含む。
いくつかの実施形態では、グループ化された境界されたメッセージ区域は、複数のメッセージのうちの第1のメッセージを表現するテキスト、複数のメッセージ内の音声メッセージを表現する波形画像を含み、処理ユニット5306は、表示ユニット5302上における、グループ化された境界されたメッセージ区域内における再生アフォーダンスの表示を(例えば、表示可能化ユニット5308を用いて)可能にすることであって、再生アフォーダンスは波形画像に関連付けられている、ことと、表示されたグループ化された境界されたメッセージ区域内における再生アフォーダンスのロケーションに対応するタッチ感知面ユニット5304上のロケーションにおける接触を(例えば、検出ユニット5310を用いて)検出することと、再生アフォーダンスのロケーションに対応するタッチ感知面ユニット5304上のロケーションにおける接触を検出したことに応じて、波形画像によって表現された音声メッセージを(例えば、メディア再生ユニット5316を用いて)再生することと、をするように更に構成される。
図36を参照して上述された動作は、図1A〜図1B、図3、図5B、又は図53に示される構成要素によって任意選択的に実施される。例えば、受信動作3602、判定動作3604、及び/又は表示可能化動作3606は、周辺機器インタフェース118、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって任意選択的に実施される。周辺機器インタフェース118はメッセージを受信し、イベントソータ170内のイベントモニタ171は、メッセージが受信されたというイベントを検出する。イベントディスパッチャモジュール174はイベント情報をアプリケーション136−1へ配布する。アプリケーション136−1のそれぞれのイベント認識部180は、イベント情報をそれぞれのイベント定義186と比較し、複数の受信されたメッセージが、グループ化基準を満たすことなどの、既定のイベント又はサブイベントに対応するかどうかを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、イベント又はサブイベントの検出に関連するイベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデーター176若しくはオブジェクトアップデーター177を利用又は呼び出してもよい。いくつかの実施形態において、イベントハンドラ190は、アプリケーションにより表示されるものを更新するためのそれぞれのGUIアップデーター178にアクセスする。同様に、当業者にとって、他の処理が、図1A〜図1B、図3、図5B、又は図53に示される構成要素に基づいてどのように実施されることができるのかは明らかであろう。
図54に示されるように、電子デバイス5400は、ユーザインタフェースを表示するように構成された表示ユニット5402と、表示ユニット5402に結合された処理ユニット5406と、を含む。いくつかの実施形態では、処理ユニット5406は、表示可能化ユニット5408、検出ユニット5410、判定ユニット5412、受信ユニット5414、キープユニット5416、保存ユニット5418、及び提供ユニット5420を含む。
処理ユニット5406は、第1のメッセージを(例えば、受信ユニット5414を用いて)受信することと、表示ユニット5402上における第1のメッセージの表現の表示を(例えば、表示可能化ユニット5408を用いて)可能にすることであって、第1のメッセージは満期基準の満足時に削除されるようにスケジュールされる、ことと、表示ユニット5402上における、第1のメッセージをキープするためのアフォーダンスの表示を(例えば、表示可能化ユニット5408を用いて)可能にすることと、アフォーダンスが満期基準の満足前に選択されたとの(例えば、判定ユニット5412を用いた)判定に従って、第1のメッセージを(例えば、キープユニット5416を用いて)キープすることと、アフォーダンスの選択を検出することなく満期基準が満足されたとの判定に従って、表示ユニット5402上における第1のメッセージの表現の表示を可能にすることを中止することと、をするように構成される。
いくつかの実施形態では、処理ユニット5406は、第2のメッセージを(例えば、受信ユニット5414を用いて)受信することであって、第2のメッセージは満期基準に基づいて削除されない、ことをするように更に構成される。
いくつかの実施形態では、満期基準は時間インターバルに基づく。
いくつかの実施形態では、満期基準は、第1のメッセージがメディアを包含するかどうかに基づく。
いくつかの実施形態では、満期基準は、メディアが、メッセージングアプリケーションを用いてキャプチャされたかどうかに基づく。
いくつかの実施形態では、第1のメッセージはメディアを包含し、時間インターバルは、メディアが再生された後の時間から開始して計測される。
いくつかの実施形態では、第1のメッセージはメディアを包含し、時間インターバルは、メディアが作成された時間からから開始して計測される。
いくつかの実施形態では、第1のメッセージはメディアを包含し、処理ユニット5406は、アフォーダンスが満期基準の満足前に選択されたとの判定に従って、メディアライブラリ内にメディアを(例えば、保存ユニット5418を用いて)保存するように更に構成される。
いくつかの実施形態では、第1のメッセージはメディアを包含し、処理ユニット5406は、メディアが、メッセージングアプリケーションを用いてキャプチャされたかどうかを(例えば、判定ユニット5412を用いて)判定することと、メディアが、メッセージングアプリケーションを用いてキャプチャされなかったとの判定に従って、メディアライブラリにメディアを(例えば、保存ユニット5418を用いて)保存することと、をするように更に構成される。
いくつかの実施形態では、第1のメッセージは第1の参加者から受信され、処理ユニット5406は、アフォーダンスが満期基準の満足前に選択されたとの判定に従って、第1のメッセージがキープされたことの指示を第1の参加者に(例えば、提供ユニット5420を用いて)提供するように更に構成される。
いくつかの実施形態では、処理ユニット5406は、第1のメッセージが音声メッセージであるかどうかを(例えば、判定ユニット5412を用いて)判定することと、第1のメッセージが音声メッセージであるとの判定に従って、表示ユニット5402上における、第1のメッセージをキープするためのアフォーダンスの表示を(例えば、表示可能化ユニット5408を用いて)可能にすることと、をするように更に構成される。
いくつかの実施形態では、第2のメッセージはテキストメッセージである。
いくつかの実施形態では、満期基準は、テキストメッセージは満期にならないという基準を含む。
図37を参照して上述された動作は、図1A〜図1B、図3、図5B、又は図54に示される構成要素によって任意選択的に実施される。例えば、受信動作3702、表示可能化動作3704、及び/又はキープ動作3708は、周辺機器インタフェース118、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって任意選択的に実施される。周辺機器インタフェース118はメッセージを受信し、イベントソータ170内のイベントモニタ171は、メッセージが受信されたというイベントを検出する。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136−1へ配信する。アプリケーション136−1のそれぞれのイベント認識部180は、イベント情報をそれぞれのイベント定義186と比較し、選択が、ユーザインタフェース上のアフォーダンスの作動又は選択などの、既定のイベント又はサブイベントに対応するかどうかを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、イベント又はサブイベントの検出に関連するイベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデーター176若しくはオブジェクトアップデーター177を利用又は呼び出してもよい。いくつかの実施形態において、イベントハンドラ190は、アプリケーションにより表示されるものを更新するためのそれぞれのGUIアップデーター178にアクセスする。同様に、当業者にとって、他の処理が、図1A〜図1B、図3、図5B、又は図54に示される構成要素に基づいてどのように実施されることができるのかは明らかであろう。
図55に示されるように、電子デバイス5500は、ユーザインタフェースを表示するように構成された表示ユニット5502と、任意選択的に、接触を受けるように構成されたタッチ感知面ユニット5504と、表示ユニット5502、及び、任意選択的に、タッチ感知面ユニット5504に結合された処理ユニット5506と、を含む。いくつかの実施形態では、処理ユニット5506は、表示可能化ユニット5508、検出ユニット5510、判定ユニット5512、受信ユニット5514、提供ユニット5516、追加ユニット5518、送信ユニット5520、及び挿入ユニット5522を含む。
処理ユニット5506は、表示ユニット5502上における、メッセージ会話の第1の参加者と第2の参加者との間で送信されたメッセージを表示するためのメッセージ領域の表示を(例えば、表示可能化ユニット5508を用いて)可能にすることと、表示ユニット5502上における、第1の参加者のロケーションを、このロケーションが少なくとも所定の期間にわたって変化する際に、第2の参加者と共有するためのロケーション共有アフォーダンスの表示を(例えば、表示可能化ユニット5508を用いて)可能にすることと、ロケーション共有アフォーダンスの選択を(例えば、検出ユニット5510を用いて)検出することと、ロケーション共有アフォーダンスの選択を検出したことに応じて、少なくとも所定の期間中に、第2の参加者に、第2の参加者が第1の参加者の現在のロケーションを判定することを可能にする情報を(例えば、提供ユニット5516を用いて)提供することと、をするように構成される。
いくつかの実施形態では、処理ユニット5506は、第2の参加者から、第1の外部デバイスのロケーションを動的に指示するロケーション情報を(例えば、受信ユニット5514を用いて)受信することと、表示ユニット5502上における、地図上における電子デバイスのロケーション及び第1の外部デバイスのロケーションの表示を(例えば、表示可能化ユニット5508を用いて)可能にすることと、をするように更に構成される。
いくつかの実施形態では、処理ユニット5506は、メッセージ会話に第3の参加者を(例えば、追加ユニット5518を用いて)追加することと、第3の参加者から、第2の外部デバイスのロケーションを指示するロケーション情報を(例えば、受信ユニット5514を用いて)受信することと、表示ユニット上における、地図上における第2の外部デバイスのロケーションの表示を(例えば、表示可能化ユニット5508を用いて)可能にすることと、をするように更に構成される。
いくつかの実施形態では、処理ユニット5506は、ロケーション共有アフォーダンスに対応するロケーションにおける接触の選択を検出したことに応じて、表示ユニット5502上における、少なくとも2つの所定の期間に対応する少なくとも2つのアフォーダンスの表示を(例えば、表示可能化ユニット5508を用いて)可能にすることと、表示ユニット5502上における少なくとも2つのアフォーダンスのうちの1つロケーションに対応するタッチ感知面ユニット5504上のロケーションにおける接触を(例えば、検出ユニット5510を用いて)検出することと、表示ユニット上における少なくとも2つのアフォーダンスのうちの1つのロケーションに対応するタッチ感知面ユニット上のロケーションにおける接触を検出したことに応じて、少なくとも2つのアフォーダンスのうちの1つに対応する所定の期間中に、第2の参加者に、第2の参加者が第1の参加者の現在のロケーションを判定することを可能にする情報を(例えば、提供ユニット5516を用いて)提供することと、をするように更に構成される。
いくつかの実施形態では、処理ユニット5506は、表示ユニット5502上における、ロケーションが共有されることになる残りの時間量の指示の表示を(例えば、表示可能化ユニット5508を用いて)可能にするように更に構成される。
いくつかの実施形態では、処理ユニット5506は、表示ユニット5502上における、第2の参加者に情報を提供することを中止するためのアフォーダンスの表示を(例えば、表示可能化ユニット5508を用いて)可能にするように更に構成される。
いくつかの実施形態では、処理ユニット5506は、表示ユニット5502上における、メッセージ会話と一緒の、詳細アフォーダンスの表示を(例えば、表示可能化ユニット5508を用いて)可能にすることと、表示ユニット5502上における詳細アフォーダンスのロケーションに対応するタッチ感知面ユニット5504上のロケーションにおける接触を(例えば、検出ユニット5510を用いて)検出することと、表示ユニット5502上における詳細アフォーダンスのロケーションに対応するタッチ感知面ユニット5504上のロケーションにおける接触を検出したことに応じて、表示ユニット5502上における、自分たちのロケーションを共有したメッセージ会話の2人以上の参加者のロケーションを示す地図の表示を(例えば、表示可能化ユニット5508を用いて)可能にすることと、をするように更に構成される。
いくつかの実施形態では、処理ユニット5506は、表示ユニット5502上における、自分たちのロケーションを共有したメッセージ会話の2人以上の参加者を特定する情報の表示を(例えば、表示可能化ユニット5508を用いて)可能にするように更に構成される。
いくつかの実施形態では、処理ユニット5506は、2人以上の参加者に、メッセージ会話から2人以上の参加者のうちの参加者を消去するための選択肢を(例えば、提供ユニット5516を用いて)提供するように更に構成される。
いくつかの実施形態では、処理ユニット5506は、2人以上の参加者に、メッセージ会話に新しい参加者を追加するための選択肢を(例えば、提供ユニット5516を用いて)提供するように更に構成される。
いくつかの実施形態では、メッセージ会話は名前を有し、処理ユニット5506は、2人以上の参加者に、メッセージ会話の名前を変更するための選択肢を(例えば、提供ユニット5516を用いて)提供するように更に構成される。
いくつかの実施形態では、地図はメッセージ会話内の特定のメッセージに関連付けられない。
いくつかの実施形態では、表示ユニット5502上における、地図の表示されたロケーションに対応するロケーションにおいてタッチ感知面ユニット5504をタップすることは、地図アプリケーションを立ち上げ、地図アプリケーションは、地図上に表示されたロケーションへの道順を取得するための選択肢を提供する。
いくつかの実施形態では、第2の参加者に情報を(例えば、提供ユニット5516を用いて)提供することは、第2の参加者によって使用されている遠隔の電子デバイスに、自分たちのロケーションを共有するように第2の参加者に促させる。
いくつかの実施形態では、処理ユニット5506は、表示ユニット5502上における、第1の参加者の静的ロケーション情報を第2の参加者へ(例えば、送信ユニット5520を用いて)送信するためのロケーション送信アフォーダンスの表示を(例えば、表示可能化ユニット5508を用いて)可能にすることであって、静的ロケーション情報はデバイスのロケーションに従って更新されない、ことと、ロケーション送信アフォーダンスの選択を(例えば、検出ユニット5510を用いて)検出することと、ロケーション送信アフォーダンスの選択を検出したことに応じて、静的ロケーション情報を第2の参加者へ(例えば、送信ユニット5520を用いて)送信することと、をするように更に構成される。
いくつかの実施形態では、静的ロケーション情報を送信することは、メッセージ会話内に、静的ロケーション情報を含む静的地図を(例えば、挿入ユニット5522を用いて)挿入することを含む。
いくつかの実施形態では、静的地図はメッセージ会話内の特定のメッセージに関連付けられない。
いくつかの実施形態では、静的地図をタップすることは地図アプリケーションを立ち上げ、地図アプリケーションは、静的地図上に表示されたロケーション情報への道順を取得するための選択肢を提供する。
図38を参照して上述された動作は、図1A〜図1B、図3、図5B、又は図55に示される構成要素によって任意選択的に実施される。例えば、表示可能化動作3802、検出動作3806、及び/又は提供動作3808は、イベントソータ170、イベント認識部180、イベントハンドラ190、及び周辺機器インタフェース118によって任意選択的に実施される。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136−1に配布する。アプリケーション136−1のそれぞれのイベント認識部180は、イベント情報をそれぞれのイベント定義186と比較し、タッチ感知面上における接触が、ユーザインタフェース上のアフォーダンスの作動などの、既定のイベント又はサブイベントに対応するかどうかを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、イベント又はサブイベントの検出に関連するイベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデーター176若しくはオブジェクトアップデーター177を利用又は呼び出してもよい。いくつかの実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデーター178にアクセスするか、又はデータを外部デバイスに提供するために、周辺機器インタフェース118にアクセスする。同様に、当業者にとって、他の処理が、図1A〜図1B、図3、図5B、又は図55に示される構成要素に基づいてどのように実施されることができるのかは明らかであろう。
図56に示されるように、電子デバイス5600は、ユーザインタフェースを表示するように構成された表示ユニット5602と、任意選択的に、接触を受けるように構成されたタッチ感知面ユニット5604と、表示ユニット5602、及び、任意選択的に、タッチ感知面ユニット5604に結合された処理ユニット5606と、を含む。いくつかの実施形態では、処理ユニット5606は、表示可能化ユニット5608、検出ユニット5610、判定ユニット5612、受信ユニット5614、選択ユニット5616、追加ユニット5618、挿入ユニット5620、命令ユニット5622、送信ユニット5624、及びキャプチャユニット5626を含む。
処理ユニット5606は、表示ユニット5602上における、メッセージ会話を表示するためのメッセージ領域の表示を(例えば、表示可能化ユニット5608を用いて)可能にすることと、メッセージ会話にメディアを追加せよとの要求を(例えば、受信ユニット5614を用いて)受信することと、要求を受信したことに応じて、表示ユニット5602上における、メッセージ会話の少なくとも一部分と同時のメディア選択インタフェースの表示を(例えば、表示可能化ユニット5608を用いて)可能にすることであって、メディア選択インタフェースは、メディアをメッセージ会話への追加のために選択するための複数のアフォーダンスを含み、複数のアフォーダンスの少なくともサブセットは、メッセージ会話に追加するために利用可能なメディアのサムネイル表現を含む、ことと、複数のアフォーダンスからのそれぞれのアフォーダンスの選択を(例えば、検出ユニット5610を用いて)検出することと、それぞれのアフォーダンスの選択を検出したことに応じて、対応するメディアをメッセージ会話への追加のために(例えば、選択ユニット5616を用いて)選択することと、をするように構成される。
いくつかの実施形態では、処理ユニット5606は、それぞれのアフォーダンスの選択を検出したことに応じて、メッセージ会話にメディアを(例えば、追加ユニット5618を用いて)追加するように更に構成される。
いくつかの実施形態では、処理ユニット5606は、それぞれのアフォーダンスの選択を検出したことに応じて、メッセージ作成フィールド内にメディアを(例えば、挿入ユニット5620を用いて)挿入し、表示ユニット5602上における、メッセージ会話にメッセージ作成フィールドのコンテンツを追加するための送信アフォーダンスの表示を(例えば、表示可能化ユニット5608を用いて)可能にするように更に構成される。
いくつかの実施形態では、処理ユニット5606は、表示ユニット5602上におけるメディア選択インタフェースのロケーションに対応するロケーションにおけるタッチ感知面ユニット5604上のスワイプジェスチャを(例えば、検出ユニット5610を用いて)検出することと、スワイプジェスチャを検出したことに応じて、表示ユニット5602上における、複数のアフォーダンスのスクロールを(例えば、表示可能化ユニット5608を用いて)可能にすることと、をするように更に構成される。
いくつかの実施形態では、複数のアフォーダンスは、カメラロール内の最も最近取得された写真に対応する。
いくつかの実施形態では、処理ユニット5606は、複数のアフォーダンスからのアフォーダンスの選択を検出したことに応じて、表示ユニット5602上における、メディア選択インタフェースのサイズの増大を(例えば、表示可能化ユニット5608を用いて)可能にするように更に構成される。
いくつかの実施形態では、処理ユニット5606は、表示ユニット5602上におけるメディアアフォーダンスの表示を(例えば、表示可能化ユニット5608を用いて)可能にすることであって、メッセージ会話にメディアを追加せよとの要求は、表示ユニット5602上におけるメディアアフォーダンスのロケーションに対応するタッチ感知面ユニット5604上のロケーションにおける接触を含む、ことと、接触を検出したことに応じて、接触の持続時間を(例えば、判定ユニット5612を用いて)判定することと、接触の持続時間が閾値を超えないとの判定に従って、表示ユニット5602上における、カメラセンサを用いて新しい画像をキャプチャするためのアフォーダンスの表示を(例えば、表示可能化ユニット5608を用いて)可能にすることと、新しい画像をキャプチャするためのアフォーダンスが表示されている間に、タッチ感知面ユニット5604上におけるスワイプジェスチャを(例えば、検出ユニット5610を用いて)検出することと、スワイプジェスチャを検出したことに応じて、画像をキャプチャするようにカメラセンサに(例えば、命令ユニット5622を用いて)命令することと、画像をメッセージ会話の参加者へ(例えば、送信ユニット5624を用いて)送信することと、をするように更に構成される。
いくつかの実施形態では、メディア選択インタフェースの表示を可能にすることは、表示ユニット5602上における第1のアフォーダンスのロケーションに対応するタッチ感知面ユニット5604上のロケーションにおける接触を(例えば、検出ユニット5610を用いて)検出することと、表示ユニット5602上における第1のアフォーダンスのロケーションに対応するタッチ感知面ユニット5604上のロケーションにおける接触を検出したことに応じて、対応するメディアを会話の参加者へ(例えば、送信ユニット5624を用いて)送信することと、を含む。
いくつかの実施形態では、メディア選択インタフェースの表示を可能にすることは、表示ユニット上における、送信アフォーダンスの表示を(例えば、表示可能化ユニット5608を用いて)可能にすることと、表示ユニット5602上における第1のアフォーダンス、第2のアフォーダンス、及び送信アフォーダンスのロケーションに対応するタッチ感知面ユニット5604上のロケーションにおける接触を(例えば、検出ユニット5610を用いて)検出することと、第1のアフォーダンス、第2のアフォーダンス、及び送信アフォーダンスのロケーションに対応するタッチ感知面ユニット5604上のロケーションにおける接触を検出したことに応じて、対応する第1のメディア及び第2のメディアを会話の参加者へ(例えば、送信ユニット5624を用いて)送信することと、を更に含む。
いくつかの実施形態では、複数のアフォーダンスはライブプレビュアフォーダンスを含み、処理ユニット5606は、表示ユニット5602上におけるライブプレビュアフォーダンスのロケーションに対応するタッチ感知面ユニット5604上のロケーションにおける接触を(例えば、検出ユニット5610を用いて)検出することと、ライブカメラプレビュのロケーションに対応するタッチ感知面ユニット5604上のロケーションにおける接触を検出したことに応じて、ライブカメラプレビュに基づく新しい画像を(例えば、キャプチャユニット5626を用いて)キャプチャすることと、新しい画像をメッセージ会話への追加のために(例えば、選択ユニット5616を用いて)選択することと、をするように更に構成される。
いくつかの実施形態では、処理ユニット5606は、新しい画像を送信せよとの要求を(例えば、検出ユニット5610を用いて)検出することと、要求に応じて、新しい画像を第1の参加者へ(例えば、送信ユニット5624を用いて)送信することと、をするように更に構成される。
図39を参照して上述された動作は、図1A〜図1B、図3、図5B、又は図56に示される構成要素によって任意選択的に実施される。例えば、表示可能化動作3902、3906、受信動作3904、検出動作3908、及び/又は選択動作3910は、イベントソータ170、イベント認識部180、及びイベントハンドラ190、並びにその他の入力コントロールデバイス116によって任意選択的に実施される。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触又はその他の入力コントロールデバイス116からの異なるユーザ入力を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136−1へ配布する。アプリケーション136−1のそれぞれのイベント認識部180は、イベント情報をそれぞれのイベント定義186と比較し、接触又はその他の入力が、ユーザインタフェース上のアフォーダンスの作動、又はその他のユーザ要求などの、既定のイベント又はサブイベントに対応するかどうかを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、イベント又はサブイベントの検出に関連するイベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデーター176若しくはオブジェクトアップデーター177を利用又は呼び出してもよい。いくつかの実施形態において、イベントハンドラ190は、アプリケーションにより表示されるものを更新するためのそれぞれのGUIアップデーター178にアクセスする。同様に、当業者にとって、他の処理が、図1A〜図1B、図3、図5B、又は図56に示される構成要素に基づいてどのように実施されることができるのかは明らかであろう。
図57に示されるように、電子デバイス5700は処理ユニット5702を含む。いくつかの実施形態では、処理ユニット5702は、検出ユニット5704、判定ユニット5706、開始ユニット5708、受信ユニット5710、提供ユニット5712、メディア再生ユニット5714、及び記録ユニット5716を含む。
処理ユニット5702は、電子デバイス5700の運動、及び1つ以上の近接センサ測定値に基づいてデバイスのコンテクストの変化を(例えば、検出ユニット5704を用いて)検出することと、デバイスのコンテクストの変化を検出したことに応じて、デバイスが音声動作基準を満たすかどうかを(例えば、判定ユニット5706を用いて)判定することであって、音声動作基準は、電子デバイス5700の運動が運動基準を満足し、1つ以上の近接センサ測定値が近接基準を満足すると満たされる基準を含む、ことと、デバイスのコンテクストの変化が音声動作基準を満足するとの判定に従って、音声動作を(例えば、開始ユニット5708を用いて)開始することと、デバイスのコンテクストの変化が音声動作基準を満足しないとの判定に従って、音声動作の開始を見送ることと、をするように構成される。
いくつかの実施形態では、運動基準は所定の軌道を含む。
いくつかの実施形態では、運動が運動基準を満足するかどうかを判定することは、運動の終了、及び運動の終了時における電子デバイスの向きを判定することを含み、運動基準は、電子デバイスが運動の終了時に所定の向きになっていないと、満たされる。
いくつかの実施形態では、処理ユニット5702は、音声動作を開始した後に、電子デバイスが所定の向きになっているかどうかを(例えば、判定ユニット5706を用いて)判定することと、電子デバイスが所定の向きになっているとの判定に従って、音声動作を終了することと、をするように更に構成される。
いくつかの実施形態では、電子デバイスが所定の向きになっているとの判定は、運動が運動基準を満足し、かつ1つ以上の近接センサ測定値が近接基準を満足するとの判定の所定の時間インターバル以内に、電子デバイスが所定の向きになっているとの判定を更に含む。
いくつかの実施形態では、電子デバイス5700はスピーカを更に含み、スピーカはデバイス5700の表面上に位置付けられ、所定の向きにおいて、表面は下を向く。
いくつかの実施形態では、電子デバイス5700は受話口を更に備え、所定の向きにおいて、マイクロフォンは受話口の上方に位置付けられる。
いくつかの実施形態では、1つ以上の近接センサ測定値が近接基準を満足するかどうかを判定することは、電子デバイスに近接したオブジェクトの検出を指示する近接センサ測定値が、運動基準を満足する運動が検出された後の所定の時間インターバル以内に検出されたかどうかを判定することを含む。
いくつかの実施形態では、処理ユニット5702は、音声動作を開始した後に、所定の閾値を上回る電子デバイス5700の特有運動を(例えば、検出ユニット5704を用いて)検出することと、電子デバイスの特有運動が所定の閾値を上回ることを検出したことに応じて、音声動作を終了することと、をするように更に構成される。
いくつかの実施形態では、音声動作は、新しいメッセージを記録することを含み、処理ユニット5702は、メッセージが発話を含むかどうかを(例えば、判定ユニット5706を用いて)判定することと、メッセージが発話を含まないとの判定に従って、新しいメッセージの記録を終了することと、をするように更に構成される。
いくつかの実施形態では、処理ユニットは、通信を(例えば、受信ユニット5710を用いて)受信することと、通信を受信したことに応じて、及びデバイスのコンテクストの変化を検出する前に、通信が受信されたことの指示を(例えば、提供ユニット5712を用いて)提供することと、をするように更に構成される。
いくつかの実施形態では、通信が受信されたことの指示を提供することは、メッセージングアプリケーションを立ち上げることを含む。
いくつかの実施形態では、通信は、デバイスによって再生されていない音声成分を有するメッセージを含み、音声動作は、メッセージの音声成分を(例えば、メディア再生ユニット5714を用いて)再生することを含む。
いくつかの実施形態では、処理ユニット5702は、メッセージが、デバイスのコンテクストの変化を検出する前の既定の時間インターバル以内に受信されたかどうかを(例えば、判定ユニット5706を用いて)判定するように更に構成され、メッセージの音声成分を再生することは、メッセージが既定の時間インターバル以内に受信された場合には、メッセージの音声成分を(例えば、メディア再生ユニット5714を用いて)再生することを含む。
いくつかの実施形態では、通信はボイスメールメッセージを含み、音声動作は、ボイスメールメッセージの(例えば、メディア再生ユニット5714を用いた)再生を含む。
いくつかの実施形態では、処理ユニット5702は、ボイスメールメッセージを再生した後に、電子デバイスのポンプ運動を(例えば、検出ユニット5704を用いて)検出することであって、ポンプ運動は、下方への動き、及びそれに続く、上方への動きを含む、ことと、電子デバイスのポンプ運動を検出したことに応じて、ボイスメールメッセージに関連付けられた電話番号への電話通話を(例えば、開始ユニット5708を用いて)開始することと、をするように更に構成される。
いくつかの実施形態では、通信は、電話番号からの電話通話に対応するボイスメールメッセージを含み、処理ユニット5702は、デバイスのコンテクストの変化を検出する前に、ボイスメールメッセージの少なくとも一部分を(例えば、メディア再生ユニット5714を用いて)再生するように更に構成され、音声動作は、ボイスメールメッセージに対応する電話番号への電話通話を(例えば、開始ユニット5708を用いて)開始することを含む。
いくつかの実施形態では、通信は、音声成分を有するメッセージを含み、処理ユニット5702は、デバイスのコンテクストの変化を検出する前に、メッセージの音声成分を(例えば、メディア再生ユニット5714を用いて)再生することと、電子デバイスの運動が、音声メッセージを再生した後の所定の時間インターバル以内に検出されたかどうかを(例えば、判定ユニット5706を用いて)判定することと、をするように更に構成され、音声動作を開始することは、デバイスのコンテクストの変化が、メッセージの音声成分が再生された時間から所定の時間インターバル以内に検出された場合には、新しいメッセージのための音声を(例えば、記録ユニット5716を用いて)記録することを含む。
いくつかの実施形態では、通信は、デバイスによって以前に再生された音声成分を有するメッセージを含み、音声動作は、新しいメッセージを(例えば、記録ユニット5716を用いて)記録することを含む。
いくつかの実施形態では、処理ユニット5702は、デバイスのコンテクストの変化を検出する前に、電子デバイスが音声メッセージングコンテクスト内にあることを(例えば、検出ユニット5704を用いて)検出することと、電子デバイスが音声メッセージングコンテクスト内にある場合にのみ、デバイスのコンテクストの変化を(例えば、検出ユニット5704を用いて)検出することと、をするように更に構成される。
いくつかの実施形態では、音声動作を開始することは、音声再生基準が満たされたとの判定に従って、受信された通信に対応する音声を(例えば、メディア再生ユニット5714を用いて)再生することと、音声記録基準が満たされたとの判定に従って、受信された通信への応答のための音声を記録することと、を含む。
図40〜図45Cを参照して上述された動作は、図1A〜図1B、図3、図5B、又は図57に示される構成要素によって任意選択的に実施される。例えば、検出動作4002、判定動作4004、及び/又は開始動作4006は、イベントソータ170、イベント認識部180、イベントハンドラ190、近接センサ166、及び加速度計168によって任意選択的に実施される。イベントソータ170内のイベントモニタ171は、近接センサ166及び/又は加速度計168などの、1つ以上のセンサからの測定値に基づいてデバイスのコンテクストの変化を検出する。イベントディスパッチャモジュール174はイベント情報をアプリケーション136−1へ配布する。アプリケーション136−1のそれぞれのイベント認識部180は、イベント情報をそれぞれのイベント定義186と比較し、デバイスのコンテクストの変化が、特定の基準を満たすことなどの、既定のイベント又はサブイベントに対応するかどうかを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、イベント又はサブイベントの検出に関連するイベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデーター176若しくはオブジェクトアップデーター177を利用又は呼び出してもよい。いくつかの実施形態では、イベントハンドラ190は、音声動作を開始するためにオーディオ回路110にアクセスする。同様に、当業者にとって、他の処理が、図1A〜図1B、図3、図5B、又は図40〜図45Cに示される構成要素に基づいてどのように実施されることができるのかは明らかであろう。
図58に示されるように、電子デバイス5800は、少なくとも1つのマイクロフォン5820と、任意選択的に、ユーザインタフェースを表示するように構成された表示ユニット5802と、少なくとも1つのマイクロフォン5820、及び、任意選択的に、表示ユニット5802に結合された処理ユニット5804と、を含む。いくつかの実施形態では、処理ユニット5804は、表示可能化ユニット5806、検出ユニット5808、判定ユニット5810、生成ユニット5812、送信ユニット5814、比較ユニット5816、及び削除ユニット5818を含む。
処理ユニット5804は、指定された連絡先のための音声メッセージを記録せよとの要求として解釈される1つ以上の条件を(例えば、検出ユニット5808を用いて)検出することと、1つ以上の条件を検出したことに応じて、少なくとも1つのマイクロフォン5820を用いて音声記録を(例えば、生成ユニット5812を用いて)生成することと、音声記録が拒否基準を満たすかどうかを(例えば、判定ユニット5810を用いて)判定することと、拒否基準が満足されないとの判定に従って、音声記録を、指定された連絡先へ(例えば、送信ユニット5814を用いて)送信することと、拒否基準が満足されるとの判定に従って、指定された連絡先への音声記録の送信を見送ることと、をするように構成される。
いくつかの実施形態では、拒否基準は、音声記録の持続時間が所定の持続時間を超えると満たされる。
いくつかの実施形態では、処理ユニット5804は、発話が音声記録内に存在するかどうかを(例えば、検出ユニット5808を用いて)検出するように更に構成され、拒否基準は、音声記録が、閾値量より多くの人間の発話を含まないと判定されると、満たされる。
いくつかの実施形態では、拒否基準はデバイスの位置に基づく。
いくつかの実施形態では、拒否基準は、電子デバイスが音源から距離閾値以内にあると満たされる。
いくつかの実施形態では、処理ユニット5804は、デバイスの近接センサがデバイスの距離閾値以内においてオブジェクトを検出したかどうかを判定することによって、電子デバイス距離が閾値以内にあるかどうかを(例えば、判定ユニット5810を用いて)判定するように更に構成される。
いくつかの実施形態では、処理ユニット5804は、少なくとも1つのマイクロフォンによってキャプチャされた信号を組み合わせることによって作り出された波形を分析することによって、電子デバイスが距離閾値以内にあるかどうかを(例えば、判定ユニット5810を用いて)判定するように更に構成され、少なくとも1つのマイクロフォンは第1のマイクロフォン及び第2のマイクロフォンを含む。
いくつかの実施形態では、処理ユニット5806は、少なくとも1つのマイクロフォンにおける音圧レベルが音圧レベル閾値を超えるかどうかを判定することによって、電子デバイスが距離閾値以内にあるかどうかを(例えば、判定ユニット5810を用いて)判定するように更に構成される。
いくつかの実施形態では、音圧レベル閾値は、電子デバイスによって以前に検出された音圧レベルの関数に基づく。
いくつかの実施形態では、処理ユニット5804は、音圧レベルを、少なくとも1つのマイクロフォンによって検出された残響レベルと(例えば、比較ユニット5816を用いて)比較することによって、電子デバイス5800が距離閾値以内にあるかどうかを(例えば、判定ユニット5810を用いて)判定するように更に構成される。
いくつかの実施形態では、拒否基準は電子デバイス5800の向きに基づく。
いくつかの実施形態では、電子デバイス5800はスピーカ(例えば、受話口)を備え、スピーカはデバイスの表面上に位置付けられ、拒否基準は、表面が下を向いていると満たされる。
いくつかの実施形態では、電子デバイス5800はスピーカ(例えば、受話口)を備え、拒否基準は、電子デバイスの向きがマイクロフォンをスピーカの上方に配置していると、満たされる。
いくつかの実施形態では、拒否基準は、電子デバイスの特有運動が閾値を超えると満たされる。
いくつかの実施形態では、電子デバイスは表示ユニット5802を備え、処理ユニット5804は、音声記録が拒否基準を満足すると、表示ユニット5802上における、音声記録を含む暫定メッセージの表現、及び送信アフォーダンスの表示を(例えば、表示可能化ユニット5806を用いて)同時に可能にするように更に構成され、送信アフォーダンスは、ユーザによって選択されると、デバイスに、暫定メッセージを、指定された連絡先へ送信させる。
いくつかの実施形態では、処理ユニット5804は、音声記録が拒否基準を満足すると、1つ以上の条件を検出したことと、音声記録が拒否基準を満足すると判定したこととの間の経過時間が時間閾値を超えるかどうかを(例えば、判定ユニット5810を用いて)判定することと、経過時間が時間閾値を超えるとの判定に従って、表示ユニット5802上における、音声記録を含む暫定メッセージの表現の表示を(例えば、表示可能化ユニット5806を用いて)可能にすることと、経過時間が時間閾値を超えないとの判定に従って、暫定メッセージの表現の表示を可能にすることなく、音声記録を(例えば、削除ユニット5818を用いて)削除することと、をするように更に構成される。
図46〜図48Bを参照して上述された動作は、図1A〜図1B、図3、図5B、又は図58に示される構成要素によって任意選択的に実施される。例えば、検出動作4602、表示可能化動作4802、生成動作4604、判定動作4606、及び/又は送信動作4608は、イベントソータ170、イベント認識部180、イベントハンドラ190、加速度計168、近接センサ166、及び周辺機器インタフェース118によって任意選択的に実施される。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触、及び/又は(例えば、近接センサ166及び/又は加速度計168を用いて)デバイスのコンテクストの変化を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136−1へ配布する。アプリケーション136−1のそれぞれのイベント認識部180は、イベント情報をそれぞれのイベント定義186と比較し、タッチ感知面上における接触、又はデバイスのコンテクストの変化が、音声メッセージを記録せよとの要求などの、既定のイベント又はサブイベントに対応するかどうかを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、イベント又はサブイベントの検出に関連するイベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデーター176若しくはオブジェクトアップデーター177を利用又は呼び出してもよい。いくつかの実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデーター178にアクセスするか、又は音声記録を生成するために、オーディオ回路110及びマイクロフォン113にアクセスする。いくつかの実施形態では、イベントハンドラ190は、記録を、指定された連絡先へ送信するために、周辺機器インタフェース118にアクセスする。同様に、当業者にとって、他の処理が、図1A〜図1B、図3、図5B、又は図46〜図48Bに示される構成要素に基づいてどのように実施されることができるのかは明らかであろう。
図59に示されるように、電子デバイス5900は、ユーザインタフェースを表示するように構成された表示ユニット5902と、接触を受けるように構成されたタッチ感知面ユニット5904と、表示ユニット5902及びタッチ感知面ユニット5904に結合された処理ユニット5906と、を含む。いくつかの実施形態では、処理ユニット5906は、表示可能化ユニット5908、検出ユニット5910、判定ユニット5912、送信ユニット5914、及びメディアキャプチャユニット5916を含む。
処理ユニット5906は、表示ユニット5902上における、メディアアフォーダンス、メッセージ作成フィールド、及び参加者の間のメッセージ会話の表示を(例えば、表示可能化ユニット5908を用いて)可能にすることであって、会話は表示ユニット5902上のメッセージ領域内に表示される、ことと、表示ユニット5902上におけるメディアアフォーダンスのロケーションに対応するタッチ感知面ユニット5904上のロケーションにおける接触を(例えば、検出ユニット5910を用いて)検出することと、接触を検出したことに応じて、表示ユニット5902上における、メッセージ作成フィールド内におけるライブメディアプレビュの表示を(例えば、表示可能化ユニット5908を用いて)可能にすることと、タッチ感知面ユニット5904からの接触のリフトオフを(例えば、検出ユニット5910を用いて)検出することと、リフトオフを検出したことに応じて、メディアプレビュに基づく新しい画像を(例えば、メディアキャプチャユニット5916を用いて)キャプチャすることと、キャプチャされた画像をメッセージ会話の参加者へ(例えば、送信ユニット5914を用いて)送信することと、をするように構成される。
いくつかの実施形態では、リフトオフを検出したことに応じて、キャプチャされた画像を参加者へ送信する。
いくつかの実施形態では、処理ユニット5906は、表示ユニット5902上における、メッセージをメッセージ会話の参加者へ送信するための送信ボタンの表示を(例えば、表示可能化ユニット5908を用いて)可能にすることと、リフトオフを検出し、メディアをキャプチャした後に、表示ユニット5902上における送信ボタンのロケーションに対応するタッチ感知面ユニット5904上のロケーションにおける第2の接触を(例えば、検出ユニット5910を用いて)検出することと、をするように更に構成され、第2の接触を検出したことに応じて、キャプチャされた画像を参加者へ送信する。
いくつかの実施形態では、処理ユニット5906は、リフトオフを検出したことに更に応じて、表示ユニット5902上における、メッセージ作成フィールド内におけるキャプチャされた画像の表現の表示を(例えば、表示可能化ユニット5908を用いて)可能にするように更に構成される。
いくつかの実施形態では、処理ユニット5906は、メッセージ作成フィールド内に、キャプチャされた画像の表現を表示している間に、メッセージ作成フィールド内における追加のコンテンツのユーザ入力を(例えば、検出ユニット5910を用いて)検出するように更に構成され、第2の接触を検出したことに応じて、追加のコンテンツ及びキャプチャされた画像を参加者へ送信する。
いくつかの実施形態では、メッセージ作成フィールド内におけるメディアプレビュの表示を可能にすることは、表示ユニット5902上における、メッセージ作成フィールドの拡大を(例えば、表示可能化ユニット5908を用いて)可能にすることを含む。
図49を参照して上述された動作は、図1A〜図1B、図3、図5B、又は図59に示される構成要素によって任意選択的に実施される。例えば、表示可能化動作4902、検出動作4904、及び/又はキャプチャ動作4910は、イベントソータ170、イベント認識部180、イベントハンドラ190、及び周辺機器インタフェース118によって任意選択的に実施される。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136−1に配布する。アプリケーション136−1のそれぞれのイベント認識部180は、イベント情報をそれぞれのイベント定義186と比較し、タッチ感知ディスプレイ上のロケーションにおける接触が、ユーザインタフェース上のアフォーダンスの作動などの、既定のイベント又はサブイベントに対応するかどうかを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、イベント又はサブイベントの検出に関連するイベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデーター176若しくはオブジェクトアップデーター177を利用又は呼び出してもよい。いくつかの実施形態において、イベントハンドラ190は、アプリケーションにより表示されるものを更新するためのそれぞれのGUIアップデーター178にアクセスする。いくつかの実施形態では、イベントハンドラ190は、画像をキャプチャするために、周辺機器インタフェースにアクセスする。同様に、当業者にとって、他の処理が、図1A〜図1B、図3、図5B、又は図59に示される構成要素に基づいてどのように実施されることができるのかは明らかであろう。
上述の説明は、説明の目的上、特定の実施形態を参照して説明されている。しかし、上述の例示的説明は、網羅的であること、又は本発明を、開示されている寸分違わない形態に限定することを意図されてはいない。上述の教示を考慮すれば、多くの修正及び変形が可能である。諸実施形態は、技法の原理及びそれらの実際の適用を最もうまく説明するために選定され、説明された。これによって、他の当業者は、技法及び様々な実施形態を、企図されている特定の使用に適したとおりの様々な変更を加えて最もうまく利用することが可能になる。
添付の図面を参照して本開示及び実施例が十分に説明されたが、様々な変更及び修正が当業者には明らかになるであろうということに留意されたい。このような変更及び修正は、請求項によって定義されるとおりの本開示及び実施例の範囲内に含まれるものと理解されるべきである。
上述されたように、本技術の一態様は、ロケーション情報をメッセージ会話の他の参加者と共有するための様々なソースから入手可能なデータの収集及び使用である。本開示は、場合によっては、この収集されたデータが、特定の人を一意的に識別するか、又はその人に連絡するか、若しくはその人のロケーションを特定するために用いることができる個人情報データを含んでもよいことを企図している。このような個人情報データは、人口統計学的データ、ロケーションベースのデータ、電話番号、電子メールアドレス、自宅住所、又は任意のその他の識別情報を含むことができる。
本開示は、本技術における、このような個人情報データの使用をユーザの利益のために使用することができると認識している。例えば、個人情報データは、参加者が互いのロケーション及び推定到着時間を判定することを可能にするために使用することができる。更に、ユーザの利益になる個人情報データのための他の使用法も本開示によって企図されている。
本開示は、このような個人情報データの収集、分析、開示、転送、記憶、又はその他の使用に関与するエンティティは、しっかり確立されたプライバシポリシー及び/又はプライバシ慣行を遵守することを更に企図している。特に、このようなエンティティは、個人情報データを非公開かつ安全な状態に維持するための産業界又は行政の要求を満たすか又はそれらを超えると一般的に認識されているプライバシポリシー及び慣行を履行し、一貫して用いるべきである。例えば、ユーザからの個人情報は、そのエンティティの合法的かつ正当な使用のために収集されるべきであり、それらの合法的使用を除いて、共有又は販売されるべきではない。更に、そのような収集は、ユーザに告知して同意を受けた後にのみ実施するべきである。加えて、そのようなエンティティは、そのような個人情報データへのアクセスを保護して安全化し、その個人情報データへのアクセスを有する他者が、それらのプライバシポリシー及び手順を遵守することを確実にするための、あらゆる必要な措置を講じるであろう。更には、そのようなエンティティは、広く受け入れられているプライバシーのポリシー及び慣行に対する自身の遵守を証明するために、第三者による評価を自らが受けることができる。
前述のことがらにもかかわらず、本開示はまた、ユーザが、個人情報データの使用又は個人情報データへのアクセスを選択的に阻止する実施形態も企図している。即ち、本開示は、そのような個人情報データへのアクセスを防止又は阻止するためのハードウェア要素及び/又はソフトウェア要素を提供することができることを企図している。例えば、ロケーション共有機能の場合には、本技術は、ユーザが、メッセージ会話参加者にロケーション情報を提供しないことを選択することを可能にするように構成されることができる。更に別の例では、ユーザは、正確なロケーション情報を提供しないが、ロケーション地域情報を共有することを許可することを選択することができる。
それゆえ、本開示は、1つ以上の様々な開示された実施形態を実施するための個人情報データの使用を、広範に網羅するものであるが、本開示は、それらの様々な実施形態がまた、そのような個人情報データにアクセスすることを必要とせずに実施されることも可能であることも企図している。すなわち、本技術の様々な実施形態は、そのような個人情報データの全て又は一部分の欠如により、実施不可能となるものではない。例えば、コンテンツの推定到着時間は、ロケーション地域情報などの、必要最小限の量の個人情報、又は公的に入手可能な情報を用いて判定することができる。

Claims (16)

  1. 方法であって、
    タッチ感知面及びディスプレイを有する電子デバイスにおいて、
    前記ディスプレイ上に、メディアアフォーダンスと、キーボードと、メッセージ会話内で参加者間で送信されたメッセージを表示するためのメッセージ領域とを共に表示することと、
    前記タッチ感知面上で第1の入力を検出することであって、前記ディスプレイ上の前記メディアアフォーダンスの位置に対応する前記タッチ感知面上の位置における接触を検出することを含む、検出することと、
    前記接触の検出に応じて、
    前記メディアアフォーダンスと、前記キーボードと、前記メッセージ領域との表示を停止することと、
    前記ディスプレイ上に記録アフォーダンスを表示することと、
    前記タッチ感知面上で第2の入力を検出することであって、前記ディスプレイ上の前記記録アフォーダンスの位置に対応する前記タッチ感知面上の位置における接触を検出することを含む、検出することと、
    前記第2の入力の検出に応答して、視覚メディアを含むメディアコンテンツの少なくとも一部を記録することと、
    前記視覚メディアを含む前記メディアコンテンツを記録した後に、前記メディアコンテンツの表示と送信アフォーダンスとを前記ディスプレイ上に、前記メッセージ領域を表示することなく共に表示することと、
    前記メッセージ領域を表示することなく前記メディアコンテンツの表示と前記送信アフォーダンスとが共に前記ディスプレイに表示されている間に、第3の入力をタッチ感知面で検出することであって、前記送信アフォーダンスの前記ディスプレイ上における位置に対応する前記タッチ感知面上の位置において接触を検出することを含む、検出することと、
    前記第3の入力の検出に応じて、
    前記メディアコンテンツを参加者に送信することと、
    前記ディスプレイから前記送信アフォーダンスを除去することと、
    を含む方法。
  2. 前記第1の入力、前記第2の入力、及び、前記第3の入力は、前記タッチ感知面上における3つの別個の接触である、請求項1に記載の方法。
  3. 前記第1の入力は前記タッチ感知面上における接触であって、前記第2の入力は、前記タッチ感知面上における前記接触の継続であって、前記ディスプレイ上の前記メディアアフォーダンスの前記位置に対応する前記タッチ感知面上における位置から、前記ディスプレイ上の前記記録アフォーダンスの前記位置に対応する前記タッチ感知面上における位置への前記接触の移動を含む、請求項1に記載の方法。
  4. 前記タッチ感知面上における前記第1の入力は、前記タッチ感知面上の第1の位置におけるものであり、前記タッチ感知面上における前記第2の入力は、前記タッチ感知面上の第2の位置におけるものであり、前記第1の位置は前記第2の位置とは異なる、請求項3に記載の方法。
  5. 前記第1の入力は、前記タッチ感知面上の接触であって、前記第2の入力は、前記タッチ感知面上の別個の接触であって、前記第3の入力は、前記タッチ感知面上の前記別個の接触の継続であって、前記ディスプレイ上の前記記録アフォーダンスの前記位置に対応する前記タッチ感知面上における位置から、前記ディスプレイ上の前記送信アフォーダンスの前記位置に対応する前記タッチ感知面上における位置への前記接触の移動を含む、請求項1に記載の方法。
  6. 前記第3の入力の検出に応じて、前記表示されたメッセージ会話に前記メディアコンテンツのサムネイル表示を挿入することを更に含む、請求項1から5のいずれか1項に記載の方法。
  7. 前記メッセージ会話内に、境界を有するメッセージ領域を表示することと、
    再生アフォーダンスを前記境界を有するメッセージ領域内に表示することと、
    前記タッチ感知面上で第4の入力を検出することであって、前記ディスプレイ上の前記再生アフォーダンスの位置に対応する前記タッチ感知面上の位置において接触を検出することを含む、検出することと、
    前記第4の入力の検出に応じて、前記メディアコンテンツを前記境界を有するメッセージ領域の境界内に表示することと、
    を更に含む、請求項6に記載の方法。
  8. 前記メディアコンテンツを記録している間に、前記第2の入力の接触のリフトオフを検出することと、
    前記リフトオフの後に前記メディアコンテンツの記録を継続することと
    を更に含む請求項1から7のいずれか1項に記載の方法。
  9. 前記メディアコンテンツを記録している間に、前記第2の入力の接触のリフトオフを検出することと、
    前記リフトオフの検出に応じて、前記メディアコンテンツの記録を停止することと
    を更に含む請求項1から7のいずれか1項に記載の方法。
  10. 前記リフトオフの検出に応じて、前記記録アフォーダンスの前記表示を、前記メディアコンテンツを表示するための再生アフォーダンスの表示と置き換えることを更に含み、前記メディアコンテンツは、参加者に未送信である、請求項9に記載の方法。
  11. 前記メディアコンテンツを記録している間に、前記メディアコンテンツの長さの表示を時間的に表示することを更に含む、請求項1から10のいずれか1項に記載の方法。
  12. 前記参加者に送信される前記メディアコンテンツは失効基準に基づいて失効する、請求項1から11のいずれか1項に記載の方法。
  13. 前記電子デバイスはカメラセンサを含み、前記方法は、
    前記メディアアフォーダンスの位置に対応する前記タッチ感知面上の前記位置での前記接触を検出した後であって、視覚メディアを含むメディアコンテンツの前記少なくとも一部を記録する前に、
    前記電子デバイスの前記カメラセンサの視野の少なくとも一部のライブプレビューを表示すること
    を含む、請求項1から12のいずれか1項に記載の方法。
  14. 請求項1から13のいずれか1項に記載の方法をコンピュータに実行させるコンピュータプログラム。
  15. 請求項14に記載のコンピュータプログラムを格納したメモリと、
    前記メモリに格納された前記コンピュータプログラムを実行可能な1つ以上のプロセッサと、
    を備える電子デバイス。
  16. タッチ感知面と、
    ディスプレイと、
    請求項1から13のいずれか1項に記載の方法を実施するための手段と
    を備える電子デバイス。
JP2019050138A 2014-05-31 2019-03-18 メディア及びロケーションのキャプチャ及び伝送のためのメッセージユーザインタフェース Active JP6734419B2 (ja)

Priority Applications (10)

Application Number Priority Date Filing Date Title
US201462006071P true 2014-05-31 2014-05-31
US62/006,071 2014-05-31
US201462047622P true 2014-09-08 2014-09-08
US62/047,622 2014-09-08
US14/503,355 2014-09-30
US14/503,386 US9207835B1 (en) 2014-05-31 2014-09-30 Message user interfaces for capture and transmittal of media and location content
US14/503,355 US20150350141A1 (en) 2014-05-31 2014-09-30 Message user interfaces for capture and transmittal of media and location content
US14/503,376 2014-09-30
US14/503,386 2014-09-30
US14/503,376 US9185062B1 (en) 2014-05-31 2014-09-30 Message user interfaces for capture and transmittal of media and location content

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017514992 Division 2015-05-22

Publications (2)

Publication Number Publication Date
JP2019146184A JP2019146184A (ja) 2019-08-29
JP6734419B2 true JP6734419B2 (ja) 2020-08-05

Family

ID=53836331

Family Applications (5)

Application Number Title Priority Date Filing Date
JP2017514992A Active JP6500093B2 (ja) 2014-05-31 2015-05-22 メディア及びロケーションのキャプチャ及び伝送のためのメッセージユーザインタフェース
JP2017514993A Active JP6286615B2 (ja) 2014-05-31 2015-05-22 メディア及びロケーションコンテンツのキャプチャ及び伝送のためのメッセージユーザインタフェース
JP2018018497A Active JP6554570B2 (ja) 2014-05-31 2018-02-05 メディア及びロケーションコンテンツのキャプチャ及び伝送のためのメッセージユーザインタフェース
JP2019050138A Active JP6734419B2 (ja) 2014-05-31 2019-03-18 メディア及びロケーションのキャプチャ及び伝送のためのメッセージユーザインタフェース
JP2020118723A Active JP6793868B1 (ja) 2014-05-31 2020-07-09 メディア及びロケーションのキャプチャ及び伝送のためのメッセージユーザインタフェース

Family Applications Before (3)

Application Number Title Priority Date Filing Date
JP2017514992A Active JP6500093B2 (ja) 2014-05-31 2015-05-22 メディア及びロケーションのキャプチャ及び伝送のためのメッセージユーザインタフェース
JP2017514993A Active JP6286615B2 (ja) 2014-05-31 2015-05-22 メディア及びロケーションコンテンツのキャプチャ及び伝送のためのメッセージユーザインタフェース
JP2018018497A Active JP6554570B2 (ja) 2014-05-31 2018-02-05 メディア及びロケーションコンテンツのキャプチャ及び伝送のためのメッセージユーザインタフェース

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2020118723A Active JP6793868B1 (ja) 2014-05-31 2020-07-09 メディア及びロケーションのキャプチャ及び伝送のためのメッセージユーザインタフェース

Country Status (7)

Country Link
US (8) US20150350141A1 (ja)
EP (3) EP3108423A1 (ja)
JP (5) JP6500093B2 (ja)
CN (6) CN107122049A (ja)
AU (8) AU2015267260B2 (ja)
DE (4) DE202015009347U1 (ja)
HK (2) HK1216555A1 (ja)

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8971924B2 (en) 2011-05-23 2015-03-03 Apple Inc. Identifying and locating users on a mobile network
US9247377B2 (en) 2011-05-23 2016-01-26 Apple Inc. Setting a reminder that is triggered by a target user device
US10715380B2 (en) 2011-05-23 2020-07-14 Apple Inc. Setting a reminder that is triggered by a target user device
KR102013443B1 (ko) * 2012-09-25 2019-08-22 삼성전자주식회사 이미지를 전송하기 위한 방법 및 그 전자 장치
US8989773B2 (en) 2013-01-29 2015-03-24 Apple Inc. Sharing location information among devices
USD737319S1 (en) * 2013-06-09 2015-08-25 Apple Inc. Display screen or portion thereof with graphical user interface
USD742894S1 (en) 2013-06-10 2015-11-10 Apple Inc. Display screen or portion thereof with graphical user interface
KR102161764B1 (ko) * 2013-10-31 2020-10-05 삼성전자주식회사 카툰 이미지를 이용한 메신저 대화창 표시 방법 및 컴퓨터 판독 가능한 기록 매체
USD759668S1 (en) * 2014-01-13 2016-06-21 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
USD751117S1 (en) 2014-02-07 2016-03-08 Apple Inc. Display screen or portion thereof with animated graphical user interface
US10382378B2 (en) * 2014-05-31 2019-08-13 Apple Inc. Live location sharing
US20150350141A1 (en) 2014-05-31 2015-12-03 Apple Inc. Message user interfaces for capture and transmittal of media and location content
USD771112S1 (en) * 2014-06-01 2016-11-08 Apple Inc. Display screen or portion thereof with graphical user interface
US10721594B2 (en) * 2014-06-26 2020-07-21 Microsoft Technology Licensing, Llc Location-based audio messaging
WO2016022496A2 (en) 2014-08-06 2016-02-11 Apple Inc. Reduced-size user interfaces for battery management
TWI549504B (zh) * 2014-08-11 2016-09-11 宏碁股份有限公司 影像擷取裝置及其自動對焦補償方法
WO2016036541A2 (en) 2014-09-02 2016-03-10 Apple Inc. Phone user interface
EP3189409B1 (en) 2014-09-02 2020-01-29 Apple Inc. Reduced-size interfaces for managing alerts
USD762693S1 (en) 2014-09-03 2016-08-02 Apple Inc. Display screen or portion thereof with graphical user interface
KR20160050336A (ko) * 2014-10-29 2016-05-11 삼성전자주식회사 단말장치 및 그 제어 방법
USD805102S1 (en) 2015-01-27 2017-12-12 Twitter, Inc. Media sharing device with graphical user interface
USD763889S1 (en) * 2015-01-28 2016-08-16 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
CN112152906A (zh) 2015-02-16 2020-12-29 钉钉控股(开曼)有限公司 通讯方法及服务器
KR20160111268A (ko) * 2015-03-16 2016-09-26 삼성전자주식회사 모션 인식 서비스 제공 방법 및 그 전자 장치
CN106034068A (zh) 2015-03-20 2016-10-19 阿里巴巴集团控股有限公司 群聊中进行私聊的方法、装置、客户端、服务器及系统
US20170083168A1 (en) * 2015-04-20 2017-03-23 Idt Messaging, Llc System and method for managing multiple chat sessions
US9973615B2 (en) * 2015-05-11 2018-05-15 Samsung Electronics Co., Ltd. Electronic apparatus and method for controlling recording thereof
CN105094801B (zh) * 2015-06-12 2019-12-24 阿里巴巴集团控股有限公司 应用功能激活方法及装置
USD884003S1 (en) 2015-07-29 2020-05-12 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
US10003938B2 (en) 2015-08-14 2018-06-19 Apple Inc. Easy location sharing
US20170061935A1 (en) * 2015-08-31 2017-03-02 Sap Se Adaptive message display duration
KR20170035079A (ko) * 2015-09-22 2017-03-30 삼성전자주식회사 전자 장치 및 촬영 방법
US9734686B2 (en) * 2015-11-06 2017-08-15 Blackberry Limited System and method for enhancing a proximity warning sound
US10078482B2 (en) * 2015-11-25 2018-09-18 Samsung Electronics Co., Ltd. Managing display of information on multiple devices based on context for a user task
US9913114B1 (en) * 2015-12-15 2018-03-06 Snap Inc. Simplified message grouping and display
CN105610695B (zh) 2015-12-21 2021-01-12 阿里巴巴集团控股有限公司 对象分配方法及装置
US20170214651A1 (en) 2016-01-05 2017-07-27 William McMichael Systems and methods of transmitting and displaying private message data via a text input application
CN105681056B (zh) 2016-01-13 2019-03-19 阿里巴巴集团控股有限公司 对象分配方法及装置
USD781907S1 (en) * 2016-01-19 2017-03-21 Apple Inc. Display screen or portion thereof with graphical user interface
CN105824541B (zh) * 2016-02-29 2017-12-26 维沃移动通信有限公司 一种提示信息的处理方法及移动终端
CN105812237B (zh) 2016-03-07 2020-12-04 钉钉控股(开曼)有限公司 快速添加提醒对象的方法及装置
CN107306286B (zh) 2016-04-21 2020-12-04 钉钉控股(开曼)有限公司 离线考勤的处理方法及装置
CN107305459A (zh) * 2016-04-25 2017-10-31 阿里巴巴集团控股有限公司 语音和多媒体消息的发送方法及装置
US10592098B2 (en) 2016-05-18 2020-03-17 Apple Inc. Devices, methods, and graphical user interfaces for messaging
DK179831B1 (en) * 2016-05-18 2019-07-22 Apple Inc. Devices, methods and graphical user interfaces for messaging
USD797137S1 (en) * 2016-06-03 2017-09-12 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
US9912860B2 (en) 2016-06-12 2018-03-06 Apple Inc. User interface for camera effects
US10545653B2 (en) 2016-06-12 2020-01-28 Apple Inc. Device, method, and graphical user interface for media playback
USD803238S1 (en) 2016-06-12 2017-11-21 Apple Inc. Display screen or portion thereof with graphical user interface
USD825612S1 (en) * 2016-07-27 2018-08-14 Apple Inc. Display screen or portion thereof with graphical user interface
US10318125B2 (en) * 2016-08-29 2019-06-11 Sap Se Graphical user interface magnetic panel
CN107846345A (zh) 2016-09-18 2018-03-27 阿里巴巴集团控股有限公司 通讯方法及装置
DK179471B1 (en) 2016-09-23 2018-11-26 Apple Inc. Image data for enhanced user interactions
CN106502527A (zh) * 2016-09-29 2017-03-15 北京小米移动软件有限公司 一种内容分享的方法、装置及终端
USD846575S1 (en) * 2016-12-02 2019-04-23 Lyft, Inc. Display screen or portion thereof with graphical user interface
US10051107B1 (en) 2017-03-16 2018-08-14 Microsoft Technology Licensing, Llc Opportunistic timing of device notifications
US20180295080A1 (en) 2017-04-10 2018-10-11 Facebook, Inc. Systems and methods for sharing content
US10521948B2 (en) 2017-05-16 2019-12-31 Apple Inc. Emoji recording and sending
DK179867B1 (da) 2017-05-16 2019-08-06 Apple Inc. RECORDING AND SENDING EMOJI
US10498775B2 (en) * 2017-08-31 2019-12-03 T-Mobile Usa, Inc. Exchanging non-text content in real time text messages
US20190082122A1 (en) * 2017-09-08 2019-03-14 Samsung Electronics Co., Ltd. Method and device for providing contextual information
US10372298B2 (en) 2017-09-29 2019-08-06 Apple Inc. User interface for multi-user communication session
USD846567S1 (en) 2017-10-06 2019-04-23 Apple Inc. Electronic device with graphical user interface
USD857033S1 (en) 2017-11-07 2019-08-20 Apple Inc. Electronic device with graphical user interface
US20190206102A1 (en) * 2017-12-29 2019-07-04 Facebook, Inc. Systems and methods for enhancing content
JP2019197519A (ja) * 2018-05-07 2019-11-14 アップル インコーポレイテッドApple Inc. クリエイティブカメラ
DK201870374A1 (en) 2018-05-07 2019-12-04 Apple Inc. AVATAR CREATION USER INTERFACE
CN110457091A (zh) * 2018-05-07 2019-11-15 苹果公司 多参与者实时通信用户界面
US10375313B1 (en) 2018-05-07 2019-08-06 Apple Inc. Creative camera
DK180130B1 (da) 2018-05-07 2020-06-02 Apple Inc. Multi-participant live communication user interface
USD901525S1 (en) 2018-09-11 2020-11-10 Apple Inc. Electronic device with animated graphical user interface
WO2020124228A1 (en) * 2018-12-18 2020-06-25 Qaqaq Inc. Asynchronous short video communication platform based on animated still images and audio
US10499179B1 (en) * 2019-01-01 2019-12-03 Philip Scott Lyren Displaying emojis for binaural sound
US10944711B2 (en) * 2019-03-28 2021-03-09 Microsoft Technology Licensing, Llc Paginated method to create decision tree conversation
US10645294B1 (en) 2019-05-06 2020-05-05 Apple Inc. User interfaces for capturing and managing visual media
DK201970530A1 (en) 2019-05-06 2021-01-28 Apple Inc Avatar integration with multiple applications
CN110333814A (zh) * 2019-05-31 2019-10-15 华为技术有限公司 一种分享内容的方法及电子设备

Family Cites Families (266)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3859005A (en) 1973-08-13 1975-01-07 Albert L Huebner Erosion reduction in wet turbines
US4826405A (en) 1985-10-15 1989-05-02 Aeroquip Corporation Fan blade fabrication system
US5479378A (en) 1993-12-17 1995-12-26 Seiko Telecommunication Systems Inc. Analog wristwatch paging receiver
US6191807B1 (en) * 1994-05-27 2001-02-20 Canon Kabushiki Kaisha Communication apparatus and method for performing a file transfer operation
US5801700A (en) * 1996-01-19 1998-09-01 Silicon Graphics Incorporated System and method for an iconic drag and drop interface for electronic file transfer
US6014429A (en) 1996-08-12 2000-01-11 Lucent Technologies, Inc. Two-way wireless messaging system with transaction server
US6002402A (en) 1997-04-09 1999-12-14 Symantec Corporation System and method for producing a drag-and-drop object from a popup menu item
JPH1145117A (ja) 1997-07-25 1999-02-16 Mitsubishi Electric Corp メッセージ表示システム
KR100595912B1 (ko) 1998-01-26 2006-07-07 웨인 웨스터만 수동 입력 통합 방법 및 장치
JP3511462B2 (ja) 1998-01-29 2004-03-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 操作画像表示装置およびその方法
US6484027B1 (en) 1998-06-15 2002-11-19 Sbc Technology Resources, Inc. Enhanced wireless handset, including direct handset-to-handset communication mode
US20020126135A1 (en) 1998-10-19 2002-09-12 Keith Ball Image sharing for instant messaging
GB2350523B (en) 1999-05-26 2003-11-26 Nokia Mobile Phones Ltd Communication device
US7149893B1 (en) 1999-09-07 2006-12-12 Poofaway.Com, Inc. System and method for enabling the originator of an electronic mail message to preset an expiration time, date, and/or event, and to control processing or handling by a recipient
US6809724B1 (en) 2000-01-18 2004-10-26 Seiko Epson Corporation Display apparatus and portable information processing apparatus
US7016707B2 (en) 2000-06-21 2006-03-21 Seiko Epson Corporation Mobile telephone and radio communication device cooperatively processing incoming call
US20020057284A1 (en) 2000-06-29 2002-05-16 Dalby Richard Sean Methods and systems for delivering announcements to users of an information system
US7688306B2 (en) 2000-10-02 2010-03-30 Apple Inc. Methods and apparatuses for operating a portable device based on an accelerometer
US6677932B1 (en) 2001-01-28 2004-01-13 Finger Works, Inc. System and method for recognizing touch typing under limited tactile feedback conditions
US6570557B1 (en) 2001-02-10 2003-05-27 Finger Works, Inc. Multi-touch system and method for emulating modifier keys via fingertip chords
US7334267B2 (en) 2001-02-28 2008-02-19 Hall Aluminum Llc Email viewing security
JP4860057B2 (ja) 2001-06-06 2012-01-25 京セラ株式会社 通信端末装置
US7461378B2 (en) * 2002-06-11 2008-12-02 Siemens Communications, Inc. Methods and apparatus for processing an instant message
US20040041841A1 (en) 2002-08-27 2004-03-04 Lemogne Stephane Enhanced contact navigator with interactive tabs for managing network events in real time
KR100532273B1 (ko) 2002-10-11 2005-11-29 삼성전자주식회사 복합 단말기에서 동작 모드에 따른 배터리 가용 시간 알림방법
US7300429B2 (en) 2003-03-18 2007-11-27 Catharos Medical Systems, Inc. Methods and devices for retrieval of a medical agent from a physiological efferent fluid collection site
KR100504828B1 (ko) 2003-04-11 2005-07-29 엘지전자 주식회사 휴대폰의 단문 메시지 관리 방법
US7593749B2 (en) 2003-05-28 2009-09-22 Nokia Corporation Method and radio terminal equipment arrangement of indicating incoming connection
US8462109B2 (en) * 2007-01-05 2013-06-11 Invensense, Inc. Controlling and accessing content using motion processing on mobile devices
US7707255B2 (en) 2003-07-01 2010-04-27 Microsoft Corporation Automatic grouping of electronic mail
US7353413B2 (en) 2003-08-18 2008-04-01 Intel Corporation Computer system power policy adjustment in response to an affirmative indication from a user
US7454716B2 (en) 2003-12-22 2008-11-18 Microsoft Corporation Clustering messages
US7904510B2 (en) 2004-02-23 2011-03-08 Microsoft Corporation Systems and methods for managing discussion threads based on ratings
US7645108B2 (en) 2004-02-26 2010-01-12 Benko John C Stack loading and unloading cart
US7218226B2 (en) 2004-03-01 2007-05-15 Apple Inc. Acceleration-based theft detection system for portable electronic devices
US7365736B2 (en) 2004-03-23 2008-04-29 Fujitsu Limited Customizable gesture mappings for motion controlled handheld devices
US7663607B2 (en) 2004-05-06 2010-02-16 Apple Inc. Multipoint touchscreen
US7353466B2 (en) 2004-05-28 2008-04-01 Microsoft Corporation System and method for generating message notification objects on dynamically scaled timeline
DE602005020791D1 (de) 2004-06-21 2010-06-02 Research In Motion Ltd Ronischer nachrichten
US20060026245A1 (en) 2004-07-07 2006-02-02 Ivy Cunningham System and method for data organization and display in an instant-messaging interface
US20060019649A1 (en) 2004-07-21 2006-01-26 Feinleib David A System and method for remote telephone ringer
US7844914B2 (en) 2004-07-30 2010-11-30 Apple Inc. Activating virtual keys of a touch-screen virtual keyboard
US7653883B2 (en) 2004-07-30 2010-01-26 Apple Inc. Proximity detector in handheld device
US8381135B2 (en) 2004-07-30 2013-02-19 Apple Inc. Proximity detector in handheld device
US7614008B2 (en) 2004-07-30 2009-11-03 Apple Inc. Operation of a computer with touch screen interface