Jump to content

Binary Runtime Environment for Wireless

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 66.195.235.242 (talk) at 16:24, 11 August 2010 ("between" two things, "among" several). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

File:Brew 0s logo.gif

BREW (Binary Runtime Environment for Wireless) is an application development platform created by Qualcomm, originally for CDMA mobile phones, but GSM is now also supported.

As a software platform that can download and run small programs for playing games, sending messages, and sharing photos, the main advantage of BREW platforms is that the application developers can easily port their applications among all Qualcomm devices. BREW acts between the application and the wireless device on-chip operating system in order to allow programmers to develop applications without needing to code for system interface or understand wireless applications.

It debuted in September 2001.

Software

For software developers, it is a complete set of APIs that enables software development and applications in C, C++ and Java and is supported (platform) by an ASIC. It has a footprint of about 15900 K. BREW is also known as the pseudo OS and it runs on BREW RTOS.

BREW application development

Software for the BREW-enabled handsets can be developed in C or C++ using the freely downloadable BREW SDK[1]. Java applications are also supported if the handset has a Java Virtual Machine available[2]. For testing applications during the development process, the SDK includes a BREW Emulator, or starting with BREW Version 3.1.5 and above, the BREW Simulator. The BREW environment provides for multiple levels of application signatures. One signature authenticates the developer. Another signature verifies that an application has passed TRUE BREW testing and is bestowed through Qualcomm. The individual telecommunications operators configure the handsets to either enforce or ignore the presence and verification of this second signature. BREW enabled Handsets have a test mode that allows applications to bypass verification of the Qualcomm signature. Qualcomm makes applications that have passed testing available to BREW enabled wireless network operators. The operators are then able to choose which of these applications to make available to end-users on their catalog.

The BREW Emulator (currently called BREW Simulator) does not emulate handset's hardware. Instead, the BREW application is compiled to native code and linked with a compatible BREW runtime library. Because of this, applications cannot be tested for platform bugs related to memory alignment and various firmware related glitches without a BREW handset operating in test mode.

For testing purpose, BREW applications can be transferred using a USB or serial cable to any BREW-compatible handset using BREW AppLoader from Qualcomm. A BREW application contains several components which, if not present and valid, cause the application to be automatically deleted on reboot. This includes the compiled binary file, a file which describes the application, the features it uses and permissions requested, a file which contains string and image resources if required, and a file containing the application digital signature.

BREW Applications may be unloaded from a consumer handset to save handset memory space. This is referred to as "Disable/Restore", and is a requirement of the TRUE BREW Test Cycle. Saved files are kept intact using Disable/Restore, and it is possible to re-load the application without paying for it again. In a "Disable" situation, all .bar, .mod, and .sig files are deleted from the handset, while any other files remain in their original place. During the "Restore" operation, the .bar, .mod, and.sig files are downloaded from the carrier's mobile store, and the previously disabled application will have full functionality remaining. The Disable/Restore process is only available to consumer users once the handset's memory is completely full.

On May 28, 2008, Qualcomm and Adobe announced a partnership to integrate Adobe Flash Lite as a supported user interface on BREW.

Development fees

Since March 2006, the least expensive digital signature package for developers costs 400 USD for 100 application submissions.[3]

Business model implications

Time to market can take longer with BREW than with Java ME because of BREW's rigorous certification requirements. This certification process may be perceived as an advantage by established software developers because the difficulties associated with testing and development costs create a high cost of entry to developers with low budgets and little time, resulting in less market dilution. Specifically, developers of casual games run less risk of having to compete with freeware workalikes developed and self-published by hobbyists. However this comes as a cost to the end-user as there's less competition to develop the best solution for the cheapest price to the end user.

  • After an application is written it takes two weeks per iteration of True BREW testing (each time the application fails the test).
  • Next, negotiations with carrier(s) commence.
  • Then, (if successful) the carrier will spend time retesting the application with their own tests on their network.
  • Finally, rolling out a new version means starting the process over again.

Currently, most developers choose to support both Java ME and BREW, or only Java ME. Java ME may offer a lower cost to market because most carriers allow non-certified Java ME applications to run on their phones. Java ME is widely used in Europe, while BREW is primarily used in the U.S. and Japan. Even in the U.S., Java ME phones have a larger market share than BREW enabled phones. One of the initial advantages of BREW was that Verizon made it easy to purchase applications from the phone, while most Java ME carriers did not. However, most carriers of Java ME phones now offer easy-to-access purchasing portals.

There are now commercial technologies to fully automate porting from Java ME to BREW. This reduces the entry barrier to produce BREW applications by eliminating the need to develop two versions of the same application in both Java and C/C++.

See also

Notes

References

juanpablo