Now playing: Faster movie search on Android and iPhone

With the December movie season in full swing, we’ve just made it even faster and easier to discover movies, showtimes and theaters, all from your smartphone. Now when you search for [movies] or your favorite theater like [century san francisco] on Google.com from your phone, you’ll see interactive results for movies in a new swipeable ribbon, with the most relevant information displayed at the top of the page.

For each movie, you’ll see the movie poster, a short summary, ratings and the nearest theaters and showtimes. Designed to help you quickly browse what’s playing in theaters now, this information instantly updates as you slide through the movie posters — no need to wait for a page to load or to use the back button.

To learn more about a movie, tap the movie title to find details like the cast and a full summary. And if you see a play button on the movie poster, you can tap to view the official trailer. You can even buy tickets directly from your smartphone by tapping on underlined showtimes — and skip past those long holiday box office lines!

So the next time you head out to see sagas of vampires, the world’s biggest Muppets fan, dancing penguins or nearly impossible heists, try the new interactive results for movies by visiting Google.com on your iOS or Android phone’s browser and searching for [movies], [theaters] or a movie title. This feature is available in English, in the US.

(Cross-posted on the Inside Search blog)

Custom content for Google Earth on Android

One of the most powerful features of Google Earth is the ability to view custom maps or overlays, which are also commonly known as KML files. Ever since we introduced Google Earth on mobile devices, users have requested support for custom content. Today, we are proud to announce Google Earth 6.2 for Android and iOS, which includes support for KMLs. Now anywhere you find a “Google Earth file” (KML file) while you’re browsing the mobile web, just click on the link and the Google Earth app will automatically launch and load the custom map.

With this release, the Google Earth Gallery is also now available in the mobile app, enabling you to easily explore some of the best maps from around the web directly within Google Earth. For example, not sure if that was an earthquake? Go to the Earth Gallery and click on the USGS’ real-time earthquake map to see recent earthquakes from around the world.

Maybe you’re interested in finding hiking trails on your next vacation. Check out Everytrail to find a hike wherever you might be.

If you’re a basketball fan, be sure to check out the new College Basketball Tournament map, which takes you on a virtual trip to the school and stadiums of this year’s competing teams.

For Google Earth for Android users, we’ve also added a new “Share” feature, which allows you to share a screenshot of your current view with people in your Google+ circles, via Gmail, or on other applications. Now you can share your favorite places with friends and family from your desktop computer, mobile phone or tablet. And, if you follow the Google Earth +Page, you can see what others are sharing and discover new locations around the world.

The 6.2 release of Google Earth for Android and iOS also includes improvements in navigation, which make it even easier to fly to your favorite spots on the globe.

To check out the latest version of Google Earth for Android phones and tablets, download it now from Google Play.

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.