New ways to discover great apps on Android Market

We’ve seen tremendous growth in Android Market lately. With over 200,000 apps supporting over 300 Android devices, we’ve had 4.5 billion applications installed to date. But with so many apps available, how do you find the ones you really want? Whether you’re looking for the most popular apps, hot new apps, or just the very best apps available, we want to help make sure that you find what you’re looking for.

Today, we’re excited to announce 5 new features for Android Market focused on helping you find apps you’ll love.

  • New top app charts – We’ve revamped our top app charts to be fresher and country-specific, so you get the most current, relevant results. We’ve also added top new free, top new paid, and top grossing lists, all right on the Android Market home page.   
  • Editors’ Choice – These are some of the very best apps available for Android, as chosen by the Android Market staff. They span everything from games to productivity and beyond.   
  • Top Developers – We’re also recognizing those developers creating the highest quality, most popular, and most notable apps available on Android Market. They’ll get a special icon on our Android Market website, appearing wherever the developer name is shown, starting today for an initial set of over 150 developers.
  • Better related apps – On the left side of an app page, you’ll now see two groups of related apps: apps frequently browsed by people who viewed this app, and apps that people tend to install alongside this app. For example, people who view ScoreMobile, my favorite sports score app, often also view other sports score apps, while those who install ScoreMobile tend to also install apps for specific sports leagues or teams. We’ll also show you related apps once you decide to install an app.
  • Trending apps – Finally, we’ve added a new section to the Android Market homepageshowing trending apps – those apps that are quickly growing in daily installs. Look here to stay ahead of the curve and find new apps as they get hot.

We hope you find these features helpful as you explore the many greats apps available on Android Market. These new features are available now on http://market.android.com, and will be coming soon to Android Market on phones and tablets.

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.

Android SDK for Bing Maps available on Codeplex

InKnowledge has launched an open-source Bing Maps SDK for Android. This new SDK now gives Android developers a choice in terms of map controls and provides greater flexibility as a result of having direct access to the code base. You can find the SDK at: http://bingmapsandroidsdk.codeplex.com/

Built using the latest Bing Maps AJAX Control 7.0, the Bing Maps Android SDK has all JavaScript wrapped with native Java calls. As a result, Android developers can use this control without having to know the JavaScript code. In addition to wrapping the AJAX Control, we created libraries to make accessing the Bing Spatial Data Services and Bing Maps REST services simple and straightforward.
Initial tests have found that the SDK provides much faster pan/zoom and loading speeds. To see for yourself, download the SDK and run the sample. Or, watch this video to see the SDK in action.

We also extended an Android WebView object, so that the map is embedded along with several Java-based method calls for controlling the map. Touch controls have been added to support pinch-to-zoom and double-tap-to-zoom. The new SDK’s zooming feature provides a deep zoom-like effect, which enhances the user experience as existing map tiles are scaled up until the requested tile is loaded.
The following functionalities have been supported for these services:
Bing Spatial Data Service—Query API:

  • FindNearArea
  • FindByID
  • FindByProperty

Bing Maps REST:

  • Geocoding (address and query searches)
  • Reverse geocoding
  • Routing with support for all route options

In addition, all libraries are inside a base Android application that can be used either as a template or as a reference to create your own Bing Maps Android application. You’ll also find support for GeoRSS feeds.
This SDK is still in its early stages; additional features on the roadmap include:

  • Clustering
  • Documentation of code, and articles on how to use the SDK to create an application
  • Sample UI for Location Details view
  • Support for localization
  • UI controls for rotating Bird’s eye view