Tips for Software Developers Considering the Move from Desktop to Mobile Applications – Part I
July 29, 2010
If you’re a desktop application software developer, you may find it exciting to explore opportunities designing mobile applications. Before you make the move to mobile, there are a few things you may want to consider. Namely there are limitations in mobile hardware memory, CPU and screen size when compared to desktop application development. These differences can affect design.
For example, while most mobile platforms offer impressive hardware capabilities, providing developers with megabytes and even gigabytes of RAM, memory isn’t limitless and can’t be upgraded as easy as we’d like. And CPUs used in mobile devices aren’t the same one that are used in desktop workstations. Mobile CPUs are designed with less power consumption and physical size in mind – performance is considered last. Lastly, when it comes to screen size, you can’t display as many visual objects simultaneously as you would in desktop applications – they simply don’t fit.
With memory, CPU and screen size limitations in mind, here are nine tips to help desktop application developers’ move to mobile application design:
- Since memory is limited, be prepared from the beginning of your design to optimize your use of memory. If only considered later in the development process, it may cause a near re-engineering of the application.
- Keep thinking of little ways to find and use extra bits of memory for your application. For example, finding ways to release memory sooner so your application can re-allocate it.
- Be creative in presenting visual information in your application. When your application should display many different images or graphical elements at once, consider filtering images currently not visible to a user because they are located off the edges of the screen.
- The CPU alone can’t do all the work for you. Consider utilizing specialized chips like GPU, math CPUs, specialized stream encoding/decoding processors, A/D-D/A converters, etc.
- Decrease the number of math operations. An idea is to replace repeated calculations with look-up or hash tables.
- If the mobile device you’re working with uses a hardware GPU chip supporting OpenCL or CUDA technologies, employ them in your application.
- Most mobile platform vendors provide great software development kits with complete UI design guidelines and UI APIs. Be sure to carefully read these guidelines before you begin your design. In most cases, these guidelines will solve 95% of potential design issues.
- Don’t forget about fingers. Keep reasonable balance between the size of controls and the distance between them on the screen.
- It’s a well-known fact a human can’t remember more than 7 things at a time -- remember this when developing applications for mobile devices. Mobile users are even more concentrated on controls while looking at the smaller screen.
That’s not all of the tips we have! Stay tuned for the next round of tips on moving from desktop to mobile application development in August.