Complex Android UI Customization

Project summary: JazzTeam took part in the creation of an application for managing Android platform interface customization. This App is named as one of the leaders in its relative market segment. Basing on the customer's graphics, our team developed an interface for content download from the client's server, live wallpapers and various widgets (clocks, calendars, weather units, switches). The widgets periodically search for content updates on the server. The application was optimized for various screen dimensions (ldpi, mdpi, hdpi, xhdpi, resolutions from 320×240 to 1280×768, portrait and landscape formats).

Technologies: Android SDK, JUnit, Eclipse with ADT, Ant (customization of android projects’ build system).

Project features:

  • The use of a huge number of undocumented decisions, working differently on different android devices, the need to address these issues.
  • Constant decompiling of the applications, continuous search for the ways to meet the objectives set by the customer.
  • Support of all Android versions, a huge number of devices and resolutions, portrait and landscape formats.
  • The need to customize the build system of Android projects.
  • The need to optimize applications for a large number of android-based devices, including periodically released new models.

Project results:

  • Despite the difficulties, we managed to solve all the technical issues, and successfully deliver the project to the customer for further support (adding new content, graphics modifying)
  • Android projects build system was customized; a function for a one-click version assembly for all resolutions and formats was developed.
  • The application reached top positions at the Samsung Android Market.

Company's achievements during the project:

  • We developed ant scripts and an approach which allowed us to release, in a single command, the builds for all kinds of devices and resolutions (customization of the Android applications build process).
  • There was also developed an engine for a dynamic download and display of live wallpapers from the customer's server.
  • Requirements for a large number of graphics (developed by the customer) for Android devices of various dimensions, types, versions and resolutions were formulated and documented.