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.