Mobile devices are leveraging new communication services on advanced mobile operator (MO) networks that provide voice and data services to support rich user experiences such as website browsing over the Internet. While such devices and networks perform satisfactorily in many applications, further improvements are desired to enable additional features and experiences for mobile device users.
This Background is provided to introduce a brief context for the Summary and Detailed Description that follow. This Background is not intended to be an aid in determining the scope of the claimed subject matter nor be viewed as limiting the claimed subject matter to implementations that solve any or all of the disadvantages or problems presented above.
A system running on a mobile device such as a smartphone is configured to expose a user interface (UI) to enable a user to specify web pages that can be pinned to a start screen of the device. Once pinned, the user may launch a web page by voice command from any location on the UI or from within any experience that is currently being supported on the device. Thus, for example, the user can be on a call with a friend talking about a new video game and then use a voice command to launch a web browser application on the mobile device that navigates to a pinned web page having information about the game's release date. Web pages can be readily pinned and unpinned from the start screen through the UI. When a web page is unpinned from the start screen, the system disables voice web navigation for it.
In various illustrative examples, the mobile device is equipped with a touchscreen so that when viewing a web page on the browser, the user can invoke an application menu that exposes a control which the user can tap to pin the web page to the start screen. The system will assign a name to a token to represent that web page and place it on the start screen to indicate to the user that it is capable of being launched by voice command using the assigned name. The system incorporates a virtual personal assistant that exposes a natural language interface that is responsive to voice commands. So, for example, when the user says “open live Xbox” the system will trigger the web browser application to navigate to the live.xbox.com web page. The system exposes another control that enables the user to tap and hold the web page token on the start screen to unpin it.
Advantageously, the system provides a quick, simple, and consistent way for the user to select and launch web pages from within any experience with just two steps—launching the virtual personal assistant and then speaking the command to navigate to the selected web page by name. These two steps can always be used independent of the number of web pages that the user has pinned to the start screen. In addition, unlike some conventional solutions, the present system for voice web navigation does not perform a web search using an external server to navigate to web pages by name. By eliminating such intermediate search step, mobile device resources, including power and network bandwidth utilization, are preserved while enhancing the overall user experience.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure. It will be appreciated that the above-described subject matter may be implemented as a computer-controlled apparatus, a computer process, a computing system, or as an article of manufacture such as one or more computer-readable storage media. These and various other features will be apparent from a reading of the following Detailed Description and a review of the associated drawings.
Like reference numerals indicate like elements in the drawings. Elements are not drawn to scale unless otherwise indicated.
However, alternative types of electronic devices are also envisioned to be usable within the telecommunications environment 100 so long as they are configured with communication capabilities and can connect to the MO network 115. Such alternative devices variously include handheld computing devices, PDAs (Personal Digital Assistants), portable media players, wearable computing devices, navigation devices such as GPS (Global Positioning System) systems, laptop PCs (personal computers) desktop computers, multimedia consoles, gaming systems, or the like. In the discussion that follows, the use of the term “mobile device” is intended to cover all devices that are configured with communication capabilities and are capable of wireless connectivity to the MO network 115.
Each mobile device 110 will typically have a prearranged association with the MO network 115. For example, a user 105 will typically be a subscriber to a cellular service plan so that the user's mobile device 110 can access the MO network as valid and authenticated user equipment typically for voice and data services. The MO network 115 in this illustrative example includes a radio access network 120 having a number of macrocells that support access by the devices 110 to an MO core network 125. The backend of the MO network 115 typically includes interfaces that support a connection to network infrastructure including a public switched telephone network (PSTN) 130. A connection to the Internet 140 is also typically supported so that the mobile devices 110 can access content provided by one or more web content providers 145. An external service provider 150, described in more detail below, may also be accessible over the MO network 115.
In alternative implementations, one or more of the mobile devices 110 may be configured to interact with a IEEE 802.11 compliant Wi-Fi access point 155 in order to access various services which can typically include voice and/or data services. The Wi-Fi access point may be operatively coupled to the MO core network 125 or other networks such as IP (Internet Protocol) networks, VoIP (Voice over Internet Protocol) networks, and/or other network types or combinations of networks, as representatively indicated by reference numeral 160.
The application layer 205, in this example, supports a web browser application 220 configured for retrieving, presenting, and traversing information from web-based resources such as those exposed by provider 145 in
The OS layer 210, in this example, supports a virtual personal assistant 230 and other OS components 235. The OS components 235, by themselves, or in combination with the virtual personal assistant 230 in some cases, implement a system 240 on the mobile device 110 that functions to provide the voice web navigation described herein. In addition, the system 240 can interoperate with components in the application and/or hardware layers, for example, to expose UIs including various user controls or implement other functionality that may be needed to support voice web navigation. The system 240 and virtual personal assistant 230 can also be supported, in whole or part, using code or methods that run in the application layer 205 and/or hardware layer 215 and/or using code or methods that execute remotely from the mobile device 110. For example, remote code or methods supporting the system 240 and virtual personal assistant 230 can execute on servers or other computing devices supported by the external service provider 150 (as indicated by the dashed line 245 in
As shown in
As shown, the functions 400 include interacting with the user 420 (through the natural language UI and other graphical UIs, for example); performing tasks 425 (e.g., making note of appointments in the user's calendar, sending text messages and emails, etc.); providing services 430 (e.g., answering questions from the user, mapping directions to a destination, etc.); gathering information 435 (e.g., finding information requested by the user about a book or movie, locating the nearest Italian restaurant, etc.); operating the mobile device 440 (e.g., setting preferences, adjusting screen brightness, turning wireless connections such as Wi-Fi and Bluetooth on and off, etc.); and performing various other functions 445. The list of functions 400 is not intended to be exhaustive and other functions may be provided by the virtual personal assistant as may be needed for a particular implementation of voice web navigation.
In step 505, the user 105 invokes the web browser 220 and navigates to some web page of interest.
Returning to the flowchart in
The items on the start screen are represented by tiles. In this example, there are seven tiles shown. Some of the tiles include graphics (e.g., symbols, icons, glyphs, pictures, logos, etc.) as representatively indicated by reference numeral 810. Other tiles on the start screen 805 include text as representatively indicated by reference numeral 815 and some tiles use both graphics and text as representatively indicated by reference numeral 820. The mix of tile types shown on a given start screen can be expected to vary by user and mobile device and the particular graphics/text used for any given tile is generally a matter of design choice made by the content provider or application developer.
The start screen 805 can be virtually larger than the physical size of the display on the mobile device in typical implementations and the user can scroll the start screen to reveal other tiles in such cases. The start screen 805 is configured to be customizable by the user 105 to reflect particular preferences in typical implementations. For example, the user can generally select the position of tiles relative to each other and in some cases pick tile size, color schemes, and the like.
The tile in the lower left of the UI 800 is a token 825 that represents the pinned web page. Pinned web pages can be launched by voice command so by pinning the web page to the start screen 805, the user is opting in to having this feature being enabled. There is typically no limit on the number of web pages that can be pinned to the start screen. When a web page is pinned, the system 240 can place the token on the start screen in any of a variety of different positions depending on the needs of a given implementation. For example, a newly pinned token can be placed on the first page of the start screen (i.e., the portion of the start screen that is displayed when the screen is first invoked) so that the user does not need to scroll to see the token. This technique allows the user to quickly verify that the web page has been pinned without the need for extra UI interaction. Alternatively, the system can place the token at an available empty space in the start screen, or place the token near the last tile that was added. In some cases, the user can express preferences for where and how pinned tokens are displayed on the start screen.
Returning to
In some implementations, step 520 can include the system exposing a UI or other controls that enable the user 105 to provide a name for the token. In some cases, the UI can also provide the user with options to choose and/or change the graphic appearance of the token. In this way, the user can exercise control over how voice-based and visual experiences are supported by the system 240 on the mobile device 110 and personalize the experiences to meet the user's preferences.
In step 530, the system 240 exposes a control to enable the user 105 to unpin a web page from the start screen. In step 535, the system 240 unpins and removes the page's associated token from the start screen in response to the user's invocation of the control and disables voice web navigation for the unpinned web page in step 540. As shown in the UI 900 in
Returning to
The virtual personal assistant 230 can also be launched from the start screen. An illustrative start screen 1105 is shown in the UI 1100 in
In step 550 in
In step 555 in
Step 560 may include providing an optionally utilized reading mode. Here, the web browser 220 is configured to support a text to speech functionality so that various portions of textual content on a target web page are converted to speech that is played over an audio endpoint (e.g., and internal speaker, external earpiece or headset, etc.) which is coupled to the mobile device. In some implementations, the web browser may interact with external service providers in order to implement some or all of the functionalities needed to support the reading mode. The reading mode can be expected to be advantageous in many applications as it provides users with a way to interact with the mobile device 110 and consume content without having to read it.
A number of program modules may be stored on the hard disk 1628, magnetic disk 1633, optical disk 1643, ROM 1617, or RAM 1621, including an operating system 1655, one or more application programs 1657, other program modules 1660, and program data 1663. A user may enter commands and information into the computer system 1600 through input devices such as a keyboard 1666 and pointing device 1668 such as a mouse. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, trackball, touchpad, touch screen, touch-sensitive device, voice-command module or device, user motion or user gesture capture device, or the like. These and other input devices are often connected to the processor 1605 through a serial port interface 1671 that is coupled to the system bus 1614, but may be connected by other interfaces, such as a parallel port, game port, or universal serial bus (USB). A monitor 1673 or other type of display device is also connected to the system bus 1614 via an interface, such as a video adapter 1675. In addition to the monitor 1673, personal computers typically include other peripheral output devices (not shown), such as speakers and printers. The illustrative example shown in
The computer system 1600 is operable in a networked environment using logical connections to one or more remote computers, such as a remote computer 1688. The remote computer 1688 may be selected as another personal computer, a server, a router, a network PC, a peer device, or other common network node, and typically includes many or all of the elements described above relative to the computer system 1600, although only a single representative remote memory/storage device 1690 is shown in
When used in a LAN networking environment, the computer system 1600 is connected to the local area network 1693 through a network interface or adapter 1696. When used in a WAN networking environment, the computer system 1600 typically includes a broadband modem 1698, network gateway, or other means for establishing communications over the wide area network 1695, such as the Internet. The broadband modem 1698, which may be internal or external, is connected to the system bus 1614 via a serial port interface 1671. In a networked environment, program modules related to the computer system 1600, or portions thereof, may be stored in the remote memory storage device 1690. It is noted that the network connections shown in
The architecture 1700 illustrated in
The mass storage device 1712 is connected to the CPU 1702 through a mass storage controller (not shown) connected to the bus 1710. The mass storage device 1712 and its associated computer-readable storage media provide non-volatile storage for the architecture 1700.
Although the description of computer-readable storage media contained herein refers to a mass storage device, such as a hard disk or CD-ROM drive, it should be appreciated by those skilled in the art that computer-readable storage media can be any available storage media that can be accessed by the architecture 1700.
By way of example, and not limitation, computer-readable storage media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. For example, computer-readable media includes, but is not limited to, RAM, ROM, EPROM (erasable programmable read only memory), EEPROM (electrically erasable programmable read only memory), Flash memory or other solid state memory technology, CD-ROM, DVDs, HD-DVD (High Definition DVD), Blu-ray, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the architecture 1700.
According to various embodiments, the architecture 1700 may operate in a networked environment using logical connections to remote computers through a network. The architecture 1700 may connect to the network through a network interface unit 1716 connected to the bus 1710. It should be appreciated that the network interface unit 1716 also may be utilized to connect to other types of networks and remote computer systems. The architecture 1700 also may include an input/output controller 1718 for receiving and processing input from a number of other devices, including a keyboard, mouse, or electronic stylus (not shown in
It should be appreciated that the software components described herein may, when loaded into the CPU 1702 and executed, transform the CPU 1702 and the overall architecture 1700 from a general-purpose computing system into a special-purpose computing system customized to facilitate the functionality presented herein. The CPU 1702 may be constructed from any number of transistors or other discrete circuit elements, which may individually or collectively assume any number of states. More specifically, the CPU 1702 may operate as a finite-state machine, in response to executable instructions contained within the software modules disclosed herein. These computer-executable instructions may transform the CPU 1702 by specifying how the CPU 1702 transitions between states, thereby transforming the transistors or other discrete hardware elements constituting the CPU 1702.
Encoding the software modules presented herein also may transform the physical structure of the computer-readable storage media presented herein. The specific transformation of physical structure may depend on various factors, in different implementations of this description. Examples of such factors may include, but are not limited to, the technology used to implement the computer-readable storage media, whether the computer-readable storage media is characterized as primary or secondary storage, and the like. For example, if the computer-readable storage media is implemented as semiconductor-based memory, the software disclosed herein may be encoded on the computer-readable storage media by transforming the physical state of the semiconductor memory. For example, the software may transform the state of transistors, capacitors, or other discrete circuit elements constituting the semiconductor memory. The software also may transform the physical state of such components in order to store data thereupon.
As another example, the computer-readable storage media disclosed herein may be implemented using magnetic or optical technology. In such implementations, the software presented herein may transform the physical state of magnetic or optical media, when the software is encoded therein. These transformations may include altering the magnetic characteristics of particular locations within given magnetic media. These transformations also may include altering the physical features or characteristics of particular locations within given optical media to change the optical characteristics of those locations. Other transformations of physical media are possible without departing from the scope and spirit of the present description, with the foregoing examples provided only to facilitate this discussion.
In light of the above, it should be appreciated that many types of physical transformations take place in the architecture 1700 in order to store and execute the software components presented herein. It also should be appreciated that the architecture 1700 may include other types of computing devices, including handheld computers, embedded computer systems, smartphones, PDAs, and other types of computing devices known to those skilled in the art. It is also contemplated that the architecture 1700 may not include all of the components shown in
The illustrated mobile device 110 can include a controller or processor 1810 (e.g., signal processor, microprocessor, microcontroller, ASIC (Application Specific Integrated Circuit), or other control and processing logic circuitry) for performing such tasks as signal coding, data processing, input/output processing, power control, and/or other functions. An operating system 1812 can control the allocation and usage of the components 1802, including power states, above-lock states, and below-lock states, and provides support for one or more application programs 1814. The application programs can include common mobile computing applications (e.g., image-capture applications, email applications, calendars, contact managers, web browsers, messaging applications), or any other computing application.
The illustrated mobile device 110 can include memory 1820. Memory 1820 can include non-removable memory 1822 and/or removable memory 1824. The non-removable memory 1822 can include RAM, ROM, Flash memory, a hard disk, or other well-known memory storage technologies. The removable memory 1824 can include Flash memory or a Subscriber Identity Module (SIM) card, which is well known in GSM (Global System for Mobile communications) systems, or other well-known memory storage technologies, such as “smart cards.” The memory 1820 can be used for storing data and/or code for running the operating system 1812 and the application programs 1814. Example data can include web pages, text, images, sound files, video data, or other data sets to be sent to and/or received from one or more network servers or other devices via one or more wired or wireless networks.
The memory 1820 may also be arranged as, or include, one or more computer-readable storage media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. For example, computer-readable media includes, but is not limited to, RAM, ROM, EPROM, EEPROM, Flash memory or other solid state memory technology, CD-ROM (compact-disc ROM), DVD, (Digital Versatile Disc) HD-DVD (High Definition DVD), Blu-ray, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the mobile device 110.
The memory 1820 can be used to store a subscriber identifier, such as an International Mobile Subscriber Identity (IMSI), and an equipment identifier, such as an International Mobile Equipment Identifier (IMEI). Such identifiers can be transmitted to a network server to identify users and equipment. The mobile device 110 can support one or more input devices 1830; such as a touch screen 1832; microphone 1834 for implementation of voice input for voice recognition, voice commands and the like; camera 1836; physical keyboard 1838; trackball 1840; and/or proximity sensor 1842; and one or more output devices 1850, such as a speaker 1852 and one or more displays 1854. Other input devices (not shown) using gesture recognition may also be utilized in some cases. Other possible output devices (not shown) can include piezoelectric or haptic output devices. Some devices can serve more than one input/output function. For example, touchscreen 1832 and display 1854 can be combined into a single input/output device.
A wireless modem 1860 can be coupled to an antenna (not shown) and can support two-way communications between the processor 1810 and external devices, as is well understood in the art. The modem 1860 is shown generically and can include a cellular modem for communicating with the mobile communication network 1804 and/or other radio-based modems (e.g., Bluetooth 1864 or Wi-Fi 1862). The wireless modem 1860 is typically configured for communication with one or more cellular networks, such as a GSM network for data and voice communications within a single cellular network, between cellular networks, or between the mobile device and a public switched telephone network (PSTN).
The mobile device can further include at least one input/output port 1880, a power supply 1882, a satellite navigation system receiver 1884, such as a Global Positioning System (GPS) receiver, an accelerometer 1886, a gyroscope (not shown), and/or a physical connector 1890, which can be a USB port, IEEE 1394 (FireWire) port, and/or an RS-232 port. The illustrated components 1802 are not required or all-inclusive, as any component can be deleted and other components can be added.
Based on the foregoing, it should be appreciated that technologies for voice web navigation have been disclosed herein. Although the subject matter presented herein has been described in language specific to computer structural features, methodological and transformative acts, specific computing machinery, and computer-readable storage media, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific features, acts, or media described herein. Rather, the specific features, acts, and mediums are disclosed as example forms of implementing the claims.
The subject matter described above is provided by way of illustration only and should not be construed as limiting. Various modifications and changes may be made to the subject matter described herein without following the example embodiments and applications illustrated and described, and without departing from the true spirit and scope of the present invention, which is set forth in the following claims.
Number | Name | Date | Kind |
---|---|---|---|
5893063 | Loats | Apr 1999 | A |
7653544 | Bradley | Jan 2010 | B2 |
8423911 | Chaudhri | Apr 2013 | B2 |
9015584 | Park | Apr 2015 | B2 |
20040054539 | Simpson | Mar 2004 | A1 |
20050143975 | Charney | Jun 2005 | A1 |
20070033054 | Snitkovskiy | Feb 2007 | A1 |
20090106704 | De Leon | Apr 2009 | A1 |
20090178006 | Lemay | Jul 2009 | A1 |
20100105364 | Yang | Apr 2010 | A1 |
20110138287 | Katsuranis | Jun 2011 | A1 |
20110307794 | Hilerio et al. | Dec 2011 | A1 |
20110307883 | Hilerio | Dec 2011 | A1 |
20120016678 | Gruber | Jan 2012 | A1 |
20120089392 | Larco | Apr 2012 | A1 |
20120150546 | Cheng | Jun 2012 | A1 |
20120209608 | Lee | Aug 2012 | A1 |
20130031486 | Schultz et al. | Jan 2013 | A1 |
20130219277 | Wang | Aug 2013 | A1 |
20130325484 | Chakladar | Dec 2013 | A1 |
20130347094 | Bettini | Dec 2013 | A1 |
20140040746 | Reich | Feb 2014 | A1 |
20140040748 | Lemay | Feb 2014 | A1 |
20140173521 | Mayor | Jun 2014 | A1 |
20140222436 | Binder | Aug 2014 | A1 |
20140274211 | Sejnoha | Sep 2014 | A1 |
20140278419 | Bishop | Sep 2014 | A1 |
20140343950 | Simpson | Nov 2014 | A1 |
Entry |
---|
Viticci, Federico , “Coming Soon: i Phone Voice Control for Everything—MacStories”, Published on: Jan. 30, 2011, Available at: http://www.macstories.net/iphone/coming-soon-iphone-voice-control-for-everything/ (4 pages total). |
EightForums, “Start Screen—Pin or Unpin App, Folder, or Drive in Windows 8”, Published Sep. 15, 2011, Available at http://www.eightforums.com/tutorials/2352-start-screen-pin-unpin-app-folder-drive-windows-8-a.html (10 pages total). |
Staff, Appleinsider, “Websites Activating Safari Push Notifications Ahead of OS X Mavericks Rollout”, Published on: Oct. 21, 2013, Retrieved from : http://appleinsider.com/articles/13/10/22/websites-activating-safari-push-notifications-ahead-of-os-x-mavericks-rollout Retrieved Date: May 1, 2014 (2 pages total). |
“International Search Report and Written Opinion Issued in PCT Patent Application No. PCT/US2015/022603”, Mailed Date: Jun. 9, 2015, (8 Pages total) (MS# 341424.02). |
Benton, Joshua, “Now Websites can send Push Notifications—Not Just Apps”, Published on: Jun. 2013, Avaiable at: http://www.niemanlab.org/2013/06/now-websites-can-send-push-notifications-not-just-apps/ (5 pages total). |
Dilger, Daniel Eran, “Safari 7.0 to Bring Web Notifications to OS X Mavericks”, Published on Jun. 28, 2013, Available at: http://appleinsider.com/articles/13/06/28/safari-70-to-bring-web-notifications-to-os-x-mavericks (5 pages total). |
Armstrong, et al., “Efficient and Transparent Dynamic Content Updates for Mobile Clients”, In Proceedings of the 4th International Conference on Mobile Systems, Applications and Services, Jun. 19, 2006, (13 pages total). |
Tyrsina, Radu, “Firefox Web Browser will Get a Push Notification System”, Published on: Feb. 7, 2012, Available at: http://thetechjournal.com/internet/firefox-web-browser-will-get-a-push-notification-system.xhtml (4 pages total). |
Lalmalani, Rahul, “Pinned Sites in Windows 8: Getting more visibility of your site”, Published on: Jan. 21, 2013, Available at: http://www.codeproject.com/Articles/530445/Pinned-Sites-in-Windows-8-Getting-more-visibility (5 pages total). |
“Internet Explorer on Windows 8.1: One browser, two Experiences”, Published on: Nov. 13, 2013, Available at: http://msdn.microsoft.com/en-us/library/ie/hh771832(v= vs.85).aspx (8 pages total). |
“Second Written Opinion Issued in PCT Application No. PCT/US2015/022603”, Mailed Date: Feb. 26, 2016, (6 Pages total) (MS# 341424.02). |
Agar, Colt, “How to Pin Your Favorite Websites to Your iPhone's Home Screen”, Retrieved from <<http://thetechreviewer.com/tech-tips/pin-favorite-websites-iphones-home-screen/?singlepage=1>>, May 24, 2013, (8 Pages total). |
“International Preliminary Report on Patentability Issued in PCT Application No. PCT/US2015/022603”, Mailed Date: Jun. 2, 2016, 7 Pages. (MS# 341424.02). |
Number | Date | Country | |
---|---|---|---|
20150277846 A1 | Oct 2015 | US |