Adobe and ARM today announced that they are joining forces to bring Adobe Flash Player 10 and Adobe AIR to ARM powered devices in a move that Adobe hopes will lower power consumption for mobile devices running Flash and AIR content, and make it easier for users to play video on a variety of devices.
The joint technology will target the ARMv6 and ARMv7 architectures used in ARM11 processors as well as the upcoming Cortex-A series processors.
ARM believes that the resulting technology will run on "billions of devices from our partners, such as pocket-sized mobile devices, mobile computing platforms, set-top boxes, digital TVs and automotive infotainment," said vice president of marketing, Ian Drew in the statement. "The combination of Adobe Flash and ARM's low-power processor IP and Mali GPU will ensure a fantastic Internet experience for consumers on the world's leading 32-bit architecture."
Getting Flash on mobiles in an efficient manner has been a goal of Adobe for some time. The majority of mobile phones that can use Flash at the moment use Flash Lite, the cut down version of the technology, and one that is limited in what it can play.
Although the technology is not expected to be available until the second half of 2009, Adobe will demonstrate Flash Player 10 during the Adobe MAX developer conference this week in San Francisco.
Android supports a stretchable bitmap image, called a NinePatch graphic. This is a PNG image in which you define stretchable sections that Android will resize to fit the object at display time to accommodate variable sized sections, such as text strings. You typically assign this resource to the View's background. An example use of a stretchable image is the button backgrounds that Android uses; buttons must stretch to accommodate strings of various lengths.
A NinePatch drawing is a standard PNG image that includes a 1 pixel wide border. This border is used to define the stretchable and static areas of the screen. You indicate a stretchable section by drawing one or more 1 pixel wide black lines in the left or top part of this border. You can have as many stretchable sections as you want. The relative size of the stretchable sections stays the same, so the largest sections always remain the largest.
You can also define an optional drawable section of the image (effectively, the padding lines) by drawing a line on the right and bottom lines. If you do not draw these lines, the first top and left lines will be used.
If a View object sets this graphic as a background and then specifies the View object's text, it will stretch itself so that all the text fits inside the area designated by the right and bottom lines (if included). If the padding lines are not included, Android uses the left and top lines to define the writeable area.
The Draw 9-patch tool offers an extremely handy way to create your NinePatch images, using a WYSIWYG graphics editor.
Here is a sample NinePatch file used to define a button.
This ninepatch uses one single stretchable area, and it also defines a drawable area.
Source file format: PNG — one resource per file
Resource source file location: res/drawable/some_name.9.png (must end in .9.png)
Compiled resource datatype: Resource pointer to a NinePatchDrawable.
Numerous previous reports have pointed to the inclusion of 3G data for T-Mobile's network, GPS and Wi-Fi as well as microSD for flash storage. The carrier is believed to be pricing the G1 at an iPhone level and with new data plans to encourage added data use.