Posts from June 2009
Australia Goes Open
Tuesday, June 30, 2009
Here in Google's shiny new Sydney office, we recently hosted the first hackfest for OpenAustralia.org. OpenAustralia takes the data from Australia's record of Federal Parliament speeches, the Australian Hansard, and makes it easy for people to follow topics they're interested in.
Back in 2004, Matthew Landauer and Katherine Szuminska found themselves at the launch of the UK site TheyWorkForYou.com, a website designed to allow the average person to quickly and easily search the United Kingdom's Hansard - the record of all happenings in Parliament. Their work blossomed and they were inspired to make a similar site happen in Australia, OpenAustralia.org.
Both websites give ordinary people, who often have no idea who their local representative is, let alone what their representative has been doing on their behalf, the ability to track topics they're interested in and find out exactly what their representatives are doing.
When Matthew emailed out asking for a location for a place to host a hackfest, we were very happy to lend a helping hand. The hackfest ran on Saturday the 13th of June at the newly opened Google offices in Sydney, Australia and was successful beyond anyone's expectations.
When originally announced, the event's original 25 attendee slots filled so fast that we ended up increasing the number to 50 (which also filled remarkably fast). More surprisingly, almost everyone turned up and we even had a number of attendees fly in from other Australian states. No one expected this level of enthusiasm from the community, and we were pleased to share in everyone's excitement.
Some cool outcomes include a tool for crowd sourcing transcription of the "register of member's interests", an API and datasource for mapping street addresses to representatives, a "FixMyStreet" iPhone App and numerous bugs on the site fixed. More information on these and the ongoing efforts of this community can be found on the Open Australia Development list.
Matthew was also gracious enough to give a tech talk for Googlers about some of the many challenges faced by creating such a site, e.g. dealing with Crown Copyright, problems with getting a clean source of data, and problems getting the data fixed when it's clearly in error. Enjoy!
Guten LinuxTag!
Wednesday, June 24, 2009
The Open Source Team's Cat Allman will be in Berlin, Germany this week to present at LinuxTag 2009. Cat's talk, Getting Started in Open Source: An Overview for Newbies, will take place on Friday, June 26th at 4 PM local time. This will be Cat's second time presenting at LinuxTag - in 2008 she gave a talk about Google Summer of Code™.
This year LinuxTag expects over 10,000 visitors from around the world- If you are there make sure to attend Cat's talk!
By Ellen Ko, Open Source Team
This year LinuxTag expects over 10,000 visitors from around the world- If you are there make sure to attend Cat's talk!
By Ellen Ko, Open Source Team
Chris DiBona and Leslie Hawthorn at FISL
Tuesday, June 23, 2009
If you are in South America this week and you have been wanting to find out more about Google's Open Source activities or the future of Open Source and its communities, Chris DiBona and Leslie Hawthorn from the Google Open Source Programs Office will be speaking at the tenth annual Fórum Internacional Software Livre (FISL) in Porto Alegre, Brazil.
Leslie will be presenting tomorrow, June 24th, 1 PM local time about Google Summer of Code™, and she'll be staying afterward to meetup with Google Summer of Code participants who are in the area. On June 26th at 2 PM, Leslie will be presenting "Community Management Basics" and how to make FLOSS projects and communities welcoming for new contributors.
Chris' first talk, "Open Source: Then, Now and Tomorrow" takes place on June 26th at 3 PM local time. In addition to the past, present, and future of FOSS, Chris will discuss how Google uses and releases Open Source software. In Chris's second talk, "An Introduction to Android" at 5 PM on the 26th, he will explain the ideas and structure behind the Open Source mobile operating system Android.
All four talks are great opportunities to learn more about Google and Open Source. Come ask questions and get to know members of the Open Source Team!
by Ellen Ko, Open Source Team
Leslie will be presenting tomorrow, June 24th, 1 PM local time about Google Summer of Code™, and she'll be staying afterward to meetup with Google Summer of Code participants who are in the area. On June 26th at 2 PM, Leslie will be presenting "Community Management Basics" and how to make FLOSS projects and communities welcoming for new contributors.
Chris' first talk, "Open Source: Then, Now and Tomorrow" takes place on June 26th at 3 PM local time. In addition to the past, present, and future of FOSS, Chris will discuss how Google uses and releases Open Source software. In Chris's second talk, "An Introduction to Android" at 5 PM on the 26th, he will explain the ideas and structure behind the Open Source mobile operating system Android.
All four talks are great opportunities to learn more about Google and Open Source. Come ask questions and get to know members of the Open Source Team!
by Ellen Ko, Open Source Team
Sojourning at SouthEast LinuxFest
Tuesday, June 9, 2009
Fresh on the heels from speaking at Google Developer Day in Beijing and Tokyo, Chris DiBona will be heading to the SouthEast LinuxFest. This new conference promises to provide a welcoming environment for novice users of Open Source software, with a little something for everyone with talks on data warehousing, education and philanthropy. Should you find yourself in or around Clemson, South Carolina this Saturday, June 13th, please stop by to hear Chris discuss "Open Source: Then, Now and Tomorrow." As much as the Open Source Team enjoys connecting with Open Source developers and users worldwide, Chris is particularly looking forward attending this grassroots, community driven event and sharing his thoughts in this intimate setting.
We hope to see you there and, if you're attending, please do come by to say hello!
By Leslie Hawthorn, Open Source Team
Introducing Android Scripting Environment
Monday, June 8, 2009
The Android Scripting Environment (ASE) brings scripting languages to Android by allowing you to edit and execute scripts and interactive interpreters directly on the Android device. These scripts have access to many of the APIs available to full-fledged Android applications, but with a greatly simplified interface that makes it easy to:
Scripts can be run interactively in a terminal, started as a long running service, or started via Locale. Python, Lua and BeanShell are currently supported, and we're planning to add Ruby and JavaScript support, as well.
You may ask, why write scripts instead of real Android applications? Admittedly, Android's development environment makes life pretty easy, but you're tied to a computer to do your work. ASE lets you develop on the device itself using high-level scripting languages to try out your idea now, in the situation where you need it, quickly. Have a look at the following example Lua script to see for yourself:
Here's another useful script, this time in Python.
These scripts demonstrates several of the available APIs available for both Lua and Python. It is intended to be run as a service and silences the ringer when the phone is placed face down. For some scripting languages, like BeanShell, it's possible to access Android's Java API directly. To simplify things, ASE provides the AndroidFacade class. For other languages, like Python and Lua, the API is made available via JSON RPC calls to a proxy. Naturally this means that only the part of the API which has been wrapped by the AndroidFacade and AndroidProxy are available to cross-compiled interpreters like Python and Lua. Thankfully, both AndroidFacade and AndroidProxy are simple to extend.
If you'd like to give ASE a try, it's not yet published to the Market, but will be soon. You can download the latest APK from our project page. Some sample scripts and documentation are also included there to help you get started. We always love to hear what you think, so please send us feedback or ask your questions in the ASE discussion group.
By Damon Kohler, Software Engineering Team
- Handle intents
- Start activities
- Make phone calls
- Send text messages
- Scan bar codes
- Poll location and sensor data
- Use text-to-speech (TTS)
- And more
Scripts can be run interactively in a terminal, started as a long running service, or started via Locale. Python, Lua and BeanShell are currently supported, and we're planning to add Ruby and JavaScript support, as well.
Scripts can be edited directly on the phone.
The script manager displays available scripts.
Interactive terminals can be started for interpreters that support it.
Scripts can use the Android UI to get user input.
You may ask, why write scripts instead of real Android applications? Admittedly, Android's development environment makes life pretty easy, but you're tied to a computer to do your work. ASE lets you develop on the device itself using high-level scripting languages to try out your idea now, in the situation where you need it, quickly. Have a look at the following example Lua script to see for yourself:
--Placing the phone face down will disable the ringer. Turning it face up again will enable
--the ringer.
require "android"
android.startSensing()
android.sleep(1) --Give the sensors a moment to come online.
silent = false
while true do
s = android.readSensors()
facedown = s.result and s.result.zforce and s.result.zforce > 9
if facedown and not silent then
android.vibrate() --A short vibration to indicate we're in silent mode.
android.setRingerSilent(true)
silent = true
elseif not facedown and silent then
android.setRingerSilent(false)
silent = false
end
android.sleep(1)
end
Here's another useful script, this time in Python.
"""Say chat messages aloud as they are received."""
import android, xmpp
_SERVER = 'talk.google.com', 5223
class SayChat(object):
def __init__(self):
self.droid = android.Android()
username = self.droid.getInput('Username')['result']
password = self.droid.getInput('Password')['result']
jid = xmpp.protocol.JID(username)
self.client = xmpp.Client(jid.getDomain(), debug=[])
self.client.connect(server=_SERVER)
self.client.RegisterHandler('message', self.message_cb)
if not self.client:
print 'Connection failed!'
return
auth = self.client.auth(jid.getNode(), password, 'botty')
if not auth:
print 'Authentication failed!'
return
self.client.sendInitPresence()
def message_cb(self, session, message):
jid = xmpp.protocol.JID(message.getFrom())
username = jid.getNode()
text = message.getBody()
self.droid.speak('%s says %s' % (username, text))
def run(self):
try:
while True:
self.client.Process(1)
except KeyboardInterrupt:
pass
saychat = SayChat()
saychat.run()
These scripts demonstrates several of the available APIs available for both Lua and Python. It is intended to be run as a service and silences the ringer when the phone is placed face down. For some scripting languages, like BeanShell, it's possible to access Android's Java API directly. To simplify things, ASE provides the AndroidFacade class. For other languages, like Python and Lua, the API is made available via JSON RPC calls to a proxy. Naturally this means that only the part of the API which has been wrapped by the AndroidFacade and AndroidProxy are available to cross-compiled interpreters like Python and Lua. Thankfully, both AndroidFacade and AndroidProxy are simple to extend.
If you'd like to give ASE a try, it's not yet published to the Market, but will be soon. You can download the latest APK from our project page. Some sample scripts and documentation are also included there to help you get started. We always love to hear what you think, so please send us feedback or ask your questions in the ASE discussion group.
By Damon Kohler, Software Engineering Team
Getting Started in Free and Open Source
Friday, June 5, 2009
The Open Source Programs Office's Cat Allman and Leslie Hawthorn will be presenting at a brand new conference, Open Source Bridge, in two weeks. Their talk, "Getting started in Free and Open Source" will be held on Wednesday, June 17 from 11:20am – 12:05 PM. Leslie and Cat will share their wisdom with Open Source newbies and those looking to attract or retain them. Their talk will cover the basics of:
We hope to see you there!
By Ellen Ko, Open Source Team
- Why you might want to get involved
- What you can get out of participating
- What you can contribute besides code
- How to choose a project
- How to get started
- Etiquette of lists and other communication
- Dos and don’ts of joining a community
We hope to see you there!
By Ellen Ko, Open Source Team