Disclaimer

The materials on robothijauku.blogspot.com web site are provided “as is”. robothijauku.blogspot.com makes no warranties, expressed or implied, and hereby disclaims and negates all other warranties, including without limitation, implied warranties or conditions of merchantability, fitness for a particular purpose, or non-infringement of intellectual property or other violation of rights. Further, robothijauku.blogspot.com does not warrant or make any representations concerning the accuracy, likely results, or reliability of the use of the materials on its Internet web site or otherwise relating to such materials or on any sites linked to this site.

About Me

I'm just a man who is born with all its weakness and fear on the date of August 31, 1991 in the town of Purbalingga, Central Java, Indonesia. A village boy who happens to be an opportunity to recognize the virtual world and the modernity of this world. I was about 21 years (calculated in 2012). I still consider myself a person who has not become fully mature. Although when asked what was up I did not have a satisfactory answer. I still live with my family. Father of the family who built his sweat as a result of Entrepreneurs.

My favorite one is reading. Although I often picky about what I want to read literature. Because a lot of reading that I deem less enlightened thinking. One of my favorite readings are the readings of Technology. The other thing is my delight to read novels and short stories, reading comics, listening to music, watching and playing football (plus maen ball in PS), Grand Prix races, and several other sporting spectacle. Studies show as the latest technology, along with the wild adventures of flora and fauna as well be my favorite. Biographies of famous people I also love to read and watch.


I have this one: 

  1. Handsome - >> Said my parents (because I was the only son they) 
  2. Humorous - >> Said my friends was a quietHumorous - >> Said my friends that Crisp 
  3. Cheers - >> Said my friends who often depressed.

So, that's a little about myself. A man among billions of humans. A point between the billions of points. A point in the vast universe beyond the reach of imagination itself is the point. And finally I was a nothing. A living. A definite death. If are you want to say hello or just chat? contact me at :
  1. Facebook
  2. Twitter
  3. Google +
I was in a critical saturation point. Tried to evolve and become something new, but everything remains the same. New, old, the game only. Where feet must tread? Where should target yourself?

Nexus Phones

In January 2010, Google released its own smartphone, the Nexus One (N1) shown in Fig. 1.1. The N1 was developed by HTC and, by all accounts, was an ideal model for how manufacturers should develop their phones. The processor was extremely fast (1 GHz), it was running the latest version of Android, and it had innovations such as three microphones which survey background noise and blend your voice to create the most clear conversation possible.

The N1 was sold directly by Google and was sold unlockedda move many analysts saw as a direct challenge to the carrier lock-in model where customers must sign a two-year agreement to get a discount on the device. The N1 was also available through T-Mobile for a reduced price, provided the user signs an extended contract. In the end, the sales for the N1 were not overwhelming and there was speculation that Google failed in their implementation (Fig. 1.1).
nexusnexus
 
However, at the time, Google was also trying to demonstrate how they believed an Android phone should be released and maintained. To the surprise of many, one year later Google released the Nexus S manufactured by Samsung, shown in Fig. 1.2. One interesting feature of the Nexus S was that it ran on Android 2.3 that allowed the native ability to make Voice over IP (VoIP) phone calls. If a device has a data connection, whether it isWi-Fi.com or some other network, then it can send and receive phone calls using any number of popular VoIP services. In the United States, the phone was sold only through Best Buy stores and service was available through T-Mobile (Fig. 1.2).

It is unclear what Google’s overall goals are with the Nexus line of smartphones.  However, it is clear they intend to release Google phones and eventually may offer consumers a new flexibility in how they purchase and use smartphones.

Google’s Strategy

Android is clearly a powerful mobile device platform which costs an enormous amount in development. So why did Google give Android away for free?

The answer starts with Google’s clearly defined mission (Corporate information:,about, n.d.):

Google’s mission is to organize the world’s information and make it universally accessible and useful.

Cell phones are the most popular consumer device, numbering over 4 billion, so, by providing an advanced mobile stack at no cost, Google believes they are fulfilling the universally accessible portion of their mission. But, obviously there must still be some benefit for Google. When more people are online, more people use search, which ultimately drives ad revenuedGoogle’s primary source of income. In a March 2009 interview, Andy Rubin explained:

Google has a great business model around advertising, and there’s a natural connection between open source and the advertising business model. Open source is basically a distribution strategy, it’s completely eliminating the barrier to entry for adoption.
(Krazit, n.d.)

One of the criticisms of Android is that the market is now highly fragmented with different versions and variations of Androidda direct result of how Google releases Android to the manufacturers. This is in contrast to other devices, such as the iPhone where Apple has total control over the hardware and OS and significant influence over third-party application. Rubin defends this model, however. In the same interview, Rubin further commented on this aspect (Krazit, n.d.):

Controlling the whole device is great, (but) we’re talking about 4 billion handsets. When you control the whole device the ability to innovate rapidly is pretty limited when it’s coming from a single vendor. You can have spurts of innovation. You can nail the enterprise, nail certain interface techniques, or you can nail the Web-inthe- handset business, but you can’t do everything. You’re always going to be in some niche. What we’re talking about is getting out of a niche and giving people access to the Internet in the way they expect the Internet to be accessed. I don’t want to create some derivative of the Internet, I don’t want to just take a slice of the Internet, I don’t want to be in the corner somewhere with some dumbed-down version of the Internet, I want to be on the Internet.

So by creating a mobile OS that meets the demands of the consumer as well as the needs of the manufacturers and wireless carriers, Google has an excellent distribution platform for their revenue-generating search and advertising business.

Android Market

After an application is designed, developed, tested, and signed, it is ready to be deployed into the Android Market.To use Google’s Android Market, a Google Checkout account needs to be created. It is used not only to pay for the initial developer fee of $25, but is also used for payment back to the developer for any charged apps. Public exposure to a developer’s creation is often exciting.Within hours of upload, the application can get hundreds of views, downloads, ratings, and reviews from around the world.A few considerations for publication of an app are provided here for reference.

End-User License Agreement
Any original content distributed in a tangible form is automatically copyrighted in most of the world under the Berne Convention. Still, it is common practice to add a copyright with a date of publication to the content, such as © 2010.The method for adding this symbol to an Android app is discussed in Chapter 4.

This can be taken one step further in an End User License Agreement (EULA), which is a contract between the developer (or company) and the customer (or end user) providing the developer a form of protection for publicly distributed software. Most EULAs contain sections such as “Grant of License,”“Copyright,” and “No Warranties.” It is common practice to add a EULA to an application, especially if it is offered for sale.The method for adding a EULA to an Android app is discussed in Chapter 9,“Data Storage Methods.”

Improving App Visibility
Users find applications in three different ways. Catering to these methods helps to increase visibility for an application.

The first way users see an app is by choosing to list the “Just in” apps. Choose a good descriptive name for the application and place it in an appropriate category, such as Games or Communication. Keep the description simple and to the point to get more views.The Games category is over laden with apps, so there are sub-categories. If the app is fun but has no score or goal, consider the Entertainment category. Even so, with over 10,000 applications uploaded to the Android Market each month, an uploaded application is pushed off the “Just in” list within a day or two.

The second way users see an app is by keyword search. Determine the essential keywords users might use and include those in either the title or description of the app. Some users might speak a different language, so including appropriate international keywords can help.

The third way users see an app is by choosing the “Top” apps.This is a combination of the highest rating and the most downloads.To get in this category takes time and effort with possible updates to fix bugs.This points to the last consideration for app visibility:

robustness. Ensure the app does not contain major bugs, does not waste excessive battery, and has a foolproof way to exit the application. Nothing turns off a potential customer more than seeing reviews that say,“This app uses all of my battery,” or,“I can’t uninstall this app.”

One side note to mention:Almost all interactions between the developer and users are done through the Android Market. Providing developer contact information or a supporting website is often superfluous, as people browsing the mobile market rarely use it.

Differentiating an App
Sometimes, the developer creates an application only to find a similar variant already in the Android Market.This should be treated as an opportunity rather than a discouragement. Differentiating the app simply through a better design, interface, or execution can quickly win over a user base. Basically, originality is nice, but it is not required.That being said, one must be careful to avoid using copyrighted material.

Charging for an App
Every time a new application or its update is uploaded to the Android Market, the developer must choose whether to provide it for free or charge for it. Following are the main options:
  • Provide the app for free. Everyone who can access the Android market can see and install the app.
  • Provide a free app, but include advertisements. In some cases, the developer negotiates sponsorship for an app. More often, the developer works with a third-party aggregator. Payouts are provided for clicked ads and less often for impressions (ad views). Figure 1.1 shows an example banner ad from AdMob. Such ads require the application have permission to access the Internet and the location of the device. Consider using coarse location instead of fine location to avoid deterring some potential customers from installing the app.
  • Provide the app for a charge. Google handles its charges, but takes 30 percent of the proceeds. Countries that are not set up for charges through Google Checkout cannot see or cannot install an app for charge. For these reasons, some developers turn to third-party app stores for distribution.
  • Post a free, limited version, but charge for a full version.This gives users the opportunity to try the app and if they like it, they will have less resistance to purchasing the full version. For some apps, this is a natural model (such as a game with ten free levels), but not all apps can be partitioned this way.
  • Sell virtual goods inside the app.This is an important way Facebook apps work, and it is catching on in the mobile world.
 Free applications tend to get a lot of views. Even the most obscure and odd applications seem to be downloaded and viewed by at least 1,000 people in the first month the application is on the Market.There are some developers who explicitly say,“This app is absolutely useless,” and yet, they get over 10,000 downloads and a four-star rating. Somewhat relevant free applications can get as many as 50,000 downloads, and extremely useful free applications have over 100,000 downloads. For most developers, such exposure is quite impressive.

Mobile advertisement is still in its infancy and usually does not entice enough users to click the ad. For now, monetizing apps is best done by charging on the Market.As long as the app is useful for some people, has a clear description, and has a good selection of positive reviews, users purchase it. If an app is successful, it might make sense to raise the price of the app.

Managing Reviews and Updates
Most successful apps from independent developers come through a process of releasing a version and adapting to the user feedback. Users like to see a developer who is responsive. This leads to more people downloading an app, and as the number of downloads increases, it adds validity to the app.

In general, it seems about 1 in 200 people rate an application, and a small subset of those actually leaves a review. If someone takes the time to type a review, it is usually worth listening to it, especially if the review comments are constructive, such as “Doesn’t work on the HTC Hero,” or “Nice app, just wish it did so on and so forth.” Updates that respond to user comments are seen in a positive light by new potential customers. In any case, the reason for the update should be clearly highlighted. Most users get 10 to 20 notifications a day of applications that have updates. If they do not see a good reason to upgrade, they might not.

Alternatives to the Android Market
Other independent Android app stores exist.They might not have as convenient access to Android devices as the Google market does, but they provide other benefits for developers such as better app visibility, more places to charge for apps, and taking no portion of the proceeds from an app.Also, some Android manufacturers create customized app stores accessible from their devices. For example, getting app visibility onto Motorola Android phones in the China and Latin American markets can be done through the Motorola app market at http://developer.motorola.com/shop4apps

Software Features and API Level


The Android OS periodically rolls out new features, enhancements such as improved efficiency, and bug fixes.A main driver in OS improvement is the increased capability of hardware on new devices. In fact, major releases of the OS are generally coordinated with new hardware roll-outs (such as Eclair’s release with Droid).

Some legacy Android devices cannot support the new version requirements and are not updated with new OS releases.This leads to a user base with a variety of different possible experiences.The developer is left with the task of checking for device capability or at least warning devices of required features.This can be done through a check of a
single number: the API level.

The following summarizes the different OS releases and main features from a developer’s perspective:

Cupcake: Android OS 1.5, API level 3, Released April 30, 2009
  • Linux kernel 2.6.27.
  • Smart virtual (soft) keyboard, support for third-party keyboards.
  • AppWidget framework.
  • Live Folders.
  • Raw audio recording and playback.
  • Interactive MIDI playback engine.
  • Video recording APIs.
  • Stereo Bluetooth support.
  • Removed end-user root access (unless tethered to computer and using SDK).
  • Speech recognition via RecognizerIntent (cloud service).
  • Faster GPS location gathering (using AGPS).
 Donut: Android OS 1.6, API Level 4, Released September 15, 2009
  • Linux kernel 2.6.29.
  • Support for multiple screen sizes.
  • Gesture APIs.
  • Text-to-speech engine.
  • Integrate with the Quick Search Box using the SearchManager.
  • Virtual Private Network (VPN) support.
Eclair: Android OS 2.0, API Level 5, Released October 26, 2009
Android OS 2.0.1, API Level 6, Released December 3, 2009
Android OS 2.1, API Level 7, Released January 12, 2010
  • Sync adapter APIs to connect to any backend.
  • Embed Quick Contact accessible in applications.
  • Applications can control the Bluetooth connection to devices.
  • HTML5 support.
  • Microsoft Exchange support.
  • Multitouch is accessible through the MotionEvent class.
  • Animated wallpaper support.
 FroYo: Android OS 2.2, API Level 8, Released May 20, 2010
  • Linux kernel 2.6.32.
  • Just-In-Time compilation (JIT) enabled, leading to faster code execution.
  • Voice dialing using Bluetooth.
  • Car and desk dock themes.
  • Better definition of multitouch events.
  • Cloud-to-device APIs.
  • Applications can request to be installed on the SD memory card.
  • Wi-Fi tether support on select devices.
  • Thumbnail utility for videos and images.
  • Multiple language support on keyboard input.
  • Application error reporting for Market apps.
 Android is starting to mature in that releases are less frequent.Although possible, the over-the-air updates are logistically tricky and carriers prefer to avoid them. Hardware manufacturers also appreciate a level of stability, which does not mean the first flashed devices in stores need an immediate update.However, when a release is made, the level of additional features for developers remains high and worthwhile to utilize.

Software Development Kit

The Android SDK is comprised of the platform, tools, sample code, and documentation needed to develop Android applications. It is built as an add-on to the Java Development Kit and has an integrated plugin for the Eclipse Integrated Development Environment.

Installing and Upgrading
There are many places on the Internet that discuss detailed step-by-step instructions on how to install the Android SDK. For example, all the necessary links can be found on the Google website http://developer.android.com/sdk/.Therefore, the general procedure outlined here serves to emphasize the most common installation steps for reference.These steps should be done on a host computer used as the development environment.
  1. Install the Java Development Kit (for example, install JDK 6.0 for use with Android 2.1 or above; JDK 5.0 is the minimum version needed for any earlier version of Android). 
  2. Install Eclipse Classic (for example, version 3.5.2). In the case of Windows, this just needs to be unzipped in place and is ready to use. 
  3. Install the Android SDK starter package (for example, version r06). In the case of Windows, this just needs to be unzipped in place and is ready to use. 
  4. Start Eclipse and select Help Install New Software..., and then type https://dl-ssl.google.com/android/eclipse/ and install the Android DDMS and Android Development Tools. 
  5. In Eclipse, select Window Preferences... (on a Mac, select Eclipse Preferences) and select Android. Browse to the location where the SDK was unzipped and apply. 
  6. In Eclipse, select Window Android SDK and AVD Manager Available Packages, and then choose the necessary APIs to install (for example, Documentation for Android SDK,API 8; SDK Platform Android 2.2,API 8; Google APIs by Google Inc.; and Android API 8). 
  7. From the same Android SDK and AVD Manager menu, create an Android virtual device to run the emulator or install USB drivers to run applications on a pluggedin phone. 
  8. In Eclipse, select Run Run Configurations... and create a new run configuration to be used with each Android application (or similar for a Debug Configuration). Android JUnit tests can be configured here, too.
 Now, the environment should be configured to easily develop any Android application and run on the emulator or an actual Android device.To upgrade to a new version of the SDK, it is simply a matter of selecting Help Software Updates... in Eclipse and choosing the appropriate version.

Features of Android


The detailed features of Android and how to take advantage of them provide a main theme throughout this book. On a broader level, some key features of Android are major selling points and differentiators. It is good to be aware of these strong points of Android and utilize them as much as possible.

Multiprocess and App Widgets
The Android OS does not restrict the processor to a single application at a time.The system manages priorities of applications and threads within a single application.This has the benefit that background tasks can be run while a user engages the device in a foreground process. For example, while a user plays a game, a background process can check stock prices and trigger an alert as necessary.

App Widgets are mini applications that can be embedded in other applications (such as  the Home screen).They can process events, such as start a music stream or update the outside temperature, while other applications are running.

Multiprocessing has the benefit of a rich user experience.However, care must be taken to avoid power-hungry applications that drain the battery.These multiprocess features are discussed further in Chapter 3,“Threads, Services, Receivers, and Alerts.”

Touch, Gestures, and Multitouch
The touchscreen is an intuitive user interface for a hand-held device. If utilized well, it can transcend a need for detailed instructions. After a finger touches the screen, drags and flings are natural ways to interact with graphics. Multitouch provides a way to track more than one finger down at the same time.This is often used to zoom or rotate a view.

Some touch events are available transparently to the developer without the need to implement their detailed behaviors. Custom gestures can be defined as needed. It is important to try to maintain a consistent usage of touch events as compared to other applications.These touch events are discussed further in Chapter 5,“User Interface Events.”

Hard and Soft Keyboards
One feature on a pocket device that galvanizes users is whether it should have a physical (also called hard) keyboard or software (also called soft) keyboard.The tactile feedback and definite placement of keys provided by a hard keyboard tends to make typing much faster for some, whereas others prefer the sleek design and convenience offered by a software- only input device.With the large variety of Android devices available, either type can be found.A side effect for developers is the need to support both. One downside of a soft keyboard is a portion of the screen needs to be dedicated to the input.This needs to be considered and tested for any user interface (UI) layout.

Maintaining Forward Compatibility
New Android versions are generally additive and forward compatible at the API level. In fact, a device can be called an Android device only if it passes compatibly tests with the Android APIs. However, if an application makes changes to the underlying system, compatibility is not guaranteed.To ensure forward compatibility of an application when future

Android updates are installed on devices, follow these rules suggested by Google:
  • Do not use internal or unsupported APIs.
  • Do not directly manipulate settings without asking the user.A future release might constrain settings for security reasons. For instance, it used to be possible for an app to turn on GPS or data roaming by itself, but this is no longer allowed.
  • Do not go overboard with layouts.This is rare, but complicated layouts (more than 10 deep or 30 total) can cause crashes.
  • Do not make bad hardware assumptions. Not all Android devices have all possible supported hardware. Be sure to check for the hardware needed, and if it does not exist, handle the exception.
  • Ensure device orientations do not disrupt the application or result in unpredictable behavior. Screen orientation can be locked, as described in Chapter 2.
Note that backward compatibility is not guaranteed with Android. It is best to declare the minimum SDK version as described in Chapter 2, so the device can load the proper compatibility settings. Utilizing other new features on older targets is also discussed at various places throughout the book.

Sensors


Smartphones are becoming sensor hubs in a way, opening a rich experience for users. Other than the microphone that every phone has, the first additional sensor introduced on phones was the camera. Different phone cameras have varying capabilities, and this is an important factor for people in selecting a device.The same type of diversity is now seen with the additional sensors.

Most smartphones have at least three basic sensors: a three-axis accelerometer to measure gravity, a three-axis magnetometer to measure the ambient magnetic field, and a temperature sensor to measure the ambient temperature. For example, the HTC Dream (G1) contains the following sensors (which can be displayed using getSensorList()as described further in Chapter 7,“Hardware Interface”):
  1. AK8976A 3-axis Accelerometer
  2. AK8976A 3-axis Magnetic field sensor
  3. AK8976A Orientation sensor
  4. AK8976A Temperature sensor
The AK8976A is a single package from Asahi Kasei Microsystems (AKM) that combines a piezoresistive accelerometer, Hall-effect magnetometer, and temperature sensor. All provide 8-bit precision data.The orientation sensor is a virtual sensor that uses the accelerometer and magnetometer to determine the orientation.

For comparison, the Motorola Droid contains the following sensors:
  1. LIS331DLH 3-axis Accelerometer
  2. AK8973 3-axis Magnetic field sensor
  3. AK8973 Temperature sensor
  4. SFH7743 Proximity sensor
  5. Orientation sensor type
  6. LM3530 Light sensor
The LIS331DLH is a 12-bit capacitive accelerometer from ST Microelectronics. It provides much more accurate data and can sample up to 1kHz.The AK8973 is an AKM package with an 8-bit Hall-effect magnetometer and temperature sensor.

In addition, the Droid contains two more sensors.The SFH7743 is an Opto Semiconductor’s short-range proximity detector that turns the screen off when an object (such as the ear) is within about 40mm distance.The LM3530 is an LED driver with a programmable light sensor from National Semiconductor that detects ambient light and adjusts the screen backlight and LED flash appropriately.

One other example of sensors available on an Android device is the HTC EVO 4G, which has the following sensors:
  1. BMA150 3-axis Accelerometer
  2. AK8973 3-axis Magnetic field sensor
  3. AK8973 Orientation sensor
  4. CM3602 Proximity sensor
  5. CM3602 Light sensor
The BMA150 is a Bosch Sensortec 10-bit accelerometer which can sample up to 1.5kHz.The CM3602 is a Capella Microsystems, Inc., short distance proximity sensor and ambient light sensor combined into one.

Overall, it is important to understand each Android model has different underlying hardware.These differences can lead to varying performance and accuracy of the sensors.

User Input Methods


Touchscreens enable users to interact with the visual display.There are three types of touchscreen technology:
  • Resistive—Two resistive material layers sit on top of a glass screen.When a finger, stylus, or any object applies pressure, the two layers touch together and the location of the touch can be determined. Resistive touchscreens are cost-effective, but only 75 percent of the light shows through, and until recently,multitouch was not possible.
  • Capacitive—A charged material layer is overlaid on a glass screen.When a finger or any conductive object touches the layer, some charge is drawn off, changing the capacitance, which is measured to determine the location of the touch. Capacitive touchscreens allow as much as 90 percent of the light through, although accuracy can be less than resistive.
  • Surface Acoustic Wave—This uses a more advanced method that sends and receives ultrasonic waves.When a finger or any object touches the screen, the waves are absorbed.
The waves are measured to determine the location of the touch. It is the most durable solution, but more suitable for large-scale screens such as automatic bank tellers.

All Android devices use either resistive or capacitive touchscreen technology, and with a few early exceptions, all support multitouch. In addition, each Android device needs an alternative method to access the screen.This is through one of the following methods:
  • D-pad (directional pad)—An up-down-right-left type of joystick
  • Trackball—A rolling ball acting as a pointing device that is similar to a mouse
  • Trackpad—A special rectangular surface acting as a pointing device

The Dichotomy of Android


Android has some interesting dichotomies. Knowing about them upfront is useful not only in understanding what Android is, but what it is not.

Android is an embedded OS that relies on the Linux kernel for core system services, but it is not embedded Linux. For example, standard Linux utilities such as X-windows and GNU C libraries are not supported.Writing applications for Android utilizes the Java framework, but it is not Java. Standard Java libraries such as Swing are not supported. Other libraries such as Timer are not preferred; they have been replaced by

Android’s own libraries, which are optimized for usage in a resource-constrained, embedded environment.

The Android OS is open source, which means developers can view and use any of the system source code, including the radio stack.This source code is one of the first resources for seeing examples of Android code in action, and it helps clarify the usage when documentation is lacking.This also means developers can utilize the system in the same way as any core application and can swap out system components for their own components. However,Android devices do contain some proprietary software that is inaccessible to developers (such as Global Positioning System (GPS) navigation).

A final dichotomy of Android OS is that Google is also backing Chrome OS.Android OS is built for embedded platforms, and Chrome OS is built for cloud-based platforms. However, which is the best choice for embedded devices that live in the cloud? Netbooks, which fill the gap between smart phones and laptop computers, could presumably go either way (and they have).Android has started to utilize the cloud more. Does that mean Chrome OS’s days are numbered? Google also backs a web-based market, so Chrome OS enjoys the same developer leverage that Android currently has.This points to a convergence that might have been in the cards all along.

The Evolution of Android


Google, seeing a large growth of Internet use and search in mobile devices, acquired Android, Inc., in 2005 to focus its development on a mobile device platform. Apple introduced the iPhone in 2007 with some ground-breaking ideas including multitouch and an open market for applications.Android was quickly adapted to include these features and to offer definite distinctions, such as more control for developers and multitasking. In addition,Android incorporates enterprise requirements, such as exchange support, remote wipe, and Virtual Private Network (VPN) support, to go after the enterprise market that Research In Motion has developed and held so well with its Blackberry models.

Device diversity and quick adaptation have helped Android grow its user base, but it comes with potential challenges for developers.Applications need to support multiple screen sizes, resolution ratios, keyboards, hardware sensors, OS versions, wireless data rates, and system configurations. Each can lead to different and unpredictable behavior, but testing applications across all environments is an impossible task.

Android has therefore been constructed to ensure as uniform an experience across platforms as possible. By abstracting the hardware differences,Android OS tries to insulate applications from device-specific modifications while providing the flexibility to tune aspects as needed. Future-proofing of applications to the introduction of new hardware platforms and OS updates is also a consideration.This mostly works as long as the developer is well aware of this systematic approach.The generic Application Programming Interfaces (API) that Android offers and how to ensure device and OS compatibility are main threads discussed throughout this book.

Still, as with any embedded platform, extensive testing of applications is required. Google provides assistance to third-party developers in many forms as Android Development Tool (ADT) plugins for Eclipse (also as standalone tools) including real-time logging capabilities, a realistic emulator that runs native ARM code, and in-field error reports from users to developers of Android Market applications.

Increasingly popular Android, Nokia Smartphone Market Disappear from the European

Mobile market research firm, comScore, returned to announce their latest report about the smartphone market. The research lasted for three months and ended in July 2011 by five EU member states as the most popular data sources. 

From five countries: Britain, Germany, France, Spain and Italy, recorded Symbian platform is still the most popular mobile alias is in the top position. Underneath is Android is making a big leap to be able to outperform the IOS that is in third position. 

Symbian's achievement is actually a large decline over the same period in 2010. At that Symbian's most popular mobile platform with a percentage of 53.9% while Google's Android just 6% only. But what happened a year selahnya, Android shot to 22.3% while Symbian is still leading with 37.8%. That is, the very sharp decline Symbiam -16.1 points, while Android rose 16.2 points.


Meanwhile, RIM's BlackBerry and Microsoft's Windows is also still on the list of top 5 mobile platforms, each with a market share 9.4% and 6.7%. If RIM was up 1.5 points compared to last year, Microsoft through the Windows Mobile and Windows Phone 7 has decreased -4.8 points. 


Although the BlackBerry could be one step above Microsoft, but many pundits speculated as Windows Phone Nokia smartphone release in 2012, BlackBerry positions likely to be displaced by the Windows mobile platform. 


In addition to looking at mobile OS, comScore also reports on the most popular mobile device manufacturers in 5 European countries. If the results issued by the research firm IDC, Samsung became the most popular smartphone manufacturer in Western Europe, the report noted ComScore HTC as the manufacturer of the most popular mobile devices in the UK, Germany, France, Spain and Italy. 

According to IDC reports, Samsung was in the top position with 22% mastery on the smartphone market, behind a very thin with Apple which controls 21% of smartphone market by selling the iPhone. Samsung achievement is assessed more than just amazing because Korean firms have grown by 700% compared to last year. While Apple, despite being in second place, but its development is only 64% compared to 2010. 


In contrast to IDC highlighting the Western European market, comScore notes HTC as the ruler of mainland Europe with a percentage of 34.6%, behind thin with Samsung (31.7%). But Samsung has actually been defeated HTC in 4 of 5 countries where the research was conducted. Samsung debuted in France, Spain, Germany and Italy. 


What is interesting is the emergence of Sony Ericsson in third with a total of 15.1%. Underneath is the LG and Motorola. Your search for Nokia? Hmm, it looks like the former ruler's mobile phone market has totally frozen out of position ...