Friday, November 30, 2007
The Google Data team is holding a local event for developers Thursday, December 13th, 5:00pm-10:30pm at the Googleplex (Mountain View, CA). It'll be part hackathon, part unconference, part user group, part food, and part fabulous prizes.
Besides a short kick-off session, everything else will be up to you. We'll provide the wi-fi, power and food, and you can utilize the time however you want -- whether it's to pick the brain of someone on the GData team, meet other local developers, hack away on your current project, sit in on impromptu sessions about things like GData + Gears and GME, or hold your own lightning talk about the project you're working on.
Head over to the GData blog for the full announcement and the event page to RSVP and for more info.
Hope to see you there!
Thursday, November 29, 2007
For about two years now, people have been writing gadgets for Google Desktop on
Windows and for iGoogle on the web. Today, with the announcement of Google
Gadgets for Mac OS X, Google Desktop users on the Mac can now run the same
Windows and web-based gadgets in Apple's Dashboard with zero (or very few)
changes. Check it out for yourself.
the majority of gadgets just work if they're written properly. The rest can be
fixed by following a few guidelines:
- WebKit is case-sensitive, JScript is not, which can lead to problems if you assume can you do things like interchange SetTimeOut() and setTimeout().
- Avoid JScript-only features like collections and ActiveX.
- Avoid IE-specific DOM extensions, just as if you were writing a multi-browser web application.
- Avoid Windows-specific APIs
- You shouldn't assume ActiveX or certain DLLs are available. Neither WebKit nor Mac OS X supports ActiveX, so these gadgets must be rewritten.
- Avoid Windows-only APIs such as Google Talk. These APIs are not (yet) available on Mac OS X.
- Understand how Dashboard is different
- The Dashboard environment is very different from a web page or the Desktop sidebar on Windows in that it comes and goes as the user activates it. Don't rely on your gadget always being visible. Your gadget won't run or update when Dashboard isn't in the foreground.
- Don't rely on access to the file system. The security model for Dashboard doesn't allow arbitrary file access to the hard disk, although your gadget does have access to files in its own archive. Things like file pickers won't work. Note that while restricted file system access is a departure from how gadgets work on Windows, it's consistent with Dashboard's security model and the behavior of other widgets developed for Mac OS X.
For more details, see Writing a Cross-Platform Gadget, part of the Desktop Gadget API documentation.
If you're interested in developing your own gadget, visit the Gadgets API homepage. If you're already a gadget developer, download the beta today to test your gadget and ensure that it works correctly.
Wednesday, November 28, 2007
Timepedia has released Chronoscope, an open source charting and visualization library, built using GWT.
- Canvas abstraction for drawing vector graphs
- Graph Style Sheets abstraction for configuring the look-and-feel of charts
- Scalable multiresolution rendering supporting up to tens of thousands of points
- Zoom and pan at interactive frame rates, from centuries to milliseconds
- Auto-ranging, auto-layout of chart axes and ticks.
- Auto-legend, and mini-chart Overview
- Add pushpin markers, domain and range markers, and overlays like Google Maps
- Bookmarkable chart state, works with Back button
- Microformat support. Charts can be configured without programming.
- Server-side Font assistance. Render rotated text.
- Portable, Chronoscope is not tied to GWT, can be used to render from servlets, applets, or other environments.
What is particularly interesting is how the Chronoscope team was able to take their existing Java source code, add 8 hours of Android exploration, and ended up with the same charting and visualization library that works on Android using their graphics support.
This is one area that GWT truly shines. The fact that you write your code in the Java programming language means that you can reuse it in other places where Java runs. Being able to write one application and quickly have it run on Android and the iPhone is pretty compelling.
Here you can see it running:
Tuesday, November 27, 2007
The Google Summer of Code program has been a joint labor of love between Google and the open source community for the past three years, and the results have been spectacular: hundreds of college students have been introduced to open source software, thousands of people across the globe have begun development together and millions of lines of open code have been produced, 4 million last year alone. We've been particularly proud of this program and how much it has helped the community and we've spent a lot of time thinking about ways we can continue helping open source projects find even more contributors. Today, we're pleased to announce the Google Highly Open Participation Contest, our new effort to get pre-university students involved in all aspects of open source development, from fixing bugs to writing documentation and doing user experience research.
While we're very excited about many aspects of the contest, the best part is that everyone can participate. Contestants must meet the eligibility requirements, but anyone interested in helping out can simply suggest a task to be included in the contest. Our contestants have a chance to win t-shirts, cash prizes, and a visit the Googleplex for a day of technical talks, delicious food and a photo with our very own Stan T. Rex.
Want to learn more? Check out the contest FAQs and tell your favorite pre-college students to pick a task or two to complete. You can always visit our discussion group to get help or share your thoughts.
In this crazy Web 2.0 world, it's all about one thing: the user. It's about what the user wants from your site, and what the user can contribute to your site. That's particularly true about map sites - the world is a big complicated place full of users who are experts on the 10 mile radius around them. That's part of the reason why maps.google.com added user-created maps, geocode editing, and local business reviews this year. Now, the question pulsing through your mind is probably: "How can I get in on some of this user-contributed action??" Good news, we have an answer!
Our latest article, "Creating a User-Contributed Map with PHP and Google Spreadsheets" describes what's necessary to set up a shared Community Map application. The article takes you through the steps of registering a user, logging in a user, letting users add map places, and creating the map. The article uses Google Spreadsheets for a pseudo-database and the PHP client library to perform HTTP operations, giving you the advantage of a nice frontend for database editing/viewing (spreadsheets.google.com) and a database that's not dependent on a particular hosting provider. However, those of you who are more comfortable with PHP/MySQL should be able to read through the article and apply the same principles to a MySQL database instead. As always, please post in the forum with questions.
Official Google Maps API Blog: Is Google Maps in your neck of the woods? A new, interactive way to find out!Posted by Pamela Fox, Maps API Team
The good news: here at Google, we're constantly increasing their map coverage internationally: pushing out new tile updates, geocoding/routing data, local business results, etc. The bad news: it's not easy keeping up with the coverage and remembering where we have what. I can barely keep track, and it's my job. :)
So, we've collaborated on a spreadsheet that details our coverage for every country where we have anything, and hooked it up to a nifty auto-filter mechanism so that you can quickly answer questions like:
- Which countries have map tiles and local business results?
- Which countries have localized map controls?
- Which countries have driving directions and geocoding? (shown below)
The FAQ item pointing to the spreadsheet is here, the auto-filterable spreadsheet is here, and for good measure, the published spreadsheet is here. Please post in the forum if you have any questions or suggestions for improving the spreadsheet. Now, go forth and make internationally relevant mashups!
Recently in the New York Times, we placed a small graphic as part of a Google Print Ad. You aren't looking at one of those eye focus games (It's a sailboat! Or a shark!) but a two-dimensional barcode. Those of us who already know what it is pulled out our phones and "clicked" it with the camera, and were connected to the advertiser's web site. "Wha?", you say? See http://www.google.com/printads/barcode. While this kind of thing has been a common sight in Asia for years, this ad is one of many signs that the technology is arriving in Europe and North America.
But Advertising is only part of the story here. Engineering is also involved and we want to improve the quality and availability of barcode reader software available to developers and end users. So today I would like to announce the "ZXing" (from: "zebra crossing") project, an open-source, Java, multi-format 1D/2D barcode reader which can be built into a reader application for Java and Java ME -- and later, Android.
This project began as a 20% project and is not yet complete, so opening it up is a bit of an experiment. It's not yet the Best Barcode Reader Ever, but it's looking pretty good. For now we want to find those those who can make use of and help improve what's here, so that those good ideas are shared to all developers and everybody wins.
Developers can find the ZXing project on Google Code, and we hope you'll join us on our Google Group and tell us about what you like and don't like about the code.