This is geoweb

hardly strictly augmented reality: GeoVector World Surfer

Saturday, September 19th, 2009

I 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, 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?

Tuesday, September 8th, 2009

Like 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
* A Discussion of Various Measures of Altitude
* GeoRSS
* W3C Geolocation API
* X3D
* CityGML

thinking about design strategies for 'magic lens' AR

Tuesday, September 1st, 2009

I love that we are on the cusp of a connected, augmented world, but I think the current crop of magic lenses are likely to overpromise and underdeliver. Here are some initial, rough thoughts on designing magic lens experiences for mobile augmented reality.

The magic lens

The magic lens metaphor [1] for mobile augmented reality overlays graphics on a live video display from the device’s camera, so that it appears you are looking through a transparent window to the world beyond. This idea was visualized to great effect in Mac Funamizu’s design studies on the future of Internet search from 2008. Many of the emerging mobile AR applications for Android and the iPhone 3GS, including Wikitude, Layar, Metro Paris, robotvision, Gamaray and Yelp’s Monocle, are magic lens apps which use the device’s integrated GPS and digital compass to provide location and orientation references (camera pose, more or less) for the overlay graphics.

The idea of a magic lens is visually intuitive and emotionally evocative, and there is understandable excitement surrounding the rollout of commercial AR applications. These apps are really cool looking, and they invoke familiar visual tropes from video games, sci-fi movies, and comics. We know what Terminator vision is, we’re experienced with flight sim HUDs, and we know how a speech balloon works. These are common, everyday forms of magical design fiction that we take for granted in popular culture.

And that’s going to be the biggest challenge for this kind of mobile augmented reality; we already know what a magic lens does, and our expectations are set impossibly high.

Less-than-magical capabilities

Compared to our expectations of magic lenses, today’s GPS+compass implementations of mobile AR have some significant limitations:

* Inaccuracy of position, direction, elevation – The inaccuracy of today’s GPS and compass devices in real world settings, combined with positional errors in geo-annotated data, mean that there will generally be poor correspondence between augmented graphical features and physical features. This will be most evident indoors, under trees, and in urban settings where location signals are imprecise or unavailable. Another consequence of location and orientation errors is that immediately nearby geo-annotations are likely to be badly misplaced. With typical errors of 3-30 meters, the augments for the shop you are standing right in front of are likely to appear behind you or across the street.

* Line of sight – Since we can’t see through walls and objects, and these AR systems don’t have a way to determine our line of sight, augmented features will often be overlaid on nearby obstructions instead of on the desired targets. For example, right now I’m looking at Yelp restaurant reviews floating in space over my bookshelf.

* Lat/long is not how we experience the world – By definition, GPS+compass AR presents you with geo-annotated data, information tied to geographic coordinates. People don’t see the world in coordinate systems, though, so AR systems need to correlate coordinate systems to world semantics. The quality of our AR experience will depend on how well that translation is done, and today it is not done well at all. Points Of Interest (POIs) only provide the barest minimum of semantic knowledge about any given point in space.

* Simplistic, non-standard data formats – POIs, the geo-annotated data that many of these apps display, are mostly very simple one-dimensional points of lat/long coordinates, plus a few bytes of metadata. Despite their simplicity there has been no real standardization of POI formats; so far, data providers and AR app developers are only giving lip service to open interoperability. Furthermore, they are not looking ahead to future capabilities that will require more sophisticated data representations. At the same time, there is a large community of GIS, mapping and Geoweb experts who have defined open formats such as GeoRSS, GeoJSON and KML that may be suitable for mobile AR use and standardization. I’ll have more to say about AR and the Geoweb in a future post. For now, I’ll just say that today’s mobile AR systems are starting to look like walled gardens and monocultures.

* Public gesture & social ambiguity – Holding your device in front of you at eye level and staring at it gives many of the same social cues as taking a photograph. It feels like a public gesture, and people in your line of sight are likely to be unsure of your intent. Contrast this with the head down, cradled position most people adopt when using their phone in a private way for email, games and browsing the web.

* Ergonomics – Holding your phone out in front of you at eye level is not a relaxed body position for extended viewing periods; nor is it a particularly good position for walking.

* Small screen visual clutter – If augmented features are densely populated in an area, they will be densely packed on the screen. A phone display with more than about 10 simultaneous augments will likely be difficult to parse. Some of Layar’s layer developers propose showing dozens of features at a time.

Design strategies for practical magic

Given these limitations, many of the initial wave of mobile AR applications are probably not going to see great adoption. The most successful apps will deliver experiences that take advantage of the natural technology affordances and don’t overreach the inherent limitations. Some design strategies to consider:

* Use augments with low requirements for precision and realism. A virtual scavenger hunt for imaginary monsters doesn’t need to be tied to the exact geometry of the city. A graphic overlay showing air pollution levels from a network of sensors can tolerate some imprecision. Audio augmentation can be very approximate and still deliver nicely immersive experiences. Searching for a nearby restroom may not need any augments at all.

* Design for context. The context of use matters tremendously. Augmenting a city experience is potentially very different from creating an experience in an open, flat landscape. Day is a different context than night. Alone is different than with a group. Directed search and wayshowing is different from open-ended flaneurism. Consider the design parameters and differences for a user who is sitting, standing, walking, running, cycling, driving and flying. It seems trivially obvious, but nonetheless important to ask who is the user, what is their situation, and what are they hoping will happen when they open up your app?

* Fail gracefully and transparently. When the accuracy of your GPS signal goes to hell, reduce the locative fidelity of your app, or ask the player to move where there is a clear view of the sky. When you are very close to a POI, drop the directional aspect of your app and just say that you are close.

* Use magic lens moments sparingly. Don’t make your player constantly chase the virtual monsters with the viewfinder, give her a head-down tricorder-style interaction mode too, and make it intuitive to switch modes. If you’re offering local search, consider returning the results in a text list or on a map. Reserve the visual candy for those interactions that truly add value and enhance the sense of magical experience.

* Take ownership for the quality of your AR experiences. Push your data providers to adopt open standards and richer formats. Beat the drum for improved accuracy of devices and geo-annotations. Do lots of user studies and experiments. Create design guidelines based on what works well, and what fails. Discourage shovelwARe. Find the application genres that work best, and focus on delivering great, industry-defining experiences.

We are at an early, formative stage of what will eventually become a connected, digitally enspirited world, and we are all learners when it comes to designing augmented experiences. Please share your thoughts in the comments below, or via @genebecker. YMMV as always.

[1] The idea of a metaphorical magic lens interface for computing was formulated at Xerox PARC in the early 1990’s; see Bier et al, “Toolglass and Magic Lenses: The See-Through Interface” from SIGGRAPH 1993. There is also a substantial body of previous work in mobile AR including many research explorations of the concept.