

experience design for locative media & AR
December 3rd, 2009 | Gene | Comments Off on experience design for locative media & ARThe next generation of mobile Augmented Reality applications will go well beyond simply overlaying points of interest, floating post-its and 3D models on the video display of your phone. Mobile AR is becoming a sophisticated medium for immersive games, situated storytelling, large-scale visualization, and artistic expression. The combination of physical presence, visual and audio media, sensor datastreams and social environments blended together with web services offers tremendous new creative possibilities. However, the design challenges of creating engaging, exciting and compelling experiences are quite significant. AR experience designers will draw fruitful inspiration and practical lessons from game design, 3D graphics, architecture and stagecraft, as well as the structure, linking, protocols and openness of the web.
Some of the best research to date on experience design for locative media experiences, was done at HP Labs as part of the Mobile Bristol collaboration. You might find these papers useful and applicable to AR design, as I have.
Technology Experiences: What Makes Them Compelling? Alison Kidd, 2000
Experience Design for Pervasive Computing, Richard Hull & Jo Reid
Experience Design Guidelines for Creating Situated Mediascapes, Reid et al, 2005

we’re wired to augment our world and our selves
December 1st, 2009 | Gene | 2 CommentsHumans are driven to augment our reality, and to augment our own capabilities. It’s the way we’re wired; it’s what we do. From the earliest cave paintings to modern day urban graffiti, we overlay our world with expressions of our inner selves. Architecture, street signs, billboards, fashions — these are all visual and functional augmentations of the physical world. We extend our sensory and cognitive capabilities as well, creating tools that allow us to perceive phenomena beyond the ken of our normal senses — at extremes of scale, distance, time, frequency, complexity, sociality. “Augmented Reality” is simply the next technological framework for expressing the natural human propensity to augment our world and our selves.


where’s the auggie? six methods for specifying location in mobile AR
October 23rd, 2009 | Gene | 4 CommentsAs a follow up to my post on location standards for mobile augmented reality, I’ve been thinking about how an AR author would specify the location of virtual objects in the physical world. In my research I came up with six different ways of specifying location, and identified some interesting challenges for mobile AR design. This is still at the “thinking out loud” stage, so help me out if you don’t like the way I came in.
(Just to be clear, this discussion is focused on the representation of location, and doesn’t speak to interaction design of the authoring process. I plan to address that topic in a future writeup.)
A location specification can be direct or indirect. Direct location is specified in measurable quantitative terms such as spatial coordinates. Indirect location is described in terms of a relationship relative to some other entity, or as a semantic identifier of a spatial or geographic entity. Each has its charms and disillusionments.
Direct Location
1. Geospatial coordinates — The most common model for virtual object location in mobile AR is to specify a point as (longitude, latitude, altitude) in an Earth-based coordinate system. This point becomes the origin of a local coordinate system for the virtual object. This model is relatively well understood and in wide usage by most of the mobile AR systems, location based services, GPS points of interest (POIs), geoweb services etc.
The specific challenges for mobile AR include standardizing on data representations, supporting multiple coordinate reference systems (CRS), defining precision and accuracy, and supporting geometries beyond simple points. Hopefully, ongoing discussions around ARML, GeoAR and others will lead to reasonable convergence among the interested communities.
2. Alternative spatial coordinates — It’s not too hard to imagine cases where you want something other than a ground-based spatial coordinate system. For example, what if my object is a giant billboard in (non-geosynchronous) orbit around the Earth? A geodetic system like WGS-84 does you little good in this case, so you might want to use a geocentric model. The X3D architecture supports geocentric coordinates, for example. Better yet, what if my object is a virtual planet in orbit around the Sun? Earth coordinates will be quite unhelpful for this case, and I’m not aware of any systems that have heliocentric CRS support. Yet another interesting scenario involves indoor positioning systems which establish their own CRS on a local basis.
Challenges here include identifying alternative reference systems that should be supported for AR use cases beyond ground-based scenarios, and specifying the transformations between these frames of reference and other involved CRSes.
Indirect Location
3. Spatial entity identifiers — The names of geographic places — Heathrow Airport, New York City, Fujiyama, the Transamerica Building, Beverly Hills 90210 Â — are indirect specifications of location. So are unique identifiers such as Yahoo GeoPlanet’s WOEIDs. They are indirect because the physical coordinates they represent, the centroids and bounding boxes of their ground shapes, must be looked up in some reference database.
For AR, the opportunity is obviously to embrace the human-centric context of place names, and to leverage the large investment in geoweb services by Yahoo and others. There are many AR use cases where it would be desirable to augment an entire geographic place at once. The challenge is to define a representation for virtual objects that supports identifiers as locations, and provides for appropriate services to resolve IDs to geographic coordinates. Of course for these identifiers to have meaning, the model also needs to support geometries beyond simple points.
4. Client-relative location — Location relative to the client device, which presumably knows its geographic location, as a proxy for the location of the human user. This is the augmented pet scenario, maybe. Faithful digiRover the auggie doggie’s location is specified as a vector offset from my location, and follows me around as I move.
5. Viewport-relative location — In computer graphics, the viewport is basically defined by the size and resolution of the viewing display. An AR application might wish to locate a virtual object model at a specific point on the user’s display, regardless of where the “magic lens” is pointed. For example, I might “click” the QR code on a physical object and a related virtual 3D object model appears pinned to the center of my display, where I can play with it without having to hold my device aimed steadily in one place. The object’s location is specified as (x%, y%) of my device’s screen size. If you like, we could have a good discussion in the comments about whether this is a valid “location” or not.
6. Object-relative location — An important class of use cases that are easy to describe in language, and more difficult to represent in code. “Alice’s avatar is on a boat”. “Bob’s tweets float above his head as he walks by”. “Charlie is wearing a virtual hat”. “The virtual spider is on the virtual table, which is on the physical floor”. Â In each case, a virtual object’s location is specified relative to another virtual or physical object. The location of the second object may also be relative to something else, so we need to be able to follow the nested chain of relative locations all the way down to ground-based coordinates (or fail to locate). Of course, the second object might also be an AR marker, an RFID, a 1D or 2D barcode or similar physical hyperlink. It might be an object that is identified and tracked by an image-based recognition system. It might further be a physical object that has embedded location capability and publishes its location through an API, as Alice’s boat might do.
Clearly object-relative location poses a host of challenges for mobile AR. Among these: defining an object model for virtual and physical objects that includes representations for identification and location; defining an extensible object identification and naming scheme; and defining a location scheme that allows for a variety of methods for resolving location specifiers, including nested constructs.
As I said, this is definitely “thinking out loud”, and I’d love to have your feedback in the comments below or via @genebecker. I want to acknowledge @tishshute and Thomas Wrobel, who have been leading the discussion on using Google Wave protocols as a communication & distribution mechanism for an open AR network. That collaboration stimulated these ideas, and you might find it stimulating to participate in the conversation, which appropriately is happening as a Wave. Let me know if you need a Wave invite, I have a few left for serious participants.
As always, YMMV. Peace.

iPhone augmented reality apps: how’s business?
September 30th, 2009 | Gene | 8 CommentsI was curious about how the various mobile AR, GPS+compass apps are faring, so I did a quick and dirty channel check in the App Store and compiled the following table. I think it’s pretty interesting data. A few caveats: this is a snapshot in time, ~7.30am PT on 30 Sept 2009, it’s for the US App Store only, it’s iPhone only, and the apps are listed in no particular order. If anyone wants to do a similar roundup for Android AR apps, that would be outstanding. Other countries (I’m waving at you, air-taggy Japan) welcome too, just drop your tidbits or links in the comments section.
Update 9/30: added direct links to the iTunes App Store
Application | Company | Category | Ranking | Price | Rating | # of Ratings |
Fairy Trails | Freeverse | Games | NR | $1.99 | 5 stars | 2 ratings |
Robotvision | Tim Sears | Utilities | #32 paid app | $0.99 | 4 stars | 48 ratings |
World Surfer | GeoVector | Navigation | #60 paid app | $2.99 | 4.5 stars | 12 ratings |
PeakAR | Salzburg Research | Travel | NR | free | 5 stars | 1 ratings |
Yelp (Monocle) | Yelp | Travel | #4 free app | free | 3 stars | 1183 ratings |
Bionic Eye | Presselite | Navigation | #7 paid app | $0.99 | 1.5 stars | 98 ratings |
Bionic Eye France | Presselite | Navigation | NR | $0.99 | 0 stars | 0 ratings |
Bionic Eye Tokyo | Presselite | Navigation | NR | $0.99 | 0 stars | 0 ratings |
Bionic Eye UK | Presselite | Navigation | NR | $0.99 | 0 stars | 0 ratings |
Washington Metro | Presselite | Navigation | #51 paid app | $0.99 | 3 stars | 20 ratings |
Chicago L Rapid Transit | Presselite | Navigation | #94 paid app | $0.99 | 2.5 stars | 15 ratings |
Tokyo Underground | Presselite | Travel | NR | $0.99 | 3 stars | 8 ratings |
Metro Paris Subway | Presselite | Travel | #21 paid app | $0.99 | 4 stars | 176 ratings |
London Bus | Presselite | Travel | NR | $0.99 | 2 stars | 8 ratings |
Nearest Places | Acrossair | Reference | #7 paid app | $1.99 | 3.5 stars | 28 ratings |
Nearest Wiki | Acrossair | Education | #29 paid app | $1.99 | 3.5 stars | 7 ratings |
New York Nearest Subway | Acrossair | Travel | #8 paid app | $1.99 | 4.5 stars | 6 ratings |
PhotosAR | Acrossair | Photography | #64 paid app | $1.99 | 4 stars | 3 ratings |
San Francisco Nearest Transit | Acrossair | Travel | #53 paid app | $1.99 | stars | 0 ratings |
Chicago Nearest Transit | Acrossair | Travel | #52 paid app | $1.99 | 5 stars | 1 rating |
Nearest Tube | Acrossair | Travel | NR | $1.99 | 0 stars | 0 ratings |
Tokyo Nearest Subway | Acrossair | Travel | NR | $1.99 | 0 stars | 0 ratings |
Paris Nearest Metro | Acrossair | Travel | NR | $1.99 | 0 stars | 0 ratings |
Barcelona Nearest Metro | Acrossair | Travel | #7 paid app | $1.99 | 0 stars | 0 ratings |
Madrid Nearest Metro | Acrossair | Travel | #7 paid app | $1.99 | 0 stars | 0 ratings |

you know it’s the future when there’s a futurist floating in your magic window
September 21st, 2009 | Gene | Comments Off on you know it’s the future when there’s a futurist floating in your magic windowThat’s @askpang‘s photo, apparently. How perfectly appropriate, on so many levels. Well Alex, it looks like the end has arrived.
Bonus points for naming that app.
Update 9/24/09: OK yes it’s @u2elan‘s Robotvision, which dropped in the app store today. But it’s version 1.1, with secret Wikipedia goodness, w00tski!

hardly strictly augmented reality: GeoVector World Surfer
September 19th, 2009 | Gene | 1 CommentI think it’s pretty interesting that GeoVector’s new World Surfer app (that just dropped for iPhone and shortly for Android) doesn’t have any augmented reality eye candy. After all, GeoVector seems to have invented the idea of mobile GPS+compass AR over 10 years ago, and has had a commercial mobile service running in Japan on KDDI since 2006. But this app doesn’t sport any of the floaters, auggies, phycons or general aurora digitalis of graphics overlaid on the camera’s video view, that we have rapidly come to associate with augmented reality in 2009. I posed the question to GeoVector, and here’s what CEO John Ellenby had to say about it:
“GeoVector’s mission is to link people using a large range of handsets with data about places in the world in the simplest, most efficient manner that can be widely deployed.  From our fielded work in Japan it is clear that pointing the phone to filter by direction is the simplest, most straightforward, pedestrian-friendly method of local search with broad appeal.   Our upcoming products for US and Europe leverage that experience from Japan, include support for information displayed in camera view and are designed for users who are in an environment which allows them to safely experience virtual enhancement to the images they are seeing. We believe AR mode is an exciting complementary feature to many applications from history tours to real world immersive gaming and introduces strong additional visualization.”
From where I sit, that basically means “You’re going to like pointing, but stay tuned to this channel, eyepaper fans.” Sweet, the first product is just hitting the streets and already with the teasing.
A divining rod for information
So I’ve been testing a pre-release iPhone version of World Surfer. The basic premise of the application is more or less the same as all the other recent entrants in this space: mobile smartphone with GPS and digital magnetometer (compass) knows where you are, knows what direction you are facing, connects to a web service and shows you points of interest (POIs) from a database of georeferenced entities.
Where it differs is its focus. World Surfer is designed for finding what you are looking for, and then getting you there. It’s not an AR magic lens, but it is a tricorder, or perhaps a divining rod for hidden information. You point in the direction you are headed, you browse one of the local channels like Bing, Yahoo, and Wikipedia, scope out the restaurant or attraction you want to go to, and World Surfer shows you the way. Literally, a big red arrow shows you which direction to walk. You can also get traditional driving directions on a Google map view, click to call, check reviews, and see related search results from Flickr, Google and YouTube.  It is easy to switch between the directional pointing mode and 360-degree search, depending on what you need at the time. In operation, the app’s performance was smooth and responsive, and the touch-based user interface was easy to learn and navigate after a few minutes of poking around the various controls.
Channeling the city
World Surfer has a lot in common with the Yelp iPhone app, so I tested them side by side. World Surfer is definitely much more of a native geo-app with its pointing and wayshowing model. Although it doesn’t have Yelp’s huge user community and name recognition, World Surfer has broader applicability because it supports an arbitrarily wide range of channels. Yelp does have that Monocle AR eye candy thing, which looks cool but unfortunately is pretty much useless. In the end, my conclusion was that Yelp should actually just be a channel on World Surfer.
Speaking of channels, I was pleasantly surprised to find that World Surfer’s channels are dynamic. That is, the channels available to you are contextual to your location, and when a new one becomes available it just shows up in the app. After the first new channel magically showed up, I found myself opening up the app several times a day just to see if there was anything new to point at.
Other features I liked about World Surfer include bookmarking — you can bookmark your current location, which is good for remembering where you parked your car, Â and the toilet channel (!) provided by sitorsquat.com, which shows public restrooms with user ratings. That last one sounds a bit weird, but is unbelievably handy for a day of wandering around the city consuming refreshing beverages of your choice.
Rough surf
There are some things I’m not wild about in World Surfer. These include:
* Having Bing, Yahoo and Google channels feels redundant. Each has a different browsing hierarchy, which is confusing. And each has a different but incomplete dataset of POIs. Of the three, Bing seemed the most comprehensive (probably due to their Citysearch database) and Google the least so (Google limits local search results to 32 items per query).
* No search box. World Surfer would be substantially improved if you could search across all of the current channels with a single query. Sometimes browsing a directory tree just isn’t what you want, right? I thought we learned that on the Internet awhile back.
* Branded channels. My test app had channels for a coffee company and a pizza chain. I understand the rationale and the business imperative for having branded channels, but I also can see how the user experience is likely to be degraded when a large number of brands get on the bandwagon. Imagine scrolling through a list of channels for every major national brand that has stores near your location. There’s a significant set of UI & UX issues that need to be addressed for small-screen mobile AR in a large-dataset world.
* No ability to add content. Although you can read reviews of many establishments, the current channels don’t provide any way for you to add ratings and leave comments the way you can on Yelp, for instance. Also, there is no mechanism for end users to create their own POIs on any of the channels.
* No elevation pointing. In Japan, you can point your phone up and down and get different results, for example on different floors of a tall building. According to GeoVector, this is a limitation of the US phones’ magnetometer system. Too bad, I’d like to see elevation become part of the standard spec for modern geo-annotations and POIs.
* Inaccurate for close-in POIs. Like other GPS+compass apps, WorldSurfer doesn’t handle POIs well if their position is within the error range of the device. However you can deal with this by manually switching to 360 mode.
* POI data quality. GeoVector gets their POI data from third parties, and the datasets are often incomplete or inaccurate. Like other players in this space, GeoVector needs to step up and take ownership for their users’ experience, and start driving industry standards for data quality.
Just do it
Overall, my conclusion is World Surfer is quite a nice useful app, especially for people who like exploring cities on foot. It looks good, works well, and doesn’t make you feel self-conscious when you use it. There is definitely room for improvement, but none of the issues are showstoppers for a version 1.0 release. However GeoVector really needs to ramp up its developer activities, because it is the content and presentation of the specific channels that will make or break the usefulness, applicability and user experience that gets delivered.
World Surfer is priced at $2.99 and it’s worth it, but you’ll want the new iPhone 3GS or a suitable Android phone to take full advantage of its pointing features. Congrats to the GeoVector team, this new app is definitely going to heat the mobile AR market up even more. Now about those open AR standards…

Open AR: what's the point?
September 8th, 2009 | Gene | 5 CommentsLike many other folks involved in augmented reality, I’d like to see the mobile AR community embrace open standards for AR experiences. And just to be clear, by “embrace” I mean “create and implement”. Now, I know this discussion is eventually going to take us into deep waters, but let’s just start off with the simplest possible thing. I’d like to see the mobile AR community agree on how it represents a point in space. If we could do that, we might be able to create some simple, public AR experiences that work across platforms and in the various competing AR browsers. And the positive example of one agreed open standard, arrived at by an open community process, might lead to additional good things. So let’s talk about points.
Geographic AR Points
Geographic AR systems like Layar, Geovector, Wikitude, Robotvision, Gamaray etc, use a spheroid-based coordinate system of latitude, longitude and (sometimes) altitude to specify the point locations of the observer and georeferenced content. POIs (points of interest) consisting of a single (lat,lon,alt) coordinate tuple plus various metadata, are commonly used to represent physical entities such as restaurants, monuments and attractions. Unfortunately even in this extremely simple case, there is no agreement on specifications for a single point in space. For example, if altitude is used, is it the height of the point above the topographic surface at that location, the height above the observer’s location, or the height above the WGS-84 reference ellipsoid approximating mean sea level, as a GPS would measure it? Does a point also have accuracy metrics? And what metadata are required or optional for each point? Â Each of the companies mentioned above is doing something a bit different, and so are their upstream POI data providers. So far, and despite recent announcements, openness is not really happening yet.
3D AR Points
AR has its roots in computer graphics & vision technologies, and these approaches primarily use 3D cartesian (xyz) coordinate systems. A 3D model of a teapot might have a local xyz coordinate system; the teapot rests on a 3D model of a table which in turn has its own reference coordinate system; the observer of the scene has their own reference coordinate system; the screen that the scene is displayed on has its own 2D pixel coordinates, and a set of mathematical transformations (e.g., translation, scaling, rotation & projection) ties them all together. A 3D graphics scene is not inherently tied to any physical world reference point; in marker-based AR, the fiducial marker provides an anchor that binds the 3D augmented scene to a physical world location. However, the data structure for the scene’s location is entirely relative, which makes the location of 3D models fairly portable.
Simple Geo + 3D AR
Of course, one simple and obvious thing we want is to enable 3D graphics models to be placed in geographic locations. If we truly think open AR is important, we are going to want to agree on which kinds of coordinate systems to use. This is not a trivial question. Do we want the 3D model to be on a local or global coordinate system? A fixed position relative to the world and regardless of viewpoint, or always located relative to the observer? What if the model and the observer are on boats? What if the model is something like an entire city? Different choices for coordinate systems and schema will impact computational costs and accuracy. In Google Earth, KML allows use of static COLLADA models which are then imported/transformed to the GE geographic coodinate system. Planet9’s virtual cities have a single reference coordinate system for the entire city, and use UTM WGS-84 in order to keep their building models square. The Web3D Consortium’s X3D framework supports georeferencing models in geodetic, UTM and geocentric reference frames, appropriate for a variety of use cases. What approach(es) makes sense for mobile AR? Can we leverage & extend existing standards, or will we have to create new ones from the ground up?
Start simple, but start now
Okay, so clearly things can get messy, even for the simple case of specifying a point in space. And it is also clear that multiple constituencies are going to be very interested in the geographic and 3D graphic aspects of AR. I think it’s time to have serious discussions about open standards for mobile AR, starting with the basic question of representing POIs and static 3D objects. I realize it is hard for small, fast moving teams to spend precious energy on this kind of discussion, but to me it seems like a critical thing for the community to establish a common foundation for the mobile AR experience. Do you agree? If not, why not? If so, then where should this discussion happen and who should be involved? Perhaps the recently formed AR Consortium can play a role here? Maybe it is already happening somewhere?
I’m very interested in your thoughts on this topic. Please share in the comments below, link here from your own blog, or respond @genebecker. YMMV as always.
For further reading
* Augmented Reality Should Be Open by Joe Ludwig
* Augmented Reality: Open, Closed, Walled or What? by Robert Rice
* Wikitude API
* Layar API
* Gamaray formats
* Garmin GPX POI schema
* WGS-84
* UTM
* A Discussion of Various Measures of Altitude
* GeoRSS
* GeoJSON
* W3C Geolocation API
* KML
* COLLADA
* X3D
* CityGML
* OGC GML
