Protecting the world’s coral reefs through mapping

Editors Note: Today’s guest author is Katie Reytar, a Research Associate for the World Resources Institute. WRI was the recipient of a Google Earth Outreach Developer Grant, funded through the Google Inc. Charitable Giving Fund at the Tides Foundation. We’re excited to help them share and visualize the results of years of research about the state of the world’s reefs.

Since 1998, the World Resources Institute (WRI) has been using GIS (Geographic Information System) models to develop map-based assessments of threats to the world’s coral reefs. Reefs at Risk Revisited, released in February 2011, is the latest assessment in the series and is based on a nearly three-year study that produced the most highly-detailed global maps of coral reef threats to date. The study analyzed and mapped threats to coral reefs from local human activities such as coastal development, unsustainable fishing, and marine and land-based pollution, as well as climate-related threats caused by increasing levels of greenhouse gases in the atmosphere.

While the Reefs at Risk Revisited report, maps and data sets are the core components of our work, we found ourselves still searching for a compelling way to convey our findings on these dynamic yet fragile reef ecosystems. We also wanted to generate greater awareness of the unique characteristics of reef habitats across different geographies and the irreplaceable cultural and life-sustaining services that reefs provide to people all over the world. All of these elements are best communicated when you can see them for yourself, which is why we created a virtual tour of these reefs around the world with our Google Earth Outreach Developer Grant.


Watch a virtual tour of the most at-risk reefs in the world courtesy of the World Resources Institute.


In the tour, the Reefs at Risk Revisited maps come alive on Google Earth with photos and underwater video from each of the major coral reef regions of the world: the Caribbean, Middle East, Indian Ocean, Southeast Asia, Australia, and Pacific, as well as a global-level introduction and conclusion. The journey to each region provides a brief overview of the biodiversity of reef ecosystems, their importance to people and local economies, and the types and magnitudes of threats that reefs face, illustrated with footage of both healthy and damaged reefs.

You’ll also experience first hand these fantastically dynamic and productive ecosystems that extend across about 250,000 sq km (96,500 sq miles) of the tropical ocean. Even though this area represents less than 0.1% of the global ocean, reefs are home to as many as 25% of all known marine species. In the tropics, coral reefs are not only a critical habitat for marine species, but they also play an essential role in the lives of millions of people who live near them: they provide food and income from fisheries, revenue from tourism, and protection for coastal communities from storm surges.

Among the other products of the Reefs at Risk Revisited project are global maps of coral reefs rated according to level of threat in the present, 2030, and 2050. These maps are available as downloadable KML files on the WRI website for viewing on Google Earth, and also as part of an online map developed using Google Fusion Tables. With these interactive maps you can zoom in to your favorite reef to explore it more closely in your own self-guided tour.

Explore Reefs at Risk Revisited in Google Earth.

We hope that you enjoy our tour and maps, and that you are able to visit a coral reef to learn more about these important and unique ecosystems. With improved understanding, we can manage and protect these resources so that we can all enjoy them and benefit from them for generations to come.

Google Earth New Imagery – March

It’s been a little while since the last update, but it appears that Google Earth has pushed out some fresh imagery! Thanks to GEB reader ‘Andreas’ for letting us know about it.

zion.jpg

Due to the new imagery, it’s more difficult to spot fresh imagery. Also, in the time since we first spotted this new imagery it’s also arrived in Google Maps, which makes it even more difficult to determine what is new and what is old. Despite that, we’ve found quite a few areas that have been updated and here is the list so far:

 

  • Italy: Catania — thanks ‘Munden’
  • Malta: Valetta — thanks ‘Munden’
  • New Zealand: Otorohanga — thanks ‘Munden’
  • Poland: Gdansk, Gdynia, Hel, Poznan, Warsaw — thanks ‘Munden’
  • Serbia: Belgrade — thanks ‘Munden’
  • Russia: Arkhangelsk, Monino, Murmansk — thanks ‘Munden’
  • Slovenia: Ljubljana — thanks ‘Munden’
  • Ukraine: Kurpaty — thanks ‘Munden’
  • United States: California (Beales AFB, Linda, Palmdale, Rosamond, Yuba City), Florida (Apalachicola, Daytona Beach, Gainesville, Jacksonville, Kissimmee, Panama City, Pensacola), Georgia (Valdosta), Illinois (Findlay, Galesburg, Neoga, Taylorville), Louisiana (New Orleans), Mississippi (Jacksonville), South Carolina (Charleston, Hartsville, Lancaster), Texas (Beaumont, Corpus Christi, Freeport, Galveston, Texas City), Utah (Halchita, Mexican Hat, Zion National Park) — thanks ‘Andreas’ and ‘Munden’

Android Apps Over the 50MB Barrier

 

Android applications have historically been limited to a maximum size of 50MB. This works for most apps, and smaller is usually better — every megabyte you add makes it harder for your users to download and get started. However, some types of apps, like high-quality 3D interactive games, require more local resources.

So today, we’re expanding the Android app size limit to 4GB.

The size of your APK file will still be limited to 50MB to ensure secure on-device storage, but you can now attach expansion files to your APK.

  • Each app can have two expansion files, each one up to 2GB, in whatever format you choose.
  • Android Market will host the files to save you the hassle and cost of file serving.
  • Users will see the total size of your app and all of the downloads before they install/purchase.

On most newer devices, when users download your app from Android Market, the expansion files will be downloaded automatically, and the refund period won’t start until the expansion files are downloaded. On older devices, your app will download the expansion files the first time it runs, via a downloader library which we’ve provided below.

While you can use the two expansion files any way you wish, we recommend that one serve as the initial download and be rarely if ever updated; the second can be smaller and serve as a “patch carrier,” getting versioned with each major release.

Helpful Resources

In order to make expansion file downloading as easy as possible for developers, we’re providing sample code and libraries in the Android SDK Manager.

  • In the Google Market Licensing package, an updated License Verification Library (LVL). This minor update mostly adds the ability to obtain expansion file details from the licensing server.
  • From the Google Market APK Expansion package, the downloader service example. The library makes it relatively simple to implement a downloader service in your application that follows many of our best practices, including resuming downloads and displaying a progress notification.

Because many developers may not be used to working with one or two large files for all of their secondary content, the example code also includes support for using a Zip file as the secondary file. The Zip example implements a reasonable patching strategy that allows for the main expansion file to “patch” the APK and the patch file to “patch” both the APK and the main expansion file by searching for asset files in all three places, in the order patch->main->APK.

Expansion File Basics

Expansion files have a specific naming convention and are located in a specific place for each app. As expansion files are uploaded to the publisher site, they are assigned a version code based upon the version of the APK that they are associated with. The naming convention and location are as follows:

Location: /Android/obb//
Filename: [main|patch]...obb
Example: /sdcard/Android/obb/com.example.myapp/main.5.com.example.myapp.obb

Expansion files are stored in shared storage. Unlike APK files, they can be read by any application.

Downloading and Using the Expansion Files

When the primary activity for the app is created, it should check to make sure the expansion files are available. The downloader library provides helper functions (for example the “Helpers” class in the code below) to make this easy.

boolean expansionFilesDelivered() {
    // get filename where main == true and version == 3
    String fileName = Helpers.getExpansionAPKFileName(this, true, 3);
    // does the file exist with FILE_SIZE?
    if (!Helpers.doesFileExist(this, fileName, FILE_SIZE, false)) {
        return false;
    }
    return true;
}

If the file does not exist, fire up the downloader service with DownloaderClientMarshaller.startDownloadServiceIfRequired(). The downloader will perform an LVL check against the server. This check will deliver the names of the files, file sizes, and the file URLs.

Once that check has been completed, it will begin downloading the files. You don’t have to use our download solution, but you might want to because we:

  • Include a notification UI that provides progress and estimated completion time in layouts customized for ICS and pre-ICS devices
  • Resume large files safely
  • Handle redirection with appropriate limits
  • Run in the background as a service
  • Pause and resume downloads when WiFi is not available

Enjoy! We can’t wait to see what kinds of things developers do with this! For more information about how to use expansion files with your app, read the APK Expansion Files developer guide.