|
|
Filed under: ExperienceCreating custom Surface tags
As Surface develops who are active with many industry events, we've worked with integrating Surface and Surface tags in these environments. One of the downsides though is having to create each tag, assign it to a person, print each one on a Microsoft recommended printer and manually sticking the tag to each event badge. We worked with a printing partner of ours to develop a dry-erase material, full color bleed badge with pre-printed Surface tags that makes Surface an integral and less hassle part of events.
Our CEO Joe Olsen explains more on Phenomblue.tv.
Esquire's AR success and shortcomings
Augmented reality (AR) has finally been brought to mainstream, albeit dated, print media. Esquire showcased AR in the December 2009 issue of their high-profile magazine -- but that’s really all that happened.
Anyone with the issue of the magazine and a webcam can experience Esquire’s AR goodness. They’ve littered the issue with AR markers, so there’s plenty of content to explore. When holding up the magazine cover, the marker under Robert Downey, Jr. explodes into an AR-ified video. There’s bunch of random letters floating in space with a cutout video of RDJ doing what he does best: spout off-kilter, random phrases. Every time you turn the marker 90 degrees, another floating video of Robert Downey Jr. appears. Going through the rest of the markers tucked into the magazine content produces roughly the same experience. The only exception is the videos and scenes around them are slightly different.
Built by The Barbarian Group (TBG), this AR extravaganza was released upon the world as a self-contained piece of software. This 71MB download is a highly unorthodox and frustrating approach to provide such a widely available AR experience. Certainly there are some benefits to building a custom piece of software. For instance, the marker detection was surprisingly good. However, when AR is already available in Flash, why force people to download your own one-use software? Plus, the performance of the software hit way under par. Aside from it crashing the first time and bogging down my computer, it ran at about 5 frames a second. Flash should have been the platform of choice.
Looking past the sub-par performance, the actual AR-iness left a lot to be desired. There are two basic parts to AR: reality and augmentation. It looks as if Esquire and TBG decided to throw both AR essentials out the window. Their reality was in grayscale and through a strange white gradient. Unless my webcam only operates in grayscale (which it doesn’t), then I should be seeing an unadulterated, full-color feed from my webcam. And what’s with that gradient? My guess is it’s an attempt to make the AR content more visible. Ideally this would be accomplished by better design.
Looking past their strange reality, the augmentation didn’t score any better. We see reality in three dimensions, so augmented reality should also be in three dimensions. This application just put 2D video and graphics in a 3D space. That isn’t augmenting reality, but a stylized way of playing a video. If the content was interactive 3D objects and animations that engaged users with a dynamic experience, it would have been a richer way to integrate augmented reality. In addition Esquire could have utilized more stylized, graphic markers rather than the very obvious and clunky tag-style markers. They could have even used markerless tracking -- especially if requiring users to download a special piece of software.
There is still that one quality that redeems this high-profile yet under-utilized mass exposure. The AR community has been growing swiftly, but every new technology takes time to get mainstream exposure and gain everyday traction. Esquire has provided just that, and tons of it.
A closer look at Unity 3D
We’d be amiss to ignore game authoring tools when looking into emerging and new technology, so it made perfect sense when interactive developer Chris Crum dove into Unity3D. Originally developed solely for Macs, additional platforms have been added throughout the past few years including Windows, web browsers, iPhone and Wii. Chris did his research and hands-on discovery using the PC/Mac development kit.
Living room environment created in Unity3D. The Basics Unity authoring is accomplished via a versatile IDE (which puts much of the Flash IDE to shame) and through scripts (which is where the big boys go to play). There are three programming language options including a variation of Javascript, C# and Boo (a dialect of Python). All of these are based on the open-sourced Mono framework, which is based on Microsoft’s .NET framework. Unfortunately, the Unity IDE does not include a very good script editor. This wasn’t an oversight by Unity, as they choose not to spend time and resources addressing this but giving users the ability to choose their favorite editor and use it seamlessly. So far, that goal has only partially been achieved, as setting up editors like Visual Studio, for example, can be a nightmare. Luckily, a release is coming most likely within the next month that makes Visual Studio the go-to solution for developers using Windows and programming in C#. Graphics/Performance While Unity’s primarily used for 3D graphics, 2D graphics are more than achievable and are seen in nearly every Unity game in interface overlays and menus. Both OpenGL and DirectX are supported, so yes the user’s GPU is being used to handle the heavy lifting of 3D – no big surprise here. Compared to Flash’s Actionscript, Unity Javascript runs roughly 20 times faster. Asset Importing Unity supports tons of asset types including 3D models, animations, textures, scripts and sounds. 3D applications like Maya, 3ds Max, Cinema 4D, Cheetah3D or Blender all import seamlessly, and Unity will even detect changes to those assets when they are saved. The same is true for Photoshop files. You don’t even have to save textures down to PNG, JPG, etc. Leave them as PSD files to keep the ability to turn layers on/off as adjustments are needed, and Unity will compress the remaining visible layers down into high quality DXT textures. Of course, PSD files are not the only image file type supported; you can also use JPEG, PNG, GIF, BMP, TGA, IFF, PICT and many other image formats. As far as audio is concerned, acceptable file formats are pretty straightforward: if you can play them in QuickTime, you can use them in Unity. This includes AIFF, WAV and MP3 file formats. There are also several video formats supported, including MOV, AVI, ASF, MPG, MPEG and MP4VIDEO, all with configurable bitrates supported. 3D Details Unity has more than 40 built-in shaders, including basics like diffuse and specular but also more advanced options like lightmapped bumped specular, reflective bumped vertex-lit and many more. There are also full-screen image effects like glow, blur, color correction, depth of field, edge detection, and motion blur. No 3D engine would be complete without shadows and lighting, and Unity really shines in both. Lightmaps can be used to bake vertex lights into models while dynamic realtime shadows add the final touch. All types of lighting effects are available for use including spotlights, point-lights, directional lights and lens flares. Other Cool Stuff Unity has networking capabilities right out of the box, putting multiplayer games, state synchronization, remote calls, www functions and .NET socket libraries right at the tips of developers’ fingers. Debugging is very well done; you can roll through 3D scenes, change variables at runtime and see the cause and effect of various combinations. The whole plugin is 4.5 MB download (smaller than Flash Player) and is streamlined to the point where there’s no need to restart your browser or even reload the page. Not So Cool Stuff The web plugin penetration is low compared to Flash, and Chris had a tough time tracking down stats for this. As mentioned, 2D abilities are there but are lacking and may not be amped up for a while. Most examples are in Javascript, not C#, which can deter or slow down some developers. And the decision of which version to use is tricky. The indie version is inexpensive but limited and includes a Unity splash screen, but the professional version can be very expensive. So What? As a company that designs and develops software for the advertising industry, Unity is a good fit for our more spatial/environment-oriented projects like virtual walk-throughs. And it’s definitely worth a look from anyone considering any use of 3D or perspective willing to be an early adopter of a graphically stunning technology (in some ways, not unlike early adopters of Flash Player 10). Diving into the open video player initiativeIf you’re a web veteran or even a new but frequent user, you’ve more than likely run across a few sad excuses for video players. If you’re a Flash developer, you’ve probably struggled with many of the problems at the root of said video players. Either way, it’s unlikely you were happy about being on either end. Many of these video player inconsistencies can be attributed to one thing – the lack of a standards based approach to web video development. Fortunately, there’s hope. The Open Video Player Initiative aims to make these user and developer time-wasters a thing of the past by developing a standard approach to web video development. Our interactive developer Brandon Bone dove into this open-source project and its resources for developing against the initiative’s standards. The official initiative is the brainchild of the folks over at Akamai, with development partners like Microsoft and Adobe (itself a collaboration of industry giants unlikely to be seen again). Unfortunately, this collaboration has failed to provide any real solid ongoing community support at OVP’s main site. From what Brandon could gather, immediately after the initiative’s conception, the site featured videos and tutorials rich with code examples on how to build a player from the ground up using the OVP framework. This is no longer the case. The site’s video section is peppered with high level talks about the initiative that provide little, if any, development examples. The site goes down pretty regularly, and sadly, it seems to serve as more of a repository for news releases and links than as a hub for information about the initiative. To top it all off, the initiative shares all of its code through the web dinosaur that is Sourceforge.net It’s not all doom and gloom though. While examples may be sparse, it’s safe to say the code being delivered by the initiative provides a great base for more reliable development of web video players. In fact, the OVP framework is currently being used as the based for Adobe’s own Open Source Media Framework project (previously known as Strobe). Still, what we find most interesting about the project is the collaboration between Microsoft and Adobe. It’s not an exaggeration to say these two companies have been sworn enemies of rich interactive web development — a battle that has become more apparent with Microsoft’s rapid development of Silverlight. So why would Microsoft partner on a project with Adobe that obviously benefits the latter’s current domination of online video delivery? There’s no way to be absolutely sure. The simplest explanation could be that Microsoft would like to get in good with Akamai and their expectations for content streaming while their product is still in its early stages of development. After all, even with Silverlight 3’s long list of new features, it’s still no Flash. This would minimize the number of poorly developed, shoddy looking video players built on their platform. That’s one answer, but it doesn’t account for Adobe’s continued participation. Consider this alternative explanation. If you’re like us, you’ve more than likely heard of W3C’s plans to deliver HTML 5 as the new web standard. With it comes a fancy new video element aimed at freeing web video from the narrow, proprietary world of plugins — something neither Microsoft nor Adobe can be too happy about. With the both of these companies allotting resources for this project, the two stand a much better chance of denying HTML 5 the chance to decouple web video from plugins by creating a more promising and reliable standard outside of HTML 5. Either way, we’re pretty excited to see where this rare collaboration goes and what it brings to the realm of online video. Want to know more? Brandon handpicked some resources for you below: Surface's first service pack delivers
Microsoft released its first service pack for Surface back in May, and we’ve been working with it on our machines since then. While it didn’t include any physical upgrades (we took that matter into our own hands), it seems that SP1 addressed most of the issues we’d observed. Check a few of the features our developer Evan Johnston found helpful for both development and enhancing the user experience.
When one of our Surface apps was in use at a recent medical trade show, some of the users accidentally exited the application when their sleeves made contact with the access points. This will no longer be a problem, as SP1 includes a single application mode that allows the Surface unit to run only one application at a time. It even bypasses the launcher menu on start-up and goes directly to the application of choice. This is also awesome in situations where you want to limit the user’s access to other applications (for confidentiality perhaps) without having to remove all other applications from the unit.
SP1 improves the user feedback as well with contact visualizations. Users can see where their inputs are being detected and the path of motion when the inputs are moved. What’s cooler is that developers can customize the visualization colors and placement, opening up the creativity and making the interaction even more brandable.
New tagged object routing allows users to quickly switch between applications using an identity tag. One of our first ideas to maximize this new feature? Think of a conference or trade show badge. Simply slap a tag on the back, and when the badge is laid down on the Surface, the attendee can quickly access the apps relevant to them. Nice.
What about updates that are more behind the scenes? A new stress testing tool makes the testing process smarter. It allows the developer to test by simulating contacts in a fully random approach or in a scripted interaction. The stress load level can be set on a scale of 1-10 in random mode, and the duration of the test can be set in both modes. Simulating massive multi-input scenarios will make stress testing apps more efficient and less labor intensive.
SP1 includes several more update and upgrades that we’re exploring more and more, but these are just a snapshot of what Surface is now capable (or more capable) of. We’re curious to see what other developers think of the service pack thus far, too.
|
|