Developing software for wireless devices is challenging for a number of reasons. One of the reasons arises from the fact that the various components of the wireless mobile devices are relatively small (Mahmoud, 2002, para. 7).
This means that developing the software requires the developers to constraint themselves in accordance with the device. For example, mobile devices memory is small. This requires the software developer to critically consider the concept of memory management when designing the various applications (B’Far, 2005, p. 33).
Wireless devices have got limited processing power. As a result, elaborate tasks may take more time to accomplish. In addition, the devices’ input capability is also limited. Due to the size of the screen, the size of the information displayed is also limited.
According to Mahmoud (2002, para. 7), the devices’ bandwidth is low and the networks are expensive and cannot be relied upon. As a result, wireless software developers experience numerous network errors.
The second source of challenge arises from the fact that wireless device software developers are faced with various competing standards with regard to the applications necessary for the development of various devices. In order to overcome the challenge, wireless device software developers are required to customize each device for it to operate (Turban et al, 2008).
Major components of wireless device software
There are a number of software components associated with mobile computing. Some of these are explained below.
Programs – There are a number of programs incorporated in the mobile device software. Some of these include word processors, graphic programs, entertainment software such as games and music and word processors.
User interface – This component allows an individual to interact with the devices’ software. Through the user interface, an individual is able to issue a command to a mobile device. There are three main types of user interfaces in mobile computing. These include the command language, menu and the graphical user interface.
Through the menu, the user is able to give commands by selecting commands as displayed from the list. On the other hand, graphical user interface enables an individual to give commands by selecting specific icons on the screen.
System utilities – According to Golding (p.360), mobile devices are considered to be personal devices. As a result, there are a number of personal utilities which are incorporated. Examples of such utilities include the diary and contacts. Due to technological advancement, there has been an expansion in the number of system utilities integrated in mobile devices.
Command shell – This is a specific software program which enhances direct communication between the devices’ operating system and the user. One of its roles entails execution of the commands entered and displaying the output. The command shell is developed through use of scripts.
Graphic Engine – This include the various components of the operating systems. The graphic engine ensures that the mobile device displays all the information on the screen. As a result a high level of graphic routines is ensured.
Conclusion
Development of wireless devices software is challenging due to the size of the devices and the presence of competing standards. To ensure that, the software operates effectively, a number of components have to be incorporated. Some of these include programs, user interface, system utilities, command shell and graphic engine.
Reference List
B’Far, R. (2005). Mobile computing principles: designing and developing mobile applications with UML and XML. Cambridge: Cambridge University Press.
Golding, P. (2002). Next generation wireless application: creating mobile applications in a web 2.0 and mobile 2.0 worlds. New York: John Wiley and Sons.
Mahmoud, Q. (2002). Wireless software design techniques. Web.
Turban, E., King, D., McKay, J., Marshall, P., Lee, J., Viehland, D., et al. (2008). Electronic commerce: A managerial perspective. Upper Saddle River, NJ: Prentice Hall.