Wednesday, February 13, 2013

tango apk free download

FEATURES:
☞ The Best Video Calls over 3G, 4G, and Wi-Fi ☜
✓ Works with most smartphones, tablets, & PCs
✓ Save money with free international calls to other Tango members
✓ We automatically find the friends that already have Tango
✓ No login & password - create an account in less than five seconds 
☞ Text Messaging Features ☜
✓ Send & receive FREE text messages with your Tango contacts
✓ Impress your friends by sending them Tango Surprises in your text conversations - way more fun than emoji!
✓ Share your favorite moments by sending video messages in your Tango conversations
☞ Video Messages Features ☜
✓ Send & receive FREE video messages
✓ Group video messaging! Share with multiple people at once
✓ Send video messages to friends who don’t have Tango
✓ View your sent messages & forward to others

DOWNLOAD Tango

Tuesday, February 12, 2013

smart tools for android free download

Description

Smart Tools is a complete package of 5 app sets. It includes 5 Pro sets for a total of 15 tools. In a word, All-in-One.Set 1: Length, Angle, Slope, Level, Thread - Smart Ruler Pro
Set 2: Distance, Height, Width, Area - Smart Measure Pro
Set 3: Compass, Metal detector, GPS - Smart Compass Pro
Set 4: Sound level meter, Vibrometer - Sound Meter Pro
Set 5: Flashlight, Magnifier - Smart Light Pro

Even more tools will be added soon. Next will be Barometer and more.
Do you want to get more tools and features? Please send an email. I'll reply to it ASAP.
I hope my apps are useful to your SMART Life. Thank you.
* Off-line support (including Tablet PCs) : Open this app several times with connections, you can open it without any connection.
** A magnetic sensor is required. So this app cannot support several android devices (i.e HTC Desire X).

Free Download

all you need for Nod32 Keys

You can find here the Latest Keys

 www.allantiviruskeys.com      Coming Soooooooooooon

Or our daily page on facebook

https://www.facebook.com/Nod32.keys.update.daily

(Android 4.1.1 Jelly Bean ROM) for Galaxy MINI

Samsung Galaxy Mini S5570 never got the official Android 4.0 ICS software update, but look what do we have here, Android 4.1.1 Jelly Bean (CM10) is already being ported for this Android phone with almost all the features working fine on the small screen.
As you read further, we will guide you through the entire process of how to update Galaxy Mini S5570 to Android 4.1.1 Jelly Bean (CM10) custom firmware using CWM recovery. Make sure you backup all your data from the tips and tools given below as you will have to wipe everything in order to install this firmware.
Samsung Galaxy Mini S5570   
Disclaimer: All the tools, mods or ROMs mentioned below belong to their respective owners/developers. We (Androidica) or the developers are not to be held responsible if you damage or brick your device. We don’t have you on gun point to try out this tutorial.

What doesn’t work:

  • Proximity, magnetic, orientation sensors
  • HQ video playback
  • Camera
  • Voice search
Make sure you have installed all your USB drivers for the Samsung Galaxy Mini to connect it with the computer. Download Samsung Galaxy Mini USB drivers! Apart from just the USB drivers, there are a few more things that you need to take care of.
1. You need to enable USB debugging mode. This helps to connect your Android phone with the PC. 
2. Your phone battery should be 80-85% charged. If your phone goes off suddenly because of battery, during flashing ROMs or installing mods and updates — your phone might go dead permanently. 
3. Backup all your important data that you might need as soon as your flash a new ROM, or make a backup for just in case, you never know when anything might go wrong. See below on how to backup data:
  • Backup your SMS messages.
  • Backup Contacts, Gmail and Google Data. How? –> Sync with Google Sync.
  • Backup Call History
  • Backup WhatsApp Messages. 
  • Backup APN Settings: GPRS, 3G, MMS Settings.
4. Your phone should be factory unlocked. Additional instructions for locked Android devices will be added in the tutorial for unlocking devices.

How to Install Android 4.1.1 Jelly Bean (CM10) on Galaxy Mini S5570

We have put together a detailed step-by-step instructions guide on how to install Android 4.1.1 Jelly Bean on Galaxy Mini S5570. If you are used to installing custom ROMs on your Galaxy Mini, then this should not be any different for you.
However, for beginners, you need to root your Samsung Galaxy Mini and install a custom recovery. Please Google that up if you are unsure and read this tutorial once before you actually perform it on your device.
Just To Remember:
  • This Android 4.1.1 Jelly Bean is only for Galaxy Mini S5570 and I am not sure if it will work on the other variants of the Galaxy Mini on other carriers.
  • Please make sure you have ClockworkMod recovery installed.
  • Make a Nandroid backup of your previous phone set up before proceeding – for just in case anything goes wrong.

 

Complete Step-By-Step Instructions:

Step 1 - Download Android 4.1.1 Jelly Bean for Galaxy Mini on your PC, if you haven’t already.
Step 2 - Connect and mount your Galaxy Mini USB memory on your computer using the USB cable.
Step 3 - Now copy/paste the Android 4.1.1 ROM zip file to your SD card. Make sure the file is in the SD card root.
Step 4 - Then turn off your phone.
Step 5 - Now to get in the recovery mode. Switch on the phone while pressing and holding the Menu + Power buttons.
Step 6 - Follow the navigation instructions on the screen. Select BOOTLOADER and then go to RECOVERY.
Step 7 - In ClockworkMod recovery, wipe data first. Then scroll down to “flash zip from SD card” and press the power button to select it.
Step 8 - Press the power button again and select “choose zip from sdcard”.
Step 9 -Now using your volume keys, navigate to Android 4.1.1 ROM zip file and select it using the power button. Confirm the installation on the next screen and the installation procedure should start now.
Step 10 - After the installation completes, go to “+++++Go Back” and reboot the phone by selecting “reboot system now” from the recovery menu. The phone will boot now and it might take about 5 minutes to boot on your first time. So, please wait.
That’s it! Your Galaxy Mini now has Android 4.1.1 Jelly Bean installed on the phone. Go to Settings >About phone to verify.

Update Samsung Galaxy Mini S5570 With ICS 4.0.4 (CM9) Beta 7

So here is another ICS update for Samsung Galaxy Mini S5570. In the last update release, there were many bugs – system instability, mass storage problems, flickering and many more, but developers have put their efforts to overcome these problems and fixed the issues. Still they have not fixed all the bugs like camera (which is more essential), but we can expect camera and many other bug fixes in upcoming releases. Sources have told that the camera will fixed as soon as possible in near release. As this might take some time, till then you can enjoy this release & let developers do their work.
Now in further article we will be discussing how to update Samsung Galaxy Mini S5570 to latest ICS 4.0.4 CM9 beta 7.
In the Due Course of this article We will be checking,
  1. Enhancements in ICS 4.0.4 (CM9) Beta 7 for Galaxy Mini,
  2. Essential Steps Before Installing ROM
  3. Procedure to update Galaxy Mini s5570 with ICS 4.0.4 Cyanogen MOD 9 Release.
Disclaimer: We have made this article covering each and every part at our level best. In case if any damage happens to your device (it should not be), neither we nor developer will be held liable for it.
Enhancements in the ICS 4.0.4(CM9) Beta 7:
  • Android updated to 4.0.4.
  • FM Working.
  • Clean Cyanogen Mod 9 Sources.
  • Smooth windows animations.
  • New phone lock animation.
  • Hardware acceleration on most video formats (not all).
  • Smooth videos on YouTube (LQ only right now).
  • Fully working deep sleep.
  • GSM fully works (signal indicator/mobile data/phone calls/messages etc.)
  • Updated Google Apps.
  • Flickering is Gone.
  • Working native mass storage.
  • New kernel, updated to 2.6.35.7perf-CL945787.
  • Smoother than Gingerbread.
  • Good System performance.
  • Improved GPU performance.
  • Removed UMS app.
  • New Adreno 200 libraries for ICS.
  • Fast and Smooth System.
  • Working Live Wallpapers (won’t slowdown your system, like before or on Gingerbread).
  • All time Gallery and Calculator.
  • Working Gmail App.
  • Smooth And Fast Native Browser.
  • All Apps with Graphics Problems are Fixed.
  • Updated AOSP/CM9 sources.
  • Updated Audio Libraries.
Essential Steps Before Installing ROM:
  • You Must Enable USB Debugging By Checking the Box in your device by Following the Path Below:
Settings -> Applications -> Development -> USB debugging
  • It will highly Recommended to Backup all Your data Stored in your phone So as to Restore it back just in case If You Lose or Corrupt the Data During this Process.
  • Your Device Must be Charged up to 70% or Above Battery Level to Ensure that Your Device should not be Turned Off During this Process.
  • It will be Recommended to Temporary Disable Security Tools as well as Antivirus Installed on your Computer as This might Interrupt the Process.
  • Your Device Must Be Running Gingerbread 2.3.x ROM. This ROM will not Work on Froyo 2.2.x.
By Assuming that you have followed all the instructions mentioned in Essential Steps Before Installing ROM, you are now ready to proceed further where we will be checking how to apply this Firmware Update in your phone.
Procedure to update Samsung Galaxy Mini S5570 with ICS 4.0.4 (CM9) Beta 7:
For Simplicity We Have Divided Procedure in Two Simple Steps.
Step 1: Clock Work MOD Installation
  • Now, Switch off Your Device And Enter into Download Mode By Pressing Power+Menu Button+Volume Down Button Until Downloading Mode Appears.Open Odin_v4.38.exe. Place tass.ops on OPS tab. Place CWM-5.0.2.8-Touch.tar.md5 in PDA Tab.Connect the device to PC which you have put in Downloading Mode. Press Start and wait for flashing process is finished (Until You See Pass message).
After this you will have to proceed to the next step which is mentioned Further
Step 2: Installation of ICS 4.0.4 CM9:

  • First up you need to download Zip file in Your Computer which is mentioned Below.
  1. CM9 for Galaxy Mini (update: 11 Nov 2012)
Tip: Update Samsung Galaxy Mini to Android 4.1.1 Jelly Bean via Cyanogenmod 10
  • Now, once you are done with downloading the above files in your computer, you need to now copy the files in your phone and ensure that you are not placing these file deep into the phone. Please note that you should not modify or rename the files which you have downloaded or else there is a high probability that the file would not be supported.
  • After this Enter in Recovery Mode.Recovery Mode Can Be Entered By Holding Power Off + Menu Button Simultaneously.
  • In the recovery mode, you will have to choose “choose zip from SD”. Now, from the list of files and paths you will need to first select the file which is named as “m-9-20121110-UNOFFICIAL-tass.zip” (or which You Have Copied to SD Earlier). Ensure that you select the file properly.
  • Now, as soon as the process is over.Select Wipe Data/Factory Reset And Wipe Cache Partition.& Then Select Reboot System Now.
Note: It Will Take Some Time For The First Boot As You Are Flashing The ROM For The First Time.After 1st Boot, Your Device Will Boot Normally.
So as soon as the firmware updated successfully, the device will be rebooted and Cheers, you have now successfully updated Your Device to Latest Update of ICS Beta 7. (You can Check it by Settings->About Phone). Do let me know in the comment Section Just in case if you face any issues, I Will Try To Fix It As Soon As Possible.

The Secret Feature in IOS6

Apple’s iOS 5 update was fantastic. It brought so many awesome new features to the platform and made our devices much better in my opinion. Lots of little things like integration with Twitter, multiple map navigation routes, and the ability to define any word you want with a internal dictionary made iOS 5 one to be thankful for. How does the latest version compare?

iOS 6 was released a few month’s ago with a whole slew of new updates. In my opinion most of the press has been centered around the new map app debacle. Apple got rid of Google maps and introduced us to Apple maps. Everyone was excited about the turn-by-turn navigation and 3D buildings, but who knew that the whole thing would be such a big flop. Even in the heart of Silicon Valley my Apple maps have failed me on more than one occasion.

In spite of that, iOS 6 has features which have left many Apple users wondering how they ever got along without them. Aside from the big, most noticeable new features, there are many subtle changes which have improved the usability of our Apple devices. Here’s a look at 20 of the lesser known features you might have missed.

**In no particular order**
1. Siri is Smarter

Apple sent Siri back to school and now she’s a bit smarter making the app more user friendly. You can speak to Siri using more colloquial language and she does her best to understand. She’s also a more productive assistant able to Tweet and post on Facebook for you.
2. Cellular FaceTime

Wireless carriers are still catching up with this update, but iOS 6 allows users to use FaceTime over cellular networks. Again, not all networks allow this option for free. But I think in the future, now that the cellular FaceTime option is here, more wireless providers will hop on board and allow users the ability to use the feature.
3. Easier App Downloading

You might’ve noticed that you’re not required to enter a password quite as often when downloading new apps. That’s because downloading free apps doesn’t call for a password at all. Also, if you are re-downloading previously installed apps you don’t need to re-enter a password.
4. iPads New Sleek Clock

The iPad as a new clock app. It actually looks very nice. There’s been some disgruntled geeks claiming it was stolen from a Swiss railway company or something, and that is probably true, but it still looks great and functions smoothly. The Swiss can take that up in Santa Clara County Superior Court.
5. “New” Apps

Newly installed apps on your device are now labeled with a blue ribbon in the corner of the icon which says “new”. Users installing lots of new apps may find this little bonus feature useful.
6. Open Apps from Store

When you’re hopping around the App Store downloading and installing new stuff you can access them much easier. If you hang around for your download to complete there is an button to jump straight to the app. It’s nice not to have the App Store close every time you install something new.
7. iMessage Restrictions

After some digging around I found that you can restrict who sends you an iMessage. If you don’t want people you don’t know contacting you through iMessage, then restrict it so only your contacts can use it.
8. Top Bar Color

The thin status bar at the top changes colors depending on what app you are running. The subtle feature has received some criticism. I guess it messes up the feng shui or energy of the page. Maybe the colors clash and some people don’t like that? For me, I don’t notice it.
9. Group Messaging Turn Off

I’m cheating here because this is an iOS 5 feature. I’m pretty slow when it comes to this stuff. You can turn off inclusion in group messages. Go to Settings > Messages and turn group messaging off.
10. New Wallpapers

There are 8 new wallpapers to choose from. It bumps the number of default wallpapers up to 23.
11. Bluetooth Accessibility

Bluetooth settings are now clearly identifiable at the top of the settings page. They are no longer under the Gen. tab which makes toggling Bluetooth on and off much easier.
12. Electronic Signatures

The S/MIME (Secure/Multipurpose Internet Mail Extensions) supports electronic signatures so now you can know for sure who sent the message and it can be time stamped. Under the advanced setting of your mail simply configure the electronic signature information there. Is your mail security up to par?
13. Mail Refresh

I’m pretty sure most users of the new iOS 6 will have noticed the “pull to refresh” feature in their mail settings. If you haven’t, simply open up your mail app and pull it down.
14. Deleting Mail

The option to either delete or archive mail is a lot easier. All you need to do is tap and hold down the delete message button in your email app. This will give you the option to either archive or delete the message.
15. Email Attachments

How annoying was it without the ability to attach photos using the old iOS? Well, now you can! Tap and hold the body of the email and then select insert photo or video.
16. Alarm Songs

If your like me you stopped using the alarm clock because the default wake up sounds were terrible. Now you can go back to using the standard alarm clock and can choose songs from your iTunes library. Is it weird that I use “dueling banjos” from the movie Deliverance?
17. Language Upgrades

When you have conversations with people in other languages the keyboard automatically remembers it. For me that’s a very handy little time-saving feature.
18. Notification Tweeting

You can tweet and post to Facebook from the notification Center. Simply bring down the notification menu and you’ll see it directly under the weather.
19. Safari Sharing

Browsing with Safari has new sharing features. Now when you click the share button at the bottom of the browser you can share it with a couple of new features like Twitter and Facebook. You can also print and bookmark things from this menu.
20. Siri Sports

I know I already mentioned Siri, but this last one is good. You can now ask Siri to check sports scores and stats for most major sports. This works for both professional and college levels. And it’s not just sports scores, you can check player stats and other little facts like player height and weight.

I’m sure I’m missing lots of interesting features with the new iOS update. What are some of the subtle new features/hidden gems that you have found while using the new operating system?

Top 5 Features of Android 4.2

The Nexus 4 smartphone, Nexus 10 tablet and additional Nexus 7 options might be the stars of today’s Google announcements, but they’re all supported by the same software underpinning: Android 4.2, an updated version of the Android 4.1 Jelly Bean operating system found in the currently available Nexus hardware.

Don’t let that slight 0.1 numerical change fool you. Android 4.2 brings more than a few notable improvements to Google’s mobile OS. Here’s what you’ll find underneath the hood of Google’s latest Nexus devices.

    Multiple User Profiles. Android 4.2 adds the ability to have multiple user profiles on a tablet, meaning you can maintain a firm line of separation between your apps and files and your kid’s apps and files.
    Improved Google Now functionality. Google Now was already a killer Jelly Bean feature, and Google’s made it even more handy-dandy with the inclusion of cards containing flight information, restaurant reservations, hotel confirmations, and shipping details. You’ll also find Google Field Trip-esque cards identifying nearby movie times, attractions, photogenic locales, and concerts by your favorite artists.
    360-degree panoramic pictures. Google got sick of waiting for Microsoft to port Photosynth to Android, it seems. The new Photo Share feature lets you take 360-degree, bubble-esque snapshots of the world around you, complete with the ability to instantly upload the images to Google+ or Google Maps.
    Gesture Typing. Swype users will already be familiar with what Google’s calling Gesture Typing; the ability to move from letter-to-letter on your virtual keyboard without having to lift a finger, eliminating the need to hunt-and-peck.
    Miracast support. Once those nifty new Miracast-enabled HDTVs start popping up, they’ll be able to wirelessly mirror the displays of Android 4.2-equipped devices, letting you watch YouTube videos or play games on a big screen on the fly.
Android 4.2 is also rumored to include a bevy of other enhancements, including improved security functions and a shiny coat of paint on the Gmail app, but we’ll have to get our hands on the operating system before we weigh in. Google’s also expanding its Play Store, bringing movie- and music-buying capabilities to various countries around the globe and adding new content from Twentieth Century Fox, Time Inc. and Warner Music Group.  

The new Android 4.2 features should be available in the 32GB Nexus 7 variants hitting the shelves today, while the new pixelicious Nexus 10 tablet and Nexus 4 smartphone will start shipping with the new operating system on November 13th. Check out the video below to see Android 4.2 in action.

Android A New and Growing Platform

What’s New in Android 1.5
The much-anticipated Android 1.5 SDK, released in late April 2009, provided a number of
substantial improvements to both the underlying software libraries and the Android development
tools and build environment. Also, the Android system received some much-needed
UI “polish,” both in terms of visual appeal and performance.
Although most of these upgrades and improvements were welcome and necessary, the new
SDK version did cause some upheaval within the Android developer community. A number
of published applications required retesting and resubmission to the Android Marketplace
to conform to the new SDK requirements, which were quickly rolled out to all Android
phones in the field as a firmware upgra
The Android Platform
Android is an operating system and a software platform upon which applications are
developed. A core set of applications for everyday tasks, such as Web browsing and email,
are included on Android handsets.
As a product of the Open Handset Alliance’s vision for a robust and open source
development environment for wireless,Android is an emerging mobile development
platform.The platform was designed for the sole purpose of encouraging a free and
open market that all mobile applications phone users might want to have and software
developers might want to develop.
de, rendering older applications obsolete.
Android’s Underlying Architecture
The Android platform is designed to be more fault-tolerant than many of its predecessors.
The handset runs a Linux operating system, upon which Android applications are
executed in a secure fashion. Each Android application runs in its own virtual machine
(Figure 1.8).Android applications are managed code; therefore, they are much less likely
to cause the phone to crash, leading to fewer instances of device corruption (also called
“bricking” the phone, or rendering it useless).
Some of the core functions the kernel handles include
n
Enforcement of application permissions and security
n
Low-level memory management
n
Process management and threading
n
The network stack
n
Display, keypad input, camera,WiFi, Flash memory, audio, and binder (IPC) driver
access
Android Application Runtime Environment
Each Android application runs in a separate process, with its own instance of the Dalvik
virtual machine (VM). Based on the Java VM, the Dalvik design has been optimized for
mobile devices.The Dalvik VM has a small memory footprint and multiple instances of
the Dalvik VM can run concurrently on the handset.
Security and Permissions
The integrity of the Android platform is maintained through a variety of security measures.
Applications as Operating System Users
When an application is installed, the operating system creates a new user profile associated
with the application. Each application runs as a different user, with its own private
files on the file system, a user ID, and a secure operating environment.
The application executes in its own process with its own instance of the Dalvik VM
and under its own user ID on the operating system.
Explicitly Defined Application Permissions
To access shared resources on the system,Android applications register for the specific
privileges they require. Some of these privileges enable the application to use phone
functionality to make calls, access the network, and control the camera and other
hardware sensors. Applications also require permission to access shared data containing
private and personal information such as user preferences, user’s location, and contact
information.
Applications might also enforce their own permissions by declaring them for other
applications to use.The application can declare any number of different permission types,
such as read-only or read-write permissions, for finer control over the application.
Limited Ad-Hoc Permissions
Applications that act as content providers might want to provide some on-the-fly
permissions to other applications for specific information they want to share openly.This
is done using ad-hoc granting and revoking of access to specific resources using Uniform
Resource Identifiers (URIs).
URIs index specific data assets on the system, such as images and text. Here is an
example of a URI that provides the phone numbers of all contacts:
content://contacts/phones
To understand how this permission process works, let’s look at an example.
Let’s say we’ve got an application that keeps track of the user’s public and private
birthday wish lists. If this application wanted to share its data with other applications, it
could grant URI permissions for the public wish list, allowing another application permission
to access this list without explicitly having to ask for it.

A “Free Market” for Applications

Android developers are free to choose any kind of revenue model they want.They can
develop freeware, shareware, or trial-ware applications, ad-driven, and paid applications.
Android was designed to fundamentally change the rules about what kind of wireless
applications could be developed. In the past, developers faced many restrictions that had
little to do with the application functionality or features:
n
Store limitations on the number of competing applications of a given type
n
Store limitations on pricing, revenue models, and royalties
n
Operator unwillingness to provide applications for smaller demographics
With Android, developers can write and successfully publish any kind of application they
want. Developers can tailor applications to small demographics, instead of just large-scale
money-making ones often insisted upon by mobile operators.Vertical market applications
can be deployed to specific, targeted users.
Because developers have a variety of application distribution mechanisms to choose
from, they can pick the methods that work for them instead of being forced to play by
others’ rules.Android developers can distribute their applications to users in a variety of
ways.
n
Google developed the Android Market (Figure 1.7), a generic Android application
store with a revenue-sharing model.
n
Handango.com added Android applications to its existing catalogue using their
billing models and revenue sharing model.
n
Developers can come up with their own delivery and payment mechanisms.
Mobile operators are still free to develop their own application stores and enforce their
own rules, but it will no longer be the only opportunity developers have to distribute
their applications.
Android might be the next generation in mobile platforms, but the technology is still in
its early stages. Early Android developers have had to deal with the typical roadblocks
associated with a new platform: frequently revised SDKs, lack of good documentation,
and market uncertainties.There are only a handful of Android handsets available to consumers
at this time.
On the other hand, developers diving into Android development now benefit from
the first-to-market competitive advantages we’ve seen on other platforms such as BREW
and Symbian. Early developers who give feedback are more likely to have an impact on
the long-term design of the Android platform and what features will come in the next
version of the SDK. Finally, the Android forum community is lively and friendly.
Incentive programs, such as the Android Developer Challenge, have encouraged many
new developers to dig into the platform.

Android Platform Differences

Android is hailed as “the first complete, open, and free mobile platform.”
n
Complete: The designers took a comprehensive approach when they developed
the Android platform.They began with a secure operating system and built a
robust software framework on top that allows for rich application development
opportunities.
n
Open: The Android platform is provided through open source licensing.
Developers have unprecedented access to the handset features when developing
applications.
n
Free: Android applications are free to develop.There are no licensing or royalty
fees to develop on the platform. No required membership fees. No required
testing fees. No required signing or certification fees.Android applications can be
distributed and commercialized in a variety of ways.
Android: A Next Generation Platform
Although Android has many innovative features not available in existing mobile
platforms, its designers also leveraged many tried-and-true approaches proven to work in
the wireless world. It’s true that many of these features appear in existing proprietary
platforms, but Android combines them in a free and open fashion, while simultaneously
addressing many of the flaws on these competing platforms.
The Android mascot is a little green robot, shown in Figure 1.6.You’ll see this little
guy (girl?) often used to depict Android-related materials.
Android is the first in a new generation of mobile platforms, giving its platform
developers a distinct edge on the competition.Android’s designers examined the benefits
and drawbacks of existing platforms and then incorporate their most successful features.
At the same time,Android’s designers avoided the mistakes others suffered in the past.
Free and Open Source
Android is an open source platform. Neither developers nor handset manufacturers pay
royalties or license fees to develop for the platform.
The underlying operating system of Android is licensed under GNU General Public
License Version 2 (GPLv2), a strong “copyleft” license where any third-party improvements
must continue to fall under the open source licensing agreement terms.The
Android framework is distributed under the Apache Software License (ASL/Apache2),
which allows for the distribution of both open and closed source derivations of the
source code. Commercial developers (handset manufacturers especially) can choose to
enhance the platform without having to provide their improvements to the open source
community. Instead, developers can profit from enhancements such as handset-specific
improvements and redistribute their work under whatever licensing they want.
Android application developers have the ability to distribute their applications under
whatever licensing scheme they prefer. Developers can write open source freeware or
traditional licensed applications for profit and everything in between.
Familiar and Inexpensive Development Tools
Unlike some proprietary platforms that require developer registration fees, vetting, and
expensive compilers, there are no upfront costs to developing Android applications.
Freely Available Software Development Kit
The Android SDK and tools are freely available. Developers can download the Android
SDK from the Android Web site after agreeing to the terms of the Android Software
Development Kit License Agreement.
Familiar Language, Familiar Development Environments
Developers have several choices when it comes to integrated development environments
(IDEs). Many developers choose the popular and freely available Eclipse IDE to design
and develop Android applications. Eclipse is the most popular IDE for Android development
and there is an Android plug-in available for facilitating Android development.
Android applications can be developed on the following operating systems:
n
Windows XP or Vista
n
Mac OS X 10.4.8 or later (x86 only)n Linux (tested on Linux Ubuntu 6.06 LTS, Dapper Drake)
Reasonable Learning Curve for Developers
Android applications are written in a well-respected programming language: Java.
The Android application framework includes traditional programming constructs,
such as threads and processes and specially designed data structures to encapsulate objects
commonly used in mobile applications. Developers can rely on familiar class libraries,
such as
java.net and java.text. Specialty libraries for tasks like graphics and database
management are implemented using well-defined open standards like OpenGL
Embedded Systems (OpenGL ES) or SQLite.
Enabling Development of Powerful Applications
In the past, handset manufacturers often established special relationships with trusted
third-party software developers (OEM/ODM relationships).This elite group of software
developers wrote native applications, such as messaging and Web browsers, which
shipped on the handset as part of the phone’s core feature set.To design these applications,
the manufacturer would grant the developer privileged inside access and knowledge
of a handset’s internal software framework and firmware.
On the Android platform, there is no distinction between native and third-party
applications, enabling healthy competition among application developers. All Android
applications use the same libraries.Android applications have unprecedented access to the
underlying hardware, allowing developers to write much more powerful applications.
Applications can be extended or replaced altogether. For example,Android developers
are now free to design email clients tailored to specific email servers such as Microsoft
Exchange or Lotus Notes.

The Open Handset Alliance

Enter search advertising giant Google. Now a household name, Google has shown an
interest in spreading its brand and suite of tools to the wireless marketplace.The company’s
business model has been amazingly successful on the Internet, and technically speaking,
wireless isn’t that different.
Google Goes Wireless
The company’s initial forays into mobile were beset with all the problems you would
expect.The freedoms Internet users enjoyed were not shared by mobile phone subscribers.
Internet users can choose from the wide variety of computer brands, operating
systems, Internet service providers, and Web browser applications.
Nearly all Google services are free and ad driven. Many applications in the Google
Labs suite would directly compete with the applications available on mobile phones.The
applications range from simple calendars and calculators to navigation with Google Maps
and the latest tailored news from News Alerts—not to mention corporate acquisitions
like Blogger and YouTube.
When this approach didn’t yield the intended results, Google decided to a different
approach—to revamp the entire system upon which wireless application development
was based, hoping to provide a more open environment for users and developers: the
Internet model.The Internet model allowes users to choose between freeware, shareware,
and paid software.This enables free market competition among services.
Forming of the Open Handset Alliance
With its user-centric, democratic design philosophies, Google has led a movement to
turn the existing closely guarded wireless market into one where phone users can move
between carriers easily and have unfettered access to applications and services.With its
vast resources, Google has taken a broad approach, examining the wireless infrastructure
from the FCC wireless spectrum policies to the handset manufacturers’ requirements,
application developer needs, and mobile operator desires.
Next, Google joined with other like-minded members in the wireless community
and posed the following question:What would it take to build a better mobile phone?
The Open Handset Alliance (OHA) (Figure 1.5) was formed in November 2007 to
answer that very question.The OHA is a business alliance comprised of many of the
largest and most successful mobile companies on the planet. Its members include chip
makers, handset manufacturers, software developers, and service providers.The entire
mobile supply chain is well represented.
Working together, OHA members began developing a nonproprietary open standard
platform that would aim to alleviate the aforementioned problems hindering the mobile
community.They called it the Android project.
Google’s involvement in the Android project has been extensive.The company hosts
the open source project and provides online documentation, tools, forums, and the
Software Development Kit (SDK). Google has also hosted a number of events at conferences
and the Android Developer Challenge, a contest to encourage developers to write
killer Android applications—for $10 million dollars in prizes.

The Proprietary Mobile Platforms

It came as no surprise when users wanted more—they will always want more.
Writing robust applications such as graphic-intensive video games with WAP was
nearly impossible.The 18-year-old to 25-year-old sweet-spot demographic—the kids
with the disposable income most likely to personalize their phones with wallpapers and
ringtones—looked at their portable gaming systems and asked for a device that was both
a phone and a gaming device or a phone and a music player.They argued that if devices
such as Nintendo’s Game Boy could provide hours of entertainment with only five buttons,
why not just add phone capabilities? Others looked to their digital cameras, Palms,
Blackberries, iPods, and even their laptops and asked the same question.The market
seemed to be teetering on the edge of device convergence.
Memory was getting cheaper; batteries were getting better; and PDAs and other
embedded devices were beginning to run compact versions of common operating systems
such as Linux and Windows.The traditional desktop application developer was suddenly
a player in the embedded device market, especially with Smartphone technologies
such as Windows Mobile, which they found familiar.
Handset manufacturers realized that if they wanted to continue to sell traditional
handsets, they needed to change their protectionist policies pertaining to handset design
and expose their internal frameworks, at least, to some extent.
A variety of different proprietary platforms emerged—and developers are still actively
creating applications for them. Some Smartphone devices ran Palm OS (now Garnet
OS) and RIM Blackberry OS. Sun Microsystems took its popular Java platform and
J2ME emerged (now known as Java Micro Edition [Java ME]). Chipset maker
Qualcomm developed and licensed its Binary Runtime Environment for Wireless
(BREW). Other platforms, such as Symbian OS, were developed by handset manufacturers
such as Nokia, Sony Ericsson, Motorola, and Samsung.The Apple iPhone OS (OS X
iPhone) joined the ranks in 2008. Figure 1.4 shows several different phones, all of which
have different development platforms.
Many of these platforms have associated developer programs.These programs keep
the developer communities small, vetted, and under contractual agreements on what they
can and cannot do.These programs are often required and developers must pay for them.
Each platform has benefits and drawbacks. Of course, developers love to debate over
which platform is “the best.” (Hint: It’s usually the platform we’re currently developing
for.)
The truth is no one platform has emerged victorious. Some platforms are best suited
for commercializing games and making millions—if your company has brand backing.
Other platforms are more open and suitable for the hobbyist or vertical market applications.
No mobile platform is best suited for all possible applications. As a result, the
mobile phone has become increasingly fragmented, with all platforms sharing part of the
pie.
For manufacturers and mobile operators, handset product lines became complicated
fast. Platform market penetration varies greatly by region and user demographic. Instead
of choosing just one platform, manufacturers and operators have been forced to sell
phones for all the different platforms to compete.We’ve even seen some handsets supporting
multiple platforms. (For instance, Symbian phones often also support J2ME.)
The mobile developer community has become as fragmented as the market. It’s nearly
impossible to keep track of all the changes in the market. Developer specialty niches
have formed.The platform development requirements vary greatly. Mobile software
developers work with distinctly different programming environments, different tools, and
different programming languages. Porting among the platforms is often costly and not
straightforward. Keeping track of handset configurations and testing requirements, signing
and certification programs, carrier relationships, and application marketplaces have
become complex spin-off businesses of their own.
It’s a nightmare for the ACME Company wanting a mobile application. Should they
develop a J2ME application? BREW? iPhone? Windows Mobile? Everyone has a different
kind of phone.ACME is forced to choose one or, worse, all of the above. Some platforms
allow for free applications, whereas others do not.Vertical market application
opportunities are limited and expensive.
As a result, many wonderful applications have not reached their desired users, and
many other great ideas have not been developed at all.

WAP browsers

WAP browsers, especially in the early days, were slow and frustrating.Typing long
URLs with the numeric keypad was onerous.WAP pages were often difficult to navigate.
Most WAP sites were written once for all phones and did not account for individual
phone specifications. It didn’t matter if the end-user’s phone had a big color screen or a
postage stamp-sized monochrome one; the developer couldn’t tailor the user’s experience.
The result was a mediocre and not very compelling experience for everyone involved.
Content providers often didn’t bother with a WAP site and instead just advertised
SMS short codes on TV and in magazines. In this case, the user sent a premium SMS
message with a request for a specific wallpaper or ringtone, and the content provider sent
it back. Mobile operators generally liked these delivery mechanisms because they
received a large portion of each messaging fee.
WAP fell short of commercial expectations. In some markets, such as Japan, it flourished,
whereas in others, like the United States, it failed to take off. Handset screens were
too small for surfing. Reading a sentence fragment at a time, and then waiting seconds
for the next segment to download, ruined the user experience, especially because every
second of downloading was often charged to the user. Critics began to call WAP “Wait
and Pay.”
Finally, the mobile operators who provided the WAP portal (the default home page
loaded when you started your WAP browser) often restricted which WAP sites were
accessible.The portal allowed the operator to restrict the number of sites users could
browse and to funnel subscribers to the operator’s preferred content providers and
exclude competing sites.This kind of walled garden approach further discouraged thirdparty
developers, who already faced difficulties in monetizing applications, from writing
applications.

Wireless Application Protocol (WAP)

It turned out allowing direct phone access to the Internet didn’t scale well for mobile.
By this time, professional Web sites were full color and chock full of text, images, and
other sorts of media.These sites relied on JavaScript, Flash, and other technologies to
enhance the user experience and were often designed with a target resolution of
800x600 pixels and higher.
When the first clamshell phone, the Motorola StarTAC, was released in 1996, it merely
had a LCD 10-digit segmented display. (Later models would add a dot-matrix type
display.) Meanwhile, Nokia released one of the first slider phones, the 8110—fondly
referred to as “The Matrix Phone,” as the phone was heavily used in films.The 8110
could display four lines of text with 13 characters per line. Figure 1.3 shows some of the
common phone form factors.
With their postage stamp-sized low-resolution screens and limited storage and processing
power, these phones couldn’t handle the data-intensive operations required by
traditional Web browsers.The bandwidth requirements for data transmission were also
costly to the user.
The Wireless Application Protocol (WAP) standard emerged to address these concerns.
Simply put,WAP was a stripped-down version of HTTP, which is the backbone
protocol of the Internet. Unlike traditional Web browsers,WAP browsers were designed
to run within the memory and bandwidth constraints of the phone.Third-party WAP
sites served up pages written in a markup language called Wireless Markup Language
(WML).These pages were then displayed on the phone’s WAP browser. Users navigated
as they would on the Web, but the pages were much simpler in design.
The WAP solution was great for handset manufacturers.The pressure was off—they
could write one WAP browser to ship with the handset and rely on developers to come
up with the content users wanted.
The WAP solution was great for mobile operators.They could provide a custom WAP
portal, directing their subscribers to the content they wanted to provide, and rake in the
data charges associated with browsing, which were often high.
Developers and content providers didn’t deliver. For the first time, developers had a
chance to develop content for phone users, and some did so, with limited success.
Most of the early WAP sites were extensions of popular branded Web sites, such as
CNN.com and ESPN.com, looking for new ways to extend their readership. Suddenly
phone users accessed the news, stock market quotes, and sports scores on their phones.
Commercializing WAP applications was difficult, and there was no built-in billing
mechanism. Some of the most popular commercial WAP applications that emerged
during this time were simple wallpaper and ringtone catalogues, allowing users to personalize
their phones for the first time. For example, the users browsed a WAP site and
requested a specific item.They filled out a simple order form with their phone number
and their handset model. It was up to the content provider to deliver an image or audio
file compatible with the given phone. Payment and verification were handled through
various premium-priced delivery mechanisms such as Short Message Service (SMS),
Enhanced Messaging Service (EMS), Multimedia Messaging Service (MMS), and WAP
Push.

The Brick

The Motorola DynaTAC 8000X was the first commercially available cell phone. First
marketed in 1983, it was 13 x 1.75 x 3.5 inches in dimension, weighed about 2.5
pounds, and allowed you to talk for a little more than half an hour. It retailed for $3,995,
plus hefty monthly service fees and per-minute charges.
We called it “The Brick,” and the nickname stuck for many of those early mobile
phones we alternatively loved and hated. About the size of a brick, with a battery power
just long enough for half a conversation, these early mobile handsets were mostly seen in
the hands of traveling business execs, security personnel, and the wealthy. First-generation
mobile phones were just too expensive.The service charges alone would bankrupt the
average person, especially when roaming.
Early mobile phones were not particularly full featured. (Although, even the Motorola
DynaTAC, shown in Figure 1.2, had many of the buttons we’ve come to know well,
such as the SEND, END, and CLR buttons.) These early phones did little more than
make and receive calls and, if you were lucky, there was a simple contacts application that
wasn’t impossible to use.
These first-generation mobile phones were designed and developed by the handset
manufacturers. Competition was fierce and trade secrets were closely guarded.
Manufacturers didn’t want to expose the internal workings of their handsets, so they
usually developed the phone software in-house. As a developer, if you weren’t part of this
inner circle, you had no opportunity to write applications for the phones.
It was during this period that we saw the first “time-waster” games begin to appear.
Nokia was famous for putting the 1970s video game
Snake on some of its earliest
monochrome phones. Other manufacturers followed, adding games like Pong,Tetris, and
Tic-Tac-Toe.
These early phones were flawed, but they did something important—they changed
the way people thought about communication. As mobile phone prices dropped, batteries
improved, and reception areas grew, more and more people began carrying these
handy devices. Soon mobile phones were more than just a novelty.
Customers began pushing for more features and more games. But, there was a problem.
The handset manufacturers didn’t have the motivation or the resources to build
every application users wanted.They needed some way to provide a portal for entertainment
and information services without allowing direct access to the handset.
And what better way to provide these services than the Internet?

A Brief History of Mobile Software Development

T
he mobile development community is at a tipping point. Mobile users demand more
choice, more opportunities to customize their phones, and more functionality. Mobile
operators want to provide value-added content to their subscribers in a manageable and
lucrative way. Mobile developers want the freedom to develop the powerful mobile
applications users demand with minimal roadblocks to success. Finally, handset manufacturers
want a stable, secure, and affordable platform to power their devices. Upuntil now
single mobile platform has adequately addressed the needs of all the parties.
Enter Android, which is a potential game-changer for the mobile development community.
An innovative and open platform,Android is well positioned to address the
growing needs of the mobile marketplace.
This chapter explains what Android is, how and why it was developed, and where the
platform fits in to the established mobile marketplace.

Way Back When
Remember way back when a phone was just a phone? When we relied on fixed landlines?
When we ran for the phone instead of pulling it out of our pocket? When we lost
our friends at a crowded ballgame and waited around for hours hoping to reunite? When
we forgot the grocery list (Figure 1.1) and had to find a payphone or drive back home
again?
Those days are long gone.Today, commonplace problems like these are easily solved
with a one-button speed dial or a simple text message like “WRU?” or “20?” or “Milk
and?”
Our mobile phones keep us safe and connected. Nowadays, we roam around freely,
relying on our phones not only to keep in touch with friends, family, and coworkers, but
also to tell us where to go, what to do, and how to do it. Even the most domestic of
events seem to revolve around my mobile phone.
Consider the following true, but slightly enhanced for effect, story:
Once upon a time, on a warm summer evening, I was happily minding my own business cooking
dinner in my new house in rural New Hampshire when a bat swooped over my head, scaring
me to death.
The first thing I did—while ducking—was pull out my cell and send a text message to my
husband, who was across the country at the time: “There’s a bat in the house!”
My husband did not immediately respond (a divorce-worthy incident, I thought at the time), so
I called my Dad and asked him for suggestions on how to get rid of the bat.
He just laughed.
Annoyed, I snapped a picture of the bat with my phone and sent it to my husband and my
blog, simultaneously guilt-tripping him and informing the world of my treacherous domestic
wildlife encounter.
Finally, I Googled “get rid of a bat” and followed the helpful do-it-yourself instructions provided
on the Web for people in my situation. I also learned that late August is when baby bats often
leave the roost for the first time and learn to fly. Newly aware that I had a baby bat on my
hands, I calmly got a broom and managed to herd the bat out of the house.
Problem solved—and I did it all with the help of my trusty cell phone, the old LG VX9800.
My point here? Mobile phones can solve just about
anything—and we rely on them for
everything
these days.
10
Chapter 1 Introducing Android
You notice that I used half a dozen different mobile applications over the course of
this story. Each application was developed by a different company and had a different
user interface. Some were well designed; others not so much. I paid for some of the
applications, and others came on my phone.
As a user, I found the experience functional, but not terribly inspiring. As a mobile
developer, I wished for an opportunity to create a more seamless and powerful application
that could handle all I’d done and more. I wanted to build a better bat trap, if you
will.
Before Android, mobile developers faced many roadblocks when it came to writing
applications. Building the better application, the unique application, the competing application,
the hybrid application, and incorporating many common tasks such as messaging
and calling in a familiar way were often unrealistic goals.
To understand why, let’s take a brief look at the history of mobile software development.