Considerations for handheld development
来源:互联网 发布:买火车票软件 编辑:程序博客网 时间:2024/04/29 03:34
Considerations for handheld development
When developing software for a handheld computer, you need to take into consideration a variety of things that can be largely bypassed in desktop development. Some of the main issues are the user interface and the rather limited permanent storage space. These two things will probably have the largest influence on the development process, but there are other factors to consider as well. The available memory and processing power sets its limits, as well as the fact that the device is most likely battery operated, so low-power considerations come into play as well. The developer should strive to find a proper balance between these issues when designing the software.
In most cases, the user interface is the part that needs most consideration. Since the screen size on handheld devices is rather small, and often has different proportions than a conventional computer screen, and the input devices are usually limited to a trackpad-button combination and/or a stylus or a touch screen, care must be taken to provide the necessary functionality. These input devices are not as precise as a mouse or a drawing tablet, nor do they have the same functionality (e.g. multiple mouse buttons) so the user interface must be clear and uncluttered to remain user friendly. Although some handhelds might provide the user with more advanced input devices, the user interface should still, in the name of portability, be designed in a way that allows it to be used with less capable devices. It is recommendable to design the applications with the stylus/touch screen user in mind, and use the “advanced” input features to provide menu shortcuts or other similar functionality.
The fact that the available storage space is rather limited has some implications on the applications as well. Applications should avoid permanently storing data on the device unless specifically requested. An email application, for example, should not automatically download and store all messages from the mail server, but e.g. instead only retrieving the headers and presenting the user with the subjects of the messages, which could then be downloaded and stored on demand. This also means that applications should account for the fact that some data might not always be available, but is instead stored on some remote location, e.g. a desktop computer. In this case, the application should alert the user to this, and perhaps suggest its retrieval.
The available memory and processing power sets of course its own limitations on the applications. Because handhelds are quite limited in their processing capacity, the applications should be designed with this in mind. This means that some resource hungry applications are not very suitable for these platforms. Instead, the design should focus on “lean and mean” personal utilities, which are much better suited for handheld computers. If the design absolutely calls for processor intensive calculations, the developer should consider doing these calculations remotely on a more powerful computer. The handheld device would in this scenario function as a device for gathering data and then presenting the results of the processing. In delegating the more resource needing parts of applications to remote servers, the handheld device can focus on tasks that it is better suited for.
Limited battery power is also something that differs handhelds from their desktop counterparts, but this is usually something that the application developer does not need to consider. The power management is done at system level, and should be transparent to the applications. Of course, the use of unnecessary CPU cycles (busy waiting, superfluous eye-candy, etc.) should be avoided. Also, applications should react properly to a low power situation (if the underlying system provides a way to warn the applications of this) by saving open files and writing their data to the permanent storage. Other than this, there is not much else that can be done from a power management perspective.
- Considerations for handheld development
- Security Considerations for AppLocker
- General Programming Considerations for java
- Performance Considerations for Elasticsearch Indexing
- Lockless Programming Considerations for Xbox 360 a
- General Design Considerations for Secure Networks
- Performance Considerations for Direct3D9 and WPF Interoperability
- Considerations for host-to-FPGA PCIe traffic
- 69.1. Considerations for Number of Regions
- Lockless Programming Considerations for Xbox 360 and Microsoft Windows
- Initial Considerations for Migrating from Forefront TMG to Forefront UAG
- Performance considerations for keySet() and entrySet() of Map
- Lockless Programming Considerations for Xbox 360 and Microsoft Windows
- Web development for Mobile
- Jpcap development for ARP
- Log4j for Android Development
- STM32 Development For Linux
- STM32 Development For Linux
- JAVA编程规范
- API技巧集(一)
- 实战JBOSS――教你写第一个EJB
- 一些关于数据库的文章
- javascrip IE FireFox兼容性
- Considerations for handheld development
- 二﹑博客周刊•新鲜阅读
- 如何实现VB与EXCEL的无缝连接
- 一﹑博客周刊•程序员导语
- 帮助跟我一样的小鸟理解MVC
- Tips:给ListBox绑定数据源
- 什么是UI
- 关于ORA-00020: maximum number of processes (150) exceeded 的解决方法
- 如何写“完”UI设计说明书