1. A computer-implemented method for allowing creation and management of a list on a mobile computing device, the method comprising:
rendering a user interface on a display device of the mobile computing device;
receiving user input from a user for creating a list;
receiving an audio input stream from the user at an audio input device of the mobile computing device, the audio input stream including a sequence of a plurality of list items spoken by the user;
in response to receipt of the audio input stream at the audio input device, calling a speech processing engine from the user interface to process the audio input stream into input text and to parse the input text into one or more n-grams;
rendering representations of the one or more n-grams on the user interface to allow the user to accept, reject andor edit the one or more n-grams for representation in the form of a list; and
in response to user input accepting the one or n-grams, rendering a list on the user interface in which each n-gram is represented as a separate list item.
2. The method of claim 1, further comprising:
automatically determining one or more product items corresponding to a list item;
allowing the user to select at least one of the one or more product items using the user interface; and
in response to user selection of at least one of the one or more product items, rendering representations of the at least one of the one or more selected product items on the user interface.
3. The method of claim 2, further comprising:
providing information on a product item on the user interface, the information including one of a price of the product item, a brand name of the product item, and a review of the product item, a rating of the product item.
4. The method of claim 2, wherein the automatic determining of the one or more product items is based on one or more prior product item selections made by the user.
5. The method of claim 2, wherein the automatic determining of the one or more product items is based on one or more products available at a store location corresponding to the user andor a store location corresponding to a location of the user.
6. The method of claim 1, further comprising:
receiving user input at the user interface to merge representations of two or more selected list items into a representation of a merged list item; and
in response to the user input to merge the representations, updating the list rendered on the user interface to remove representations of the two or more selected list items and to include the representation of the merged list item.
7. The method of claim 1, further comprising:
receiving user input at the user interface to split a representation of a selected list item into representations of two or more split list items; and
in response to the user input to split the representation, updating the list rendered on the user interface to remove the representation of the selected list item and to include the representations of the two or more split list items.
8. The method of claim 1, further comprising:
rendering a map of a store on the user interface; and
rendering representations of the list items on representations on the map of corresponding geographical locations in the store at which the list items are available.
9. The method of claim 8, further comprising:
rendering a route on the map that connects the representations of the list items to indicate a path to follow in picking up the list items in the store.
10. The method of claim 1, further comprising:
removing one or more stop words andor one or more words of hesitation from the input text before the one or more n-grams are generated.
11. The method of claim 1, further comprising:
removing audio noise from the audio input stream before processing the audio input stream at the speech processing engine.
12. A mobile computing system, comprising:
an audio input device for receiving audio input;
a visual display device configured to display one or more user interfaces; and
a processor programmed to:
render a user interface on the visual display device,
receive user input from a user for creating a list,
receive an audio input stream from the user at the audio input device, the audio input stream including a sequence of a plurality of list items spoken by the user,
in response to receipt of the audio input stream at the audio input device, call a speech progressing engine from the user interface to process the audio input stream into input text and to parse the input text into one or more n-grams,
render representations of the one or more n-grams on the user interface to allow the user to accept, reject andor edit the one or more n-grams for representation in the form of a list, and
in response to user input accepting the one or n-grams, render a list on the user interface in which each n-gram is represented as a separate list item.
13. The mobile computing system of claim 12, wherein the processor is further programmed to:
render a map of a store on the user interface; and
render representations of the list items on representations on the map of corresponding geographical locations in the store at which the list items are available.
14. The mobile computing system of claim 12, wherein the processor is further programmed to:
render a route on the map that connects the representations of the list items to indicate a path to follow in picking up the list items in the store.
15. One or more non-transitory computer-readable media encoded with computer-executable instructions for performing a method for allowing creation and management of a list on a mobile computing device, the method comprising:
rendering a user interface on a display device of the mobile computing device;
receiving user input from a user for creating a list;
receiving an audio input stream from the user at an audio input device of the mobile computing device, the audio input stream including a sequence of a plurality of list items spoken by the user;
in response to receipt of the audio input stream at the audio input device, calling a speech processing engine from the user interface to process the audio input stream into input text and to parse the input text into one or more n-grams;
rendering representations of the one or more n-grams on the user interface to allow the user to accept, reject andor edit the one or more n-grams for representation in the form of a list; and
in response to user input accepting the one or n-grams, rendering a list on the user interface in which each n-gram is represented as a separate list item.
16. The one or more non-transitory computer-readable media of claim 15, wherein the method further comprises:
rendering a map of a store on the user interface; and
rendering representations of the list items on representations on the map of corresponding geographical locations in the store at which the list items are available.
17. The one or more non-transitory computer-readable media of claim 15, wherein the method further comprises:
rendering a route on the map that connects the representations of the list items to indicate a path to follow in picking up the list items in the store.
18. A computer-implemented method for a mobile computing device, comprising:
receiving a list of items;
rendering a map of a store on a user interface displayed on a visual display device of the mobile computing device;
rendering representations of the list items on representations on the map of corresponding geographical locations in the store at which the list items are available; and
rendering a route on the map that connects the representations of the list items to indicate a path to follow in picking up the list items in the store.
19. The method of claim 18, further comprising:
rendering a second user interface on the visual display device of the mobile computing device;
receiving user input from a user for creating a list;
receiving an audio input stream from the user at an audio input device of the mobile computing device, the audio input stream including a sequence of a plurality of list items spoken by the user;
in response to receipt of the audio input stream at the audio input device, calling a speech processing engine from the user interface to process the audio input stream into input text and to parse the input text into one or more n-grams;
rendering representations of the one or more n-grams on the second user interface to allow the user to accept, reject andor edit the one or more n-grams for representation in the form of a list; and
in response to user input accepting the one or n-grams, rendering a list on the second user interface in which each n-gram is represented as a separate list item.
20. The method of claim 19, further comprising:
automatically determining one or more product items corresponding to a list item;
allowing the user to select at least one of the one or more product items using the second user interface; and
in response to user selection of at least one of the one or more product items, rendering representations of the at least one of the one or more selected product items on the second user interface.
21. The method of claim 18, further comprising:
automatically determining the store based on its proximity to the mobile computing device.
22. The method of claim 18, further comprising:
changing the rendering of the map based on a location of the mobile computing device.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A communication system having a first and a second communicating device operable to send and receive a plurality of data units through a communication channel, said plurality of data units comprising data units encrypted using a security key, said first device comprising a first security key generator generating a first embodiment of said key independently of a second embodiment of said key generated by a second security key generator of said second device, said second embodiment being generated independently of said first embodiment, said first embodiment depending on one or more parameters characterizing a first transmission quality of said communication channel when receiving a first set of data units sent by said second device not encrypted using said key, said second embodiment depending on one or more parameters characterizing a second transmission quality of said communication channel when receiving a second set of data units sent by said first device not encrypted by said key, said first set being different from said second set, wherein at least one of the first and second communicating devices is moved at least once during the receiving of the first and second sets of data units.
2. The communication system as claimed in claim 1, wherein said first security key generator generates said first embodiment of said key depending on a variation of at least one of said parameters characterizing said first transmission quality and said second security key generator generates said second embodiment of said key depending on a variation of at least one of said parameters characterizing said second transmission quality.
3. The communication system as claimed in claim 1, wherein said parameter values are link quality indication (LQI) values.
4. The communication system as claimed in claim 1, wherein said communication channel is a wireless communication channel.
5. The communication system as claimed in claim 4, wherein at least one of said devices is moved at least once during transmission of said first and second set of data units not encrypted using said security key.
6. The communication system as claimed in claim 1, wherein said communication channel is a wired communication channel.
7. The communication system as claimed in claim 1, wherein said first and said second security key generator each additionally generate a embodiment of an additional security key, said additional security key being used for decrypting received data units encrypted by said security key.
8. The communication system as claimed in claim 1, comprising at least one further communicating device operable to communicate with said first andor said second communicating device.
9. The communication system as claimed in claim 1, wherein a physical parameter of said communication channel is changed at least once during transmission of said first and second set of data units not encrypted using said security key.
10. The communication system as claimed in claim 1, wherein data units of said first set and said second set are sent alternately by said first and said second device.
11. The communication system as claimed in claim 1, wherein said first set and said second set of data units are sets of dummy data units.
12. An electronic apparatus having at least two communicating devices, comprising a communication system as claimed in claim 1.
13. A method of establishing a secure communication between a first and a second communicating device operable to send and receive a plurality of data units through a communication channel, comprising
sending a first set of data units not encrypted by a security key from said second device to said first device;
sending a second set of data units not encrypted by said security key from said first device to said second device, said second set of data units being different from said first set of data units, wherein at least one of the first and second communicating devices is moved at least once during transmission of the first and second sets of data units;
extracting a first set of values of one or more parameters characterizing a first transmission quality of said communication channel when receiving said first set of data units;
generating a first embodiment of a security key depending on said first set of extracted values, independently of a second embodiment of said security key,
extracting a second set of values of one or more parameters characterizing a second transmission quality of said communication channel when receiving said second set of data units; and
generating said second embodiment of said security key depending on said second set of extracted values.
14. The method as claimed in claim 13, comprising
sending at least one data unit encrypted using said first embodiment of said security key from said first device to said second device;
decrypting said at least one data unit encrypted using said first embodiment of said security key and sending at least one data unit encrypted using said second embodiment of said security key from said second device to said first device;
decrypting said at least one data unit encrypted using said second embodiment of said security key and sending a valid key confirmation from said first device to said second device.
15. The method as claimed in claim 13, comprising
changing a physical parameter of said communication channel at least once during transmission of said first and second set of data units not encrypted using said security key.
16. A nontransitory computer program product, comprising code portions for executing, on an electronic instruction-based processor, steps of the method of claim 13.
17. A communication system having a first and a second communicating device operable to send and receive a plurality of data units through a communication channel, said plurality of data units comprising data units encrypted using a security key, said first device comprising a first security key generator generating a first embodiment of said key independently of a second embodiment of said key generated by a second security key generator of said second device, said second embodiment being generated independently of said first embodiment, said first embodiment depending on one or more parameters characterizing a first transmission quality of said communication channel when receiving a first set of data units sent by said second device not encrypted using said key, said second embodiment depending on one or more parameters characterizing a second transmission quality of said communication channel when receiving a second set of data units sent by said first device not encrypted by said key, said first set being different from said second set, wherein at least one of the first and second communicating devices is moved at least once during the receiving of the first and second sets of data units, wherein variation of link quality induced by movement of at least one of the first and second communicating devices is used for key generation.
18. The communication system of claim 17 wherein changing a physical environment between the first and second communicating devices is used for key generation.
19. The communication system of claim 17 wherein usage of the communication channel induces a variation of the one or more parameters characterizing the first transmission quality and the one or more parameters characterizing the second transmission quality.
20. The communication system of claim 17 wherein the variation of link quality is a relative variation rather than an absolute value of a link quality parameter.