Beautiful & interactive maps faster with the Fusion Tables API

Google Fusion Tables is a modern data management and publishing web application that makes it easy to host, manage, collaborate on, visualize, and publish data tables online. Since we first launched Fusion Tables almost two years ago, we’ve seen tremendous interest and usage from dozens of areas, from journalists to scientists to open-data entrepreneurs, and have been excited to see the innovative applications that our users have been able to rapidly build and publish.

We’ve been working hard to enrich what Fusion Tables offers for customization and control of visual presentation. This past fall we added the ability to style the colors and icons of mapped data with a few clicks in the Fusion Tables web app. This spring we made it easy to use HTML and customize what users see in the info window that appears after a click on the map. We’ve enjoyed seeing the impressive visualizations you have created. Some, like the Guardian’s map of deprivation in the UK, were created strictly within the web app, while apps like the Bay Citizen’s Bike Accident tracker and the Texas Tribune’s Census 2010 interactive map take advantage of the Fusion Tables SQL API to do even more customization.


Of course, it’s not always convenient to do everything through a web interface, and today we’re delighted to invite trusted testers to try out the new Fusion Tables Styling and Info Window API. Now developers will be able to set a table’s map colors and info windows with code.

Even better, this new Styling and Info Window API will be part of the Google APIs Console. The Google APIs Console helps you manage projects and teams, provision access quotas, and view analytics and metrics on your API usage. It also offers sample code that supports the OAuth 2.0 client key management flow you need to build secure apps for your users.

So if you’ve been looking for a way to programmatically create highly-customizable map visualizations from data tables, check out our new APIs and let us know what you think! To become a trusted tester, please apply to join the Google Group and tell us a little bit about how you use the Fusion Tables API.

Parker on Bad Weather

“We earn more challenges by
dealing with and overcoming
more challenges. Embrace your experience. Enjoy the weather.

–Sam Parker (1965 – )
Co-founder of JustSell

A simple challenge where everyone wins (you and those around you). No risk. No additional time required.

Within the next three weeks, set a 2-day period as your days (or your team’s days) to inspire others. Two days where you’ll put on blinders to anything negative and be the one in the office who everyone else can count on for words and actions that inspire and encourage. Two days where you’re the light for other people – your colleagues, your prospects, your customers – no matter what.

Allow nothing negative and focus only on your service to others.

Once you set your two days, fully commit to the effort regardless of the inevitable challenges, regardless of the weather (please, never the weather). Fall off the inspirational horse at 2:11 on the first day?

Remember, you wake with an option for your daily attitude. Challenges will come up regardless.

Choose positive. Spread it for two days.

Not only will it be contagious… it might become a habit.

_____

Google I/O: Elastic Path

Elastic Path develops a very flexible enterprise ecommerce platform. Many global brands rely on the Elastic Path platform to power their ecommerce solutions.

Many ecommerce sites are actually complex web applications. Catalog management, shopping cart functionality, promotion engine, order fulfillment, and backend integrations are just some of the challenges involved in running a full-fledged online store.

Since 2008, our Java-based platform has been the ecommerce backbone of a couple of online stores that are being migrated to run on App Engine. Like many complex web applications, these stores used to run in a multi-server environment (Apache Tomcat with a MySQL database) hosted in a colocation center.

As the diagram above shows, our goal is to have Elastic Path running entirely on the App Engine cloud. The storefronts have already been migrated, and the database and remaining parts of the Elastic Path platform will be fully on the cloud soon.

Why are we doing this? There are many benefits to being on App Engine:

  • Increased security
  • Easier deployments and operations
  • Scalability
  • Cost-effectiveness
  • Built-in monitoring

We can only undergo this migration because App Engine supports enterprise-grade Java applications, and because Elastic Path is very flexible.

Our migration’s high-level approach was to move everything except the persistence layer onto App Engine, and then resolve issues with the technical limitations such as the class whitelist and request length. We also had to modify some third-party libraries to work around App Engine’s restrictions on operations such as class loading, threads, and sockets.

We didn’t migrate the persistence layer because Elastic Path uses a relational database; converting our entire object graph to the Datastore is not feasible now. We are working closely with Google on alternatives. In the interim, we are still using a MySQL database and have kept our persistence layer running within a Tomcat application in the colo. We implemented a creative solution: the non-persistence layers of Elastic Path run on App Engine and communicate with the Tomcat-hosted persistence services via Spring Remoting. The back-and-forth remoting was expensive and impacted the performance of our application so we implemented some data caching. For this, we turned to App Engine’s Memcache, which improved performance by an order of magnitude (less than 2 seconds average response times vs. 2 minutes or more without Memcache).

Other App Engine technologies we use heavily include AppStats for performance tuning, URL Fetch for the Spring Remoting described above, and the fantastic Maven GAE plugin that we use for packaging and automated deployments. As we continue to push our platform up to the cloud, we hope to utilize more of App Engine’s cool features. If you’d like to learn more about Elastic Path, how we are migrating our Java platform to run on the cloud, and how you might be able to migrate your application to App Engine, drop by our booth in the App Engine section of the Developer Sandbox.