Ok... so i was in another thread when i think i figured out the deal. I posted there, but the title isnt going to help many people so i opened a new thread. Originally ..... I go in my 3GS i choose PUSH globally. I go into ADVANCED and i see MAIL = FETCH for google mail. CONACTS = PUSH for google contact (setup via exchange) CALENDAR1 (main) = FETCH for google (setup via caldev) CALENDAR2 (main) = FETCH for google (setup via caldev) This means, my calendars are NOT being updated by PUSH, they are being updated by FETCH whenever i open the Calendar APP or whenever the FETCH timer pops at 15min, 30min, hourly, whatever u have it set at. I didnt want FETCH i wanted PUSH. So I turned off my Calendar2 account which was setup via caldev. I went into the account i setup for contacts, which was EXCHANGE. I only had CONTACTS clicked on. I did not have CALENDAR or MAIL clicked on. I went ahead and turned ON the CALENDAR. Now... i go to ADVANCED and what do i see? Both CONTACTS & CALENDAR are being done via "PUSH" So it appears to me, that GOOGLE CALENDAR supports PUSH but only if you set it up via EXCHANGE, and not caldev. I do a test. I update google cal with an entry, and within 2 seconds, BINGO its on my iPhone as i'm watching the screen without touching it. This did NOT work like that via CALDEV setup. Thoughts?