Memory Analysis for Android Applications

admin

The Dalvik runtime may be garbage-collected, but that doesn't mean you can ignore memory management. You should be especially mindful of memory usage on mobile devices, where memory is more constrained. In this article, we're going to take a look at some of the memory profiling tools in the Android SDK that can help you trim your application's memory usage.
Some memory usage problems are obvious. For example, if your app leaks memory every time the user touches the screen, it will probably trigger an OutOfMemoryError eventually and crash your app. Other problems are more subtle, and may just degrade the performance of both your app (as garbage collections are more frequent and take longer) and the entire system.

Tools of the trade

The Android SDK provides two main ways of profiling the memory usage of an app: the Allocation Tracker tab in DDMS, and heap dumps. The Allocation Tracker is useful when you want to get a sense of what kinds of allocation are happening over a given time period, but it doesn't give you any information about the overall state of your application's heap. For more information about the Allocation Tracker, see the article on Tracking Memory Allocations. The rest of this article will focus on heap dumps, which are a more powerful memory analysis tool.
A heap dump is a snapshot of an application's heap, which is stored in a binary format called HPROF. Dalvik uses a format that is similar, but not identical, to the HPROF tool in Java. There are a few ways to generate a heap dump of a running Android app. One way is to use the Dump HPROF file button in DDMS. If you need to be more precise about when the dump is created, you can also create a heap dump programmatically by using the android.os.Debug.dumpHprofData() function.
To analyze a heap dump, you can use a standard tool like jhat or the Eclipse Memory Analyzer (MAT). However, first you'll need to convert the .hprof file from the Dalvik format to the J2SE HPROF format. You can do this using the hprof-conv tool provided in the Android SDK. For example:
hprof-conv dump.hprof converted-dump.hprof

Example: Debugging a memory leak

In the Dalvik runtime, the programmer doesn't explicitly allocate and free memory, so you can't really leak memory like you can in languages like C and C++. A "memory leak" in your code is when you keep a reference to an object that is no longer needed. Sometimes a single reference can prevent a large set of objects from being garbage collected.
Let's walk through an example using the Honeycomb Gallery sample app from the Android SDK. It's a simple photo gallery application that demonstrates how to use some of the new Honeycomb APIs. (To build and download the sample code, see the instructions.) We're going to deliberately add a memory leak to this app in order to demonstrate how it could be debugged.

Imagine that we want to modify this app to pull images from the network. In order to make it more responsive, we might decide to implement a cache which holds recently-viewed images. We can do that by making a few small changes to ContentFragment.java. At the top of the class, let's add a new static variable:
private static HashMap<String,Bitmap> sBitmapCache = new HashMap<String,Bitmap>();
This is where we'll cache the Bitmaps that we load. Now we can change the updateContentAndRecycleBitmap() method to check the cache before loading, and to add Bitmaps to the cache after they're loaded.
void updateContentAndRecycleBitmap(int category, int position) {
if (mCurrentActionMode != null) {
mCurrentActionMode.finish();
}

// Get the bitmap that needs to be drawn and update the ImageView.

// Check if the Bitmap is already in the cache
String bitmapId = "" + category + "." + position;
mBitmap = sBitmapCache.get(bitmapId);

if (mBitmap == null) {
// It's not in the cache, so load the Bitmap and add it to the cache.
// DANGER! We add items to this cache without ever removing any.
mBitmap = Directory.getCategory(category).getEntry(position)
.getBitmap(getResources());
sBitmapCache.put(bitmapId, mBitmap);
}
((ImageView) getView().findViewById(R.id.image)).setImageBitmap(mBitmap);
}
I've deliberately introduced a memory leak here: we add Bitmaps to the cache without ever removing them. In a real app, we'd probably want to limit the size of the cache in some way.

Examining heap usage in DDMS

The Dalvik Debug Monitor Server (DDMS) is one of the primary Android debugging tools. DDMS is part of the ADT Eclipse plug-in, and a standalone version can also be found in the tools/ directory of the Android SDK. For more information on DDMS, see Using DDMS.
Let's use DDMS to examine the heap usage of this app. You can start up DDMS in one of two ways:
  • from Eclipse: click Window > Open Perspective > Other... > DDMS
  • or from the command line: run ddms (or ./ddms on Mac/Linux) in the tools/ directory

Select the process com.example.android.hcgallery in the left pane, and then click the Show heap updates button in the toolbar. Then, switch to the VM Heap tab in DDMS. It shows some basic stats about our heap memory usage, updated after every GC. To see the first update, click the Cause GC button.

We can see that our live set (the Allocated column) is a little over 8MB. Now flip through the photos, and watch that number go up. Since there are only 13 photos in this app, the amount of memory we leak is bounded. In some ways, this is the worst kind of leak to have, because we never get an OutOfMemoryError indicating that we are leaking.

Creating a heap dump

Let's use a heap dump to track down the problem. Click the Dump HPROF file button in the DDMS toolbar, choose where you want to save the file, and then run hprof-conv on it. In this example, I'll be using the standalone version of MAT (version 1.0.1), available from the MAT download site.
If you're running ADT (which includes a plug-in version of DDMS) and have MAT installed in Eclipse as well, clicking the “dump HPROF” button will automatically do the conversion (using hprof-conv) and open the converted hprof file into Eclipse (which will be opened by MAT).

Analyzing heap dumps using MAT

Start up MAT and load the converted HPROF file we just created. MAT is a powerful tool, and it's beyond the scope of this article to explain all it's features, so I'm just going to show you one way you can use it to detect a leak: the Histogram view. The Histogram view shows a list of classes sortable by the number of instances, the shallow heap (total amount of memory used by all instances), or the retained heap (total amount of memory kept alive by all instances, including other objects that they have references to).

If we sort by shallow heap, we can see that instances of byte[] are at the top. As of Android 3.0 (Honeycomb), the pixel data for Bitmap objects is stored in byte arrays (previously it was not stored in the Dalvik heap), and based on the size of these objects, it's a safe bet that they are the backing memory for our leaked bitmaps.
Right-click on the byte[] class and select List Objects > with incoming references. This produces a list of all byte arrays in the heap, which we can sort based on Shallow Heap usage.
Pick one of the big objects, and drill down on it. This will show you the path from the root set to the object -- the chain of references that keeps this object alive. Lo and behold, there's our bitmap cache!

MAT can't tell us for sure that this is a leak, because it doesn't know whether these objects are needed or not -- only the programmer can do that. In this case, the cache is using a large amount of memory relative to the rest of the application, so we might consider limiting the size of the cache.

Comparing heap dumps with MAT

When debugging memory leaks, sometimes it's useful to compare the heap state at two different points in time. To do this, you'll need to create two separate HPROF files (don't forget to convert them using hprof-conv).
Here's how you can compare two heap dumps in MAT (it's a little complicated):
  1. Open the first HPROF file (using File > Open Heap Dump).
  2. Open the Histogram view.
  3. In the Navigation History view (use Window > Navigation History if it's not visible), right click on histogram and select Add to Compare Basket.
  4. Open the second HPROF file and repeat steps 2 and 3.
  5. Switch to the Compare Basket view, and click Compare the Results (the red "!" icon in the top right corner of the view).

Conclusion

In this article, I've shown how the Allocation Tracker and heap dumps can give you get a better sense of your application's memory usage. I also showed how The Eclipse Memory Analyzer (MAT) can help you track down memory leaks in your app. MAT is a powerful tool, and I've only scratched the surface of what you can do with it. If you'd like to learn more, I recommend reading some of these articles:
  • Memory Analyzer News: The official blog of the Eclipse MAT project
  • Markus Kohler's Java Performance blog has many helpful articles, including Analysing the Memory Usage of Android Applications with the Eclipse Memory Analyzer and 10 Useful Tips for the Eclipse Memory Analyzer.

In-app Billing Launched on Android Market

admin

Today, we're pleased to announce the launch of Android Market In-app Billing to developers and users. As an Android developer, you will now be able to publish apps that use In-app Billing and your users can make purchases from within your apps.
In-app Billing gives you more ways to monetize your apps with try-and-buy, virtual goods, upgrades, and other billing models. If you aren’t yet familiar with In-app Billing, we encourage you to learn more about it.
Several apps launching today are already using the service, including Tap Tap Revenge by Disney Mobile; Comics by ComiXology; Gun Bros, Deer Hunter Challenge HD, and WSOP3 by Glu Mobile; and Dungeon Defenders: FW Deluxe by Trendy Entertainment.

To try In-app Billing in your apps, start with the detailed documentation and complete sample app provided, which show how to implement the service in your app, set up in-app product lists in Android Market, and test your implementation. Also, it’s absolutely essential that you review the security guidelines to make sure your billing implementation is secure.
We look forward to seeing how you’ll use this new service in your apps!

In-App Billing on Android Market

admin

Back in January we announced our plan to introduce Android Market In-app Billing this quarter. We're pleased to let you know that we will be launching In-app Billing next week.
In preparation for the launch, we are opening up Android Market for upload and end-to-end testing of your apps that use In-app Billing. You can now upload your apps to the Developer Console, create a catalog of in-app products, and set prices for them. You can then set up accounts to test in-app purchases. During these test transactions, the In-app Billing service interacts with your app exactly as it will for actual users and live transactions.
Note that although you can upload apps during this test development phase, you won’t be able to actually publish the apps to users until the full launch of the service next week.


To get you started, we’ve updated the developer documentation with information about how to set up product lists and test your in-app products. Also, it is absolutely essential that you review the security guidelines to make sure your billing implementation is secure.
We encourage you start uploading and testing your apps right away.

The IO Ticket Contest

admin

When Google I/O sold out so fast, were kicking around ideas for how to get some of our ticket reserve into the hands of our favorite people: Dedicated developers. Someone floated the idea of a contest, so we had to pull one together double-quick. You can read the questions and first-round answers here.
We thought you would enjoy some statistics, mostly rounded-off:

  • 2,800 people visited the contest page.
  • 360 people tried answering the questions.
  • 1 person got all six right.
  • 200 people did well enough to get into Round 2.
  • 70 people submitted apps.
  • 38 of the apps worked well enough to be worth considering.
  • 10 apps (exactly) got a “Nice” rating from the first-cut reviewer.
While we’re doing numbers, let’s investigate which of the Round-1 questions were hard. In decreasing order of difficulty, identified by correct answer, we find: Dalvik (97.5% correct), 160 (96%), Looper (58.5%), LLVM (57%), fyiWillBeAdvancedByHostKThx (43%), and PhoneNumberFormattingTextWatcher (19.5%).
So, our thanks to the people who put in the work, and a particular tip of the hat to the deranged hackers er I mean creative developers who built three particularly-outstanding apps:
First, to Kris Jurgowski, who pulled an all-nighter and wrote a nifty little app... on a Motorola CLIQ running Android 1.5! Next, to Heliodor Jalba, whose app had some gravity-warping extras and was less than 11K in size. And finally, to Charles Vaughn, whose app included a hilarious “Party Mode” that brought a smile to everyone’s face.

Identifying App Installations

admin

In the Android group, from time to time we hear complaints from developers about problems they’re having coming up with reliable, stable, unique device identifiers. This worries us, because we think that tracking such identifiers isn’t a good idea, and that there are better ways to achieve developers’ goals.

Tracking Installations

It is very common, and perfectly reasonable, for a developer to want to track individual installations of their apps. It sounds plausible just to call TelephonyManager.getDeviceId() and use that value to identify the installation. There are problems with this: First, it doesn’t work reliably (see below). Second, when it does work, that value survives device wipes (“Factory resets”) and thus you could end up making a nasty mistake when one of your customers wipes their device and passes it on to another person.
To track installations, you could for example use a UUID as an identifier, and simply create a new one the first time an app runs after installation. Here is a sketch of a class named “Installation” with one static method Installation.id(Context context). You could imagine writing more installation-specific data into the INSTALLATION file.
public class Installation {
private static String sID = null;
private static final String INSTALLATION = "INSTALLATION";

public synchronized static String id(Context context) {
if (sID == null) {  
File installation = new File(context.getFilesDir(), INSTALLATION);
try {
if (!installation.exists())
writeInstallationFile(installation);
sID = readInstallationFile(installation);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
return sID;
}

private static String readInstallationFile(File installation) throws IOException {
RandomAccessFile f = new RandomAccessFile(installation, "r");
byte[] bytes = new byte[(int) f.length()];
f.readFully(bytes);
f.close();
return new String(bytes);
}

private static void writeInstallationFile(File installation) throws IOException {
FileOutputStream out = new FileOutputStream(installation);
String id = UUID.randomUUID().toString();
out.write(id.getBytes());
out.close();
}
}

Identifying Devices

Suppose you feel that for the needs of your application, you need an actual hardware device identifier. This turns out to be a tricky problem.
In the past, when every Android device was a phone, things were simpler: TelephonyManager.getDeviceId() is required to return (depending on the network technology) the IMEI, MEID, or ESN of the phone, which is unique to that piece of hardware.
However, there are problems with this approach:
  • Non-phones: Wifi-only devices or music players that don’t have telephony hardware just don’t have this kind of unique identifier.
  • Persistence: On devices which do have this, it persists across device data wipes and factory resets. It’s not clear at all if, in this situation, your app should regard this as the same device.
  • Privilege:It requires READ_PHONE_STATE permission, which is irritating if you don’t otherwise use or need telephony.
  • Bugs: We have seen a few instances of production phones for which the implementation is buggy and returns garbage, for example zeros or asterisks.

Mac Address

It may be possible to retrieve a Mac address from a device’s WiFi or Bluetooth hardware. We do not recommend using this as a unique identifier. To start with, not all devices have WiFi. Also, if the WiFi is not turned on, the hardware may not report the Mac address.

Serial Number

Since Android 2.3 (“Gingerbread”) this is available via android.os.Build.SERIAL. Devices without telephony are required to report a unique device ID here; some phones may do so also.

ANDROID_ID

More specifically, Settings.Secure.ANDROID_ID. This is a 64-bit quantity that is generated and stored when the device first boots. It is reset when the device is wiped.
ANDROID_ID seems a good choice for a unique device identifier. There are downsides: First, it is not 100% reliable on releases of Android prior to 2.2 (“Froyo”). Also, there has been at least one widely-observed bug in a popular handset from a major manufacturer, where every instance has the same ANDROID_ID.

Conclusion

For the vast majority of applications, the requirement is to identify a particular installation, not a physical device. Fortunately, doing so is straightforward.
There are many good reasons for avoiding the attempt to identify a particular device. For those who want to try, the best approach is probably the use of ANDROID_ID on anything reasonably modern, with some fallback heuristics for legacy devices.

I think I’m having a Gene Amdahl moment

admin

Recently, there’s been a lot of misinformation in the press about Android and Google’s role in supporting the ecosystem. I’m writing in the spirit of transparency and in an attempt to set the record straight. The Android community has grown tremendously since the launch of the first Android device in October 2008, but throughout we’ve remained committed to fostering the development of an open platform for the mobile industry and beyond.
We don’t believe in a “one size fits all” solution. The Android platform has already spurred the development of hundreds of different types of devices – many of which were not originally contemplated when the platform was first created. What amazes me is that even though the quantity and breadth of Android products being built has grown tremendously, it’s clear that quality and consistency continue to be top priorities. Miraculously, we are seeing the platform take on new use cases, features and form factors as it’s being introduced in new categories and regions while still remaining consistent and compatible for third party applications.
As always, device makers are free to modify Android to customize any range of features for Android devices. This enables device makers to support the unique and differentiating functionality of their products. If someone wishes to market a device as Android-compatible or include Google applications on the device, we do require the device to conform with some basic compatibility requirements. (After all, it would not be realistic to expect Google applications – or any applications for that matter – to operate flawlessly across incompatible devices). Our “anti-fragmentation” program has been in place since Android 1.0 and remains a priority for us to provide a great user experience for consumers and a consistent platform for developers. In fact, all of the founding members of the Open Handset Alliance agreed not to fragment Android when we first announced it in 2007. Our approach remains unchanged: there are no lock-downs or restrictions against customizing UIs. There are not, and never have been, any efforts to standardize the platform on any single chipset architecture.
Finally, we continue to be an open source platform and will continue releasing source code when it is ready. As I write this the Android team is still hard at work to bring all the new Honeycomb features to phones. As soon as this work is completed, we’ll publish the code. This temporary delay does not represent a change in strategy. We remain firmly committed to providing Android as an open source platform across many device types.
The volume and variety of Android devices in the market continues to exceed even our most optimistic expectations. We will continue to work toward an open and healthy ecosystem because we truly believe this is best for the industry and best for consumers.

Android Open Accessories 2011

admin



Android’s USB port has in the past been curiously inaccessible to programmers. Last week at Google I/O we announced the Android Open Accessory APIs for Android. These APIs allow USB accessories to connect to Android devices running Android 3.1 or Android 2.3.4 without special licensing or fees. The new “accessory mode” does not require the Android device to support USB Host mode. This post will concentrate on accessory mode, but we also announced USB Host mode APIs for devices with hardware capable of supporting it.
To understand why having a USB port is not sufficient to support accessories let’s quickly look at how USB works. USB is an asymmetric protocol in that one participant acts as a USB Host and all other participants are USB Devices. In the PC world, a laptop or desktop acts as Host and your printer, mouse, webcam, etc., is the USB Device. The USB Host has two important tasks. The first is to be the bus master and control which device sends data at what times. The second key task is to provide power, since USB is a powered bus.
The problem with supporting accessories on Android in the traditional way is that relatively few devices support Host mode. Android’s answer is to turn the normal USB relationship on its head. In accessory mode the Android phone or tablet acts as the USB Device and the accessory acts as the USB Host. This means that the accessory is the bus master and provides power.

Establishing the Connection

Building an Open Accessory is simple as long as you include a USB host and can provide power to the Android device. The accessory needs to implement a simple handshake to establish a bi-directional connection with an app running on the Android device.
The handshake starts when the accessory detects that a device has been connected to it. The Android device will identify itself with the VID/PID that is appropriate based on the manufacturer and model of the device. The accessory then sends a control transaction to the Android device asking if it supports accessory mode.
Once the accessory confirms the Android device supports accessory mode, it sends a series of strings to the Android device using control transactions. These strings allow the Android device to identify compatible applications as well as provide a URL that Android will use if a suitable app is not found. Next the accessory sends a control transaction to the Android device telling it to enter accessory mode.
The Android device then drops off the bus and reappears with a new VID/PID combination. The new VID/PID corresponds to a device in accessory mode, which is Google’s VID 0x18D1, and PID 0x2D01 or 0x2D00. Once an appropriate application is started on the Android side, the accessory can now communicate with it using the first Bulk IN and Bulk OUT endpoints.
The protocol is easy to implement on your accessory. If you’re using the ADK or other USB Host Shield compatible Arduino you can use the AndroidAccessory library to implement the protocol. The ADK is one easy way to get started with accessory mode, but any accessory that has the required hardware and speaks the protocol described here and laid out in detail in the documentation can function as an Android Open Accessory.

Communicating with the Accessory

After the low-level USB connection is negotiated between the Android device and the accessory, control is handed over to an Android application. Any Android application can register to handle communication with any USB accessory. Here is how that would be declared in your AndroidManifest.xml:
<activity android:name=".UsbAccessoryActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
</intent-filter>

<meta-data android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED"
android:resource="@xml/accessory_filter" />
</activity>
Here's how you define the accessories the Activity supports:
<resources>
<usb-accessory manufacturer="Acme, Inc" model="Whiz Banger" version="7.0" />
</resources>
The Android system signals that an accessory is available by issuing an Intent and then the user is presented with a dialog asking what application should be opened. The accessory-mode protocol allows the accessory to specify a URL to present to the user if no application is found which knows how communicate with it. This URL could point to an application in Android Market designed for use with the accessory.
After the application opens it uses the Android Open Accessory APIs in the SDK to communicate with the accessory. This allows the opening of a single FileInputStream and single FileOutputStream to send and receive arbitrary data. The protocol that the application and accessory use is then up to them to define.
Here’s some basic example code you could use to open streams connected to the accessory:
public class UsbAccessoryActivity extends Activity {
private FileInputStream mInput;
private FileOutputStream mOutput;

private void openAccessory() {
UsbManager manager = UsbManager.getInstance(this);
UsbAccessory accessory = UsbManager.getAccessory(getIntent());

ParcelFileDescriptor fd = manager.openAccessory(accessory);

if (fd != null) {
mInput = new FileInputStream(fd);
mOutput = new FileOutputStream(fd);
} else {
// Oh noes, the accessory didn’t open!
}
}
}

Future Directions

There are a few ideas we have for the future. One issue we would like to address is the “power problem”. It’s a bit odd for something like a pedometer to provide power to your Nexus S while it’s downloading today’s walking data. We’re investigating ways that we could have the USB Host provide just the bus mastering capabilities, but not power. Storing and listening to music on a phone seems like a popular thing to do so naturally we’d like to support audio over USB. Finally, figuring out a way for phones to support common input devices would allow for users to be more productive. All of these features are exciting and we hope will be supported by a future version of Android.
Accessory mode opens up Android to a world of new possibilities filled with lots of new friends to talk to. We can’t wait to see what people come up with. The docs and samples are online; have at it!

Android 3.1 Platform, New SDK tools

admin

As we announced at Google I/O, today we are releasing version 3.1 of the Android platform. Android 3.1 is an incremental release that builds on the tablet-optimized UI and features introduced in Android 3.0. It adds several new features for users and developers, including:

  • Open Accessory API. This new API provides a way for Android applications to integrate and interact with a wide range of accessories such as musical equipment, exercise equipment, robotics systems, and many others.
  • USB host API. On devices that support USB host mode, applications can now manage connected USB peripherals such as audio devices. input devices, communications devices, and more.
  • Input from mice, joysticks, and gamepads. Android 3.1 extends the input event system to support a variety of new input sources and motion events such as from mice, trackballs, joysticks, gamepads, and others.
  • Resizable Home screen widgets. Developers can now create Home screen widgets that are resizeable horizontally, vertically, or both.
  • Media Transfer Protocol (MTP) Applications can now receive notifications when external cameras are attached and removed, manage files and storage on those devices, and transfer files and metadata to and from them.
  • Real-time Transport Protocol (RTP) API for audio. Developers can directly manage on-demand or interactive data streaming to enable VOIP, push-to-talk, conferencing, and audio streaming.
For a complete overview of what’s new in the platform, see the Android 3.1 Platform Highlights.
To make the Open Accessory API available to a wide variety of devices, we have backported it to Android 2.3.4 as an optional library. Nexus S is the first device to offer support for this feature. For developers, the 2.3.4 version of the Open Accessory API is available in the updated Google APIs Add-On.
Alongside the new platforms, we are releasing an update to the SDK Tools (r11).
Visit the Android Developers site for more information about Android 3.1, Android 2.3.4, and the updated SDK tools. To get started developing or testing on the new platforms, you can download them into your SDK using the Android SDK Manager.

ADK at Maker Faire

admin

This weekend is Maker Faire, and Google is all over it.
Following up on yesterday’s ADK post, we should take this opportunity to note that the Faire has chased a lot of ADK-related activity out of the woodwork. The level of traction is pretty surprising giving that this stuff only decloaked last week.

Convenience Library

First, there’s a new open-source project called Easy Peripheral Controller. This is a bunch of convenience/abstraction code; its goal is to help n00bs make their first robot or hardware project with Android. It takes care of lots of the mysteries of microcontroller wrangling in general and Arduino in particular.

Bits and Pieces from Googlers at the Faire

Most of these are 20%-project output.
Project Tricorder: Using the ADK and Android to build a platform to support making education about data collection and scientific process more interesting.
Disco Droid: Modified a bugdroid with servos and the ADK to show off some Android dance moves.
Music Beta, by Google: Android + ADK + cool box with lights for a Music Beta demo.
Optical Networking: Optical network port connected to the ADK.
Interactive Game: Uses ultrasonic sensors and ADK to control an Android game.
Robot Arm: Phone controlling robot arm for kids to play with.
Bugdroids: Balancing Bugdroids running around streaming music from an Android phone.

The Boards

We gave away an ADK hardware dev kit sample to several hundred people at Google I/O, with the idea of showing manufacturers what kind of thing might be useful. This seems to have worked better than we’d expected; we know of no less than seven makers working on Android Accessory Development Kits. Most of these are still in “Coming Soon” mode, but you’ll probably be able to get your hands on some at the Faire.
  1. RT Technology's board is pretty much identical to the kit we handed out at I/O.
  2. SparkFun has one in the works, coming soon.
  3. Also, SparkFun’s existing IOIO product will be getting ADK-compatible firmware.
  4. Arduino themselves also have an ADK bun in the oven.
  5. Seeedstudio’s Seeeeduino Main Board.
  6. 3D Robotics’ PhoneDrone Board.
  7. Microchip’s Accessory Development Starter Kit.
It looks like some serious accessorized fun is in store!

Opera Mini Clocks More Than 25 Million Downloads on GetJar, Most Downloaded App Ever on an App Store

admin

GetJar, the world's largest independent app store, announced today that popular mobile browser Opera Mini has been downloaded more than 25 million times from its store. By leveraging GetJar's open, cross-platform distribution, its Pay-Per-Download system and its significant user base, the combined downloads of the different versions of Opera Mini have gone on to catapult Opera Mini into the most downloaded app ever from any app store to date.

The latest version of Opera Mini (v4.2) has received nearly 7.5 million downloads since the beginning of the year on GetJar and remains one of GetJar's top five most downloaded applications globally. Equally important for Opera is the fact that its downloads on GetJar have been cross-platform with consumers using Java, Android, Blackberry and Windows Mobile devices to download the popular mobile browser.

"What makes GetJar so unique among app stores is its open philosophy which lets consumers consistently find the best app regardless of what platform they are on and what handset they are using," said Rolf Assev, chief strategy officer, Opera Software. "The fact that Opera Mini is the most downloaded app ever on an open app store like GetJar makes us proud because it proves that our vision of providing a browser that works on almost all phones will give millions a better way to access the Web."

"More and more, consumers demand a faster and easier mobile browsing experience, and Opera Mini delivers just that. It should come as no great surprise that a universally useful and simple application like the Opera Mini browser is so popular," commented Ilja Laurs, GetJar's CEO and founder. "The tremendous downloads of Opera Mini on GetJar proves that global accessibility to consumers is the key to success for application developers of all kinds."
GetJar is the world's largest independent app store with over a half billion downloads to date. The company provides more than 50,000 mobile applications across all major handsets and platforms to consumers in more than 200 countries.

Role of Mobile Application Distribution Sites

admin

‘A camera which can be used as phone too’ – This is the punch line used by one of mobile phone manufacturer in India. Such is the demand of adhoc applications/functionalities in mobile phones that using them as phone has become secondary purpose. No wonder why we see so many web sites providing sharing and downloading free as well as paid content for our mobile phones.
How useful are these sites? Are they actually helpful or they are just like dot com boom wherein everyone is just trying to cashing it on? Let’s try to find out.
Some of the such well known sites are – Getjar, Mobile9 and Mobango. All of these sites are doing quite well and are having millions of registered users with them. I have been using these sites for last one year to publish our application. Although I found one of these sites better than the other two but still I would say all of them have their own advantages and limitations (I am intentionally not mentioning my favorite site as I don’t have any vested interest in any of these site, also I don’t want the readers to take me as promoter of this site J).
I would definitely like to mention that the no. of registration/users have increased to 10 times since we have started taking services of these sites (this includes paid publishing too). If you talk about only free listing, it gave us up to 3-4 times registrations/users. There are majorly three types of campaigns which you can run on these sites – 1) Wap campaign, 2) Web campaign and 3) Web and Wap campaing.
WAP campaign - As the name suggest, Wap campaign is for wap sites only (your application will be shown in their wap site when a user visits it using his/her mobile phone).
WEB campaing – again simple to understand, your application will be shown in their web site when a user visits it using his/her PC/Laptop.
Web and Wap campaign – This is the combination of (1) and (2).
Using any of the above campaign, your application will be shown in their sponsored/recommended list which is quite visible when someone enters the site and very prone to ‘click’. Some of the sites have one more section called ‘featured application’ which again is the paid section.
The area where these sites have an edge over a particular manufacturers online store (such as Nokia OVI store or iPhone app store) for a normal user is that these sites contains applications for all manufacturers instead of one particular manufacturer. So you don’t need to worry about your phone model, just visit any of these sites and you will find plenty of application for your phone.
All these sites promise to many fold your no. of downloads/registration on daily basis and this claim as per my experience is very close to reality. Having said that, I have doubts about their stats as difference between no. of downloads shown by them and no. of registration we actually got (for client-server application. You need to peep into your DB to know this difference) is huge. Although there could be your client/server issues which are causing this difference but it could not be the only reason (especially in case of our application which I know as well as I know myself). Now the question which arise is whether this difference is because of some issue in their stats or is it deliberate to inflate their numbers? The answer is GOD knows or their DEVELOPERS know.
Final words – if you are a developer or an application freak user, you must try these sites, I am sure you will find much more than you are looking for.

UC Browser 7.6 First Experience

admin


UC Browser 7.6 First Experience
In mobile web area this year, the Best Mobile(Non-Ipad or Iphone) browser
(http://browsers.about.com/od/allaboutwebbrowsers/ss/2011-Readers-Choice-Awards-Winners-Web-Browsers_3.htm)belongs to UC browser, which defeats the 2010 winner Opera Mini. Recently, UC launched his UC Browser7.6 Official Version We can down load UC browser on www.ucweb.com by PC or wap.ucweb.com by handset. And after using the latest update version, next I will share my experiences of its three new features with you to arrive at an objective evaluation of UC browser 7.6.

Platform: Symbian S60V3   Phone model: Nokia 6210

1. New Social Element for Java & WM
In the new version, UC browser adds quick share to Facebook & Twitter that provides many users who prefer to stroll in social communities like me a fast track of accessing Facebook, etc.  Here we should have a primary setting accessing to Facebook. Then randomly open a website and copy some words, we can find the new option of Share to Facebook, choose it then the words will share on Facebook, the same as on Twitter. Anytime and anywhere you see what words or pictures you prefer, you can share them on forums or communities.

Image Hosted at ImageLodge.netImage Hosted at ImageLodge.netImage Hosted at ImageLodge.netImage Hosted at ImageLodge.netImage Hosted at ImageLodge.netImage Hosted at ImageLodge.net

This function applies to people's using habit that provides users a fast track of accessing Facebook conveniently by UC browser. After connecting to the login page of Facebook, UC browser will display a concise effect of the page by compression technology, which makes users scan comfortably and is what Opera Mini can not provide.
2. Traffic Check
UC Browser 7.6 has added the option of Traffic Statistic to save users 85% off traffic. It's quite a useful function that makes users have a clear traffic using plan. Here, I open www.Getjar.com on UC browser 7.6. The result shows it consumes 6.46KB, it can be seen that UC browser again committed itself to save users' traffic charge.
Image Hosted at ImageLodge.netImage Hosted at ImageLodge.netImage Hosted at ImageLodge.net

Select"Menu"-"Help"-"Traffic Statistic〞, then users can see statistic include Traffic this time, Traffic last time, Traffic this month and Total Traffic. A completed statistics can help users clearly know and plan their traffic cost. In addition, UC browser serves another two available options here, Back and Clear data, which reflect UC browser's humanization.
3. Search Box Optimization
UC put all the search engine options at the top, in order to save the space for low resolution handsets.

Image Hosted at ImageLodge.netImage Hosted at ImageLodge.net
UC browser 7.6                                        Opera Mini 5.1
Compared to Opera Mini 5.1, UC browser 7.6 sets much more search engine options for users to select, like Google, Yahoo, Bing and Ask, but Opera Mini 5.1 provides Google only. In terms of left function button setting, UC browser has History viewing that record keywords or websites you have accessed, and avoid users to input the same words again that greatly improve searching speed. Here, I notice a small detail, there's showing time under the page, which Opera Mini 5.1 does not have, more or less it help users amplify time sense.

Image Hosted at ImageLodge.netImage Hosted at ImageLodge.netImage Hosted at ImageLodge.net
UC browser 7.6             UC browser 7.6              Opera Mini 5.1

UC browser inherits the functions of search engine on computer browser. Here we use Google to search Getjar, when we input the word "g" and system automatically relates to different keywords that associated with "g" on UC browser, and input "ge" will quickly relate to "Getjar". However, we should input the integral word on Opera Mini 5.1 search egine. Apparently, UC browser's search function outdos Opera Mini 5.1's

Generally speaking, compare to previous version, UC improve its speed and users experience especially reflect on UC browser7.6. Some new functions bring users more convenience and traffic saving. Depend on my personal experience; I hope the pictures and data mentioned above can provide you a preferable reference. Let's look forward to next UC Browser version.

The Mobile App Industry is Surging with over 50 Billion Downloads Projected by 2012

admin

It's no secret that the mobile industry is surging at an astronomical rate. According to a report by GetJar, the industry will be worth $17.5 billion by 2012. Make no mistake, this is an industry being driven by apps that sell for between $0.99 and $2.99 on average. The industry as such has attracted capital investment as well as growing exposure in popular culture.

GetJar estimates that mobile phone users will download approximately 50 billion applications in 2012 (majority of them being free apps of course) which is a 92% yer over year growth rate from the 7 billion apps that were downloaded in 2009. The platforms that deliver these apps are led in 2010 by the iPhone's 30% market share followed by the aggressively growing Androids 23% market share. The iPad has already taken 21% and RIM following with 12%. Windows mobile is still chasing from a distance with only 6%, however once they iron out the issues with Windows phone 7 and their "app store" it's probably a safe bet to say they'll take a larger market share.

In terms of market potential, according to investment firm Rutberg & Company the mobile app industry attracted over $600 million in capital investment. That was close to 10% of all investment into the mobile industry which was $6.1 billion. What's interesting is that that figure is close to triple the figure from 2009 of $2.1 billion in total mobile investments.

Apps are becoming more and more a part of everyday life, on the metro, bus, in the office and generally anywhere humans gather, you'll see people with both hands on their smartphone fully engaged. This is even transitioning over to desktop PC's. According to editor in chief of Macworld Group Mark Hattersley "From the customer point of view, programs have never been that exciting, but apps are so easy to put on or take off your system that it actually feels good." What users will ultimately be looking for are simple apps to make life simpler. With over 300,000 apps in Apple's App Store alone, this is a message that's safe to say has been well received.

The Shift in Mobile Development

admin

Are the days of App Stores Numbered? Certainly that's what the experts believe if we go by web-giants like Google. According to a leading online mobile app store, GetJar, coming years will see a gradual fall in the developer community as the world of Apps will be as huge as the internet. However what might keep the developers carefree at this moment is the hypothetical time-line of ten years, suggested by CEO of GetJar, which might take before it begins to fall. Where the numbers are still rising in the App world, what might begin to vary is the nature of applications developed, that will incline to get more personal and practical as believed by Symbian Foundation. The spark set by Apple's App store couple of years ago is still flaming high, with download figures notching above 1.5 billion by end of 2009. The storming popularity of Apple's App store among users and developers even took Apple by surprise. The move, believed to be a ‘one time hit' by many, is now turned into a race among the top mobile giants like Apple's iPhone, Blackberry, Google's Android and the world's largest mobile phone business, Nokia. Thus it is wise to say, that the variation in sales and popularity experienced by application developers like Playfish, is perhaps not ideal to suggest a downfall of the developer community but an indication of rapidly changing interests and trend among the users of such applications.
The recent years have witnessed a shift in the way that businesses across the globe have begun to view and analyze mobile applications as an add-on to promote their growth in the market. The introduction and availability of high-speed mobile data networks, like EDGE and 3G,in the developed world has further supplemented this ideology and has pushed a demand for a platform shift from personal computers to hand-held mobile devices. This is also provoked by the users' need to access real-time information on the move as the falling prices of mobile devices have made it more affordable for larger chunks to buy and use these services. In the contemporary world of communication, today it's not just the professionals', but the general mobile users', need to access the internet via mobile phones. Companies offering services like recruitment, travelling, real-estate, leisure, entertainment et. al., have shown urgency in integrating web-portals to mobile based applications. The ask is so high that in the recent few years the number of companies offering mobile application development have almost grown three times. Where this has increased the level of competition between developers, it has exposed companies to the risk of partnering with outsourcing-services providers with lack of experience and expertise. Due to this many IT companies in the west have burnt their hands to bad outsourcing service providers. This had a great impact on the way companies begin to perceive outsourcing and started questioning the benefits gained through it, resulting in strong hesitancy to outsource work or changing their policies to curtail it. Perhaps that explains why many outsourcing companies in recent years have either shut-down or fighting to survive in the business. However, this does not incline us to believe that outsourcing is a bad practice or is ineffective in drawing out benefits identified with it. As a suggestion, IT companies can only be more careful and measured in picking up outsourcing partners to avoid bad experiences.

With the growing infrastructure and empowerment of a mobile user, the business of mobile application development will continue to grow but with a noticeable difference that the immediate market for developers has begin to shift from a general mobile user, who once directly downloaded application from web based App stores, to companies that offer professional services to mobile users. Applications developed for mobile phones have begin to shape more specific and practical rather than general, how they were built until recently. Thus the days of App stores available on the internet might be numbered but the future of mobile application development is bright and will continue to surprise the users with more innovative and purposeful applications.
There are thousands of outsourcing service providers in India, however, only few of them are certified partners by Microsoft. Main services offered by these companies are development of IT solutions in technologies like.NET, ASP, Java, Delphi, PHP and others open source technologies, QA and testing services and recently added mobile development on iPhone, Android and Window Mobile. Though it is easier to find a company offering such services but only few provides quality services at competitive prices.

UC Browser Got The Best Mobile Browser Award

admin

 For the winning of UC Browser in this voting, About.com has given the following assessment: Based in China, this free cross-platform mobile browser is available in multiple languages including English, Chinese, and Spanish. Congratulations to UC Browser, this year's winner in the Best Mobile (Non-iPad or iPhone) Browser category!

UC Browser now has more than 200 million users globally, and from the first release in the market out of China in end of 2009, UC Browser has already conducted more than 30 million downloads, and more 10 million users in the oversea market. Meanwhile, UC Browser has gotten the 2nd biggest market share in India, Indonesia, Russia and many other countries just behind Opera Mini, especially in India, UC Browser is taking around 10% of the market share among all the mobile internet users, including those who using handset default browser. Currently, UC Browser can support English, Indonesian, Russian, Vietnamese, Spanish, and deployed servers in North America and Asia Pacific, aimed to provide local and fast browsing experience to the users. Not long ago, UC Browser has gotten the "Top 10 New Application" Award from Getjar, the biggest 3rd party application store. On 15th Feb 2011, UC Browser got the "AppChamp of The Month" Award from Mobango. Now, UC got positive feedback from the leading media again for About.com's "Reader's Choice Award".

Mr. Yu Yongfu, The CEO of UCWeb said UC will build cooperation with the whole industrial chain, and mainly focus on the emerging countries to explore UC's oversea strategy, and all the awards from the industrial leaders and users showed again UC's big influence and leading user experience, and gave us the faith to speed up our business for all the global users. You could visit www.ucweb.com, or wap.ucweb.com to download this Mobile Browser. UCWeb

UCWeb is a strong application service provider from China, with the cutting edge technique of the Mobile Web. UC focuses on serving faster, more stable and flexible Internet experience to users. In Apr 2004, UCWeb launched its core product UC Browser, By Mar 2011, UC Browser have served more than 150 countries and areas, and got more than 700 million downloads. Per month, 200 million users visits 60 billion pages through UC Browser. About.com About.com is an online source for original information and advice owned by The New York Times Company. It is aimed primarily in North America, and has biggest influence in U.S, Canada, England, Australia, India and many other countries in the world.

The "Reader's Choice Awards" is one of the most important voting campaign in the whole year, which will give award to the most popular product among users and consumers in electronics, auto, food and many other fields.

All About Monetizing Applications

admin

The launch of smartphones has given a huge momentum to the development of numerous mobile applications. These downloadable applications perform various tasks relevant to the user. Monetizing applications generates revenue for advertisers and application developers, creating a win-win situation for both. Even consumers benefit from such applications and other value added services.

Ways Of Monetizing Applications Efficiently

Although there are several ways of monetizing applications, here are a few salient points which can be used to maximize the cash flow. These steps maybe used either separately or in combination.

Advertising: You can use your application to sell advertisement space. The best route is to get into an agreement with mobile advertising aggregators to receive advertisement feeds from them. The agreement is typically on a revenue sharing basis. Although the revenue generated from selling advertisement on your own is much higher than what you will receive from an advertising aggregator, aggregator feeds prove to be useful because of their additional ad inventory and reach. The latter option is also a less daunting task.
Alerts and Notifications: Mobiles are an immediate reaction platform, as seen from the popularity of SMS Calls to Action for events. We can capitalize on the ability to send timely reminders and time specific mobile offers for events and announcements to our application consumers.
Offer Feeds: We can set up an in-app category specific to offers and promotions as an ongoing feed, and effectively sell access to the in-app channel.
Selling Subscriptions: We can develop an ongoing cash flow, by selling time defined subscription for accessing our application.


Monetizing Applications Trends In Emerging Markets

According to a report by UK application retailer GetJar, Asia was the top market worldwide for the overall download share in 2009. Analysts predict that the mobile application economy will be worth about $17.5 billion by 2012. Most of this expected growth will come from users in emerging markets with less sophisticated handsets. Growth in emerging markets will depend more on productivity applications for consumers who do not have a fixed line internet service. Most customers in emerging markets still use prepaid cards, so the concept of paying for contents over the phone does not exist. Consumers here are more focused on productivity. While entertainment focused games can make money easily in the developed nations, retailers in emerging markets can do well by offering applications that are more productive.

iVdopia is a leading mobile advertising platform and network that can help application developers as well as advertisers in monetizing applications. To reach customers effectively across the globe, visit ivdopia.com.

Now Pay Close Attention --

Bringing targeted followers to your twitter account and turning them in the cash paying customers is a problem of the past.

[Reason #1] You can easily have over 5,000 targeted followers on your twitter account.

[Reason #2] When Using Twitter Follower Supply obtaining thousands of followers has never been easier.

Using a proven system for acquiring targeted twitter followers Twitter Follower Supply is able to send thousands of targeted twitter followers to your twitter account within days!

Just look at this:
- The average twitter follower is worth $1 - $5.
- Twitter traffic now accounts for up to 30% of business traffic.
- Twitter followers are twice as profitable and reliable as email addresses.

First: Visit Twitter Follower Supply Now
Thousands of Targeted Twitter Followers Guaranteed

Second: Get Your 50 FREE FOLLOWERS
Guaranteed Targeted Followers That Visit Your Website and Spend Money!

Google hopes to fix weak growth of Android Market app purchases

admin

Google's Android mobile platform is experiencing considerable growth, but the company is reportedly concerned by the slow pace of application sales from the Android Market. In an effort to boost sales and keep developers happy, the search giant is taking steps to revitalize the Android Market.
Google is going to add support for in-app purchases and has been working to establish carrier billing relationships with network operators. The company also recently launched a major redesign of the Android Market application, with the aim of making software more discoverable and smoothing out the process of finding and buying applications.
Despite these efforts, the challenges have proved difficult to overcome. Developer dissatisfaction with the Android Market has been steadily growing, and high-profile developers are becoming more vocal about their concerns. One of the most iconic examples is Rovio, the company behind the popular Angry Birds game.
Rovio originally tried to avoid the Android Market entirely and distribute to Android users through alternate venues, but changed course after some early problems trying to use market competitor GetJar. Rovio eventually settled on a free, ad-supported model. Last month, Rovio announced plans to launch its own payment platform, called Bad Piggy Bank, which they will also offer to other third-party developers. Rovio's CEO cited the poor Android Market experience as a chief motivation for launching the new payment service.
The big issue for Rovio is the user experience. They want to make purchases easier and less intrusive. Users shouldn't have to leave the game or enter a credit card number in order to buy game content. It also looks increasingly like Rovio wants a more granular micropayment model where users will be able to trivially buy new level packs or pay for access to special features.
At NokiaWorld last year, the company showed how they planned to use in-app billing in Nokia's Ovi store to sell users a pig-busting Mighty Eagle bird that they can throw when they get stuck on an especially tricky level. The Bad Piggy Bank appears to be Rovio's strategy for bringing a similar capability to Android.
Google is responding by working to accelerate its push to deliver in-app billing. The feature is expected to arrive natively on Android this year, but hasn't materialized yet. It's not really clear yet how much control over the payment experience it will give to third-party developers.
Google has also been working hard to add partners for carrier billing, which allows users to add the cost of their application purchases to their monthly telecom bill rather than having to use a credit card. Android's carrier billing feature launched with T-Mobile last year and they recently signed a similar deal with AT&T.
Bringing these capabilities to Android will likely make third-party developers more comfortable selling their applications rather than using the ad-supported model. One of the problems faced by Google is the general lack of good commercial software for Android with mainstream appeal. In most cases, there are free alternatives for Android that are just as good—if not better—than the commercial offerings.
Looking at the list of top paid applications, it's surprising how many of them are solely intended for the modding community. For example, among the top ten paid applications (not including games), I currently see ROM Manager, Root Explorer, and SetCPU—all of which are intended for users who have rooted their phones. It's pretty clear that regular non-technical Android users just aren't buying much commercial software.
Another issue is that commercial applications aren't supported in some geographical regions. Developers in unsupported countries can't sell their software in the Android Market and users in those countries can't purchase commercial software. The popular LauncherPro Plus homescreen replacement application, for example, can't be sold in the Android market because its developer doesn't live in one of the supported countries. He is forced to sell the application through PayPal instead.
The new Market app doesn't fix it
One of the things that Google has done recently to encourage more sales is an overhaul of the Android Market application. Although they added some nice features—such as a "related" section in application listings that will show you similar software—they created far more problems than they solved.
The new Market application is very sluggish and regularly hangs on my Nexus One. The new featured section that wastes a ton of space at the top of the Market's main screen only loads in thumbnails approximately half of the time, making it totally useless. There are also much-needed features that are still missing, like the ability to sort search results by rating or download popularity.
If you are trying to find software that serves a certain function but you don't know specifically which application you want, you aren't going to have much luck finding the best option through the Android Market application. It's much easier to go online and use a website like AppBrain that has significantly more sophisticated search tools and does a better job of exposing popular applications.
In addition to expanding the feature set of the payment platform, Google needs to expand the Market's geographical reach and rethink its approach to improving the Android Market application. If Google wants to increase paid application sales, the company has to take strong steps to prove to developers that they can make money selling software through the market.

Helpful Android Apps Available For Download

admin

Shopping is either pure bliss or torture relying on who you ask. Regardless of which end of the spectrum you are on, Android apps will allow you to lower your expenses and permit you to turn out to be an extra efficient shopper (which I am certain appeals to most of you). So what does that entail? It's going to give the shopaholics extra bang for his or her buck, which is never a nasty thing. Maybe much more importantly, these Android apps will present shopaphobes what they actually crave- less time within the stores!

The pure power and performance of those Android apps can actually make shopping nearly an all new experience. Regardless of if these apps function as a buying list, database, storefront or a supplemental data source, they're all squarely geared toward one factor: in the occasion you use them, they'll save you cash!

You are getting a sense like Android purchasing apps, generally, might simply show you how to, proper? Well listed here are 10 Android apps that can save you cash whereas they aid you fulfill all your shopping wants and desires. Oh and did I mention that all these ten are utterly FREE to obtain?

Compared to Apple Store, Android Market could presumably be lagging behind. Nevertheless, it doesn't mean that there aren't some fun, addictive and better of all free Android games. In any case, we're talking about an open source platform backed by Google. Android gaming is rapidly rising and among the 1000's of video games released, it's getting more durable to maintain monitor of the standard ones. So listed right here are 5 of one of the best free Android games that will not cost you a dime and will definitely entertain you.

Indignant Birds: A puzzle recreation created by Finnish sport developer, Rovio, Indignant Birds was first developed for iPhone and iPod Touch devices and sold over 6.5 million copies on these platforms. The Android model was introduced in Could and the game was launched in October for Android platform. Throughout the first weekend of availability, it was downloaded by greater than 2 million Android users.

Indignant Birds is a really addictive and challenging puzzler game. In the sport, you are taking control of a flock of birds whose eggs had been stolen by evil pigs. You use a slingshot to launch the birds into the buildings in which the pigs are hiding. You get to play with different varieties of birds which have particular abilities as you advance by the game and attempt to defeat the pigs. And the very best part is, in distinction to its Apple version, Android model is freed from charge.

Offended Birds, among the finest free Android games on the market, is obtainable for download at GetJar website. You can too download it at Android Market.

Abduction: Here is one other instance of enjoyable and free Android games. Abduction is a difficult sport during which your mission is saving your folks (who occur to be cows) from aliens. Sounds fun already, does not it? You want to make your option to the alien mothership and assist the cows escape. You use the lean function to move left and right. You additionally attempt to travel as excessive as attainable in an effort to acquire some additional bonus points. One other thing that earns you points is catching your falling friends.

This fun platform leaping recreation on Android, Abduction is an addictive and simple to study sport with nice graphics and ensures enjoyment for hours. So give it a strive!

Gem Miner: If there was an inventory of most addictive video games on Android, Gem Miner sport would undoubtedly be in top ten. Build your fortune by digging mines to search out ores, metals, and gems. Whenever you make profit, you can spend it on upgrades -better tools and maps that make you a big-time exploiter- and dig deeper. Watch out though! You do not want to get your self into bother by getting stuck down the mine, being crushed by rocks or falling down into the depths of the mine.

With randomly generated maps in each game and its nice graphics, Gem Miner is doubtless considered one of the greatest free Android games on the market waiting to be downloaded to your Android phone. An advert-free, paid model of Gem Miner, Dig Deeper, can additionally be obtainable on Android Market for $.ninety nine

Word Feud: There are free Android games for many who are into words, too. When you like Scrabble, then you're going to love Phrase Feud. Because it's the identical thing. There is probably not lots of Android phrase video games out there. But if you're searching for a superb and familiar one, then Word Feud is the game for you.

Among the finest Android word games, Word Feud, gives its customers a net based gaming experience. You can get pleasure from this free multiplayer phrase game by inviting associates out of your contact listing, or taking half in towards random opponents. In fact there's an option to play at your own pace, too.

Robo Defense: Robo Protection is a tower protection sport during which you construct towers to kill monsters and forestall them from invading your side. Some monsters are more vulnerable to certain towers, and some are immune to the identical tower. So, you want to come up with an excellent Robo Protection strategy and work out which tower to construct and the place to build it. As you advance within the sport, you probably can advance your towers and weapons and present the monsters who's the boss! The game additionally features good graphics, achievements, and a person-friendly interface.

Google Apps
Whereas iPhone does present a Gmail interface, that is where the buck stops, relating to Google apps. Not surprisingly, Android goes a lot further than iPhone in its integration with the Google suite. One example is the address book. Out-of-the-box, Android syncs its contacts with a Gmail account. This ensures that your contact information reside in a central location that may be accessed from any location and using various devices. Some Google purposes host their information on the Google cloud as a substitute of iTunes. This makes dumping the iPhone for Android especially attractive to these using Linux, and unable to run iTunes.

Multitasking
Multitasking has been one of the iPhone's worst enemies. Switching between apps requires pushing the dreaded "Residence" button, which closes one app and opens another. This gets extremely annoying when reading an email, for example. Clicking on a link within an e mail message successfully closes the e-mail shopper and opens a browser window. As easy a job as returning back to the email requires hitting the "Home" button as soon as extra and re-opening the e-mail app.

The Android solves this by offering multitasking capabilities out-of-the-box. You can run multiple purposes simultaneously without having to close any of them. A drop-down window notifies you of any changes in an utility you might be working within the background. Although switching between apps is yet to achieve its performance optimum - there's an lag time when switching between apps - it is an outstanding characteristic that iPhone lacks.

Net Browser
Among the finest reasons to dump your iPhone for Android is the web shopping experience. The Android's built-in browser is quick, capable, and feature-rich. In distinction to iPhone's Safari, it supports Flash, permitting you to view many more sites than on the iPhone and watch videos instantly in your cell browser window.

Unified Notifications
Another reason to dump your iPhone for Android is the Android's unified notification infrastructure. Android provides a single notification system obtainable to Android app developers. Because of this the Android could be configured to receive Fb updates, climate alerts, tweets, Reddit submissions and different time-based events. The notification system lets you stay on top of the things you care about without making the process overly cumbersome.

Open-Source Framework
Lastly, Android is built on top of an open-source platform. While this will likely not matter to some, it might be crucial to others. Open-supply software program allows developers and system makers to have a much finer management over the phone hardware and the operating system that powers it. The iPhone's lack of support for Flash is the very best illustration of the affect of open-source software. If Flash help had been missing on Android, builders would be succesful of add it quickly without ready for Google to develop one.

Android 2.3

admin

With the massive arrival of Android based devices on the mobile market, the very hyped, yet mysterious, Android 2.3 "Gingerbread" release has many waiting by the phone for the inside news. Here it is! The big focus with the newest version of Google's mobile OS is on a heavily improved user experience. This version of Android OS was first released on 12/16/2010 on the Nexus S smartphone.

Basics

The new Android OS offers very little in the way of major feature changes or additions and the core is essentially the same from Froyo 2.2. Nonetheless, the effort has been placed on its appearance, UI experience and performance. Gingerbread shows off a slick new look in the form of an black, orange, and green interface, which may be some of the most aesthetically pleasing and coolest changes, but that of course is a matter of opinion.

Functional Changes

While there isn't much that has been changed or modified under the hood, it does contain some very impressive functionality changes, mainly in the keyboard. There is one touch word selection and, of course, the much coveted copy and paste feature has also been improved upon. Using a press and hold gesture, the user is now able to get a draggable selection for either a single word or multiple words. They all added a multitouch "key chroding" which allows users to switch to symbol mode by touching the "shift" key, letter and the symbol mode key to enter numbers or symbols without stopping to change modes. Additionally, Android has reshaped the keys and positioned them to make keyborarding exponentially faster, easier, and much less frustrating for hte end user. There is also a auto suggest feature that intuitively offers corrections from an on phone dictionary and users can simply switch to voice mode to select the proper corrections. Just an extra "badass" factor for the new OS.

Minor Changes

There have been some small under the hood changes to the Android 2.3 OS. These changes include some much needed improvements to the power management routines, which better allow for Android devices to shut down apps that consume too much power in the background. This change allows the device to shut the apps off that seem to keep the phone powered on for too long as well. These are both features that could theoretically help save on the phones battery life.

Users are also going to have a better idea of there power status and application power usage with the add-on of heavily detailed info available in the app management system. They also included a manage application command in the options menu on the home screen, as well as the launcher, which allows users to quickly access all app information. Additionally, changed in communications allow users to make calls from a contact record, quick connect, or the dialer itself.

Final Thoughts

Lastly, Google is showing enhancements that are intended for devleopers of gaming apps on the Android OS. There is now faster screen response and updated video drivers, which allow for more gaming performance coming in due time. However, with over 80k Android apps to choose for now that include many games, there is definitely no lack of fun or productivity when it comes to using any Droid device, no matter the version.

Overall the new look is sexy, sleek, and dark with dramatic color streaks against a dark background. The theme works great and is quickly becoming a sexy competitor to iOS 4.

Update Your HTC EVO 4G With Android 2.3 Gingerbread

admin

Have you ever imagine if HTC EVO 4G could run Google's latest operating system, Android 2.3 Gingerbread? Some expert on XDA Developer forum shares information to HTC EVO 4G users, about this upgrade. Let's see the full story.

Note: since this upgrading activity will remove everything on your phone, the owner is required to have a back up of the entire data of his/her phone on somewhere save.

The procedure begins with downloading the Bootable Gingerbread ROM. The ROM itself is not the final release. So the owner who want to upgrade his/her EVO 4G with this ROM is required to check the source article at XDA-Developers for any updated versions.

After the ROM has been downloaded, plug your phone to the computer through USB then copy the ROM and paste it to the microSD card. Just make sure that the ROM wasn't copied to the any sub-folder. Switch your phone off and turn it back on by pressing both the power button and the volume down button until you see a white bootloader screen. Settle one menu option for whipping the device.

Once the phone has cleaned, copy the ROM that you have copied before to the SD card and apply it, Let the new ROM finish the installation, it will take for a while. For the finishing touch, turn the device off and turn it back on. Congratulation, your HTC EVO 4G run the Gingerbread.

I hope, this article will be useful for you. Best Regards!

How To Upgrade HTC Desire Operating System to Google Android 2.3

admin

If you had an idea to upgrade your HTC Desire's operating system to Android 2.3, so you are so lucky now. Why you are so lucky? Because you will find out how it's done. However, this activity is not a quite legal since the official upgrade hasn't released yet.

Just get ready to be amazed by the work of customized Android 2.3 ROM on your HTC device.

First, you have to remember that your phone must be rooted before and you need to back up all of your data on your device since this rooting activity will wipe the entire of your data. After the phone has been rooted, download the GingerNinja v0.11 ROM to your computer (extracting the downloaded zip fie is not required).

Once the file has been downloaded to your computer, copy it to your phone's microSD by connecting it to the computer, copy and paste it to the memory card.

After the copy and paste stuff has done, the second step is restarting the phone by pressing and holding both the Power Button and the Volume Down button until the bootloader screen come up then boot it too Recovery mode. To boot into Recovery mode, use the volume buttons of your phone to scroll to 'Fastboot' and then select 'Recovery' from the next menu.

To proceed the installation, Apply.zip from SD card and select the.zip file that you copied to the root of the phone. You have to wait for a while since finishing the installation needs some time. Once the process is finished, reboot the phone and you will see your HTC Desire runs Android 2.3 Gingerbread.

As long as the device supports the ROM, this method will work for flashing any ROM to any Android device.