| October 26, 2008 9:00 PM PDT | |
Enable mobilized applications to be deployed across multiple-platform clients and servers natively. Job function and personal preference directly influence the computing devices we choose to use. Many of us choose notebooks, while others prefer tablets. In some cases, a user may rely on a stationary desktop PC while in the office, and a tablet while traveling. Having the ability to choose different computing platforms for different tasks positively affects our productivity. In order to make these choices, however, it is critical that the software we rely on works well on multiple platforms. While porting an application to another platform may be a first step, direct ports rarely meet user needs. Instead, developers should extend applications to support multiple platforms.
Our ability to choose task-appropriate computing platforms is subject to software availability. A group may select a PDA as the best platform for a specific task, but ultimately rule it out because the required software is not available. In other cases, the software may be available, but because the software was simply ported, rather than being extended, it is too difficult to use and/or does not properly support the usage model.
Extend, rather than port, applications in order to enable them for the mobilized environment. The keys to multiple platform support are understanding the subtle differences between ”porting” and “extending” applications, and using multiple platform development tools and software libraries such as Intel® Integrated Performance Primitives (Intel® IPP) to reduce development time and maximize code reuse.
Extending an application to support multiple platforms goes beyond simply porting code to run on a different operating system. A design team must identify the target platforms and operating conditions for the application, and respond appropriately. In many cases, maintaining feature fidelity between platforms does not make sense. An extension of an insurance-claim application to a PDA, for example, may be more useful if only a small subset of the features contained in the desktop version is preserved.
Various industry tools are available to aid in development, depending upon the operating systems for which the application is being designed. Intel IPP functions are optimized for Itanium® 2 processors, Intel® Xeon® processors, Pentium® 4 processors, Pentium® M processors, and Intel XScale® technology. Intel IPP enables the same codebase to run on all these architectures, and within each architecture, the binaries make use of the specific features of the runtime processor.
Such portability, as well as optimized performance, has attracted the attention of independent software vendors (ISVs), many of whom have chosen to use Intel IPP functions. This choice allows them to avoid the drain of managing homegrown code that will need to be optimized and ported constantly. Here are two examples:
- Credant Technologies markets software that extends the enterprise security boundary to include mobile and wireless devices. Credant Mobile Guardian* encrypts data o n the device to protect against loss, theft, or other unauthorized access. To attain a high level of security, Credant uses a variety of encryption algorithms, including AES, 3DES, and Blowfish. The code to decrypt messages must run on numerous client endpoints, such as notebooks, tablet PCs, PDAs, and smart phones. In addition, portions of the security-management software must be hosted on Intel® architecture-based PCs and servers. Credant harnessed the efficiencies of Intel IPP to bring Mobile Guardian to market.
- Digimarc Corporation designs software that places digital watermarks into documents, images, audio files, and other forms of digital and analog media. Digimarc also benefits from the portability of Intel IPP. Digimarc’s technology can be integrated into mobile devices such as PDAs and smart phones. For example, the company can enable a cellular phone with an onboard camera to aim at a picture and recognize a digital watermark embedded into the image. Users can apply this technology to marketing promotions. When a user aims the camera at a digitally watermarked advertisement, product package, or direct mail piece, the smart phone recognizes the digital watermark, invokes the phone’s browser, and sends the user to a site where a prize is waiting. Digimarc had to remove floating-point operations from its calculations (to better support the hardware platform), and then it simply called the Intel XScale technology implementation of Intel IPP. Because of its success with the libraries so far, Digimarc plans to rely on Intel IPP for performance benefits on other Intel architecture-based platforms where it sells its software.
Credant and Digimarc have benefited from Intel IPP portability and performance. The companies brought high-performing products to multiple platforms quickly and reliably, and the extensive code samples provided with the Intel IPP libraries help them easily call Intel IPP functions in their code.
This item is part of a series that is introduced in the item “How to Mobilize Software Applications.”
Discovering Mobilized Software
For more complete information about compiler optimizations, see our Optimization Notice.
Comments (2) 
| September 19, 2011 2:47 PM PDT
shane |
http://communities.intel.com/thread/14551 for driver updates intel.com/content/www/us/en/search.html search for program http://www.shibhile.de/drivers/ to update drivers also http://download.cnet.com/Intel-r-PC-Camera-CS630/3000-18489_4-56887.html SAYS ITS A FREE DOWNLOAD OF SOFTWARE.....GOOD LUCK....I HAVE THE DISC FOR IT BUT NEEDED TO UPDATE DRIVERS, USED 1 ST AND 3 RD LINE HERE AND SEEMS TO WORK GREAT.... |


Kemal YILDIZLI