Android , IPhone , WP7

Offlate i have been hearing lot of criticism about Android from Apple fan boys, I  just wanted to put my thoughts about the same , So this post is all about :-

1. Why *NOT* android be compared with Iphone Or WP7

2. Why iOS or WP7 compete with Android and Why cant iOS or WP7 cant penetrate as that of Android.

3. Android and Plain Linux kernel or Meego for custom device.

4. Android is not open , According to Google open means closed ;P

1.  Why *NOT* android be compared with Iphone Or WP7 :-  Well, I have had  enough of hearing about this comparison of Android being cheap, clone of iphone no applications which can match to iphone standards, or no money for android application developers or no innovation happening in Android compared to Iphone  etc.

According to me this is all  just a FUD.  Android has been successful because its able to reach a common man.  Any body can download the android SDK and start developing  Android Apps.  Moreover android has been successful because it is offering what Nokia failed to offer.  Today every one is able to purchase Smart phones for just 7k and thats the reason android has been successful.

On the other hand IPhone fans are bothered because they might be feeling the heat already, I agree IPhone has fantastic h/w , s/w and some interesting apps. But It cant be compared to android for a simple reason that, it is not meant to be running on the custom built h/w  like that of IPhone or WP7.

Android is linux (almost), you cant compare linux with MAC! will you???  can some one dare to call Linux a poor mans MAC??? According to me Android enables many things due to its flexibility, It opens up wide market where in, it can be run on any custom device.

2. Why iOS or WP7 compete with Android and Why cant iOS or WP7 cant penetrate as that of Android. :-  This can be explained wrt  application development and OS . From OS point of view Android has been flexible any one with th kernel background can rip apart the android kernel or port it to any standard h/w in no time, and i am not even talking about the OEMS like samsung, HTC. Now people will raise the flag and say ,hey it leads to fragmentation. I completely agree but its not as bad as people portray it.  more explanation on Android fragmentation in another post.

Android has a very simple , decent ecosystem  to build applications unlike iOS(which needs MAC to develop iphone apps 😉  ).   Anybody with the experience of Java can start building applications .  I have tried to build an app on WP7 to simply invoke REST Service, could see the limitations and constraints.

And for people who talk about the innovation, Android can be run to drive a car! Now ca iOS do it ?

According to me Android cant be compared to either iOS or WP7.   iOS and WP7  are in race and they cant compete with Android…

3. Android Or Meego Or Plain Linux kernel for custom device  :-  If you are thinking plain linux kernel with contour (of KDE Project), or meego with proper app development environment and API to build beautiful applications , I am sure it will beat Android hands down in tablet market. But Nokia failed to do so,  as of now just counting on intel.

4. Android is not open , According to Google open means closed ;P :- Now this has been the complaint all the Android critics are pointing fingers at google .  Why do they forget that google has open sourced all the other versions till now and honey comb is just delayed thats all.. And i dont want to say too much about the legalities as i am not a legal guy.   Android is an excellent , flexible platform and it is flexible for every one, be it a mobile, tablet or any other gadget.  fyi

I was asked by some one like , how much money does your android app makes ? Well the question back to them is like on how many non apple devices does  iOS  run on ??  Yes,  i know the question looks *ridiculous* that its not meant for it ,  But that is how ridiculous if you compare Android with either iOS or WP7 in spite of  all these OS being run on similar devices and in cut throat competition, because all the three are different and has its own advantages and disadvantages.BTW i didnt mean that android is not meant for building apps as such, The platform is good and it has captured the market in a very small span of time and i am sure that its just about time for all android app devs to start earning. Just because you are a fan boy of one technology, you shouldn’t be bashing the other one.

Food for thought ,strategies, Nokia…

I see in every other advertisement  showcasing Nokia N8. This just says how hard nokia is trying to sell its so called best smart phone. Anyways i am not here to review the N8. The idea is to just analyze.  Nokia has always been an symbian advocate,  strong supporter , adopter of Symbian, it holds big stake than any one as of today, But the question is ,  Is symbian ready to take on Android , iOS ?? if nokia really wants to make some thing big , I guess they are banking on wrong OS (atleast for time being).

The company like Nokia has a huge goodwill in the mobile phone market, But i am quite sure that it has lost the market share offlate , it really doesnt take much for nokia to bounce back but it needs to be magnanimous , pragmatic in its strategies, when i say magnanimous i mean , like adopt the OS like android build the product which really blows away the existing smart phone market,  i guess the N8 was the right candidate to have had android on top of the good h/w offcourse N8 was underpowered for 24k, never the less if N8 would have ran Android i think the dynamics of nokia market would have changed significantly.

Now i am on telling nokia to abandon Symbian or for that matter even meego.  All i am trying to say is that , If nokia wants to compete the smart phone market, it needs to reach the level where in it can compete,  as they say ” spend significant amount of time in sharpening your axe rather than cutting the tree with the blunt one”,  am sure it really makes sense.    So Nokia should have just been pragmatic to have Android on N8 or  even meego would have been a right candidate,  may be in the mean time Nokia could have just spent enough time working on symbian 3 for to fill the gap to make it an better OS, But nokia miserably failed by giving N8 with half cooked Symbian 3 .   Now nokia finds itself  in a very clumsy position to look back and think what they could have done but better late than never.


Oracle User Lead meet

It so happened around a week back where in i was invited by Oracle to have a User Group Lead’s meet.  I felt like lets just attend the meet and try to understand the plans and strategies Oracle has for the Communities.  I was joined by Nagpur JUG lead tushar joshi and Harshad Oak , Java Champion.  I knew these people virtually, but it was good to meet them in person.

Now as far as Oracle guys are concerned, there were some big people like having around 20 years experience with Oracle Australia and knows in and out of Oracle.  There  were 2  Customer Relation ship manager for APAC , Director at Chennai Oracle India and couple of other  Leads from Oracle User Group.

The  meet started of with the talks about what Oracle’s plan is and the strategies for the User Groups or community by relationship manager. She explained the hierarchy of the communities and etc.. Next talk was by a guy who had around 20-25 yrs of experience at oracle (dont want to mention the names of these people), Again said about Oracle and how working with Oracle is like playing with match box etc.  In between i had a question for this gentlemen( might not be one though ) about the plans for Jdk7 , mysql and redundant products for which the answer was that Oracle wont kill any product acquired by SUN.

At end of it all ,  it was clear that Oracle doesnt know much about how to handle communities such as JUG’s, offcourse they have around 400 Oracle User Groups (OUG),  But none of them is like JUG. Basically OUG’s are kind of product based user group and they have completely different vision and its kind of institutionalised unlike JUGs.

Oracle looks at the JUG as there marketing asset which is absurd . We  tried to pass on the message .  Only time will tell like how Oracle deals with the community.

August BOJUG meet

We had a monthly BOJUG meet yesterday @ google. It was quite an eventful meet for the fact that we had at google and There were some fantabulous sessions on different topics such as , nosql from lifeblob co-founder Rakesh Ranjan, Eclipse lead boris, JVM Performance tuning by Vivekanand Jha, Open SAML by  Rashmi and Scala session by Siddarth kuruvilla.

It was quite a lot to fill in 2 hours. But some how we got lots of speakers this time and bit of confusion about the time. Anyways my favorite session among these were that of the JVM performance tuning, It not only interested me but i also motivated me to dig more about JVM and other VMs.

The session from Boris , Eclipse Lead was more about the eclipse 4.0, unfortunately we couldnt allocate enough time for all the speakers ,So that didnt really do much justice to the topics which they chose.  when i asked  Boris about the performance issue which we usually have with eclipse like freezing of the UI and taking ages to build when auto build is set on, I really didnt get a proper straight answer because they didnt had any fix to handle this issue in eclipse4.0, Anyways the eclipse UI looked pretty good.

Rashmi’s session on Open SAML as well was very crisp and just got heads up. The Rakesh’s session was about the Architecture and challenges they faced in there project, He was speaking about shard databases and mem cache and how it helped us.

All in all it was quite a eventful meet. While i was returning back home, got completely drenched in rain, fortunately i got some cover from security guy so that i could protect my laptop else it would have been in big mess, It was downpouring yesterday at Bangalore.

Android Kernel and Linux Kernel

I was always, wondering like what is the difference between the Android kernel and Linux Kernel, i had googled for it , recently i got it from one of the sites, Its extract is as follows :-


” We checked the differences between the Android kernel and the standard Linux kernel and found that Google had changed 75 files and added an additional 88. We have prepared an annotated list of changed files at the end of this document, and a brief summary here.

Goldfish — 44 Files — The Android emulator runs a virtual CPU that Google calls Goldfish. Goldfish executes ARM926T instructions and has hooks for input and output — such as reading key presses from or displaying video output in the emulator.

These interfaces are implemented in files specific to the Goldfish emulator and will not be compiled into a kernel that runs on real devices. So we safely ignored these files in our work.

YAFFS2 — 35 Files — Unlike PCs, which store files on disks, mobile phones store files in sold-state flash memory chips. The HTC G1 uses NAND flash, a type of flash memory that is becoming more popular due to its combination of high density and low cost.

YAFFS2 is an acronym for “Yet Another Flash File System, 2nd edition.” It provides a high-performance interface between the Linux kernel and NAND flash devices. YAFFS2 was already freely available for Linux. However, it is not part of the standard 2.6.25 Linux kernel, and so Google added it to Android.

Bluetooth — 10 files — Google made changes to 10 files in the Bluetooth communications stack. These changes fix apparent bugs related to Bluetooth headsets, and add Bluetooth debugging and access control functions.

Scheduler — 5 files — The Android kernel also contains slight changes to the CPU process scheduler and time-keeping algorithms. We don’t know the history of these changes, and the impact was not evident based on a cursory examination.

New Android Functionality — 28 files — In addition to bug fixes and other small changes, Android contains a number of new subsystems that are worth mentioning here, including the following:

IPC Binder — The IPC Binder is an Inter-Process Communication (IPC) mechanism. It allows processes to provide services to other processes via a set of higher-level APIs than are available in standard Linux. An Internet search indicated that the Binder concept originated at Be, Inc., and then made its way into Palm’s software, before Google wrote a new Binder for Android.

Low Memory Killer — Android adds a low-memory killer that, each time it’s called, scans the list of running Linux processes, and kills one. It was not clear in our cursory examination why Android adds a low-memory killer on top of the already existing one in the standard Linux kernel.

Ashmem — Ashmem is an Anonymous SHared MEMory system that adds interfaces so processes can share named blocks of memory. As an example, the system could use Ashmem to store icons, which multiple processes could then access when drawing their UI. The advantage of Ashmem over traditional Linux shared memory is that it provides a means for the kernel to reclaim these shared memory blocks if they are not currently in use. If a process then tries to access a shared memory block the kernel has freed, it will receive an error, and will then need to reallocate the block and reload the data.

RAM Console and Log Device — To aid in debugging, Android adds the ability to store kernel log messages to a RAM buffer. Additionally, Android adds a separate logging module so that user processes can read and write user log messages.

Android Debug Bridge — Debugging embedded devices can best be described as challenging. To make debugging easier, Google created the Android Debug Bridge (ADB), which is a protocol that runs over a USB link between a hardware device running Android and a developer writing applications on a desktop PC.

Android also adds a new real-time clock, switch support, and timed GPIO support. We list the impacted files for these new modules at the end of this document.

Power Management — 5 files — Power management is one of the most difficult pieces to get right in mobile devices, so we split it out into a group separate from the other pieces. It’s interesting to note that Google added a new power management system to Linux, rather than reuse what already existed. We list the impacted files at the end of this document.

Miscellaneous Changes — 36 files — In addition to the above, we found a number of changes that could best be described as, ‘Miscellaneous.’ Among other things, these changes include additional debugging support, keypad light controls, and management of TCP networking.

NetFilter — 0 files –Finally, our change list showed Netfilter as having 22 changed files. However, examination showed the only difference was the capitalization of the filenames (xt_DSCP.c vs. xc_dscp.c). The contents of the files were all identical. So we ignored these files in our port.”

Apache ETCH

Recently there was a situation in one of the  project where in the existing legacy CORBA had to be replaced with some other technology .  One of the technologies which was considered was webservices though i thought like it might not be a right replacement , i always thought like th EJB would a perfect replacement. But again due to some unfortunate reasons , I understood that the requirements (not technical though it was of the management constraints…) even EJB or  any thing would fit the bill.

Web services is not a right replacement for corba because for the reasons such as webservices are not as fast as the CORBA which is understood due to the under neath parser which need to do the parsing. secondly the webservices are value based where as CORBA is of reference based. Thirdly the asynchronous messaging is not  some thing like what we get in CORBA(even though AXIS 2 has this asynchronous messaging ..).  I was pretty clear that WebServices is not a solution. So under this circumstances, we were kind of more than happy to explore the new technology called as the Apache ETCH , basically its developed by CISCO and has been submited to Apache . I was really excited to explore this new technology which says like its light weight and  its a perfect replacement to the bloated CORBA. Secondly Its very easy to use , Thirdly it really suits our requirement as its having an apache license.

Anyways i am in the process of  going through the ETCH code and i have decided to be an apache contributer to ETCH project. I am sure i will have loads to learn and  at the same time lots to share in this blog.

New year Trekking..

I wanted to trek to some isolated place, and i was always speaking with people about it. Finally i got a chance to trek for mukthi holey falls which is near the honnavar. The place is absolutely brilliant and completely isolated.
We were 6 people Sandeep, Krishna , Raju, vinod , sahil and offcourse me. Initially it took lot of time to get this trek planned and going because of people being on/off to the trip due to one or other reason.

So it was on 30th around 9 PM we left Bangalore reached hadinbala around 9 next (31st dec) morning, stuffed some idlis and buns. It was time for us to find the hirebailu, People at hadinbala said its around 1 KM But it was actually more than 20 Kms from Hadinbala , The road was bad at its best! Our driver started nagging about the road, some how reached the Hirebailu by 11 i believe. And We spoke to Mahadev Nayak about whom i had read at We requested for some one to guide us through to the Mukthi Holey, But no one was available because it was the season to work in the fields so none of them were free , Finally after much await one guy by name Udaya came with us to guide us till mukthi holey. All was set and we just packed our selves and started the trekking. I was feeling really good to trek after a very long time. Initially we had to travel through the forest for say around 10 kms and the inital trial had a forest route in between some narrow shrubs and some cliff. finally we reached the place where we were suppose to take a diversion which is kind of not really easy to spot as its not easily visible. This guy who was a guide called udaya told us to take a right and we were wondering where the hell is route , because its such a route which is steep and covered completely by shrubs, hardly one can imagine that we could actually go through it to reach mukthi holey river bed. We trekked for around 30-45 mins in that route , they had marked on the trees as a clue and we were going in a zig zag way finally we reached the river bed , It was great feeling to reach till here, We spent some time hanging around and taking some good snaps of this place , Raju suggested to have some food before we move further , I had a loaf of bread and which we were suppose to share but unfortunately once the Raju took couple of slices and threw it to me and i couldnt catch hold of it , as a result the entire bread fell into the water. There was a small well kinda thing happened due to the water corrosion , it was filled with the water, Our bread fell in there. Sandeep was against leaving the bread just like that inspite of we arguing that it might become a food for fishes in the water (even though we couldnt spot a single fish out there), finally he took that water soaked bread and packed into the plastic cover but still some of the bread remains was left out in the water( some how this left over bread in the water was a big help when we were coming back :)).

We started trekking against the flow on the river bed , After some time we saw some village people and we were shocked to see people out there , we just asked them like how far is the actual Mukthi holey water falls for which they saild like it takes 20 mins, we wer kind of relieved to know that but still we had quite a ground to cover. i was completely drained out, made me understand that my stamina has taken a beat after my college days due to less physical activities.

After some more trekking we reached the Mukthi falls and it was really great to have been successfully done so. Now we were extremely hungry and we were badly in a need of some food. Raju and Vinod mobilized themselves and got some water from the river (water is crystal clea r) cooked some rice it took more than 20 mins and we just mixed the rice with gojju which krishna had got and started eating and it was one of those times you understand how good a food can be :0) , It was getting dark so sandeep , Raju, Krishna got ready to get some fire wood, we all switched our torches , sandeep had his own head lamp which was awesome , chopped some wood from tree and now it was time for us to reach the other side of the river as this side didnt had enough place for us to sleep more over the curds and rice had make the place messy and some rats were around to have a feast out of it. So we crossed the river in the dark with the help of torches carrying the fire wood, some these were very lengthy and was quite a big log. We finally settled down and lit a fire an took some snaps. finally we slept on the  mountain which was big enough for 5 of us on the sleeping bag, I some how didnt get the sleep, some of them had a good sleep.  It was 12 am night Krishna woke every on and wished “Happy new year” but none of them were that enthusiastic to reply back to his wishes as the trek had taken toll on most of us.

Next morning we woke up and planned to reach the next level of the water fall.  We just tried to ascent from the left side of the water falls, the land was very loose so we had to watch out every single step , it was a very tough part of the trek, some of us went ahead and found out that there is yet another big mountain which is next to impossible with out ropes to climb , hence we dropped the idea of reaching to the next level of the water fall and started to climb down, it was so steep  that we had to just sit and get down very slowly.

Once we got down some of them went for swimming and after that we had our break fast and started our trek back to hirebailu. The river bed trek was very smooth while coming back  didnt really tire us or atleast me . The place which i mentioned that we had to take a diversion from the river bed had arrived but none of us identified and we moved further, there we came to the place where in we couldnt move ahead  as there was water around , we started wondering if we had come across this place , Sandeep took his GPS and tried to figure out if we were on the right path, unfortunately  that GPS was not ble to  communicate with the satellite in that deep valley, But we all knew that we have come further so we started walking towards the opposite direction , Now we were just walking blindly because that was the only option left , secondly we didnt had the services of GPS to figure out our actual path,  We  had just reached the place where we were suppose to take diversion , but not all of us had found this out but all of the sudden vinod pointed out the bread which we had dropped previous day and we were shocked to learn that we  had failed to figure out  this place inspite of the confidence that we could.

We then took the diversion which our guide udaya had informed us previous day, and it was again a steep assent which we had to climb and it was tiring. Once we finished this assent we had to walk  back in the forest and reached the hirebailu and we met our driver and sahil, went to the honnavar, had good meals and left to Bangalore.

All in all it was a good experience . But one thing which was bothering me was the stamina which i had lost after my school days.