Transforming Paper and Plastic into a 3D Interactive Experience
This post is part of the Who's
@ Google I/O, a series of blog posts that give a closer look at developers who'll be
speaking or demoing at Google
I/O. This guest post is written by Roundarch's Technical Architect Greg Knapowski
and Sr. Front End Developer Lawrence O’Sullivan who will be demoing as part of the Developer
Sandbox.Our client, NYSTROM Herff Jones Education
Division, the leading producer of maps and globes for schools, sees many classrooms replacing
chalk boards and wall maps with interactive white boards and laptop computers. Our Roundarch
team worked to develop StrataLogica™, a web-based learning application that delivers map and
atlas content in an engaging 3D, interactive environment utilizing the
Google Earth API.
The Google Earth API was used as a foundation for StrataLogica™ to make use of its
sophisticated image rendering logic, satellite imagery and access to built-in tools and
navigation controls. As an enterprise scale application, we faced some interesting challenges
and gained many insights along the way that we’d like to share.
Our
first task was to prove we could wrap Nystrom’s existing educationally-focused maps and globes
onto Google Earth while retaining the same high quality resolution delivered in their print
products.
Achieving acceptable image resolution resulted in file sizes
which were much too large. In addition, we needed to deliver an increased level of map content
and granularity of images as the user zoomed into the earth. To address these two issues, we
created a custom process that takes an Adobe Illustrator file and outputs Superoverlays in
accordance with KML 2.1 standards. Using open source Python frameworks, we created a
customized solution that outputs Superoverlays with various levels of content.
Our next challenge was to provide support for authoring and maintaining
content, in the browser, using the Google Earth plugin. All content is authored and maintained
in a content management system (CMS) in much the same way as any dynamic website. One unique
difference is that some of the content elements are geo-referenced coordinates that specify
the location of content on earth. In the case of placemark balloons, the geo-referenced
coordinates identify “hotspots” on the Nystrom maps which become clickable when the user turns
on a setting. The placemark balloons provide supplementary audio, image, video and descriptive
content such as the example shown above for the Appalachian Mountains.
An ETL (extract, transform, load) process is used to transfer published content into the
StrataLogica™ application database. We then use Java Server Pages (JSPs) to generate the KML
which renders the placemark balloons. The KML contains both the “hotspot” coordinates and
embedded HTML to display the audio, video, images and text. This example illustrates that
standard web technologies can be used to deliver content through the Google Earth API with the
exception that KML is generated in addition to HTML.
Once Nystrom was
able to see their maps and content rendered on Google Earth through the plug-in, we needed to
create a compelling and immersive educational experience to allow teachers and students to
interact with maps, not just view them. Our team added features such as marking tools, custom
content authoring tools and the ability for users to share and collaborate. For those of you
attending Google I/O, stop by our booth in the Sandbox space to experience StrataLogica™
firsthand and chat with our team about the front-end development challenges we faced and how
we overcame them. If you aren’t attending we encourage you to check out our blog post at
http://blog.roundarch.com where we share more
about how we developed StrataLogica™.
Posted by Greg Knapowski, Technical Architect, and Lawrence
O’Sullivan, Sr. Front End Developer, Roundarch