The remote control's operating system, which is in many cases Symbian for phones or Windows CE for PDAs, has built in Bluetooth libraries that are available to programmers. The client side uses these libraries to perform Bluetooth operations.
Before the client side starts sending control-commands to the server side for execution, the client side has to search for surrounding Bluetooth devices and connect to the intended computer after checking its identity and the services it offers, the identity of the computer is determined by Universal Unique Identifiers (UUIDs) and Services that the computer offers are verified using Service Record Databases (SRDBs). Next a Bluetooth channel is created, this channel is tolerant to intervention attempts.
Figure 2 below shows the design of the client side:

Figure 2
After talking about technical issues, the thing that is of most importance is what services RCP has for its users. RCP is targeted for any user who wishes to control her/his computer remotely for some purpose. RCP has many features available to the user with the intent of making remote controlling of a computer an easy, efficient and fun experience.
Services that RCP has include:
• Mouse Mode:
The mouse mode enables the user to perform basic mouse motion, right and left clicks control; moreover, RCP's mouse mode has the pageup and pagedown keys to make navigating through the desktop or any document easier.
• Keyboard Mode:
The keyboard mode types capital and small letters, it can also type numbers, in addition to that, the keyboard mode has 29 symbols.
The keyboard mode also has the F5, Esc, and Caps Lock keys; the presence of these keys is very useful especially for applications like Microsoft Power Point.
• Shortcuts Mode:
This mode assigns keys on the phone's keypad to applications available on the server side, so as to make the process of running applications easier by only on click of a button. Users can assign up to 10 different applications to the phones key pad.
• Help and Language:
RCP is shipped with a rich help facility just to make sure that users will get to use it in a very small time.
RCP initially supports Arabic and English to increase the number of its users. The user selects the language of choice only once, and RCP will remember what language has been chosen in the next session, this increases usability and efficiency by not having the user select the language every time he starts RCP.
We have also paid close attention to the graphical user interface of RCP. The server side uses Window's Look and Feel, whereas the client side uses POLISH in implementing its interface. Polish is an API that can be used in building attractive and pleasing interfaces for applications that run on phones and PDAs.
Figures 3 and 4 below show snapshots from the server side and client side screens:
Figure 3

Figure 4
In building the RCP system, we faced many technical and theoretical complications, such as hardware problems in figuring out that some Bluetooth hardware are programmable and others are not. Another problem we experienced was the lack of resources. Nevertheless, working on RCP was an amazing experience; we loved it and learned a lot from it.
We plan to add more features and further improve RCP. We intend to add a remote computer login. This service will enable a user to access his computer no matter how far apart the user and the computer are when using the Internet.

Anne-Birte Stensgaard, Senior News Editor



