Skip to content

Google Open Source Blog
Syndicate content
News about Google's Open Source projects and programs.
Updated: 5 hours 54 min ago

Swivel Viewer, an open source embeddable album viewer

Fri, 07/30/2010 - 20:15
A while back, we noticed that lots of sites were starting to show 360 degree views of their products.

So a few months ago we added a feature to Picasa Web Albums that lets you flip through the photos in an album in “Full Screen View” or “Slideshow” mode by dragging left and right on the current photo. This works especially well if you put an object on a turntable, but it also works fine for other albums, like our featured shots from the 2010 Winter games.

The embedded album viewer also supports this feature:



So any albums you've embedded already support swiveling.

If you prefer to host a viewer and images on your own site, check out
the Swivel Viewer site at code.google.com, where you'll find an open source embeddable album viewer that also supports zooming and panning. Alternatively, you can go directly to the page about hosting your own viewer, or check out these other albums from the gallery:




We also posted tips on how to take your own 360 views, and even some sketches for our experimental high-volume object scanner:


Swivel viewers are fundamentally simple, but it’s tricky to communicate to the end user what they can do. I actually used the viewer for several weeks without realizing I could shift+drag to pan around while zoomed in! So we’re excited to see what UI enhancements you can come up with.

By Jason Holt, Google Street View Team
Categories: Open Source

Notes from useR! 2010

Thu, 07/29/2010 - 16:30
R is a free software environment for statistical computing and graphics, used by a growing number of economists, engineers, and data analysts every day at Google. We’ve even published our R Style Guide on Google Code. The R community has done a lot of great work with Google APIs, such as integrating the R programming language with Google Earth, Protocol Buffers, and Google Docs.

I've just returned from the annual useR! conference for the open source R programming language. This year the conference attracted nearly 500 individuals to the NIST campus outside Washington D.C.

The conference provided a great opportunity to meet with some of the package authors that are working on third-party extensions, including Romain Francois and Dirk Eddelbuettel who jointly gave a pair of well-attended talks on their RProtoBuf and Rcpp packages.

In addition to the 3 days of tutorials, panels, and presentations, Google sponsored a dinner for conference attendees at the National Zoo in Washington D.C. to facilitate the "hallway track" of informal discussions outside of the official conference program.

Thanks to all those presenters, sponsors, and organizers involved in putting together a successful conference. For those who weren’t able to attend, the abstracts and slides from the 168 presentations and a more limited number of videos are available from the technical sessions. Hope to see you next year...

By Murray Stokely, Software Engineering Team
Categories: Open Source

London OS Jam 17: Speeeeed

Wed, 07/28/2010 - 19:40
Just over a week ago, we hosted Google London Open Source Jam 17. The event is an opportunity for open source developers to give five minute presentations to their peers, socialise, eat pizza, and drink beer. The topic for this Jam was “Speed” and — unusually for us — many of the talks were on-topic:

Simon Stewart, pondering

Simon Stewart started off by telling us how to measure things: using tools like Firebug and Speed Tracer to break down client-side latency.

Matt Godbolt gave us some tips for making speedy Android apps, and Tim Cox presented a “Rant at Speed” that covered everything from CPU cache latency to the speed of light, all in five short minutes!

Glyn Wintle gave a quick rundown on common exploits: “How to break into a computer — fast”, covering the top five security mistakes made by web developers. You can try out some of these attacks yourself using the Google Gruyère codelab.

Ade Oshineye gave an impromptu (and not entirely serious) plan for “Making it faster.” Mike Mahemoff talked about speeding up web applications with the new shiny features in HTML5, and chatted briefly about the ever-blurring distinction between web applications and web pages. Paul Downey gave us an overview of TiddlyWiki, and TiddlySpace, where he hosted his presentation.

Squirrel

Squirrel gave a talk about Performance Secrets, which — uniquely for a Squirrel presentation — didn’t involve a flipchart.

Matthew Wild told us about Prosody, an XMPP server written in Lua. Apart from praising Lua as a great language, he also showed us how his continuous build generated annotated performance graphs on each commit to the repository.

George Cox proposed a need for making operational changes at speed — new deployments, and so on, while Luca Colantonio discussed his experiences implementing txty.mobi, a cloud-based web application for sending SMS messages via your own Android phone.

Tom Quick talked about the open source stack he’d used to develop GlastoTag, using Redis as a fast, persistent storage layer, and how using Django had helped to speed up their development process.

Jag

Last but not least, OS Jam favourite Jag gave us an overview of some of the performance decisions he’d made while developing Din.

As always we retired to the pub afterwards to continue our discussions. If you’re around London you’re welcome to join us for the next Jam. Join the mailing list or keep an eye out on the Jam site to find out more.

By Malcolm Rowe, Software Engineering Team
Categories: Open Source

Chris DiBona’s OSCON Keynote: Your Work in Open Source

Wed, 07/28/2010 - 19:19
If you missed seeing Google’s Open Source Programs Manager Chris DiBona speak live at OSCON last week, the video from his keynote is now available online.



There are also notes available from multiple OSCON sessions on Google Wave - check out the full listing if you want to catch up!

By Ellen Ko, Open Source Team
Categories: Open Source

Live Waving at OSCON 2010

Wed, 07/21/2010 - 19:37
With OSCON underway, we're excited about the opportunities that many of us have to present at the conference and we've taken some time to prepare resources for OSCON attendees to use Google Wave to "live wave" during the event.
If you're not familiar with live waving, it's a way of capturing what is occurring at a live event in real time on a wave. It’s similar to live blogging, but provides a smoother experience for the publishers and viewers. For example, you can take a look at the live wave that was used to capture the keynote address at this year's Google I/O conference.
We've put together the following resources for OSCON:

If you'll be attending OSCON, we would like to ask for your help in getting the word out about the live waves. You can let your fellow attendees know about the waves by tweeting, waving, or emailing the following link to folks: http://bit.ly/OSCON2010Waves. Everyone can contribute and we encourage you to join in on the live waves -- or start your own for one of the hundreds of sessions.
We think that live waves will serve as a great resource for attendees to share information and to connect in real time. If you want to learn more about Wave, please join us for Joe Gregorio and Dan Peterson’s talk, “Open Source Google Wave: Building Your Own Wave Provider” at 5:20 PM on Thursday or for the “Wave - Open Source and Open Protocols” Birds of a Feather (BoF) session at 8 PM on Thursday.
By Andrés Ferraté, Developer Advocate Team
Categories: Open Source

Don't Copy This Code

Wed, 07/14/2010 - 00:37
UPDATE July 13: We have changed the name of the codelab application to Gruyere. The codelab is now located at http://google-gruyere.appspot.com.



Normally, when we release source code we're hoping that other people will build on it and improve it. Today's release of Gruyere, a small yet full-featured microblogging application, is a code release of a different sort entirely.
Gruyere has one feature that most applications usually do their best to avoid: lots of security bugs.
In fact, Gruyere was written specifically to teach about security. More specifically, it is a tool to show how to exploit web applications and, in turn, protect against those exploits when developing software. Gruyere is the software component of the "Web Application Exploits and Defenses" codelab being released today on Google Labs in cooperation with Google Code University. The codelab walks participants through a number of common web application vulnerability types and demonstrates how an attacker could exploit such vulnerabilities.
So while we don't want you to copy the code in Gruyere, we do hope you'll check it out and learn from it.

By Bruce Leban, Software Engineering Team
Categories: Open Source

Google Summer of Code BoF at USENIX

Mon, 07/12/2010 - 16:27

USENIX is a technical organization that has a lot of community members associated with our open source efforts as well as lots of strong ties to the research community. A couple weeks ago I attended the USENIX Annual Technical Conference (ATC). Googler Dave Presotto was a member of the program committee. ATC is a federated conference that brings together researchers and developers working in a wide variety of focus areas. We love to support the members of this organization in their efforts throughout the year. Among the presentations I enjoyed most were the one on robotic honeybees, another on power usage in smart phones, and really enjoyed the keynote on concurrency from Ivan Sutherland.

We held a Google Summer of Code™ Birds of a Feather (BoF) meetup on Thursday night after the conference reception. We talked about Google Summer of Code over ice cream and beer well into the evening. In all we had about 25 attendees, many of whom hadn’t heard of Google Summer of Code before. It was great to tell some people new to the program about it and also to hear from those who have participated about how its changed their lives. A great time was had by all; we even ended up closing the place down that evening.

Don’t miss the next Google Summer of Code BoF at OSCON in just a couple weeks!

By Carol Smith, Open Source Team
Categories: Open Source

Google Summer of Code 2010 San Francisco Meetup

Thu, 07/08/2010 - 22:45
Carol Smith and Cat Allman (5th and 1st from right) with with meetup participants
Two weeks ago, Google’s San Francisco office hosted a Google Summer of Code™ meetup. I joined a group of about a dozen others, including Carol Smith and Cat Allman from Google's Open Source Programs Office. There were program participants from all over California, including two exchange students and one who came all the way from Guadalajara, Mexico. We didn't have a huge agenda, we just planned to get together and geek out.

We started the event off just after 3 PM with introductions and some background info on the 2010 projects. There were two 2008 Google Summer of Code alums in attendance: João Antunes, who worked on a file transfer protocol for SIP Communicator and myself (John Britton), who worked on a localization server for Gallery.

João and I shared our advice on succeeding in Google Summer of Code. We each gave short demonstrations of our projects and some background to put them in context. We also fielded tough questions on how to make sure to set reasonable expectations for mentors and deliver on promised goals.

After talking about the program, I took the floor to talk a bit about projects that I've been working on recently. I started by giving an interactive demo of Twilio and explaining how my experience duiring Google Summer of Code was instrumental in getting a job there. The program was especially good for preparing me to work on building the community around our first open source project, OpenVBX. After I finished up talking about community building, I shared an update on Mozilla's Drumbeat initiative which naturally segued into a discussion on P2PU and the School of Webcraft.

The team from Scripped followed me by giving some advice on the importance of communication in software projects and on managing expectations. Last but not least, we got an official tour of the Google San Francisco office. Tour highlights included a pit stop in the micro-kitchen, a chance to ride the Google slide, and a giant Android phone.


We rounded out the day with a trip to a pub on the waterfront overlooking the Bay Bridge. Overall, it was a pretty sweet day.

Check out the Google Summer of Code Flickr Group Pool for more photos.

By John Britton, 2008 Google Summer of Code Alum
Categories: Open Source

Google Summer of Code 2010: Meet The Students and Mentors!

Fri, 07/02/2010 - 17:45

Following up on my post from a few weeks ago, I’d like to give you all some more statistics about our Google Summer of Code™ program participants this year.
• We have 69 student countries represented this year. New countries represented by students include Jamaica, Morocco, and Cambodia.
• For the first time we have mentors from Chile, South Africa, Taiwan, and Peru.
• We have mentors from 52 different countries this year.
• We had 3,464 students submit a total of 5,539 proposals in all. Last year we had 5,885 proposals submitted by 3,496 students.
• The open source organizations participating this year received an average of 36 proposals to review. We have 150 participating organizations this year.

We accepted 1,026 of those proposals to become full Google Summer of Code participant projects this year. This is 26 more than we had planned for but there were so many great applications this time that we just couldn't stop at 1000. We have 943 mentors for the students’ projects this year, which means we don’t have quite a 1:1 ratio of students to mentors; some organizations choose to co-mentor students or have the whole organization mentor all the students who participate.

Midterm evaluations are almost upon us. Check out the timeline to see what’s coming up for Google Summer of Code!
By Carol Smith, Open Source Team
Categories: Open Source

Googlers on the Loose at OSCON

Wed, 06/30/2010 - 16:00
In three weeks, Googlers from offices around the world will be gathering in Portland, OR for OSCON, O'Reilly Media’s annual open source convention. OSCON will take place from July 19th - 23rd, and we’re looking forward to the opportunity to meet and interact with the open source community.

There is an impressive lineup of Googlers speaking at OSCON this year, with 20 of them presenting talks and even more attending. Click on the session names below for more information on each talk’s time and location.
Robin Anil: Mahout: Mammoth Scale Machine Learning

Dan Bentley: Make Open Easy

Tim Bray: Practical Concurrency

Ben Collins-Sussman: How to Lose Friends and Alienate People: The Joys of Engineering Leadership

Chris DiBona: Google Open Source Update 2010 and Your Work in Open Source, 3 years of Incremental Change

Brian Fitzpatrick: How to Lose Friends and Alienate People: The Joys of Engineering Leadership

Joe Gregorio: Extending Wave with Robots and Gadgets

Sam Johnston: What We Need are Standards in the Cloud

John Koleszar: Introducing WebM: High Quality, Royalty-Free, Open Source Video

Ikai Lan: Introduction to Google App Engine and What is Google App Engine?

Alex Martelli: Practical Python Patterns and Powerful Pythonic Patterns

Mark Miller: E, Caja

Dan Morrill: Android: The Whats and Wherefores

A. Ali Pasha: Challenges of running Google Code - Porn, Malware, Hacks, etc.

Dan Peterson: Extending Wave with Robots and Gadgets

Rob Pike: Go, Public Static Void, and Another Go at Language Design

Mark Pilgrim: HTML5's Multimedia Future

Mark Smith: Build Your Own Contributors (One Part at a Time)

John Woodell: Ruby and Duby on App Engine

Roni Zeiger: Google Health: Connecting Mobile PatientsIf you have a particular interest in Android, in addition to Dan Morrill’s talk there will be an Android Hands-On session at 7 PM on Wednesday. This event promises to be “an intense, technical, and structured event led by Google Android experts.” Advance registration is required for this event, so don’t forget to sign up!

We’ll also be holding a Google Summer of CodeBirds of a Feather (BoF) session on Wednesday. This BoF is a chance for anyone who has been involved in Google Summer of Code or is interested in learning more to meet face to face and talk about the Google Summer of Code experience. The fun and community bonding starts at 7 PM!

In addition to all the talks and events listed above, the Google Open Source Programs Office will be holding Office Hours on Wednesday, at 2:30 PM. If you’ve ever had a question about open source and Google, this is a great opportunity to meet the team and ask it in person. You’re also welcome to just come by, say hello, and hang out.

Hope to see you at OSCON!

By Ellen Ko, Open Source Team
Categories: Open Source

Birds of a Feather at Open Source Bridge

Mon, 06/28/2010 - 18:08

The second annual Open Source Bridge, held in Portland, Oregon, was a blast. I presented a talk on Foundations, Non-Profits, and Open Source and I participated in some great sessions as well on topics ranging from How to Give a Great Tech Talk (including the 7 Habits of Highly Ineffective Speakers) and a geek choir.

The best part of the conference in my opinion, though, was the Google Summer of Code™ Birds of a Feather (“BoF”) session that we held on Thursday night. I and my fellow Googlers, Ellen Ko and Cat Allman, met some past and present students and mentors and also talked with some enthusiastic students who may be applying next year. There was, of course, the traditional post-BoF gathering at Old Town Pizza, as well. We all had some great conversations, made some new friends and are looking forward to the Google Summer of Code BoF at OSCON on Wednesday July 21st.

Hope to see you there!

By Carol Smith, Open Source Team
Categories: Open Source

Introducing the Google Command Line Tool

Fri, 06/18/2010 - 18:44

Ever wanted to upload a folder full of photos to Picasa from a command prompt? We did, a lot, last summer. It made us want to say:

$ google picasa create --title "My album" ~/Photos/vacation/*.jpg

So we wrote a program to do that, and a whole lot more.

GoogleCL is a command-line utility that provides access to various Google services. It streamlines tasks such as posting to a Blogger blog, adding events to Calendar, or editing documents on Google Docs.

For example:

$ google blogger post --blog "My blog" --tags "python, googlecl, development" my_post.html
$ google calendar add "Lunch with Jason tomorrow at noon"
$ google docs edit --title "Shopping list" --editor vim

GoogleCL is a pure Python application that uses the Python gdata libraries to make Google Data API calls from the command line.

Read more at the GoogleCL project page, or jump right to the examples. Along with a standard tarball, we have a .deb package ready for download, and hope to have it included in Debian and Ubuntu repositories in time for their next releases. We're adding features all the time, so check in frequently. Or better yet, contribute.

GoogleCL brings cloud computing to your fingertips, literally!

By Jason Holt, Street View Team and Tom Miller, former Street View Intern
Categories: Open Source

Zurich Open Source Jam 8

Wed, 06/16/2010 - 17:34

After a period of careful consideration and planning, a new edition of the Zurich Open Source Jam took place on May 27th. This time, the focus was more on the social side of the Jam, but an Open Source Jam always includes a number of presentations so our guests have topics to debate.

William Candillion started the meeting with his lightning talk about cloud extensions for XQuery. His project has built a large set of tools to work with XQuery++ in a variety of APIs from a number of programming languages.


Yannick Stucki explained the design of his Android music player Music Queue. For example this player displays the current song playlist in various ways, rather than details about the current song, and provides novel ways to alter it with simple swipes, making it easier to use while walking.


Following Yannick, Cedric Staub told us about the modular UZBL browser (pronounced as “usable”). This browser follows the UNIX philosophy by consisting of a number of single-tasked components and scripts which interact with each other to display the web site and offer controls.

After a break to grab some food and drinks, Petr Pridal talked about his Google Sites Backup and Mirroring scripts. These scripts use the Google Sites API to dump and restore web sites from Google Sites, including the version history of each site.


If you missed this Open Source Jam, don’t worry; there will soon be another one here in Zurich. If you have an interesting open source project you’re working on, or if you would like to participate in one, you’re very welcome to show up and get in contact with other people who share your interests!

Stay tuned and watch for announcements on the Open Source Jam Zurich Google Group!

By André Wienck, Site Reliability Engineering Team
Categories: Open Source

Notes from SambaXP 2010

Fri, 06/11/2010 - 23:30
Hello, I’m Jeremy Allison, a Google engineer in the Open Source Programs Office and a Samba Team member. I recently returned from SambaXP, the annual Samba Team coding bash and get-together in Göttingen, Germany, held from May 5th - 7th. There were several notable outcomes from the conference, which I’ll share here.

We launched the new look for the samba.org web site at the conference, refreshing the Samba web site with a 21st Century design.

We listened to many presentations, had lots of meetings, and drank fine German beer. I gave a presentation on "How to make a product with Samba," (PDF of slides) aimed at helping companies use Samba in commercial products.

The Microsoft engineers who are working on the SMB (Server Message Block) and SMB2 file-sharing network protocols are Samba Team friends and they returned to the conference this year - in fact, Tom Talpey from Microsoft announced a new project to design UNIX extensions for the SMB2 protocol.

The Samba Team is still making great strides on the next release of Samba, Samba4. Samba creator Dr. Andrew Tridgell from IBM (just to be formal for once... everyone still just calls him "tridge") demonstrated two-way replication between a Microsoft Active Directory domain and a Samba4 Domain. There is still much work to be done on the AD domain controller code, but there is starting to be light visible at the end of the tunnel in getting to a "stable" 4.0 release. Maybe by SambaXP next year there will be an exciting new announcement on this subject.

After consultations with Original Equipment Manufacturers (OEMs) and Linux distributions, the Samba Team decided to move to a nine month period between major Samba releases instead of the previous six month release cycle. The strain of keeping to the six monthly cycle was too great on the release process, and nine months should give a better balance between having time for feature development and time for testing of the Samba production release code.
Plans for the merging of the existing file server (smbd) and authentication daemon code (winbindd) with the Active Directory code (samba) were made, and tridge demonstrated Samba4 printing for the first time.
Günther Deschner from Red Hat won the "Code Janitor of the Year" award yet again, for his clean up of the old printing code, and was only just beaten to the post as the top code commit contributor into Samba by Stefan "the Machine" Metzmacher from SerNet.








John Terpstra of Primastasys announced the clean up of the Samba.org support page as part of the new look for the Samba.org web site. John will be ensuring all companies offering Samba support on the site are kept up to date for users to contact.
Thanks to Google for sponsoring the event, and SerNet for hosting. The slides from all the presentations are available here. If you didn't go, you were missed - and you should certainly make an effort to be there next year!
By Jeremy Allison, Open Source Team
Categories: Open Source

Umit Project 2010

Thu, 06/10/2010 - 18:03

Umit Project is an international open source organization focused on network monitoring, with the goal of making life easier for network administrators and others who need to be aware of what is happening in their networks. The project developed out of Insecure.org in 2005, becoming an independent organization in 2007.
Umit Project has been a proud participant in Google Summer of Code™ since 2005. This year Umit Project participates in Google Summer of Code again with two students working on the Nmap Security Scanner.
In 2009, Umit Project received more good proposals than allocated slots, and students contacted us wishing to accomplish their projects even without funding through Google Summer of Code. To address this need, we created Umit Summer of Code (USoC) to enable those "extra" motivated students to participate in our project. Even without a stipend, the students accomplished their projects and they're still contributing in our community.
This year we have decided to operate the USoC program again, and everyone is welcome to join us! Check out more details about it at Umit's blog.
By Luis A. Bastiao Silva, Umit Project Lead Developer and former Google Summer of Code Mentor
Categories: Open Source

Code, Open Source, and Summer Love on the 17th Floor

Tue, 06/08/2010 - 22:29
Jon Trowbridge and Borja Sotomayor welcome students to the Google Chicago office

It's springtime in Chicago, and that can only mean one thing: time for the 3rd Annual Chicago-Area ACM-Student/Open-Source-and-Google-Summer-of-Code™ Lightning-Talks-Meetup! Ok, ok, so we haven't settled on a good name yet, although it's mostly a Google Summer of Code meetup. I say "mostly" because, although the event revolves around a series of lightning talks delivered by accepted Google Summer of Code students and by Google engineers, it is open to all students from Chicago-area universities with ACM Student Chapters. (The local ACM chapters helped to organize this event.) Roughly 70 students, mostly Computer Science undergraduates from The University of Chicago, Northwestern University, DePaul University, the Illinois Institute of Technology, Loyola University Chicago and the University of Illinois at Chicago stormed the Google offices in downtown Chicago on May 7th for an evening of intercollegiate mingling and geeking out.

This year, we had three Google Summer of Code student speakers, starting with Michael Lucy from The University of Chicago:

Michael will be working on Guile this summer, as part of the GNU project. His project will involve writing a module for compiling Parsing Expression Grammars (PEGs).

Next up, Jamie Schwettmann:

Jamie is a 2009 Google Summer of Code alumna from The University of Oklahoma, but now she now lives in Chicago because her summer work for The Globus Alliance rocked so hard that the University of Chicago ended up offering her a job to continue working on Globus software! Jamie told us about her project, Project Performance characterization of GridFTP on 10+ Gigabit networks using hosts with 10 Gigabit network interface cards. She also told us not to be intimidated by the title- her summer work ended up revolving mostly around creating an automated parameter optimization utility for GridFTP. She also reflected upon her experience in Google Summer of Code, and all the wonderful things that have happened as a result of it.

Finally, Emily Brand from Loyola University Chicago:

Emily will be working for Drupal on porting QueryPath to D7.

We were also treated to talks from three Googlers G-Men who, according to them, were there for comic relief, although they also provided many insights on real-world coding. First up, Jacob Matthews told us how his views on software development have evolved since his pre-college years. Here he is shown emphasizing the importance of testing:

Next, Vijay Menon extolled the benefits of learning multiple programming languages:

And finally, Jon Trowbridge told us how relational databases are not the be-all-and-end-all of data storage and management, and how Google relies on different approaches for its own data.

Besides the talks, there was also a truly scrumtrulescent dinner:

The captive audience:


And some truly awesome views of downtown Chicago from the 17th floor where Google's conference space is located:

Many thanks to Google's Chicago office for being such an awesome host! And congratulations to our Chicago-area students for making it into Google Summer of Code!

By Borja Sotomayor, University of Chicago Ph.D. Candidate and Google Summer of Code Organization Administrator (Globus Alliance) and Mentor (OpenNebula)
Photos by Anne Celestino and Borja Sotomayor.
Categories: Open Source

Google Chrome’s RLZ library is now open source!

Wed, 06/02/2010 - 20:27
Today on the Chromium blog, we announced that we’re open-sourcing the RLZ library in Google Chrome as its own project. The RLZ library gives us the ability to accurately measure the success of marketing promotions and distribution partnerships in order to meet our contractual and financial obligations. For example, the RLZ library generates a query parameter that sometimes appears in Google search URLs in distributed products:


We’re excited to not only improve the transparency of Google Chrome, but also offer potentially useful code to the open source community. Please check it out and let us know what you think!

By Glenn Wilson, Product Manager
Categories: Open Source

Open sourcing Thoughtsite - A discussion forum designed for Google App Engine

Wed, 06/02/2010 - 18:16
Google App Engine is a powerful system, designed to take all the pain of infrastructure management and performance scaling out of web application programming. App Engine applications are easy to build, easy to maintain, and easy to scale as your traffic and data storage needs grow.

While there are a lot of open source projects available to learn how to use App Engine, there have been few open sourced, comprehensive web applications built on App Engine to help you learn how best to use the advanced features that App Engine provides.

Enter... Thoughtsite!
Thoughtsite is a discussions/forum web app designed for Google App Engine. The main features of the app are:
  • a flexible system that could be used for any kind of discussion forum.
  • voting, tagging, comments and a reputation point system for users.
  • full text search on App Engine with Apache Lucene.
  • search for threads by tags or by keywords. Threads can also be linked to from user profiles.
  • users gain reputation points based on community votes for their contributions.
  • full-fledged user profiles with info, points, contributions, user's personal tag cloud, etc.
  • basic duplication detection filters to detect similar threads so posters can avoid creating a new thread if one already exists.
  • basic spam and gaming filters (self-voting, cross-voting, etc.).
  • comprehensive admin section that allows moderation of individual posts and users. Users can flag objectionable content or trolls.
Best of all, Thoughtsite is completely open source using an Apache 2 license and the code is available for download.

We hope you download the source, take it apart and play with it. Thoughtsite will work as a complete app if you want to use it to host a discussion forum on your own domain, but its real value is in taking it apart to understand how it uses App Engine under the hood.

By Swapneel Kshetramade, Developer Relations Team
Categories: Open Source

A Bridge to Open Source

Thu, 05/27/2010 - 18:25
Next week, several members of the Open Source Programs office will be in Portland, OR for the second Open Source Bridge conference which takes place over four days, June 1-4.

Carol Smith will be giving a talk called Foundations, Non-profits, and Open Source. Carol explains, “Figuring out whether to become a non-profit or a foundation can be a confusing topic for open source projects, and I hope to illuminate it based on my experience sitting on the Board of Directors for the Metabrainz Foundation.” Carol’s talk is on Wednesday, June 2 at 4:45 PM.

We’ll also be having a Google Summer of Code™ BoF (”Birds of a Feather” session) on Thursday, June 3, from 7 - 8:30 PM. Last year’s BoF had a great turnout and we loved meeting students, mentors and admins from the area. If you are a current, former, or potential Google Summer of Code participant, we’d love to see you and talk about the program!

Open Source Bridge is a volunteer-run conference mostly organized by a cohort of the very active open source community in the general Portland area. This year’s conference has 5 tracks of sessions plus BoFs and a hacker lounge. You can check out the schedule for an overview of all the session topics or learn more about the conference.

By Ellen Ko, Open Source Team
Categories: Open Source

expect(easier testing).andReturn(Android Mock)

Wed, 05/26/2010 - 18:06
The Android development tools provide developers with a host of tools for creating fun, useful and compelling Android applications. Included in this tool-set are various testing tools that make it easier to ensure the quality of the applications. One tool that has been missing, however, is a mocking framework.

Objects Mocking is a common technique in the tester’s skillset. Mocks are simulated objects which mimic and take the place of real objects by replaying pre-recorded behavior. They are used to quickly build more focused tests that reflect better the behavior of the tested objects. This is achieved by breaking long object construction chains, isolating interesting behavior to tighten a test’s focus. “Mocking” various services such as a network connection, a database or even a per-use credit card charging service (the kind you don’t want to stress-test with your personal credit card number!) makes it possible to test real external interactions without ever touching the real thing.

Here at Google, we use mocking frameworks a lot when writing Java tests (for the reasons above, and more) but unfortunately, the solutions available only provide limited mocking capabilities for Android testing.

That is, until now:

Android Mock has been written as an extension of EasyMock to allow for the mocking of Java Interfaces and Classes on Android’s Dalvik VM. Check out the resources for how to use it and how to write tests, then get mocking.

By Stephen Woodward, Software Engineering Team
Categories: Open Source