Friday 21 December 2007
Facebook StumbleUpon Twitter Google+ Pin It

Brian McCallister on Ning, OpenSocial, and Apache Shindig



When I read an email sent to an Apache Software Foundation mailing list suggesting an open source project for OpenSocial, I wasn't surprised to see it come from Brian McCallister, a prolific open source developer that I met years ago in a former life.

Brian McCallister now works at Ning, the social network outsourcer, and sat down to talk to me about topics revolving around Ning, OpenSocial, and Apache Shindig.

What will you learn from this chat?
  • What Ning is all about
  • Why Ning and Brian think about OpenSocial, and why developers should be interested
  • The parts and pieces of OpenSocial from the standpoint of a developer, and a third party container
  • How Brian thinks that we will get more than just "Write one, learn everywhere"
  • What Apache Shindig is all about
  • How Shindig allows you to do simple local development, which changes the game with respect to your development lifecycle


Monday 17 December 2007
Facebook StumbleUpon Twitter Google+ Pin It

The Roundup: An offline Shindig that is off the Charts!



I just got back from a trip to Belgium that had me speaking at JavaPolis, a conference full of Java and Web folk from Europe and beyond. Google engineers were all over, and we gave talks on Gears, GWT, Google data APIs, Guice, Google Java Collections, and Java language issues. It was capped off with an informal pub meetup where Google and Atlassian took the bill. Remember, they take pride in that Belgian beer.

GWT was in full force at the event. Many people came up to me to discuss their GWT implementations, and a lot of cool APIs and applications have been announced recently. For example, JSTM, the Java Shared Transacted Memory for GWT is a promising new library that gives you a transactional cache that can keep clients in sync. Map this onto Google Gears, and you can get offline caching. The author of the library is taking a lot at that feature right now. We also saw GWT Voices, which gives GWT developers with a cross browser sound API. Finally, Chronoscope showed us that you could take a GWT application, and with a small amount of work get it running on Android. A huge benefit of using the Java programming language across the board.

Speaking of Android, we got to have a nice long chat with Dianne Hackborn and Jason Parks of the Android team about many facets of the platform.

We also got to speak to developers from Zoho, on the release of Zoho Writer that uses Google Gears for full read/write access.

OpenSocial has been chugging away too, and it was exciting to see Apache Shindig, the open source set of components around OpenSocial, get released. This release includes a core gadget container foundation and an open source version of the gmodules.com renderer.

A fun new API was released recently too, which got a lot of buzz in the community. Out of the Zurich office, we saw the Google Charts API, which allows you to create dynamic charts in very short order. You can even integrate the new API with KML for quick data visualization.

The open source side of Google Code has had a busy time too. We released the Google Mac Developer Playground, which is a home for useful open source code produced by the Google Mac team, and any engineers at Google. With this release, Dave MacLachlan announced Statz which has already seen a major upgrade, allowing you to talk to a large swath of services.

On the back of the Google Summer of Code project, the team wanted to keep spreading open source goodness, and announced the Google Highly Open Participation Contest, and have already updated us of its performance. It is outstanding to see so many people coming together to help the myriad of open source communities out there.

To finish up, how about taking a peak at the new Knol effort, or looking at the new developer community calendar, or firing off a video download in the background to watch:

As always, check out the latest tech talks, subscribe to the Google Developer Podcast and visit the Google Code YouTube channel.

Our new Developer Community Calendar: View it, Map it, Add to it!



I was scheduling a trip to New York City last month to visit some friends and thought, "Well, it'd be nice to take in a conference or two." I proceeded to search online for hours -- including queries like "new york city ajax," "conferences new york," "user group new york" -- and came up basically empty handed. Frustrated, I cornered my co-worker Austin Chau, and we did what us geeks tend to do when we want something: we hacked it up ourselves!

Google's 'Developer Events Calendar' has always listed Google-sponsored and/or Google-attended events, but today we're launching a second calendar for the developer community at large. You can view both calendars side-by-side in either calendar view or map view, and with a Google Calendar account, you can add your own meetup to the list. (If you're keen on the project's technical specs, we'll be writing about the code itself shortly, so check back soon for an article and source links.)

We hope you find the calendars useful, and we look forward to your feedback. Try it out now: add your upcoming conference, user group, or party. (Yes, we developers know how to party. If you don't know how, I'll graciously volunteer to show you).

Monday 10 December 2007
Facebook StumbleUpon Twitter Google+ Pin It

Keeping OpenSSL up-to-date



OpenSSL is perhaps the most widely used of all cryptographic libraries, both in the open source world and by commercial enterprises. The OpenSSL team is often approached by such enterprises seeking assistance with specific problems or features of particular interest to that enterprise. Less often they are approached by a sponsor with a technical need and the vision to address that need in a way that benefits the open source community as a whole.

OSSI has had a long association with OpenSSL, beginning with work over a five year period on the groundbreaking FIPS 140-2 validation of an OpenSSL derived crypto library (implemented largely by Googler Ben Laurie) and continuing with additional validations currently underway with extensive improvements by Dr. Stephen Henson and others. We were pleased to help facilitate Google's sponsorship of RFC4507 support to OpenSSL.

RFC 4507, also known as “stateless session resumption,” is a relatively new draft standard for a mechanism that enables a secure web (TLS) server to resume sessions without explicitly preserving per-client session state. The TLS server encapsulates the session state into a ticket that is preserved in encrypted form and subsequently provided to a client. That client can then resume the previous session using the information in that ticket, avoiding the need for the full TLS negotiation.

This mechanism may be used with any TLS ciphersuite. It makes use of TLS extensions defined in RFC4366 and defines a new TLS message type.

Stateless session resumption is of particular value in the following situations:

  1. For servers that handle a large volume of transactions from many users

  2. For servers that must cache sessions for a long time

  3. For load balancing requests across servers

  4. For embedded servers with little memory


As an added bonus, RFC4366 support includes the Server Name Indication extension, which allows browsers to specify a server name when connecting to an SSL host. This means that SSL hosts can finally use name-based virtual hosting instead of burning an IP address per host.

The implementation in OpenSSL and the interoperability testing were performed by Steve Henson. This support is available in both the current 0.9.8 product branch and in the development trunk (0.9.9).

Friday 7 December 2007
Facebook StumbleUpon Twitter Google+ Pin It

Open Source in Zurich with vigor and Vim



Looking for a cool place to hack with like-minded colleagues? Going to be in or around Zurich on December 13th? If so, please join us for our inaugural Open Source Jam held at Google Switzerland. We'll provide the hacking lounge, Wi-Fi, pizza, beer and the creator of the Vim text editor, Bram Moolenaar. You supply your laptop, good ideas and community spirit.

You can find full details and information on how to register in our Open Source Jam Zurich Google Group. If you haven't already done so, please join the group and let us know your thoughts. And if you happen to attend the event, post a comment and let us know how it went.

Thursday 6 December 2007
Facebook StumbleUpon Twitter Google+ Pin It

In just seven days



We announced the Google Highly Open Participation Contest a little over a week ago, and the response has been phenomenal. We already have over 350 student contributors, and the participating organizations have let us know that they're overwhelmed by all the great contributions they've received from their contestants. We're delighted to bring you this video status update, with an extra treat: Guido van Rossum, the creator of Python, stopped in to tell us a little bit more about the Python Software Foundation's participation in the contest.



We always love to hear from you, so feel free to contribute some task ideas and join the contest discussion list.

Embed charts in webpages with one of our simplest APIs yet



Today we're launching the Google Chart API, a really simple tool for creating charts and graphs that are perfect for websites.

Let's get straight in with an example. This URL:

http://chart.apis.google.com/chart?cht=p3&chd=s:hW&chs=250x100&chl=Hello|World

Creates this image:



That's it - no state, no calls, just send your data in an http request and get a png image graph back. Embed the request in an img tag and you're done. We currently support line charts, bar charts, pie charts, scatter plots, and sparklines.

We actually built this originally to use internally - we use it on Google Video and Google Finance for example. It seemed like it would be a good thing to open up to other users too. You can find out all about it at on the Google Chart API homepage and there's a Google Chart API group for questions and support.

The Google Chart API started out as a 20% time project here in Zurich, and we're really happy to be launching it to the world today. Let the charting begin!

Wednesday 5 December 2007
Facebook StumbleUpon Twitter Google+ Pin It

Google Developer Podcast Episode Twelve: Android with Dianne Hackborn and Jason Parks



As soon as Android and the Open Handset Alliance was out in the wild, we were chomping at the bit to talk with some of the people behind the platform to discuss the developer-related information.



We were lucky enough to get some time from Dianne Hackborn and Jason Parks, who have been doing this work for a long time. They used to be at Be, and PalmSource, and you will hear how that experience has come through to Android. In fact, you will see how the Android team has engineers from many other platforms (Linux, Danger, and Windows Mobile).

Dick Wall himself is an advocate on Android, and you can hear how excited he is to talk about this!

What will you learn on this podcast?
  • Some history behind the project
  • The high level architecture of Android. For example, how Linux processes handle the VM and manage security (the VM doesn't handle it)
  • Details on the Dalvik VM and how it is optimized for small devices
  • The architecture: From Intents to Views to Permissions and more
  • How XML is slow, but the tools convert the XML to a nicer format for you
  • The tooling and steps for building an application on Android
  • How so many objects have a URL, and how the environment is like a mini-SOA (Services across processes instead of across the network)
  • Thoughts on how you program for small devices, and things to watch out for if you move from the desktop
  • The control, or lack of control that you have over the application lifecycle
  • "Everything you do drains the battery"
  • The thread story: they exist, you don't have to deal with them if you don't want too, and the UI
  • Using XMPP for messaging

You can download the episode directly, or subscribe to the show (click here for iTunes one-click subscribe).

Want to learn more about Android? Read the book or watch the movie depending on how you are feeling!