Today we’ve updated our API in preparation for Layar Stream. The update is for the GetPointsOfInterest request/response and was documented on our wiki earlier today. In this post, I’ll explain in a bit more detail the reasoning behind the changes and how you can use them.
1. Switch off indexing for Layar Stream on POI level
The new parameter doNotIndex can be added to your response for each POI to indicate to the Layar Stream engine that it should not be indexed. When our engine sees this parameter set for a POI, it will just ignore the POI.
You should use this if there are specific POIs in your layer that you don’t want to have indexed. Remember that you can switch off indexing for your layer all together in the Inventory Management tab under your account. Examples where you might want to avoid indexing of a POI are:
POIs in a gaming layer that contain clues that only should show up under certain circumstances, e.g when a user unlocked it
POIs that are dynamically placed near a user because they contain actions for the layer, like a POI for placing an easter egg. The actual easter eggs would be indexed, not the ‘helper’ POIs.
POIs that form part of a greater chain of POIs that don’t make sense on their own. Large geographical 3D objects in certain layers are formed by multiple POIs, like the Berlin Wall layer.
POIs that can only be seen by the user when he logged in. Note that for layers that have the authentication required set to true, the POIs are not indexed anyway.
2. Identify the POI that triggers a getPOI request and mark it in the response
The new parameter requestedPoiId in the request, together with the new parameter inFocus in the response permit the layer developer to make sure the POI the user is actually interested in remains in focus when the layer is opened in the AR view.
When a user sees a POI in Layar Stream, selects it and decides to open the actual layer which generated the POI, he would certainly like to still see the POI once the AR view is rendered. Whilst there is no guarantee that the POI is still there, I’d like to urge you to try to include the requested POI in the response, even if the current request parameters wouldn’t return the POI in the first place.
So if you see a ‘requestedPoiId’ in the request, make an extra request to your database to include this particular POI in the response, and mark it in your response with ‘inFocus’ set to true.
3. Extra parameters identifying the client
We’ve added two parameters that will help you identifying the client that’s making the request:
User-Agent: We now include the User-Agent string in the HTTP headers, which will tell you what Layar version on which device the user is actually using. The string has 3 parts:
“Layar/x.y” tells you which version of the Layar app the client is running;
“<deviceOS>/x.y” tells you what OS and which version of it is running on the device;
“(<brand> <model>) tells you the actual brand and model of the device.
Now, <brand> and <model> tend to be pretty messy on a lot of devices, so don’t expect to recognize them all. We’re just passing what the manufacturer states here. Don’t blame the messenger…. ;-)
Also, we only introduced this string in more recent versions of our apps, so you still won’t always see it.
version: This is the API version that the client is using. All versions of our app pass this, but we were a bit sloppy in the past, so we were passing app version rather than API version. You’ll see strings like “ip2.1” (iPhone 2.1) and “2.0.2”. In the latest versions, all apps pass the actual API version, so you’ll see “3.0”, “3.1” and “3.5” both for Android and iPhone apps.
Make sure you understand the new API params and start using them! Let us know if you have any questions.
Augmented reality is getting good promotion with Verizon using Layar to promote its latest Droid phones in their TV commercials. We are loving it. Thanks Verizon!
Today we have opened up the Layar Payment Platform to all publishers. From now on all publishers are able to create priced Augmented Reality Experiences. The Layar Payment Platform was launched two weeks ago and facilitates payments between the end-user and the publisher, so the publisher can focus on his core activity: creating valuable Aumented Reality experiences.
So far, paid layers can only be purchased by residents of the following countries: United States, United Kingdom, Canada and Australia. More countries, currencies, payment methods will be added in the near future.
Last week we announced Layar Stream, revealing immediately what Augmented Reality (AR) content is available around you.
Layar Stream generates a stream out of the 1.2 million augmented objects served daily by Layar. The ranking is based on a proprietary algorithm using contextual elements like location, usage and popularity of content in all published layers. Layar Stream holds information about the type of available content and whether it contains 3D objects, images, video or audio. Users can optimize their stream by filtering on keywords, categories and distance.
The implementation of Layar Stream will have a huge impact on the discoverability and re-usage of your layer(s). Layar Stream ensures a higher visibility within our browser and drives traffic to your augmented reality content. >> Index your layer right now!
Your layer(s) can be indexed on three levels.
1. Allow Layar to cache all POIs of this layer*.(Recommended) The POIs of this layer will be visible for end-users in Layar Stream 2. Allow Layar to cache only the title and position of the POIs of this layer. Only the title and postions of the POIs of this layer will be visible for end-users in Layar Stream 3. Don’t allow Layar to cache the POIs of this layer. The POIs of this layer won’t be visible for end-users in Layar Stream
Next to these options you have the possibility to add an expiration date, if the layer expires after a certain date (e.g. after the World Championship Football) and the live time of the POI within your layer so you can indicate if your layer is static, dynamic or higly dynamic. How to index and optimize your layer for Layar Stream can be found here.
You can also opt-out on a POI level. This is for example useful in a game, where you don’t want your clues to be indexed and would include only the starting point of the game in Layar Stream. For these cases we added “doNotIndex” respons to our GetPOI API. Check it here.
The Layar of this week is ‘The Ocean is in your Hand’ by Norman Chee. Norman is a student from Malaysia and experimented with Layar for his final project. Not only did he create his first layer with cool 3D objects, he also has a goal that makes the layer special: to create awareness for the threatened marine life in our oceans, supporting the World Wildlife Fund.
In the layer, you can find 3D animals that live underwater. By clicking on them, you can read more about their life and threat of extinction through the WWF website. To spread the awareness, you can take screenshots of the ocean creatures and forward them to others. We got in touch with Norman to tell us more about this project.
How do you create awareness with your layer? Norman: “My layer lets you learn more about endangered marine life. There are two meanings behind the title of my layer. One is that the you can explore the ocean for endangered marine life through the mobile phone in your hand, and the other is that the future of ocean life depends on us.”
What can we do with your layer? Norman: “You’re able to explore and find endangered marine life such as sharks, turtles, corals and fish in certain areas. First of all, you open the layer and look for these endangered species. By finding them you can see what the creatures look like in 3D. You can learn more about that species from a link attached that connects to the WWF website.”
Any other thoughts, ideas or things you’d like to share? Norman: “There are many possibilities that can be achieved through layar. Because I am a designer with very little knowledge on the programming part, the things that I am able to do are limited. I would like to thank Hoppala! for helping me create this layer. I am looking forward to the growth of layar and more things to be done with it, such as animated 3Ds. And of course, I hope that my project has raised and will continue to raise much awareness about the ocean.”
So far, ‘The Ocean is in your hand’ is only available in Malaysia, since Norman started his project on a small scale. The layer has more possibilities to spread on a larger scale. Keep an eye on Norman’s blog, where you can find the progress of his project and more about the layer.