The complete developer guide as a PDF document with code examples, can be found here: Developer-Manual GpsNose connects anonymous people to the real world using the web and mobiles. As opposed to the other platforms, it promotes anonymity while providing a real world context:
- Communicate within your real area with new people and communities
- Find and create places, tracks, events, impressions within your area
- Enable geo-context to any website’s visitors
Example: www.geohamster.comYou can connect any existing website to the GpsNose platform, or you can create a new website and base it fully on GpsNose. To make it easier for explaining, let’s say you want to create a new geo-based website for a game, called GeoHamster (actually, we want to create it some day, but currently we have no resources for it). The game should be based on hiding and finding treasures ;-). The players can find real treasures in their real area around and doing so, their game-level is upgraded, so they see new caches around. They can rate the hamster-box they’ve found (which holds the treasure!), they can organize events etc. There should be some users belonging to the “admins” group, so they can publish and manage the game’s data. Such a game would probably need a custom database, to hold the chain of hinding-and-finding the hamster-boxes for example. But it needs to mix-in the real-world data for exploring the current area: and this is possible thanks to GpsNose API calls. The players can login to GeoHamster website with their smart-phones, using the GpsNose mobile app and the QR-code provided on the GeoHamster login page. The user-groups, such as “admins” and “level-1”, can be built using the sub-community concept of GpsNose. Sub-communities can be joined for entering and reading group-specific data (like members, events, tracks etc.) in a separate section at GeoHamster website. The users can join the main community “%www.geohamster.com” and maybe they’re invited later also to the sub-community “*www.geohamster.com@level-1”. When they create new impressions, tracks etc., they can tag the new items as targeted for the desired sub-community. The newly created items, such as places, events, impressions etc. are placed in the real world and have got a geo-location, where they were created. Anybody can find these and join the (public) community as well (for non-public communities, an invitation is required). Let’s say John never heard about GeoHamster. Looking around, he finds the planned community event for “%www.geohamster.com”. He is curious and opens the community’s website, www.geohamster.com. Maybe he likes the game and joins it as a member! Then he looks around and tries to find more such users (Hamsters!) in his neighborhood. Surprised there are such users, he starts a chat with them and they meet to have a small-talk. After he checks the rules at the GeoHamster homepage, he is automatically (SDK service-call in play here!) promoted to the “level-1” private sub-community and can start to find and hide treasures himself. Real world nearby, anonymous users. The real location of the users is never disclosed unless they wish: John sees only the distance to the other players. More details about using GpsNose can be found in the online documentation.
Connect your website to GpsNoseYou can connect your existing website to the GpsNose platform to enable your web visitors to form real world communities:
- Your users can log-in to your website scanning the QR-code from your web using their mobile GpsNose app
- They can communicate and meet each other in their current geo location, in real world, instead of the common web virtual communities
- You decide which sub-communities to form under your website mashup
- Your website can use the GpsNose mobile QR-login and membership infrastructure
- The content created within your GpsNose community can be used at your website
- Link your website to GpsNose creating a mashup in the mashup admin
- Get the free GpsNose SDK or CMS module if available, or port it as needed to your environment
- Use the SDK code or CMS module at your website to enable the GpsNose community functionality
Your web + your mashup = your communityWhen you run your own website, you can fully rely on GpsNose for user management and use the real world’s data generated by your community members. Your virtual members transform into real persons, which you can meet in your current area anywhere. Still anonymous, but fully real. They can find each other in their current nearby area, communicate, organize events, record tours etc. All the data they generate can be used on your own website. Key-points of creating a mashup community:
- You have already a website, based on any technology
- You would like to integrate the real-world aspects into your website
- You create a GpsNose mashup: a kind of link between your website and the GpsNose platform
- You take the GpsNose SDK and/or CMS module and integrate the real-world data related to your community, like:
- your website’s members around the website’s visitor,
- the places around they share,
- the events your community organizes etc.
MashupYou create a connection to GpsNose registering a mashup with your “www.geohamster.com” URL at the GpsNose mashup admin page. GpsNose gives you a random validation key, to verify you are the real website’s admin. The given validation key can be stored in the following places (select the best one for you) for the validation:
- Into your home-page’s default document, as a meta-data header, like this:
<meta name="gpsnose-validation-key" content="9c81514b-2ab1-4b6c-93c3-5df8a99f2eab">
- Into your root directory, as a file named like “key”, “key.txt”, “key.htm”, “key.html” – for example: /9c81514b-2ab1-4b6c-93c3-5df8a99f2eab. The file itself can be empty – it’s enough it exists.
CommunitiesThe mashup you create in GpsNose developer’s mashup console for your website forms later a members’ community for your website. In GpsNose, the users (Noses) can join communities, which are either:
- simple communities like “%fishing”, or
- website mashup communities like “%www.geohamster.com”, related to some website
- %Public: anybody can join, read and write any data
- @Closed: an invitation is needed to join or write data, but anybody can read and see all community data
- *Private: an invitation is needed to join and read/write data, i.e. only the community members can see anything related to the community
- % = the community is public
- @ = the community is closed
- * = the community is private
Sub-communitiesConnecting your website to GpsNose creates the primary community, such as the public (open) community “%www.geohamster.com”. As there can be more specific user groups on your website and also in the real world, you can create a few sub-communities, belonging to the primary community. For example, you could create sub-communities like this:
- closed “admins” community = “@www.geohamster.com@admins”, or
- private “level-1” community = “*www.geohamster.com@level-1”
- *www.our-bear-family.net is a private web community, which cannot be joined or viewed at all, when somebody is not invited. Also, the places, impressions, tracks, events etc. are not visible for the rest of the world. Even the membership in this community is not visible from withing your family members’ Nose profiles.
- %www.ave.life is a public web community for catholic users, which anybody can enter. But the sub-community @www.ave.life@priest can be joined only after getting an invitation, so nobody can say “I’m a priest now :-)!” without being one. It’s a kind of chain of trust. On the other hand, the membership in such community and all the priest-targeted events, places etc., are visible to the public: the data is not secret, but the membership is protected by an invitation.
Using GpsNose librariesWe provide a few open source libraries to the developers, so they can take the source code or binaries and use/fix/extend/love/hate them. There are two main kinds of GpsNose libraries:
- SDK – holding the low-level details accessing the available GpsNose JSON API. You can get a copy of the SDK and use it straight as it is, maybe porting it to another language.
- CMS – a module plugable into a CMS you might use. This CMS module relies on the low-level SDK for calling directly the GpsNose API remotely, but is encapsulated into an easily usable ready-to-go CMS module.