Tuesday, October 30, 2012

How to import and sync Facebook friends's birthdays to Android phone.


         You don’t visit Facebook daily, and miss birthdays of friends?  Want your android phone to remind you your friend’s birthdays?  There are lots of application on the market but you don’t need them and believe me these kind of apps run in background and drain phone's battery and resources. So possibly you should import and synchronize your facebook friends's birthdays to your android phone calendar so that you will be up to date with the birth dates.
       Following are simple few simple steps to import and synchronize facebook friends birthdays to your google calendar and then to android phone calendar.


 1.     Go to your facebook account, on home page at upper left corner, below your profile picture, there will be a link called Events. Click on it. It will open your  facebook events calendar that includes birthdays of your friends.


Facebook : Events link

    2.  On events page at upper right corner, there is Today button with settings logo. Click on settings logo and select export from the option, the way shown in picture.

Facebook : Export Events
    3. This will open 'Export Events and Birthdays' pop up.

Facebook :Copy export link 

    4.  Right click on ‘export your friends’ birthdays’ and select copy link option.

Facebook: Copy link
 5.  Now go to google calendar, that you can go by selecting calendar from top most black strip on google home page. Then on calendar at left hand panel click on other calendars option and select Add by URL.


Google Calendar : Add by URL
       

         6. Pop up for entering URL will be opened, paste the copied URL into the textbox for URL and click Add Calendar.


Google Calendar : add calendar by URL
    
   7.  Then the new calendar ‘Friends’ birthdays’ will be added to your other calendars section on google calendar. Select your favorite  color for this calendar if you want. Now you are done with importing you facebook birthdays to google calendar.

Google Calendar : Added Calendar


       
     8.  Now you need to sync your android calendar app to  google calendar. For that open Calendar application on your android phone. Make sure you have enabled Use data packet I mean an internet access.


9. Select options -> More -> Calendars, it should show you Friends’ Birthdays calendar.



 10. Set Synced, Visible to this new Calendar.
Android : set synced and visible
Android : Birthdays showed in Bold

 11. Now phone will sync this calendar from Google calendar to calendar app and friend’s birthdays will be visible on your phone.



Now you can view friends's birthdays and set notifications for them as per your needs.
     
       

Saturday, October 27, 2012

jQuery - Difference between :eq() and :nth-child() selectors.


    In jQuery many times :nth-child(n)  pseudo-class selector is easily confused with :eq(n), even though the two can result in dramatically different matched elements.

   With :nth-child(n), first all children are counted, regardless of what they are, and the specified element is selected only if it matches the selector attached to the pseudo-class. With :eq(n) only the selector attached to the pseudo-class is counted, not limited to children of any other element, and the nth one is selected.

    In other worlds, with :nth-child(n), first all elements those are children are considered and among the children, nth child is considered then it’s checked if it matches the selector which is attached with :nth-child(n). On the other hand with :eq(n) first the attached selector is resolved to set of elements and among those elements nth element is selected independent of considering children or not.


    Also there is another important difference, that is :nth-child() is 1 indexed means indexing count starts with 1 so nth means actual nth one. While :eq() is 0 indexed with indexing starting with 0 so nth element is actually (n+1)th. This is so because jQuery's implementation of :nth-child(n) is strictly derived from the CSS specification and for all other selector expressions including :eq() however, jQuery follows JavaScript's "0-indexed" counting. 

   Let's see following simple example: 


<table>
          <tr><td>Table1-row1</td></tr>
          <tr><td>Table1-row2</td></tr>
          <tr><td>Table1-row3</td></tr>
</table>
<table>
          <tr><td>Table2-row1</td></tr>
          <tr><td>Table2-row2</td></tr>
          <tr><td>Table2-row3</td></tr>
          <tr><td>Table2-row4</td></tr>
</table>

In above tables $(“tr:nth-child(3)”) will select two elements :


         <tr><td>Table1-row3</td></tr>
And

        <tr><td>Table2-row3</td></tr>

While $(“tr:eq(3)”) will select only single element :


        <tr><td>Table2-row1</td></tr>
   
 Please try following fiddle also, run it and click a button to see what it selects. It also shows how :even and nth-child(even) are different.






Saturday, October 20, 2012

Drawbacks of an Android Operating System.

      You might have read, heard or even seen many great features of an Android operating system. You might have heard about what things you can do with Android device. You might have heard how many applications are there on Android market. But now I would detail few down sides, drawbacks of an Android operating system or say devices.
       I have used android 2.2 only, but these drawbacks are quite general to be seen across other versions also.
       I am not comparing Android with other mobile operating systems but for sure you will observe these while using an Android device. So following are few drawbacks of an Android operating system.


It hangs a lot :


      You are doing something on your Android phone and suddenly it stops responding and gives whuiii whuiii kind of two or more vibrations (this happens with my Samsung phone, might not be the case with other phones but there will be some other way) and you say “Not Again !!!”. Many times devises restarts of its own after it hangs, which takes my soul out. Still it’s Ok but when it hangs, stops responding and you even can’t shut it down, I hate that frustration.
     The device mainly hangs by applications and services running out of memory. On Android when you close an application by pressing back button, many applications still continue running in background. There is concept of service in Android, which means a process running behind the scene and that continuously consumes battery as well as memory. 



Battery backup is very low – Battery consumption is very high :


     If your device is kind of low budget phone, this is the main problem you would face. This is not only caused by device hardware but also by Android operating system, as this operating system runs lots of processes in background may be like widgets, services and many system threads. Battery backup becomes worst when you start using Internet on your device, so most of the time you need to disable data packet when you are not using it just for saving the battery. And many times you need to compromise with use of your mobile for saving battery or because of low battery.

Low end phones can’t install few applications – compatibility issue :


     Yes there are lots of Apps on Android market but, are they all useful? No, I mean you would get incompatibility issue with many applications for low end devices or old versions of android OS. This is mainly happening because of many versions of android and large difference between features and hardware requirements across the versions. You may want to install a good action game but for that you need compatible OS and compatible device.

Rooting voids warranty :


     Rooting an Android device is the best way to utilize it to the great extent. Rooting allows upgrading android version, installing good custom ROMs. But rooting voids the phone warranty that’s why many people are afraid of doing it.

Dalvik Cache – Limited phone memory :


     Android version 2.2 and onward you can install app on SD card. How great! that means you will never run out of phone memory, but is it the reality? Even if you install app on SD card, some considerable part of the app remains on phone memory, they call it Dalvik Cache. It’s a design funda, they use it for app to be fast. But they neglected the fact that they are using phone memory for that, which is kind of limited on many phones. So this also puts another restriction on how many applications you can install on your device.

Android is not an Enterprise person’s phone:

     
     Unlike BlackBerry and iPhone, Android wasn't considered to be an enterprise phone. It’s not that useful for enterprise applications and functionalities. Say like you want to connect your phone to your company’s enterprise WiFi network or want to configure  your office outlook mailbox on your phone, it’s a great a pain to get it done on android phone. At least it’s not as easy as it is on BB or iPhone. 

Data packet enable doesn't work :


      This is a small thing but irritates a lot. When you want to enable ‘Use packet data’, you go to Settings -> Wireless and networks -> Mobile networks -> Use packet data and select this option and expect data transfer to be enabled but many of the times nothing happens even after waiting for some time. Then trying deselect –select multiple times, it may start but if you have a bad day you need to restart your device and that sucks.

    Besides these few drawbacks there are many great features of Android operating system. And I still love Android.

Thursday, October 18, 2012

Google launches free SMS service on Gmail in India.


       Google has now extended free SMS service on Gmail to India. Google had first made this feature available to its users in some African countries in 2011. This service is started for Indian users from Oct 10 2012.



       By using this service users can send free SMSs through Google chat. Responses to these SMSs will be received to Gmail and also will be stored in Gmail chat history just like other chat messages. Yes, this is free service, every user is availed at the beginning with the credit of 50 SMSs and that is maximum credit any user can have. On sending one SMS credit is deduced by one. The maximum limit is kept to avoid misuse of the service for marketing or spamming.
       When you get reply to your SMS sent from this service, your SMS credit is increased by 5 and again max credit is 50. So you can get SMS credit by sending message to yourself and replying to it. Or you can chat with your friend using this service, so that you will never run out of the credit. Also when you run out of credit your account will be credited be 1 after 24 hours, giving you a chance to restart using this service.


      This service is available with almost all major mobile operators in India. This service is available only on Gmail website but not yet on the standalone Google Talk app.
        In order to send an SMS to a contact, hold mouse on your contact from contact list at chat panel at the bottom left corner. Which will popup contact’s detail. This popup has downward arrow for more actions at bottom right corner. Click on that arrow and it shows ‘send SMS’ option. Click on ‘send SMS’, this asks user’s mobile number, enter it and you are ready to send him free SMS from Gmail. Once mobile number is added chat panel shows mobile icon for that contact if he is offline. Then click on contact and type in message in chat window for sending SMS. And if contact for whom you have added mobile number is online and still you want to send SMS, click on More option in chat window and select ‘send text(SMS)’.
     If Gmail Chat SMS recipients in India do not wish to receive any messages on SMS from any Gmail user, they can stop the service from sending them messages by texting 'STOP' to +918082801060. To reactivate the service they can SMS 'START' to the same number.
     Enjoy texting.