Binary Runtime Environment for Wireless
   HOME

TheInfoList



OR:

Binary Runtime Environment for Wireless (Brew MP, Brew, Qualcomm BREW, or BREW) is an application development platform created by
Qualcomm Qualcomm () is an American multinational corporation headquartered in San Diego, California, and incorporated in Delaware. It creates semiconductors, software, and services related to wireless technology. It owns patents critical to the 5G, ...
, originally for
code division multiple access Code-division multiple access (CDMA) is a channel access method used by various radio communication technologies. CDMA is an example of multiple access, where several transmitters can send information simultaneously over a single communication ...
(CDMA)
mobile phone A mobile phone, cellular phone, cell phone, cellphone, handphone, hand phone or pocket phone, sometimes shortened to simply mobile, cell, or just phone, is a portable telephone that can make and receive calls over a radio frequency link whi ...
s, featuring third-party applications such as
mobile game A mobile game, or smartphone game, is a video game that is typically played on a mobile phone. The term also refers to all games that are played on any portable device, including from mobile phone ( feature phone or smartphone), tablet, PDA to ...
s. It is offered in some
feature phone A feature phone (also spelled featurephone) is a type or class of mobile phone that retains the form factor of earlier generations of mobile telephones, typically with press-button based inputs and a small non-touch display. They tend to use an ...
s (mostly with specifications similar to those of mid to high-end mobile phones) but not in
smartphone A smartphone is a portable computer device that combines mobile telephone and computing functions into one unit. They are distinguished from feature phones by their stronger hardware capabilities and extensive mobile operating systems, whi ...
s. First developed in 1999, as a platform for wireless applications on CDMA-based mobile phones, it debuted in September 2001. As a software platform that can download and run small programs for playing games, sending messages, and sharing photos, the main advantage of Brew MP is that the application developers can easily
port A port is a maritime facility comprising one or more wharves or loading areas, where ships load and discharge cargo and passengers. Although usually situated on a sea coast or estuary, ports can also be found far inland, such as H ...
their applications among all Brew MP devices by providing a standardized set of
application programming interface An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
s. Software for Brew MP enabled handsets can be developed in C or
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
using the freely downloadable Brew MP
software development kit A software development kit (SDK) is a collection of software development tools in one installable package. They facilitate the creation of applications by having a compiler, debugger and sometimes a software framework. They are normally specific ...
(SDK). The BREW
runtime library In computer programming, a runtime library is a set of low-level routines used by a compiler to invoke some of the behaviors of a runtime environment, by inserting calls to the runtime library into compiled executable binary. The runtime enviro ...
is part of the wireless device on-chip
firmware In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide h ...
or
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
to allow programmers to develop applications without needing to code for system interface or understand wireless applications. BREW is described as a pseudo operating system, but not a true
mobile operating system A mobile operating system is an operating system for mobile phones, tablet computer, tablets, smartwatches, smartglasses, or other non-laptop personal computing, personal mobile computing devices. While computers such as typical laptops are "mobi ...
. BREW is not a
virtual machine In computing, a virtual machine (VM) is the virtualization/ emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized h ...
such as
Java ME Java Platform, Micro Edition or Java ME is a computing platform for development and deployment of portable code for embedded and mobile devices (micro-controllers, sensors, gateways, mobile phones, personal digital assistants, TV set-top ...
, but it runs a
native code In computer programming, machine code is any low-level programming language, consisting of machine language instructions, which are used to control a computer's central processing unit (CPU). Each instruction causes the CPU to perform a ver ...
.


Software

For software developers, Brew MP is a full set of
application programming interface An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
s (API) that enables making software and applications in C,
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
,
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
, and is supported (platform) by an
application-specific integrated circuit An application-specific integrated circuit (ASIC ) is an integrated circuit (IC) chip customized for a particular use, rather than intended for general-purpose use, such as a chip designed to run in a digital voice recorder or a high-effici ...
(ASIC). It has a
memory footprint Memory footprint refers to the amount of main memory that a program uses or references while running. The word footprint generally refers to the extent of physical dimensions that an object occupies, giving a sense of its size. In computing, the ...
of about 15,900 KB (15.9 MB). From versions 1.x to 2.x (before 2004), it had a smaller memory footprint of around 60 KB. BREW also features direct hardware access. Versions before Brew MP ran/relied on
REX OS Rex may refer to: * Rex (title) (Latin: king, ruler, monarch), a royal title ** King of Rome (Latin: Rex Romae), chief magistrate of the Roman Kingdom People * Rex (given name), for people with the given name * Rex (surname), for people with ...
(Qualcomm's own RTOS), while Brew MP uses Brew RTOS (another RTOS for advanced feature phones). Rather than using an interpreter-based code, BREW also relied on its own mobile hardware.


Version history


BREW 1.0 / 1.1 (2001–2003)

Debuted in 2001, it was the first actual version of BREW. Originally made for the Kyocera QCP-3035 (which was the earliest BREW-enabled phone commercially available) and Sharp Z-800. It made use of personal digital assistant-level features (usually for some applications and the ability to run BREW applications). However, it lacks advanced multimedia features and support for Java ME that were available in subsequent versions. It was the only version of BREW to support monochrome screens as support for monochrome screens were removed in BREW 2.0. BREW 1.1 was the first version of Brew to run Java ME applications. It was available in some BREW-enabled phones in 2002 and early 2003.


BREW 2.0 / 2.1 (2002–2009)

Released in the mid-2002, it was installed for most of the BREW-enabled phones in late-2002 until late-2009. It includes support for advanced multimedia playbacks (the ability to play video and audio files, as well as support for 3GPP multimedia formats), connectivity for EV-DO and Bluetooth support, as well as screen savers and other improvements. It also supports MIDP 2.0 on BREW 2.1 and it is backwards compatible with BREW 1.x applications. It was installed on most feature phones in the Indonesia, China, and in other countries since 2004 and it is still supported by a few carriers until 2017.


BREW 3.0 / 3.1 (2004–2012)

Released in the mid-2002, it was installed for most of the BREW-enabled phones in late-2004 until early-2012. It was the first version of BREW to have major changes and it has a vast majority of features for mobile phones, such as WiFi connectivity, OpenGL ES 1.0, support for 3G, GPS, QWERTY-based keypads, and support for mobile screens that are higher than 176x220. It is backwards compatible with BREW 2.x applications, but not with BREW 1.x applications. It is also the first version of BREW to support 3D graphics rendering, althrough it only uses software rendering (which also supports JSR 184 for Java ME games). Hardware acceleration is also natively supported via OpenGL ES 1.0 (if a 3D acceleration chip is available). It was installed on most feature phones in the United States and in other countries since 2005 and it is still supported by a few carriers.


BREW 4.0.1 - 4.0.2 (2007–2011)

Released in 2007 until 2011, it was only integrated on very few mobile phones (such as LG enV Touch and the LG Versa). It has only a few improvements and it was later succeeded by Brew MP. It has additional features that are also available in Brew MP, such as accelerometer support and other changes. It is also used for the Zeebo console in Mexico and Brazil.


Brew MP 1.0.1 - 1.0.4 (2009–2021)

Released in 2009, internally known as BREW 5.0, it has new various features (including SVG images support) and certain improvements and it is backwards compatible with BREW 3.x and 4.x applications. It is also the first version of BREW to make certain APIs and legacy files deprecated. It is also the first version of BREW to rely on its own RTOS rather than Qualcomm's own REX OS. The Brew MP developer page was shut down on 23 July 2021 due to inactivity for 8 years ago.


BREW application development

For testing applications during the development process, the SDK includes a BREW
emulator In computing, an emulator is hardware or software that enables one computer system (called the ''host'') to behave like another computer system (called the ''guest''). An emulator typically enables the host system to run software or use pe ...
, or starting with BREW version 1.1 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 Intertek. 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 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. BREW's own signatures is protected by an Electronic Serial Number (ESN) and a Mobile Equipment Identifier (MEID), this means it prevents the unauthorized distribution/sideloading of BREW applications to 3rd-parties rather than carriers. Once the application is downloaded OTA via a BREW-based carrier, the .sig file will automatically generate an electronic serial number to its installed handset. The BREW emulator, named ''BREW Simulator'', does not emulate handset hardware. Instead, the BREW application is compiled to native code and linked with a compatible BREW
runtime library In computer programming, a runtime library is a set of low-level routines used by a compiler to invoke some of the behaviors of a runtime environment, by inserting calls to the runtime library into compiled executable binary. The runtime enviro ...
. 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 purposes, BREW applications can be transferred using a
Universal Serial Bus Universal Serial Bus (USB) is an industry standard that establishes specifications for cables, connectors and protocols for connection, communication and power supply (interfacing) between computers, peripherals and other computers. A broad ...
(USB) or
serial cable A serial cable is a cable used to transfer information between two devices using a serial communication protocol. The form of connectors depends on the particular serial port used. A cable wired for connecting two DTEs directly is known as a nu ...
to any BREW-compatible handset using ''BREW App Loader'' 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 that contains string and image resources if required, and a file containing the application's 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 Process. 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 full. On May 28, 2008, Qualcomm and Adobe announced a partnership to integrate
Adobe Flash Lite Adobe Flash Lite (formerly Macromedia Flash Lite) was a lightweight version of Adobe Flash Player, a software application published by Adobe Systems for viewing Flash content. Flash Lite operates on devices that Flash Player cannot, such as mobi ...
as a supported user interface on BREW. Since March 2006, the least expensive digital signature package for developers costs US$400 for 100 application submissions.


Business model implications/availability

Strictly speaking, time to market can take longer with BREW than with Java ME because of Qualcomm 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 game A casual game is a video game targeted at a mass market audience, as opposed to a hardcore game, which is targeted at hobbyist gamers. Casual games may exhibit any type of gameplay and genre. They generally involve simpler rules, shorter sessio ...
s run less risk of having to compete with
freeware Freeware is software, most often proprietary, that is distributed at no monetary cost to the end user. There is no agreed-upon set of rights, license, or EULA that defines ''freeware'' unambiguously; every publisher defines its own rules for the ...
workalikes developed and self-published by hobbyists. However this comes as a cost to the end-user as there is less competition to develop the best solution at the lowest 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.


Differences between Java ME and BREW

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 phones have a larger market share than BREW enabled handsets. Java ME is widely used in Europe, while BREW is primarily used in the U.S. and Japan. Even in the U.S. 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. Owing to its different APIs, Java ME relies on Java's virtual machine (interpreter-based code), which is technically slower than BREW, which uses native C/C++ plus and direct hardware access (especially for games). Java ME has limited subset of APIs (both for applications and games). However, 3rd-party APIs and implementations (such as
MascotCapsule
' by HI CORPORATION. (3D rendering API) and ''DoJa''/''Star'' by NTT Docomo) are available, but not popular and successful outside Japan (particularly device adoption). BREW (on the other hand), relies on its own APIs and direct hardware access. Performance for Java ME applications and games are slow than BREW. For 3D games, Java ME uses JSR 184 (M3G), which 3D games that are developed on Java ME are slower (which results in 10 frames per second on some/most handsets) and have limited graphics, while BREW uses either software rendering (if the BREW handset does not have a 3D acceleration chip) or OpenGL ES (which it can take advantage of its performance). Unlike the Java ME, when the BREW application crashes, the phone will cause reboot due to BREW can't handle and recover while the application crashes, it creates "$SYS.EXCEPT_(4-Digit Number)" into the "except" folder on the root of directory, then the phone will automatically reboot by itself, when the Java ME application crashes under BREW, Java ME will handle correctly and recover them from phone rebooting by itself. Some/few handset manufacturers do not allow to integrate Java ME's virtual machine on a few of their phones. 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++.


System failure

System failure in BREW is caused by the components are stopped working properly, a file required for a BREW application is missing, application crash, or some other errors. It creates the "$SYS.EXCEPT_XXXX" file inside the "except" folder on the root of directory. BREW's system failure has 2 variants, the component error and the reboot of death.


Component error (example.c XXXXX)

Component error is an error that will display a black, white, or blue screen with an error text for about 5 seconds if a component stopped working properly, then the phone will reboot by itself. This error may vary depending on your activity, for example: * fs_dir.c (file system error) * mdsptask.c (task error) * oemheap3x.c (heap violation) * memory.c (memory corruption) * nvm.c (NVM check violation) * srch_mdsp.c (index error) * callheap.c (call error) Rarity of this variant to occur are very rare, as reboot of death is more common. Here's the example of this activities to trigger this variant: * Undervolting the phone while it's running, it will cause memory corruption (usually if the battery is near flat, on modern devices, undervoltage protection was added) (e.g. LG VX10, LG VX4400, and LG PM225) * The phone is at a defective condition. Usually if this happened, the phone will trigger the reboot of death instead of displaying a component error. * "brew", "nvm", or ".efs_private" folder is removed. (fs_dir.c or nvm.c)


Reboot of death

Reboot of death is an error that will reboot the phone by itself instead of displaying a black, white, or blue screen with a text. The rarity of this variant to occur are much more common. Here's the example of this activities to trigger this variant: * Crashing an application. * Removing the R-UIM card. * The phone is at defective condition. * Incorrectly entering an SP code. * Application that requires files are missing. * Running the exception test on engineering mode.


Device usage and carrier availability

Qualcomm BREW is used by some mobile phone manufacturers and mobile networks, however most often the end-user does not know this since mobile phones running BREW most often lack any Qualcomm BREW branding and BREW runs in the background with the custom "skins" of the mobile phone manufacturer or operator on-top. Qualcomm BREW is used by
Sprint Nextel Sprint Corporation was an American telecommunications company. Before it Merger of Sprint Corporation and T-Mobile US, merged with T-Mobile US on April 1, 2020, it was the fourth-largest mobile network operator in the United States, serving 54.3 ...
,
metroPCS Metro by T-Mobile (formerly known as MetroPCS and also known simply as Metro) is an American prepaid wireless service provider and brand owned by T-Mobile US. It previously operated the fifth largest mobile telecommunications network in the U ...
,
U.S. Cellular United States Cellular Corporation (doing business as UScellular) is an American mobile network operator. It is a subsidiary of Telephone and Data Systems Inc. (which owns an 84% stake). The company was formed in 1983 and is headquartered in ...
,
Verizon Verizon Communications Inc., commonly known as Verizon, is an American multinational telecommunications conglomerate and a corporate component of the Dow Jones Industrial Average. The company is headquartered at 1095 Avenue of the Americas ...
, Syringa Wireless,
Cricket Wireless Cricket Wireless is an American prepaid wireless service provider, owned by AT&T. It provides wireless services to ten million subscribers in the United States. Cricket Wireless was founded in March 1999 by Leap Wireless International. AT&T ac ...
, and AT&T (in the HTC Freestyle) in the US,
KDDI () is a Japanese telecommunications operator formed on October 1, 2000 through the merger of DDI Corp. (Daini-Denden Inc.), KDD (Kokusai Denshin Denwa) Corp. (itself a former listed state-owned enterprise privatized in 1998), and IDO Corp. It ...
in Japan, KT and
SK Telecom SK Telecom Co., Ltd. ( or ) is a South Korean wireless telecommunications operator and former film distributor and is part of the SK Group, one of the country's largest chaebols. It leads the local market with 50.5 percent share as of 2008. ...
in South Korea,
China Telecom China Telecom Corp., Ltd. is a Chinese telecommunications company. It is one of the red chip listed companies of state-owned China Telecommunications Corporation. Its H shares have been traded on the Stock Exchange of Hong Kong since 15 Nove ...
in
China China, officially the People's Republic of China (PRC), is a country in East Asia. It is the world's List of countries and dependencies by population, most populous country, with a Population of China, population exceeding 1.4 billion, slig ...
,
MOVILNET CANTV () is the state-run telephone and internet service provider in Venezuela. It was one of the first telephone service enterprises in the country, founded in 1930. The largest telecommunications provider in Venezuela, it was privatized in 19 ...
and BellSouth Chile in
Latin America Latin America or * french: Amérique Latine, link=no * ht, Amerik Latin, link=no * pt, América Latina, link=no, name=a, sometimes referred to as LatAm is a large cultural region in the Americas where Romance languages — languages derived ...
, Sistema Shyam (now MTS) in
India India, officially the Republic of India (Hindi: ), is a country in South Asia. It is the List of countries and dependencies by area, seventh-largest country by area, the List of countries and dependencies by population, second-most populous ...
, and by the 3 network in much of
Europe Europe is a large peninsula conventionally considered a continent in its own right because of its great physical size and the weight of its history and traditions. Europe is also considered a Continent#Subcontinents, subcontinent of Eurasia ...
, the UK and
Australia Australia, officially the Commonwealth of Australia, is a sovereign country comprising the mainland of the Australian continent, the island of Tasmania, and numerous smaller islands. With an area of , Australia is the largest country by ...
on many mobile phones produced especially for their network. Because BREW is only offered to mobile networks that operates in CDMA, other countries (with the exception of parts of
Europe Europe is a large peninsula conventionally considered a continent in its own right because of its great physical size and the weight of its history and traditions. Europe is also considered a Continent#Subcontinents, subcontinent of Eurasia ...
, the UK and
Australia Australia, officially the Commonwealth of Australia, is a sovereign country comprising the mainland of the Australian continent, the island of Tasmania, and numerous smaller islands. With an area of , Australia is the largest country by ...
via the 3 network, India, Japan and China) do not have BREW, because they do not have CDMA networks. Manufacturers such as
Huawei Huawei Technologies Co., Ltd. ( ; ) is a Chinese multinational technology corporation headquartered in Shenzhen, Guangdong, China. It designs, develops, produces and sells telecommunications equipment, consumer electronics and various sma ...
, INQ Mobile,
Amoi Amoi Technology Co., Ltd. () is a Chinese electronics company based in Xiamen, Fujian. It is a mobile service provider which integrates manufacturing, research and development, and sales of mobile communication devices. History Amoi was establi ...
, LG,
Samsung Mobile Samsung Mobile Division is one of five divisions within Samsung Electronics, belonging to the Samsung Group, and consists of the Mobile Communications Division, Telecommunication Systems Division, Computer Division, MP3 Business Team, Mobile So ...
,
ZTE ZTE Corporation is a Chinese partially state-owned technology company that specializes in telecommunication. Founded in 1985, ZTE is listed on both the Hong Kong and Shenzhen Stock Exchanges. ZTE's core business is wireless, exchange, op ...
, and
HTC HTC Corporation ( zh, t=宏達國際電子股份有限公司, s=宏达国际电子股份有限公司, p=Hóngdá Guójì Diànzǐ Gǔfèn Yǒuxiàn Gōngsī, first=t) or High Tech Computer Corporation, (literally ''Hongda International Electron ...
amongst others use Qualcomm BREW in some of their mobile phones and it is featured in 3 UK phones such as the
3 Skypephone The 3 Skypephone (also known as the 3 Skypephone S1) is a UMTS, GSM and VoIP mobile phone. The phone is a joint product by Hutchison 3G and Skype. The 3 Skypephone S1 was the first in the 3 Skypephone Series to launch . It was widely acknowledged ...
, INQ1, ZTE Z431, LG T385 and Huawei u7510 (3 Touch). Tectoy's
Zeebo The Zeebo is a 3G-enabled entertainment and education system from Zeebo Inc. It enabled users to play video games, and also connect to the Internet, communicate online and run educational applications. The Zeebo was targeted at developing ma ...
is the only game console to use BREW. Motorola's own T720 as well as the RAZR V3m also use Qualcomm BREW.


See also

*
Java ME Java Platform, Micro Edition or Java ME is a computing platform for development and deployment of portable code for embedded and mobile devices (micro-controllers, sensors, gateways, mobile phones, personal digital assistants, TV set-top ...
- BREW's competitor. *
Mobile application development Mobile app development is the act or process by which a mobile app is developed for mobile devices, such as personal digital assistants, enterprise digital assistants or mobile phones. These software applications are designed to run on mob ...
— How BREW stacks up against the alternatives on mobile platforms. *
Platform (computing) A computing platform or digital platform is an environment in which a piece of software is executed. It may be the hardware or the operating system (OS), even a web browser and associated application programming interfaces, or other underlying so ...
* Remo Sync *
Smartphone A smartphone is a portable computer device that combines mobile telephone and computing functions into one unit. They are distinguished from feature phones by their stronger hardware capabilities and extensive mobile operating systems, whi ...


References


External links

*
In-depth discussion of BREW and other mobile platforms from European market perspective

Adobe Flash Lite for BREW Datasheet (.pdf)

cxBrewUnit - BREW Unit Test Framework Harness for C/C++ Unit Test.
{{DEFAULTSORT:Brew Mp Mobile software Qualcomm software