Abstract:
A software product for easy-to-use naming, coding, and sharing of locations, including those with no addresses.

Description:
CLAIM OF PRIORITY 
     This application claims the benefit of priority of U.S. Provisional Patent Application Ser. No. 61/693,636, filed on Aug. 27, 2012. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates generally to coding geographic coordinates, and in particular, to identifying specific places by easy-to-remember and easy-to-use codes, rather than other, unwieldy means of location identification. 
     BACKGROUND 
     Once used solely as classified military technology, the use of global positioning systems (GPS) is now widely used in the general populous. Devices, such as Garmin® devices, may be used in cars to direct the driver based on their global position and their desired destination. Alternatively, cars frequently include built-in navigation systems that offer similar services. Smartphones also commonly include basic GPS capabilities for locating the user and directing him or her to a desired destination. Other smartphone applications, such as RunKeeper® for example, use the smartphone&#39;s GPS capabilities to track the user&#39;s path, speed, elevation, etc. . . . Despite this broad usage of GPS technology, the problem that location identification can be unwieldy and imprecise remains. 
     There are several common ways to identify a location. Longitude and latitude coordinates may be extremely precise, but are extremely unwieldy to relay to a GPS device or another person. One might tell a friend to meet him at specific GPS coordinates, which may precisely indicate one&#39;s location, but the long strings of numbers are neither easily remembered, nor communicated, nor entered into a device with GPS capabilities. Physical addresses are another common way to identify a location. Again, remembering, communicating, and/or entering addresses can be difficult at times, especially when the address is long—1327 Foothill Boulevard, La Cañada Flintridge, Calif., for example. Moreover, some addresses are ambiguous and are not easily input into a GPS device. For an address such as, 1454 US RTE 22 West, Union, N.J., for example, a GPS device might not recognize the input of “Route 22” or “Rte. 22,” but may, unbeknownst to the user, instead require “US RTE 22” exactly in order to recognize the address. Finally, locations may be identified informally, such as “soccer field #3,” “parking lot B,” “the East side entrance to the Central Park reservoir,” or “the dragon ride at Alpha Amusement Park.” Such informal location identifications that don&#39;t necessarily have an address are particularly prone to confusion and miscommunication. All of these types of locations and others may need to be communicated from time to time, and all have their disadvantages as far as simple, precise location communication. 
     Google™ Place Pages provides a service where a business may be provided with a QR code associated with that the business. One who scans such a QR code is provided with information about the business and an option to click for maps or directions to that location. Although a useful tool, this service does not appear to accept input of locations other than addresses, nor does it provide simple process to simply scan for directions, and as such, does not address many of the situations outlined above. 
     Therefore there is a need for easy assignation and communication of precise coordinates of a specific location. 
     SUMMARY OF THE INVENTION 
     The present invention is a software product and smartphone application for easy-to-use coding of locations and accurate transmittal of such codes to devices that can use them. 
     The location identification software product of the present invention takes a physical location as an input and creates a code specific to that location. The software product is tangibly stored on a non-transitory storage device and causes a data processing device to perform the various operations described herein. Many of the operations involve receiving or transmitting various data. The main data processing device may be receiving or transmitting data from any device capable of transmitting data to and receiving data from the data processing device. Any internet-capable device, such as a desktop computer, laptop computer, tablet computer, or smartphone, for example, may communicate with the main data processing device of the present invention. Information received by the data processing device may therefore be typed, scanned, spoken, tapped, clicked, or otherwise selected or input for transmission to the main data processing device. Some operations are performed by a central server, which is the main data processing device. Some operations are performed according to software downloaded from the central server to the device in communication with the server, such as a smartphone application downloaded to a smartphone. With such latter operations, any information transmitted from or received by the device through the software downloaded on the device is still transmitted to or received by the server even if some of the functions are being performed locally by the device. For such operations, the device on which the software downloaded from the central server and the central server are both data processing devices of the present invention. 
     The location identification software product includes code creation software code, code saving software code, a database, code sharing software code, code selection software code, directions software code, and payment software code. Creation software code creates the code that is associated with the physical location. Code creation software code includes location input software code, automated code provision software code, code customization software code, customized code acceptability software code, note addition software code, and public/private option software code. Location input software code allows for the input of the location to be coded. A location may be inputted by several means including typing an address, typing GPS coordinates, using the user&#39;s current location, selecting a map location, searching for a location using a search engine, typing a zip code+four, or plotting polygon points on a map to select an area rather than a point. Location input by selecting a map location or plotting polygon points is accomplished using an electronic map. These options include choices for selecting locations that have no street address, such as a spot on a hiking trail, on a beach or in a park. An electronic map is a computerized depiction of a map where a user may select locations within the map. 
     Once the location is inputted, automated code provision software code is executed. Automated code provision software code provides the user with a code associated with the inputted location. The code is alphanumeric, and may also be displayed optionally as a QR code or bar code. The code is easily speakable into a device that accepts spoken commands. The user may then choose to execute code customization software code to choose a different alphanumeric code for the inputted location other than the one automatically generated by automated code provision software code. The user would do this by inputting a preferred alphanumeric grouping. If code customization software code is executed by the input of a requested customized code, customized code acceptability software code is also executed. Customized code acceptability software code checks for availability of the requested preferred alphanumeric grouping against a list of non-available alphanumeric codes. For example, if a restaurant owner wants to code his location “OriginalRays,” he can check to see if that code is available. Alphanumeric codes may be non-available either because they are already used as a code for another location or because they have been reserved. Codes may be reserved for several reasons. A code containing a very desirable word or generic term, “pizza” for example, may be reserved for users willing to pay to have a code with that word. Codes containing trademarks or domain names may also be reserved. Customized code acceptability software code also checks acceptability of the requested preferred alphanumeric grouping as far as rules for the code. Rules may be as simple as: the alphanumeric code must include at least one letter or number. More complex rules may be that the alphanumeric code must be at least eight characters long and include at least one letter, one number, and one symbol. 
     Once a user has been provided with an acceptable code, the user may input notes associated with the code or the location it represents through note addition software code. Public/private option software code may also be executed, which allows a user to choose whether the code will be public or private. 
     The location identification software product also includes saving software code, the database, and code sharing software code. Saving software code is executed to save inputted location information, any codes subsequently associated with that location, any notes associated with the code and location, and whether the code and any notes are public or private. All of this information saved through saving software code is saved in the database. Code sharing software code allows a user to share the code through various means, such as email, social media, texting, website posting, or sound recording. Message customization software code may also be executed as a part of code sharing software code to customize a message or post included with the code. 
     The location identification software product also includes code selection software code, directions software code, and payment software code. Code selection software code allows the recipient of a code shared through code sharing software code to select the shared code and learn the location associated with the shared code and any other information attached to the code, such as notes. Once the recipient has selected the shared code and been presented with the information, he may choose to execute the directions software code, which will provide the recipient with directions to the coded location from the recipient&#39;s location or from another location provided by the recipient. If directions are to be provided from the recipient&#39;s location, the recipient&#39;s device must be GPS-enabled. GPS-enablement is not necessary if the directions are to be provided from another location input into the recipient&#39;s device. Directions software code may also provide reverse directions from the coded location to the recipient&#39;s location or to another location provided by the recipient. 
     Payment software code allows for users to pay for the execution of code creation software code. One of ordinary skill in the art will recognize that there are many different payment structures for such a service as described above. Each of these variations is considered to be within the scope of the present invention. It is preferred, however, that code creation be free for both consumers and businesses for non-premium names. Premium code names or generic terms, such as those including desirable words like “pizza,” “coffee,” “gas,” or “lawyer” may be reserved and only assigned to a location upon payment. Such premium code names may be akin to domain names, such as “wine.com”, “lawyers.com”, or “books.com.” Premium code names may also include trademarks and trade names. Premium code names are stored in the database and are only released for assignment upon execution of payment software code. 
     One of ordinary skill in the art will recognize that the location identification software product and its features may be executed by any device having internet capabilities, including desktop, laptop, and tablet computers, as well as smartphones, which are mobile phones having computer capabilities beyond telephonic capabilities, especially including internet capabilities. It is preferable that the device also include GPS capabilities for improved accuracy. 
     Although not all features described herein are claimed, it is understood that the inventor considers each feature described herein to be a part of the invention. 
     The software product and smartphone application of the present invention may be used to great advantage in many scenarios. In a first case, with the current state of the art, a soccer coach might send the following long and convoluted message to the parents of his players: 
     This week&#39;s game is at Veteran&#39;s Field #3 in Lake Hopatcong, N.J. Depending on your GPS, you should be able to just enter 126 East Flora Road, Lake Hopatcong, N.J. 07843, which appears to be the nearest street address, but I&#39;m not sure where the entrance is. Their coach said to park in parking lot B which is the closest lot to our field. I found directions on the team&#39;s website, which say: Take I-80 to exit 28 or Route 46 to Route 631 Northbound to traffic light. Turn left onto Lakeside. Follow Lakeside several miles up through two lights. Turn left onto Brooklyn-Stanhope Road for just under a mile (stone house on the corner of Flora and Brooklyn-Stanhope). Turn right onto Flora. Follow Flora—Fields are located on the left side of Flora. 
     In preparation for the day of the game, the parent searches for the field; reviews the map to try to find field #3 or lot B; gives up and enters 41 characters of a nearby address into a GPS device, “126 East Flora Road, Lake Hopatcong, N.J.”; arrives at that nearby address; and searches for the field and parking lot once there. 
     With the present invention, the coach would send: 
     This week&#39;s game is at Veteran&#39;s Field #3 in Hopatcong, N.J. Use Code NJVetFieldB. The notes attached to this code would include that Parking Lot B is next to the field. The parent would enter the 11 characters of NJVetFieldB into a GPS device and be directed directly to the field and parking lot. As this example shows, a great deal of time, effort, confusion, and frustration may be saved using the present invention. 
     In a second case, the user needs to get to a specific part of a large complex. Specifically, he needs to get to the Princeton University Pool. In the current state of the art, he goes online and searches for “Princeton University Pool.” He clicks on several search results before coming upon an actual address or map of the university. With the present invention, a Princeton student or facility manager may have created a code, “TigersPool” and made the code public and therefore searchable. The user searches for the code, easily finds it, and is provided with perfect directions to the pool. 
     In a final case, a user is shopping online. In the current state of the art, he needs to enter multiple address fields each time he visits a new e-commerce site. He is uncomfortable sharing his personal information, including his home address, with these new unknown sites. With the present invention, the user can enter his address once to create a code for it. He can then use this code with participating e-commerce websites in the future, thereby saving the repeated typing in of his address, and preserving his privacy by not disclosing his actual address, but only the code associated with it. 
     Therefore it is an aspect of the present invention to provide short, memorable codes for a location. 
     It is a further aspect of the present invention to make these codes public or private. 
     It is a further aspect of the present invention to obfuscate an actual address associated with the encoded location. 
     It is a further aspect of the present invention to code a location that does not have an address. 
     It is a further aspect of the present invention to automatically provide speakable codes. 
     It is a further aspect of the present invention to allow for customization of the automatically provided codes. 
     It is a further aspect of the present invention to provide a fully integrated process enabling a user to specify an exact location, name it, and communicate it. 
     These aspects of the present invention are not meant to be exclusive and other features, aspects, and advantages of the present invention will be readily apparent to those of ordinary skill in the art when read in conjunction with the following description and accompanying drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram showing the functionality of the software product of the present invention. 
         FIG. 2  is a block diagram detailing the functionality of the location input function of the software product of the present invention. 
         FIG. 3  is a diagram showing communication between the various components that perform the functions of the software product of the present invention. 
     
    
    
     DETAILED DESCRIPTION 
     Referring to  FIGS. 1 and 2 , the features of location identification software product  10  are shown. Location identification software product  10  includes code creation software code  12 , code saving software code  49 , database  11 , code sharing software code  50 , code selection software code  58 , directions software code  60 , and payment software code  62 . 
     Code creation software code  12  allows for the creation of a code associated with a physical location. Code creation software code  12  includes location input software code  14 , automated code provision software code  32 , code customization software code  34 , customized code acceptability software code  38 , note addition software code  46 , and public/private option software code  48 . Location input software code  14  is detailed in  FIG. 2  and allows for the input of the location to be coded. A location may be inputted by several means including typing an address  16 , typing GPS coordinates  18 , using current location  20 , selecting a map location  22 , searching for a location  24 , typing a zip code+four  26 , or plotting polygon points  28 . For each example including the act of “typing” something for input, it is recognized that some devices, especially tablet computers and smartphones, may include voice recognition capabilities so that the input may not be through typing but through speaking to the device. For inputting options such as typing an address  16 , typing GPS coordinates  18 , selecting a map location  22 , or plotting polygon points  28 , a map application programming interface (API)  34 , such as Google Maps® may be incorporated into code creation software code  12  so as to properly identify the location. For inputting options such as using current location  20 , in which a user selects to code his current location, a location sensor API  36  and or map API  34  may be incorporated into code creation software code  12  so as to properly identify the location. For inputting options such as searching for a location  24 , in which a user searches for a specific location, business, or address, and selects a search result for coding, a search engine API  40 , such as the Google® search engine or Google Places® API, may be incorporated into code creation software code  12  so as to properly identify the location. For inputting options such as typing a zip code+four  26 , a zip code API  42 , such as the USPS zip code look-up, may be incorporated into code creation software code  12  so as to properly identify the location. Plotting polygon points  28  involves choosing to identify a shape on a map and selecting three or more points on that map and connecting them to plot the polygon. Plotting polygon points  28  is most useful for identifying a larger area than a specific point. Plotting polygon points  28  may be used to code the location of Disneyland or SOHO, for example. One of ordinary skill in the art will recognize that these are but a few examples of means for inputting a location and that there are many equivalent means for doing so, each of which is considered to be within the scope of the present invention. 
     Once the location is inputted, automated code provision software code  32  is executed. Automated code provision software code  32  provides the user with a code associated with the inputted location. The code is alphanumeric, but may also be displayed as a QR code or bar code. The code is easily speakable into a device that accepts spoken commands. The user may then choose to execute code customization software code  34  to choose a different alphanumeric code for the inputted location other than the one automatically generated by automated code provision software code  32 . If code customization software code  34  is executed by the input of a requested customized code, customized code acceptability software code  38  is also executed. Customized code acceptability software code  38  checks for availability of the requested customized code, acceptability of the requested customized code as far as rules for the code, e.g. that it must contain at least one letter, one number, and one symbol, and whether the requested customized code is a code that has been reserved. Codes may be reserved for several reasons. A code containing a very desirable word, “pizza” for example, may be reserved for users willing to pay to have a code with that word. Codes containing trademarks may also be reserved. 
     Once a user has been provided with an acceptable code through automated code provision software code  32  or has chosen a code through code customization software code  34  that has been deemed acceptable through customized code acceptability software code  38 , the user may input notes associated with the code or the location it represents through note addition software code  46 . Notes that may be associated with the code and/or location may be personal, such as “Meeting in back room,” “Meet me here at 9 pm on Saturday,” or “Come around to the back of the house.” Alternatively, if the user is a business, the notes may include information it wishes to display about the business, such as menu items if the business is a restaurant, or brands sold if the business is a retail store. In addition, notes may include special deals or aspects of a business, such as “Sunday brunch available.” For codes made public, these notes will be searchable with an internet search engine, so the notes may bring in business. If Summit Diner in Summit, N.J. has a code with a note attached including “Sunday brunch available,” for example, and someone performs an internet search for “Summit N.J. Sunday brunch,” then Summit Diner&#39;s code and attached notes will be among the search results. Public/private option software code  48  may also be executed, which allows a user to choose whether the code will be public or private. Using the examples above, if the user is sending a code with the “Meet me here at 9 pm on Saturday” note to his date, he will likely make the code private so that only his date will have access to the code. A business such as Summit Diner, on the other hand, will likely want their code and attached notes to be public so that anyone can find the restaurant and search for it on the internet as in the example given above. 
     In addition to code creation software code  12 , location identification software product  10  includes saving software code  49  and database  11 . Saving software code  49  is executed to save inputted location information through location input software code  14 , any codes subsequently associated with that location through automated code provision software code  32  or code customization software code  34 , any notes associated with the code and location through note addition software code  46 , and whether the code and any notes are public or private as determined by the execution of public/private option software code  48 . All of this information saved through saving software code  49  is saved in database  11 . 
     Location identification software product  10  also includes code sharing software code  50 . Code sharing software code  50  allows a user to share the code through various means such as email  52  or social media products  54 , such as Twitter® or FaceBook®. If the user executes code sharing software code  50  through email  52  or social media products  54 , the user may be prompted to log into the email  52  or social media  54  account if he is not already logged in. Message customization software code  56  may also be executed as a part of code sharing software code  50  to customize a message or post included with the code. The “Meet me here at 9 pm on Saturday” message, for example, may not be attached in the notes added to the code through note addition software code  46 , but may instead by added as part of a Twitter® post through message customization software code  56 . 
     Location identification software product  10  also includes code selection software code  58 . Code selection software code  58  allows the recipient of a code shared through code sharing software code  50  to select the shared code and learn the location associated with the shared code and any other information attached to the code, such as notes associated with the code through note addition software code  46 . Once the recipient has selected the shared code and been presented with the information, he may choose to execute directions software code  60 . Directions software code  60  may use map  34  and/or location sensor  36  APIs to provide the recipient with directions to the coded location from the recipient&#39;s location or from another location provided by the recipient. 
     Location identification software product  10  also includes payment software code  62 . Payment software code  62  allows for users to pay for the execution of code creation software code  12 . One of ordinary skill in the art will recognize that there are many different payment structures for such a service as described above. Each of these variations is considered to be within the scope of the present invention. It is preferred, however, that code creation be free for both consumers and businesses for non-premium names. Premium code names, such as those including common and desirable words like “pizza,” “coffee,” “gas,” or “lawyer” may be reserved and only assigned to a location upon payment. Premium code names may also include trademarks and trade names. Premium code names are included in database  11  and may be—released for assignment only upon execution of payment software code  62 . 
     One of ordinary skill in the art will recognize that location identification software product  10  and its features may be executed by any device including internet—capabilities, including desktop, laptop, and tablet computers, as well as smartphones, which are mobile phones having computer capabilities beyond telephonic capabilities, especially including internet capabilities. It is preferable that the device also include GPS capabilities for improved accuracy. 
     Now referring to  FIG. 3 , a diagram showing communication between various components that perform the functions of the software product of the present invention is provided. Server  100  is the main data processing device that performs the software functions described herein. Server  100  includes GPS receiver  102  that provides server  100  with the capability to receive information from GPS Satellite  104 . GPS Satellite  104  detects the location of device  106  and relays it to server  100 . Device  106  is in communication with base transceiver station (BTS)  108 . Server  100  is also in communication with BTS  108  through network  110 . The user of device  106  can request that server  100  create a code based on the location of device  106 . In addition, if the user of device enters a code and transmits it to server  100 , server  100  may provide the user with directions to or from the encoded location based on the user&#39;s position as relayed through GPS satellite  104 . 
     Although the present invention has been described in considerable detail with reference to certain preferred versions thereof, other versions would be readily apparent to those of ordinary skill in the art. Therefore, the spirit and scope of the description should not be limited to the description of the preferred versions contained herein.