Friday, 27 June 2008

Supporting views while keeping compatibility

As we begin to ramp up support for the canvas view in iGoogle, it's important to remember that not all users will get access to the canvas view simultaneously.

If you've upgraded one of your gadgets to use views, you can keep backwards compatibility by keeping your old content section in your XML. Just make sure it appears first in your list of content sections and that it doesn't set a view attribute. Your new content sections with view="home" and view="canvas" can follow in any order.

<?xml version="1.0" encoding="UTF-8"?>
<ModulePrefs title="Backwards Compatibility">
<Content type="html">
Users without access to canvas view see this.
<Content type="html" view="home">
Users with canvas view see this in the "home" view.
<Content type="html" view="canvas">
Users with canvas view see this in the "canvas" view.

Once you've set up your gadget in this way, anyone who uses an iGoogle domain that doesn't yet have access to the canvas view can see a working version of your gadget. And those who have been moved to the new interface will see all the hard work you've put into your home and canvas views.

As an added bonus, you can use this technique now to develop gadgets in the developer sandbox that still maintain their old behavior in production. Whenever more users do get access to the canvas view, your gadgets will be ready to go.

Monday, 23 June 2008

Details on the iGoogle Canvas View Launch

I thought I'd take a moment to clarify some details of upcoming iGoogle features and their release schedule. I've spoken to many of you who had questions about exactly what features would be available in iGoogle when canvas views are released. When canvas views and the new interface appear in production:
  • Existing _IG_ calls will continue to work normally, including all IG calls used to fetch remote content
  • The new gadgets feature 'views', gadgets.view and requestNavigateTo will be added to your repertoire of valid function calls
  • Declaring view="home,canvas" will become valid
  • The rest of the gadgets.* and opensocial.* APIs will not yet work. For example, all user customizations and data should be handled via user prefs and not app data for the time being
If you're working on a new gadget, or upgrading an older gadget to use the new canvas view, you should continue to use _IG_ calls, and keep the above list in mind. We are going to start testing the canvas view with a small percentage of our users this month, and are scheduled to roll it out to more users during July.

If you are developing a canvas view for our upcoming release, you should not use "<require feature="opensocial-X"/>" as gadgets that use gadgets.* and opensocial.* will not work in production until later this summer. Note that the sandbox will continue to support these features so that you can work on social features and gadgets in parallel and have all tools available to you.

Thanks again for all your contributions to iGoogle. If you have any questions or concerns, please let us know in our developer forum.

Tuesday, 17 June 2008

IRC Office Hours

As part of our ongoing effort to offer top-notch support to iGoogle developers, we're formally introducing reoccurring IRC "office hours." Just point your favorite IRC client to and join the #opensocial channel to chat about all things OpenSocial — container support, the latest and greatest development techniques, upcoming changes to the specification, and more.

Our regular office hours will be every Tuesday and Thursday from 1:00 p.m. to 3:00 p.m. PST. During these times, one or more Googlers are guaranteed to be available in the #opensocial channel (look for the nicks kurrik, jasonacooper, rohitghatol, and api_dwh). In addition, we'll try to make ourselves available during other days and times as our schedules permit, so feel free to ping us if you see us.

Of course, we'll continue to answer questions in the forum as well, so you can choose the support mechanism that works best for you.

Wednesday, 11 June 2008

Now with more sand! Updated Themes API

With all the layout and feature changes going on in iGoogle, we're happy to release an updated Themes API for developers. The API now allows customizations to the left navigation, chat, and gadget frame features in the sandbox, so you can customize even more of iGoogle. To get the full list of changes, please check out our updated developer's guide and reference.

If you have already created an existing theme, we encourage you to update it with the new attributes, test it in the sandbox, and resubmit it. Here's an example for how you can modify the chat list in your theme's XML file:

<attribute name="navbar.contacts.contact_color">#FF8080</attribute>
<attribute name="navbar.contacts.status_color">#FF8080</attribute>
<attribute name="navbar.contacts.hover_background_color">#FF0000</attribute>
<attribute name="navbar.contacts.card.border_color">#B30000</attribute>

As always, questions and feedback are welcome and encouraged in the Themes API group.

Some known bugs that we plan on fixing very soon are:
  • New buttons not yet available for themes
Thanks ahead of time for your feedback.

Thursday, 5 June 2008

Chat in iGoogle sandbox

Today there's a new feature for the iGoogle developer sandbox: chat. It enables iGoogle sandbox users to chat not only with each other but the rest of their GTalk network right on their homepages. Your chat friends on iGoogle will be the same chat friends you see in your Gmail and Google Talk. Please note that this is still an early beta feature; we're adding it in the sandbox now so that we can get immediate feedback from our most active users — developers — and to also make sure that all our great themes are updated with this new feature in mind.

So please, report bugs and give us feedback. Here are some known bugs we plan to fix shortly:
  • chat roster not yet themed (please use classic skin for best experience)
  • presentation issues with links in IE7
  • not yet compatible with IE6 and Safari
  • some UI elements are placeholders for now
Thank you in advance for taking time to let us know what you find.