Android’s Samsung and LG upcoming charge, now we are talking …

Someone can not take a couple of weeks of vacation without feeling like getting behind on this Android’s offerings race. It is not news that we all have been waiting for the Samsung Galaxy S family of smart-phones to show up at all four major wireless US carriers sporting very similar “hardware” so now is not about the phone itself or the OS but your carrier of choice that actually comes into play and this is good for consumers; yes competition is good and for us to compare the carriers with less of the hardware bias in mind. Samsung’s Fascinate (Verizon), Captative (AT&T), Epic 4g (sprint) and Vibrant (T-Mobile) are not only very similar but they all are very competitive at the mid-high end of the smart-phone device market.

LG’s a big name in the wireless phone industry is just coming up with a similar strategy proposing a family of smart-phone devices called “Optimus” sporting latest Android’s 2.2 “Froyo” way ahead of anyone else including Samsung so far. LG’s Optimus which may also will follow Samsung’s approach to be open to all US carrier’s with similar and competitive hardware options including Android’s based tablets as well.

Once a dream of bell labs gurus including Dennis Ritchie and Ken Thomson the original creator’s of the Unix OS way back in the late nineteen sixties and a group of high profile computer scientist including Rob Pike and Douglas Mcllroy among others tried to come up with the idea of having a small but powerful OS (Plan 9) capable of running networked appliance devices and taking advantage of the Internet endless possibilities. Today it is not “Inferno” but Android OS which as any other microkernel OS “Unix Like” operating system such as “Linux” highly leveraged key interconnectivity concepts from Plan 9′s original proposal but at the end the vision is getting to become reality among commercial and consumer electronics market. Both Samsung and LG already well established tech appliance device’s giants seriously pushing Android’s capable devices which are not only aiming at the smart-phone’s market but literally we are talking about serious companies getting into the whole spectrum of cloud portals kind of devices such as mobile, home and business appliances running Android’s OS platform there will be no limits.

References for my academic “geek” fellows

  1. Plan 9 authentication in Linux, ACM SIGOPS Operating Systems Review, Volume 42 , Issue 5 (July 2008) Research and developments in the Linux kernel, Pages: 27-33, Year of Publication: 2008
  2. The use of name spaces in Plan 9, ACM SIGOPS Operating Systems Review, Volume 27 , Issue 2 (April 1993), Pages: 72 – 76, Year of Publication: 1993
  3. What’s GNU? Plan 9 Part II, Linux Journal archive, Volume 1995 , Issue 12es (April 1995), Article No.: 5, Year of Publication: 1995
  4. Plan 9 from Bell Labs, Proc. of the Summer 1990 UKUUG Conf., London, July, 1990, pp. 1-9 (
  5. Plan 9, A Distributed System, Proc. of the Spring 1991 EurOpen Conf., Troms, May, 1991, pp. 43-50 (

Android’s revolution has just started …

It is amazing but if anyone of us were told how big Android’s smart-phone offerings will explode in 2010 nobody would take it seriously. Just few weeks after iPhone4 spectacular announcement by Steve Jobs and company (of course the device is not still available until June 24th and only for those eager to make the big waiting lines) AT&T has readily available its brand new HTC Aria for 130 after rebate and has also announced that Samsung Captative is coming up preceding the Samsung big bang announcement at NY this Jun 29th! So what is interesting is that Android’s smart-phones ranges from many different sizes and vendors including a wide range of pricing which would suggest that they will be targeting a wider spread of potential customers as compared with the few willing or able to pay for prices at the high end of the spectrum.

Competition is good and seriously it is getting darn good! A list of Android’s devices is somewhat kept up to date at wikipedia. Besides HTC and Motorola that has been front runners so far but the big players in the low end of wireless devices such as LG and Samsung are emerging with very appealing and affordable options for the rest of us. On top of that PC maker’s such as ACER and DELL are also aggressive with their hybrids smart-phone/entry tablet devices…

At Verizon you can get an Android phone staring from 49.99 (LG Ally) up to HTC Droid incredible for 199.99. But as incredible as it sounds Verizon is already making space for the newest Motorola Droid X which is aiming to compete front to front with HTC EVO 4G and the so expected iPhone4. Thanks there are options and many of them. Similar offerings from other wireless carriers are coming as well, so an smart-phone for everyone seems likely the future to be.

On the Nokia front of course this is not Android but Symbian OS based the Nokia N8 has been also announced and looks pretty promising if price point . Palm is getting stuck with the Palm Pre and Pixi offerings and it does not sounds like there will be anything new before HP’s take over gets completed. We can not rule out neither Nokia or Palm since they share of the overall wireless market is still strong.

But if you are a hard core developer and aiming for trying Android SDK to create Android Apps then you may be waiting just like me for a discounted Nexus One or an Android Development phone, yes these smart-phones are not leading edge in regards to feature set and they are not subsidized unless you want to get engaged with T-Mobile  which is not the most appealing option in the USA northwest at least for me. Getting a development friendly device means it is hardware unlocked, it features a plain boot loader which usually means you can upgrade to the latest Android release as soon as it gets available and you may be able to run not signed apps to test them before you get them up to Android Market or any other distribution way you may choose.

I have to say it again, seems to me that there is no better time for a software engineer to be get into the “Apps” software development wave, just choose a couple of targets to start with and get ready to amaze the millions of potential user’s that are awaiting for your next “App”.

Step 0.0; get Android SDK installed …

To much writing and no signs of moving towards some coding action yet so its time for a step forward. There is no way to produce or even try any Android OS code before actually installing the so famous Android SDK which at the time of writing this article its offering the brand new Android 2.2 platform.  It is great that Android Developers site has this part fully covered so I will not attempt to create another “How To” piece here but just document my very own experience and perhaps be able to add some humble annotations and comments. I need also to disclose that this is my first time trying Android SDK or any similar smart-phone SDK so I do not have any particular expectation but having a fast, smooth and successful installation attempt.

Preparing the development environment is the first step

In my case I am running Ubuntu 10.4 LTS – 64 bits workstation operating system on a desktop computer. Android’s SDK is Java based so the first think is to make sure Java JDK is all set up. Yeah, Android folks have a specific “Ubuntu Linux Notes” section, it is not great. Seems like I need to make sure I got “ia32-libs” and “sun-java6-jdk” packages installed.

Lucky me! I got all that stuff installed already, go figure that would be the case for a software geek, well I am not embarrassed in any way.

Ok. Seems like Eclipse IDE for Java developers “Galileo” version is a recommended one, this one I know I do not have installed while I do really prefer the Bash shell and a trusty plain text editor like “Emacs” or “Vim” but I do not think it will hurt having this tool as part of the arsenal just in case is really needed one day. I am not going to explain the whole Eclipse installation which involves downloading a “tar” file, unpacking its content and create a application launcher. Instead I will make a reference to John Paulett instructions which I followed to have this task completed.

Well, seems like that is it to get ready so let’s get into the subject matter now.

Getting the actual Android SDK is next …

Good, this part is also pretty straight forward. It requires to download Android SDK core files, unpack them under your home directory and add a reference to system path to make programs within tools folder available. So far everything has been business as usual with no problems following Android’s page instructions, nice!! The content of the core SDK folder is shown in screen-shoot below.

Seems like Eclipse IDE is a real deal …

Well, Android SDK installation instructions dedicate a section to help you configure Eclipse’s required Android Development Tools plug-in. If you are looking for using the shell this step is not necessary. I am getting the feeling that Eclipse is a big deal for Android development or just a big deal for Java developers in general, I can not make an opinion on this topic by now but I am intrigued to learn more about it so I will go ahead and have this ADT plug-in setup. Wow, to get to the actual ADT plug-in installation instructions you have to navigate for a couple of links, here it is a shortcut to the actual “Downloading ADT Plug-in” page. Configuring this plug-in involves several steps as shown in screen-shoots sequence below.

Step 1. Open up you freshly installed Eclipse IDE and select from menu. Help -> Install New Software
Step 2. Adding plug-in site information. Click OK.
Step 3. Select developer tools to be installed and click next.
Step 4. Well, if you want to continue you must agreed with terms and conditions. Nothing to be afraid here with a GNU Public License.
Step 5. Well, I did not expect this message but seems like Google still need to work with the Eclipse folks to have ADT packaged signed. I would not worry about this and click OK.
Step 6. Well, Eclipse needs your confirmation about accepting this unsigned certificate. Yes, no problem click OK.
Step 7. What??? Three times to convince Eclipse IDE that I really do not care about Google’s unsigned package problem. Click OK.
Step 8. Cool, after few minutes we got this ADT plug-in installed. wonder if other Eclipse plug-ins also get force to pass over all this clicking OK and Next buttons sequencing. Seems like we are good now!

Finally installing Android SDK components …

I guess this is the installation step we have been waiting for. Time to install Android SDK platform and extra components. After reading the brief explanation I decided to go for the “FULL” install. One more click takes me to “Adding SDK Components” page. There are many ways to do this including a very easy and straight forward via bash but we have got our Eclipse IDE and ADT plug-in installed already then let’s try the GUI way this time. Just had to open up Eclipse IDE again and followed the steps as shown in scree-shoots sequence below.

Step 1. From Eclipse IDE select from Menu. Windows -> Android SDK and AVD Manager.
Step 2. I am committed and went ahead selecting all “Available Packages”. Click “Install Selected” button.
Step 3. Yes, I am sure. select accept all radio button and click “Install” button below.
Step 4. Things are looking promising now, just need to wait until all these components are downloaded and installed.
Step 5. Cool, Eclipse installer found a dependency. Well I accept it. Clicked Yes and things continued.
Step 6. Cool, it all done. Click “Close” and got back to Eclipse IDE, no errors!

Final comments…

The installation process indeed is not complicated but it takes several steps and different applications to be executed, at least for Linux 64 bits version some basic Linux shell knowledge is definitely required. Seems like Eclipse IDE is optional but there is a lot of documentation that suggests that is a good idea to use it not only for installation but for executing common Android development tasks as well. I will be writing about “Hello World” Android application tutorial and other findings in a separate articles. Now we are ready to create Android projects from Eclipse IDE as shown in scree-shoot below! Yeah.

Ubuntu 10.4 upgrade step by step experience …

Once I am not the kind of geek that love to be on the edge all the time and usually prefer to try new stuff whenever it gets somewhat mature and stable. Yesterday I went ahead and put myself into the quest of upgrading my trusty Ubuntu 9.10 OS to the latest Ubuntu 10.4 LTS (Long Term Service). I should realized that I was not going to be alone on trying this and I am not sure how many thousands or then of thousands where trying to upgrade right away after the “10.4 LTS upgrade” icon was available from our Ubuntu Update Manager screen.

In summary, The upgrade process is simple but it is not something you can leave unattended, the steps below will show you all the screens that requires attention during the upgrade process and the ones you should provide a mouse click or hit enter in your keyboard. I am pretty sure Ubuntu image mirror servers where overloaded yesterday and possibly will be still overloaded for a couple of days so be prepared for long waiting hours while new distribution packages are downloaded and then installed. All my applications and development environment remained intact including all applications not supported directly by Canonical organization and I was able to work business as usual right away after restarting the system and login into my freshly 10.4 LTS OS so no complains so far but will be reporting any issues or findings along the way if necessary. With no more to add here it is the story:

Step 1

Late on April 29th, 2010 but surely Ubuntu 10.4 upgrade icon showed up and temptation was just a click away. I am guilty I could not resists so I clicked over the upgrade button on top.

Step 2

Hey, any modern and serious product including the opensource ones had to offer any sort of release notes before you acquire a product so this is the one for “Lucid Lynx” release. Click on the upgrade button again and you will be on your way.

Step 3

Wait few seconds for upgrade files to be downloaded. No clicks necessary here unless you want to cancel the upgrade operation at this point.

Step 4

This is a common warning/disclaimer from Ubuntu organization since they provide warranty on their own supported packages. In my experience I have never had a problem with third party packages after an upgrade. A click is necessary here.

Step5

Waiting for software channels to be established. In my case it took about 10 minutes on the day of the launch I can just think Ubuntu servers would become overcrowded.

Step 6

Waiting a couple of minutes more while the necessary changes were calculated.

Step 7

This is a second warning about all applications that will be not supported by the new version which usually means there will be a new one replacing it not necesarily that it will be lost. After browsing over the list you need to click “Close” button to continue.

Step 8

The summary of changes to be made is presented along with some warnings about the upgrade; basically do nothing while upgrading to be sure there are no conflicts. Note that this distribution is about 787 MB and the calculated download time relatively on my connection speed was about one hour. At this point you will need to click “Start Upgrade” button which basically means “Start Download” of packages.

Step 9

The download process starts and I notice that we always have the chance to “Cancel” this operation with no consequences except the time invested so far. I started downloading packages about 4:45 pm PST. Initial ETA time was 1 hour and four minutes, yeah that must be right today.

Step 10

Well, 171 packages out of 1446 so far at this point and as I was expecting in a very busy day like this; download ETA predictions will be skewed a bit and after about 45 minutes the average ETA time showed was around 6 to 7 hours. I started to wonder if someone is counting the number of upgrades happening on the launch day. At this point I was wondering if in some point Ubuntu servers would fail or just stop serving packages to the hungry crowd.

Step 11

In some point the download process was completed with no problems and I do not have any record of the actual time but this morning after more than 12 hours I woke up and notice one more pending message waiting for my input. This time Grub boot loader asking for some information. The help mentions something like if you do not know choose all of them but I did know so I selected the good one and clicked “Forward” button.

Step 12

Wow, the install process continued I was wondering if it could be stalled after all I left it unattended for several hours. After 20 minutes the installation portion gets completed. Yeah !!!!

Step 13

Now, Ubuntu upgrade program asked me if I wanted to keep all previous garbage or to remove it. I just clicked “Remove” button confident that there will not be any big consequences on my decision.

Step 14

Waiting for about 3 minutes while all not necessary packages and files were removed. Nothing to do here but just staring at all this removing messages hoping for the best part that was about to come.

Step 15

Fantastic, this is the time I have been waiting for …

Impatiently clicked  ”Restart Now” :)  come to Papa baby.

That is it!!

It is all done, everything is in its place. Even Google chrome showed up as the default browser. By now all is happiness lets start digging in on what is new on this distribution.

Chrome Browser for Linux has arrived …

Early this month and very discretely Google’s announced Chrome Browser’s release for Linux environment (Sources: Softpedia, Google). This might not be news for some of my geeky friends that has been using and perhaps doing development on chrome browser for some time now but they are for me and the few of us who are this rare kind of individuals that have been using exclusively Linux OS as a home desktop system for quite a while. So welcome Google’s Chrome browser to Linux desktop; this is an stable version not a developer’s one.

So far the experience is very good. Installation was a breeze just few clicks and the password to authorize the new DEB package installation. It imported my Firefox settings so the switch is smooth. Web pages load super fast and now if one the the apps gets stuck downloading content not a problem I just open a new tab and continue browsing. So far it is pretty impressive. I will report back on personal findings along the way but for now it is just happiness.