Development
What is it?
Once your go-to-market strategy has been finalized, you will need to carefully plan your application development as the next step in the mobile content lifecycle. This will require an evaluation of the tools and methodologies available that will enable you to create an application that will provide a solid foundation for porting, which is critical to manage your costs and ensure the quality of the final product.Before you start coding, there are a number of application design and architecture choices that are critical to get right. Essentially, this design stage is where you bridge market planning to development to ensure success.
What does it matter?
The application development stage is critical in mobile because you simply cannot create one or two versions of an application that will support the thousands of mobile handsets available worldwide. For this reason, application developers must carefully consider the impact of the code they write, not just on the first handset, but for all the handsets that they intend the application to run on. This is easier said than done. Choosing an appropriate development methodology will mean the difference between an application that is optimized for every handset and one that is a lowest common denominator solution.Understanding the limitations of software platforms such as Java ME, BREW and Windows Mobile is critical in lowering the development risk and ensuring a positive user experience.
Plus, in the world of mobile you especially need to develop applications with portability in mind from the very beginning. If care is not taken in the early stages of application development, exponential amounts of resources will be spent later on recoding and, in extreme cases, starting from scratch.
How does it work?
Superior technical design of mobile applications comes from understanding the devices you are targeting and then applying some best practices to optimize your code appropriately.Understand the Devices You are Targeting
The major device factors that play in to intelligent mobile application design relate to these five categories:- Performance
- JAR size limitation
- Available heap memory
- Screen size
- API support
Also, an experienced mobile application development and porting organization will understand many idiosyncratic differences between, say, Motorola, Samsung and Nokia devices.
Avoid Some Classic Pitfalls
By avoiding common mistakes, you can produce applications that are easier to port, manage and ultimately, market to operators and end users. Some of these pitfalls include:- 1. Hard-coding for Fixed Screen Sizes - Hard-coding for fixed screen sizes severely limits portability. When working with drawing screen elements, make sure your splash screens, sprites, and background images are dynamically adjustable to different screen sizes.
- 2. Hard-coding Sound Elements - Hard-coding sound elements also negatively impacts portability. Sound elements should be stored in separate files in the JAR and not hard-coded. In addition, the size of the byte array used to store the sound element must be dynamic or provisioned to have expansion room.
- 3. Hard-coding of Constants - It is a much better practice to refer to a central location such as a config file or class file in the JAR. This guideline is especially true when you are considering translating the application into new languages for new markets. Applications with downloadable content such as puzzles, comics, and information programs should all keep their data and content files in separate repositories to make the download and management of content easier.
- 4. Ignoring Localization Issues During Initial Development - Multiple languages are also important in gaining broad application distribution. Porting from one language to another has challenges if not handled correctly. The time to consider these principles is during development - not after the English version is finished. We recommend constructing UI elements with text with at least 30 percent expansion room to account for less compact languages like German.
- 5. Creating Applications That are Too Big - Some of the most popular devices in the world have a hard upper limit of 64 KB, and if the application is to be used by large quantities of consumers, it will need to work on these devices.
Tips & Tricks to Optimize for Mobile
Over the years, Tira Wireless has acquired scores of best practices in mobile application design by virtue of working on hundred of projects. A few notable ones are:- Implement a memory management system to keep track of resources in the various caches. When nearing maximum memory, stale items in the cache should be freed to make room for new data.
- Graphical assets should be optimized to reduce file sizes, download times and memory requirements on devices.
- Try to avoid using XML, JavaScript, and SVG APIs on Java ME. These factors can cause problems on the client side, as they are not consistently implemented across most devices.
- Transparency color should ideally be Black, White or Pink. Pink is a usual choice as it is in the middle of the RBG spectrum. Black or white are ideal to minimize transparency problems when background hue is generally known.
- Transparent color should not be numerically close (within 0x0F) to a non-transparent color. Some devices will either render all close colors transparent, or not render the transparent pixels as transparent.
- Sound APIs on Java ME have many idiosyncrasies. The best way to avoid sound problems is to keep the implementation simple. Only playing one sound file at once is best.
- Plus many, many more...


Comments
No comments for this document