US20130274960A1 - System, method, and computer program product for utilizing a communication channel of a mobile device by a vehicular assembly - Google Patents

System, method, and computer program product for utilizing a communication channel of a mobile device by a vehicular assembly Download PDF

Info

Publication number
US20130274960A1
US20130274960A1 US13/913,500 US201313913500A US2013274960A1 US 20130274960 A1 US20130274960 A1 US 20130274960A1 US 201313913500 A US201313913500 A US 201313913500A US 2013274960 A1 US2013274960 A1 US 2013274960A1
Authority
US
United States
Prior art keywords
mobile device
vehicular assembly
user
data
information
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.)
Abandoned
Application number
US13/913,500
Inventor
Kevin J. Zilka
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
Individual
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
Application filed by Individual filed Critical Individual
Priority to US13/913,500 priority Critical patent/US20130274960A1/en
Publication of US20130274960A1 publication Critical patent/US20130274960A1/en
Assigned to ALOFT MEDIA, LLC reassignment ALOFT MEDIA, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ZILKA, KEVIN J.
Assigned to Boadin Technology, LLC reassignment Boadin Technology, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ALOFT MEDIA, LLC
Assigned to KILPAUK GARDEN, SERIES 64 OF ALLIED SECURITY TRUST I reassignment KILPAUK GARDEN, SERIES 64 OF ALLIED SECURITY TRUST I ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: Boadin Technology, LLC
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KILPAUK GARDEN, SERIES 64 OF ALLIED SECURITY TRUST I
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/60Substation equipment, e.g. for use by subscribers including speech amplifiers
    • H04M1/6033Substation equipment, e.g. for use by subscribers including speech amplifiers for providing handsfree use or a loudspeaker mode in telephone sets
    • H04M1/6041Portable telephones adapted for handsfree use
    • H04M1/6075Portable telephones adapted for handsfree use adapted for handsfree use in a vehicle
    • H04M1/6083Portable telephones adapted for handsfree use adapted for handsfree use in a vehicle by interfacing with the vehicle audio system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/60Substation equipment, e.g. for use by subscribers including speech amplifiers
    • H04M1/6033Substation equipment, e.g. for use by subscribers including speech amplifiers for providing handsfree use or a loudspeaker mode in telephone sets
    • H04M1/6041Portable telephones adapted for handsfree use
    • H04M1/6075Portable telephones adapted for handsfree use adapted for handsfree use in a vehicle
    • H04M1/6083Portable telephones adapted for handsfree use adapted for handsfree use in a vehicle by interfacing with the vehicle audio system
    • H04M1/6091Portable telephones adapted for handsfree use adapted for handsfree use in a vehicle by interfacing with the vehicle audio system including a wireless interface
    • 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/72436User 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 text messaging, e.g. SMS or e-mail
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/02Details of telephonic subscriber devices including a Bluetooth interface

Definitions

  • the present invention relates to vehicular assembly functionality, and more particularly to vehicular assembly functionality in association with a mobile device.
  • a system, method, and computer program product are provided for utilizing a communication channel of a mobile device by a vehicular assembly.
  • a vehicular assembly communicates with a mobile device having a wireless communication channel. Additionally, at least one vehicular assembly function is performed utilizing the wireless communication channel of the mobile device.
  • FIG. 1 illustrates a communication system, in accordance with one embodiment.
  • FIG. 2 shows a representative hardware environment that may be associated with the mobile device, the servers and/or clients of FIG. 1 , in accordance with one embodiment.
  • FIG. 3 shows a configuration for an automobile capable of interfacing with the mobile device of FIG. 1 , in accordance with one embodiment.
  • FIG. 4 shows a method for executing commands of a mobile device utilizing a communication and entertainment system of a vehicle, in accordance with one embodiment.
  • FIG. 5A shows a method for voice-enabled access to mobile device data, in accordance with one embodiment.
  • FIG. 5B shows a method for synchronizing a mobile device and a vehicular assembly, in accordance with one embodiment.
  • FIG. 6 shows a method for voice-enabled access to mobile device data, in accordance with another embodiment.
  • FIG. 7 shows a diagram showing data that is to be received by a vehicular assembly over a period of time, in accordance with one embodiment.
  • FIG. 8A shows a method for utilizing a communication channel of a mobile device by a vehicular assembly, in accordance with one embodiment.
  • FIG. 8B shows a method for utilizing a mobile device as a platform to execute software to provide functionality via a vehicular assembly, in accordance with one embodiment.
  • FIG. 8C shows a method for navigating a network, in accordance with one embodiment.
  • FIG. 9A shows a method for utilizing a communication channel of a mobile device by a vehicular assembly, in accordance with another embodiment.
  • FIG. 9B shows a system for utilizing a communication channel of a mobile device by a vehicular assembly, in accordance with another embodiment.
  • FIG. 10A shows a method for incorporating contacts from a mobile device into a points-of-interest database of a vehicular assembly, in accordance with one embodiment.
  • FIG. 10B shows a method for social networking utilizing a vehicular assembly, in accordance with one embodiment.
  • FIG. 11 shows a method for social networking utilizing a vehicular assembly, in accordance with one embodiment.
  • FIG. 12 shows an interface for adding contacts to be displayed on a vehicular assembly, in accordance with one embodiment.
  • FIG. 13 shows an interface for displaying a contact location, in accordance with one embodiment.
  • FIG. 14A shows a method for instant messaging utilizing a vehicular assembly, in accordance with one embodiment.
  • FIG. 14B shows a method for communicating location-related information, in accordance with one embodiment.
  • FIG. 14C shows a method for voice controlled attachments, in accordance with one embodiment.
  • FIG. 15 shows a method for voice controlled attachments and for communicating location-related information, in accordance with another embodiment.
  • FIG. 16A shows a method for voice controlled attachments, in accordance with another embodiment.
  • FIG. 16B shows a method for communicating location-related information, in accordance with another embodiment.
  • FIG. 17 shows an interface for communicating and displaying location-related information, in accordance with another embodiment.
  • FIG. 18 shows a method for programmable mobile device controls, in accordance with one embodiment.
  • FIG. 19 shows a method for programmable mobile device controls, in accordance with another embodiment.
  • FIG. 20 shows a system for programmable mobile device controls, in accordance with one embodiment.
  • FIG. 21 shows a method for providing enhanced passenger display functionality, in accordance with one embodiment.
  • FIG. 22 shows a method for providing enhanced passenger display functionality, in accordance with another embodiment.
  • FIG. 23 shows a system for providing enhanced passenger display functionality, in accordance with one embodiment.
  • FIG. 24 shows a method for community-based traffic condition information, in accordance with one embodiment.
  • FIG. 25 shows a method for community-based traffic condition information, in accordance with another embodiment.
  • FIG. 26 shows a method for location based messaging, in accordance with one embodiment.
  • FIG. 27 shows a method for location based messaging, in accordance with another embodiment.
  • FIG. 28 shows an interface for location based messaging, in accordance with one embodiment.
  • FIG. 29 shows a method for generating navigation information based on calendar information, in accordance with one embodiment.
  • FIG. 30 shows a method for generating navigation information based on calendar information, in accordance with another embodiment.
  • FIG. 31 shows an interface for generating navigation information based on calendar information, in accordance with one embodiment.
  • FIG. 32 shows a method for creating a map in association with an address, in accordance with one embodiment.
  • FIG. 33 shows an interface for creating a map in association with an address, in accordance with one embodiment.
  • FIG. 34 shows a method for selectively retrieving data from a mobile device in communication with a vehicular assembly, in accordance with one embodiment.
  • FIG. 35 shows a system for accessing one or more online applications, in accordance with one embodiment.
  • FIG. 36 shows a representative environment that may be associated with the servers and/or clients of FIG. 35 , in accordance with one embodiment.
  • FIG. 37 shows a method for linking a plurality of tags with a document, in accordance with one embodiment.
  • FIG. 38 shows a method for linking a plurality of tags with a document, in accordance with another embodiment.
  • FIG. 39 shows a method for suggesting tags or automatically selecting tags, in accordance with another embodiment.
  • FIG. 40 shows an interface for linking a plurality of tags with a document, in accordance with one embodiment.
  • FIG. 41 shows a method for applying a function of an online application to a file generated by a second online application, in accordance with one embodiment.
  • FIG. 42 shows a system for applying a function of an online application to a file generated by a second online application, in accordance with one embodiment.
  • FIG. 43 shows a method for applying a function of an online application to a file generated by a second online application, in accordance with one embodiment.
  • FIG. 44 shows a network browser for applying a function of an online application to a file generated by a second online application, in accordance with one embodiment.
  • FIG. 45 shows a method for accommodating different online applications, in accordance with one embodiment.
  • FIG. 46 shows a method for accommodating different online applications, in accordance with one embodiment.
  • FIG. 47 shows a network browser plugin for accommodating different online applications, in accordance with one embodiment.
  • FIG. 48 shows a network browser for accommodating different online applications, in accordance with one embodiment.
  • FIG. 49 shows a method for storing attachments of an electronic message in a central location associated with an online application from which the attachment was generated, in accordance with one embodiment.
  • FIG. 50 shows a method for storing attachments of an electronic message in a central location associated with an online application from which the attachment was generated, in accordance with one embodiment.
  • FIG. 51 shows a system for storing attachments of an electronic message in a central location associated with an online application from which the attachment was generated, in accordance with one embodiment.
  • FIG. 52 shows an interface for an electronic message application for identifying a file associated with an electronic message, in accordance with one embodiment.
  • FIG. 53 shows a method for displaying a single interface that includes a plurality of files, in accordance with one embodiment.
  • FIG. 54 shows a method for displaying a single interface that includes a plurality of files, in accordance with another embodiment.
  • FIG. 55 shows a data structure of global login information for a single interface that includes a plurality of files associated with a plurality of different online applications, in accordance with one embodiment.
  • FIG. 56 shows a file structure shown in a single interface that includes a plurality of files associated with a plurality of different online applications, in accordance with one embodiment.
  • FIG. 57 shows a network browser for displaying a single interface that includes a plurality of files, in accordance with one embodiment.
  • FIG. 58 shows a method for utilizing a network browser as a desktop, in accordance with one embodiment.
  • FIG. 59 shows a method for utilizing a network browser as a desktop, in accordance with another embodiment.
  • FIG. 60 shows a network browser for using as a desktop, in accordance with another embodiment.
  • FIG. 61 shows a network browser for using as a desktop, in accordance with another embodiment.
  • FIG. 62 shows a method of advertising in conjunction with online applications, in accordance with one embodiment.
  • FIG. 63 shows a method of advertising in conjunction with online applications, in accordance with one embodiment.
  • FIG. 64 shows a network browser for viewing advertisements in conjunction with files associated with online applications, in accordance with one embodiment.
  • FIG. 65 shows a method for performing a search in conjunction with use of an online application, in accordance with one embodiment.
  • FIG. 66 shows an interface for performing a search in conjunction with use of an online application, in accordance with one embodiment.
  • FIG. 67 shows a method for focusing a search, in accordance with one embodiment.
  • FIG. 68 shows an interface for focusing a search, in accordance with one embodiment.
  • FIG. 69 shows a method for executing an online application on a mobile device, in accordance with one embodiment.
  • FIG. 70 shows an interface for executing an online application on a mobile device, in accordance with one embodiment.
  • FIG. 71 shows a method for intelligent cutting and pasting, in accordance with one embodiment.
  • FIG. 72 shows an interface for intelligent cutting and pasting, in accordance with one embodiment.
  • FIG. 1 illustrates a communication system 100 , in accordance with one embodiment.
  • a mobile device 102 is capable of interfacing with a vehicle 104 including various components of the vehicle 104 .
  • the mobile device 102 may include any mobile device capable of interfacing with a vehicle 104 including a lap-top computer, hand-held computer, mobile phone, personal digital assistant (PDA), a music player (e.g. a digital music player, etc.), a GPS device, etc.
  • PDA personal digital assistant
  • the mobile device 102 may communicate with a vehicular assembly system (e.g. a communication and entertainment system, etc.) corresponding to the vehicle 104 via a wireless connection (e.g. Bluetooth, etc.), or via a cable connection (e.g. a USB cable, a serial cable, etc.).
  • a wireless connection e.g. Bluetooth, etc.
  • a cable connection e.g. a USB cable, a serial cable, etc.
  • the mobile device 102 may interface with the communication and entertainment system vehicle utilizing an I/O port 106 of the vehicle 104 .
  • the I/O port 106 may include a serial port, a USB port, FireWire/i.LINK ports, etc.
  • the I/O port 106 may include a wireless communication port.
  • the mobile device 102 may interface with various components and functionality of the vehicle, such as an onboard computer system including a processor 108 , memory 110 (e.g. DRAM, flash memory, etc.), an onboard navigation system 112 , displays (e.g. a central display 114 , and one or more passenger displays 116 , etc.), audio communication devices (e.g. speakers 118 , a microphone 120 , etc.), and various other components and functionality of the vehicle included in the vehicular assembly system.
  • the interface may also allow a user of the vehicle 104 to access and/or control the mobile device 102 utilizing controls associated with the vehicle 104 , such as steering wheel, dashboard, and radio controls 122 . Additionally, the user may access and/or control the mobile device utilizing the microphone 120 through voice commands.
  • a user may access and utilize one or more wireless networks 124 associated with the mobile device 102 .
  • Coupled to the networks 124 may be servers 126 which are capable of communicating over the networks 124 .
  • Also coupled to the networks 124 and the servers 126 is a plurality of clients 128 .
  • Such servers 126 and/or clients 128 may each include a desktop computer, lap-top computer, hand-held computer, mobile phone, personal digital assistant (PDA), peripheral (e.g. printer, etc.), any component of a computer, and/or any other type of logic.
  • PDA personal digital assistant
  • peripheral e.g. printer, etc.
  • any component of a computer and/or any other type of logic.
  • at least one gateway is optionally coupled therebetween.
  • the computer system of the vehicle 104 may include various software and applications for facilitating communication between the vehicle 104 and the mobile device 102 .
  • the vehicle computer system may include an operating system (e.g. Windows Mobile, Linux, etc.), embedded speech recognition software, telephone call steering systems, automated telephone directory services, character recognition software, and imaging software.
  • FIG. 2 shows a representative hardware environment that may be associated with the mobile device 102 , the servers 126 and/or clients 128 of FIG. 1 , in accordance with one embodiment.
  • Such figure illustrates a typical hardware configuration of a device in accordance with one embodiment having a central processing unit 210 , such as a microprocessor, and a number of other units interconnected via a system bus 212 .
  • a central processing unit 210 such as a microprocessor
  • the device shown in FIG. 2 includes a Random Access Memory (RAM) 214 , Read Only Memory (ROM) 216 , an I/O adapter 218 for connecting peripheral devices such as disk storage units 220 to the bus 212 , a user interface adapter 222 for optionally connecting an input interface 224 (e.g. a keyboard, etc.), a mouse 226 , a speaker 228 , a microphone 232 , and/or other user interface devices such as a touch screen (not shown) to the bus 212 , communication adapter 234 for connecting the workstation to a communication network 235 (e.g., a data processing network) and a display adapter 236 for connecting the bus 212 to a display device 238 .
  • RAM Random Access Memory
  • ROM Read Only Memory
  • I/O adapter 218 for connecting peripheral devices such as disk storage units 220 to the bus 212
  • a user interface adapter 222 for optionally connecting an input interface 224 (e.g. a keyboard, etc.), a mouse
  • the device may have resident thereon any desired operating system. It will be appreciated that an embodiment may also be implemented on platforms and operating systems other than those mentioned.
  • One embodiment may be written using JAVA, C, and/or C++ language, or other programming languages, along with an object oriented programming methodology.
  • Object oriented programming (OOP) has become increasingly used to develop complex applications.
  • FIG. 3 shows a configuration 300 for an automobile capable of interfacing with the mobile device 102 of FIG. 1 , in accordance with one embodiment.
  • the mobile device 102 may be coupled to the automobile utilizing a wired connection, such as a USB connection, etc., or a wireless connection such as Bluetooth, etc.
  • a user may operate the mobile device 102 , via the automobile, using voice commands, steering wheel controls 302 , radio controls 304 , and/or dashboard controls.
  • the mobile device may communicate with vehicle displays (e.g. main displays, passenger displays 306 , etc.) such that content associated with the mobile device (e.g. stored content, streaming content, etc.) may be displayed.
  • vehicle displays e.g. main displays, passenger displays 306 , etc.
  • content associated with the mobile device e.g. stored content, streaming content, etc.
  • the mobile device may communicate stored video to at least one of the passenger displays 306 .
  • the mobile device may communicate streaming or stored audio such that the audio may be transmitted utilizing an audio system of the automobile.
  • voice-activated, hands-free calling may also be implanted.
  • a “Push to Talk” button on the steering wheel may allow the user to access contacts stored in a contact list of the mobile device 102 by voice command.
  • the user may be able to switch use from the mobile device 102 to the vehicle control system transparently.
  • a user may push a “Telephone” button on the steering wheel to automatically transfer a current telephone call to the automobile communication system of the automobile without having to hang up and call again.
  • the text messages received by the mobile device 102 may be converted to audio utilizing a vehicle on-board processor and associated voice-to-text software.
  • the communication system of automobile may then output the converted text in an audio stream via speakers.
  • the communication system associated with the automobile may include a main display 308 for displaying activities associated with the mobile device 102 , along with other functionality (e.g. navigational functionality, etc.).
  • the communication system may display any feature that is capable of being displayed using the mobile device 102 .
  • such features may include caller ID, call waiting, conference calling, a caller log, a list of contacts, a signal strength icon, and a phone battery charge icon, a music list, a content list, etc.
  • voice-activated music may also be implemented.
  • the on-board communication and entertainment system may allows a user to browse through music collections by genre, album, artist, and song title using simple voice commands.
  • FIG. 4 shows a method 400 for executing commands of a mobile device utilizing a communication and entertainment system of a vehicle, in accordance with one embodiment.
  • the method 400 may be implemented in the context of the architecture and environment of FIGS. 1-3 . Of course, however, the method 400 may be carried out in any desired environment.
  • a connected is made between a mobile device and a computer system of a vehicle (i.e. a communication and entertainment system). See operation 402 .
  • Data to be controlled by voice commands is then retrieved from the mobile device. See operation 404 .
  • the data may include music, contacts, and other data.
  • Tags are then generated, based on the data. See operation 406 . Once the tags are generated, it is determined whether a trigger signal is received. See operation 408 .
  • the trigger signal may be initiated by a button on a vehicular consol, steering wheel, or a key word or phrase used for triggering.
  • the utterance may be a command from a user.
  • the utterance may be an inquiry from the user. If an utterance is received, the utterance is compared against the tags. See operation 412 .
  • the determination may be based on a threshold.
  • This threshold may be a pre-established threshold based on a error tolerance, for example.
  • the verification may include outputting an audible inquiry.
  • the audible inquiry may include a closest matched tag to the utterance.
  • the verification may occur multiple times, with every subsequent inquiry including the next closest match to the utterance.
  • the number of verifications may be user configurable.
  • the command is confirmed and executed. See operations 420 - 422 . For example, if the utterance included a command “Call BOB,” the utterance would be compared against tags to determine if a tag corresponds to “BOB,” and if it does, the call command would be confirmed and BOB would be called.
  • FIG. 5A shows a method 500 for voice-enabled access to mobile device data, in accordance with one embodiment.
  • the method 500 may be implemented in the context of the architecture and environment of FIGS. 1-4 . Of course, however, the method 500 may be carried out in any desired environment.
  • data from a mobile device is received utilizing a vehicular assembly. See operation 502 .
  • the data includes at least one of electronic message data, calendar data, and bookmark data.
  • the data may further include data relating to stocks (e.g. a stock symbol, saved stock quotes, etc.), recent call data, ring tone data, photos, notes, email configurations, etc.
  • the vehicular assembly may include any interface for receiving data from the mobile device, along with processing/computing devices, displays, memory, software, and various other functionality.
  • the vehicle assembly may include any computer system (e.g. a communication and entertainment system, navigation system, etc.) corresponding to the vehicle.
  • the data may be received over a wireless channel (e.g. Bluetooth, etc.) or a wired channel (e.g. a USB channel, etc.).
  • the data may be retrieved from the mobile device in response to an initial communication of the mobile device and the vehicular assembly. For example, upon establishing a connection between the mobile device and the vehicle, the data may be automatically retrieved from the mobile device.
  • a user may be prompted to authorize data transfer between the mobile device and the vehicle.
  • the initial communication between the mobile device and the vehicle may include a verification. For example, it may be verified that the mobile device is authorize to connect using the vehicular assembly.
  • all of the data on the mobile device may be received, or a subset of the data may be received.
  • a subset of the data may be received from the mobile device for generating the tags, to reduce a time required for initialization.
  • the subset of data to be received may include a pre-defined subset of data.
  • a user may have the ability to select data to be received. For example, the user may select categories of data to be received or individual data to be relieved.
  • this configuration may be a configuration stored on the mobile device. In another embodiment, this configuration may be a configuration stored in an on-board computer system of the vehicle.
  • the user may configure these settings using the on-board computer system of the vehicle, the mobile device, and/or another computer system to which the mobile device may be connected.
  • the configuration may include a default configuration setting defining data or data categories to be received.
  • only updated or recent data may be received.
  • the configuration may be set such that only data updated or stored on the mobile device since the communication between the vehicle's computer system and the mobile device is received.
  • the subset of the data may be selected based on a predetermined criteria selected by a user, based on previous use of the mobile device or vehicular assembly, and/or based on whether the data was previously received.
  • the predetermined criteria may be based on what functionality of a vehicle associated with the vehicular assembly supports.
  • the mobile device may include GPS functionality but the vehicle may not. In this case, the data associated with the GPS functionality may not be retrieved.
  • tags associated with the data are generated. See operation 504 .
  • tags refer to any keyword or term assigned to data.
  • the tags may be stored in the vehicular assembly.
  • the tags associated with a portion of the data other than the subset to be retrieved may be stored in the vehicular assembly.
  • the utterance may include any audible command or inquiry.
  • the utterance may include a command to dial a number, play music, send an email, send a text mail, access a calendar, etc.
  • the data may be provided in an audible form and/or a visual form.
  • the form in which the data is provided may depend on the command. In other cases, the form in which the data is provided may depend on user preferences.
  • an initialization time may be minimized.
  • the initialization time may correlate to the amount of tags to be generated.
  • time may be conserved that may otherwise be wasted on generating tags that may not necessarily be used by a user.
  • a first portion of data may be received from a mobile device utilizing a vehicular assembly. Subsequently, a first set of tags associated with the first portion of the data may be generated. An utterance may then be received, and while simultaneously providing access to the first portion of the data in response to the utterance utilizing the first set of tags, a second portion of data may be received from the mobile device utilizing the vehicular assembly, and a second set of tags associated with the second portion of the data may be generated. Thus, the second portion of the data may be received after the first set of tags associated with the first portion of the data are generated to minimize an initialization time associated with the first portion of the data.
  • a first set of tags may be generated for data corresponding to functionality that a user may desire to use immediately (e.g. music, contacts, etc.), such that access may be allowed the data. While accessing this data, or having the ability to access this data, other data not necessarily needed immediately (e.g. electronic message data, calendar data, bookmark data, etc.) may be retrieved and tags generated.
  • this segmented initialization may include one or more stages.
  • FIG. 5B shows a method 550 for synchronizing a mobile device and a vehicular assembly, in accordance with one embodiment.
  • the method 550 may be implemented in the context of the architecture and environment of FIGS. 1-5A . Of course, however, the method 550 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • a vehicular assembly is utilized to communicate with a mobile device. See operation 552 .
  • First data stored in the vehicular assembly is identified. See operation 554 .
  • second data stored in the mobile device in identified. See operation 556 . Further, the first data and the second data are synchronized. See operation 558 .
  • At least one of the first data and the second data may include favorite stations.
  • a user may have updated a favorite station list using the vehicular assembly or the mobile device.
  • the favorite station list of the mobile device and the vehicular assembly may be synchronized.
  • the favorite stations may be updated on the vehicular assembly by programming a new station.
  • the new station may be stored in the mobile device upon synchronization.
  • a new station may be configured on the mobile device. For example, using the mobile device, a user may configure a radio station to stream music to the device. This station information may then be stored in the vehicular assembly upon synchronization.
  • At least one of the first data and the second data may include includes digital media.
  • the digital media may include music or video.
  • music stored on the mobile device may updated by purchasing or uploading music to the mobile device using another computer system.
  • the data stored utilizing the vehicular assembly may be updated with the new music.
  • the first data and the second data may include contact information.
  • the content information may include a name, phone number, and home address, a business address, an email address, etc.
  • the first data and the second data may include points-of-interest.
  • points-of-interest refer to points corresponding to coordinates (e.g. GPS coordinates, map coordinates, etc.) that have been defined as a point-of interest.
  • the points-of-interest may be user defined points of interest.
  • a user may define a point of interest utilizing a navigational system corresponding to the vehicle or the vehicle assembly. Upon connecting to the mobile device, the point-of interest may be updated and stored on the mobile device. As another example, the user may define a point-of-interest using the mobile device. Upon connecting to the mobile device, the point-of interest may be updated and stored on the vehicular assembly.
  • At least one of the first and the second data may include software.
  • a software application may be installed on the mobile device. Upon connecting to the vehicular assembly, the software application may be installed on the vehicular assembly.
  • At least one of the first and the second data may include a software patch or update.
  • the mobile device may upload a software patch of update via a wireless connection or via a connection with another computer system.
  • the software patch or update may be stored on the vehicular assembly system. Subsequently, the software patch or update may be installed.
  • the software patch or update may correspond to an operating system of the vehicular assembly.
  • synchronizing the data may allow the operating system of the vehicular assembly to be updated via the mobile device.
  • the software, software patch, or software update may include antivirus software, updates, or patches.
  • At least one of the first and the second data may include information corresponding to the vehicular assembly.
  • the information may include hardware information, software information, revision information, version information, operating system information, etc. As an option, this information may be utilized by the mobile device to obtain software updates for the vehicular assembly.
  • a first subset of at least one of the first data and the second data that has already been synchronized may be determined. Subsequently, only a second subset of at least one of the first data and the second data that has not already been synchronized may then be synchronized. This may allow for a more efficient synchronization process because processing power and time may be allocated to data that has not been synchronized.
  • FIG. 6 shows a method 600 for voice-enabled access to mobile device data, in accordance with another embodiment.
  • the method 600 may be implemented in the context of the architecture and environment of FIGS. 1-5B .
  • the method 600 may be carried out in any desired environment. Again, the aforementioned definitions may apply during the present description.
  • a connection is made with a mobile device. See operation 602 . Once a connection has been made, predetermined criteria is identified that may be used to select a subset of data to be received from the mobile device for generating tags. See operation 604 .
  • the predetermined criteria may be based on previous use of the mobile device or vehicular assembly, whether the data was previously received, what functionality of a vehicle associated with the vehicular assembly supports, and/or any other user or automatically defined criteria.
  • a subset of data to be retrieved from the mobile device is identified based on the criteria. See operation 606 . Only the identified subset of data is retrieved. See operation 608 . Tags are then generated for only the retrieved subset of data. See operation 610 . Subsequently, voice enabled access is allowed to all data with corresponding tags. See operation 612 .
  • FIG. 7 shows a diagram 700 showing data that is to be received by a vehicular assembly over a period of time, in accordance with one embodiment.
  • the method 700 may be implemented in the context of the architecture and environment of FIGS. 1-6 . Of course, however, the method 700 may be carried out in any desired environment. Again, the aforementioned definitions may apply during the present description.
  • the first time a mobile device is connected to a vehicular assembly (e.g. through a wireless or wired connection), all data that is selected to be received by or synchronized with the vehicular assembly is received by the vehicular assembly and tags are generated.
  • the next time the mobile device is connected to the vehicular assembly not all of the data needs to be received by the vehicular assembly because tags have already been generated and stored from the first time the mobile device was connected.
  • tags have already been generated and stored from the first time the mobile device was connected.
  • the data to be received may be based on criteria determining a subset of data to be received, as mentioned above.
  • the vehicular assembly may generate tags for such data and store the tags with any previously generated tags.
  • the same sequence of events may occur, such that only new or updated data on the mobile device is received for tag generation.
  • FIG. 7 is described in the context of tag generation, a similar sequence of events may occur for data synchronization between the mobile device and the vehicular assembly. For example, once connected, only new or updated data on the mobile device or the vehicular assembly may be synchronized. In one embodiments, data to be received for tag generation and/or data to be synchronized between the device and the vehicular assembly may be marked with a flag. In another embodiment, a time stamp may be utilized to determine whether data is to be received for tag generation and/or data to be synchronized between the device and the vehicular assembly. In this way, an overall initialization time may be minimized when initializing a mobile device and/or the vehicular assembly such that voice-enabled access to mobile device data may be enabled.
  • a communication channel of the mobile device may be utilized by the vehicular assembly to perform at least one vehicular assembly function.
  • FIG. 8A shows a method 800 for utilizing a communication channel of a mobile device by a vehicular assembly, in accordance with one embodiment.
  • the method 800 may be implemented in the context of the architecture and environment of FIGS. 1-7 .
  • the method 800 may be carried out in any desired environment. Again, the aforementioned definitions may apply during the present description.
  • a vehicular assembly communicates with a mobile device having a wireless communication channel (e.g. a broadband wireless channel, a cellular wireless channel, etc.). See operation 802 . Additionally, at least one vehicular assembly function is performed utilizing the wireless communication channel of the mobile device. See operation 804 . In various embodiments, the communication between the mobile device and the vehicular assembly may be wired or wireless.
  • a wireless communication channel e.g. a broadband wireless channel, a cellular wireless channel, etc.
  • a vehicular assembly function refers to any function capable of being performed by the vehicular assembly.
  • the vehicular assembly function may include a navigation function.
  • the vehicular assembly may include a navigational system or an interface to a navigational system.
  • data including updated traffic data and/or updated roadway data may be received over the wireless communication channel.
  • a navigation function may then use this data to route or reroute a path for the vehicle.
  • the navigational information may be displayed to a user. In this way, the at least one vehicular assembly function may utilize data received over the wireless communication channel.
  • the vehicular assembly function may utilize GPS data received by the vehicular assembly and/or the mobile device.
  • the vehicle assembly may receive GPS data for a particular location and utilize the mobile device to determine more information about this location.
  • a user may use navigational functionality of the vehicular assembly to find GPS coordinates for a business.
  • the wireless connection of the mobile device may then be utilized to access information relating to the business such that the information may be displayed using a display associated with the vehicular assembly.
  • the vehicular assembly function may include a communication function between a local person and a remote person.
  • the vehicular assembly may include a communication system.
  • social network data or other contact data may be received by the mobile device. This data may be used by the communication function to be performed utilizing the wireless communication channel of the mobile device.
  • the vehicular assembly function may include a display function.
  • digital media data may be received over the wireless communication channel of the mobile device. This digital media may be displayed on a display associated with the vehicular assembly.
  • data received from the wireless communication channel of the mobile device may be streamed directly to the display.
  • the content may be stored in the vehicular assembly and then displayed using the display.
  • the vehicular assembly function may include an audible function.
  • audio data may be received over the wireless communication channel of the mobile device. This audio data may be played on an audio system associated with the vehicular assembly.
  • audio data received from the wireless communication channel of the mobile device may be streamed directly to the audio system.
  • the audio data may be stored in the vehicular assembly and then output using the audio system.
  • social network data may be received over the wireless communication channel.
  • the social networking data may include a location of one of more contacts (e.g. GPS coordinates, an address, a business name, etc.), a traveling speed of one or more contacts, and a destination of one or more contacts, etc.
  • the contacts may be predetermined people stored in a contact list of the mobile device for example.
  • This social networking data may be configured to automatically update or to be manually updated using the mobile device. For example, a mobile device of a first user may query a mobile device of a second user for the social networking data. The mobile device of the second user may then supply the requested information. As another option, the first user may manually query the second user for the social networking data using the mobile device (e.g. via a text message, etc.).
  • the vehicular assembly may utilize the social networking data received. For example, the vehicular assembly may automatically update a navigational system corresponding to the vehicular assembly with the social networking data. In one embodiment, the vehicular assembly may use this social networking data to calculate a route. As an option, this route may be calculated automatically. In one embodiment, a user may be prompted to verify the route calculation before the route is calculated.
  • the data received by the mobile device utilizing the wireless communication channel may either be automatically provided or a user may request the data.
  • the mobile device and/or the vehicular assembly may be configured to automatically query for the data.
  • the query may be a periodic query.
  • the data may be provided automatically as streaming content to the mobile device.
  • a user may manually request the data.
  • the user may request the data utilizing the mobile device or the vehicular assembly.
  • a text message may include the request.
  • the user may use a voice command directed towards the vehicular assembly or the mobile device.
  • speech recognition software may be utilized to recognize the command an initiate the manual request.
  • voice-to-text functionality may be utilized to issue the request. In this way, the user may use functionality associated with the vehicular assembly to request the data.
  • the mobile device may be utilized as a platform to execute software to provide functionality via a vehicular assembly.
  • FIG. 8B shows a method 850 for utilizing a mobile device as a platform to execute software to provide functionality via a vehicular assembly, in accordance with one embodiment.
  • the method 850 may be implemented in the context of the architecture and environment of FIGS. 1-8A . Of course, however, the method 850 may be carried out in any desired environment. The aforementioned definitions may apply during the present description.
  • a mobile device is used to communicate with a vehicular assembly. See operation 852 .
  • an application program is executed, utilizing the mobile device. See operation 854 .
  • user input to the application program is received via the vehicular assembly. See operation 856 .
  • functionality of the application program is outputted via the vehicular assembly, based on the input. See operation 858 .
  • the application program may include any software application capable of being executed utilizing the mobile device.
  • the application program may include a media player application.
  • the media player application may include an on-line radio station, an on-line video station (e.g. an on-line news station, an on-line TV station, etc.), a digital video player, a digital audio player, etc.
  • the application may include a finance related application (e.g. stocks, etc.), a web browser, a map application, a calendar application, a picture viewing application, a weather application, and/or any other application.
  • the application program may be operable to interface with an on-line application program via a network for outputting the functionality.
  • the user input may select one of a plurality of the application programs to execute.
  • the user input may control the application program.
  • the user input may be received by a microphone of the vehicular assembly.
  • the user may issue a voice command to execute a particular application on the mobile device.
  • the user input may be received by a touch screen of the vehicular assembly.
  • icons or text may be displayed on the touch screen that correspond to applications on the mobile device.
  • the touch screen may display a mirror image of what is displayed on the mobile device. The user may then use this touch screen to control the applications and/or the mobile device.
  • the user input may be received by a steering wheel control of the vehicular assembly.
  • the user may input a command to select and/or control an application of the mobile device using button on the steering wheel control.
  • results of this selection and/or control may be displayed on a display of the vehicular assembly.
  • the functionality may be outputted via different devices of the vehicular assembly.
  • the functionality of the application program includes audio functionality (e.g. for a streaming audio application, etc.)
  • the functionality may be outputted by a speaker of the vehicular assembly.
  • the functionality of the application program includes visual data functionality (e.g. text, video, images, icons, etc.)
  • the functionality may be outputted by a screen of the vehicular assembly.
  • the application program may interface with a navigation system of the vehicular assembly.
  • the application program may include navigational software capable of interfacing with the navigational system.
  • the navigational software may include maps, GPS coordinates for locations, etc.
  • the application program may include social networking software capable of providing location information, destination information, travel speed information, etc., for contacts.
  • the social networking software may provide the navigational system with this information such that the navigation system may create routes, points-of-interest, calculate distances, etc.
  • the functionality of the application program outputted via the vehicular assembly may be related to a navigation of a vehicle of which the vehicle assembly is a component.
  • the application program may supply road condition information, traffic condition information, weather information, and/or other information to the navigation system of the vehicle.
  • the mobile device may include a GPS system capable of supplying GPS coordinates and other navigational information to the vehicular assembly.
  • the functionality of the application program outputted via the vehicular assembly may be related to a presentation of digital media in a vehicle of which the vehicle assembly is a component.
  • the functionality may be any functionality that may be output visually using a display, or audibly using speakers.
  • the functionality of the application program outputted via the vehicular assembly may be related to a communication between a user of a vehicle of which the vehicle assembly is a component and a remote entity.
  • the functionally may include a text messaging functionality, an email functionality, and a direct communication functionality, etc. that is capable of communicating with a remote entity (e.g. an individual, business, etc.).
  • the communication functionality may include a textual communication and vocal communication. This communication functionality may be implemented and output using the vehicular assembly.
  • the application program may receive updates utilizing a communication channel of the mobile device. For example, a user of the mobile device may be prompted to receive any available updates to the application program. As another option, the updates may be received automatically without user interaction.
  • the application program may be installed on the vehicular assembly utilizing the mobile device. For example, during a data synchronization process, a user may be prompted to install the application program on the vehicular assembly.
  • the application program may include a program for modifying characteristics of the vehicle assembly.
  • the characteristics of the vehicle assembly may include sounds associated with the vehicle assembly.
  • the sounds may include a voice used by the vehicle assembly to convey information to a user, ring tones used by the vehicle assembly, chimes and chirps used by the vehicle assembly, etc.
  • the characteristics of the vehicle assembly may include visual objects associated with the vehicle assembly.
  • the visual objects may include screen savers, wall paper for displays, icons, text formats, fonts, display characteristics, etc.
  • the vehicular assembly may include a standardized application program interface for allowing access thereto by a plurality of diverse application program developers. In this way, a versatile interface may be provided such that any application on the mobile device may be access and operated utilizing the vehicular assembly.
  • FIG. 8C shows a method 875 for navigating a network, in accordance with one embodiment.
  • the method 875 may be implemented in the context of the architecture and environment of FIGS. 1-8B .
  • the method 875 may be carried out in any desired environment. The aforementioned definitions may apply during the present description.
  • an utterance is received utilizing a vehicular assembly. See operation 877 . Additionally, a bookmark is selected, based on the utterance. See operation 879 . Further, Internet content associated with the bookmark is retrieved. See operation 881 .
  • a bookmark may include any pointer or link to a web page or other Internet content.
  • the bookmarks may include pre-defined bookmarks.
  • the bookmarks may be user configurable.
  • the Internet content may be any type of content accessible utilizing a bookmark. Furthermore, the Internet content may be output utilizing the vehicular assembly. In one embodiment, the content may be converted from speech-to-text. For example, the content may include one of audio news content, audio weather content, audio traffic information, audio from a user, etc. In these cases, the content may be displayed on a screen of the vehicular assembly.
  • the Internet content may also include any digital media such as streaming music, video, fictional, or non-fictional content.
  • the fictional content may include an online fictional book.
  • the non-fictional content may include content such as news, weather, road information, or any other non-fictional content.
  • the content may be converted from text-to-speech.
  • the content may include any web pages including text that are accessible using a bookmark.
  • the content may be output to an audio system associated with the vehicular assembly.
  • the vehicular assembly may be capable of communicating with a mobile device.
  • the bookmark may be received from the mobile device for generating a voice tag to compare with the utterance.
  • the Internet content may then be retrieved utilizing a communication channel of the mobile device.
  • the mobile device may include a plurality of bookmarks that are accessible utilizing the vehicular assembly.
  • the mobile device may include a group of bookmarks (e.g. a folder of bookmarks, etc.) for use with the vehicular assembly.
  • the bookmarks that are accessible utilizing the vehicular assembly may be user configurable. In this case, some bookmarks stored on the mobile device may be selected to be inaccessible from the vehicular assembly.
  • the bookmarks accessible to the vehicular assembly may be uploaded to the vehicular assembly and/or displayed to a user.
  • functionality may be provided in conjunction with the Internet content.
  • the functionality may include navigation functionality such as GPS functionality, mapping functionality, etc.
  • the functionality may include address lookup and/or telephone number lookup functionality.
  • the functionality may be provided by way of an on-line application.
  • the on-line application may include a navigational application.
  • the online application may include a database application. More information regarding online applications may be found in provisional U.S. Patent Application Ser. No. 61/022,235, titled “Mobile System, Method, And Computer Program Product For Executing An Online Application On A Mobile Device,” which is incorporated herein by reference in its entirety.
  • the Internet content may be conditionally displayed utilizing the vehicular assembly, based on movement of a vehicle of which the vehicular assembly is a component.
  • a navigational application may be displayed when the vehicle is moving whereas a media player application and streaming digital contact is displayed when the vehicle in not in motion.
  • images stored on a mobile device or in an online database may be displayed utilizing the vehicular assembly.
  • one or more of the images may be utilized as wallpaper for a display of the vehicular assembly.
  • the images may be sequenced as a slide show.
  • an online application accessed utilizing the mobile device may be utilized to create a slide show utilizing the stored images.
  • the online application may utilize streaming audio to create the slide show.
  • images may be sequenced while music is being played utilizing the vehicular assembly.
  • a touch screen display associated with the vehicular assembly may be utilized to select or deselect images that are displayed. In this way, a user may manually sequence through the images and also configure a slide show for automatic sequencing.
  • authentication information may be needed to access Internet content associated with a bookmark.
  • a user name and password may be automatically sent to a server in conjunction with retrieving the Internet content.
  • a plug-in may be utilized to automatically send the user name and password.
  • the plug-in may be a plug-in associated with a web browser corresponding to a mobile device that is connected to the vehicular assembly.
  • FIG. 9A shows a method 900 for utilizing a communication channel of a mobile device by a vehicular assembly, in accordance with another embodiment.
  • the method 900 may be implemented in the context of the architecture and environment of FIGS. 1-8C .
  • the method 900 may be carried out in any desired environment.
  • the aforementioned definitions may apply during the present description.
  • the command utterance may include a play command, a find command, a stop command, a start command, or any other command.
  • the command may include a command to access a bookmark.
  • a request for data is generated. See operation 904 . Once the request for data is generated, the request is sent to a mobile device that is in communication with the vehicular assembly. See operation 906 .
  • the request may include a name of a bookmark.
  • the request may be utilized to determine a bookmark to be utilized.
  • the request may include a key word that may be utilized to determine a bookmark.
  • the command utterance may be parsed to determine a key word for selecting a bookmark.
  • the mobile device may utilize the bookmark to connect to a web page to retrieve Internet content associated with the request.
  • the data is sent to the vehicular assembly. See operation 910 .
  • the data may be sent to the vehicular assembly by the mobile device utilizing a hard-wire connection or a wireless connection between the mobile device and the vehicular assembly.
  • the data may be output to a user.
  • FIG. 9B shows a system 950 for utilizing a communication channel of a mobile device by a vehicular assembly, in accordance with another embodiment.
  • the system 950 may be implemented in the context of the architecture and environment of FIGS. 1-9A .
  • the system 950 may be implemented in any desired environment. The aforementioned definitions may apply during the present description.
  • a mobile device may be in communication with a vehicular assembly.
  • the mobile device may include a communication channel 952 for communicating with servers, online applications, and other devices.
  • the mobile device may include a platform 954 capable of providing access to one or more application programs 956 .
  • the application programs 956 may be stored locally on the mobile device, on the vehicular assembly, or in a networked database.
  • Components of the vehicular assembly may interface with the mobile device through an API such that the vehicular assembly may access application programs, software, data, and functionality corresponding to the mobile device.
  • any data and functionality associated with the mobile device may be accessed utilizing the vehicular assembly.
  • contact information from a mobile device may be incorporated into a points-of-interest database of a vehicular assembly.
  • FIG. 10A shows a method 1000 for incorporating contacts from a mobile device into a points-of-interest database of a vehicular assembly, in accordance with one embodiment.
  • the method 1000 may be implemented in the context of the architecture and environment of FIGS. 1-9B .
  • the method 1000 may be carried out in any desired environment.
  • the aforementioned definitions may apply during the present description.
  • a vehicular assembly is utilized to communicate with a mobile device. See operation 1002 .
  • Contacts data is received from the mobile device at the vehicular assembly. See operation 1004 .
  • the contacts data is displayed utilizing the vehicular assembly. See operation 1006 .
  • contacts data refers to any information corresponding to a contact or other identified entity.
  • the contact data may include current location information of a contact, previous location information of a contact, future location information of a contact, destination information of a contact, travel speed information of a contact, an estimated time of arrival (ETA) of a contact, communication information of a contact, and/or any other contact data corresponding to a contact.
  • ETA estimated time of arrival
  • the contacts data may be received from the mobile device in response to an initial communication between the mobile device and the vehicular assembly.
  • only a subset of the contacts data may be received from the mobile device for generating the tags, to reduce a time required for initialization.
  • the subset of the data may be selected based on a predetermined criteria, selected by a user, based on previous use of the mobile device or vehicular assembly, and/or based on whether the data was previously received.
  • communication may be initiated with at least one contact utilizing the vehicular assembly.
  • the communication may include textual communication or voice communication.
  • the communication with the at least one contact may be initiated by selecting the displayed contacts information for the at least one contact.
  • the contacts information may be displayed using a display including a touch screen interface. A user may touch the displayed contacts information to initiate communication with a contact.
  • the communication with the at least one contact may be initiated utilizing an oral command.
  • the oral command may include a command to call or text a contact.
  • the contacts data may be incorporated into a point-of-interest database of the vehicular assembly.
  • the vehicular assembly may include a navigation system including a database with one or more points-of-interest.
  • the contacts data may be incorporated into this point-of-interest database such that the navigation system may utilize the contacts data.
  • a route may be determined between a current location of a vehicle associated with the vehicular assembly and at least one contact represented by the point-of-interest database. This information and other information associated with at least one contact represented by the point-of-interest database may be presented utilizing the vehicular assembly.
  • the information displayed may include a permanent location of the at least one contact, a current location of the at least one contact, a picture of the at least one contact, a destination of the at least one contact, an ETA to a destination, travel statistics of the at least one contact, and any other information relating to the at least one contact.
  • the contacts data may include static and/or dynamic data.
  • the contacts data may be periodically supplied to the mobile device.
  • the contacts data may be periodically supplied by one or more contacts and/or a third party service capable of supplying the contacts information.
  • the mobile device may periodically query one or more contacts or a third party service for the contacts information. In this way, the contacts information may be provided in real-time, near real-time, automatically, or manually.
  • contacts information including GPS coordinates for a first contact may retrieved by the mobile device.
  • the GPS coordinates may be utilized to track the first contact.
  • the first contact may be tracked and the tracking may be displayed utilizing the vehicular assembly.
  • a picture of the first contact may be displayed as part of the tracking.
  • a user may select the picture of the first contact by touching the picture on a touch screen display, for example.
  • the vehicular assembly may be utilized for social networking.
  • FIG. 10B shows a method 1050 for social networking utilizing a vehicular assembly, in accordance with one embodiment.
  • the method 1050 may be implemented in the context of the architecture and environment of FIGS. 1-10A .
  • the method 1050 may be carried out in any desired environment. The aforementioned definitions may apply during the present description.
  • a vehicular assembly is utilized to communicate with a mobile device. See operation 1052 .
  • Information about social contacts is received, utilizing the mobile device. See operation 1054 . Further, the information about social contacts is displayed, utilizing the vehicular assembly. See operation 1056 .
  • social contacts refer to any contacts that are determined to be contacts associated with social activity.
  • a user may define a contact as a social contact as opposed to a business contact.
  • social contacts may be any contact saved as a group or in a folder including primarily social contacts.
  • a user may configure a contact to be a social contact (e.g. by selecting a “social contact” select box, etc.).
  • a contact may be determined to be a social contact automatically based on criteria for defining a social contact.
  • criteria may include a frequency of interaction with the contact (e.g. a number of communication instances, etc.), a duration or average duration of interactions, a method of communication (e.g. email, text messaging, instant messaging, telephone or other voice communication, etc.), a formality of the communication (e.g. based on a spelling and/or grammar check, etc.), and/or various other criteria.
  • the information about the social contact may include any information relating to a contact, a device used by the contact, a location of the contact, a destination of a contact, movement or travel information and/or statistics of a contact, and/or any other information associated with the contact.
  • the information may include a status of the social contacts.
  • the status may include at least one of available and unavailable, where available indicates that the contact is available for communication and unavailable indicates that the client is not available for communication.
  • the status of the social contacts may be indicated by an icon, text, pictures, and various other indicators.
  • the information may include which of a plurality of contacts is in at least one location.
  • the at least one location may include a vehicle.
  • the information may indicate which contacts are in the vehicle.
  • a location of the vehicle may be displayed on a map.
  • the vehicle may be displayed as a vehicle icon.
  • the location of the vehicle on the map may be updated in real-time or near real-time, utilizing location information received through the communication channel of the mobile device. As noted above, this information may be provided manually or automatically.
  • the vehicle may be displayed on the map with identifiers identifying each of the plurality of contacts.
  • the identifiers may include pictures, text (e.g. names, etc.), icons, and/or various other identifiers.
  • the information of which contacts are in the vehicle may be provided by mobile devices from each of the contacts.
  • a mobile device such as a cell phone, may provide location information (e.g. GPS coordinates, etc.) to a user. This location information may be provided to the vehicular assembly and may be used by the mobile device or the vehicular assembly to determine whether the contact is located in the vehicle.
  • a contact may use a vehicular assembly or a mobile device associated with the contact to provide the information indicating the location of the contact.
  • a display of a vehicular assembly of the vehicle in which the contact is located may provide the contact with an interface for indicating that the contact is in the vehicle. Once the contact provides this location information, the information may be communicated to the mobile device of the user seeking the location information.
  • the information may include which of a plurality of contacts is in at least one location, where the at least one location includes a point-of-interest.
  • the point-of-interest may include any point-of-interest such as a restaurant, bar, club, park, or any other point-of-interest.
  • the point-of-interest may be displayed on the map.
  • an icon, picture, and/or text associated with at least one of the social contacts at the point-of-interest may also be displayed.
  • the location information of the at least one contact may be provided manually or automatically by a mobile device of the contact, a vehicular assembly of the contact, or third party service capable of providing such information.
  • location information for each contact may be updated on the map in real-time or near real-time.
  • the updating may be configured by a user, a social contact, and/or a third party service. Accordingly, a picture or icon corresponding to each social contact may change positions on the displayed map, based on an actual location of the social contact.
  • a user may communicate with a social contact in response to a selection of the icon or other item representing the social contact on the map.
  • a user may be given the option of voice communication or textual communication with the social contact.
  • additional information corresponding to at least one social contact may be displayed, in response to selection of the icon or other item.
  • the other information may include GPS coordinates, destination information, an ETA, a message from the social contact, a number of the social contact, a nickname of the social contact, a past location of the social contact, a status of the social contact, a mood of the social contact, media being played by a social contact, media recommendations of the social contact, and/or various other information.
  • instant communication options may be provided in response to selection of the icon or other item. For example, upon selection of the icon, a user may be presented with an option to update the contact associated with that icon with information such as an automatically provided ETA (e.g. calculated by the vehicular assembly or the mobile device, etc.), a status, predefined text messages, and other information.
  • an automatically provided ETA e.g. calculated by the vehicular assembly or the mobile device, etc.
  • a status e.g. calculated by the vehicular assembly or the mobile device, etc.
  • driving directions may be provided to a location of the at least one social contact, in response to a selection of the icon.
  • a navigation system associated with the vehicular assembly or the mobile device may calculate driving directions to the social contact.
  • the navigation system may utilize GPS coordinates to calculate the directions.
  • the GPS coordinates may include coordinates associated with a mobile device of the social contact and/or a location of the social contact (e.g. coordinates of a vehicle, point-of-interest, etc.).
  • At least one point-of-interest between a current location and a location of at least one social contact may be displayed, in response to selection of the icon. For example, upon selection of the icon, a point-of-interest between a location of the user who selected the icon and the location of the social contact associated with the icon may be determined and displayed. In this way, a meeting point may be established between the social contact and the user.
  • the user may have the ability to select a type of point-of-interest to be displayed. For example, the user may select that a restaurant, a gas station, a bar, or other point-of-interest is the point-of-interest to be displayed. As an option, all available points-of-interest may be displayed.
  • selecting the point-of-interest between the user and the social contact may provide the social contact with selected point-of-interest. For example, upon selecting a meeting point using a display of the vehicular assembly, the vehicular assembly may communicate the selection to the mobile device such that the mobile device may use the communication channel to provide a mobile device of the social contact with the selection. As an option, a display associated with a vehicular assembly of the social contact may then automatically display the selection.
  • the social contact may select a meeting point and the selection may be communicated to the mobile device of the user.
  • the mobile device of the user may then communicate this selection to the vehicular assembly of the user such that a display is automatically updated with the selection.
  • driving directions may be provided to the point-of-interest if requested.
  • the user may select the point-of-interest selected by the social contact (or any point of interest between the user and the social contact), and driving directions to the point-of-interest may be provided (e.g. based on coordinates of a current user location and the coordinates of the point-of-interest, etc.).
  • FIG. 11 shows a method 1100 for social networking utilizing a vehicular assembly, in accordance with one embodiment.
  • the method 1100 may be implemented in the context of the architecture and environment of FIGS. 1-10B .
  • the method 1100 may be carried out in any desired environment. Again, the aforementioned definitions may apply during the present description.
  • a vehicular assembly makes a connection with a mobile device. See operation 1102 . Once a connection is made, contact information is retrieved from the mobile device. See operation 1104 .
  • the contact information may include all contact information or all new contact information stored on the device. In another embodiment, the contact information may include only a subset of contact information that is determined to be retrieved from the mobile device. For example, the mobile device may include a folder indicating contacts to be retrieved.
  • the contact information is displayed utilizing the vehicular assembly. See operation 1106 .
  • the contact information may be displayed as a list.
  • the contact information may be displayed on a map.
  • the contact information may be displayed utilizing a drop-down or pop-up list that is displayed by selecting an icon, picture, or text, associated with the contact.
  • incorporating the contacts in the points-of-interest database may include utilizing the contact information to determine or display a location of the contact. In one embodiment, incorporating the contacts into the points-of-interest database may be performed automatically.
  • incorporating the contacts into the points-of-interest database may include listing contacts whose location information is to be displayed and listing contacts whose location information is to be updated.
  • the contacts may be treated as dynamic or static points-of-interest that may be utilized with a navigation system corresponding to the vehicular assembly. See operation 1112 . In this way, a location of the contacts may be monitored on a display of the vehicular assembly.
  • location information for the contacts may be updated dynamically. Thus, in parallel with communication and navigational functionality, it is determined whether any update to a contact location is received. See operation 1118 . If updated location information is received, the contact location is updated in the points-of-interest database and/or on the display of the vehicular assembly. See operation 1120 .
  • FIG. 12 shows an interface 1200 for adding contacts to be displayed on a vehicular assembly, in accordance with one embodiment.
  • the interface 1200 may be implemented in the context of the architecture and environment of FIGS. 1-11 .
  • the interface 1200 may be implemented in any desired environment.
  • the aforementioned definitions may apply during the present description.
  • the interface 1200 may list a plurality of contacts.
  • the interface 1200 may be displayed on a mobile device of a user, on a vehicular assembly display, and/or on any other suitable display.
  • contacts of a user may be displayed using the interface 1200 such that a user may select to add the contact to a points-of-interest database.
  • the vehicular assembly may retrieve a list of contacts from the mobile device and display the contacts in a list on a display of the vehicular assembly. The user may then select “Add” to add the contact to a points-of-interest database.
  • contacts of a user may be displayed using the interface 1200 such that a user may select to retrieve certain contacts or contact information using the vehicular assembly.
  • the vehicular assembly may retrieve a list of contacts from the mobile device and display the contacts in a list on a display of the vehicular assembly. The user may then select “Add” to retrieve the contact information.
  • the interface 1200 may allow a user to edit contact information by selecting an “Edit” button.
  • the user may edit settings corresponding to location updates for the contact.
  • the user may also edit any other information associated with the contact.
  • the interface 1200 may be displayed using the mobile device such that a user may select which contacts to be retrieved by the vehicular assembly. Furthermore, the mobile device may be utilized to edit configuration settings associated with each contact.
  • FIG. 13 shows an interface 1300 for displaying a contact location, in accordance with one embodiment.
  • the interface 1300 may be implemented in the context of the architecture and environment of FIGS. 1-12 . Of course, however, the interface 1300 may be implemented in any desired environment. Again, the aforementioned definitions may apply during the present description.
  • a vehicle icon 1302 and other icons 1304 corresponding to points-of-interest may be displayed on a map using the interface 1300 .
  • Pictures 1306 or other indicators representing each contact selected to be displayed may be provided and displayed on the map, indicating a location of each contact. For example, one or more contacts are in a vehicle, a vehicle icon may be shown along with indicators for each contact in the vehicle.
  • each contact Upon selection of an indicator for the contacts, additional information for the selected contact may be displayed, such as a status, directions to the contact, etc. Furthermore, upon selection of the indicator, communication options may be displayed. In this way, each contact is a customized point-of-interest including various information relating to that contact.
  • a user may easily initiate communication with the contact by selecting a communication option associated with an icon, picture, or other symbol corresponding to the contact.
  • the communication option may include an instant messaging option.
  • FIG. 14A shows a method 1400 for instant messaging utilizing a vehicular assembly, in accordance with one embodiment.
  • the method 1400 may be implemented in the context of the architecture and environment of FIGS. 1-13 .
  • the method 1400 may be carried out in any desired environment.
  • the aforementioned definitions may apply during the present description.
  • a vehicular assembly is utilized to communicate with a mobile device. See operation 1402 . Additionally, an instant message is communicated with a remote entity via the vehicular assembly, utilizing the mobile device. See operation 1404 .
  • a remote entity refers to an individual, company, organization, or system capable of communicating, receiving, transmitting or generating an instant message.
  • the instant message may include any type of instant message.
  • the instant message may include a short messaging service message.
  • the instant message may include a multimedia messaging service message (e.g. images, audio, video, rich text, etc.).
  • the instant message may include text converted from speech received utilizing the vehicular assembly.
  • the instant message may include a voice message received utilizing the vehicular assembly.
  • the instant message may include a picture received utilizing the vehicular assembly.
  • the instant message may include navigation information received utilizing the vehicular assembly.
  • contact information associated with the instant message may be received from the mobile device.
  • the instant message may be transmitted utilizing a communication channel of the mobile device (e.g. a cellular channel, a broadband channel, etc.).
  • a plurality of messages may be received from the remote entity.
  • another subsequent instant message may be received from the remote entity via the vehicular assembly, utilizing the mobile device.
  • at least a portion of the instant message may be converted from text-to-speech.
  • a sender identifier of the instant message may be converted from text-to-speech.
  • a sender identifier of the instant message may be displayed utilizing a display of the vehicular assembly.
  • FIG. 14B shows a method 1450 for communicating location-related information, in accordance with one embodiment.
  • the method 1450 may be implemented in the context of the architecture and environment of FIGS. 1-14A .
  • the method 1450 may be carried out in any desired environment.
  • the aforementioned definitions may apply during the present description.
  • a vehicular assembly is utilized to communicate with a mobile device. See operation 1452 . Additionally, a location of a vehicle associated with the vehicular assembly is identified, utilizing the vehicular assembly. See operation 1454 . Furthermore, information based on the location is generated. Still yet, the information is communicated utilizing the mobile device. See operation 1456 .
  • the information may be generated utilizing the vehicular assembly or the mobile device. Additionally, as an option, the information may be communicated utilizing an instant messaging protocol.
  • a destination for a user of a vehicle associated with the vehicular assembly may be determined.
  • the information may be generated based on the location and the destination.
  • the information may be automatically generated and automatically transmitted.
  • the information may be automatically transmitted on a periodic basis.
  • the information may be automatically transmitted on a periodic basis until a destination is reached.
  • the information may include a variety of information based on the location.
  • the information may include an estimated time of arrival, a map, a link for accessing additional information via the Internet, a current location, an alert upon the arrival at a destination, and/or various other information.
  • a recipient of the information may automatically be identified based on a destination. In another embodiment, a recipient of the information may be identified utilizing a contact database of the mobile device.
  • a request for the information may be received and an acceptance from a user may be received.
  • the information may be generated and communicated, in response to response to the receipt of the acceptance.
  • FIG. 14C shows a method 1475 for voice controlled attachments, in accordance with one embodiment.
  • the method 1475 may be implemented in the context of the architecture and environment of FIGS. 1-14B .
  • the method 1475 may be carried out in any desired environment.
  • the aforementioned definitions may apply during the present description.
  • a vehicular assembly is utilized to communicate with a mobile device. See operation 1477 . Additionally, a message is generated. See operation 1479 . Further, an utterance is received, utilizing the vehicular assembly. See operation 1481 . Still yet, an attachment is attached to the message based on the utterance. See operation 1483 .
  • the message may include an e-mail, an instant message, a voice message, and/or any other type of message.
  • the voice message may be recorded utilizing the vehicular assembly.
  • the attachment may include various attachments such as a picture or navigation information, etc.
  • this navigation information may include a map.
  • the navigation information may be generated utilizing a navigation system of the vehicular assembly.
  • an utterance may specify a specific file to attach.
  • the attachment may identify or include digital media.
  • the digital media may include digital media being presented when the message is generated.
  • the message may be transmitted utilizing a communication channel of the mobile device. Additionally, a recipient of the message may be identified utilizing contact information stored on the mobile device. As an option, the receipt of the message may be automatically acknowledged.
  • FIG. 15 shows a method 1500 for voice controlled attachments and for communicating location-related information, in accordance with another embodiment.
  • the method 1500 may be implemented in the context of the architecture and environment of FIGS. 1-14C .
  • the method 1500 may be carried out in any desired environment.
  • the aforementioned definitions may apply during the present description.
  • FIG. 16A shows a method 1600 for voice controlled attachments, in accordance with another embodiment.
  • the method 1600 may be implemented in the context of the architecture and environment of FIGS. 1-15 .
  • the method 1600 may be carried out in any desired environment.
  • the aforementioned definitions may apply during the present description.
  • FIG. 16B shows a method 1650 for communicating location-related information, in accordance with another embodiment.
  • the method 1650 may be implemented in the context of the architecture and environment of FIGS. 1-16A .
  • the method 1650 may be carried out in any desired environment.
  • the aforementioned definitions may apply during the present description.
  • FIG. 17 shows an interface 1700 for communicating and displaying location-related information, in accordance with another embodiment.
  • the interface 1700 may be implemented in the context of the architecture and environment of FIGS. 1-16B .
  • the interface 1700 may be implemented in any desired environment. The aforementioned definitions may apply during the present description.
  • FIG. 18 shows a method 1800 for programmable mobile device controls, in accordance with one embodiment.
  • the method 1800 may be implemented in the context of the architecture and environment of FIGS. 1-17 .
  • the method 1800 may be carried out in any desired environment.
  • the aforementioned definitions may apply during the present description.
  • a vehicular assembly communicates with a mobile device. See operation 1802 . Additionally, an input is received from a user. See operation 1804 . Further, a control of a vehicular assembly that controls at least one aspect of the mobile device is configured, based on the input. See operation 1806 .
  • the input may be received using an interface of the mobile device or the vehicular assembly. In one embodiment, the input may be received utilizing a user interface of the mobile device. In another embodiment, the input may be received utilizing a touch screen of the vehicular assembly. In yet another embodiment, the input may be received utilizing a microphone of the vehicular assembly.
  • the control may include any control of the vehicular assembly that controls at least one aspect of the mobile device.
  • the control may include a steering wheel control, a button, a touch screen, etc.
  • the at least one aspect of the mobile device may include a variety of aspects including a control of an application program resident on the mobile device.
  • the application program may include a mail application, a contacts application, a calendar application, a network browser application, and/or any other application.
  • the at least aspect may be accessed by a single selection of the control.
  • the at least aspect may be accessed by a plurality of user actions utilizing a menu of the mobile device.
  • a current configuration of the control may be displayed on a display of a vehicular assembly.
  • the current configuration may be displayed by displaying a plurality of the controls and an associated current aspect of the mobile device that is thereby controlled.
  • a plurality of options may be displayed with a current configuration for changing the associated current aspect of the mobile device that is controlled by the controls.
  • FIG. 19 shows a method 1900 for programmable mobile device controls, in accordance with another embodiment.
  • the method 1900 may be implemented in the context of the architecture and environment of FIGS. 1-18 .
  • the method 1900 may be carried out in any desired environment.
  • the aforementioned definitions may apply during the present description.
  • FIG. 20 shows a system 2000 for programmable mobile device controls, in accordance with one embodiment.
  • the system 2000 may be implemented in the context of the architecture and environment of FIGS. 1-19 .
  • the system 2000 may be implemented in any desired environment.
  • the aforementioned definitions may apply during the present description.
  • FIG. 21 shows a method 2100 for providing enhanced passenger display functionality, in accordance with one embodiment.
  • the method 2100 may be implemented in the context of the architecture and environment of FIGS. 1-20 .
  • the method 2100 may be carried out in any desired environment.
  • the aforementioned definitions may apply during the present description.
  • a passenger display in a vehicle is controlled. See operation 2102 . Additionally, navigation information is received from a navigation system of the vehicle. See operation 2104 . Furthermore, the navigation information is displayed utilizing the passenger display. See operation 2106 .
  • the passenger display may be positioned on a rear face of a front seat of a vehicle, attached to a roof of the vehicle, and/or located in various other passenger accessible positions.
  • the passenger display may be controlled utilizing different devices.
  • the passenger display may be controllable by a central driver display. In this case, the navigation information may be selected utilizing the central driver display.
  • input may be received utilizing the passenger display.
  • information may be displayed on the central driver display, based on the input.
  • a passenger may recommend stopping points and/or preferences to a driver of a vehicle.
  • the navigation information may be selected utilizing the passenger display.
  • the navigation information may include various information such as information on points-of-interest.
  • the points-of-interest may include restaurants, locations that include a restroom, and various other information on points-of-interest.
  • the points-of-interest may be filtered.
  • the points-of-interest may be filtered based on at least one of point-of-interest type, distance from a current location, an estimated time of arrival from a current location, and a distance from a current route.
  • the navigation information may also include an estimated time of arrival.
  • the estimated time of arrival may be based on at least one of traffic conditions, current speed, and a distance from a destination.
  • FIG. 22 shows a method 2200 for providing enhanced passenger display functionality, in accordance with another embodiment.
  • the method 2200 may be implemented in the context of the architecture and environment of FIGS. 1-21 .
  • the method 2200 may be carried out in any desired environment.
  • the aforementioned definitions may apply during the present description.
  • FIG. 23 shows a system 2300 for providing enhanced passenger display functionality, in accordance with one embodiment.
  • the system 2300 may be implemented in the context of the architecture and environment of FIGS. 1-22 .
  • the system 2300 may be implemented in any desired environment.
  • the aforementioned definitions may apply during the present description.
  • FIG. 24 shows a method 2400 for community-based traffic condition information, in accordance with one embodiment.
  • the method 2400 may be implemented in the context of the architecture and environment of FIGS. 1-23 .
  • the method 2400 may be carried out in any desired environment.
  • the aforementioned definitions may apply during the present description.
  • a traffic condition of a vehicle is identified. See operation 2402 . Additionally, information associated with the traffic condition is transferred to a server over a network. See operation 2404 . Furthermore, community-based traffic condition data is received over the network. See operation 2406 .
  • the traffic condition may be identified based on a speed of the vehicle. In another embodiment, the traffic condition may be identified based on a progress of the vehicle along a predetermined route. In still another embodiment, the traffic condition may be identified based on stop and go activity of the vehicle.
  • the information associated with the traffic condition may be transferred and the community-based traffic condition data may be received via a communication channel of a mobile device in communication with a vehicular assembly associated with the vehicle.
  • the community-based traffic condition data may be periodically received.
  • the community-based traffic condition data may be based, at least in part, on information received from a plurality of vehicles (e.g. contacts vehicles, vehicles associated with an organization, etc.).
  • the community-based traffic condition data may include only a subset of community-based traffic condition data that is selected based on a route of the vehicle. In still another embodiment, the community-based traffic condition data may include only a subset of community-based traffic condition data that is selected based on at least one of a current location, a direction, and a speed of the vehicle.
  • the community-based traffic condition data may be based, at least in part, on information received from a traffic service.
  • the community-based traffic condition data may include statistics.
  • the statistics may include a number of vehicles that is associated with the community-based traffic condition data.
  • the community-based traffic condition data may include only a subset of community-based traffic condition data that is selected based on a route of the vehicle.
  • the information may be automatically transferred.
  • the information may be transferred in response to input by a user.
  • FIG. 25 shows a method 2500 for community-based traffic condition information, in accordance with another embodiment.
  • the method 2500 may be implemented in the context of the architecture and environment of FIGS. 1-24 .
  • the method 2500 may be carried out in any desired environment.
  • the aforementioned definitions may apply during the present description.
  • FIG. 26 shows a method 2600 for location based messaging, in accordance with one embodiment.
  • the method 2600 may be implemented in the context of the architecture and environment of FIGS. 1-25 .
  • the method 2600 may be carried out in any desired environment.
  • the aforementioned definitions may apply during the present description.
  • a message to be communicated to at least one recipient is received. See operation 2602 . Furthermore, the at least one recipient is selected from a plurality of recipient candidates, based on a current location of the recipient candidates. See operation 2604 .
  • the message may include an instant message, an e-mail and any other type of message.
  • the current location of the recipient candidates may be determined utilizing a global positioning system carried by the recipient candidates.
  • the current location of each recipient candidate may be received at a server, and the server may select the at least one recipient.
  • the recipient candidates may be identified utilizing a contact database.
  • the at least one recipient may be further selected from the plurality of recipient candidates, based on a current location of a sender of the message.
  • the at least one recipient may be selected from the plurality of recipient candidates, if the current location of the sender of the message is within a predetermined distance of the current location of the recipient candidate.
  • the at least one recipient may be selected from the plurality of recipient candidates, if a destination of the sender of the message is within a predetermined distance of the current location of the recipient candidate.
  • the selected at least one recipient may be displayed on a display.
  • the message may be sent to the at least one recipient, in response to a selection thereof by a sender of the message.
  • functionality associated with the present description may be carried out utilizing a vehicular assembly.
  • the vehicular assembly may include computer code to implement such functionality which is a component of the vehicular assembly.
  • the vehicular assembly may be operable to communicate with a mobile device.
  • the current location may be received and the message may be sent, utilizing a communication channel of the mobile device.
  • the current location of the recipient candidates may be displayed via a display of the vehicular assembly.
  • the selecting of the at least one recipient from a plurality of recipient candidates may be based on a destination of the recipient candidates.
  • FIG. 27 shows a method 2700 for location based messaging, in accordance with another embodiment.
  • the method 2700 may be implemented in the context of the architecture and environment of FIGS. 1-26 .
  • the method 2700 may be carried out in any desired environment.
  • the aforementioned definitions may apply during the present description.
  • FIG. 28 shows an interface 2800 for location based messaging, in accordance with one embodiment.
  • the interface 2800 may be implemented in the context of the architecture and environment of FIGS. 1-27 .
  • the interface 2800 may be implemented in any desired environment.
  • the aforementioned definitions may apply during the present description.
  • FIG. 29 shows a method 2900 for generating navigation information based on calendar information, in accordance with one embodiment.
  • the method 2900 may be implemented in the context of the architecture and environment of FIGS. 1-28 .
  • the method 2900 may be carried out in any desired environment.
  • the aforementioned definitions may apply during the present description.
  • calendar information is received utilizing a vehicular assembly. See operation 2902 . Additionally, driving directions are generated using the calendar information, utilizing the vehicular assembly. See operation 2904 . In one embodiment, the calendar information may be used to look-up a destination using a contacts database.
  • the calendar information may be received from a mobile device in communication with the vehicular assembly. Furthermore, the calendar information may be displayed utilizing the vehicular assembly.
  • an estimated time of arrival may also be generated.
  • the estimated time of arrival may be based on at least one of traffic conditions, current speed, and a distance from a destination.
  • the estimated time of arrival may be compared with a time included with the calendar information.
  • a status may be displayed utilizing the vehicular assembly based on the comparison. The status may indicate a difference between the estimated time of arrival and the time included with the calendar information.
  • a status may be communicated to a recipient based on the comparison. Furthermore, a user to may be prompted to communicate a status to a recipient based on the comparison of the estimated time of arrival and the time included with the calendar information.
  • the status may be communicated utilizing an instant message, an e-mail, voice message, and using other communication mechanisms.
  • the recipient may be identified utilizing the calendar information.
  • the status may be communicated utilizing a mobile device in communication with the vehicular assembly.
  • the status may be communicated utilizing a communication channel of the mobile device.
  • FIG. 30 shows a method 3000 for generating navigation information based on calendar information, in accordance with another embodiment.
  • the method 3000 may be implemented in the context of the architecture and environment of FIGS. 1-29 .
  • the method 3000 may be carried out in any desired environment.
  • the aforementioned definitions may apply during the present description.
  • FIG. 31 shows an interface 3100 for generating navigation information based on calendar information, in accordance with one embodiment.
  • the interface 3100 may be implemented in the context of the architecture and environment of FIGS. 1-30 .
  • the interface 3100 may be implemented in any desired environment. The aforementioned definitions may apply during the present description.
  • FIG. 32 shows a method 3200 for creating a map in association with an address, in accordance with one embodiment.
  • the method 3200 may be implemented in the context of the architecture and environment of FIGS. 1-31 .
  • the method 3200 may be carried out in any desired environment.
  • the aforementioned definitions may apply during the present description.
  • a selection of an address is received. See operation 3202 . Additionally, a selection of indicia in association with the selection of the address is received. See operation 3204 . As an option, the indicia may be displayed in response to a right-click operation. Further, navigation information is generated in response to the selection. See operation 3206 .
  • the address may be a component of a web page and the icon may be available during use of a network browser. In another embodiment, the address may be a component of an electronic message and the icon may be available during use of an electronic message browser. In still another embodiment, the address may be a component of a contact and the icon may be available during use of contact database application.
  • the navigation information may include a map including an identifier of a location of the address.
  • a current location may be identified (e.g. utilizing computer code associated with a navigation system, etc.). In this case, the current location may be pre-selected. Additionally, the current location may be determined utilizing a global positioning system.
  • the generated navigation information may include a variety of information such as driving directions from the current location to the address.
  • the driving directions may include a map.
  • the driving directions may include a list of directions.
  • the navigation information may be generated utilizing a navigation system of a vehicular assembly. In another embodiment, the navigation information may be generated utilizing a navigation system of a mobile device. As an option, the navigation information may be generated by automatically sending the address and a current location to a server, and receiving the navigation information in response. As another option, the navigation information may be generated by automatically sending the address to a server, and receiving the navigation information in response.
  • FIG. 33 shows an interface 3300 for creating a map in association with an address, in accordance with one embodiment.
  • the interface 3300 may be implemented in the context of the architecture and environment of FIGS. 1-32 .
  • the interface 3300 may be implemented in any desired environment.
  • the aforementioned definitions may apply during the present description.
  • FIG. 34 shows a method 3400 for selectively retrieving data from a mobile device in communication with a vehicular assembly, in accordance with one embodiment.
  • the method 3400 may be implemented in the context of the architecture and environment of FIGS. 1-33 .
  • the method 3400 may be carried out in any desired environment.
  • the aforementioned definitions may apply during the present description.
  • a mobile device in communication with a vehicular assembly of a vehicle is identified. See operation 3402 . Additionally, a data structure corresponding to the identified mobile device is selected, the data structure being stored in memory associated with an on-board computer system of the vehicle. See operation 3404 . Furthermore, data is selectively retrieved from the mobile device, based on the selected data structure. See operation 3406 . Still yet, tags associated with the data are generated. See operation 3408 .
  • the data structure may be one of a plurality of data structures stored in the memory.
  • each of the plurality of data structures may correspond to different mobile devices, where each of the different mobile devices may correspond to different users.
  • the plurality of data structures may include setting information. Further, the setting information may include the data to be selectively retrieved from the mobile device.
  • the setting information may be automatically configured. In another embodiment, the setting information may be automatically configured based on a previous history of use. In still another embodiment, the setting information may be manually configured. Additionally, the setting information may include a variety of information including user preferences.
  • FIG. 35 shows a system 3500 for accessing one or more online applications, in accordance with one embodiment.
  • a plurality of networks 3502 is provided.
  • the networks 3502 may each take any form including, but not limited to a local area network (LAN), a wireless network, a wide area network (WAN) such as the Internet, peer-to-peer network, etc.
  • LAN local area network
  • WAN wide area network
  • peer-to-peer network etc.
  • servers 3504 Coupled to the networks 3502 are servers 3504 , including one or more online software applications, which are capable of communicating over the networks 3502 . Also coupled to the networks 3502 and the servers 3504 is a plurality of clients 3506 . Such servers 3504 and/or clients 3506 may each include a desktop computer, lap-top computer, hand-held computer, mobile phone, personal digital assistant (PDA), peripheral (e.g. printer, etc.), any component of a computer, and/or any other type of logic. In order to facilitate communication among the networks 3502 , at least one gateway is optionally coupled therebetween.
  • FIG. 36 shows a representative environment 3600 that may be associated with the servers 3504 and/or clients 3506 of FIG. 35 , in accordance with one embodiment.
  • the environment 3600 may include software application logic 3602 , advertisement logic 3604 , and third party developer logic 3606 .
  • storage 3608 may also be provided such that documents may be stored. In some cases, these documents may include documents associated with online applications. Additionally, other storage may be provided for various other data such as user specific information 3610 .
  • FIG. 37 shows a method 3700 for linking a plurality of tags with a document, in accordance with one embodiment.
  • the present method 3700 may be implemented in the context of the functionality and architecture of FIGS. 35-36 .
  • the method 3700 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • an online document editor refers to any online editor used to generate or modify documents.
  • the online document editor may include, but is not limited to, WebOffice Document Manager, Zoho Writer, Google Docs, and/or any other document editor that meets the above definition.
  • the document generated may include any document capable of being generated with an editor.
  • the document may include a may include, but is not limited to, a text document, any word processor document (e.g. a Microsoft Word document, Microsoft Works document, etc.), a spreadsheet document (e.g. a .xls document, etc.), a presentation document (e.g. a .ppt document, etc.), a portable document format (PDF) file, a picture, a drawing, and/or any other document that meets the above definition.
  • any word processor document e.g. a Microsoft Word document, Microsoft Works document, etc.
  • a spreadsheet document e.g. a .xls document, etc.
  • a presentation document e.g. a .ppt document, etc.
  • PDF portable document format
  • a tag refers to any keyword, term, or phrase associated with or assigned to a piece of information (e.g. a picture, a geographic map, a blog entry, a video clip, or any document, etc.).
  • tags are linked with the document. See operation 3706 .
  • the tag may be utilized to describe the document and enable keyword-based classification and searches of information associated with such document.
  • FIG. 38 shows a method 3800 for linking a plurality of tags with a document, in accordance with another embodiment.
  • the present method 3800 may be implemented in the context of the functionality and architecture of FIGS. 35-37 .
  • the method 3800 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • an interface is displayed for manually collecting tags. See operation 3804 .
  • the interface may be displayed upon saving the document.
  • the interface may be displayed by selecting a tag creation icon or option in a menu or a toolbar.
  • the interface may include various functionality for manually collecting the tags.
  • the interface may include text edit boxes for manually inserting tags.
  • the interface may also include a drop-down menu or other list of potential tags.
  • the interface may provide suggested tags.
  • the list or drop-down menu may include a list of suggested tags.
  • suggested tags may be highlighted in the created document.
  • the interface may include text from the selected document illustrating the highlighted words or phrases to potentially be used as tags.
  • the document itself may include the highlighted words or phrases.
  • a user may have the option to select the highlighted words or phrases (e.g. by clicking or scrolling over) utilizing a mouse.
  • the tags may be manually selected from the document without by selecting any of the text in the document, not necessarily recommended tags.
  • the interface may provide a list of words in the created document with an associated number indicating the frequency of use in the document. These words may be ordered in a list from most to least use, for example. Additionally, the list may only include a certain number of the most used words in the document.
  • the tags may be recommended based on previously existing tags. For example, if a plurality of existing tags include a specific word or term, but other tags associated with those particular tags are dissimilar, a tag may be recommended that exploits this dissimilarity. As a specific example, if two existing documents have a tag that includes “apple” and another tag that includes “computer,” but the newly created document has multiple occurrences of the term “apple” and few occurrences of the term “computer” in the document, another keyword may be recommended based on the number of times found in the document (e.g. “fruit”) to distinguish the documents.
  • the tags are correlated with a document/index. See operation 3806 .
  • the tags may be indexed.
  • the tags may then be associated or linked with/to the document and an index location such that the tag may be utilized to access the indexed location of the document.
  • an index may refer to any location of a data structure.
  • the index may refer to any location in a database. In this way, the tags may be utilized for searching the documents.
  • the tags are correlated with a document/index.
  • the document may be selected to be edited by the user. If the document is to be edited, the interface is displayed for manually collecting tags. See operation 3810 . As an option, the interface may be displayed when the edited document is to be saved (e.g. when the user selects a save document option or icon, etc.).
  • tags are correlated with the document/index. See operation 3812 . It should be noted, that suggested tags may again be optionally displayed using the interface. Furthermore, the user may have the option to utilize previously generated tags instead of generating new or additional tags.
  • FIG. 39 shows a method 3900 for suggesting tags or automatically selecting tags, in accordance with another embodiment.
  • the present method 3900 may be implemented in the context of the functionality and architecture of FIGS. 35-38 . Of course, however, the method 3900 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • parsing refers to transforming text into a word or data structure.
  • parsing may include, but is not limited to, extracting words from text, extracting phrases from text, extracting symbols from text, lexical functional grammar parsing, head-driven phrase structure grammar parsing, shallow parsing, dependency grammar parsing, etc.
  • identifying the repeated words may include implementing a statistical analysis on the repeated words to determine a frequency of use and/or a relevance analysis (i.e. the likelihood the word is relevant in the context used).
  • a relevance analysis i.e. the likelihood the word is relevant in the context used.
  • the identification of repeated words may include only identifying nouns and/or verbs that are repeated.
  • unique nouns and or verbs may also be identified. See operation 3906 .
  • the unique nouns or verbs may be identified from the list of repeated words and/or non-repeated words in the document.
  • the unique nouns or verbs may refer to any noun or verb that is not statistically likely to appear in a document (e.g. less than 60% likely, 50% likely, 40% likely, etc.). Additionally, the unique nouns or verbs may be determined based on the frequency of use in the document.
  • tags may be suggested based on the identification. See operation 3908 . In this way, nouns, verbs, and/or repeated words may be determined to be tags.
  • the tags may be suggested as a list, dialog box, input text box, highlighted text, etc.
  • the tags may be automatically selected and applied.
  • an interface may provide a user an option to have tags automatically selected.
  • tags that would otherwise be suggested may be utilized as tags automatically.
  • the tags may be determined automatically by parsing words in the document.
  • FIG. 40 shows an interface 4000 for linking a plurality of tags with a document, in accordance with one embodiment.
  • the interface 4000 may be implemented in the context of the details of FIGS. 35-39 .
  • the interface 4000 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • the interface 4000 may include a navigator bar 4002 (e.g. an explorer bar) including back, forward, stop, reload, etc. functionally for navigating online.
  • a toolbar 4004 may be provided including various functionality for accessing/managing documents.
  • the toolbar 4004 may include a file option to access functionality associated with a document (e.g. save, save as, send, properties, etc.).
  • the toolbar 4004 may include options for switching between online applications (e.g. word processors, spread sheet generation tools, PDF generators, etc.).
  • the toolbar may include various other functions such as view options, format options, tool options, table options, window options, help options, and various icons associated with various functionality.
  • the interface 4000 includes a window for viewing documents.
  • a user may generate a document or a plurality of documents using the interface 4000 . Tags may then be determined manually or automatically, correlating to the document.
  • the tags may be manually entered upon saving the document.
  • a user interface 4006 may be displayed, allowing a user to manually enter a tag or a plurality or tags into a text box 4008 .
  • the interface 4006 may include a folder directory 4010 .
  • the interface 4006 may include a list of suggested tags 4012 .
  • the tags may be utilized for searching the documents.
  • the interface 4000 may allow the user to search a plurality of documents using the tags. In this way, the user may examine tags relating to information being sought, and the tag may be used to find appropriate documents.
  • the interface 4000 may represent any network browser.
  • multiple online applications may be accessed utilizing the tags.
  • the documents may be created using many different online applications.
  • these online applications may employ functionality of various other online applications.
  • FIG. 41 shows a method 4100 for applying a function of an online application to a file generated by a second online application, in accordance with one embodiment.
  • the present method 4100 may be implemented in the context of the functionality and architecture of FIGS. 35-40 . Of course, however, the method 4100 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • an online application refers to any software application that is utilized over a network.
  • the online applications may include, but are not limited to, online word processors, online spread sheet generators, online presentation tools and generators, online project management software, online accounting software, and/or any other online applications that meet the above definition.
  • a function of a second online application to be applied to the file is identified. See operation 4104 .
  • a function refers to function associated with an application.
  • the function may include, but is not limited to, a format conversion, a commenting function, a publishing function, a spell check function, a track changes function, a text formatting function, an object modifying function, a drawing function, a table function, a macro function, and/or any other function that meets the above definition.
  • the function of the second online application is applied to the file. See operation 4106 .
  • the function may be applied in a variety of ways.
  • the function of the second online application may be applied to the file utilizing code stored at a server hosting the first online application.
  • the function of the second online application may be applied to the file utilizing code stored at a server hosting the second online application.
  • the function may be applied by passing a URL associated with the file to second online application.
  • FIG. 42 shows a system 4200 for applying a function of an online application to a file generated by a second online application, in accordance with one embodiment.
  • the system 4200 may be implemented in the context of the functionality and architecture of FIGS. 35-41 .
  • the system 4200 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • a server including a first online application 4202 a server including a second online application 4204 , and a client 4206 are provided.
  • a file 4208 generated utilizing the first online application 4202 is identified.
  • a function of the second online application 4204 is identified to be applied to the file 4208 .
  • the function of the second online application 4206 is applied to the file 4208 .
  • the function of the second online application 4206 may be unavailable utilizing the first online application. In this way, functionality of multiple applications may be shared between applications.
  • the client 4206 has access to both the first and second online applications 4202 and 4204 .
  • the first online application 4202 and the second online application 4204 may be accessible via a network browser. In this way, the function of the second online application 4204 may be selected utilizing the network browser.
  • the function of the second online application 4204 may be selected utilizing a toolbar of the network browser.
  • the toolbar may include a plugin.
  • a plugin refers to any computer program that interacts with a host application (e.g. the network browser, etc.).
  • the plugin may provide a function using an icon and/or dedicated text.
  • the first the second online application 4202 and 4204 may be included on one server.
  • the server including the first online application 4202 and the server including the second online application 4204 may be in communication. In this way, applying the function of the second application 4204 to the file 4208 may not necessarily involve communicating data via the client 4206 , as shown in FIG. 42 .
  • FIG. 43 shows a method 4300 for applying a function of an online application to a file generated by a second online application, in accordance with one embodiment.
  • the present method 4300 may be implemented in the context of the functionality and architecture of FIGS. 35-42 .
  • the method 4300 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • a file is identified using a first online application. See operation 4302 .
  • identifying the file may include selecting the file via a user interface.
  • the file may be selected from a network browser.
  • the network browser may include a drop-down list of potential files.
  • the network browser may include a bookmark to the file.
  • a function from a second online application function is selected to be applied to the file. See operation 4304 .
  • the function may be selected using a toolbar including functionality of both the first and second application.
  • this toolbar may be displayed upon accessing two or more applications. For example, upon accessing a first online application, a toolbar including functionality of the first application may be displayed. Then, after accessing a second online application, the toolbar may be updated to include functionality of the second online application.
  • a toolbar may be displayed including functionality of all available online applications.
  • the available functionality may include only online application functions available to a user or compatible with the opened file and/or application.
  • the function is applied to the file. See operation 4306 .
  • the function may be applied to the file in many ways. For example, in one embodiment, code including the function may be transferred to the server including the first application such that the first application may apply the function to the file.
  • the file may be transferred to the server including the second online application and the function may be applied to the file.
  • the server including the file and the first online application may include a list of various functions and associated code, capable of being applied to the file. In this case, such functionality may or may not be included as part of the first application. As an option, all capable functionality of the first online application and/or the second online application may be available via a network browser.
  • FIG. 44 shows a network browser 4400 for applying a function of an online application to a file generated by a second online application, in accordance with one embodiment.
  • the network browser 4400 may be implemented in the context of the details of FIGS. 35-43 .
  • the network browser 4400 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • the network browser 4400 may include a navigator bar 4402 (e.g. an explorer bar) including back, forward, stop, reload, etc. functionally for navigating a network.
  • a toolbar 4404 may be provided including various functionality for accessing/managing files and/or applications.
  • the toolbar 4404 may include functions of a plurality of applications.
  • the toolbar 4404 may only include functions of open applications. In another embodiment, the toolbar 4404 may only include functions that may be applied to an open file or application in use. In still another embodiment, the toolbar may include all functions available to a user. As an option, the functions available to a user may include only functions associated with applications to which the user has usage rights.
  • the toolbar 4404 may include a file option to access functionality associated with a file (e.g. save, save as, send, properties, etc.). Furthermore, the toolbar 4404 may include options for switching between online applications (e.g. word processors, spread sheet generation tools, PDF generators, etc.). Still yet, the toolbar may include various other functions such as view options, format options, tool options, table options, window options, help options, and various icons associated with various functionality.
  • the network browser 4400 or the toolbar 4404 may include a tab bar 1006 for easy toggling between applications and files.
  • the tab bar 4406 may allow the same file to be viewed in the context of a first online application and a second online application. In this way, a file opened by the first online application under a first tab may be viewed in the context of a second online application under a second tab, allowing a function of the second online application to be applied to the file when viewed under the second tab and/or the first tab.
  • results of applying the function may be displayed in a separate window.
  • the results may be displayed under a tab separate from the first and/or second online application, or a separate window 4408 of the network browser 4400 or a separate network browser (not shown).
  • the toolbar 4404 may display functions of an individual online application, or a plurality of different applications.
  • the different online applications may be applications located on separate servers.
  • FIG. 45 shows a method 4500 for accommodating different online applications, in accordance with one embodiment.
  • the present method 4500 may be implemented in the context of the functionality and architecture of FIGS. 35-44 .
  • the method 4500 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • an online application currently visited by a network browser is identified. See operation 4502 . Additionally, at least one of a plurality of network browser toolbars is automatically selected based on the online application currently visited by the network browser. See operation 4504 . Furthermore, the at least one network browser toolbar is displayed. See operation 4506 .
  • a network browser toolbar refers to any row, column, or block of buttons, icons, or linked words that, when clicked, activate certain functions of an application.
  • the toolbar may include save functions, spell check functions, text formatting functions, file formatting functions, search functions, drawing functions, and/or any other functions associated with an application.
  • FIG. 46 shows a method 4600 for accommodating different online applications, in accordance with one embodiment.
  • the present method 4600 may be implemented in the context of the functionality and architecture of FIGS. 35-45 .
  • the method 4600 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • a URL is identified for a first online application. See operation 4602 .
  • the URL may be identified upon accessing the first application and/or by opening a file associated with the first application.
  • a user may access the first online application using a network browser.
  • the online application may be identified by monitoring URLs entered into the network browser.
  • a list of toolbars is examined to find a toolbar associated with the URL or the first application are examined. See operation 4604 .
  • a list including a plurality of toolbars associated with various online applications may be stored in a database.
  • the list of toolbars may be examined to determine whether an appropriate toolbar is present for the first online application.
  • the URLs entered in the network browser may be compared against a list of predetermined URLs associated with online applications for which an associated toolbar is stored on a client on which the network browser is installed.
  • a toolbar is automatically executed and displayed for the first online application. See operation 4608 .
  • a corresponding one of the toolbars is executed without user intervention.
  • a window associated with the first online application is closed or a different tab on the network browser is selected. See operation 4610 . If the window is closed or another network browser tab is selected, the toolbar corresponding to the first application is closed or hidden. See operation 4612 . Thus, the network browser toolbar may be removed from an interface of the network browser upon identification of a window in which an associated online application being closed.
  • multiple tabs on a network browser may be open simultaneously, where more than one tab corresponds to the first application.
  • the toolbar may remain displayed for all tabs or windows associated with the first application.
  • the toolbar may also remain displayed for the second application.
  • FIG. 47 shows a network browser plugin 4700 for accommodating different online applications, in accordance with one embodiment.
  • the network browser plugin 4700 may be implemented in the context of the details of FIGS. 35-46 .
  • the network browser plugin 4700 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • the network browser plugin 4700 may include various information for accessing a first application.
  • the network browser plugin 4700 may include a user name, user login information, an online application URL, user preferences, etc.
  • the network browser plugin 4700 may be stored on a client computer from which the URL of online applications are accessed.
  • a user may subscribe or access an online application and be prompted to download the network browser plugin 4700 from the location of the online application to the computer or device of the user. The user may then be prompted to fill out all relevant information.
  • the network browser plugin 4700 may be utilized to access one or more online applications without the need to enter login information every time the application is accessed.
  • the network browser plugin 4700 may include information associated with a plurality of online applications. In this case, the URL may be utilized as a look-up for all of the information utilized by the online application to allow the user access.
  • FIG. 48 shows a network browser 4800 for accommodating different online applications, in accordance with one embodiment.
  • the network browser 4800 may be implemented in the context of the details of FIGS. 35-47 .
  • the network browser 4800 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • the network browser 4800 may include a navigator bar 4802 (e.g. an explorer bar) including back, forward, stop, reload, URL entry, etc. functionally for navigating a network.
  • a toolbar 4804 may be provided including various functionality for accessing/managing files and/or applications.
  • the toolbar 4804 may include functions for a first online application.
  • the toolbar 4804 may include a file option to access functionality associated with a file (e.g. save, save as, send, properties, etc.). Furthermore, the toolbar 4804 may include options for switching between online applications (e.g. word processors, spread sheet generation tools, PDF generators, etc.). Still yet, the toolbar may include various other functions such as view options, format options, tool options, table options, window options, help options, and various icons associated with various functionality.
  • the network browser 4800 or the toolbar 4804 may include a tab bar for easy toggling between applications and files.
  • the tab bar may allow the same file to be viewed in the context of a first online application and a second online application. In this way, a file opened by the first online application under a first tab may be viewed in the context of a second online application under a second tab, allowing a function of the second online application to be applied to the file when viewed under the second tab and/or the first tab.
  • an online application currently visited by the network browser 4800 may be identified using the URL. Additionally, at least one of a plurality of network browser toolbars may be selected based on the online application currently visited by the network browser. As an option, the toolbar 4804 may be capable of being manually selected utilizing a menu. In this case, the menu may include a plurality of toolbars associated with various URLs or online applications, where the toolbars may include different functionality.
  • a first one of the toolbars may be adapted for applying a first set of functions to a file generated utilizing a first online application
  • a second one of the toolbars is adapted for applying a second set of functions to a file generated utilizing a second online application.
  • log-in information utilized for the online applications may be stored on a computer on which the network browser 4800 is installed.
  • the login information may be utilized to log-in to the online application currently visited by the network browser 4800 .
  • the user may enter the URL of the online application into the network browser 4800 and access the application without entering login information every time.
  • the user may use bookmarks to access the online applications.
  • the user may click on a tag to access the online application.
  • the user may access the online application by clicking an icon on a desktop. Additionally, the user may access the online application by clicking on an item illustrated in a pictorial diagram of a file structure.
  • the toolbar 4804 may be displayed independently (i.e. only a single network browser toolbar is displayed at a time), or with multiple other toolbars (e.g. other online application toolbars, search engine toolbars, email toolbars, etc.).
  • the network browser toolbar 4804 may be conditionally displayed based on a number of network browser toolbars already displayed. For example, if two toolbars are already being displayed, the network browser toolbar 4804 may not be displayed.
  • a position of the network browser toolbar 4804 may depend on a number of network browser toolbars already displayed. As an option, if multiple toolbars are already displayed, the network browser toolbar 4804 may be displayed in a position in the network browser 4800 away from the other toolbars being displayed. For example, if multiple toolbars are being displayed at the top of the network browser 4800 the network browser toolbar 4804 may be displayed at the bottom of the network browser 4800 .
  • a size of the network browser toolbar 4804 may depend on a number of network browser toolbars already displayed. For example, if a plurality of toolbars are already displayed, the network browser toolbar 4804 may be reduced in size (e.g. font, area, etc.). As another option, icons or buttons normally displayed on the network browser toolbar 4804 may be omitted in the case that limited space is available due to other toolbars being present.
  • an orientation of the network browser toolbar 4804 may depend on a number of network browser toolbars already displayed. For example, if one or more toolbars are being displayed in a horizontal orientation or row across the top-side of the network browser 4800 , the network browser toolbar 4804 may be displayed in a vertical orientation, as a column along a side of the network browser 4800 . As an option, the network browser toolbar may be oriented vertically if one or more browser toolbars are already displayed.
  • the toolbar 4804 or another toolbar displayed on the network browser 4800 may include functions for attaching files associated with the online applications to emails or other messages.
  • these attachments may be stored in a central location associated with an online application from which the attachment was generated.
  • FIG. 49 shows a method 4900 for storing attachments of an electronic message in a central location associated with an online application from which the attachment was generated, in accordance with one embodiment.
  • the present method 4900 may be implemented in the context of the functionality and architecture of FIGS. 35-48 .
  • the method 4900 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • an electronic message application refers to any application capable of identifying an electronic message.
  • the electronic message application may include, but is not limited to, an email application (e.g. Microsoft Outlook, a web-based email application, etc.), a text messenger application, an instant messenger application, and/or any other electronic messenger application that meets the above definition.
  • the electronic message may include an email, a text message, an instant message, and any other electronic message.
  • an online application associated with the file is determined. See operation 4904 .
  • the online application may be an online application that generated the file, an online application that is capable of opening or viewing the file, an online application that is capable of modifying the file, etc.
  • the file is stored in one of a plurality of network locations, based on the determined online application. See operation 4906 .
  • the network location may be any location capable of storing files.
  • the network locations may include a server or a networked database.
  • the network locations may be locations allocated to an individual user, a group of users, a company, etc.
  • FIG. 50 shows a method 5000 for storing attachments of an electronic message in a central location associated with an online application from which the attachment was generated, in accordance with one embodiment.
  • the present method 5000 may be implemented in the context of the functionality and architecture of FIGS. 35-49 .
  • the method 5000 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • an email from a first user, including an attachment is received by a second user. See operation 5002 .
  • the attachment may include any file generated by any application.
  • the attachment may be virtual attachment.
  • the attachment may include a link corresponding to a file stored on a server.
  • the second user may select the attachment (e.g. using a mouse, etc.) and be given the option to open, save, edit, forward, etc. the attachment.
  • This option may be presented in the form of a window, a drop-down menu, etc.
  • an online application associated with the attachment and corresponding user login information for the second user is identified. See operation 5006 .
  • the online application associated with the attachment may be determine in a variety of ways.
  • the online application may be determined to be associated with the file, based on a header of the file.
  • a header of the file may indicate an application capable of opening, editing, or saving the file.
  • the online application may be determined to be associated with the file, based on an extension of the file. For example, if the extension includes a “.txt” extension, it may be determined that an online text editor is associated with the file. In another case, a “.pdf” extension may indicate that a PDF viewer or editor is associated with the file.
  • the online application associated with the file may be determined automatically.
  • the online application associated with the file may be determined manually. For example, a user may have the option to select from a list of online applications.
  • the list may include all online applications capable of opening, editing, or saving the file.
  • the list may include online applications for which the user has permission to use.
  • the user may be given the option to have an appropriate application selected automatically.
  • a network browser may be utilized to select the appropriate application.
  • the network browser may be displayed upon selecting to open, save, or modify the file.
  • the network browser may display a plurality of tabs corresponding to each online application capable of opening, editing, or saving the file.
  • the login information may be stored on a device on which the electronic message application is installed.
  • the device may be any device capable of storing login information.
  • the device may include a mobile device (e.g. a phone, PDA, laptop, etc.), a computer, or any other device that meets the above definition.
  • the login information may be included as a network browser plugin.
  • the login information may be automatically accessed by the online application.
  • the log-in information may be utilized to login to the online application, in response to determining the online application is associated with the file.
  • the login information may be automatically obtained and utilized to access the application.
  • the file is open, saved, or edited (depending on the command), using space in the online application allocated to the second user. See operation 5008 .
  • the file may be automatically transferred from a space at a network location associated with the first user to a space at a network location associated with the second user, such that the second user may access the file using the online application in a private or secure place, not accessible to the first user.
  • data included in the attachment may be used to reconstruct the file in a space on the network allocated to the second user.
  • a program or function associated with the online application may use data in the attachment to regenerate the file. This data may be communicated either via a device of the second user or directly from the space allocated to the first user.
  • the attachment may be saved directly from the device of the second user to the network space allocated to the second user.
  • the file (attachment) may be modified/accessed by the second user on a network location using an online application.
  • the file may be stored in a common network space such that both the first and the second user may access the file. In this way, a working document may be maintained between a plurality of users.
  • the network location may be associated with a URL corresponding to the online application.
  • a server may host an online application in addition to providing space for file storage or a workspace.
  • the network location of the user space for file storage may be separate from a network location of the online application.
  • FIG. 51 shows a system 5100 for storing attachments of an electronic message in a central location associated with an online application from which the attachment was generated, in accordance with one embodiment.
  • the system 5100 may be implemented in the context of the details of FIGS. 35-50 .
  • the system 5100 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • a plurality of online application are located one or more network locations 5102 .
  • a device 5104 of a first user has access to at least one of the network locations 5102 .
  • a device 5106 of a second user has access to at least one of the network locations 5102 .
  • the first user and/or the second user may each have access to allocated network space on a database or server at the network location 5102 .
  • the users may access online applications associated with the network locations, given the users have proper permission which may be obtained using appropriate login information.
  • the users may access these online applications to create, modify, manage, and store files located at the network locations.
  • the first and the second user may each have access to a separate network space such that files of the two users are isolated from other users.
  • a shared or common space may also be utilized.
  • the file may be stored in a location only accessible to a recipient of the electronic message.
  • the first user may desire to send a file to the second user.
  • the first user may configure an email and send the file as an attachment.
  • the first user may send a link to the file in an email.
  • the second user may choose to open or save the attached file.
  • an online application for facilitating such operations is determined.
  • the file is stored in one of the network locations 5102 , based on the determined online application. For example, as shown the file generated by the first user using the first online application may be associated with the first online application by the device 5106 of the second user. Thus, the file may be saved in a network location associated with the first online application.
  • the device 5106 of the second user may be used to determine the appropriate online application and the store the file.
  • the device 5106 maybe any device capable of performing these functions (e.g. a stationary device, a mobile device, etc.).
  • the file may be saved by selecting the electronic message and further selecting a save menu option.
  • a request may be received to open the attached file.
  • the online application associated with the file may be determined in response to the request. Once the online application is determined and user login information is verified, the file may be opened using the online application. In one embodiment, this may include opening the file utilizing a network browser window.
  • FIG. 52 shows an interface 5200 for an electronic message application for identifying a file associated with an electronic message, in accordance with one embodiment.
  • the interface 5200 may be implemented in the context of the details of FIGS. 35-51 .
  • the interface 5200 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • a menu 5202 may allow a user to select a plurality of options when a message has been received with an attachment including a file.
  • the file may or may not have being generated using an online application.
  • the menu may include options to store the file to a network space allocated to the user, edit, remove, or copy the file.
  • the user may have the option to share the file.
  • the file may be stored on a network space which includes a plurality of other files.
  • the user may have the ability to view all of these files using a single interface. This may allow the user to view a file structure or tags associated with all of the user's files stored on the network location.
  • FIG. 53 shows a method 5300 for displaying a single interface that includes a plurality of files, in accordance with one embodiment.
  • the present method 5300 may be implemented in the context of the functionality and architecture of FIGS. 35-52 .
  • the method 5300 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • the file types may include, but are not limited to, a word processor file type, a text editor file type, a PDF file type, a drawing file type, a spreadsheet file type, a presentation file type, and/or any other file type corresponding to an online application.
  • a single interface is displayed that includes the files. See operation 5304 .
  • the interface may be displayed using a network browser.
  • the interface may be displayed on the device of a user.
  • the device may include a mobile device (e.g. a phone, PDA, laptop, etc.), a computer, or any other device capable of displaying a network browser.
  • FIG. 54 shows a method 5400 for displaying a single interface that includes a plurality of files, in accordance with another embodiment.
  • the present method 5400 may be implemented in the context of the functionality and architecture of FIGS. 35-53 .
  • the method 5400 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • a global login is received. See operation 5402 .
  • a file directory of stored files is displayed. See operation 5404 .
  • This file directory may be displayed in a variety of ways using a single interface.
  • the interface may be displayed utilizing a network browser and or a network browser plug-in.
  • identifiers associated with the files may be stored on a device on which the network browser is installed.
  • the file identifies may include tags, as described above.
  • the identifiers associated with the files may be stored on a server.
  • the server may be a server associated with the single interface. This server may also be associated with one or more online applications.
  • the identifiers associated may be displayed in various ways. For example, the identifiers associated with the files may be displayed utilizing HTML. In another embodiment, the identifiers associated with the files may be displayed utilizing a JAVA script, icons, etc.
  • a network browser plugin may include the global login information.
  • the global login information may be automatically obtained when accessing the single interface through a network browser associated with the network plugin.
  • the network browser, plugin, and login information may be stored on a device of a user.
  • the log-in information may be capable of being entered when registering an associated one of the online applications in association with the network browser. For example, a user may access an online application for a first time using a network browser and enter registration information. As part of the registration process the user may enter login information which may saved on a device of the user. Thus, this information may be utilized each time the user accesses the interface online. As an option, the user may choose to enter login information each time the user accesses the single interface online (e.g. for security purposes, etc.)
  • a user may view a plurality of files generated using various applications, with some of the applications being online applications.
  • each of the online applications may have different log-in information associated therewith.
  • the log-in information may be stored in and associated with a network browser or a network browser plugin.
  • the log-in information may be utilized to access the interface, the files, and/or identifiers associated with the files.
  • a file being selected may include selecting the file directly via a network browser displaying the single interface, of by selecting a tag associated with the file.
  • login information for an online application associated with that file is identified. See operation 5408 .
  • user may select a file to open that is associated with an online word processor application.
  • User login information would then be identified for the online application, either automatically (e.g. using information stored on the user device, etc.) or manually, by prompting the user to enter login information.
  • the selected file is retrieved using the corresponding login information. See operation 5410 .
  • the selected file may be retrieved from a network location of the online application associated with the file, a network location associated with the single online interface, a network location associated with a user space (e.g. individual, shared, work, etc.), and or any other network location associated with the file.
  • FIG. 55 shows a data structure 5500 of global login information for a single interface that includes a plurality of files associated with a plurality of different online applications, in accordance with one embodiment.
  • the data structure 5500 may be implemented in the context of the functionality and architecture of FIGS. 35-54 .
  • the data structure 5500 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • global login information 5502 may include login information for a plurality of different online applications 5504 .
  • a user may access an interface for displaying a plurality of files each associated with diverse file types corresponding to different online applications.
  • the user may be prompted for global login information.
  • global login information may be obtained automatically from information a device of the user or a server associated with the single interface, etc.
  • the global login information 5500 may include a user name and password for accessing the single interface. Once the global login information is obtained, online application login information may be accessed and obtained automatically to allow the user to access all files displayed in the interface and all corresponding online applications, without entering login information for each online application.
  • the user may use one global login to the single interface to access a plurality of online applications.
  • the login information for the plurality of online applications may be different for some or all of the applications.
  • the global login information may allow access to all online application login information.
  • the login information for the online applications may be stored on the device of the user, a server associated with the single interface, a network location associated with the users, etc.
  • the login information for the online applications associated with the user may be retrieved. In various embodiments, this may be facilitated utilizing a network browser, a network browser plugin, a JAVA script, etc.
  • FIG. 56 shows a file structure 5600 shown in a single interface that includes a plurality of files associated with a plurality of different online applications, in accordance with one embodiment.
  • the file structure 5600 may be implemented in the context of the functionality and architecture of FIGS. 35-55 .
  • the file structure 5600 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • a single interface may include a plurality of folders for organizing a plurality of files associated with various online applications.
  • the single interface may display a standard file structure with directories, folders, sub folders, and files located, appearing to be located at a common network location, the folders, files, etc. may be located on a plurality of different servers and/or network locations.
  • the files may be stored at different servers each associated with a different online application.
  • the single interface may have the ability to show files and folders as appearing in a single folder or subset of folders.
  • the network location of various files may be transparent to the user, where the single interface only shows groupings of files in folders/directories (e.g. using meta data, etc.).
  • the files may also be stored on a device on which the interface is displayed.
  • a user may chose to save a copy of the files on a device such that the user may work locally with the file.
  • the files stored on the device and the files stored on the server may be synchronized.
  • the files on the device and the files stored on the server may be synchronized upon saving the file to the device.
  • the files may be synchronized periodically, based on a established time (e.g. every 5, 10, 15 minutes, etc.).
  • synchronizing the files stored on the device and the files stored on the server refers to maintaining common copies of the files stored on the device and the files stored on the server.
  • FIG. 57 shows a network browser 5700 for displaying a single interface 5702 that includes a plurality of files, in accordance with one embodiment.
  • the network browser 5700 may be implemented in the context of the details of FIGS. 35-56 .
  • the network browser 5700 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • the single interface 5702 displays a plurality of files associated with different online applications. It should be noted that any folder displayed may include files associated with various online applications located at various network locations/servers. Furthermore, each of these online applications may require unique user login information. As noted above, one global login may be utilized to satisfy all login requirements, in accordance with one embodiment.
  • the network browser 5700 and/or the interface 5702 may include functionality for searching for files/folders associated with the file structure illustrated in the interface 5700 . In this way, a search may be conducted with respect to the files, utilizing the interface.
  • the files may be indexed to facilitate the search with respect to the files.
  • tags may be utilized to index the files.
  • the files may be indexed by modification time/date, alphabetically, by size, network location, file type, content type, and any other suitable criteria.
  • the searching may include searching files associated with the interface on network locations and/or the device of the user.
  • FIG. 58 shows a method 5800 for utilizing a network browser as a desktop, in accordance with one embodiment.
  • the present method 5800 may be implemented in the context of the functionality and architecture of FIGS. 35-57 .
  • the method 5800 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • a plurality of URLs in association with a network browser are stored, the URLs each associated with different online applications. See operation 5802 .
  • a plurality of identifiers in association with the network browser are displayed, each identifier associated with a different online applications. See operation 5804 .
  • an identifier refers to any character or number, series of characters or numbers, word, phrase, or object used for identification.
  • the identifier may include, but is not limited to, icons, key words, pictures, links, and/or any other identifier that meets the above definition.
  • a selection of at least one of the identifiers is displayed. See operation 5806 . Still yet, one of the online applications is accessed, in response to the selection of at least one of the identifiers. See operation 5808 .
  • FIG. 59 shows a method 5900 for utilizing a network browser as a desktop, in accordance with another embodiment.
  • the present method 5900 may be implemented in the context of the functionality and architecture of FIGS. 35-58 .
  • the method 5900 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • a network browser is executed. See operation 5902 .
  • the network browser may be opened by a user on a user device.
  • the user may select an option to display online applications.
  • the online application menu may be displayed automatically.
  • an online application menu refers to a menu or list including available online applications.
  • the menu is displayed. See operation 5906 .
  • the menu may be displayed as a list, window, toolbar, tabbed screens, group of identifiers, etc.
  • this may include accessing user login information for the online application. Additionally, upon displaying the network browser in operation 5902 , a user may also be prompted for global login information, which allows access to the online application menu.
  • This global login information may also be utilized to automatically obtain login information for the online applications automatically such that one global login allows the user access to all available online applications without requiring the user to enter login information for each of the applications.
  • This information may be stored on a device of the user, a server which includes the online application menu, and/or another network location. As shown further, it may also be determined whether the menu has been closed or remained open for the selection of other online applications. See operation 5912 .
  • FIG. 60 shows a network browser 6000 for using as a desktop, in accordance with another embodiment.
  • the network browser 6000 may be implemented in the context of the functionality and architecture of FIGS. 35-59 .
  • network browser 6000 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • a user may be prompted to supply registration information 6002 for online applications that may be utilized in conjunction with the desktop environment. In this way, the user may configure and personalize an online desktop environment.
  • registration Upon registration, entering the online application login information, and the URL associated with the online application, an identifier may be identified corresponding to the online application.
  • the identifier may be selected by the user. In another embodiment, the identifier may automatically be selected (e.g. by the online application, a provider of the online desktop, etc.). Furthermore, in one case, the user may have the option to link or display an identifier associated with the online application. For example, the user may have the option to add a bookmark 6004 including a link to the online application. In another embodiment, the user may have the option to add the identifier to a desktop image. In this way, the user may be presented with a configurable online desktop including identifiers corresponding to various online applications, either shown on the desktop, or provided in a menu or list format.
  • FIG. 61 shows a network browser 6100 for using as a desktop, in accordance with another embodiment.
  • the network browser 6100 may be implemented in the context of the functionality and architecture of FIGS. 35-60 .
  • network browser 6100 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • a plurality of URLs in association with the network browser 6100 are stored, the URLs each associated with different online applications.
  • the URLs may include online application URLs.
  • a plurality of bookmark URLs in association with the network browser may be stored, the bookmark URLs each associated with different web pages of interest.
  • a plurality of identifiers 6102 in association with the network browser 6100 are displayed, each identifier associated with a different online applications. Using the identifiers 6102 one of the online applications may be accessed, in response to a selection of at least one of the identifiers 6102 .
  • the identifiers 6102 may be displayed utilizing an explorer bar 6104 to a side of a network browser window 6106 in which HTML content is displayed.
  • the identifiers may be displayed utilizing a tool bar 6108 above the network browser window 6106 in which HTML content is displayed.
  • the identifiers 6102 may be accessible via at least one network browser menu. In this way, the identifiers 6102 may be accessible when the network browser menu is selected.
  • accessing online applications and/or information associated with the online applications may include entering or obtaining user login information.
  • each of the URLs may have login information associated therewith.
  • the log-in information may be stored in and/or associated with the network browser 6100 and/or a device displaying the network browser 6100 .
  • the log-in information may be utilized to access the online application, in response to the selection of at least one of the identifiers 6102 .
  • the log-in information may be capable of being entered when registering an associated one of the online applications in association with the network browser.
  • the online applications may be opened in a separate new browser tab, in response to the selection of at least one of the identifiers 6102 .
  • multiple tabs may appear across the top on the window 6106 , each tab corresponding to a different online application.
  • the online applications may be opened in a separate new browser window, in response to the selection of at least one of the identifiers 6102 .
  • the new browser window may be included as a window within the network browser window 6106 or outside the network browser window 6106 .
  • the identifiers 6102 may be displayed as computer icons, where computer icons refer to any pictogram.
  • the identifiers 6102 may be user configurable. For example, the appearance of the identifiers may be configurable. Additionally, a location of display of the identifies may be configurable. For example, a user may have the ability to move the identifiers to various locations in the window 6106 .
  • the user may have the option to add/remove identifiers.
  • the configuration of the online desktop may be saved and stored on a user device and/or a network location.
  • an image on the configuration may be saved on a server hosting the online desktop. This may be accomplished by storing various data/metadata associated with the configuration.
  • the network browser 6100 may include various other functionality.
  • the network browser 6100 may display advertisements associated in conjunction with displaying online applications.
  • FIG. 62 shows a method 6200 of advertising in conjunction with online applications, in accordance with one embodiment.
  • the present method 6200 may be implemented in the context of the functionality and architecture of FIGS. 35-61 .
  • the method 6200 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • a request to access a file associated with an online application is received. See operation 6202 . Additionally, at least one profile associated with the file is identified. See operation 6204 .
  • a profile refers to any information about an object.
  • the profile may include, but is not limited to, a user profile of a user who initiated the request to access the file, a file profile associated with the file, a combination of a user and file profile, and/or any other profile that meets the above definition.
  • the file profile may a function of a plurality of tags associated with the file.
  • tags associated with the file may include key words that may be attributed to a profile.
  • an advertisement is presented in conjunction with the access of the file. See operation 6206 .
  • the term advertisement may refer to a survey, questionnaire, promotional content, product/service information, and/or anything that is designed to attract attention.
  • the advertisement may include a digital advertisement.
  • the advertisement may be presented in a variety of ways.
  • the advertisement may be presented on a computer, television, PDA, mobile phone, and/or any other mobile or stationary device capable of presenting advertisements.
  • the advertisement may be presented using web pages, television programs, movies, on-demand programming, audible media, and/or any other media capable of presenting advertisements.
  • the foregoing examples are set forth for illustrative purposes only and should not be construed as limiting in any manner.
  • FIG. 63 shows a method 6300 of advertising in conjunction with online applications, in accordance with one embodiment.
  • the present method 6300 may be implemented in the context of the functionality and architecture of FIGS. 35-62 .
  • the method 6300 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • the group profile may include the profile of a user group associated with the file.
  • the file may be attributable to a group of engineers in a specific area of engineering.
  • the group profile may be associated with the specific area of engineering.
  • the group profile may include a profile of a group of files associated with the user or the particular file being accessed.
  • file tags, file types, and a number of files may contribute to the group profile.
  • a profile of a user accessing the file is identified. See operation 6306 .
  • a profile of the user may have been determined when the user registered for an online application associated with the file.
  • the user may have inputted preference information or the information may have been determined automatically based on user selections during the registration.
  • the user may have inputted preference information or had preference information derived automatically after registration.
  • preference information may have been derived based on internet browsing of the user, searches completed by the user, files generated by the user, file tags selected by the user, etc.
  • an advertisement is selected, based on the profiles, and then displayed. See operations 6308 and 6310 .
  • the advertisement may be displayed in a window associated with a network browser corresponding to an online application.
  • the advertisement may be sent to a mobile device of the user.
  • the advertisement information may be provided to an advertisement agency such that the agency may facilitate the advertising (e.g. via a network browser, on demand television, etc.). In this way, directed advertising may be implemented in conjunction with utilizing online applications.
  • FIG. 64 shows a network browser 6400 for viewing advertisements in conjunction with files associated with online applications, in accordance with one embodiment.
  • the network browser 6400 may be implemented in the context of the functionality and architecture of FIGS. 35-63 .
  • the method 6400 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • a request to access a file associated with an online application may be received by the network browser 6400 .
  • at least one profile associated with the file may be identified.
  • the profile may include a file profile associated with the file, where the file profile is a function of a plurality of tags associated with the file.
  • the tags may be manually entered or automatically determined.
  • the tags may be determined automatically by parsing words in the document.
  • the tags may be manually entered using an interface including a folder directory.
  • the tags may be determined for a plurality of the files.
  • the profile includes a group profile of a group of users who store a plurality of files to a network location.
  • the profile may include profile of a group of users who store a plurality of files to a network location.
  • the profile may include a combination of a user profile and a group profile.
  • the group profile may be a function of a plurality of tags associated with each of a plurality of the files.
  • an advertisement 6402 may be presented in conjunction the file, using the network browser 6400 .
  • the advertisement may correspond to the profile (e.g. of the user, group, file, aggregate of multiple profiles, etc.).
  • the network browser 6400 may display various other items.
  • the network browser 6400 may include a search interface for performing a search in addition to a window illustrating search results.
  • FIG. 65 shows a method 6500 for performing a search in conjunction with use of an online application, in accordance with one embodiment.
  • the present method 6500 may be implemented in the context of the functionality and architecture of FIGS. 35-64 .
  • the method 6500 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • a document editing interface is displayed for editing a document. See operation 6502 . Additionally, at least one term of the document is identified. See operation 6504 .
  • a term refers to any character or number, or sequence of characters or numbers.
  • term may include, but is not limited to, a key word, a phrase, a date, an amount, and/or any other term that meets the above definition.
  • a search interface is displayed. See operation 6506 . Still yet, a search is performed utilizing the search interface, based on the at least one term. See operation 6508 .
  • FIG. 66 shows an interface 6600 for performing a search in conjunction with use of an online application, in accordance with one embodiment.
  • the interface 6600 may be implemented in the context of the functionality and architecture of FIGS. 35-65 .
  • the interface 6600 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • a document editing interface 6602 is displayed for editing a document. Additionally, at least one term of the document is identified. Further, a search interface 6604 is displayed. Still yet, a search is performed utilizing the search interface 6604 , based on the at least one term.
  • a search is performed utilizing the search interface 6604 , based on the at least one term.
  • the at least one term may be identified automatically.
  • the term may be identified by parsing words in the document.
  • the parsing may include parsing nouns and/or verbs in the document.
  • the term may be identified by a frequency of use.
  • the term may be identified based on the same criteria used to automatically identify a tag for a document, as described above.
  • the at least one term may be identified manually.
  • the term may be identified manually by highlighting the at least one term.
  • the term may be identified by typing the term in an interface search bar.
  • the search may be performed by performing a right click operation.
  • a search term may be automatically suggested.
  • a plurality of possible terms may be presented in a list.
  • at least one of the terms in the list may be selected and searched. Further, this may be accomplished in conjunction with a manual or automatic search.
  • the term may include includes a plurality of tags.
  • the tags may be determined automatically by parsing words in the document.
  • nouns, verbs, and/or repeated words in the document may be determined to be tags.
  • results of the search may be displayed simultaneously with the document.
  • the results may be positioned in a window associated with the interface 6600 .
  • the results may be displayed in a separate window from the document or on a tabbed page of interface 6600 .
  • the search results may include at least one additional document.
  • the additional document may be associated with an online application corresponding to the document being displayed currently or another online application.
  • at least one additional term of the results may be identified (e.g. manually or automatically).
  • an additional search may be performed utilizing the search interface 6604 , based on the at least one additional term. In this way, the search may be focused to better improve search results.
  • FIG. 67 shows a method 6700 for focusing a search, in accordance with one embodiment.
  • the present method 6700 may be implemented in the context of the functionality and architecture of FIGS. 35-66 .
  • the method 6700 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • a first search is performed. See operation 6702 . Additionally, first search results of the first search are displayed. See operation 6704 . Further, at least one term of the first search results is identified. See operation 6706 .
  • a second search is performed, based on the at least one term of the first search results. See operation 6708 .
  • second search results of the second search are displayed. See operation 6710 .
  • FIG. 68 shows an interface 6800 for focusing a search, in accordance with one embodiment.
  • the interface 6800 may be implemented in the context of the functionality and architecture of FIGS. 35-67 .
  • the interface 6800 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • a first search is performed using a search interface 6804 . Additionally, first search results of the first search are displayed. In one embodiment, the search results may be displayed in a search results window, in conjunction with displaying a document access by an online application.
  • At least one term of the first search results is identified.
  • a second search is then performed using the search interface 6804 , based on the at least one term of the first search results.
  • second search results of the second search are displayed (e.g. in a search results window).
  • the terms may be identified manually.
  • term may be identified manually by highlighting the at least one term.
  • the second search may performed by performing a right click operation.
  • the terms may be identified automatically.
  • the may be identified automatically by parsing the first search results.
  • nouns in the first search results may be identified as the at least one term.
  • verbs in the first search results may be identified as the at least one term.
  • repeated words in the first search results may be identified as the at least one term.
  • At least one term may include a plurality of tags.
  • the at least one term may be selected from a list of a plurality of suggested terms.
  • the suggested terms may be generated automatically.
  • the suggested terms may be hierarchically ranked in order of a relevance value, a frequency of occurrence, alphabetically ranked, etc.
  • the term may be selected by highlighting at least one of the suggested terms.
  • selecting the term may include selecting a term associated with a file corresponding to one or more online applications.
  • exploration with this file may include opening or executing the online application. In various embodiments, this may be accomplished using any number of devices.
  • FIG. 69 shows a method 6900 for executing an online application on a mobile device, in accordance with one embodiment.
  • the present method 6900 may be implemented in the context of the functionality and architecture of FIGS. 35-68 .
  • the method 6900 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • an online application is accessed utilizing a mobile device. See operation 6902 . Additionally, at least a portion of a functionality of the online application utilizing an application executed on the mobile device. See operation 6904 .
  • a mobile device refers to any device which may be utilized in a mobile fashion.
  • the mobile device may include, but is not limited to, a mobile phone, a PDA, a handheld computer, a laptop, and/or any other mobile device that meets the above definition.
  • FIG. 70 shows an interface 7000 for executing an online application on a mobile device, in accordance with one embodiment.
  • the interface 7000 may be implemented in the context of the functionality and architecture of FIGS. 35-69 .
  • the interface 7000 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • an online application is accessed utilizing a mobile device 102 . Additionally, at least a portion of a functionality of the online application utilizing an application executed on the mobile device 102 .
  • the functionality may be performed by a client application separate from a network browser.
  • the portion of the functionality may be performed by a network browser plug-in installed on the mobile device 102 .
  • the functionality of the online application may include any functionality capable of being executed on the mobile device 102 .
  • the portion of the functionality of the online application may include formatting functionality (e.g. text formatting, paragraph formatting, etc.).
  • the portion of the functionality may include functionality that would otherwise be provided by a server that serves the online application.
  • the portion of the functionality may include responding to requests that would otherwise be provided by a server that serves the online application.
  • the portion of the functionality of the online application may be provided by buffering requests of a user, and delaying sending the requests to a server that serves the online application.
  • an online application utilizing may be accessed utilizing the mobile device 102 and a request of a user to the online application may be buffered. Additionally, sending the requests to a server that serves the online application may be delayed. Still yet, a client application separate from the network browser may react to the request.
  • the reaction may be performed by a client application separate from the network browser.
  • the reaction may be performed by a network browser plug-in installed on the mobile device 102 .
  • the reaction may simulate sending the request to a server that serves the online application.
  • the mobile device 102 may be utilized to perform searches.
  • various other commands may be implemented using the mobile device 102 (e.g. cutting, pasting, etc.).
  • FIG. 71 shows a method 7100 for intelligent cutting and pasting, in accordance with one embodiment.
  • the present method 7100 may be implemented in the context of the functionality and architecture of FIGS. 35-70 .
  • the method 7100 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • the data may be any data capable of being cut or copied.
  • the data may include text, objects, symbols, pictures, and/or any other data as defined above.
  • a paste command with respect to the data is received. See operation 7104 . Further, an additional operation is performed on the data, before the past command is executed. See operation 7106 .
  • FIG. 72 shows an interface 7200 for intelligent cutting and pasting, in accordance with one embodiment.
  • the interface 7200 may be implemented in the context of the functionality and architecture of FIGS. 35-71 .
  • the interface 7200 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • a cut or copy command with respect to data is received from the interface 7200 .
  • a paste command with respect to the data is received from the interface 7200 .
  • an additional operation is performed on the data, before the past command is executed.
  • the additional operation may add or remove formatting to the data.
  • the formatting may include text formatting, paragraph formatting, object formatting, picture formatting, and/or any other type of formatting.
  • the additional operation may include converting a first formatting of the data to a second formatting.
  • the second formatting may include a formatting of a destination associated with the paste command.
  • the additional operation may include performing an optical character recognition (OCR) on the data.
  • OCR optical character recognition
  • the additional operation may include performing the optical character recognition on the data, such that the paste command results in parsed text being pasted into a document.
  • the additional operation may be conditionally performed, based on a user instruction.
  • the user instruction may include a right-click operation.
  • a standard paste command may be distinguished from an intelligent paste command. Thus, it may be determined whether the paste command is an intelligent paste command.
  • the additional operation may be performed if it is determined that the paste command is an intelligent paste command. In this case, it may be determined whether the paste command is an intelligent paste command, based on user input.
  • the user may have an option to use a standard paste command or an intelligent paste command.
  • the intelligent paste may be an optional preference under a settings menu.
  • the user may select to apply the intelligent paste command indefinitely throughout a user session.
  • the intelligent paste command may include spell check functionality. In this case, incorrect spelling of words copied may be remedied automatically upon invoking the paste command.
  • the intelligent past command may include an option to paste using bullets. In this case, a user may paste copied text in a bullet format.
  • the bullets may be divided in a variety of ways. For example, the bullets may be divided by carriage return, key word, periods, commas, or any other punctuation, etc. In one case, options for bullet division may be offered in a preferences or settings menu.

Abstract

A system, method, and computer program product are provided for utilizing a communication channel of a mobile device by a vehicular assembly. In operation, a vehicular assembly communicates with a mobile device having a wireless communication channel. Additionally, at least one vehicular assembly function is performed utilizing the wireless communication channel of the mobile device.

Description

    RELATED APPLICATIONS
  • The present application is a continuation of U.S. patent application Ser. No. 13/287,089, filed Nov. 1, 2011, which is a continuation of U.S. patent application Ser. No. 12/340,576, now U.S. Pat. No. 8,073,590, filed on Dec. 19, 2008, which claims priority from U.S. Provisional Application No. 61/091,162, filed Aug. 22, 2008, all of which are incorporated herein by reference in their entirety for all purposes.
  • BACKGROUND AND FIELD OF THE INVENTION
  • The present invention relates to vehicular assembly functionality, and more particularly to vehicular assembly functionality in association with a mobile device.
  • SUMMARY
  • A system, method, and computer program product are provided for utilizing a communication channel of a mobile device by a vehicular assembly. In operation, a vehicular assembly communicates with a mobile device having a wireless communication channel. Additionally, at least one vehicular assembly function is performed utilizing the wireless communication channel of the mobile device.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 illustrates a communication system, in accordance with one embodiment.
  • FIG. 2 shows a representative hardware environment that may be associated with the mobile device, the servers and/or clients of FIG. 1, in accordance with one embodiment.
  • FIG. 3 shows a configuration for an automobile capable of interfacing with the mobile device of FIG. 1, in accordance with one embodiment.
  • FIG. 4 shows a method for executing commands of a mobile device utilizing a communication and entertainment system of a vehicle, in accordance with one embodiment.
  • FIG. 5A shows a method for voice-enabled access to mobile device data, in accordance with one embodiment.
  • FIG. 5B shows a method for synchronizing a mobile device and a vehicular assembly, in accordance with one embodiment.
  • FIG. 6 shows a method for voice-enabled access to mobile device data, in accordance with another embodiment.
  • FIG. 7 shows a diagram showing data that is to be received by a vehicular assembly over a period of time, in accordance with one embodiment.
  • FIG. 8A shows a method for utilizing a communication channel of a mobile device by a vehicular assembly, in accordance with one embodiment.
  • FIG. 8B shows a method for utilizing a mobile device as a platform to execute software to provide functionality via a vehicular assembly, in accordance with one embodiment.
  • FIG. 8C shows a method for navigating a network, in accordance with one embodiment.
  • FIG. 9A shows a method for utilizing a communication channel of a mobile device by a vehicular assembly, in accordance with another embodiment.
  • FIG. 9B shows a system for utilizing a communication channel of a mobile device by a vehicular assembly, in accordance with another embodiment.
  • FIG. 10A shows a method for incorporating contacts from a mobile device into a points-of-interest database of a vehicular assembly, in accordance with one embodiment.
  • FIG. 10B shows a method for social networking utilizing a vehicular assembly, in accordance with one embodiment.
  • FIG. 11 shows a method for social networking utilizing a vehicular assembly, in accordance with one embodiment.
  • FIG. 12 shows an interface for adding contacts to be displayed on a vehicular assembly, in accordance with one embodiment.
  • FIG. 13 shows an interface for displaying a contact location, in accordance with one embodiment.
  • FIG. 14A shows a method for instant messaging utilizing a vehicular assembly, in accordance with one embodiment.
  • FIG. 14B shows a method for communicating location-related information, in accordance with one embodiment.
  • FIG. 14C shows a method for voice controlled attachments, in accordance with one embodiment.
  • FIG. 15 shows a method for voice controlled attachments and for communicating location-related information, in accordance with another embodiment.
  • FIG. 16A shows a method for voice controlled attachments, in accordance with another embodiment.
  • FIG. 16B shows a method for communicating location-related information, in accordance with another embodiment.
  • FIG. 17 shows an interface for communicating and displaying location-related information, in accordance with another embodiment.
  • FIG. 18 shows a method for programmable mobile device controls, in accordance with one embodiment.
  • FIG. 19 shows a method for programmable mobile device controls, in accordance with another embodiment.
  • FIG. 20 shows a system for programmable mobile device controls, in accordance with one embodiment.
  • FIG. 21 shows a method for providing enhanced passenger display functionality, in accordance with one embodiment.
  • FIG. 22 shows a method for providing enhanced passenger display functionality, in accordance with another embodiment.
  • FIG. 23 shows a system for providing enhanced passenger display functionality, in accordance with one embodiment.
  • FIG. 24 shows a method for community-based traffic condition information, in accordance with one embodiment.
  • FIG. 25 shows a method for community-based traffic condition information, in accordance with another embodiment.
  • FIG. 26 shows a method for location based messaging, in accordance with one embodiment.
  • FIG. 27 shows a method for location based messaging, in accordance with another embodiment.
  • FIG. 28 shows an interface for location based messaging, in accordance with one embodiment.
  • FIG. 29 shows a method for generating navigation information based on calendar information, in accordance with one embodiment.
  • FIG. 30 shows a method for generating navigation information based on calendar information, in accordance with another embodiment.
  • FIG. 31 shows an interface for generating navigation information based on calendar information, in accordance with one embodiment.
  • FIG. 32 shows a method for creating a map in association with an address, in accordance with one embodiment.
  • FIG. 33 shows an interface for creating a map in association with an address, in accordance with one embodiment.
  • FIG. 34 shows a method for selectively retrieving data from a mobile device in communication with a vehicular assembly, in accordance with one embodiment.
  • FIG. 35 shows a system for accessing one or more online applications, in accordance with one embodiment.
  • FIG. 36 shows a representative environment that may be associated with the servers and/or clients of FIG. 35, in accordance with one embodiment.
  • FIG. 37 shows a method for linking a plurality of tags with a document, in accordance with one embodiment.
  • FIG. 38 shows a method for linking a plurality of tags with a document, in accordance with another embodiment.
  • FIG. 39 shows a method for suggesting tags or automatically selecting tags, in accordance with another embodiment.
  • FIG. 40 shows an interface for linking a plurality of tags with a document, in accordance with one embodiment.
  • FIG. 41 shows a method for applying a function of an online application to a file generated by a second online application, in accordance with one embodiment.
  • FIG. 42 shows a system for applying a function of an online application to a file generated by a second online application, in accordance with one embodiment.
  • FIG. 43 shows a method for applying a function of an online application to a file generated by a second online application, in accordance with one embodiment.
  • FIG. 44 shows a network browser for applying a function of an online application to a file generated by a second online application, in accordance with one embodiment.
  • FIG. 45 shows a method for accommodating different online applications, in accordance with one embodiment.
  • FIG. 46 shows a method for accommodating different online applications, in accordance with one embodiment.
  • FIG. 47 shows a network browser plugin for accommodating different online applications, in accordance with one embodiment.
  • FIG. 48 shows a network browser for accommodating different online applications, in accordance with one embodiment.
  • FIG. 49 shows a method for storing attachments of an electronic message in a central location associated with an online application from which the attachment was generated, in accordance with one embodiment.
  • FIG. 50 shows a method for storing attachments of an electronic message in a central location associated with an online application from which the attachment was generated, in accordance with one embodiment.
  • FIG. 51 shows a system for storing attachments of an electronic message in a central location associated with an online application from which the attachment was generated, in accordance with one embodiment.
  • FIG. 52 shows an interface for an electronic message application for identifying a file associated with an electronic message, in accordance with one embodiment.
  • FIG. 53 shows a method for displaying a single interface that includes a plurality of files, in accordance with one embodiment.
  • FIG. 54 shows a method for displaying a single interface that includes a plurality of files, in accordance with another embodiment.
  • FIG. 55 shows a data structure of global login information for a single interface that includes a plurality of files associated with a plurality of different online applications, in accordance with one embodiment.
  • FIG. 56 shows a file structure shown in a single interface that includes a plurality of files associated with a plurality of different online applications, in accordance with one embodiment.
  • FIG. 57 shows a network browser for displaying a single interface that includes a plurality of files, in accordance with one embodiment.
  • FIG. 58 shows a method for utilizing a network browser as a desktop, in accordance with one embodiment.
  • FIG. 59 shows a method for utilizing a network browser as a desktop, in accordance with another embodiment.
  • FIG. 60 shows a network browser for using as a desktop, in accordance with another embodiment.
  • FIG. 61 shows a network browser for using as a desktop, in accordance with another embodiment.
  • FIG. 62 shows a method of advertising in conjunction with online applications, in accordance with one embodiment.
  • FIG. 63 shows a method of advertising in conjunction with online applications, in accordance with one embodiment.
  • FIG. 64 shows a network browser for viewing advertisements in conjunction with files associated with online applications, in accordance with one embodiment.
  • FIG. 65 shows a method for performing a search in conjunction with use of an online application, in accordance with one embodiment.
  • FIG. 66 shows an interface for performing a search in conjunction with use of an online application, in accordance with one embodiment.
  • FIG. 67 shows a method for focusing a search, in accordance with one embodiment.
  • FIG. 68 shows an interface for focusing a search, in accordance with one embodiment.
  • FIG. 69 shows a method for executing an online application on a mobile device, in accordance with one embodiment.
  • FIG. 70 shows an interface for executing an online application on a mobile device, in accordance with one embodiment.
  • FIG. 71 shows a method for intelligent cutting and pasting, in accordance with one embodiment.
  • FIG. 72 shows an interface for intelligent cutting and pasting, in accordance with one embodiment.
  • DETAILED DESCRIPTION
  • FIG. 1 illustrates a communication system 100, in accordance with one embodiment. As shown, a mobile device 102 is capable of interfacing with a vehicle 104 including various components of the vehicle 104. The mobile device 102 may include any mobile device capable of interfacing with a vehicle 104 including a lap-top computer, hand-held computer, mobile phone, personal digital assistant (PDA), a music player (e.g. a digital music player, etc.), a GPS device, etc.
  • In various embodiments, the mobile device 102 may communicate with a vehicular assembly system (e.g. a communication and entertainment system, etc.) corresponding to the vehicle 104 via a wireless connection (e.g. Bluetooth, etc.), or via a cable connection (e.g. a USB cable, a serial cable, etc.). As an option, the mobile device 102 may interface with the communication and entertainment system vehicle utilizing an I/O port 106 of the vehicle 104. In various embodiments, the I/O port 106 may include a serial port, a USB port, FireWire/i.LINK ports, etc. In one embodiment, the I/O port 106 may include a wireless communication port.
  • Using this interface, the mobile device 102 may interface with various components and functionality of the vehicle, such as an onboard computer system including a processor 108, memory 110 (e.g. DRAM, flash memory, etc.), an onboard navigation system 112, displays (e.g. a central display 114, and one or more passenger displays 116, etc.), audio communication devices (e.g. speakers 118, a microphone 120, etc.), and various other components and functionality of the vehicle included in the vehicular assembly system. The interface may also allow a user of the vehicle 104 to access and/or control the mobile device 102 utilizing controls associated with the vehicle 104, such as steering wheel, dashboard, and radio controls 122. Additionally, the user may access and/or control the mobile device utilizing the microphone 120 through voice commands.
  • Using these components and controls, a user may access and utilize one or more wireless networks 124 associated with the mobile device 102. Coupled to the networks 124 may be servers 126 which are capable of communicating over the networks 124. Also coupled to the networks 124 and the servers 126 is a plurality of clients 128.
  • Such servers 126 and/or clients 128 may each include a desktop computer, lap-top computer, hand-held computer, mobile phone, personal digital assistant (PDA), peripheral (e.g. printer, etc.), any component of a computer, and/or any other type of logic. In order to facilitate communication among the networks 124, at least one gateway is optionally coupled therebetween.
  • It should be noted that the computer system of the vehicle 104 may include various software and applications for facilitating communication between the vehicle 104 and the mobile device 102. For example, in various embodiments, the vehicle computer system may include an operating system (e.g. Windows Mobile, Linux, etc.), embedded speech recognition software, telephone call steering systems, automated telephone directory services, character recognition software, and imaging software.
  • FIG. 2 shows a representative hardware environment that may be associated with the mobile device 102, the servers 126 and/or clients 128 of FIG. 1, in accordance with one embodiment. Such figure illustrates a typical hardware configuration of a device in accordance with one embodiment having a central processing unit 210, such as a microprocessor, and a number of other units interconnected via a system bus 212.
  • The device shown in FIG. 2 includes a Random Access Memory (RAM) 214, Read Only Memory (ROM) 216, an I/O adapter 218 for connecting peripheral devices such as disk storage units 220 to the bus 212, a user interface adapter 222 for optionally connecting an input interface 224 (e.g. a keyboard, etc.), a mouse 226, a speaker 228, a microphone 232, and/or other user interface devices such as a touch screen (not shown) to the bus 212, communication adapter 234 for connecting the workstation to a communication network 235 (e.g., a data processing network) and a display adapter 236 for connecting the bus 212 to a display device 238.
  • The device may have resident thereon any desired operating system. It will be appreciated that an embodiment may also be implemented on platforms and operating systems other than those mentioned. One embodiment may be written using JAVA, C, and/or C++ language, or other programming languages, along with an object oriented programming methodology. Object oriented programming (OOP) has become increasingly used to develop complex applications.
  • Of course, the various embodiments set forth herein may be implemented utilizing hardware, software, or any desired combination thereof. For that matter, any type of logic may be utilized which is capable of implementing the various functionality set forth herein.
  • FIG. 3 shows a configuration 300 for an automobile capable of interfacing with the mobile device 102 of FIG. 1, in accordance with one embodiment. As shown, the mobile device 102 may be coupled to the automobile utilizing a wired connection, such as a USB connection, etc., or a wireless connection such as Bluetooth, etc.
  • Using this connection, a user (e.g. a driver or passenger, etc.) may operate the mobile device 102, via the automobile, using voice commands, steering wheel controls 302, radio controls 304, and/or dashboard controls. Furthermore, the mobile device may communicate with vehicle displays (e.g. main displays, passenger displays 306, etc.) such that content associated with the mobile device (e.g. stored content, streaming content, etc.) may be displayed. For example, the mobile device may communicate stored video to at least one of the passenger displays 306. Additionally, the mobile device may communicate streaming or stored audio such that the audio may be transmitted utilizing an audio system of the automobile.
  • By interfacing the mobile device 102 with the automobile, voice-activated, hands-free calling may also be implanted. For example, a “Push to Talk” button on the steering wheel may allow the user to access contacts stored in a contact list of the mobile device 102 by voice command. Furthermore, the user may be able to switch use from the mobile device 102 to the vehicle control system transparently. For example, a user may push a “Telephone” button on the steering wheel to automatically transfer a current telephone call to the automobile communication system of the automobile without having to hang up and call again.
  • As an option, the text messages received by the mobile device 102 may be converted to audio utilizing a vehicle on-board processor and associated voice-to-text software. The communication system of automobile may then output the converted text in an audio stream via speakers. In one embodiment, the communication system associated with the automobile may include a main display 308 for displaying activities associated with the mobile device 102, along with other functionality (e.g. navigational functionality, etc.).
  • For example, the communication system may display any feature that is capable of being displayed using the mobile device 102. In various embodiments, such features may include caller ID, call waiting, conference calling, a caller log, a list of contacts, a signal strength icon, and a phone battery charge icon, a music list, a content list, etc. Additionally, voice-activated music may also be implemented. For example, the on-board communication and entertainment system may allows a user to browse through music collections by genre, album, artist, and song title using simple voice commands.
  • FIG. 4 shows a method 400 for executing commands of a mobile device utilizing a communication and entertainment system of a vehicle, in accordance with one embodiment. As an option, the method 400 may be implemented in the context of the architecture and environment of FIGS. 1-3. Of course, however, the method 400 may be carried out in any desired environment.
  • As shown, it is determined whether a connected is made between a mobile device and a computer system of a vehicle (i.e. a communication and entertainment system). See operation 402. Data to be controlled by voice commands is then retrieved from the mobile device. See operation 404. In various embodiments, the data may include music, contacts, and other data.
  • Tags are then generated, based on the data. See operation 406. Once the tags are generated, it is determined whether a trigger signal is received. See operation 408. For example, the trigger signal may be initiated by a button on a vehicular consol, steering wheel, or a key word or phrase used for triggering.
  • If a trigger signal is received, it is determined whether an utterance is received. See operation 410. In this case, the utterance may be a command from a user. As another option, the utterance may be an inquiry from the user. If an utterance is received, the utterance is compared against the tags. See operation 412.
  • It is then determined whether the utterance and one of the tags are a sufficient match. See operation 414. In this case, the determination may be based on a threshold. This threshold may be a pre-established threshold based on a error tolerance, for example.
  • If the utterance fails to match any tag sufficiently, the user is prompted for a verification. See operation 416. In one embodiment, the verification may include outputting an audible inquiry. The audible inquiry may include a closest matched tag to the utterance. As an option, the verification may occur multiple times, with every subsequent inquiry including the next closest match to the utterance. In one embodiment, the number of verifications may be user configurable.
  • Once it is determined that the utterance matches one of the tags, the command is confirmed and executed. See operations 420-422. For example, if the utterance included a command “Call BOB,” the utterance would be compared against tags to determine if a tag corresponds to “BOB,” and if it does, the call command would be confirmed and BOB would be called.
  • FIG. 5A shows a method 500 for voice-enabled access to mobile device data, in accordance with one embodiment. As an option, the method 500 may be implemented in the context of the architecture and environment of FIGS. 1-4. Of course, however, the method 500 may be carried out in any desired environment.
  • As shown, data from a mobile device is received utilizing a vehicular assembly. See operation 502. In this case, the data includes at least one of electronic message data, calendar data, and bookmark data. In various other embodiments, the data may further include data relating to stocks (e.g. a stock symbol, saved stock quotes, etc.), recent call data, ring tone data, photos, notes, email configurations, etc.
  • Furthermore, the vehicular assembly may include any interface for receiving data from the mobile device, along with processing/computing devices, displays, memory, software, and various other functionality. Thus, the vehicle assembly may include any computer system (e.g. a communication and entertainment system, navigation system, etc.) corresponding to the vehicle. In various embodiments, the data may be received over a wireless channel (e.g. Bluetooth, etc.) or a wired channel (e.g. a USB channel, etc.).
  • In one embodiment, the data may be retrieved from the mobile device in response to an initial communication of the mobile device and the vehicular assembly. For example, upon establishing a connection between the mobile device and the vehicle, the data may be automatically retrieved from the mobile device.
  • In another embodiment, a user may be prompted to authorize data transfer between the mobile device and the vehicle. As an option, the initial communication between the mobile device and the vehicle may include a verification. For example, it may be verified that the mobile device is authorize to connect using the vehicular assembly.
  • In various embodiments, all of the data on the mobile device may be received, or a subset of the data may be received. For example, only a subset of the data may be received from the mobile device for generating the tags, to reduce a time required for initialization. In this case, the subset of data to be received may include a pre-defined subset of data.
  • As an option, a user may have the ability to select data to be received. For example, the user may select categories of data to be received or individual data to be relieved. In one embodiment, this configuration may be a configuration stored on the mobile device. In another embodiment, this configuration may be a configuration stored in an on-board computer system of the vehicle.
  • In various embodiments, the user may configure these settings using the on-board computer system of the vehicle, the mobile device, and/or another computer system to which the mobile device may be connected. As another option, the configuration may include a default configuration setting defining data or data categories to be received.
  • In one embodiment, only updated or recent data may be received. For example, the configuration may be set such that only data updated or stored on the mobile device since the communication between the vehicle's computer system and the mobile device is received. In this way, the subset of the data may be selected based on a predetermined criteria selected by a user, based on previous use of the mobile device or vehicular assembly, and/or based on whether the data was previously received.
  • In another embodiment, the predetermined criteria may be based on what functionality of a vehicle associated with the vehicular assembly supports. For example, the mobile device may include GPS functionality but the vehicle may not. In this case, the data associated with the GPS functionality may not be retrieved.
  • Once the data is retrieved, tags associated with the data are generated. See operation 504. In the context of the present description, tags refer to any keyword or term assigned to data. As an option, the tags may be stored in the vehicular assembly. As another option, the tags associated with a portion of the data other than the subset to be retrieved may be stored in the vehicular assembly.
  • Additionally, an utterance is received. See operation 506. The utterance may include any audible command or inquiry. For example, the utterance may include a command to dial a number, play music, send an email, send a text mail, access a calendar, etc.
  • Still yet, access to the data is provided in response to the utterance, utilizing the tags. See operation 508. In various embodiments, the data may be provided in an audible form and/or a visual form. In some cases, the form in which the data is provided may depend on the command. In other cases, the form in which the data is provided may depend on user preferences.
  • It should be noted that, by only retrieving a subset of data from the mobile device, an initialization time may be minimized. In this case, the initialization time may correlate to the amount of tags to be generated. Thus, by only retrieving a subset of the data, time may be conserved that may otherwise be wasted on generating tags that may not necessarily be used by a user.
  • Additionally, in one embodiment, a first portion of data may be received from a mobile device utilizing a vehicular assembly. Subsequently, a first set of tags associated with the first portion of the data may be generated. An utterance may then be received, and while simultaneously providing access to the first portion of the data in response to the utterance utilizing the first set of tags, a second portion of data may be received from the mobile device utilizing the vehicular assembly, and a second set of tags associated with the second portion of the data may be generated. Thus, the second portion of the data may be received after the first set of tags associated with the first portion of the data are generated to minimize an initialization time associated with the first portion of the data.
  • In this way, a first set of tags may be generated for data corresponding to functionality that a user may desire to use immediately (e.g. music, contacts, etc.), such that access may be allowed the data. While accessing this data, or having the ability to access this data, other data not necessarily needed immediately (e.g. electronic message data, calendar data, bookmark data, etc.) may be retrieved and tags generated. Upon completion of this segmented initialization, the user would have access to all desired data. In various embodiments, this segmented initialization may include one or more stages.
  • In addition to retrieving data from the mobile device and generating tags based on that data, the mobile device and the vehicular assembly may be synchronized. FIG. 5B shows a method 550 for synchronizing a mobile device and a vehicular assembly, in accordance with one embodiment. As an option, the method 550 may be implemented in the context of the architecture and environment of FIGS. 1-5A. Of course, however, the method 550 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, a vehicular assembly is utilized to communicate with a mobile device. See operation 552. First data stored in the vehicular assembly is identified. See operation 554. Additionally, second data stored in the mobile device in identified. See operation 556. Further, the first data and the second data are synchronized. See operation 558.
  • In one embodiment, at least one of the first data and the second data may include favorite stations. For example, a user may have updated a favorite station list using the vehicular assembly or the mobile device. In this case, the favorite station list of the mobile device and the vehicular assembly may be synchronized. In one embodiment, the favorite stations may be updated on the vehicular assembly by programming a new station. In this case, the new station may be stored in the mobile device upon synchronization.
  • In another embodiment, a new station may be configured on the mobile device. For example, using the mobile device, a user may configure a radio station to stream music to the device. This station information may then be stored in the vehicular assembly upon synchronization.
  • In still another embodiment, at least one of the first data and the second data may include includes digital media. For example, in various embodiments the digital media may include music or video. In this case, music stored on the mobile device may updated by purchasing or uploading music to the mobile device using another computer system. In this case, upon connecting with the vehicular assembly, the data stored utilizing the vehicular assembly may be updated with the new music.
  • In yet another embodiment, the first data and the second data may include contact information. In this case, the content information may include a name, phone number, and home address, a business address, an email address, etc.
  • Still yet, in one embodiment, the first data and the second data may include points-of-interest. In the context of the present description, points-of-interest refer to points corresponding to coordinates (e.g. GPS coordinates, map coordinates, etc.) that have been defined as a point-of interest. In one embodiment, the points-of-interest may be user defined points of interest.
  • For example, a user may define a point of interest utilizing a navigational system corresponding to the vehicle or the vehicle assembly. Upon connecting to the mobile device, the point-of interest may be updated and stored on the mobile device. As another example, the user may define a point-of-interest using the mobile device. Upon connecting to the mobile device, the point-of interest may be updated and stored on the vehicular assembly.
  • In another embodiment, at least one of the first and the second data may include software. For example, a software application may be installed on the mobile device. Upon connecting to the vehicular assembly, the software application may be installed on the vehicular assembly.
  • In yet another embodiment, at least one of the first and the second data may include a software patch or update. For example, the mobile device may upload a software patch of update via a wireless connection or via a connection with another computer system. Upon connecting the mobile device, the software patch or update may be stored on the vehicular assembly system. Subsequently, the software patch or update may be installed.
  • As an option, the software patch or update may correspond to an operating system of the vehicular assembly. In this case, synchronizing the data may allow the operating system of the vehicular assembly to be updated via the mobile device. As another option, the software, software patch, or software update may include antivirus software, updates, or patches.
  • In another embodiment, at least one of the first and the second data may include information corresponding to the vehicular assembly. In this case, the information may include hardware information, software information, revision information, version information, operating system information, etc. As an option, this information may be utilized by the mobile device to obtain software updates for the vehicular assembly.
  • In one embodiment, a first subset of at least one of the first data and the second data that has already been synchronized may be determined. Subsequently, only a second subset of at least one of the first data and the second data that has not already been synchronized may then be synchronized. This may allow for a more efficient synchronization process because processing power and time may be allocated to data that has not been synchronized.
  • More illustrative information will now be set forth regarding various optional architectures and features with which the foregoing technique may or may not be implemented, per the desires of the user. It should be strongly noted that the following information is set forth for illustrative purposes and should not be construed as limiting in any manner. Any of the following features may be optionally incorporated with or without the exclusion of other features described.
  • FIG. 6 shows a method 600 for voice-enabled access to mobile device data, in accordance with another embodiment. As an option, the method 600 may be implemented in the context of the architecture and environment of FIGS. 1-5B. Of course, however, the method 600 may be carried out in any desired environment. Again, the aforementioned definitions may apply during the present description.
  • As shown, it is determined whether a connection is made with a mobile device. See operation 602. Once a connection has been made, predetermined criteria is identified that may be used to select a subset of data to be received from the mobile device for generating tags. See operation 604.
  • For example, the predetermined criteria may be based on previous use of the mobile device or vehicular assembly, whether the data was previously received, what functionality of a vehicle associated with the vehicular assembly supports, and/or any other user or automatically defined criteria.
  • Once the criteria is identified, a subset of data to be retrieved from the mobile device is identified based on the criteria. See operation 606. Only the identified subset of data is retrieved. See operation 608. Tags are then generated for only the retrieved subset of data. See operation 610. Subsequently, voice enabled access is allowed to all data with corresponding tags. See operation 612.
  • FIG. 7 shows a diagram 700 showing data that is to be received by a vehicular assembly over a period of time, in accordance with one embodiment. As an option, the method 700 may be implemented in the context of the architecture and environment of FIGS. 1-6. Of course, however, the method 700 may be carried out in any desired environment. Again, the aforementioned definitions may apply during the present description.
  • As shown, the first time a mobile device is connected to a vehicular assembly (e.g. through a wireless or wired connection), all data that is selected to be received by or synchronized with the vehicular assembly is received by the vehicular assembly and tags are generated. The next time the mobile device is connected to the vehicular assembly, not all of the data needs to be received by the vehicular assembly because tags have already been generated and stored from the first time the mobile device was connected. Thus, only the data on the mobile device that has not been previously received or synchronized by the vehicular assembly may be received. Of course, the data to be received may be based on criteria determining a subset of data to be received, as mentioned above.
  • Once the data that has not previously been received is received by the vehicular assembly, the vehicular assembly may generate tags for such data and store the tags with any previously generated tags. A third time the mobile device is connected, the same sequence of events may occur, such that only new or updated data on the mobile device is received for tag generation.
  • It should be noted, that although FIG. 7 is described in the context of tag generation, a similar sequence of events may occur for data synchronization between the mobile device and the vehicular assembly. For example, once connected, only new or updated data on the mobile device or the vehicular assembly may be synchronized. In one embodiments, data to be received for tag generation and/or data to be synchronized between the device and the vehicular assembly may be marked with a flag. In another embodiment, a time stamp may be utilized to determine whether data is to be received for tag generation and/or data to be synchronized between the device and the vehicular assembly. In this way, an overall initialization time may be minimized when initializing a mobile device and/or the vehicular assembly such that voice-enabled access to mobile device data may be enabled.
  • In addition to providing voice-enabled access to mobile device data and accessing the mobile device functionality, in another embodiment, a communication channel of the mobile device may be utilized by the vehicular assembly to perform at least one vehicular assembly function. FIG. 8A shows a method 800 for utilizing a communication channel of a mobile device by a vehicular assembly, in accordance with one embodiment. As an option, the method 800 may be implemented in the context of the architecture and environment of FIGS. 1-7. Of course, however, the method 800 may be carried out in any desired environment. Again, the aforementioned definitions may apply during the present description.
  • As shown, a vehicular assembly communicates with a mobile device having a wireless communication channel (e.g. a broadband wireless channel, a cellular wireless channel, etc.). See operation 802. Additionally, at least one vehicular assembly function is performed utilizing the wireless communication channel of the mobile device. See operation 804. In various embodiments, the communication between the mobile device and the vehicular assembly may be wired or wireless.
  • In the context of the present description, a vehicular assembly function refers to any function capable of being performed by the vehicular assembly. In one embodiment, the vehicular assembly function may include a navigation function. For example, the vehicular assembly may include a navigational system or an interface to a navigational system.
  • In this case, data including updated traffic data and/or updated roadway data may be received over the wireless communication channel. A navigation function may then use this data to route or reroute a path for the vehicle. As another option, the navigational information may be displayed to a user. In this way, the at least one vehicular assembly function may utilize data received over the wireless communication channel.
  • In one embodiment, the vehicular assembly function may utilize GPS data received by the vehicular assembly and/or the mobile device. For example, the vehicle assembly may receive GPS data for a particular location and utilize the mobile device to determine more information about this location. For example, a user may use navigational functionality of the vehicular assembly to find GPS coordinates for a business. The wireless connection of the mobile device may then be utilized to access information relating to the business such that the information may be displayed using a display associated with the vehicular assembly.
  • In another embodiment, the vehicular assembly function may include a communication function between a local person and a remote person. For example, the vehicular assembly may include a communication system. In this case, social network data or other contact data may be received by the mobile device. This data may be used by the communication function to be performed utilizing the wireless communication channel of the mobile device.
  • In still another embodiment, the vehicular assembly function may include a display function. In this case, digital media data may be received over the wireless communication channel of the mobile device. This digital media may be displayed on a display associated with the vehicular assembly. In one embodiment, data received from the wireless communication channel of the mobile device may be streamed directly to the display. In another embodiment, the content may be stored in the vehicular assembly and then displayed using the display.
  • Similarly, in one embodiment, the vehicular assembly function may include an audible function. In this case, audio data may be received over the wireless communication channel of the mobile device. This audio data may be played on an audio system associated with the vehicular assembly. In one embodiment, audio data received from the wireless communication channel of the mobile device may be streamed directly to the audio system. In another embodiment, the audio data may be stored in the vehicular assembly and then output using the audio system.
  • In some cases, social network data may be received over the wireless communication channel. For example, the social networking data may include a location of one of more contacts (e.g. GPS coordinates, an address, a business name, etc.), a traveling speed of one or more contacts, and a destination of one or more contacts, etc. The contacts may be predetermined people stored in a contact list of the mobile device for example.
  • This social networking data may be configured to automatically update or to be manually updated using the mobile device. For example, a mobile device of a first user may query a mobile device of a second user for the social networking data. The mobile device of the second user may then supply the requested information. As another option, the first user may manually query the second user for the social networking data using the mobile device (e.g. via a text message, etc.).
  • In either case, the vehicular assembly may utilize the social networking data received. For example, the vehicular assembly may automatically update a navigational system corresponding to the vehicular assembly with the social networking data. In one embodiment, the vehicular assembly may use this social networking data to calculate a route. As an option, this route may be calculated automatically. In one embodiment, a user may be prompted to verify the route calculation before the route is calculated.
  • It should be noted that the data received by the mobile device utilizing the wireless communication channel may either be automatically provided or a user may request the data. For example, the mobile device and/or the vehicular assembly may be configured to automatically query for the data. In this case, the query may be a periodic query.
  • As another option, the data may be provided automatically as streaming content to the mobile device. As still another option, a user may manually request the data. For example, the user may request the data utilizing the mobile device or the vehicular assembly.
  • In one embodiment, a text message may include the request. In another embodiment, the user may use a voice command directed towards the vehicular assembly or the mobile device. In this case, speech recognition software may be utilized to recognize the command an initiate the manual request. As an option, voice-to-text functionality may be utilized to issue the request. In this way, the user may use functionality associated with the vehicular assembly to request the data.
  • In addition to utilizing a communication channel of the mobile device to perform at least one vehicular assembly function, in another embodiment, the mobile device may be utilized as a platform to execute software to provide functionality via a vehicular assembly. FIG. 8B shows a method 850 for utilizing a mobile device as a platform to execute software to provide functionality via a vehicular assembly, in accordance with one embodiment. As an option, the method 850 may be implemented in the context of the architecture and environment of FIGS. 1-8A. Of course, however, the method 850 may be carried out in any desired environment. The aforementioned definitions may apply during the present description.
  • As shown, a mobile device is used to communicate with a vehicular assembly. See operation 852. Additionally, an application program is executed, utilizing the mobile device. See operation 854. Further, user input to the application program is received via the vehicular assembly. See operation 856. Still yet, functionality of the application program is outputted via the vehicular assembly, based on the input. See operation 858.
  • The application program may include any software application capable of being executed utilizing the mobile device. For example, in one embodiment, the application program may include a media player application. In various embodiments, the media player application may include an on-line radio station, an on-line video station (e.g. an on-line news station, an on-line TV station, etc.), a digital video player, a digital audio player, etc. In another embodiment, the application may include a finance related application (e.g. stocks, etc.), a web browser, a map application, a calendar application, a picture viewing application, a weather application, and/or any other application. Thus, the application program may be operable to interface with an on-line application program via a network for outputting the functionality.
  • As an option, the user input may select one of a plurality of the application programs to execute. In this case, the user input may control the application program. In one embodiment, the user input may be received by a microphone of the vehicular assembly. For example, the user may issue a voice command to execute a particular application on the mobile device.
  • In another embodiment, the user input may be received by a touch screen of the vehicular assembly. For example, icons or text may be displayed on the touch screen that correspond to applications on the mobile device. As an option, the touch screen may display a mirror image of what is displayed on the mobile device. The user may then use this touch screen to control the applications and/or the mobile device.
  • In still another embodiment, the user input may be received by a steering wheel control of the vehicular assembly. In this case, the user may input a command to select and/or control an application of the mobile device using button on the steering wheel control. As an option, results of this selection and/or control may be displayed on a display of the vehicular assembly.
  • Depending on the functionality of the application program, the functionality may be outputted via different devices of the vehicular assembly. For example, in the case that the functionality of the application program includes audio functionality (e.g. for a streaming audio application, etc.), the functionality may be outputted by a speaker of the vehicular assembly. In the case that the functionality of the application program includes visual data functionality (e.g. text, video, images, icons, etc.), the functionality may be outputted by a screen of the vehicular assembly.
  • In one embodiment, the application program may interface with a navigation system of the vehicular assembly. For example, the application program may include navigational software capable of interfacing with the navigational system. In this case, the navigational software may include maps, GPS coordinates for locations, etc.
  • As another example, the application program may include social networking software capable of providing location information, destination information, travel speed information, etc., for contacts. In this case, the social networking software may provide the navigational system with this information such that the navigation system may create routes, points-of-interest, calculate distances, etc.
  • In one embodiment, the functionality of the application program outputted via the vehicular assembly may be related to a navigation of a vehicle of which the vehicle assembly is a component. For example, the application program may supply road condition information, traffic condition information, weather information, and/or other information to the navigation system of the vehicle. Additionally, the mobile device may include a GPS system capable of supplying GPS coordinates and other navigational information to the vehicular assembly.
  • In another embodiment, the functionality of the application program outputted via the vehicular assembly may be related to a presentation of digital media in a vehicle of which the vehicle assembly is a component. For example, the functionality may be any functionality that may be output visually using a display, or audibly using speakers.
  • In still another embodiment, the functionality of the application program outputted via the vehicular assembly may be related to a communication between a user of a vehicle of which the vehicle assembly is a component and a remote entity. For example, the functionally may include a text messaging functionality, an email functionality, and a direct communication functionality, etc. that is capable of communicating with a remote entity (e.g. an individual, business, etc.). Thus, the communication functionality may include a textual communication and vocal communication. This communication functionality may be implemented and output using the vehicular assembly.
  • In one embodiment, the application program may receive updates utilizing a communication channel of the mobile device. For example, a user of the mobile device may be prompted to receive any available updates to the application program. As another option, the updates may be received automatically without user interaction.
  • As an option, the application program may be installed on the vehicular assembly utilizing the mobile device. For example, during a data synchronization process, a user may be prompted to install the application program on the vehicular assembly.
  • In one embodiment, the application program may include a program for modifying characteristics of the vehicle assembly. For example, in one embodiment, the characteristics of the vehicle assembly may include sounds associated with the vehicle assembly. In this case, the sounds may include a voice used by the vehicle assembly to convey information to a user, ring tones used by the vehicle assembly, chimes and chirps used by the vehicle assembly, etc. In another embodiment, the characteristics of the vehicle assembly may include visual objects associated with the vehicle assembly. In this case, the visual objects may include screen savers, wall paper for displays, icons, text formats, fonts, display characteristics, etc.
  • It should be noted that the vehicular assembly may include a standardized application program interface for allowing access thereto by a plurality of diverse application program developers. In this way, a versatile interface may be provided such that any application on the mobile device may be access and operated utilizing the vehicular assembly.
  • In addition to utilizing a communication channel of the mobile device to perform at least one vehicular assembly function, in another embodiment, the vehicular assembly may be utilized for navigating a network. FIG. 8C shows a method 875 for navigating a network, in accordance with one embodiment. As an option, the method 875 may be implemented in the context of the architecture and environment of FIGS. 1-8B. Of course, however, the method 875 may be carried out in any desired environment. The aforementioned definitions may apply during the present description.
  • As shown, an utterance is received utilizing a vehicular assembly. See operation 877. Additionally, a bookmark is selected, based on the utterance. See operation 879. Further, Internet content associated with the bookmark is retrieved. See operation 881.
  • In this case, a bookmark may include any pointer or link to a web page or other Internet content. In one embodiment, may include an html link to Internet content. As an option, the bookmarks may include pre-defined bookmarks. As another option, the bookmarks may be user configurable.
  • The Internet content may be any type of content accessible utilizing a bookmark. Furthermore, the Internet content may be output utilizing the vehicular assembly. In one embodiment, the content may be converted from speech-to-text. For example, the content may include one of audio news content, audio weather content, audio traffic information, audio from a user, etc. In these cases, the content may be displayed on a screen of the vehicular assembly.
  • The Internet content may also include any digital media such as streaming music, video, fictional, or non-fictional content. For example, the fictional content may include an online fictional book. The non-fictional content may include content such as news, weather, road information, or any other non-fictional content.
  • In one embodiment, the content may be converted from text-to-speech. For example, the content may include any web pages including text that are accessible using a bookmark. In these cases, the content may be output to an audio system associated with the vehicular assembly.
  • In either case, the vehicular assembly may be capable of communicating with a mobile device. In this way, the bookmark may be received from the mobile device for generating a voice tag to compare with the utterance. The Internet content may then be retrieved utilizing a communication channel of the mobile device.
  • In one embodiment, the mobile device may include a plurality of bookmarks that are accessible utilizing the vehicular assembly. For example, the mobile device may include a group of bookmarks (e.g. a folder of bookmarks, etc.) for use with the vehicular assembly. As an option, the bookmarks that are accessible utilizing the vehicular assembly may be user configurable. In this case, some bookmarks stored on the mobile device may be selected to be inaccessible from the vehicular assembly. In one embodiment, the bookmarks accessible to the vehicular assembly may be uploaded to the vehicular assembly and/or displayed to a user.
  • In one embodiment, functionality may be provided in conjunction with the Internet content. For example, the functionality may include navigation functionality such as GPS functionality, mapping functionality, etc. As another example, the functionality may include address lookup and/or telephone number lookup functionality.
  • In one embodiment, the functionality may be provided by way of an on-line application. For example, the on-line application may include a navigational application. As another example, the online application may include a database application. More information regarding online applications may be found in provisional U.S. Patent Application Ser. No. 61/022,235, titled “Mobile System, Method, And Computer Program Product For Executing An Online Application On A Mobile Device,” which is incorporated herein by reference in its entirety.
  • As an option, the Internet content may be conditionally displayed utilizing the vehicular assembly, based on movement of a vehicle of which the vehicular assembly is a component. For example, a navigational application may be displayed when the vehicle is moving whereas a media player application and streaming digital contact is displayed when the vehicle in not in motion.
  • In one embodiment, images stored on a mobile device or in an online database may be displayed utilizing the vehicular assembly. As an option, one or more of the images may be utilized as wallpaper for a display of the vehicular assembly. As another option, the images may be sequenced as a slide show.
  • In one embodiment, an online application accessed utilizing the mobile device may be utilized to create a slide show utilizing the stored images. In this case, the online application may utilize streaming audio to create the slide show. Thus, images may be sequenced while music is being played utilizing the vehicular assembly.
  • As an option, a touch screen display associated with the vehicular assembly may be utilized to select or deselect images that are displayed. In this way, a user may manually sequence through the images and also configure a slide show for automatic sequencing.
  • It should be noted that, in some cases, authentication information may be needed to access Internet content associated with a bookmark. In these cases, a user name and password may be automatically sent to a server in conjunction with retrieving the Internet content. For example, a plug-in may be utilized to automatically send the user name and password. In this case, the plug-in may be a plug-in associated with a web browser corresponding to a mobile device that is connected to the vehicular assembly.
  • FIG. 9A shows a method 900 for utilizing a communication channel of a mobile device by a vehicular assembly, in accordance with another embodiment. As an option, the method 900 may be implemented in the context of the architecture and environment of FIGS. 1-8C. Of course, however, the method 900 may be carried out in any desired environment. The aforementioned definitions may apply during the present description.
  • As shown, it is determined whether a command utterance is received by a vehicular assembly from a user. See operation 902. In this case, the command utterance may include a play command, a find command, a stop command, a start command, or any other command. In one embodiment, the command may include a command to access a bookmark.
  • If a command utterance is received from the user, a request for data is generated. See operation 904. Once the request for data is generated, the request is sent to a mobile device that is in communication with the vehicular assembly. See operation 906.
  • In one embodiment, the request may include a name of a bookmark. In another embodiment, the request may be utilized to determine a bookmark to be utilized. For example, the request may include a key word that may be utilized to determine a bookmark. In this case, the command utterance may be parsed to determine a key word for selecting a bookmark.
  • Once the request is sent to the mobile device, data associated with the request is retrieved using a communication channel of the mobile device. See operation 908. In one embodiment, the mobile device may utilize the bookmark to connect to a web page to retrieve Internet content associated with the request.
  • Once the data has been retrieved by the mobile device, the data is sent to the vehicular assembly. See operation 910. In this case, the data may be sent to the vehicular assembly by the mobile device utilizing a hard-wire connection or a wireless connection between the mobile device and the vehicular assembly. Once the data is sent to the vehicular assembly, the data may be output to a user.
  • FIG. 9B shows a system 950 for utilizing a communication channel of a mobile device by a vehicular assembly, in accordance with another embodiment. As an option, the system 950 may be implemented in the context of the architecture and environment of FIGS. 1-9A. Of course, however, the system 950 may be implemented in any desired environment. The aforementioned definitions may apply during the present description.
  • As shown, a mobile device may be in communication with a vehicular assembly. The mobile device may include a communication channel 952 for communicating with servers, online applications, and other devices. Furthermore, the mobile device may include a platform 954 capable of providing access to one or more application programs 956. In this case, the application programs 956 may be stored locally on the mobile device, on the vehicular assembly, or in a networked database.
  • Components of the vehicular assembly (e.g. a processor/memory, a navigational system, speakers, a microphone, etc.) may interface with the mobile device through an API such that the vehicular assembly may access application programs, software, data, and functionality corresponding to the mobile device.
  • In this way, any data and functionality associated with the mobile device may be accessed utilizing the vehicular assembly. In one embodiment, contact information from a mobile device may be incorporated into a points-of-interest database of a vehicular assembly.
  • FIG. 10A shows a method 1000 for incorporating contacts from a mobile device into a points-of-interest database of a vehicular assembly, in accordance with one embodiment. As an option, the method 1000 may be implemented in the context of the architecture and environment of FIGS. 1-9B. Of course, however, the method 1000 may be carried out in any desired environment. The aforementioned definitions may apply during the present description.
  • As shown, a vehicular assembly is utilized to communicate with a mobile device. See operation 1002. Contacts data is received from the mobile device at the vehicular assembly. See operation 1004. Furthermore, the contacts data is displayed utilizing the vehicular assembly. See operation 1006.
  • In the context of the present description, contacts data refers to any information corresponding to a contact or other identified entity. For example, in various embodiments, the contact data may include current location information of a contact, previous location information of a contact, future location information of a contact, destination information of a contact, travel speed information of a contact, an estimated time of arrival (ETA) of a contact, communication information of a contact, and/or any other contact data corresponding to a contact.
  • In one embodiment, the contacts data may be received from the mobile device in response to an initial communication between the mobile device and the vehicular assembly. As an option, only a subset of the contacts data may be received from the mobile device for generating the tags, to reduce a time required for initialization. In this case, the subset of the data may be selected based on a predetermined criteria, selected by a user, based on previous use of the mobile device or vehicular assembly, and/or based on whether the data was previously received.
  • In addition to displaying the contacts information utilizing the vehicular assembly, communication may be initiated with at least one contact utilizing the vehicular assembly. The communication may include textual communication or voice communication. In one embodiment, the communication with the at least one contact may be initiated by selecting the displayed contacts information for the at least one contact. For example, the contacts information may be displayed using a display including a touch screen interface. A user may touch the displayed contacts information to initiate communication with a contact.
  • In another embodiment, the communication with the at least one contact may be initiated utilizing an oral command. In this case, the oral command may include a command to call or text a contact. These commands and the communication may be executed utilizing the mobile device and an associated communication channel.
  • In one embodiment, the contacts data may be incorporated into a point-of-interest database of the vehicular assembly. For example, the vehicular assembly may include a navigation system including a database with one or more points-of-interest. The contacts data may be incorporated into this point-of-interest database such that the navigation system may utilize the contacts data.
  • As an option, a route may be determined between a current location of a vehicle associated with the vehicular assembly and at least one contact represented by the point-of-interest database. This information and other information associated with at least one contact represented by the point-of-interest database may be presented utilizing the vehicular assembly.
  • For example, the information displayed may include a permanent location of the at least one contact, a current location of the at least one contact, a picture of the at least one contact, a destination of the at least one contact, an ETA to a destination, travel statistics of the at least one contact, and any other information relating to the at least one contact. It should be noted that the contacts data may include static and/or dynamic data.
  • In one embodiment, the contacts data may be periodically supplied to the mobile device. In this case, the contacts data may be periodically supplied by one or more contacts and/or a third party service capable of supplying the contacts information. In another embodiment, the mobile device may periodically query one or more contacts or a third party service for the contacts information. In this way, the contacts information may be provided in real-time, near real-time, automatically, or manually.
  • For example, contacts information including GPS coordinates for a first contact may retrieved by the mobile device. The GPS coordinates may be utilized to track the first contact. In one embodiment, the first contact may be tracked and the tracking may be displayed utilizing the vehicular assembly. As an option, a picture of the first contact may be displayed as part of the tracking. To communicate with the first contact, a user may select the picture of the first contact by touching the picture on a touch screen display, for example.
  • In one embodiment, the vehicular assembly may be utilized for social networking. FIG. 10B shows a method 1050 for social networking utilizing a vehicular assembly, in accordance with one embodiment. As an option, the method 1050 may be implemented in the context of the architecture and environment of FIGS. 1-10A. Of course, however, the method 1050 may be carried out in any desired environment. The aforementioned definitions may apply during the present description.
  • As shown, a vehicular assembly is utilized to communicate with a mobile device. See operation 1052. Information about social contacts is received, utilizing the mobile device. See operation 1054. Further, the information about social contacts is displayed, utilizing the vehicular assembly. See operation 1056.
  • In the context of the present description, social contacts refer to any contacts that are determined to be contacts associated with social activity. For example, a user may define a contact as a social contact as opposed to a business contact. In one embodiment, social contacts may be any contact saved as a group or in a folder including primarily social contacts. As an option, a user may configure a contact to be a social contact (e.g. by selecting a “social contact” select box, etc.).
  • As another option, a contact may be determined to be a social contact automatically based on criteria for defining a social contact. In various embodiments, such criteria may include a frequency of interaction with the contact (e.g. a number of communication instances, etc.), a duration or average duration of interactions, a method of communication (e.g. email, text messaging, instant messaging, telephone or other voice communication, etc.), a formality of the communication (e.g. based on a spelling and/or grammar check, etc.), and/or various other criteria.
  • Additionally, the information about the social contact may include any information relating to a contact, a device used by the contact, a location of the contact, a destination of a contact, movement or travel information and/or statistics of a contact, and/or any other information associated with the contact.
  • In one embodiment, the information may include a status of the social contacts. For example, the status may include at least one of available and unavailable, where available indicates that the contact is available for communication and unavailable indicates that the client is not available for communication. In various embodiments, the status of the social contacts may be indicated by an icon, text, pictures, and various other indicators.
  • In one embodiment, the information may include which of a plurality of contacts is in at least one location. For example, the at least one location may include a vehicle. Thus, the information may indicate which contacts are in the vehicle.
  • As an option, a location of the vehicle may be displayed on a map. In this case, the vehicle may be displayed as a vehicle icon. Additionally, the location of the vehicle on the map may be updated in real-time or near real-time, utilizing location information received through the communication channel of the mobile device. As noted above, this information may be provided manually or automatically.
  • Using the display of the vehicular assembly, the vehicle may be displayed on the map with identifiers identifying each of the plurality of contacts. In various embodiments, the identifiers may include pictures, text (e.g. names, etc.), icons, and/or various other identifiers.
  • In one embodiment, the information of which contacts are in the vehicle may be provided by mobile devices from each of the contacts. For example, a mobile device, such as a cell phone, may provide location information (e.g. GPS coordinates, etc.) to a user. This location information may be provided to the vehicular assembly and may be used by the mobile device or the vehicular assembly to determine whether the contact is located in the vehicle.
  • In another embodiment, a contact may use a vehicular assembly or a mobile device associated with the contact to provide the information indicating the location of the contact. For example, a display of a vehicular assembly of the vehicle in which the contact is located may provide the contact with an interface for indicating that the contact is in the vehicle. Once the contact provides this location information, the information may be communicated to the mobile device of the user seeking the location information.
  • In another embodiment, the information may include which of a plurality of contacts is in at least one location, where the at least one location includes a point-of-interest. The point-of-interest may include any point-of-interest such as a restaurant, bar, club, park, or any other point-of-interest.
  • As an option, the point-of-interest may be displayed on the map. In this case, an icon, picture, and/or text associated with at least one of the social contacts at the point-of-interest may also be displayed. Again, the location information of the at least one contact may be provided manually or automatically by a mobile device of the contact, a vehicular assembly of the contact, or third party service capable of providing such information.
  • It should be noted that location information for each contact may be updated on the map in real-time or near real-time. In various embodiments, the updating may be configured by a user, a social contact, and/or a third party service. Accordingly, a picture or icon corresponding to each social contact may change positions on the displayed map, based on an actual location of the social contact.
  • In one embodiment, a user may communicate with a social contact in response to a selection of the icon or other item representing the social contact on the map. Thus, upon selection of the icon, a user may be given the option of voice communication or textual communication with the social contact.
  • As an option, additional information corresponding to at least one social contact may be displayed, in response to selection of the icon or other item. For example, in various embodiments, the other information may include GPS coordinates, destination information, an ETA, a message from the social contact, a number of the social contact, a nickname of the social contact, a past location of the social contact, a status of the social contact, a mood of the social contact, media being played by a social contact, media recommendations of the social contact, and/or various other information.
  • In another embodiment, instant communication options may be provided in response to selection of the icon or other item. For example, upon selection of the icon, a user may be presented with an option to update the contact associated with that icon with information such as an automatically provided ETA (e.g. calculated by the vehicular assembly or the mobile device, etc.), a status, predefined text messages, and other information.
  • In still another embodiment, driving directions may be provided to a location of the at least one social contact, in response to a selection of the icon. For example, in response to selecting the icon, a navigation system associated with the vehicular assembly or the mobile device may calculate driving directions to the social contact. In this case, the navigation system may utilize GPS coordinates to calculate the directions. The GPS coordinates may include coordinates associated with a mobile device of the social contact and/or a location of the social contact (e.g. coordinates of a vehicle, point-of-interest, etc.).
  • In one embodiment, at least one point-of-interest between a current location and a location of at least one social contact may be displayed, in response to selection of the icon. For example, upon selection of the icon, a point-of-interest between a location of the user who selected the icon and the location of the social contact associated with the icon may be determined and displayed. In this way, a meeting point may be established between the social contact and the user.
  • In one embodiment, the user may have the ability to select a type of point-of-interest to be displayed. For example, the user may select that a restaurant, a gas station, a bar, or other point-of-interest is the point-of-interest to be displayed. As an option, all available points-of-interest may be displayed.
  • In one embodiment, selecting the point-of-interest between the user and the social contact may provide the social contact with selected point-of-interest. For example, upon selecting a meeting point using a display of the vehicular assembly, the vehicular assembly may communicate the selection to the mobile device such that the mobile device may use the communication channel to provide a mobile device of the social contact with the selection. As an option, a display associated with a vehicular assembly of the social contact may then automatically display the selection.
  • Alternatively, the social contact may select a meeting point and the selection may be communicated to the mobile device of the user. The mobile device of the user may then communicate this selection to the vehicular assembly of the user such that a display is automatically updated with the selection.
  • As an option, driving directions may be provided to the point-of-interest if requested. For example, the user may select the point-of-interest selected by the social contact (or any point of interest between the user and the social contact), and driving directions to the point-of-interest may be provided (e.g. based on coordinates of a current user location and the coordinates of the point-of-interest, etc.).
  • FIG. 11 shows a method 1100 for social networking utilizing a vehicular assembly, in accordance with one embodiment. As an option, the method 1100 may be implemented in the context of the architecture and environment of FIGS. 1-10B. Of course, however, the method 1100 may be carried out in any desired environment. Again, the aforementioned definitions may apply during the present description.
  • As shown, it is determined whether a vehicular assembly makes a connection with a mobile device. See operation 1102. Once a connection is made, contact information is retrieved from the mobile device. See operation 1104.
  • In one embodiment, the contact information may include all contact information or all new contact information stored on the device. In another embodiment, the contact information may include only a subset of contact information that is determined to be retrieved from the mobile device. For example, the mobile device may include a folder indicating contacts to be retrieved.
  • Once the contact information is retrieved, the contact information is displayed utilizing the vehicular assembly. See operation 1106. As an option, the contact information may be displayed as a list. As another option, the contact information may be displayed on a map. As still another option, the contact information may be displayed utilizing a drop-down or pop-up list that is displayed by selecting an icon, picture, or text, associated with the contact.
  • It is then determined whether a user command is received to incorporate the contacts into a points-of-interest database. See operation 1108. In this case, incorporating the contacts in the points-of-interest database may include utilizing the contact information to determine or display a location of the contact. In one embodiment, incorporating the contacts into the points-of-interest database may be performed automatically.
  • If it is determined to incorporate the contacts into the points-of interest database, the contacts are incorporated. See operation 1110. It should be noted that incorporating the contacts into the points-of-interest database may include listing contacts whose location information is to be displayed and listing contacts whose location information is to be updated.
  • Once the contacts are incorporated, the contacts may be treated as dynamic or static points-of-interest that may be utilized with a navigation system corresponding to the vehicular assembly. See operation 1112. In this way, a location of the contacts may be monitored on a display of the vehicular assembly.
  • While using the contact information with the navigation system, it is determined whether a user request to initiate communication with a contact is received. See operation 1114. If such a request is received, communication with the contact is initiated using a communication channel of the mobile device. See operation 1116.
  • It should be noted that, location information for the contacts may be updated dynamically. Thus, in parallel with communication and navigational functionality, it is determined whether any update to a contact location is received. See operation 1118. If updated location information is received, the contact location is updated in the points-of-interest database and/or on the display of the vehicular assembly. See operation 1120.
  • FIG. 12 shows an interface 1200 for adding contacts to be displayed on a vehicular assembly, in accordance with one embodiment. As an option, the interface 1200 may be implemented in the context of the architecture and environment of FIGS. 1-11. Of course, however, the interface 1200 may be implemented in any desired environment. The aforementioned definitions may apply during the present description.
  • As shown, the interface 1200 may list a plurality of contacts. In this case, the interface 1200 may be displayed on a mobile device of a user, on a vehicular assembly display, and/or on any other suitable display.
  • In one embodiment, contacts of a user may be displayed using the interface 1200 such that a user may select to add the contact to a points-of-interest database. For example, the vehicular assembly may retrieve a list of contacts from the mobile device and display the contacts in a list on a display of the vehicular assembly. The user may then select “Add” to add the contact to a points-of-interest database.
  • In another embodiment, contacts of a user may be displayed using the interface 1200 such that a user may select to retrieve certain contacts or contact information using the vehicular assembly. For example, the vehicular assembly may retrieve a list of contacts from the mobile device and display the contacts in a list on a display of the vehicular assembly. The user may then select “Add” to retrieve the contact information.
  • As another option, the interface 1200 may allow a user to edit contact information by selecting an “Edit” button. For example, the user may edit settings corresponding to location updates for the contact. The user may also edit any other information associated with the contact.
  • In one embodiment, the interface 1200 may be displayed using the mobile device such that a user may select which contacts to be retrieved by the vehicular assembly. Furthermore, the mobile device may be utilized to edit configuration settings associated with each contact.
  • Once the contacts to be incorporated into the points-of-interest data base are selected, the navigation system of the vehicular assembly may utilize contact information to display a location of the contacts. FIG. 13 shows an interface 1300 for displaying a contact location, in accordance with one embodiment. As an option, the interface 1300 may be implemented in the context of the architecture and environment of FIGS. 1-12. Of course, however, the interface 1300 may be implemented in any desired environment. Again, the aforementioned definitions may apply during the present description.
  • As shown, a vehicle icon 1302 and other icons 1304 corresponding to points-of-interest may be displayed on a map using the interface 1300. Pictures 1306 or other indicators representing each contact selected to be displayed may be provided and displayed on the map, indicating a location of each contact. For example, one or more contacts are in a vehicle, a vehicle icon may be shown along with indicators for each contact in the vehicle.
  • Upon selection of an indicator for the contacts, additional information for the selected contact may be displayed, such as a status, directions to the contact, etc. Furthermore, upon selection of the indicator, communication options may be displayed. In this way, each contact is a customized point-of-interest including various information relating to that contact.
  • Furthermore, a user may easily initiate communication with the contact by selecting a communication option associated with an icon, picture, or other symbol corresponding to the contact. In one embodiment, the communication option may include an instant messaging option.
  • FIG. 14A shows a method 1400 for instant messaging utilizing a vehicular assembly, in accordance with one embodiment. As an option, the method 1400 may be implemented in the context of the architecture and environment of FIGS. 1-13. Of course, however, the method 1400 may be carried out in any desired environment. The aforementioned definitions may apply during the present description.
  • As shown, a vehicular assembly is utilized to communicate with a mobile device. See operation 1402. Additionally, an instant message is communicated with a remote entity via the vehicular assembly, utilizing the mobile device. See operation 1404.
  • In the context of the present description, a remote entity refers to an individual, company, organization, or system capable of communicating, receiving, transmitting or generating an instant message. Furthermore, the instant message may include any type of instant message. For example, in one embodiment, the instant message may include a short messaging service message. In another embodiment, the instant message may include a multimedia messaging service message (e.g. images, audio, video, rich text, etc.).
  • As an option, the instant message may include text converted from speech received utilizing the vehicular assembly. As another option, the instant message may include a voice message received utilizing the vehicular assembly. Additionally, the instant message may include a picture received utilizing the vehicular assembly. Still yet, the instant message may include navigation information received utilizing the vehicular assembly. In one embodiment, contact information associated with the instant message may be received from the mobile device.
  • In any of these cases, the instant message may be transmitted utilizing a communication channel of the mobile device (e.g. a cellular channel, a broadband channel, etc.). In one embodiment, a plurality of messages may be received from the remote entity. For example, another subsequent instant message may be received from the remote entity via the vehicular assembly, utilizing the mobile device. In this case, at least a portion of the instant message may be converted from text-to-speech. In one embodiment, a sender identifier of the instant message may be converted from text-to-speech. In another embodiment, a sender identifier of the instant message may be displayed utilizing a display of the vehicular assembly.
  • FIG. 14B shows a method 1450 for communicating location-related information, in accordance with one embodiment. As an option, the method 1450 may be implemented in the context of the architecture and environment of FIGS. 1-14A. Of course, however, the method 1450 may be carried out in any desired environment. The aforementioned definitions may apply during the present description.
  • As shown, a vehicular assembly is utilized to communicate with a mobile device. See operation 1452. Additionally, a location of a vehicle associated with the vehicular assembly is identified, utilizing the vehicular assembly. See operation 1454. Furthermore, information based on the location is generated. Still yet, the information is communicated utilizing the mobile device. See operation 1456.
  • In various embodiments, the information may be generated utilizing the vehicular assembly or the mobile device. Additionally, as an option, the information may be communicated utilizing an instant messaging protocol.
  • In one embodiment, a destination for a user of a vehicle associated with the vehicular assembly may be determined. In this case, the information may be generated based on the location and the destination. As an option, the information may be automatically generated and automatically transmitted. For example, the information may be automatically transmitted on a periodic basis. In this case, the information may be automatically transmitted on a periodic basis until a destination is reached.
  • The information may include a variety of information based on the location. For example, in various embodiments, the information may include an estimated time of arrival, a map, a link for accessing additional information via the Internet, a current location, an alert upon the arrival at a destination, and/or various other information.
  • In one embodiment, a recipient of the information may automatically be identified based on a destination. In another embodiment, a recipient of the information may be identified utilizing a contact database of the mobile device.
  • In some cases, a request for the information may be received and an acceptance from a user may be received. In these cases, the information may be generated and communicated, in response to response to the receipt of the acceptance.
  • FIG. 14C shows a method 1475 for voice controlled attachments, in accordance with one embodiment. As an option, the method 1475 may be implemented in the context of the architecture and environment of FIGS. 1-14B. Of course, however, the method 1475 may be carried out in any desired environment. The aforementioned definitions may apply during the present description.
  • As shown, a vehicular assembly is utilized to communicate with a mobile device. See operation 1477. Additionally, a message is generated. See operation 1479. Further, an utterance is received, utilizing the vehicular assembly. See operation 1481. Still yet, an attachment is attached to the message based on the utterance. See operation 1483.
  • In various embodiments, the message may include an e-mail, an instant message, a voice message, and/or any other type of message. In the case that the message includes a voice message, the voice message may be recorded utilizing the vehicular assembly.
  • Additionally, the attachment may include various attachments such as a picture or navigation information, etc. In some cases, this navigation information may include a map. Furthermore, the navigation information may be generated utilizing a navigation system of the vehicular assembly.
  • In one embodiment, an utterance may specify a specific file to attach. As an option, the attachment may identify or include digital media. In this case, the digital media may include digital media being presented when the message is generated.
  • The message may be transmitted utilizing a communication channel of the mobile device. Additionally, a recipient of the message may be identified utilizing contact information stored on the mobile device. As an option, the receipt of the message may be automatically acknowledged.
  • FIG. 15 shows a method 1500 for voice controlled attachments and for communicating location-related information, in accordance with another embodiment. As an option, the method 1500 may be implemented in the context of the architecture and environment of FIGS. 1-14C. Of course, however, the method 1500 may be carried out in any desired environment. The aforementioned definitions may apply during the present description.
  • FIG. 16A shows a method 1600 for voice controlled attachments, in accordance with another embodiment. As an option, the method 1600 may be implemented in the context of the architecture and environment of FIGS. 1-15. Of course, however, the method 1600 may be carried out in any desired environment. The aforementioned definitions may apply during the present description.
  • FIG. 16B shows a method 1650 for communicating location-related information, in accordance with another embodiment. As an option, the method 1650 may be implemented in the context of the architecture and environment of FIGS. 1-16A. Of course, however, the method 1650 may be carried out in any desired environment. The aforementioned definitions may apply during the present description.
  • FIG. 17 shows an interface 1700 for communicating and displaying location-related information, in accordance with another embodiment. As an option, the interface 1700 may be implemented in the context of the architecture and environment of FIGS. 1-16B. Of course, however, the interface 1700 may be implemented in any desired environment. The aforementioned definitions may apply during the present description.
  • FIG. 18 shows a method 1800 for programmable mobile device controls, in accordance with one embodiment. As an option, the method 1800 may be implemented in the context of the architecture and environment of FIGS. 1-17. Of course, however, the method 1800 may be carried out in any desired environment. The aforementioned definitions may apply during the present description.
  • As shown, a vehicular assembly communicates with a mobile device. See operation 1802. Additionally, an input is received from a user. See operation 1804. Further, a control of a vehicular assembly that controls at least one aspect of the mobile device is configured, based on the input. See operation 1806.
  • The input may be received using an interface of the mobile device or the vehicular assembly. In one embodiment, the input may be received utilizing a user interface of the mobile device. In another embodiment, the input may be received utilizing a touch screen of the vehicular assembly. In yet another embodiment, the input may be received utilizing a microphone of the vehicular assembly.
  • The control may include any control of the vehicular assembly that controls at least one aspect of the mobile device. For example, the control may include a steering wheel control, a button, a touch screen, etc. Furthermore, the at least one aspect of the mobile device may include a variety of aspects including a control of an application program resident on the mobile device. In this case, the application program may include a mail application, a contacts application, a calendar application, a network browser application, and/or any other application.
  • Additionally, the at least aspect may be accessed by a single selection of the control. In this case, the at least aspect may be accessed by a plurality of user actions utilizing a menu of the mobile device.
  • In one embodiment, a current configuration of the control may be displayed on a display of a vehicular assembly. In this case, the current configuration may be displayed by displaying a plurality of the controls and an associated current aspect of the mobile device that is thereby controlled. In one embodiment, a plurality of options may be displayed with a current configuration for changing the associated current aspect of the mobile device that is controlled by the controls.
  • FIG. 19 shows a method 1900 for programmable mobile device controls, in accordance with another embodiment. As an option, the method 1900 may be implemented in the context of the architecture and environment of FIGS. 1-18. Of course, however, the method 1900 may be carried out in any desired environment. The aforementioned definitions may apply during the present description.
  • FIG. 20 shows a system 2000 for programmable mobile device controls, in accordance with one embodiment. As an option, the system 2000 may be implemented in the context of the architecture and environment of FIGS. 1-19. Of course, however, the system 2000 may be implemented in any desired environment. The aforementioned definitions may apply during the present description.
  • FIG. 21 shows a method 2100 for providing enhanced passenger display functionality, in accordance with one embodiment. As an option, the method 2100 may be implemented in the context of the architecture and environment of FIGS. 1-20. Of course, however, the method 2100 may be carried out in any desired environment. The aforementioned definitions may apply during the present description.
  • As shown, a passenger display in a vehicle is controlled. See operation 2102. Additionally, navigation information is received from a navigation system of the vehicle. See operation 2104. Furthermore, the navigation information is displayed utilizing the passenger display. See operation 2106.
  • In various embodiments, the passenger display may be positioned on a rear face of a front seat of a vehicle, attached to a roof of the vehicle, and/or located in various other passenger accessible positions. Furthermore, the passenger display may be controlled utilizing different devices. For example, the passenger display may be controllable by a central driver display. In this case, the navigation information may be selected utilizing the central driver display.
  • As an option, input may be received utilizing the passenger display. In this case, information may be displayed on the central driver display, based on the input. Thus, a passenger may recommend stopping points and/or preferences to a driver of a vehicle.
  • As an option, the navigation information may be selected utilizing the passenger display. The navigation information may include various information such as information on points-of-interest. In this case, the points-of-interest may include restaurants, locations that include a restroom, and various other information on points-of-interest.
  • In one embodiment, the points-of-interest may be filtered. For example, the points-of-interest may be filtered based on at least one of point-of-interest type, distance from a current location, an estimated time of arrival from a current location, and a distance from a current route.
  • As an option, the navigation information may also include an estimated time of arrival. In this case, the estimated time of arrival may be based on at least one of traffic conditions, current speed, and a distance from a destination.
  • FIG. 22 shows a method 2200 for providing enhanced passenger display functionality, in accordance with another embodiment. As an option, the method 2200 may be implemented in the context of the architecture and environment of FIGS. 1-21. Of course, however, the method 2200 may be carried out in any desired environment. The aforementioned definitions may apply during the present description.
  • FIG. 23 shows a system 2300 for providing enhanced passenger display functionality, in accordance with one embodiment. As an option, the system 2300 may be implemented in the context of the architecture and environment of FIGS. 1-22. Of course, however, the system 2300 may be implemented in any desired environment. The aforementioned definitions may apply during the present description.
  • FIG. 24 shows a method 2400 for community-based traffic condition information, in accordance with one embodiment. As an option, the method 2400 may be implemented in the context of the architecture and environment of FIGS. 1-23. Of course, however, the method 2400 may be carried out in any desired environment. The aforementioned definitions may apply during the present description.
  • As shown, a traffic condition of a vehicle is identified. See operation 2402. Additionally, information associated with the traffic condition is transferred to a server over a network. See operation 2404. Furthermore, community-based traffic condition data is received over the network. See operation 2406.
  • In one embodiment, the traffic condition may be identified based on a speed of the vehicle. In another embodiment, the traffic condition may be identified based on a progress of the vehicle along a predetermined route. In still another embodiment, the traffic condition may be identified based on stop and go activity of the vehicle.
  • As an option, the information associated with the traffic condition may be transferred and the community-based traffic condition data may be received via a communication channel of a mobile device in communication with a vehicular assembly associated with the vehicle. In one embodiment, the community-based traffic condition data may be periodically received. Furthermore, the community-based traffic condition data may be based, at least in part, on information received from a plurality of vehicles (e.g. contacts vehicles, vehicles associated with an organization, etc.).
  • In another embodiment, the community-based traffic condition data may include only a subset of community-based traffic condition data that is selected based on a route of the vehicle. In still another embodiment, the community-based traffic condition data may include only a subset of community-based traffic condition data that is selected based on at least one of a current location, a direction, and a speed of the vehicle.
  • As another option, the community-based traffic condition data may be based, at least in part, on information received from a traffic service. In one embodiment, the community-based traffic condition data may include statistics. In this case, the statistics may include a number of vehicles that is associated with the community-based traffic condition data. In another embodiment, the community-based traffic condition data may include only a subset of community-based traffic condition data that is selected based on a route of the vehicle.
  • It should be noted that the information may be automatically transferred. As an option, the information may be transferred in response to input by a user.
  • FIG. 25 shows a method 2500 for community-based traffic condition information, in accordance with another embodiment. As an option, the method 2500 may be implemented in the context of the architecture and environment of FIGS. 1-24. Of course, however, the method 2500 may be carried out in any desired environment. The aforementioned definitions may apply during the present description.
  • FIG. 26 shows a method 2600 for location based messaging, in accordance with one embodiment. As an option, the method 2600 may be implemented in the context of the architecture and environment of FIGS. 1-25. Of course, however, the method 2600 may be carried out in any desired environment. The aforementioned definitions may apply during the present description.
  • As shown, a message to be communicated to at least one recipient is received. See operation 2602. Furthermore, the at least one recipient is selected from a plurality of recipient candidates, based on a current location of the recipient candidates. See operation 2604. In various embodiments, the message may include an instant message, an e-mail and any other type of message.
  • In one embodiment, the current location of the recipient candidates may be determined utilizing a global positioning system carried by the recipient candidates. In this case, the current location of each recipient candidate may be received at a server, and the server may select the at least one recipient. As an option, the recipient candidates may be identified utilizing a contact database.
  • In another embodiment, the at least one recipient may be further selected from the plurality of recipient candidates, based on a current location of a sender of the message. In this case, the at least one recipient may be selected from the plurality of recipient candidates, if the current location of the sender of the message is within a predetermined distance of the current location of the recipient candidate. As another option, the at least one recipient may be selected from the plurality of recipient candidates, if a destination of the sender of the message is within a predetermined distance of the current location of the recipient candidate.
  • In one embodiment, the selected at least one recipient may be displayed on a display. In this case, the message may be sent to the at least one recipient, in response to a selection thereof by a sender of the message. It should be noted, that functionality associated with the present description may be carried out utilizing a vehicular assembly. For example, the vehicular assembly may include computer code to implement such functionality which is a component of the vehicular assembly.
  • Additionally, the vehicular assembly may be operable to communicate with a mobile device. In this case, the current location may be received and the message may be sent, utilizing a communication channel of the mobile device. Furthermore, the current location of the recipient candidates may be displayed via a display of the vehicular assembly. In another embodiment, the selecting of the at least one recipient from a plurality of recipient candidates may be based on a destination of the recipient candidates.
  • FIG. 27 shows a method 2700 for location based messaging, in accordance with another embodiment. As an option, the method 2700 may be implemented in the context of the architecture and environment of FIGS. 1-26. Of course, however, the method 2700 may be carried out in any desired environment. The aforementioned definitions may apply during the present description.
  • FIG. 28 shows an interface 2800 for location based messaging, in accordance with one embodiment. As an option, the interface 2800 may be implemented in the context of the architecture and environment of FIGS. 1-27. Of course, however, the interface 2800 may be implemented in any desired environment. The aforementioned definitions may apply during the present description.
  • FIG. 29 shows a method 2900 for generating navigation information based on calendar information, in accordance with one embodiment. As an option, the method 2900 may be implemented in the context of the architecture and environment of FIGS. 1-28. Of course, however, the method 2900 may be carried out in any desired environment. The aforementioned definitions may apply during the present description.
  • As shown, calendar information is received utilizing a vehicular assembly. See operation 2902. Additionally, driving directions are generated using the calendar information, utilizing the vehicular assembly. See operation 2904. In one embodiment, the calendar information may be used to look-up a destination using a contacts database.
  • As an option, the calendar information may be received from a mobile device in communication with the vehicular assembly. Furthermore, the calendar information may be displayed utilizing the vehicular assembly.
  • As another option, an estimated time of arrival may also be generated. In this case, the estimated time of arrival may be based on at least one of traffic conditions, current speed, and a distance from a destination. Additionally, the estimated time of arrival may be compared with a time included with the calendar information. In this case, a status may be displayed utilizing the vehicular assembly based on the comparison. The status may indicate a difference between the estimated time of arrival and the time included with the calendar information.
  • In another embodiment, a status may be communicated to a recipient based on the comparison. Furthermore, a user to may be prompted to communicate a status to a recipient based on the comparison of the estimated time of arrival and the time included with the calendar information.
  • In various embodiments, the status may be communicated utilizing an instant message, an e-mail, voice message, and using other communication mechanisms. The recipient may be identified utilizing the calendar information.
  • As an option, the status may be communicated utilizing a mobile device in communication with the vehicular assembly. For example, the status may be communicated utilizing a communication channel of the mobile device.
  • FIG. 30 shows a method 3000 for generating navigation information based on calendar information, in accordance with another embodiment. As an option, the method 3000 may be implemented in the context of the architecture and environment of FIGS. 1-29. Of course, however, the method 3000 may be carried out in any desired environment. The aforementioned definitions may apply during the present description.
  • FIG. 31 shows an interface 3100 for generating navigation information based on calendar information, in accordance with one embodiment. As an option, the interface 3100 may be implemented in the context of the architecture and environment of FIGS. 1-30. Of course, however, the interface 3100 may be implemented in any desired environment. The aforementioned definitions may apply during the present description.
  • FIG. 32 shows a method 3200 for creating a map in association with an address, in accordance with one embodiment. As an option, the method 3200 may be implemented in the context of the architecture and environment of FIGS. 1-31. Of course, however, the method 3200 may be carried out in any desired environment. The aforementioned definitions may apply during the present description.
  • As shown, a selection of an address is received. See operation 3202. Additionally, a selection of indicia in association with the selection of the address is received. See operation 3204. As an option, the indicia may be displayed in response to a right-click operation. Further, navigation information is generated in response to the selection. See operation 3206.
  • In one embodiment, the address may be a component of a web page and the icon may be available during use of a network browser. In another embodiment, the address may be a component of an electronic message and the icon may be available during use of an electronic message browser. In still another embodiment, the address may be a component of a contact and the icon may be available during use of contact database application.
  • As an option, the navigation information may include a map including an identifier of a location of the address. Furthermore, a current location may be identified (e.g. utilizing computer code associated with a navigation system, etc.). In this case, the current location may be pre-selected. Additionally, the current location may be determined utilizing a global positioning system.
  • The generated navigation information may include a variety of information such as driving directions from the current location to the address. In one embodiment, the driving directions may include a map. Furthermore, the driving directions may include a list of directions.
  • In one embodiment, the navigation information may be generated utilizing a navigation system of a vehicular assembly. In another embodiment, the navigation information may be generated utilizing a navigation system of a mobile device. As an option, the navigation information may be generated by automatically sending the address and a current location to a server, and receiving the navigation information in response. As another option, the navigation information may be generated by automatically sending the address to a server, and receiving the navigation information in response.
  • FIG. 33 shows an interface 3300 for creating a map in association with an address, in accordance with one embodiment. As an option, the interface 3300 may be implemented in the context of the architecture and environment of FIGS. 1-32. Of course, however, the interface 3300 may be implemented in any desired environment. The aforementioned definitions may apply during the present description.
  • FIG. 34 shows a method 3400 for selectively retrieving data from a mobile device in communication with a vehicular assembly, in accordance with one embodiment. As an option, the method 3400 may be implemented in the context of the architecture and environment of FIGS. 1-33. Of course, however, the method 3400 may be carried out in any desired environment. The aforementioned definitions may apply during the present description.
  • As shown, a mobile device in communication with a vehicular assembly of a vehicle is identified. See operation 3402. Additionally, a data structure corresponding to the identified mobile device is selected, the data structure being stored in memory associated with an on-board computer system of the vehicle. See operation 3404. Furthermore, data is selectively retrieved from the mobile device, based on the selected data structure. See operation 3406. Still yet, tags associated with the data are generated. See operation 3408.
  • In one embodiment, the data structure may be one of a plurality of data structures stored in the memory. In this case, each of the plurality of data structures may correspond to different mobile devices, where each of the different mobile devices may correspond to different users. As an option, the plurality of data structures may include setting information. Further, the setting information may include the data to be selectively retrieved from the mobile device.
  • In one embodiment, the setting information may be automatically configured. In another embodiment, the setting information may be automatically configured based on a previous history of use. In still another embodiment, the setting information may be manually configured. Additionally, the setting information may include a variety of information including user preferences.
  • FIG. 35 shows a system 3500 for accessing one or more online applications, in accordance with one embodiment. As shown, a plurality of networks 3502 is provided. In the context of the present network architecture 3500, the networks 3502 may each take any form including, but not limited to a local area network (LAN), a wireless network, a wide area network (WAN) such as the Internet, peer-to-peer network, etc.
  • Coupled to the networks 3502 are servers 3504, including one or more online software applications, which are capable of communicating over the networks 3502. Also coupled to the networks 3502 and the servers 3504 is a plurality of clients 3506. Such servers 3504 and/or clients 3506 may each include a desktop computer, lap-top computer, hand-held computer, mobile phone, personal digital assistant (PDA), peripheral (e.g. printer, etc.), any component of a computer, and/or any other type of logic. In order to facilitate communication among the networks 3502, at least one gateway is optionally coupled therebetween.
  • FIG. 36 shows a representative environment 3600 that may be associated with the servers 3504 and/or clients 3506 of FIG. 35, in accordance with one embodiment. As shown, the environment 3600 may include software application logic 3602, advertisement logic 3604, and third party developer logic 3606. Furthermore, storage 3608 may also be provided such that documents may be stored. In some cases, these documents may include documents associated with online applications. Additionally, other storage may be provided for various other data such as user specific information 3610.
  • Various embodiments set forth herein may be implemented utilizing hardware, software, or any desired combination thereof. For that matter, any type of logic may be utilized which is capable of implementing the various functionality set forth herein.
  • FIG. 37 shows a method 3700 for linking a plurality of tags with a document, in accordance with one embodiment. As an option, the present method 3700 may be implemented in the context of the functionality and architecture of FIGS. 35-36. Of course, however, the method 3700 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, a document generated utilizing an online document editor is identified. See operation 3702. In the context of the present description, an online document editor refers to any online editor used to generate or modify documents. For example, in various embodiments, the online document editor may include, but is not limited to, WebOffice Document Manager, Zoho Writer, Google Docs, and/or any other document editor that meets the above definition.
  • Further, the document generated may include any document capable of being generated with an editor. For example, in various embodiments, the document may include a may include, but is not limited to, a text document, any word processor document (e.g. a Microsoft Word document, Microsoft Works document, etc.), a spreadsheet document (e.g. a .xls document, etc.), a presentation document (e.g. a .ppt document, etc.), a portable document format (PDF) file, a picture, a drawing, and/or any other document that meets the above definition.
  • Additionally, a plurality of tags are determined. See operation 3704. In the context of the present description, a tag refers to any keyword, term, or phrase associated with or assigned to a piece of information (e.g. a picture, a geographic map, a blog entry, a video clip, or any document, etc.).
  • Furthermore, the tags are linked with the document. See operation 3706. As an option, the tag may be utilized to describe the document and enable keyword-based classification and searches of information associated with such document.
  • More illustrative information will now be set forth regarding various optional architectures and features with which the foregoing framework may or may not be implemented, per the desires of the user. It should be strongly noted that the following information is set forth for illustrative purposes and should not be construed as limiting in any manner. Any of the following features may be optionally incorporated with or without the exclusion of other features described.
  • FIG. 38 shows a method 3800 for linking a plurality of tags with a document, in accordance with another embodiment. As an option, the present method 3800 may be implemented in the context of the functionality and architecture of FIGS. 35-37. Of course, however, the method 3800 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, it is determined whether online documents have been created. See operation 3802. If one or more documents have been created, an interface is displayed for manually collecting tags. See operation 3804. As an option, the interface may be displayed upon saving the document. As another option, the interface may be displayed by selecting a tag creation icon or option in a menu or a toolbar.
  • Furthermore, the interface may include various functionality for manually collecting the tags. For example, the interface may include text edit boxes for manually inserting tags. The interface may also include a drop-down menu or other list of potential tags.
  • Additionally, the interface may provide suggested tags. For example, the list or drop-down menu may include a list of suggested tags. As another option, upon invocation of the interface, suggested tags may be highlighted in the created document. In this case, the interface may include text from the selected document illustrating the highlighted words or phrases to potentially be used as tags. Further, the document itself may include the highlighted words or phrases. In this case, a user may have the option to select the highlighted words or phrases (e.g. by clicking or scrolling over) utilizing a mouse.
  • In one embodiment, the tags may be manually selected from the document without by selecting any of the text in the document, not necessarily recommended tags. Further, the interface may provide a list of words in the created document with an associated number indicating the frequency of use in the document. These words may be ordered in a list from most to least use, for example. Additionally, the list may only include a certain number of the most used words in the document.
  • As another option, the tags may be recommended based on previously existing tags. For example, if a plurality of existing tags include a specific word or term, but other tags associated with those particular tags are dissimilar, a tag may be recommended that exploits this dissimilarity. As a specific example, if two existing documents have a tag that includes “apple” and another tag that includes “computer,” but the newly created document has multiple occurrences of the term “apple” and few occurrences of the term “computer” in the document, another keyword may be recommended based on the number of times found in the document (e.g. “fruit”) to distinguish the documents.
  • Once the tags have been collected, the tags are correlated with a document/index. See operation 3806. In this way, the tags may be indexed. For example, the tags may then be associated or linked with/to the document and an index location such that the tag may be utilized to access the indexed location of the document. In this case, an index may refer to any location of a data structure. Furthermore, the index may refer to any location in a database. In this way, the tags may be utilized for searching the documents.
  • Once the tags are correlated with a document/index, it is determined whether the document is to be edited. See operation 3808. For example, the document may be selected to be edited by the user. If the document is to be edited, the interface is displayed for manually collecting tags. See operation 3810. As an option, the interface may be displayed when the edited document is to be saved (e.g. when the user selects a save document option or icon, etc.).
  • Once the tags have been collected, the tags are correlated with the document/index. See operation 3812. It should be noted, that suggested tags may again be optionally displayed using the interface. Furthermore, the user may have the option to utilize previously generated tags instead of generating new or additional tags.
  • In addition to manual selection, in another embodiment, the tags may also be automatically selected. FIG. 39 shows a method 3900 for suggesting tags or automatically selecting tags, in accordance with another embodiment. As an option, the present method 3900 may be implemented in the context of the functionality and architecture of FIGS. 35-38. Of course, however, the method 3900 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, words in a document are parsed. See operation 3902. In the context of the present description, parsing refers to transforming text into a word or data structure. For example, in various embodiments, parsing may include, but is not limited to, extracting words from text, extracting phrases from text, extracting symbols from text, lexical functional grammar parsing, head-driven phrase structure grammar parsing, shallow parsing, dependency grammar parsing, etc.
  • Once the words in the document have been parsed, repeated words are identified. See operation 3904. In one embodiment, identifying the repeated words may include implementing a statistical analysis on the repeated words to determine a frequency of use and/or a relevance analysis (i.e. the likelihood the word is relevant in the context used). As an option, the identification of repeated words may include only identifying nouns and/or verbs that are repeated.
  • Furthermore, unique nouns and or verbs may also be identified. See operation 3906. In this case, the unique nouns or verbs may be identified from the list of repeated words and/or non-repeated words in the document. In one embodiment, the unique nouns or verbs may refer to any noun or verb that is not statistically likely to appear in a document (e.g. less than 60% likely, 50% likely, 40% likely, etc.). Additionally, the unique nouns or verbs may be determined based on the frequency of use in the document.
  • As shown further, tags may be suggested based on the identification. See operation 3908. In this way, nouns, verbs, and/or repeated words may be determined to be tags.
  • In various embodiments, the tags may be suggested as a list, dialog box, input text box, highlighted text, etc. Furthermore, the tags may be automatically selected and applied. For example, an interface may provide a user an option to have tags automatically selected. In this case, tags that would otherwise be suggested may be utilized as tags automatically. Thus, the tags may be determined automatically by parsing words in the document.
  • FIG. 40 shows an interface 4000 for linking a plurality of tags with a document, in accordance with one embodiment. As an option, the interface 4000 may be implemented in the context of the details of FIGS. 35-39. Of course, however, the interface 4000 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, the interface 4000 may include a navigator bar 4002 (e.g. an explorer bar) including back, forward, stop, reload, etc. functionally for navigating online. Further, a toolbar 4004 may be provided including various functionality for accessing/managing documents. For example, the toolbar 4004 may include a file option to access functionality associated with a document (e.g. save, save as, send, properties, etc.). Furthermore, the toolbar 4004 may include options for switching between online applications (e.g. word processors, spread sheet generation tools, PDF generators, etc.). Still yet, the toolbar may include various other functions such as view options, format options, tool options, table options, window options, help options, and various icons associated with various functionality.
  • Additionally, the interface 4000 includes a window for viewing documents. In operation, a user may generate a document or a plurality of documents using the interface 4000. Tags may then be determined manually or automatically, correlating to the document.
  • As an option, the tags may be manually entered upon saving the document. For example, upon save the document a user interface 4006 may be displayed, allowing a user to manually enter a tag or a plurality or tags into a text box 4008. In one embodiment, the interface 4006 may include a folder directory 4010. Furthermore, the interface 4006 may include a list of suggested tags 4012. Once the tags have been selected (manually and/or automatically), the tags are indexed.
  • Thus, the tags may be utilized for searching the documents. As an option, the interface 4000 may allow the user to search a plurality of documents using the tags. In this way, the user may examine tags relating to information being sought, and the tag may be used to find appropriate documents.
  • It should be noted that the interface 4000 may represent any network browser. Thus, by using the interface 4000 multiple online applications may be accessed utilizing the tags. Furthermore, in various embodiments, the documents may be created using many different online applications. As an option, these online applications may employ functionality of various other online applications.
  • FIG. 41 shows a method 4100 for applying a function of an online application to a file generated by a second online application, in accordance with one embodiment. As an option, the present method 4100 may be implemented in the context of the functionality and architecture of FIGS. 35-40. Of course, however, the method 4100 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, a file generated utilizing a first online application is identified. See operation 4102. In the context of the present description, an online application refers to any software application that is utilized over a network. For example, in various embodiments, the online applications may include, but are not limited to, online word processors, online spread sheet generators, online presentation tools and generators, online project management software, online accounting software, and/or any other online applications that meet the above definition.
  • Additionally, a function of a second online application to be applied to the file is identified. See operation 4104. In the context of the present description, a function refers to function associated with an application. For example, in various embodiments, the function may include, but is not limited to, a format conversion, a commenting function, a publishing function, a spell check function, a track changes function, a text formatting function, an object modifying function, a drawing function, a table function, a macro function, and/or any other function that meets the above definition.
  • Further, the function of the second online application is applied to the file. See operation 4106. The function may be applied in a variety of ways. For example, the function of the second online application may be applied to the file utilizing code stored at a server hosting the first online application. As another example, the function of the second online application may be applied to the file utilizing code stored at a server hosting the second online application. In this case, the function may be applied by passing a URL associated with the file to second online application.
  • More illustrative information will now be set forth regarding various optional architectures and features with which the foregoing framework may or may not be implemented, per the desires of the user. It should be strongly noted that the following information is set forth for illustrative purposes and should not be construed as limiting in any manner. Any of the following features may be optionally incorporated with or without the exclusion of other features described.
  • FIG. 42 shows a system 4200 for applying a function of an online application to a file generated by a second online application, in accordance with one embodiment. As an option, the system 4200 may be implemented in the context of the functionality and architecture of FIGS. 35-41. Of course, however, the system 4200 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, a server including a first online application 4202, a server including a second online application 4204, and a client 4206 are provided. In operation, a file 4208 generated utilizing the first online application 4202 is identified. Additionally, a function of the second online application 4204 is identified to be applied to the file 4208. Further, the function of the second online application 4206 is applied to the file 4208.
  • In one case, the function of the second online application 4206 may be unavailable utilizing the first online application. In this way, functionality of multiple applications may be shared between applications.
  • As shown further, the client 4206 has access to both the first and second online applications 4202 and 4204. For example, the first online application 4202 and the second online application 4204 may be accessible via a network browser. In this way, the function of the second online application 4204 may be selected utilizing the network browser.
  • For example, the function of the second online application 4204 may be selected utilizing a toolbar of the network browser. In this case, the toolbar may include a plugin. In the context of the present description, a plugin refers to any computer program that interacts with a host application (e.g. the network browser, etc.). In one embodiment, the plugin may provide a function using an icon and/or dedicated text.
  • Although not illustrated, in one embodiment, the first the second online application 4202 and 4204 may be included on one server. In another embodiment, the server including the first online application 4202 and the server including the second online application 4204 may be in communication. In this way, applying the function of the second application 4204 to the file 4208 may not necessarily involve communicating data via the client 4206, as shown in FIG. 42.
  • FIG. 43 shows a method 4300 for applying a function of an online application to a file generated by a second online application, in accordance with one embodiment. As an option, the present method 4300 may be implemented in the context of the functionality and architecture of FIGS. 35-42. Of course, however, the method 4300 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, a file is identified using a first online application. See operation 4302. As an option, identifying the file may include selecting the file via a user interface. As another option, the file may be selected from a network browser. In this case, the network browser may include a drop-down list of potential files. In one embodiment, the network browser may include a bookmark to the file.
  • Once the file is selected using the first online application, it is determined whether a function from a second online application function is selected to be applied to the file. See operation 4304. As an option, the function may be selected using a toolbar including functionality of both the first and second application. In one case, this toolbar may be displayed upon accessing two or more applications. For example, upon accessing a first online application, a toolbar including functionality of the first application may be displayed. Then, after accessing a second online application, the toolbar may be updated to include functionality of the second online application.
  • In another embodiment, a toolbar may be displayed including functionality of all available online applications. In this case, the available functionality may include only online application functions available to a user or compatible with the opened file and/or application.
  • If it is determined that a function from the second online application is selected to be applied to the file, the function is applied to the file. See operation 4306. The function may be applied to the file in many ways. For example, in one embodiment, code including the function may be transferred to the server including the first application such that the first application may apply the function to the file.
  • In another embodiment, the file may be transferred to the server including the second online application and the function may be applied to the file. In still another embodiment, the server including the file and the first online application may include a list of various functions and associated code, capable of being applied to the file. In this case, such functionality may or may not be included as part of the first application. As an option, all capable functionality of the first online application and/or the second online application may be available via a network browser.
  • FIG. 44 shows a network browser 4400 for applying a function of an online application to a file generated by a second online application, in accordance with one embodiment. As an option, the network browser 4400 may be implemented in the context of the details of FIGS. 35-43. Of course, however, the network browser 4400 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, the network browser 4400 may include a navigator bar 4402 (e.g. an explorer bar) including back, forward, stop, reload, etc. functionally for navigating a network. Further, a toolbar 4404 may be provided including various functionality for accessing/managing files and/or applications. For example, the toolbar 4404 may include functions of a plurality of applications.
  • In one embodiment, the toolbar 4404 may only include functions of open applications. In another embodiment, the toolbar 4404 may only include functions that may be applied to an open file or application in use. In still another embodiment, the toolbar may include all functions available to a user. As an option, the functions available to a user may include only functions associated with applications to which the user has usage rights.
  • In addition to various application functions, in other embodiments, the toolbar 4404 may include a file option to access functionality associated with a file (e.g. save, save as, send, properties, etc.). Furthermore, the toolbar 4404 may include options for switching between online applications (e.g. word processors, spread sheet generation tools, PDF generators, etc.). Still yet, the toolbar may include various other functions such as view options, format options, tool options, table options, window options, help options, and various icons associated with various functionality.
  • Additionally, the network browser 4400 or the toolbar 4404 may include a tab bar 1006 for easy toggling between applications and files. As an option, the tab bar 4406 may allow the same file to be viewed in the context of a first online application and a second online application. In this way, a file opened by the first online application under a first tab may be viewed in the context of a second online application under a second tab, allowing a function of the second online application to be applied to the file when viewed under the second tab and/or the first tab.
  • Furthermore, results of applying the function may be displayed in a separate window. For example, after applying the function to the file, the results may be displayed under a tab separate from the first and/or second online application, or a separate window 4408 of the network browser 4400 or a separate network browser (not shown).
  • It should be noted that, the toolbar 4404 may display functions of an individual online application, or a plurality of different applications. In some cases, the different online applications may be applications located on separate servers.
  • FIG. 45 shows a method 4500 for accommodating different online applications, in accordance with one embodiment. As an option, the present method 4500 may be implemented in the context of the functionality and architecture of FIGS. 35-44. Of course, however, the method 4500 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, an online application currently visited by a network browser is identified. See operation 4502. Additionally, at least one of a plurality of network browser toolbars is automatically selected based on the online application currently visited by the network browser. See operation 4504. Furthermore, the at least one network browser toolbar is displayed. See operation 4506.
  • In the context of the present description, a network browser toolbar refers to any row, column, or block of buttons, icons, or linked words that, when clicked, activate certain functions of an application. For example, in various embodiments, the toolbar may include save functions, spell check functions, text formatting functions, file formatting functions, search functions, drawing functions, and/or any other functions associated with an application.
  • More illustrative information will now be set forth regarding various optional architectures and features with which the foregoing framework may or may not be implemented, per the desires of the user. It should be strongly noted that the following information is set forth for illustrative purposes and should not be construed as limiting in any manner. Any of the following features may be optionally incorporated with or without the exclusion of other features described.
  • FIG. 46 shows a method 4600 for accommodating different online applications, in accordance with one embodiment. As an option, the present method 4600 may be implemented in the context of the functionality and architecture of FIGS. 35-45. Of course, however, the method 4600 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, a URL is identified for a first online application. See operation 4602. In this case, the URL may be identified upon accessing the first application and/or by opening a file associated with the first application. For example, a user may access the first online application using a network browser. In this way, the online application may be identified by monitoring URLs entered into the network browser.
  • Further, a list of toolbars is examined to find a toolbar associated with the URL or the first application are examined. See operation 4604. For example, a list including a plurality of toolbars associated with various online applications may be stored in a database. Using the identified URL and/or other information about the first online application, the list of toolbars may be examined to determine whether an appropriate toolbar is present for the first online application.
  • Once the URL has been identified, it is determined whether there is an appropriate toolbar present. See operation 4606. In one embodiment, the URLs entered in the network browser may be compared against a list of predetermined URLs associated with online applications for which an associated toolbar is stored on a client on which the network browser is installed.
  • If there is appropriate toolbar present, a toolbar is automatically executed and displayed for the first online application. See operation 4608. Thus, upon a match being identified based on the comparison of the URLs, a corresponding one of the toolbars is executed without user intervention.
  • It is then determined whether a window associated with the first online application is closed or a different tab on the network browser is selected. See operation 4610. If the window is closed or another network browser tab is selected, the toolbar corresponding to the first application is closed or hidden. See operation 4612. Thus, the network browser toolbar may be removed from an interface of the network browser upon identification of a window in which an associated online application being closed.
  • In one embodiment, multiple tabs on a network browser may be open simultaneously, where more than one tab corresponds to the first application. In this case, the toolbar may remain displayed for all tabs or windows associated with the first application. Furthermore, in the case that a second application is being utilized in one of the tabs or windows, and the second tab utilizes the same or similar toolbar functionality as the first application, the toolbar may also remain displayed for the second application.
  • FIG. 47 shows a network browser plugin 4700 for accommodating different online applications, in accordance with one embodiment. As an option, the network browser plugin 4700 may be implemented in the context of the details of FIGS. 35-46. Of course, however, the network browser plugin 4700 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, the network browser plugin 4700 may include various information for accessing a first application. For example, the network browser plugin 4700 may include a user name, user login information, an online application URL, user preferences, etc. In one embodiment, the network browser plugin 4700 may be stored on a client computer from which the URL of online applications are accessed.
  • For example, a user may subscribe or access an online application and be prompted to download the network browser plugin 4700 from the location of the online application to the computer or device of the user. The user may then be prompted to fill out all relevant information. In this way, the network browser plugin 4700 may be utilized to access one or more online applications without the need to enter login information every time the application is accessed. In one embodiment, the network browser plugin 4700 may include information associated with a plurality of online applications. In this case, the URL may be utilized as a look-up for all of the information utilized by the online application to allow the user access.
  • FIG. 48 shows a network browser 4800 for accommodating different online applications, in accordance with one embodiment. As an option, the network browser 4800 may be implemented in the context of the details of FIGS. 35-47. Of course, however, the network browser 4800 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, the network browser 4800 may include a navigator bar 4802 (e.g. an explorer bar) including back, forward, stop, reload, URL entry, etc. functionally for navigating a network. Further, a toolbar 4804 may be provided including various functionality for accessing/managing files and/or applications. For example, the toolbar 4804 may include functions for a first online application.
  • In addition to various functions of the first application, in other embodiments, the toolbar 4804 may include a file option to access functionality associated with a file (e.g. save, save as, send, properties, etc.). Furthermore, the toolbar 4804 may include options for switching between online applications (e.g. word processors, spread sheet generation tools, PDF generators, etc.). Still yet, the toolbar may include various other functions such as view options, format options, tool options, table options, window options, help options, and various icons associated with various functionality.
  • Additionally, the network browser 4800 or the toolbar 4804 may include a tab bar for easy toggling between applications and files. As an option, the tab bar may allow the same file to be viewed in the context of a first online application and a second online application. In this way, a file opened by the first online application under a first tab may be viewed in the context of a second online application under a second tab, allowing a function of the second online application to be applied to the file when viewed under the second tab and/or the first tab.
  • In operation, an online application currently visited by the network browser 4800 may be identified using the URL. Additionally, at least one of a plurality of network browser toolbars may be selected based on the online application currently visited by the network browser. As an option, the toolbar 4804 may be capable of being manually selected utilizing a menu. In this case, the menu may include a plurality of toolbars associated with various URLs or online applications, where the toolbars may include different functionality.
  • For example, a first one of the toolbars may be adapted for applying a first set of functions to a file generated utilizing a first online application, and a second one of the toolbars is adapted for applying a second set of functions to a file generated utilizing a second online application. Once the toolbar 4804 is selected, the toolbar 4804 may be displayed utilizing the network browser 4800.
  • As an option, log-in information utilized for the online applications may be stored on a computer on which the network browser 4800 is installed. In this way, the login information may be utilized to log-in to the online application currently visited by the network browser 4800. Thus, the user may enter the URL of the online application into the network browser 4800 and access the application without entering login information every time.
  • In one embodiment, the user may use bookmarks to access the online applications. In another embodiment, the user may click on a tag to access the online application. In still another embodiment, the user may access the online application by clicking an icon on a desktop. Additionally, the user may access the online application by clicking on an item illustrated in a pictorial diagram of a file structure.
  • It should be noted that the toolbar 4804 may be displayed independently (i.e. only a single network browser toolbar is displayed at a time), or with multiple other toolbars (e.g. other online application toolbars, search engine toolbars, email toolbars, etc.). In one embodiment, the network browser toolbar 4804 may be conditionally displayed based on a number of network browser toolbars already displayed. For example, if two toolbars are already being displayed, the network browser toolbar 4804 may not be displayed.
  • In another embodiment, a position of the network browser toolbar 4804 may depend on a number of network browser toolbars already displayed. As an option, if multiple toolbars are already displayed, the network browser toolbar 4804 may be displayed in a position in the network browser 4800 away from the other toolbars being displayed. For example, if multiple toolbars are being displayed at the top of the network browser 4800 the network browser toolbar 4804 may be displayed at the bottom of the network browser 4800.
  • In still another embodiment, a size of the network browser toolbar 4804 may depend on a number of network browser toolbars already displayed. For example, if a plurality of toolbars are already displayed, the network browser toolbar 4804 may be reduced in size (e.g. font, area, etc.). As another option, icons or buttons normally displayed on the network browser toolbar 4804 may be omitted in the case that limited space is available due to other toolbars being present.
  • In yet another embodiment, an orientation of the network browser toolbar 4804 may depend on a number of network browser toolbars already displayed. For example, if one or more toolbars are being displayed in a horizontal orientation or row across the top-side of the network browser 4800, the network browser toolbar 4804 may be displayed in a vertical orientation, as a column along a side of the network browser 4800. As an option, the network browser toolbar may be oriented vertically if one or more browser toolbars are already displayed.
  • In some cases, the toolbar 4804 or another toolbar displayed on the network browser 4800 may include functions for attaching files associated with the online applications to emails or other messages. In one embodiment, these attachments may be stored in a central location associated with an online application from which the attachment was generated.
  • FIG. 49 shows a method 4900 for storing attachments of an electronic message in a central location associated with an online application from which the attachment was generated, in accordance with one embodiment. As an option, the present method 4900 may be implemented in the context of the functionality and architecture of FIGS. 35-48. Of course, however, the method 4900 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, a file associated with an electronic message is identified, utilizing an electronic message application. See operation 4902. In the context of the present description, an electronic message application refers to any application capable of identifying an electronic message. For example, in various embodiments, the electronic message application may include, but is not limited to, an email application (e.g. Microsoft Outlook, a web-based email application, etc.), a text messenger application, an instant messenger application, and/or any other electronic messenger application that meets the above definition. In various embodiments, the electronic message may include an email, a text message, an instant message, and any other electronic message.
  • Additionally as shown, an online application associated with the file is determined. See operation 4904. In this case, the online application may be an online application that generated the file, an online application that is capable of opening or viewing the file, an online application that is capable of modifying the file, etc.
  • Further, the file is stored in one of a plurality of network locations, based on the determined online application. See operation 4906. The network location may be any location capable of storing files. For example, in various embodiments, the network locations may include a server or a networked database. In this case, the network locations may be locations allocated to an individual user, a group of users, a company, etc.
  • More illustrative information will now be set forth regarding various optional architectures and features with which the foregoing framework may or may not be implemented, per the desires of the user. It should be strongly noted that the following information is set forth for illustrative purposes and should not be construed as limiting in any manner. Any of the following features may be optionally incorporated with or without the exclusion of other features described.
  • FIG. 50 shows a method 5000 for storing attachments of an electronic message in a central location associated with an online application from which the attachment was generated, in accordance with one embodiment. As an option, the present method 5000 may be implemented in the context of the functionality and architecture of FIGS. 35-49. Of course, however, the method 5000 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, an email from a first user, including an attachment, is received by a second user. See operation 5002. In this case, the attachment may include any file generated by any application. In one embodiment, the attachment may be virtual attachment. For example, the attachment may include a link corresponding to a file stored on a server.
  • Once the email is received, it is determined whether the attachment is to be opened, saved, and/or edited. See operation 5004. For example, the second user may select the attachment (e.g. using a mouse, etc.) and be given the option to open, save, edit, forward, etc. the attachment. This option may be presented in the form of a window, a drop-down menu, etc.
  • If it is determined that the attachment has been selected to be opened, saved, and/or edited, an online application associated with the attachment and corresponding user login information for the second user is identified. See operation 5006. The online application associated with the attachment may be determine in a variety of ways.
  • In one embodiment, the online application may be determined to be associated with the file, based on a header of the file. For example, a header of the file may indicate an application capable of opening, editing, or saving the file. As another option, the online application may be determined to be associated with the file, based on an extension of the file. For example, if the extension includes a “.txt” extension, it may be determined that an online text editor is associated with the file. In another case, a “.pdf” extension may indicate that a PDF viewer or editor is associated with the file.
  • In this way, the online application associated with the file may be determined automatically. In another embodiment, the online application associated with the file may be determined manually. For example, a user may have the option to select from a list of online applications.
  • In this case, the list may include all online applications capable of opening, editing, or saving the file. As an option, the list may include online applications for which the user has permission to use. As another option, the user may be given the option to have an appropriate application selected automatically.
  • In one embodiment, a network browser may be utilized to select the appropriate application. In this case, the network browser may be displayed upon selecting to open, save, or modify the file. As an option, the network browser may display a plurality of tabs corresponding to each online application capable of opening, editing, or saving the file.
  • In addition to determining an online application associated with the attachment, corresponding user login information is also determined. In one embodiment, the login information may be stored on a device on which the electronic message application is installed. In this case, the device may be any device capable of storing login information. For example, in various embodiments, the device may include a mobile device (e.g. a phone, PDA, laptop, etc.), a computer, or any other device that meets the above definition.
  • As an option, the login information may be included as a network browser plugin. In this case, the login information may be automatically accessed by the online application. In one embodiment, the log-in information may be utilized to login to the online application, in response to determining the online application is associated with the file. Thus, upon automatically or manually selecting the online application, the login information may be automatically obtained and utilized to access the application.
  • Once the online application has been determined and the login information of the second user identified, the file is open, saved, or edited (depending on the command), using space in the online application allocated to the second user. See operation 5008. For example, the file may be automatically transferred from a space at a network location associated with the first user to a space at a network location associated with the second user, such that the second user may access the file using the online application in a private or secure place, not accessible to the first user.
  • As another option, data included in the attachment may be used to reconstruct the file in a space on the network allocated to the second user. In this way, once the online application is determined, a program or function associated with the online application may use data in the attachment to regenerate the file. This data may be communicated either via a device of the second user or directly from the space allocated to the first user.
  • As still another option, the attachment may be saved directly from the device of the second user to the network space allocated to the second user. In these ways, the file (attachment) may be modified/accessed by the second user on a network location using an online application. In another embodiment, the file may be stored in a common network space such that both the first and the second user may access the file. In this way, a working document may be maintained between a plurality of users.
  • As an option, the network location may be associated with a URL corresponding to the online application. For example, a server may host an online application in addition to providing space for file storage or a workspace. As another option, the network location of the user space for file storage may be separate from a network location of the online application.
  • FIG. 51 shows a system 5100 for storing attachments of an electronic message in a central location associated with an online application from which the attachment was generated, in accordance with one embodiment. As an option, the system 5100 may be implemented in the context of the details of FIGS. 35-50. Of course, however, the system 5100 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, a plurality of online application are located one or more network locations 5102. As shown further, a device 5104 of a first user has access to at least one of the network locations 5102. Additionally, a device 5106 of a second user has access to at least one of the network locations 5102.
  • In use, the first user and/or the second user may each have access to allocated network space on a database or server at the network location 5102. The users may access online applications associated with the network locations, given the users have proper permission which may be obtained using appropriate login information. The users may access these online applications to create, modify, manage, and store files located at the network locations.
  • In one embodiment, the first and the second user may each have access to a separate network space such that files of the two users are isolated from other users. In another embodiment, a shared or common space may also be utilized. In still another embodiment, the file may be stored in a location only accessible to a recipient of the electronic message.
  • In one case, the first user may desire to send a file to the second user. As an option, the first user may configure an email and send the file as an attachment. As another option, the first user may send a link to the file in an email.
  • When the second user receives the email with the attachment, the second user may choose to open or save the attached file. When the user selects one of these options, an online application for facilitating such operations is determined. Additionally, the file is stored in one of the network locations 5102, based on the determined online application. For example, as shown the file generated by the first user using the first online application may be associated with the first online application by the device 5106 of the second user. Thus, the file may be saved in a network location associated with the first online application.
  • In one embodiment, the device 5106 of the second user may be used to determine the appropriate online application and the store the file. In this case, the device 5106 maybe any device capable of performing these functions (e.g. a stationary device, a mobile device, etc.). As an option, the file may be saved by selecting the electronic message and further selecting a save menu option.
  • In one embodiment, a request may be received to open the attached file. In this case, the online application associated with the file may be determined in response to the request. Once the online application is determined and user login information is verified, the file may be opened using the online application. In one embodiment, this may include opening the file utilizing a network browser window.
  • FIG. 52 shows an interface 5200 for an electronic message application for identifying a file associated with an electronic message, in accordance with one embodiment. As an option, the interface 5200 may be implemented in the context of the details of FIGS. 35-51. Of course, however, the interface 5200 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, a menu 5202 may allow a user to select a plurality of options when a message has been received with an attachment including a file. In this case, the file may or may not have being generated using an online application. For example, the menu may include options to store the file to a network space allocated to the user, edit, remove, or copy the file. In one embodiment, the user may have the option to share the file.
  • Once the user makes a selection, the file may be stored on a network space which includes a plurality of other files. As an option, the user may have the ability to view all of these files using a single interface. This may allow the user to view a file structure or tags associated with all of the user's files stored on the network location.
  • FIG. 53 shows a method 5300 for displaying a single interface that includes a plurality of files, in accordance with one embodiment. As an option, the present method 5300 may be implemented in the context of the functionality and architecture of FIGS. 35-52. Of course, however, the method 5300 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, a plurality of files are identified, each associated with diverse file types corresponding to different online applications. See operation 5302. In various embodiments, the file types may include, but are not limited to, a word processor file type, a text editor file type, a PDF file type, a drawing file type, a spreadsheet file type, a presentation file type, and/or any other file type corresponding to an online application.
  • Further, a single interface is displayed that includes the files. See operation 5304. As an option, the interface may be displayed using a network browser. As another option, the interface may be displayed on the device of a user. In this case, the device may include a mobile device (e.g. a phone, PDA, laptop, etc.), a computer, or any other device capable of displaying a network browser.
  • More illustrative information will now be set forth regarding various optional architectures and features with which the foregoing framework may or may not be implemented, per the desires of the user. It should be strongly noted that the following information is set forth for illustrative purposes and should not be construed as limiting in any manner. Any of the following features may be optionally incorporated with or without the exclusion of other features described.
  • FIG. 54 shows a method 5400 for displaying a single interface that includes a plurality of files, in accordance with another embodiment. As an option, the present method 5400 may be implemented in the context of the functionality and architecture of FIGS. 35-53. Of course, however, the method 5400 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, a global login is received. See operation 5402. Once the global login is received, a file directory of stored files is displayed. See operation 5404. This file directory may be displayed in a variety of ways using a single interface.
  • For example, the interface may be displayed utilizing a network browser and or a network browser plug-in. In this case, identifiers associated with the files may be stored on a device on which the network browser is installed. In one embodiment, the file identifies may include tags, as described above.
  • In another embodiment, the identifiers associated with the files may be stored on a server. In this case, the server may be a server associated with the single interface. This server may also be associated with one or more online applications. The identifiers associated may be displayed in various ways. For example, the identifiers associated with the files may be displayed utilizing HTML. In another embodiment, the identifiers associated with the files may be displayed utilizing a JAVA script, icons, etc.
  • As an option, a network browser plugin may include the global login information. In this way, the global login information may be automatically obtained when accessing the single interface through a network browser associated with the network plugin. In this case, the network browser, plugin, and login information may be stored on a device of a user.
  • As an option, the log-in information may be capable of being entered when registering an associated one of the online applications in association with the network browser. For example, a user may access an online application for a first time using a network browser and enter registration information. As part of the registration process the user may enter login information which may saved on a device of the user. Thus, this information may be utilized each time the user accesses the interface online. As an option, the user may choose to enter login information each time the user accesses the single interface online (e.g. for security purposes, etc.)
  • Using the single interface, a user may view a plurality of files generated using various applications, with some of the applications being online applications. In some cases, each of the online applications may have different log-in information associated therewith. In these cases, the log-in information may be stored in and associated with a network browser or a network browser plugin. Furthermore, the log-in information may be utilized to access the interface, the files, and/or identifiers associated with the files.
  • With further reference to FIG. 54, once the files are displayed using the single online interface, it is determined whether a file is selected. See operation 5406. In this case, a file being selected may include selecting the file directly via a network browser displaying the single interface, of by selecting a tag associated with the file.
  • If a file is selected (e.g. to be accessed, saved, etc.), login information for an online application associated with that file is identified. See operation 5408. For example, user may select a file to open that is associated with an online word processor application. User login information would then be identified for the online application, either automatically (e.g. using information stored on the user device, etc.) or manually, by prompting the user to enter login information.
  • Once the login information has been determined, the selected file is retrieved using the corresponding login information. See operation 5410. In this case, the selected file may be retrieved from a network location of the online application associated with the file, a network location associated with the single online interface, a network location associated with a user space (e.g. individual, shared, work, etc.), and or any other network location associated with the file.
  • FIG. 55 shows a data structure 5500 of global login information for a single interface that includes a plurality of files associated with a plurality of different online applications, in accordance with one embodiment. As an option, the data structure 5500 may be implemented in the context of the functionality and architecture of FIGS. 35-54. Of course, however, the data structure 5500 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, global login information 5502 may include login information for a plurality of different online applications 5504. In use, a user may access an interface for displaying a plurality of files each associated with diverse file types corresponding to different online applications. Upon accessing the interface, or files displayed using the interface, the user may be prompted for global login information. As another option, global login information may be obtained automatically from information a device of the user or a server associated with the single interface, etc.
  • In one embodiment, the global login information 5500 may include a user name and password for accessing the single interface. Once the global login information is obtained, online application login information may be accessed and obtained automatically to allow the user to access all files displayed in the interface and all corresponding online applications, without entering login information for each online application.
  • Thus, the user may use one global login to the single interface to access a plurality of online applications. It should be noted that the login information for the plurality of online applications may be different for some or all of the applications. However, the global login information may allow access to all online application login information.
  • This may be accomplished in a variety of ways. For example, the login information for the online applications may be stored on the device of the user, a server associated with the single interface, a network location associated with the users, etc. Upon entering the global login information, the login information for the online applications associated with the user may be retrieved. In various embodiments, this may be facilitated utilizing a network browser, a network browser plugin, a JAVA script, etc.
  • FIG. 56 shows a file structure 5600 shown in a single interface that includes a plurality of files associated with a plurality of different online applications, in accordance with one embodiment. As an option, the file structure 5600 may be implemented in the context of the functionality and architecture of FIGS. 35-55. Of course, however, the file structure 5600 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, a single interface may include a plurality of folders for organizing a plurality of files associated with various online applications. Although, the single interface may display a standard file structure with directories, folders, sub folders, and files located, appearing to be located at a common network location, the folders, files, etc. may be located on a plurality of different servers and/or network locations.
  • For example, the files may be stored at different servers each associated with a different online application. However, the single interface may have the ability to show files and folders as appearing in a single folder or subset of folders. In other words, the network location of various files may be transparent to the user, where the single interface only shows groupings of files in folders/directories (e.g. using meta data, etc.).
  • In this way, a virtual desktop and file structure is presented to the user using the single interface. As an option, the files may also be stored on a device on which the interface is displayed. For example, a user may chose to save a copy of the files on a device such that the user may work locally with the file.
  • In this case, the files stored on the device and the files stored on the server may be synchronized. For example, the files on the device and the files stored on the server may be synchronized upon saving the file to the device. As another option, the files may be synchronized periodically, based on a established time (e.g. every 5, 10, 15 minutes, etc.). In this case, synchronizing the files stored on the device and the files stored on the server refers to maintaining common copies of the files stored on the device and the files stored on the server.
  • FIG. 57 shows a network browser 5700 for displaying a single interface 5702 that includes a plurality of files, in accordance with one embodiment. As an option, the network browser 5700 may be implemented in the context of the details of FIGS. 35-56. Of course, however, the network browser 5700 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, the single interface 5702 displays a plurality of files associated with different online applications. It should be noted that any folder displayed may include files associated with various online applications located at various network locations/servers. Furthermore, each of these online applications may require unique user login information. As noted above, one global login may be utilized to satisfy all login requirements, in accordance with one embodiment.
  • In addition to the illustrated functionality, the network browser 5700 and/or the interface 5702 may include functionality for searching for files/folders associated with the file structure illustrated in the interface 5700. In this way, a search may be conducted with respect to the files, utilizing the interface. In one embodiment, the files may be indexed to facilitate the search with respect to the files.
  • For example, in one embodiment, tags may be utilized to index the files. In another embodiment, the files may be indexed by modification time/date, alphabetically, by size, network location, file type, content type, and any other suitable criteria. As an option, the searching may include searching files associated with the interface on network locations and/or the device of the user.
  • FIG. 58 shows a method 5800 for utilizing a network browser as a desktop, in accordance with one embodiment. As an option, the present method 5800 may be implemented in the context of the functionality and architecture of FIGS. 35-57. Of course, however, the method 5800 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, a plurality of URLs in association with a network browser are stored, the URLs each associated with different online applications. See operation 5802. Additionally, a plurality of identifiers in association with the network browser are displayed, each identifier associated with a different online applications. See operation 5804.
  • In the context of the present description, an identifier refers to any character or number, series of characters or numbers, word, phrase, or object used for identification. For example, in various embodiments, the identifier may include, but is not limited to, icons, key words, pictures, links, and/or any other identifier that meets the above definition.
  • Further, a selection of at least one of the identifiers is displayed. See operation 5806. Still yet, one of the online applications is accessed, in response to the selection of at least one of the identifiers. See operation 5808.
  • More illustrative information will now be set forth regarding various optional architectures and features with which the foregoing framework may or may not be implemented, per the desires of the user. It should be strongly noted that the following information is set forth for illustrative purposes and should not be construed as limiting in any manner. Any of the following features may be optionally incorporated with or without the exclusion of other features described.
  • FIG. 59 shows a method 5900 for utilizing a network browser as a desktop, in accordance with another embodiment. As an option, the present method 5900 may be implemented in the context of the functionality and architecture of FIGS. 35-58. Of course, however, the method 5900 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, a network browser is executed. See operation 5902. For example, the network browser may be opened by a user on a user device. Once the network browser is executed, it is determined whether an online application menu is to be displayed. See operation 5904. For example, in one embodiment, the user may select an option to display online applications. In another embodiment, the online application menu may be displayed automatically. In this case, an online application menu refers to a menu or list including available online applications.
  • If it is determined that the online application menu is to be displayed, the menu is displayed. See operation 5906. In various embodiments, the menu may be displayed as a list, window, toolbar, tabbed screens, group of identifiers, etc.
  • It is then determined whether an online application has been selected. See operation 5908. If an online application has been selected, a network browser window and/or browser window tab is opened with the online application. See operation 5910.
  • In one embodiment, this may include accessing user login information for the online application. Additionally, upon displaying the network browser in operation 5902, a user may also be prompted for global login information, which allows access to the online application menu.
  • This global login information may also be utilized to automatically obtain login information for the online applications automatically such that one global login allows the user access to all available online applications without requiring the user to enter login information for each of the applications. This information may be stored on a device of the user, a server which includes the online application menu, and/or another network location. As shown further, it may also be determined whether the menu has been closed or remained open for the selection of other online applications. See operation 5912.
  • FIG. 60 shows a network browser 6000 for using as a desktop, in accordance with another embodiment. As an option, the network browser 6000 may be implemented in the context of the functionality and architecture of FIGS. 35-59. Of course, however, network browser 6000 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, upon executing the network browser 6000 to be used as a desktop, a user may be prompted to supply registration information 6002 for online applications that may be utilized in conjunction with the desktop environment. In this way, the user may configure and personalize an online desktop environment. Upon registration, entering the online application login information, and the URL associated with the online application, an identifier may be identified corresponding to the online application.
  • In one embodiment, the identifier may be selected by the user. In another embodiment, the identifier may automatically be selected (e.g. by the online application, a provider of the online desktop, etc.). Furthermore, in one case, the user may have the option to link or display an identifier associated with the online application. For example, the user may have the option to add a bookmark 6004 including a link to the online application. In another embodiment, the user may have the option to add the identifier to a desktop image. In this way, the user may be presented with a configurable online desktop including identifiers corresponding to various online applications, either shown on the desktop, or provided in a menu or list format.
  • FIG. 61 shows a network browser 6100 for using as a desktop, in accordance with another embodiment. As an option, the network browser 6100 may be implemented in the context of the functionality and architecture of FIGS. 35-60. Of course, however, network browser 6100 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • In operation, a plurality of URLs in association with the network browser 6100 are stored, the URLs each associated with different online applications. In one embodiment, the URLs may include online application URLs. In this case, a plurality of bookmark URLs in association with the network browser may be stored, the bookmark URLs each associated with different web pages of interest.
  • Further, a plurality of identifiers 6102 in association with the network browser 6100 are displayed, each identifier associated with a different online applications. Using the identifiers 6102 one of the online applications may be accessed, in response to a selection of at least one of the identifiers 6102.
  • As shown, the identifiers 6102 may be displayed utilizing an explorer bar 6104 to a side of a network browser window 6106 in which HTML content is displayed. In another embodiment, the identifiers may be displayed utilizing a tool bar 6108 above the network browser window 6106 in which HTML content is displayed.
  • As an option, the identifiers 6102 may be accessible via at least one network browser menu. In this way, the identifiers 6102 may be accessible when the network browser menu is selected.
  • As noted above, accessing online applications and/or information associated with the online applications may include entering or obtaining user login information. In one embodiment, each of the URLs may have login information associated therewith. In this case, the log-in information may be stored in and/or associated with the network browser 6100 and/or a device displaying the network browser 6100.
  • In this way, the log-in information may be utilized to access the online application, in response to the selection of at least one of the identifiers 6102. As noted above, in one embodiment, the log-in information may be capable of being entered when registering an associated one of the online applications in association with the network browser.
  • As an option, the online applications may be opened in a separate new browser tab, in response to the selection of at least one of the identifiers 6102. For example, multiple tabs may appear across the top on the window 6106, each tab corresponding to a different online application. In another embodiment, the online applications may be opened in a separate new browser window, in response to the selection of at least one of the identifiers 6102. In this case, the new browser window may be included as a window within the network browser window 6106 or outside the network browser window 6106.
  • In one embodiment, the identifiers 6102 may be displayed as computer icons, where computer icons refer to any pictogram. As an option, the identifiers 6102 may be user configurable. For example, the appearance of the identifiers may be configurable. Additionally, a location of display of the identifies may be configurable. For example, a user may have the ability to move the identifiers to various locations in the window 6106.
  • Furthermore, the user may have the option to add/remove identifiers. Still yet, the configuration of the online desktop may be saved and stored on a user device and/or a network location. For example, an image on the configuration may be saved on a server hosting the online desktop. This may be accomplished by storing various data/metadata associated with the configuration.
  • In various embodiments, the network browser 6100 may include various other functionality. For example, in one embodiment, the network browser 6100 may display advertisements associated in conjunction with displaying online applications.
  • FIG. 62 shows a method 6200 of advertising in conjunction with online applications, in accordance with one embodiment. As an option, the present method 6200 may be implemented in the context of the functionality and architecture of FIGS. 35-61. Of course, however, the method 6200 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, a request to access a file associated with an online application is received. See operation 6202. Additionally, at least one profile associated with the file is identified. See operation 6204.
  • In the context of the present description, a profile refers to any information about an object. For example, in various embodiments, the profile may include, but is not limited to, a user profile of a user who initiated the request to access the file, a file profile associated with the file, a combination of a user and file profile, and/or any other profile that meets the above definition. In one case, the file profile may a function of a plurality of tags associated with the file. For example, tags associated with the file may include key words that may be attributed to a profile.
  • Further, an advertisement is presented in conjunction with the access of the file. See operation 6206. In the context of the present description, the term advertisement may refer to a survey, questionnaire, promotional content, product/service information, and/or anything that is designed to attract attention. In one embodiment, the advertisement may include a digital advertisement.
  • Further, the advertisement may be presented in a variety of ways. In various embodiments, the advertisement may be presented on a computer, television, PDA, mobile phone, and/or any other mobile or stationary device capable of presenting advertisements. In such embodiments, the advertisement may be presented using web pages, television programs, movies, on-demand programming, audible media, and/or any other media capable of presenting advertisements. Of course, the foregoing examples are set forth for illustrative purposes only and should not be construed as limiting in any manner.
  • FIG. 63 shows a method 6300 of advertising in conjunction with online applications, in accordance with one embodiment. As an option, the present method 6300 may be implemented in the context of the functionality and architecture of FIGS. 35-62. Of course, however, the method 6300 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, it is determined whether a request to access a file is received. See operation 6302. If a request to access the file is received, a group profile is identified. See operation 6304. In this case, the group profile may include the profile of a user group associated with the file. For example, the file may be attributable to a group of engineers in a specific area of engineering. Thus, the group profile may be associated with the specific area of engineering.
  • In another case, the group profile may include a profile of a group of files associated with the user or the particular file being accessed. In this case, file tags, file types, and a number of files may contribute to the group profile.
  • Once a group profile is identified, a profile of a user accessing the file is identified. See operation 6306. For example, a profile of the user may have been determined when the user registered for an online application associated with the file. In this case, the user may have inputted preference information or the information may have been determined automatically based on user selections during the registration. Furthermore, the user may have inputted preference information or had preference information derived automatically after registration. Such preference information may have been derived based on internet browsing of the user, searches completed by the user, files generated by the user, file tags selected by the user, etc.
  • Once the profiles are identified, an advertisement is selected, based on the profiles, and then displayed. See operations 6308 and 6310. For example, the advertisement may be displayed in a window associated with a network browser corresponding to an online application. In another embodiment, the advertisement may be sent to a mobile device of the user. In still another embodiment, the advertisement information may be provided to an advertisement agency such that the agency may facilitate the advertising (e.g. via a network browser, on demand television, etc.). In this way, directed advertising may be implemented in conjunction with utilizing online applications.
  • FIG. 64 shows a network browser 6400 for viewing advertisements in conjunction with files associated with online applications, in accordance with one embodiment. As an option, the network browser 6400 may be implemented in the context of the functionality and architecture of FIGS. 35-63. Of course, however, the method 6400 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • In operation, a request to access a file associated with an online application may be received by the network browser 6400. Additionally, at least one profile associated with the file may be identified. As mentioned above, in one embodiment, the profile may include a file profile associated with the file, where the file profile is a function of a plurality of tags associated with the file.
  • In this case, the tags may be manually entered or automatically determined. For example, the tags may be determined automatically by parsing words in the document. In another case, the tags may be manually entered using an interface including a folder directory. In one embodiment, the tags may be determined for a plurality of the files. the profile includes a group profile of a group of users who store a plurality of files to a network location.
  • As an option, the profile may include profile of a group of users who store a plurality of files to a network location. In this case, the profile may include a combination of a user profile and a group profile. In one case, the group profile may be a function of a plurality of tags associated with each of a plurality of the files.
  • Once the profile has been determined, an advertisement 6402 may be presented in conjunction the file, using the network browser 6400. In this case the advertisement may correspond to the profile (e.g. of the user, group, file, aggregate of multiple profiles, etc.). In addition to potentially displaying the advertisement, the network browser 6400 may display various other items. For example, in one embodiment, the network browser 6400 may include a search interface for performing a search in addition to a window illustrating search results.
  • FIG. 65 shows a method 6500 for performing a search in conjunction with use of an online application, in accordance with one embodiment. As an option, the present method 6500 may be implemented in the context of the functionality and architecture of FIGS. 35-64. Of course, however, the method 6500 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • In operation, a document editing interface is displayed for editing a document. See operation 6502. Additionally, at least one term of the document is identified. See operation 6504.
  • In the context of the present description, a term refers to any character or number, or sequence of characters or numbers. For example, in various embodiments, term may include, but is not limited to, a key word, a phrase, a date, an amount, and/or any other term that meets the above definition.
  • Further, a search interface is displayed. See operation 6506. Still yet, a search is performed utilizing the search interface, based on the at least one term. See operation 6508.
  • FIG. 66 shows an interface 6600 for performing a search in conjunction with use of an online application, in accordance with one embodiment. As an option, the interface 6600 may be implemented in the context of the functionality and architecture of FIGS. 35-65. Of course, however, the interface 6600 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • In operation, a document editing interface 6602 is displayed for editing a document. Additionally, at least one term of the document is identified. Further, a search interface 6604 is displayed. Still yet, a search is performed utilizing the search interface 6604, based on the at least one term. In various embodiments, may include a word processor document, a spreadsheet document, and/or a presentation document.
  • In one embodiment, the at least one term may be identified automatically. For example, the term may be identified by parsing words in the document. In this case, the parsing may include parsing nouns and/or verbs in the document. In one embodiment, the term may be identified by a frequency of use. In another embodiment, the term may be identified based on the same criteria used to automatically identify a tag for a document, as described above.
  • As an option, the at least one term may be identified manually. In this case, the term may be identified manually by highlighting the at least one term. In another embodiment, the term may be identified by typing the term in an interface search bar. As an option, the search may be performed by performing a right click operation.
  • As another option, a search term may be automatically suggested. In this case, a plurality of possible terms may be presented in a list. Thus, at least one of the terms in the list may be selected and searched. Further, this may be accomplished in conjunction with a manual or automatic search.
  • In one embodiment, the term may include includes a plurality of tags. In this case the tags may be determined automatically by parsing words in the document. In various embodiments, nouns, verbs, and/or repeated words in the document may be determined to be tags.
  • As shown further in FIG. 66, results of the search may be displayed simultaneously with the document. For example, the results may be positioned in a window associated with the interface 6600. In one embodiment, the results may be displayed in a separate window from the document or on a tabbed page of interface 6600.
  • In one case, the search results may include at least one additional document. In this case, the additional document may be associated with an online application corresponding to the document being displayed currently or another online application. Still yet, at least one additional term of the results may be identified (e.g. manually or automatically). Further, an additional search may be performed utilizing the search interface 6604, based on the at least one additional term. In this way, the search may be focused to better improve search results.
  • FIG. 67 shows a method 6700 for focusing a search, in accordance with one embodiment. As an option, the present method 6700 may be implemented in the context of the functionality and architecture of FIGS. 35-66. Of course, however, the method 6700 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, a first search is performed. See operation 6702. Additionally, first search results of the first search are displayed. See operation 6704. Further, at least one term of the first search results is identified. See operation 6706.
  • Still yet, a second search is performed, based on the at least one term of the first search results. See operation 6708. In addition, second search results of the second search are displayed. See operation 6710.
  • More illustrative information will now be set forth regarding various optional architectures and features with which the foregoing framework may or may not be implemented, per the desires of the user. It should be strongly noted that the following information is set forth for illustrative purposes and should not be construed as limiting in any manner. Any of the following features may be optionally incorporated with or without the exclusion of other features described.
  • FIG. 68 shows an interface 6800 for focusing a search, in accordance with one embodiment. As an option, the interface 6800 may be implemented in the context of the functionality and architecture of FIGS. 35-67. Of course, however, the interface 6800 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • In operation, a first search is performed using a search interface 6804. Additionally, first search results of the first search are displayed. In one embodiment, the search results may be displayed in a search results window, in conjunction with displaying a document access by an online application.
  • Further, at least one term of the first search results is identified. A second search is then performed using the search interface 6804, based on the at least one term of the first search results. In addition, second search results of the second search are displayed (e.g. in a search results window).
  • As an option, the terms may be identified manually. In one case, term may be identified manually by highlighting the at least one term. In this case, the second search may performed by performing a right click operation.
  • As another option, the terms may be identified automatically. For example, the may be identified automatically by parsing the first search results. In one case, nouns in the first search results may be identified as the at least one term. Additionally, verbs in the first search results may be identified as the at least one term. Still yet, repeated words in the first search results may be identified as the at least one term.
  • Further, as an option, at least one term may include a plurality of tags. As another option, the at least one term may be selected from a list of a plurality of suggested terms. In this case, the suggested terms may be generated automatically. Furthermore, in various embodiments, the suggested terms may be hierarchically ranked in order of a relevance value, a frequency of occurrence, alphabetically ranked, etc. As an additional option, the term may be selected by highlighting at least one of the suggested terms.
  • Furthermore, selecting the term may include selecting a term associated with a file corresponding to one or more online applications. In one case, exploration with this file may include opening or executing the online application. In various embodiments, this may be accomplished using any number of devices.
  • FIG. 69 shows a method 6900 for executing an online application on a mobile device, in accordance with one embodiment. As an option, the present method 6900 may be implemented in the context of the functionality and architecture of FIGS. 35-68. Of course, however, the method 6900 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, an online application is accessed utilizing a mobile device. See operation 6902. Additionally, at least a portion of a functionality of the online application utilizing an application executed on the mobile device. See operation 6904.
  • In the context of the present description, a mobile device refers to any device which may be utilized in a mobile fashion. For example, in various embodiments, the mobile device may include, but is not limited to, a mobile phone, a PDA, a handheld computer, a laptop, and/or any other mobile device that meets the above definition.
  • More illustrative information will now be set forth regarding various optional architectures and features with which the foregoing framework may or may not be implemented, per the desires of the user. It should be strongly noted that the following information is set forth for illustrative purposes and should not be construed as limiting in any manner. Any of the following features may be optionally incorporated with or without the exclusion of other features described.
  • FIG. 70 shows an interface 7000 for executing an online application on a mobile device, in accordance with one embodiment. As an option, the interface 7000 may be implemented in the context of the functionality and architecture of FIGS. 35-69. Of course, however, the interface 7000 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • In operation, an online application is accessed utilizing a mobile device 102. Additionally, at least a portion of a functionality of the online application utilizing an application executed on the mobile device 102. In one embodiment, the functionality may be performed by a client application separate from a network browser. As an option, the portion of the functionality may be performed by a network browser plug-in installed on the mobile device 102.
  • The functionality of the online application may include any functionality capable of being executed on the mobile device 102. For example, the portion of the functionality of the online application may include formatting functionality (e.g. text formatting, paragraph formatting, etc.).
  • Further, in one case, the portion of the functionality may include functionality that would otherwise be provided by a server that serves the online application. For example, the portion of the functionality may include responding to requests that would otherwise be provided by a server that serves the online application. As another example, the portion of the functionality of the online application may be provided by buffering requests of a user, and delaying sending the requests to a server that serves the online application.
  • In one embodiment, an online application utilizing may be accessed utilizing the mobile device 102 and a request of a user to the online application may be buffered. Additionally, sending the requests to a server that serves the online application may be delayed. Still yet, a client application separate from the network browser may react to the request.
  • In this case, the reaction may be performed by a client application separate from the network browser. For example, in one case the reaction may be performed by a network browser plug-in installed on the mobile device 102. As an option, the reaction may simulate sending the request to a server that serves the online application.
  • It should be noted that all of the aforementioned functionality may be implemented on the mobile device 102. For example, the mobile device 102 may be utilized to perform searches. Furthermore, various other commands may be implemented using the mobile device 102 (e.g. cutting, pasting, etc.).
  • FIG. 71 shows a method 7100 for intelligent cutting and pasting, in accordance with one embodiment. As an option, the present method 7100 may be implemented in the context of the functionality and architecture of FIGS. 35-70. Of course, however, the method 7100 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • As shown, a cut or copy command with respect to data is received. See operation 7102. In this case the data may be any data capable of being cut or copied. For example, in various embodiments, the data may include text, objects, symbols, pictures, and/or any other data as defined above.
  • Additionally, a paste command with respect to the data is received. See operation 7104. Further, an additional operation is performed on the data, before the past command is executed. See operation 7106.
  • More illustrative information will now be set forth regarding various optional architectures and features with which the foregoing framework may or may not be implemented, per the desires of the user. It should be strongly noted that the following information is set forth for illustrative purposes and should not be construed as limiting in any manner. Any of the following features may be optionally incorporated with or without the exclusion of other features described.
  • FIG. 72 shows an interface 7200 for intelligent cutting and pasting, in accordance with one embodiment. As an option, the interface 7200 may be implemented in the context of the functionality and architecture of FIGS. 35-71. Of course, however, the interface 7200 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • In operation, a cut or copy command with respect to data is received from the interface 7200. Additionally, a paste command with respect to the data is received from the interface 7200. Further, an additional operation is performed on the data, before the past command is executed.
  • In one embodiment, the additional operation may add or remove formatting to the data. In this case, the formatting may include text formatting, paragraph formatting, object formatting, picture formatting, and/or any other type of formatting. As an option, the additional operation may include converting a first formatting of the data to a second formatting.
  • In one embodiment, the second formatting may include a formatting of a destination associated with the paste command. In another embodiment, the additional operation may include performing an optical character recognition (OCR) on the data. In this case, the additional operation may include performing the optical character recognition on the data, such that the paste command results in parsed text being pasted into a document.
  • In one embodiment, the additional operation may be conditionally performed, based on a user instruction. In this case, the user instruction may include a right-click operation. In one case, a standard paste command may be distinguished from an intelligent paste command. Thus, it may be determined whether the paste command is an intelligent paste command.
  • In one embodiment, the additional operation may be performed if it is determined that the paste command is an intelligent paste command. In this case, it may be determined whether the paste command is an intelligent paste command, based on user input.
  • In one embodiment, the user may have an option to use a standard paste command or an intelligent paste command. In this case, the intelligent paste may be an optional preference under a settings menu. Thus, the user may select to apply the intelligent paste command indefinitely throughout a user session.
  • In another embodiment, the intelligent paste command may include spell check functionality. In this case, incorrect spelling of words copied may be remedied automatically upon invoking the paste command. As another option, the intelligent past command may include an option to paste using bullets. In this case, a user may paste copied text in a bullet format. The bullets may be divided in a variety of ways. For example, the bullets may be divided by carriage return, key word, periods, commas, or any other punctuation, etc. In one case, options for bullet division may be offered in a preferences or settings menu.
  • While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of a preferred embodiment should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.

Claims (20)

What is claimed is:
1. A computer program product embodied on a computer readable medium, comprising:
computer code for communicating with a mobile device having a wireless communication channel, utilizing a vehicular assembly; and
computer code for performing at least one vehicular assembly function, utilizing the wireless communication channel of the mobile device.
2. The computer program product of claim 1, wherein the communication between the mobile device and the vehicular assembly is wired.
3. The computer program product of claim 1, wherein the communication between the mobile device and the vehicular assembly is wireless.
4. The computer program product of claim 1, wherein the at least one vehicular assembly function utilizes data received over the wireless communication channel.
5. The computer program product of claim 4, wherein the data includes updated traffic data.
6. The computer program product of claim 4, wherein the data includes updated roadway data.
7. The computer program product of claim 4, wherein the data includes social network data.
8. The computer program product of claim 7, wherein the social networking data includes a location of predetermined persons.
9. The computer program product of claim 7, wherein the social networking data includes a destination of predetermined persons.
10. The computer program product of claim 7, wherein the social networking data includes a traveling speed of predetermined persons.
11. The computer program product of claim 4, wherein the data is automatically provided.
12. The computer program product of claim 4, wherein a user requests the data.
13. The computer program product of claim 12, wherein the user requests the data using functionality associated with the vehicular assembly.
14. The computer program product of claim 1, wherein the at least one vehicular assembly function includes a navigation function.
15. The computer program product of claim 1, wherein the at least one vehicular assembly function includes a communication function between a local person and a remote person.
16. The computer program product of claim 1, wherein the at least one vehicular assembly function includes a display function.
17. The computer program product of claim 1, wherein the at least one vehicular assembly function includes an audible function.
18. The computer program product of claim 1, wherein the at least one vehicular assembly function utilizes GPS data received by the vehicular assembly.
19. A method, comprising:
communicating with a mobile device having a wireless communication channel, utilizing a vehicular assembly; and
performing at least one vehicular assembly function, utilizing the wireless communication channel of the mobile device.
20. A vehicular assembly system, comprising:
an interface for communicating with a mobile device having a wireless communication channel, utilizing a vehicular assembly; and
a processor for performing at least one vehicular assembly function, utilizing the wireless communication channel of the mobile device.
US13/913,500 2008-08-22 2013-06-09 System, method, and computer program product for utilizing a communication channel of a mobile device by a vehicular assembly Abandoned US20130274960A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/913,500 US20130274960A1 (en) 2008-08-22 2013-06-09 System, method, and computer program product for utilizing a communication channel of a mobile device by a vehicular assembly

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US9116208P 2008-08-22 2008-08-22
US12/340,576 US8073590B1 (en) 2008-08-22 2008-12-19 System, method, and computer program product for utilizing a communication channel of a mobile device by a vehicular assembly
US13/287,089 US8473152B2 (en) 2008-08-22 2011-11-01 System, method, and computer program product for utilizing a communication channel of a mobile device by a vehicular assembly
US13/913,500 US20130274960A1 (en) 2008-08-22 2013-06-09 System, method, and computer program product for utilizing a communication channel of a mobile device by a vehicular assembly

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/287,089 Continuation US8473152B2 (en) 2008-08-22 2011-11-01 System, method, and computer program product for utilizing a communication channel of a mobile device by a vehicular assembly

Publications (1)

Publication Number Publication Date
US20130274960A1 true US20130274960A1 (en) 2013-10-17

Family

ID=45034481

Family Applications (3)

Application Number Title Priority Date Filing Date
US12/340,576 Expired - Fee Related US8073590B1 (en) 2008-08-22 2008-12-19 System, method, and computer program product for utilizing a communication channel of a mobile device by a vehicular assembly
US13/287,089 Expired - Fee Related US8473152B2 (en) 2008-08-22 2011-11-01 System, method, and computer program product for utilizing a communication channel of a mobile device by a vehicular assembly
US13/913,500 Abandoned US20130274960A1 (en) 2008-08-22 2013-06-09 System, method, and computer program product for utilizing a communication channel of a mobile device by a vehicular assembly

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US12/340,576 Expired - Fee Related US8073590B1 (en) 2008-08-22 2008-12-19 System, method, and computer program product for utilizing a communication channel of a mobile device by a vehicular assembly
US13/287,089 Expired - Fee Related US8473152B2 (en) 2008-08-22 2011-11-01 System, method, and computer program product for utilizing a communication channel of a mobile device by a vehicular assembly

Country Status (1)

Country Link
US (3) US8073590B1 (en)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8073700B2 (en) 2005-09-12 2011-12-06 Nuance Communications, Inc. Retrieval and presentation of network service results for mobile device using a multimodal browser
US7477909B2 (en) * 2005-10-31 2009-01-13 Nuance Communications, Inc. System and method for conducting a search using a wireless mobile device
US8843376B2 (en) 2007-03-13 2014-09-23 Nuance Communications, Inc. Speech-enabled web content searching using a multimodal browser
US8463286B2 (en) 2009-01-27 2013-06-11 Apple Inc. Systems and methods for accessing travel services using a portable electronic device
US8418079B2 (en) 2009-09-01 2013-04-09 James J. Nicholas, III System and method for cursor-based application management
US20110080278A1 (en) * 2009-10-06 2011-04-07 Ford Global Technologies, Llc System And Method For Customizing An Information Display Within A Vehicle
CN102081518A (en) * 2009-11-30 2011-06-01 国际商业机器公司 Device and method for providing dynamic help information
US9026102B2 (en) * 2010-03-16 2015-05-05 Bby Solutions, Inc. Movie mode and content awarding system and method
US20110270517A1 (en) * 2010-04-29 2011-11-03 Nokia Corporation Method and apparatus for providing personalized presentations based on navigation information
FR2980425B1 (en) * 2011-09-27 2014-03-21 Valeo Vision PIECE FOR MOTOR VEHICLE
KR20130096107A (en) * 2012-02-21 2013-08-29 삼성전자주식회사 Method and system for performing task, and computer readable recording medium thereof
JP6094259B2 (en) * 2012-05-23 2017-03-15 株式会社デンソー Management server
KR101952702B1 (en) * 2012-06-01 2019-02-28 삼성전자주식회사 User terminal device providing service based on personal information and methods thereof
US9710861B2 (en) * 2012-10-15 2017-07-18 At&T Intellectual Property I, L.P. Optimizing social information signaling
US9049564B2 (en) * 2013-02-04 2015-06-02 Zf Friedrichshafen Ag Vehicle broadcasting system
US9747900B2 (en) * 2013-05-24 2017-08-29 Google Technology Holdings LLC Method and apparatus for using image data to aid voice recognition
US20150002657A1 (en) * 2013-06-26 2015-01-01 Ford Global Technologies, Llc Method and apparatus for using vehicle cameras to capture and share digital media
US9479907B2 (en) * 2014-02-06 2016-10-25 Denso International America, Inc. Method for off-loading driver wireless activities to passengers via the vehicle wireless interface
KR101602954B1 (en) * 2014-03-31 2016-03-11 주식회사 오비고 Method for providing integrated information to head unit of vehicle by using template-based ui, and head unit and computer-readable recoding media using the same
KR102245098B1 (en) 2014-05-23 2021-04-28 삼성전자주식회사 Mobile terminal and control method thereof
DE102014016223B3 (en) * 2014-10-31 2016-02-18 Audi Ag Method for operating a communication system and communication system
US9479630B1 (en) * 2014-12-08 2016-10-25 Amazon Technologies, Inc. Location and time based application management
US11119502B2 (en) * 2016-08-31 2021-09-14 Nissan North America, Inc. Vehicle control system based on social place detection
US10749839B2 (en) * 2017-04-20 2020-08-18 Microsoft Technology Licensing, Llc Identification of a significant communication from a revived contact

Citations (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020184089A1 (en) * 2001-05-29 2002-12-05 Tsou I-Wen Winnie Methods, devices and systems for real-time instant presence with advertisement (RIPA)
US6714793B1 (en) * 2000-03-06 2004-03-30 America Online, Inc. Method and system for instant messaging across cellular networks and a public data network
US20040192331A1 (en) * 2002-04-30 2004-09-30 Gorday Paul Edward Method of targeting a message to a communication device selected from among a set of communication devices
US20040192339A1 (en) * 2002-06-14 2004-09-30 Brian Wilson Method for providing location-based services in a wireless network, such as varying levels of services
US6885874B2 (en) * 2001-11-27 2005-04-26 Motorola, Inc. Group location and route sharing system for communication units in a trunked communication system
US20050143134A1 (en) * 2003-12-30 2005-06-30 Lear Corporation Vehicular, hands-free telephone system
US6959173B2 (en) * 2002-03-06 2005-10-25 Denso Corporation Downloading server and mobile station using local-area wireless communication
US20050266884A1 (en) * 2003-04-22 2005-12-01 Voice Genesis, Inc. Methods and systems for conducting remote communications
US6983203B1 (en) * 2000-07-28 2006-01-03 Alpine Electronics, Inc. POI icon display method and navigation system
US20060061458A1 (en) * 2004-09-21 2006-03-23 Gregory Simon Wireless vehicle control system and method
US7061366B2 (en) * 2004-04-12 2006-06-13 Microsoft Corporation Finding location and ranging explorer
US20060155665A1 (en) * 2005-01-11 2006-07-13 Toyota Jidosha Kabushiki Kaisha Agent apparatus for vehicle, agent system, agent controlling method, terminal apparatus and information providing method
US20060256959A1 (en) * 2004-02-28 2006-11-16 Hymes Charles M Wireless communications with proximal targets identified visually, aurally, or positionally
US20070027614A1 (en) * 2005-08-01 2007-02-01 General Motors Corporation Method and system for linked vehicle navigation
US20070182592A1 (en) * 2006-02-07 2007-08-09 Koninklijke Kpn N.V. Vehicle communication device
US20070223436A1 (en) * 2006-03-24 2007-09-27 Hitachi, Ltd. Apparatus and method for community-based communication
US20070255807A1 (en) * 2006-04-28 2007-11-01 Yahoo! Inc. Social networking for mobile devices
US20070271367A1 (en) * 2006-05-09 2007-11-22 Zohar Yardeni Systems and methods for location-based social web interaction and instant messaging system
US20080027643A1 (en) * 2006-07-28 2008-01-31 Basir Otman A Vehicle communication system with navigation
US20090017865A1 (en) * 2007-07-13 2009-01-15 Sony Ericsson Mobile Communications Ab Making calls using the preferred network
US20090233629A1 (en) * 2008-03-14 2009-09-17 Madhavi Jayanthi Mobile social network for facilitating GPS based services
US7599791B2 (en) * 2004-04-30 2009-10-06 Pioneer Corporation Spot searching device, navigation apparatus, spot searching method, spot searching program, and information recording medium having spot searching program
US7664474B2 (en) * 2006-09-08 2010-02-16 Sony Ericsson Mobile Communications Ab Portable electronic device and a method in a portable electronic device
US7689253B2 (en) * 2005-06-13 2010-03-30 E-Lane Systems, Inc. Vehicle immersive communication system
US7826945B2 (en) * 2005-07-01 2010-11-02 You Zhang Automobile speech-recognition interface
US7877450B2 (en) * 2004-12-30 2011-01-25 Aol Inc. Managing instant messaging sessions on multiple devices

Family Cites Families (438)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0326639U (en) 1989-07-25 1991-03-18
US5359529A (en) 1992-05-15 1994-10-25 Zexel Corporation Route guidance on/off-route state filter
US5774859A (en) 1995-01-03 1998-06-30 Scientific-Atlanta, Inc. Information system having a speech interface
EP1431864B2 (en) 1995-02-13 2012-08-22 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US7095854B1 (en) 1995-02-13 2006-08-22 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5644737A (en) 1995-06-06 1997-07-01 Microsoft Corporation Method and system for stacking toolbars in a computer display
US5721783A (en) 1995-06-07 1998-02-24 Anderson; James C. Hearing aid with wireless remote processor
KR100235239B1 (en) 1995-09-29 1999-12-15 모리 하루오 Building shape output apparatus and method thereof, map display apparauts and method thereof, and navigation apparatus and method thereof
US6073143A (en) 1995-10-20 2000-06-06 Sanyo Electric Co., Ltd. Document conversion system including data monitoring means that adds tag information to hyperlink information and translates a document when such tag information is included in a document retrieval request
US5926789A (en) 1996-12-19 1999-07-20 Bell Communications Research, Inc. Audio-based wide area information system
WO1998032066A1 (en) 1997-01-20 1998-07-23 British Telecommunications Public Limited Company Data access control
US6009355A (en) 1997-01-28 1999-12-28 American Calcar Inc. Multimedia information and control system for automobiles
US5895464A (en) 1997-04-30 1999-04-20 Eastman Kodak Company Computer program product and a method for using natural language for the description, search and retrieval of multi-media objects
WO1998050907A1 (en) 1997-05-06 1998-11-12 Speechworks International, Inc. System and method for developing interactive speech applications
US5930751A (en) 1997-05-30 1999-07-27 Lucent Technologies Inc. Method of implicit confirmation for automatic speech recognition
US7233997B1 (en) 1997-06-26 2007-06-19 British Telecommunications Plc Data communications
US6038441A (en) 1997-08-05 2000-03-14 Lear Corporation Method and system for creating records of voice messages in an automotive vehicle
US6680694B1 (en) 1997-08-19 2004-01-20 Siemens Vdo Automotive Corporation Vehicle information system
US6038534A (en) 1997-09-11 2000-03-14 Cowboy Software, Inc. Mimicking voice commands as keyboard signals
EP0911808B1 (en) 1997-10-23 2002-05-08 Sony International (Europe) GmbH Speech interface in a home network environment
US6505159B1 (en) 1998-03-03 2003-01-07 Microsoft Corporation Apparatus and method for providing speech input to a speech recognition system
US6199157B1 (en) 1998-03-30 2001-03-06 Applied Materials, Inc. System, method and medium for managing information
US6430537B1 (en) 1998-03-31 2002-08-06 Walker Digital, Llc Method and apparatus for priority-based jukebox queuing
US6067278A (en) 1998-04-06 2000-05-23 Recoton Corporation Digital recorder for car radio
US6065051A (en) 1998-04-15 2000-05-16 Hewlett-Packard Company Apparatus and method for communication between multiple browsers
US6253325B1 (en) 1998-04-15 2001-06-26 Hewlett-Packard Company Apparatus and method for securing documents posted from a web resource
US6405367B1 (en) 1998-06-05 2002-06-11 Hewlett-Packard Company Apparatus and method for increasing the performance of Java programs running on a server
US6141010A (en) 1998-07-17 2000-10-31 B. E. Technology, Llc Computer interface method and apparatus with targeted advertising
US6965863B1 (en) 1998-11-12 2005-11-15 Microsoft Corporation Speech recognition user interface
US6408272B1 (en) 1999-04-12 2002-06-18 General Magic, Inc. Distributed voice user interface
US6882286B1 (en) 1999-04-20 2005-04-19 Funai Electric Co., Ltd. Remote controller and electrical apparatus controlled by the same
US6782240B1 (en) 2000-04-27 2004-08-24 Joseph A Tabe Megatel communication information system
US7222309B2 (en) 1999-06-02 2007-05-22 Earthlink, Inc. System and method of a web browser with integrated features and controls
US6397086B1 (en) 1999-06-22 2002-05-28 E-Lead Electronic Co., Ltd. Hand-free operator capable of infrared controlling a vehicle's audio stereo system
DE19935893B4 (en) 1999-07-30 2004-01-29 Robert Bosch Gmbh vehicle electronics
US7130879B1 (en) 1999-08-10 2006-10-31 Alexandre Dayon System for publishing, organizing, accessing and distributing information in a computer network
US7424543B2 (en) 1999-09-08 2008-09-09 Rice Iii James L System and method of permissive data flow and application transfer
US6349257B1 (en) 1999-09-15 2002-02-19 International Business Machines Corporation System for personalized mobile navigation information
US7203721B1 (en) 1999-10-08 2007-04-10 At Road, Inc. Portable browser device with voice recognition and feedback capability
JP2003529054A (en) 1999-10-19 2003-09-30 アメリカン カルカー インコーポレイティド Effective navigation technology based on user preferences
US6192340B1 (en) 1999-10-19 2001-02-20 Max Abecassis Integration of music from a personal library with real-time information
US6615172B1 (en) 1999-11-12 2003-09-02 Phoenix Solutions, Inc. Intelligent query engine for processing voice based queries
WO2001040964A1 (en) 1999-12-01 2001-06-07 Amicus Software Pty Ltd Method and apparatus for network access
US6598018B1 (en) 1999-12-15 2003-07-22 Matsushita Electric Industrial Co., Ltd. Method for natural dialog interface to car devices
EP1117220A1 (en) 2000-01-14 2001-07-18 Sun Microsystems, Inc. Method and system for protocol conversion
US6526335B1 (en) 2000-01-24 2003-02-25 G. Victor Treyz Automobile personal computer systems
AU2001238354A1 (en) 2000-02-18 2001-08-27 The University Of Maryland Methods for the electronic annotation, retrieval, and use of electronic images
US7017109B1 (en) 2000-02-18 2006-03-21 Hewlett-Packard Development Company, L.P. E-service to manage contact information and signature ECards
US6691158B1 (en) 2000-02-18 2004-02-10 Hewlett-Packard Development Company, L.P. E-service to manage contact information and track contact location
US6889213B1 (en) 2000-02-18 2005-05-03 Hewlett-Packard Development Company, L.P. E-service to manage contact information with privacy levels
US6633311B1 (en) 2000-02-18 2003-10-14 Hewlett-Packard Company, L.P. E-service to manage and export contact information
WO2001063387A2 (en) 2000-02-22 2001-08-30 Visualgold.Com, Inc. Secure distributing services network system and method thereof
DE60137660D1 (en) 2000-03-17 2009-04-02 Panasonic Corp Map display and navigation device
AU2001249777A1 (en) 2000-03-31 2001-10-15 Amikai, Inc. Method and apparatus for providing multilingual translation over a network
US6697730B2 (en) 2000-04-04 2004-02-24 Georgia Tech Research Corp. Communications and computing based urban transit system
US7188080B1 (en) 2000-05-12 2007-03-06 Walker Digital, Llc Systems and methods wherin a buyer purchases products in a plurality of product categories
US6513010B1 (en) 2000-05-30 2003-01-28 Voxi Ab Method and apparatus for separating processing for language-understanding from an application and its functionality
US7526440B2 (en) 2000-06-12 2009-04-28 Walker Digital, Llc Method, computer product, and apparatus for facilitating the provision of opinions to a shopper from a panel of peers
US7346848B1 (en) 2000-06-21 2008-03-18 Microsoft Corporation Single window navigation methods and systems
US6952730B1 (en) 2000-06-30 2005-10-04 Hewlett-Packard Development Company, L.P. System and method for efficient filtering of data set addresses in a web crawler
US6934697B1 (en) 2000-08-04 2005-08-23 Netzero, Inc. Creating customized internet access client user interface
AU2001278159A1 (en) 2000-08-11 2002-02-25 Incanta, Inc. Resource distribution in network environment
US6990452B1 (en) 2000-11-03 2006-01-24 At&T Corp. Method for sending multi-media messages using emoticons
US6650948B1 (en) 2000-11-28 2003-11-18 Applied Generics Limited Traffic flow monitoring
DE10065523A1 (en) 2000-12-28 2002-07-11 Bosch Gmbh Robert Car navigation system
US20020122063A1 (en) 2000-12-29 2002-09-05 Weinberg Carl B. System and method for storing and displaying information
US7197531B2 (en) 2000-12-29 2007-03-27 Fotomedia Technologies, Llc Meta-application architecture for integrating photo-service websites for browser-enabled devices
US7107537B2 (en) 2001-01-16 2006-09-12 Hewlett-Packard Development Company, L.P. Apparatus and method for updating applications to embedded devices and peripherals within a network environment
DE10103608A1 (en) 2001-01-28 2002-08-14 Audioton Kabelwerk Gmbh Hands-free system for operating cell phones in motor vehicles
US7340419B2 (en) 2001-03-15 2008-03-04 Walker Digital, Llc Method and apparatus for product display
US7516191B2 (en) 2001-03-26 2009-04-07 Salesforce.Com, Inc. System and method for invocation of services
US7788399B2 (en) 2001-03-26 2010-08-31 Salesforce.Com, Inc. System and method for mapping of services
US7689711B2 (en) 2001-03-26 2010-03-30 Salesforce.Com, Inc. System and method for routing messages between applications
US6484092B2 (en) 2001-03-28 2002-11-19 Intel Corporation Method and system for dynamic and interactive route finding
FR2822994B1 (en) 2001-03-30 2004-05-21 Bouygues Telecom Sa ASSISTANCE TO THE DRIVER OF A MOTOR VEHICLE
US20020143818A1 (en) 2001-03-30 2002-10-03 Roberts Elizabeth A. System for generating a structured document
JP4626089B2 (en) 2001-05-21 2011-02-02 三菱電機株式会社 Personal adaptation device and information distribution device
US6600975B2 (en) 2001-05-28 2003-07-29 Matsushita Electric Industrial Co., Ltd. In-vehicle communication device and communication control method
MXPA03011976A (en) 2001-06-22 2005-07-01 Nervana Inc System and method for knowledge retrieval, management, delivery and presentation.
US20030061567A1 (en) 2001-09-05 2003-03-27 International Business Machines Corporation Apparatus and method for protecting entries in a form using access rights information
US20030051039A1 (en) 2001-09-05 2003-03-13 International Business Machines Corporation Apparatus and method for awarding a user for accessing content based on access rights information
US6892201B2 (en) 2001-09-05 2005-05-10 International Business Machines Corporation Apparatus and method for providing access rights information in a portion of a file
JP2003092639A (en) 2001-09-18 2003-03-28 Denso Corp Downloading method
US7026957B2 (en) 2001-10-01 2006-04-11 Advanced Public Safety, Inc. Apparatus for communicating with a vehicle during remote vehicle operations, program product, and associated methods
US6871067B2 (en) 2001-10-15 2005-03-22 Electronic Data Systems Corporation Method and system for communicating telematics messages
US8028001B2 (en) 2001-10-30 2011-09-27 Goldman Sachs & Co. Systems and methods for facilitating access to documents via a set of content selection tags
US7024451B2 (en) 2001-11-05 2006-04-04 Hewlett-Packard Development Company, L.P. System and method for maintaining consistent independent server-side state among collaborating servers
US8806351B2 (en) 2001-11-08 2014-08-12 International Business Machines Corporation System and method for packing of small objects for efficient delivery over networks
US7260555B2 (en) 2001-12-12 2007-08-21 Guardian Data Storage, Llc Method and architecture for providing pervasive security to digital assets
US8065713B1 (en) 2001-12-12 2011-11-22 Klimenty Vainstein System and method for providing multi-location access management to secured items
BR0308165A (en) 2002-03-01 2005-06-28 Networks In Motion Inc Method and apparatus for sending, retrieving and planning relevant location information
US20030187657A1 (en) 2002-03-26 2003-10-02 Erhart George W. Voice control of streaming audio
DE10216117A1 (en) 2002-04-12 2003-10-23 Philips Intellectual Property Symbol sequence voice recognition involves determining sub-symbol sequence to be corrected by comparing second sequence with sub-sequences longer or shorter than second sequence by number of symbols
US7162215B2 (en) 2002-04-12 2007-01-09 General Motors Corporation Method and system for setting user preference satellite radio music selections in a mobile vehicle
US6950638B2 (en) 2002-04-30 2005-09-27 General Motors Corporation Method and system for scheduling user preference satellite radio station selections in a mobile vehicle
US8713140B2 (en) 2002-04-30 2014-04-29 General Motors Llc Method and system for modifying satellite radio program subscriptions in a mobile vehicle
US7227453B2 (en) 2002-05-08 2007-06-05 General Motors Corporation Multi-control telematics in a vehicle
US20030225850A1 (en) 2002-05-28 2003-12-04 Teague Alan H. Message processing based on address patterns
US7398209B2 (en) 2002-06-03 2008-07-08 Voicebox Technologies, Inc. Systems and methods for responding to natural language speech utterance
US8255548B2 (en) 2002-06-13 2012-08-28 Salesforce.Com, Inc. Offline web services API to mirror online web services API
US9171049B2 (en) 2002-06-13 2015-10-27 Salesforce.Com, Inc. Offline simulation of online session between client and server
US20050143097A1 (en) 2002-06-14 2005-06-30 Cingular Wireless Ii, Llc System for providing location-based services in a wireless network, such as providing notification regarding meetings, destination arrivals, and the like
WO2003107303A1 (en) 2002-06-14 2003-12-24 松下電器産業株式会社 Position notifying device
US7284197B2 (en) 2002-06-28 2007-10-16 Microsoft Corporation Schema-based services for identity-based data access to application settings data
US20050014536A1 (en) 2003-07-08 2005-01-20 Jeff Grady Modular adaptor assembly for personal digital appliance
US6591085B1 (en) 2002-07-17 2003-07-08 Netalog, Inc. FM transmitter and power supply/charging assembly for MP3 player
US7236923B1 (en) 2002-08-07 2007-06-26 Itt Manufacturing Enterprises, Inc. Acronym extraction system and method of identifying acronyms and extracting corresponding expansions from text
US7233907B2 (en) 2002-08-07 2007-06-19 United Parcel Service Of America, Inc. Parcel or service delivery with partially scheduled time windows
US6907397B2 (en) 2002-09-16 2005-06-14 Matsushita Electric Industrial Co., Ltd. System and method of media file access and retrieval using speech recognition
CA2406876A1 (en) 2002-10-04 2004-04-04 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for managing a collection of portlets in a portal server
US20040137921A1 (en) 2002-11-08 2004-07-15 Vinod Valloppillil Asynchronous messaging based system for publishing and accessing content and accessing applications on a network with mobile devices
JP2004163590A (en) 2002-11-12 2004-06-10 Denso Corp Reproducing device and program
US6993615B2 (en) 2002-11-15 2006-01-31 Microsoft Corporation Portable computing device-integrated appliance
JP4082188B2 (en) 2002-11-20 2008-04-30 日本電気株式会社 Transportation vehicle usage guidance system, transportation vehicle usage guidance method, and transportation vehicle usage guidance program
US7373383B2 (en) 2002-12-06 2008-05-13 International Business Machines Corporation Location messaging method for delivering messages in a global virtual space
KR20050085783A (en) 2002-12-19 2005-08-29 코닌클리케 필립스 일렉트로닉스 엔.브이. Method and system for network downloading of music files
US20040158607A1 (en) 2003-02-06 2004-08-12 Coppinger Clifford L. System and method for associating an email attachment file with a storage location
US20040158746A1 (en) 2003-02-07 2004-08-12 Limin Hu Automatic log-in processing and password management system for multiple target web sites
US7292723B2 (en) 2003-02-26 2007-11-06 Walker Digital, Llc System for image analysis in a network that is structured with multiple layers and differentially weighted neurons
US7409452B2 (en) 2003-02-28 2008-08-05 Xerox Corporation Method and apparatus for controlling document service requests from a mobile device
US20040176959A1 (en) 2003-03-05 2004-09-09 Wilhelm Andrew L. System and method for voice-enabling audio compact disc players via descriptive voice commands
US7031724B2 (en) 2003-03-12 2006-04-18 General Motors Corporation Location-based services for a telematics service subscriber
GB2399665A (en) 2003-03-18 2004-09-22 British Telecomm Access control to shared resources
US7823077B2 (en) 2003-03-24 2010-10-26 Microsoft Corporation System and method for user modification of metadata in a shell browser
US7133687B1 (en) 2003-04-03 2006-11-07 Core Mobility, Inc. Delivery of voice data from multimedia messaging service messages
US20040199494A1 (en) 2003-04-04 2004-10-07 Nikhil Bhatt Method and apparatus for tagging and locating audio data
US20040171346A1 (en) 2003-04-14 2004-09-02 Ten Ventures Inc. Method of Adding Wireless Remote Control to Audio Playback Devices Equipped for Wired Remote Control
US7209929B2 (en) 2003-04-17 2007-04-24 Salesforce.Com, Inc. Java object cache server for databases
BRPI0410275A (en) 2003-05-15 2006-05-16 Qualcomm Inc two way sms / xml location-position api
US7986974B2 (en) 2003-05-23 2011-07-26 General Motors Llc Context specific speaker adaptation user interface
US7069308B2 (en) 2003-06-16 2006-06-27 Friendster, Inc. System, method and apparatus for connecting users in an online computer system based on their relationships within social networks
US20040267534A1 (en) 2003-06-27 2004-12-30 General Motors Corporation Selective vehicle component control
US7590701B2 (en) 2003-07-11 2009-09-15 Salesforce.Com, Inc. Apparatus and method for generating alert messages in a message exchange network
GB0316806D0 (en) 2003-07-17 2003-08-20 Ivis Group Ltd Improved search engine
US7757173B2 (en) 2003-07-18 2010-07-13 Apple Inc. Voice menu system
US20050027539A1 (en) 2003-07-30 2005-02-03 Weber Dean C. Media center controller system and method
EP1661008A4 (en) 2003-08-05 2007-01-24 Cnet Networks Inc Product placement engine and method
KR100577387B1 (en) 2003-08-06 2006-05-10 삼성전자주식회사 Method and apparatus for handling speech recognition errors in spoken dialogue systems
TWM241766U (en) 2003-09-03 2004-08-21 Formosa Teletek Corp Portable wireless communication device for media playing
WO2005029353A1 (en) 2003-09-18 2005-03-31 Fujitsu Limited Remark management system, remark management method, document conversion server, document conversion program, electronic document addition program
US8543566B2 (en) 2003-09-23 2013-09-24 Salesforce.Com, Inc. System and methods of improving a multi-tenant database query using contextual knowledge about non-homogeneously distributed tenant data
US7779039B2 (en) 2004-04-02 2010-08-17 Salesforce.Com, Inc. Custom entities and fields in a multi-tenant database system
US7529728B2 (en) 2003-09-23 2009-05-05 Salesforce.Com, Inc. Query optimization in a multi-tenant database system
US7257427B2 (en) 2003-10-01 2007-08-14 Honda Motor Co., Ltd. System and method for managing mobile communications
US7346615B2 (en) 2003-10-09 2008-03-18 Google, Inc. Using match confidence to adjust a performance threshold
US8453196B2 (en) 2003-10-14 2013-05-28 Salesforce.Com, Inc. Policy management in an interoperability network
US7904882B2 (en) 2003-10-16 2011-03-08 Salesforce.Com, Inc. Managing virtual business instances within a computer network
DE10350715A1 (en) 2003-10-30 2005-06-02 Bayerische Motoren Werke Ag Method and device for setting user-dependent parameter values
US20050137877A1 (en) 2003-12-17 2005-06-23 General Motors Corporation Method and system for enabling a device function of a vehicle
US20050138069A1 (en) 2003-12-19 2005-06-23 General Motors Corporation Providing a playlist package of digitized entertainment files for storage and playback
US20050198121A1 (en) 2004-01-07 2005-09-08 Daniels Robert W. Vertical enterprise system
US20050171686A1 (en) 2004-01-30 2005-08-04 Davis Scott B. Method and apparatus for obtaining and providing information related to a point-of-interest
US7761871B2 (en) 2004-03-10 2010-07-20 Handmark, Inc. Data access architecture
US7739351B2 (en) 2004-03-23 2010-06-15 Salesforce.Com, Inc. Synchronous interface to asynchronous processes
EP1741064A4 (en) 2004-03-23 2010-10-06 Google Inc A digital mapping system
US7590685B2 (en) 2004-04-07 2009-09-15 Salesforce.Com Inc. Techniques for providing interoperability as a service
US7564799B2 (en) 2004-04-23 2009-07-21 Intermec Ip Corp. System and method for providing seamless roaming
US8386488B2 (en) 2004-04-27 2013-02-26 International Business Machines Corporation Method and system for matching appropriate content with users by matching content tags and profiles
US7346370B2 (en) 2004-04-29 2008-03-18 Cellport Systems, Inc. Enabling interoperability between distributed devices using different communication link technologies
US20060075429A1 (en) 2004-04-30 2006-04-06 Vulcan Inc. Voice control of television-related information
US7802007B2 (en) 2004-05-19 2010-09-21 Salesforce.Com, Inc. Techniques for providing connections to services in a network environment
US8010458B2 (en) 2004-05-26 2011-08-30 Facebook, Inc. System and method for managing information flow between members of an online social network
US8572221B2 (en) 2004-05-26 2013-10-29 Facebook, Inc. System and method for managing an online social network
US7818178B2 (en) 2004-06-09 2010-10-19 Alcatel-Lucent Usa Inc. Method and apparatus for providing network support for voice-activated mobile web browsing for audio data streams
US7788260B2 (en) 2004-06-14 2010-08-31 Facebook, Inc. Ranking search results based on the frequency of clicks on the search results by members of a social network who are within a predetermined degree of separation
US10373173B2 (en) 2004-06-14 2019-08-06 Facebook, Inc. Online content delivery based on information from social networks
US7478078B2 (en) 2004-06-14 2009-01-13 Friendster, Inc. Method for sharing relationship information stored in a social network database with third party databases
JP4145835B2 (en) 2004-06-14 2008-09-03 本田技研工業株式会社 In-vehicle electronic control unit
US8533229B2 (en) 2004-06-16 2013-09-10 Salesforce.Com, Inc. Soap-based web services in a multi-tenant database system
US20060155429A1 (en) 2004-06-18 2006-07-13 Applied Digital, Inc. Vehicle entertainment and accessory control system
US7437358B2 (en) 2004-06-25 2008-10-14 Apple Inc. Methods and systems for managing data
US7574356B2 (en) 2004-07-19 2009-08-11 At&T Intellectual Property Ii, L.P. System and method for spelling recognition using speech and non-speech input
US8302164B2 (en) 2004-07-22 2012-10-30 Facebook, Inc. Authorization and authentication based on an individual's social network
US7765243B2 (en) 2004-07-26 2010-07-27 Sandisk Il Ltd. Unified local-remote logical volume
US7725605B2 (en) 2004-08-06 2010-05-25 Salesforce.Com, Inc. Providing on-demand access to services in a wide area network
US7606687B2 (en) 2004-09-14 2009-10-20 Friendster, Inc. Proximity search methods using tiles to represent geographical zones
US8880521B2 (en) 2004-09-15 2014-11-04 3Degrees Llc Collections of linked databases
US7711835B2 (en) 2004-09-30 2010-05-04 Citrix Systems, Inc. Method and apparatus for reducing disclosure of proprietary data in a networked environment
US7721328B2 (en) 2004-10-01 2010-05-18 Salesforce.Com Inc. Application identity design
US20060089754A1 (en) 2004-10-27 2006-04-27 Andrew Mortenson An installed Vehicle Personal Computing (VPC) system with touch interaction, voice interaction or sensor interaction(s) that provides access to multiple information sources and software applications such as internet connected data applications, dynamic traffic-aware navigational routing, vehicle tracking, emergency accident dispatching, business applications, office applications, music and video player(s), personal info portal, vehicle monitoring, alarm and camera security and recording.
US7412655B2 (en) 2004-11-02 2008-08-12 Yahoo! Inc. Method and system of providing dynamic dialogs
US7783633B2 (en) 2004-11-19 2010-08-24 International Business Machines Corporation Display of results of cross language search
US7730143B1 (en) 2004-12-01 2010-06-01 Aol Inc. Prohibiting mobile forwarding
US8170468B2 (en) 2004-12-15 2012-05-01 General Motors Llc Method and system for presenting media content in a mobile vehicle communication system
US20060135181A1 (en) 2004-12-21 2006-06-22 Motorola, Inc. Recipient based scoping of location information
US8954595B2 (en) 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
US7774366B2 (en) 2005-03-08 2010-08-10 Salesforce.Com, Inc. Systems and methods for implementing multi-application tabs and tab sets
US20060206339A1 (en) 2005-03-11 2006-09-14 Silvera Marja M System and method for voice-enabled media content selection on mobile devices
US20060218630A1 (en) 2005-03-23 2006-09-28 Sbc Knowledge Ventures L.P. Opt-in linking to a single sign-on account
JP4331138B2 (en) 2005-04-04 2009-09-16 アルパイン株式会社 Hands-free call device
US20060262103A1 (en) 2005-04-08 2006-11-23 Matsushita Electric Industrial Co., Ltd. Human machine interface method and device for cellular telephone operation in automotive infotainment systems
US7777648B2 (en) 2005-04-21 2010-08-17 Microsoft Corporation Mode information displayed in a mapping application
US20060242591A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation File dialog user interfaces and creation of same
US7451161B2 (en) 2005-04-28 2008-11-11 Friendster, Inc. Compatibility scoring of users in a social network
US20100082480A1 (en) 2008-09-30 2010-04-01 Jason Alexander Korosec Payments with virtual value
US20060265458A1 (en) 2005-05-20 2006-11-23 Aldrich William C System and method for selecting and managing files
US10510043B2 (en) 2005-06-13 2019-12-17 Skyword Inc. Computer method and apparatus for targeting advertising
WO2007008248A2 (en) 2005-07-11 2007-01-18 Voicedemand, Inc. Voice control of a media player
US20070015537A1 (en) 2005-07-14 2007-01-18 Scosche Industries, Inc. Wireless Hands-Free Audio Kit for Vehicle
US7769142B2 (en) 2005-07-14 2010-08-03 Microsoft Corporation Asynchronous discrete manageable instant voice messages
AU2005334686A1 (en) 2005-07-22 2007-01-25 Telargo Inc. Method, device and system for modeling a road network graph
US8880047B2 (en) 2005-08-03 2014-11-04 Jeffrey C. Konicek Realtime, location-based cell phone enhancements, uses, and applications
DE112005003669T5 (en) 2005-08-10 2008-06-19 Autoliv ASP, Inc., Ogden Improved control device
US8577593B2 (en) 2005-08-18 2013-11-05 General Motors Llc Navigation system for hearing-impaired operators
US7949529B2 (en) 2005-08-29 2011-05-24 Voicebox Technologies, Inc. Mobile systems and methods of supporting natural language human-machine interactions
WO2007027623A2 (en) 2005-08-30 2007-03-08 Uptodate, Inc. Computer based method and system for presenting search results in a medical information system
JP4584084B2 (en) 2005-09-06 2010-11-17 アルパイン株式会社 Information addition system and portable communication terminal
WO2007030796A2 (en) 2005-09-09 2007-03-15 Salesforce.Com, Inc. Systems and methods for exporting, publishing, browsing and installing on-demand applications in a multi-tenant database environment
US8156128B2 (en) 2005-09-14 2012-04-10 Jumptap, Inc. Contextual mobile content placement on a mobile communication facility
US20070061335A1 (en) 2005-09-14 2007-03-15 Jorey Ramer Multimodal search query processing
US20080214148A1 (en) 2005-11-05 2008-09-04 Jorey Ramer Targeting mobile sponsored content within a social network
EP1935723A4 (en) 2005-09-20 2010-12-22 Fujitsu Ten Ltd In-vehicle display device
US9201939B2 (en) 2006-06-02 2015-12-01 Salesforce.Com, Inc. Method and system for pushing data to a plurality of devices in an on-demand service environment
US9135304B2 (en) 2005-12-02 2015-09-15 Salesforce.Com, Inc. Methods and systems for optimizing text searches over structured data in a multi-tenant environment
US8069153B2 (en) 2005-12-02 2011-11-29 Salesforce.Com, Inc. Systems and methods for securing customer data in a multi-tenant environment
US8645376B2 (en) 2008-05-02 2014-02-04 Salesforce.Com, Inc. Method and system for managing recent data in a mobile device linked to an on-demand service
US8171128B2 (en) 2006-08-11 2012-05-01 Facebook, Inc. Communicating a newsfeed of media content based on a member's interactions in a social network environment
US9183599B2 (en) 2005-12-14 2015-11-10 Facebook, Inc. Mapping relationships between members in a social network
US20090049127A1 (en) 2007-08-16 2009-02-19 Yun-Fang Juan System and method for invitation targeting in a web-based social network
US7669123B2 (en) 2006-08-11 2010-02-23 Facebook, Inc. Dynamically providing a news feed about a user of a social network
US8225376B2 (en) 2006-07-25 2012-07-17 Facebook, Inc. Dynamically generating a privacy summary
US8204952B2 (en) 2007-02-02 2012-06-19 Facebook, Inc. Digital file distribution in a social network system
US8027943B2 (en) 2007-08-16 2011-09-27 Facebook, Inc. Systems and methods for observing responses to invitations by users in a web-based social network
US7797256B2 (en) 2006-08-02 2010-09-14 Facebook, Inc. Generating segmented community flyers in a social networking system
US7809805B2 (en) 2007-02-28 2010-10-05 Facebook, Inc. Systems and methods for automatically locating web-based social network members
US7945653B2 (en) 2006-10-11 2011-05-17 Facebook, Inc. Tagging digital media
US8296373B2 (en) 2007-02-02 2012-10-23 Facebook, Inc. Automatically managing objectionable behavior in a web-based social network
US8549651B2 (en) 2007-02-02 2013-10-01 Facebook, Inc. Determining a trust level in a social network environment
US7827208B2 (en) 2006-08-11 2010-11-02 Facebook, Inc. Generating a feed of stories personalized for members of a social network
US20080189292A1 (en) 2007-02-02 2008-08-07 Jed Stremel System and method for automatic population of a contact file with contact content and expression content
US8402094B2 (en) 2006-08-11 2013-03-19 Facebook, Inc. Providing a newsfeed based on user affinity for entities and monitored actions in a social network environment
US7620404B2 (en) 2005-12-22 2009-11-17 Pascal Chesnais Methods and apparatus for organizing and presenting contact information in a mobile communication system
CN101366029A (en) 2005-12-23 2009-02-11 费斯布克公司 Systems and methods for generating a social timeline
US20070149247A1 (en) 2005-12-27 2007-06-28 Wong C M Intermediate bridge
BRPI0620781A2 (en) 2005-12-31 2011-11-22 Gen Motors Corp methods for providing vehicle information to an owner or other recipient, and vehicle oil life notifications to a subscriber
US20070162550A1 (en) 2006-01-06 2007-07-12 Outland Research, Llc Vehicle-to-vehicle instant messaging with locative addressing
US7847686B1 (en) 2006-01-06 2010-12-07 Avaya Inc. Location-and direction-enhanced automatic reminders of appointments
US7962466B2 (en) 2006-01-23 2011-06-14 Chacha Search, Inc Automated tool for human assisted mining and capturing of precise results
US20070173196A1 (en) 2006-01-24 2007-07-26 Daniel Gallic Built-In Low Power FM/VHF Transmitter for use of transmitting stored or streamed voice, music of video signals to entertainment systems wirelessly
US20090222270A2 (en) 2006-02-14 2009-09-03 Ivc Inc. Voice command interface device
US7912628B2 (en) 2006-03-03 2011-03-22 Inrix, Inc. Determining road traffic conditions using data from multiple data sources
US20070220008A1 (en) 2006-03-14 2007-09-20 Etouchware Inc. System and method for single client remote access
US20100311390A9 (en) 2006-03-20 2010-12-09 Black Gerald R Mobile communication device
JP2007265221A (en) 2006-03-29 2007-10-11 Sanyo Electric Co Ltd Multiple image display device and onboard navigation system
JP5305564B2 (en) 2006-03-30 2013-10-02 クラリオン株式会社 Navigation system and output control method
US7941753B2 (en) 2006-03-31 2011-05-10 Aol Inc. Communicating appointment and/or mapping information among a calendar application and a navigation application
US20080052373A1 (en) 2006-05-01 2008-02-28 Sms.Ac Systems and methods for a community-based user interface
DE112007001143T5 (en) 2006-06-05 2009-04-23 Mitsubishi Electric Corp. Display system and method for limiting its operation
US8015010B2 (en) 2006-06-13 2011-09-06 E-Lane Systems Inc. Vehicle communication system with news subscription service
US20080046845A1 (en) 2006-06-23 2008-02-21 Rohit Chandra Method and Apparatus for Controlling the Functionality of a Highlighting Service
US7865924B2 (en) 2006-07-27 2011-01-04 Microsoft Corporation Providing input and output for a mobile device
US8010136B2 (en) 2006-08-04 2011-08-30 GM Global Technology Operations LLC Method and system for communicating information to a user of a mobile platform via broadcast services
US7646296B2 (en) 2006-08-11 2010-01-12 Honda Motor Co., Ltd. Method and system for receiving and sending navigational data via a wireless messaging service on a navigation system
US20080059447A1 (en) 2006-08-24 2008-03-06 Spock Networks, Inc. System, method and computer program product for ranking profiles
US8037093B2 (en) 2006-09-12 2011-10-11 Facebook, Inc. Feeding updates to landing pages of users of an online social network from external sources
US9798789B2 (en) 2006-09-12 2017-10-24 Facebook, Inc. Method and system for tracking changes to user content in an online social network
US7865282B2 (en) 2006-09-22 2011-01-04 General Motors Llc Methods of managing communications for an in-vehicle telematics system
US7734608B2 (en) 2006-09-22 2010-06-08 Salesforce.Com, Inc. System, method and computer program product for querying data relationships over a network
US8019720B2 (en) 2006-10-02 2011-09-13 Salesforce.Com, Inc. Asynchronous method and system for performing an operation on metadata
US8572057B2 (en) 2006-10-02 2013-10-29 Salesforce.Com, Inc. Method and system for applying a group of instructions to metadata
US8775315B2 (en) 2006-10-02 2014-07-08 Salesforce.Com, Inc. Method and system for integrating a PBX-equipped client and an on-demand database service
US8370849B2 (en) 2006-10-02 2013-02-05 Salesforce.Com, Inc. API method and system for providing access to an external service via an application services platform
US8370848B2 (en) 2006-10-02 2013-02-05 Salesforce.Com, Inc. Method and system for providing a client access to an external service via an application services platform
US8255374B2 (en) 2006-10-02 2012-08-28 Salesforce.Com, Inc. Method and system for selecting amongst a plurality of processes to send a message
US7827138B2 (en) 2006-10-02 2010-11-02 Salesforce.Com, Inc. Method and system for synchronizing a server and an on-demand database service
US8095531B2 (en) 2006-10-03 2012-01-10 Salesforce.Com, Inc. Methods and systems for controlling access to custom objects in a database
US8332435B2 (en) 2006-10-03 2012-12-11 Salesforce.Com, Inc. Method and system for customizing a user interface to an on-demand database service
US8601467B2 (en) 2006-10-03 2013-12-03 Salesforce.Com, Inc. Methods and systems for upgrading and installing application packages to an application platform
US9230068B2 (en) 2006-10-03 2016-01-05 Salesforce.Com, Inc. Method and system for managing license objects to applications in an application platform
US8271641B2 (en) 2006-10-04 2012-09-18 Salesforce.Com, Inc. Method and system for governing resource consumption in a multi-tenant system
US8548942B2 (en) 2006-10-04 2013-10-01 Salesforce.Com, Inc. Methods and systems for recursive saving of hierarchical objects to a database
US8161010B2 (en) 2006-10-04 2012-04-17 Salesforce.Com, Inc. Methods and systems for providing fault recovery to side effects occurring during data processing
US7730478B2 (en) 2006-10-04 2010-06-01 Salesforce.Com, Inc. Method and system for allowing access to developed applications via a multi-tenant on-demand database service
US8131580B2 (en) 2006-10-04 2012-03-06 Salesforce.Com, Inc. Method and system for load balancing a sales forecast system by selecting a synchronous or asynchronous process based on a type of an event affecting the sales forecast
US8682863B2 (en) 2006-10-04 2014-03-25 Salesforce.Com, Inc. Methods and systems for bulk row save logic in an object relational mapping layer and application framework
US7814052B2 (en) 2006-11-03 2010-10-12 Salesforce.Com, Inc. Implementing formulas for custom fields in an on-demand database
US8509411B2 (en) 2006-11-06 2013-08-13 Nokia Corporation Managing group of location based triggers
US8126898B2 (en) 2006-11-06 2012-02-28 Salesforce.Com, Inc. Method and system for generating scored recommendations based on scored references
US7953775B2 (en) 2006-11-07 2011-05-31 Yahoo! Inc. Sharing tagged data on the internet
US7865303B2 (en) 2006-11-09 2011-01-04 General Motors Llc Method of providing a navigational route for a vehicle navigation system
AU2007323859A1 (en) 2006-11-19 2008-05-29 Rmax, Llc Internet-based computer for mobile and thin client users
US8037182B2 (en) 2006-11-30 2011-10-11 Microsoft Corporation Capture of content from dynamic resource services
US20080147671A1 (en) 2006-12-18 2008-06-19 Lampdesk Corporation System for Running Web Applications Offline and Providing Access to Native Services
US7634505B2 (en) 2006-12-19 2009-12-15 Salesforce.Com, Inc. Methods and procedures to provide complete test copy environment of hosted applications
US20080162544A1 (en) 2006-12-27 2008-07-03 Salesforce.Com, Inc. Systems and methods for implementing many object to object relationships in a multi-tenant environment
US7869941B2 (en) 2006-12-29 2011-01-11 Aol Inc. Meeting notification and modification service
CA2616267C (en) 2006-12-29 2015-03-17 Harman International Industries, Incorporated Vehicle infotainment system with personalized content
US8655939B2 (en) 2007-01-05 2014-02-18 Digital Doors, Inc. Electromagnetic pulse (EMP) hardened information infrastructure with extractor, cloud dispersal, secure storage, content analysis and classification and method therefor
US20080177460A1 (en) 2007-01-10 2008-07-24 Adrian Blackwood Navigation device and method for enhancing traffic data
US8209622B2 (en) 2007-01-30 2012-06-26 Oracle International Corporation Drag and drop browser extension
US8171418B2 (en) 2007-01-31 2012-05-01 Salesforce.Com, Inc. Method and system for presenting a visual representation of the portion of the sets of data that a query is expected to return
WO2008094168A1 (en) 2007-02-02 2008-08-07 Facebook, Inc. System and method for giving gifts and displaying assets in a social network environment
US8352980B2 (en) 2007-02-15 2013-01-08 At&T Intellectual Property I, Lp System and method for single sign on targeted advertising
US8832556B2 (en) 2007-02-21 2014-09-09 Facebook, Inc. Systems and methods for implementation of a structured query language interface in a distributed database environment
US7685200B2 (en) 2007-03-01 2010-03-23 Microsoft Corp Ranking and suggesting candidate objects
JP4286876B2 (en) 2007-03-01 2009-07-01 富士通テン株式会社 Image display control device
US7680882B2 (en) 2007-03-06 2010-03-16 Friendster, Inc. Multimedia aggregation in an online social network
US7831455B2 (en) 2007-03-08 2010-11-09 Salesforce.Com, Inc. Method and system for posting ideas and weighting votes
US8391775B2 (en) 2007-03-09 2013-03-05 Airbiquity Inc. Mobile digital radio playlist system
US8136145B2 (en) 2007-03-13 2012-03-13 Facebook, Inc. Network authentication for accessing social networking system information by a third party application
US20080228924A1 (en) 2007-03-15 2008-09-18 Tilman Herberger System and method for creation of automated content dependent procedures in an online environment
US20080234929A1 (en) 2007-03-20 2008-09-25 Ford Motor Company System and method to determine, in a vehicle, locations of interest
US7827265B2 (en) 2007-03-23 2010-11-02 Facebook, Inc. System and method for confirming an association in a web-based social network
JP4225356B2 (en) 2007-04-09 2009-02-18 トヨタ自動車株式会社 Vehicle navigation device
US7818194B2 (en) 2007-04-13 2010-10-19 Salesforce.Com, Inc. Method and system for posting ideas to a reconfigurable website
US20080275990A1 (en) 2007-05-01 2008-11-06 Ford Motor Company Method and system for selecting, in a vehicle, an active preference group
US8706696B2 (en) 2007-05-04 2014-04-22 Salesforce.Com, Inc. Method and system for on-demand communities
WO2008140738A1 (en) 2007-05-08 2008-11-20 Facebook, Inc. Systems and methods for classified advertising in an authenticated web-based social network
US7840413B2 (en) 2007-05-09 2010-11-23 Salesforce.Com, Inc. Method and system for integrating idea and on-demand services
US7933889B2 (en) 2007-05-15 2011-04-26 Palo Alto Research Center Incorporated Method and system for metadata-driven document management and access control
WO2008147564A1 (en) 2007-05-24 2008-12-04 Facebook, Inc. Systems and methods for providing privacy settings for applications associated with a user profile
AU2008257149A1 (en) 2007-05-24 2008-12-04 Facebook, Inc. Personalized platform for accessing internet applications
US7689595B2 (en) 2007-05-30 2010-03-30 International Business Machines Corporation Automatic travel content capture tool for address book entries
US8249943B2 (en) 2007-05-31 2012-08-21 Facebook, Inc. Auction based polling
WO2008151050A2 (en) 2007-06-01 2008-12-11 Nenuphar, Inc. Integrated system and method for implementing messaging, planning, and search functions in a mobile device
EP2153580A4 (en) 2007-06-05 2011-05-18 Lane Systems Inc E Media exchange system
CA2687951A1 (en) 2007-06-07 2008-12-11 Otman A. Basir A host controlling an interfaced pda's applications directly
WO2008154648A1 (en) 2007-06-12 2008-12-18 Facebook, Inc. Personalized social networking application content
US9285228B2 (en) 2007-06-14 2016-03-15 Panasonic Automotive Systems Company Of America, Division Of Panasonic Corporation Of North America Location based point of interest navigation system
US20080319652A1 (en) 2007-06-20 2008-12-25 Radiofy Llc Navigation system and methods for map navigation
US9360337B2 (en) 2007-06-20 2016-06-07 Golba Llc Navigation system and methods for route navigation
DE102007030259A1 (en) 2007-06-28 2009-01-08 Navigon Ag Method for operating a mobile navigation device
US8577835B2 (en) 2007-06-28 2013-11-05 Salesforce.Com, Inc. Method and system for sharing data between subscribers of a multi-tenant database service
US8180379B2 (en) 2007-06-28 2012-05-15 Apple Inc. Synchronizing mobile and vehicle devices
US20090013011A1 (en) 2007-07-06 2009-01-08 Salesforce.Com Inc. System and method for tracking documents in an on-demand service
US7818298B2 (en) 2007-07-06 2010-10-19 Salesforce.Com, Inc. System and method for tracking documents in an on-demand service
CN101578497A (en) 2007-07-12 2009-11-11 松下电器产业株式会社 Itinerary providing device and itinerary providing method
US7840501B1 (en) 2007-07-12 2010-11-23 Mcafee, Inc. Behavioral analysis apparatus and associated method that utilizes a system selected based on a level of data
US8549417B2 (en) 2007-07-19 2013-10-01 Salesforce.Com, Inc. System, method and computer program product for editing an on-demand database service graphical user interface
US7991790B2 (en) 2007-07-20 2011-08-02 Salesforce.Com, Inc. System and method for storing documents accessed by multiple users in an on-demand service
US20090029744A1 (en) 2007-07-26 2009-01-29 Sony Ericsson Mobile Communications Ab Electronic device for hands-free operation of a portable communication device
US8990697B2 (en) 2007-08-06 2015-03-24 International Business Machines Corporation Associating file types with web-based applications for automatically launching the associated application
US8868499B2 (en) 2007-08-15 2014-10-21 Salesforce.Com, Inc. Method and system for pushing data to subscribers in an on-demand service
US20090049070A1 (en) 2007-08-15 2009-02-19 Arieh Steinberg Web-based social network badges
US8732846B2 (en) 2007-08-15 2014-05-20 Facebook, Inc. Platform for providing a social context to software applications
US20090049413A1 (en) 2007-08-16 2009-02-19 Nokia Corporation Apparatus and Method for Tagging Items
EP2179352A4 (en) 2007-08-17 2010-12-29 Salesforce Com Inc On-demand database service system, method, and computer program product for verifying that a developed application will operate properly with at least one other application
US20090063178A1 (en) 2007-08-17 2009-03-05 Sms.Ac Systems and methods for a mobile, community-based user interface
BRPI0815640A2 (en) 2007-08-20 2016-05-10 Facebook Inc social network advertising and ad selection methods to display by social network site and social network advertising system
US20090063249A1 (en) 2007-09-04 2009-03-05 Yahoo! Inc. Adaptive Ad Server
CA2696945C (en) 2007-09-07 2014-12-02 Facebook, Inc. Dynamically updating privacy settings in a social network
US8250169B2 (en) 2007-09-24 2012-08-21 Sap Ag Business context data companion tool
US8091041B2 (en) 2007-10-05 2012-01-03 International Business Machines Corporation Identifying grouped toolbar icons
US20090100342A1 (en) 2007-10-12 2009-04-16 Gabriel Jakobson Method and system for presenting address and mapping information
US9602605B2 (en) 2007-10-26 2017-03-21 Facebook, Inc. Sharing digital content on a social network
WO2009058972A2 (en) 2007-10-30 2009-05-07 Sosy Technologies Stu, Inc. An apparatus for collecting, storing and transmitting vehicle information
US20090182589A1 (en) 2007-11-05 2009-07-16 Kendall Timothy A Communicating Information in a Social Networking Website About Activities from Another Domain
US8799068B2 (en) 2007-11-05 2014-08-05 Facebook, Inc. Social advertisements and other informational messages on a social networking website, and advertising model for same
US20090132646A1 (en) 2007-11-16 2009-05-21 Iac Search & Media, Inc. User interface and method in a local search system with static location markers
US7873748B2 (en) 2007-11-30 2011-01-18 International Business Machines Corporation Synchronization of locally and remotely stored browser data
US7912629B2 (en) 2007-11-30 2011-03-22 Nokia Corporation Methods, apparatuses, and computer program products for traffic data aggregation using virtual trip lines and a combination of location and time based measurement triggers in GPS-enabled mobile handsets
US9612126B2 (en) 2007-12-03 2017-04-04 Nokia Technologies Oy Visual travel guide
US20090144341A1 (en) 2007-12-03 2009-06-04 Apple Inc. Ad Hoc Data Storage Network
WO2009073856A1 (en) 2007-12-05 2009-06-11 Facebook, Inc. Community translation on a social network
WO2009073962A1 (en) 2007-12-10 2009-06-18 E-Lane Systems Inc. Vehicle communication system with destination selection for navigation
US20090158161A1 (en) 2007-12-18 2009-06-18 Samsung Electronics Co., Ltd. Collaborative search in virtual worlds
US8024431B2 (en) 2007-12-21 2011-09-20 Domingo Enterprises, Llc System and method for identifying transient friends
US9501453B2 (en) 2007-12-23 2016-11-22 Salesforce.Com Inc. Method and system for a flexible-data column user interface
US9037974B2 (en) 2007-12-28 2015-05-19 Microsoft Technology Licensing, Llc Creating and editing dynamic graphics via a web interface
US8213861B2 (en) 2007-12-31 2012-07-03 General Motors Llc Method of vehicle to vehicle communication
US20090187300A1 (en) 2008-01-22 2009-07-23 David Wayne Everitt Integrated vehicle computer system
US9325731B2 (en) 2008-03-05 2016-04-26 Facebook, Inc. Identification of and countermeasures against forged websites
US20090234573A1 (en) 2008-03-17 2009-09-17 Emory University Office Of Technology Transfer Travel Partner Matching Using Selectable Map Interface
USD630302S1 (en) 2008-03-17 2011-01-04 Salesforce.Com, Inc. Insulated backflow device cover
CA2719301C (en) 2008-03-25 2016-10-04 E-Lane Systems Inc. Multi-participant, mixed-initiative voice interaction system
JP4524763B2 (en) 2008-03-25 2010-08-18 株式会社デンソー Automotive information provision system
WO2009132444A1 (en) 2008-04-28 2009-11-05 Sitemasher Corporation Object-oriented system for creating and managing websites and their content
WO2009134430A1 (en) 2008-05-01 2009-11-05 Salesforce.Com, Inc. System, method and computer program product for generating a set of instructions to an on-demand database service
US8126435B2 (en) 2008-05-30 2012-02-28 Hewlett-Packard Development Company, L.P. Techniques to manage vehicle communications
US11461785B2 (en) 2008-07-10 2022-10-04 Ron M. Redlich System and method to identify, classify and monetize information as an intangible asset and a production model based thereon
US20100007711A1 (en) 2008-07-23 2010-01-14 Thurmond Bell vPhone (video phone), V3Phone (video, voice,vehicular phone) and V3Phone Console for vehicular and portable wireless communication,entertainment, global positioning, and video conferencing
US8307086B2 (en) 2008-08-19 2012-11-06 Facebook, Inc. Resource management of social network applications
US20100049534A1 (en) 2008-08-19 2010-02-25 Thomas Scott Whitnah Determining User Affinity Towards Applications on a Social Networking Website
US8296161B2 (en) 2008-09-05 2012-10-23 Salesforce.Com, Inc. Method and system for wealth management
US20100235495A1 (en) 2008-09-10 2010-09-16 Salesforce.Com, Inc. Methods and systems for reducing a load on a multi-tenant database
US9535967B2 (en) 2008-09-10 2017-01-03 Salesforce.Com, Inc. Method and system for providing efficient and complex database functionality to a mobile device
US8407338B2 (en) 2008-09-12 2013-03-26 Salesforce.Com Methods and systems for polling an on demand service
US8577918B2 (en) 2008-09-12 2013-11-05 Salesforce.Com, Inc. Method and system for apportioning opportunity among campaigns in a CRM system
US8447745B2 (en) 2008-09-12 2013-05-21 Salesforce.Com, Inc. Synchronizing field values in an on-demand database prior to committing a change
US8538942B2 (en) 2008-09-12 2013-09-17 Salesforce.Com, Inc. Method and system for sharing documents between on-demand services
US8726179B2 (en) 2008-09-12 2014-05-13 Salesforce.Com, Inc. Method and system for providing in-line scheduling in an on-demand service
US8224313B2 (en) 2008-09-24 2012-07-17 Centurylink Intellectual Property Llc System and method for controlling vehicle systems from a cell phone
JP5530450B2 (en) 2008-10-28 2014-06-25 エアビクティ インコーポレイテッド Purchase of music broadcast on in-car radio
US8234290B2 (en) 2008-10-31 2012-07-31 Salesforce.Com, Inc. Method for monitoring and controlling the processing of database searches
US20100132049A1 (en) 2008-11-26 2010-05-27 Facebook, Inc. Leveraging a social graph from a social network for social context in other systems
US8869243B2 (en) 2008-12-26 2014-10-21 Facebook, Inc. Authenticating user sessions based on reputation of user locations
US8462160B2 (en) 2008-12-31 2013-06-11 Facebook, Inc. Displaying demographic information of members discussing topics in a forum
US9521013B2 (en) 2008-12-31 2016-12-13 Facebook, Inc. Tracking significant topics of discourse in forums
US20100184406A1 (en) 2009-01-21 2010-07-22 Michael Schrader Total Integrated Messaging
US20100223100A1 (en) 2009-01-23 2010-09-02 Salesforce.Com, Inc. Methods and Systems for Sales Networking
US20100250565A1 (en) 2009-01-23 2010-09-30 Salesforce.Com, Inc. Analytics
US20100192067A1 (en) 2009-01-23 2010-07-29 Salesforce.Com, Inc. Customer service & support systems and methods for use in an on demand database service
US8959341B2 (en) 2009-01-23 2015-02-17 Salesforce.Com, Inc. Methods and systems for sharing database content
US9286364B2 (en) 2009-01-23 2016-03-15 Salesforce.Com Inc. Methods and systems for sharing information in a supply chain
US8370126B2 (en) 2009-01-30 2013-02-05 Facebook, Inc. Incorporation of variables into textual content
US8296321B2 (en) 2009-02-11 2012-10-23 Salesforce.Com, Inc. Techniques for changing perceivable stimuli associated with a user interface for an on-demand database service
US9582807B2 (en) 2009-02-20 2017-02-28 Facebook, Inc. Engagement interface advertising in a social network
US9110953B2 (en) 2009-03-04 2015-08-18 Facebook, Inc. Filtering content in a social networking service
US8910251B2 (en) 2009-03-06 2014-12-09 Facebook, Inc. Using social information for authenticating a user session
US8751826B2 (en) 2009-04-01 2014-06-10 Salesforce.Com, Inc. Enhanced system security
US20110087526A1 (en) 2009-04-02 2011-04-14 Jared Morgenstern Social Network Economy Using Gift Credits
US20100257023A1 (en) 2009-04-07 2010-10-07 Facebook, Inc. Leveraging Information in a Social Network for Inferential Targeting of Advertisements
US20100299664A1 (en) 2009-05-21 2010-11-25 Salesforce.Com, Inc. System, method and computer program product for pushing an application update between tenants of a multi-tenant on-demand database service
JP5730290B2 (en) 2009-05-21 2015-06-10 セールスフォース ドット コム インコーポレイティッド System, method and computer program product for version management of application components
US20100306043A1 (en) 2009-05-26 2010-12-02 Robert Taaffe Lindsay Measuring Impact Of Online Advertising Campaigns
US8577543B2 (en) 2009-05-28 2013-11-05 Intelligent Mechatronic Systems Inc. Communication system with personal information management and remote vehicle monitoring and control features
US20100318571A1 (en) 2009-06-16 2010-12-16 Leah Pearlman Selective Content Accessibility in a Social Network
US20110004692A1 (en) 2009-07-01 2011-01-06 Tom Occhino Gathering Information about Connections in a Social Networking Service
US8601363B2 (en) 2009-07-20 2013-12-03 Facebook, Inc. Communicating information about a local machine to a browser application
US8869024B2 (en) 2009-07-20 2014-10-21 Facebook, Inc. Monitoring a background process in a web browser and providing status of same
US8706801B2 (en) 2009-07-20 2014-04-22 Facebook, Inc. Rendering a web page using content communicated to a browser application from a process running on a client
US8549072B2 (en) 2009-07-23 2013-10-01 Facebook, Inc. Markup language for incorporating social networking system information by an external website
US8763152B2 (en) 2009-07-23 2014-06-24 Facebook Inc. Single login procedure for accessing social network information across multiple external systems
US8752186B2 (en) 2009-07-23 2014-06-10 Facebook, Inc. Dynamic enforcement of privacy settings by a social networking system on information shared with an external system
US8723362B2 (en) 2009-07-24 2014-05-13 Facebook, Inc. Direct tie-in of a backup power source to motherboards in a server system
US8874694B2 (en) 2009-08-18 2014-10-28 Facebook, Inc. Adaptive packaging of network resources
US8874663B2 (en) 2009-08-28 2014-10-28 Facebook, Inc. Comparing similarity between documents for filtering unwanted documents
US8868637B2 (en) 2009-09-02 2014-10-21 Facebook, Inc. Page rendering for dynamic web pages
US20110055683A1 (en) 2009-09-02 2011-03-03 Facebook Inc. Page caching for rendering dynamic web pages
US8707161B2 (en) 2009-09-30 2014-04-22 Facebook, Inc. Executing server side script code specified using PHP on a server to generate dynamic web pages
US9119027B2 (en) 2009-10-06 2015-08-25 Facebook, Inc. Sharing of location-based content item in social networking service
US20110106630A1 (en) 2009-11-03 2011-05-05 John Hegeman User feedback-based selection and prioritizing of online advertisements
US20110125599A1 (en) 2009-11-20 2011-05-26 David Morin Social License for Interactive Applications and Content
US9978272B2 (en) 2009-11-25 2018-05-22 Ridetones, Inc Vehicle to vehicle chatting and communication system
US9723759B2 (en) 2009-11-30 2017-08-01 Facebook, Inc. Cooling servers in a data center using fans external to servers
US8316056B2 (en) 2009-12-08 2012-11-20 Facebook, Inc. Second-order connection search in a social networking system
US8230046B2 (en) 2009-12-15 2012-07-24 Facebook, Inc. Setting cookies in conjunction with phased delivery of structured documents
US8108377B2 (en) 2009-12-15 2012-01-31 Facebook, Inc. Predictive resource identification and phased delivery of structured documents
US8997006B2 (en) 2009-12-23 2015-03-31 Facebook, Inc. Interface for sharing posts about a live online event among users of a social networking system
US20110153377A1 (en) 2009-12-23 2011-06-23 Victor Novikov Mixing and Targeting Content Types/Items for Users to Promote Optimization Goals
US20110153421A1 (en) 2009-12-23 2011-06-23 Victor Novikov Context-Based Selection and Presentation of Social Networking System Content and Advertisements
US20110153412A1 (en) 2009-12-23 2011-06-23 Victor Novikov Selection and Presentation of Related Social Networking System Content and Advertisements
US20110161987A1 (en) 2009-12-30 2011-06-30 Anqi Andrew Huang Scaling notifications of events in a social networking system
US8443155B2 (en) 2009-12-31 2013-05-14 Facebook, Inc. Lock-free concurrent object dictionary
US8769541B2 (en) 2009-12-31 2014-07-01 Facebook, Inc. Load balancing web service by rejecting connections
US8820113B2 (en) 2009-12-31 2014-09-02 Facebook, Inc. Cooling computing devices in a data center with ambient air cooled using heat from the computing devices
US8937405B2 (en) 2009-12-31 2015-01-20 Facebook, Inc. Data center using fuel cells in place of diesel generators for backup power
US8527496B2 (en) 2010-02-11 2013-09-03 Facebook, Inc. Real time content searching in social network

Patent Citations (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7324826B2 (en) * 2000-03-06 2008-01-29 America Online, Inc. Method and system for messaging across cellular networks and a public data network
US6714793B1 (en) * 2000-03-06 2004-03-30 America Online, Inc. Method and system for instant messaging across cellular networks and a public data network
US6983203B1 (en) * 2000-07-28 2006-01-03 Alpine Electronics, Inc. POI icon display method and navigation system
US20020184089A1 (en) * 2001-05-29 2002-12-05 Tsou I-Wen Winnie Methods, devices and systems for real-time instant presence with advertisement (RIPA)
US6885874B2 (en) * 2001-11-27 2005-04-26 Motorola, Inc. Group location and route sharing system for communication units in a trunked communication system
US6959173B2 (en) * 2002-03-06 2005-10-25 Denso Corporation Downloading server and mobile station using local-area wireless communication
US20040192331A1 (en) * 2002-04-30 2004-09-30 Gorday Paul Edward Method of targeting a message to a communication device selected from among a set of communication devices
US20040192339A1 (en) * 2002-06-14 2004-09-30 Brian Wilson Method for providing location-based services in a wireless network, such as varying levels of services
US7116985B2 (en) * 2002-06-14 2006-10-03 Cingular Wireless Ii, Llc Method for providing location-based services in a wireless network, such as varying levels of services
US20050266884A1 (en) * 2003-04-22 2005-12-01 Voice Genesis, Inc. Methods and systems for conducting remote communications
US20050143134A1 (en) * 2003-12-30 2005-06-30 Lear Corporation Vehicular, hands-free telephone system
US20060256959A1 (en) * 2004-02-28 2006-11-16 Hymes Charles M Wireless communications with proximal targets identified visually, aurally, or positionally
US7061366B2 (en) * 2004-04-12 2006-06-13 Microsoft Corporation Finding location and ranging explorer
US7599791B2 (en) * 2004-04-30 2009-10-06 Pioneer Corporation Spot searching device, navigation apparatus, spot searching method, spot searching program, and information recording medium having spot searching program
US20060061458A1 (en) * 2004-09-21 2006-03-23 Gregory Simon Wireless vehicle control system and method
US7877450B2 (en) * 2004-12-30 2011-01-25 Aol Inc. Managing instant messaging sessions on multiple devices
US20060155665A1 (en) * 2005-01-11 2006-07-13 Toyota Jidosha Kabushiki Kaisha Agent apparatus for vehicle, agent system, agent controlling method, terminal apparatus and information providing method
US7689253B2 (en) * 2005-06-13 2010-03-30 E-Lane Systems, Inc. Vehicle immersive communication system
US7826945B2 (en) * 2005-07-01 2010-11-02 You Zhang Automobile speech-recognition interface
US20070027614A1 (en) * 2005-08-01 2007-02-01 General Motors Corporation Method and system for linked vehicle navigation
US20070182592A1 (en) * 2006-02-07 2007-08-09 Koninklijke Kpn N.V. Vehicle communication device
US20070223436A1 (en) * 2006-03-24 2007-09-27 Hitachi, Ltd. Apparatus and method for community-based communication
US20070255807A1 (en) * 2006-04-28 2007-11-01 Yahoo! Inc. Social networking for mobile devices
US20070271367A1 (en) * 2006-05-09 2007-11-22 Zohar Yardeni Systems and methods for location-based social web interaction and instant messaging system
US20080027643A1 (en) * 2006-07-28 2008-01-31 Basir Otman A Vehicle communication system with navigation
US7664474B2 (en) * 2006-09-08 2010-02-16 Sony Ericsson Mobile Communications Ab Portable electronic device and a method in a portable electronic device
US20090017865A1 (en) * 2007-07-13 2009-01-15 Sony Ericsson Mobile Communications Ab Making calls using the preferred network
US20090233629A1 (en) * 2008-03-14 2009-09-17 Madhavi Jayanthi Mobile social network for facilitating GPS based services

Also Published As

Publication number Publication date
US8073590B1 (en) 2011-12-06
US20120059534A1 (en) 2012-03-08
US8473152B2 (en) 2013-06-25

Similar Documents

Publication Publication Date Title
US8255154B2 (en) System, method, and computer program product for social networking utilizing a vehicular assembly
US8131458B1 (en) System, method, and computer program product for instant messaging utilizing a vehicular assembly
US8473152B2 (en) System, method, and computer program product for utilizing a communication channel of a mobile device by a vehicular assembly
US8265862B1 (en) System, method, and computer program product for communicating location-related information
US8190692B1 (en) Location-based messaging system, method, and computer program product
US11216522B2 (en) State-dependent query response
US11080012B2 (en) Interface for a virtual digital assistant
US9917904B1 (en) Identifying non-search actions based on a search-query
CN102272828B (en) Method and system for providing a voice interface
US8300776B2 (en) Highlighting of voice message transcripts
CN103403705B (en) Loading a mobile computing device with media files
US8117225B1 (en) Drill-down system, method, and computer program product for focusing a search
US20090249198A1 (en) Techniques for input recogniton and completion
US20140372114A1 (en) Self-Directed Machine-Generated Transcripts
US20070027852A1 (en) Smart search for accessing options
KR20160142802A (en) Using context information to facilitate processing of commands in a virtual assistant
US20080288252A1 (en) Speech recognition of speech recorded by a mobile communication facility
US8718621B2 (en) Notification method and system
JP2002049515A (en) Single click data synchronization of public and private data
EP2126902A2 (en) Speech recognition of speech recorded by a mobile communication facility
US9412394B1 (en) Interactive audio communication system
CN101682667A (en) Method and portable apparatus for searching items of different types
US20200251109A1 (en) Method For Operating And/Or Controlling A Dialog System

Legal Events

Date Code Title Description
AS Assignment

Owner name: ALOFT MEDIA, LLC, TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ZILKA, KEVIN J.;REEL/FRAME:034009/0308

Effective date: 20090520

Owner name: BOADIN TECHNOLOGY, LLC, DELAWARE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ALOFT MEDIA, LLC;REEL/FRAME:034009/0317

Effective date: 20111024

AS Assignment

Owner name: KILPAUK GARDEN, SERIES 64 OF ALLIED SECURITY TRUST

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BOADIN TECHNOLOGY, LLC;REEL/FRAME:034537/0020

Effective date: 20141111

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE

AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KILPAUK GARDEN, SERIES 64 OF ALLIED SECURITY TRUST I;REEL/FRAME:036566/0389

Effective date: 20150803