スキップしてメイン コンテンツに移動

投稿

3月, 2010の投稿を表示しています

Google Waveを使わないと人生損する

「Google Waveを使わないと人生損する」…これはちょっと大げさかもしれないが、1年半前に書いたブログ記事「Evernoteを使わないと人生損する」で言及したEvernoteと同じぐらい、Google Waveが重要な技術になると感じたのは本当だ。当初、Google Waveは自分にとって、Google App Engine (GAE)などでプログラミングできる単なるおもちゃだった。しかしながら、今になってやっと、オンラインコラボレーションプラットフォームであるGoogle Waveの潜在能力の高さを知ることになった。

大量のメールに埋もれる情報と予定の立たないミーティング

最近、仕事上のメールのやりとりが頻繁ですぐに流されてしまうことが多く、大事な知らせを失念してしまったり、大量のメールから目的の情報を探し出さなくてはならなくなったりと、メールの扱いに手を焼いていた。さらに、直接顔を合わせるミーティングにおいても、この時期は皆忙しいようで、集まりたいときにすぐに集まれない状況が続き、何かと仕事が滞りがちになっていた。

そこで、昨年にアカウントを取得していたGoogle Waveに目を付けたのだ。今までGoogle Waveを仕事で利用しなかったのは、もともとGAEと連動させてWaveボットなどを開発するのが目的であり、コラボレーションツールとしてはあまり興味を持っていなかったからだ。それに、知人や同僚にもアカウントを持っている人がいなかった。

しかし、メールでのやりとりがひどく非効率に感じられ、必要なときにミーティングもできないというこの状況を打破すべく、Google Waveのアカウントを職場で配ってみることにした。そこでまずは、IT関連の最新技術に明るい同僚に利用してもらい、しばらく一緒に使ってみたのだが、特に問題となるような点もなく、使い勝手もそれほど悪くはなかったので、他のメンバーにもアカウントを配ることにした。
本当に新しいことは理解され難い

Google Waveアカウントを配ったメンバーに早速使ってみてもらったところ、おおむね好評を得られて…というほど甘くはなく、やはり第一印象は「難しい」、「使いづらい」、「メールでいいんじゃないの」という意見だった。誰もGoogle Waveの名前すら聞いたことがないというのだからそれも仕方が無いのだ…

Scratchでプログラミングする子供たち

小学2年生の娘にスクラッチアイデアブックを渡したら、あっという間に読み終え、Scratchを使って自由気ままにいろいろなプログラムを作り始めた。書籍を参考にシューティングゲームを作ったり(砲台は戦闘機の替りに何故か女の子)、耳コピの「かえるのうた」を音の制御で鳴らして口パクで歌う女の子たちのアニメーションを作ったり(表情や髪型、足の微妙な動きなど、芸が細かい)、好きなように想像して、好きなように作っていた。保育園に通う息子は、書籍は読めないけど、Scratchで絵を描いたり、プログラムの部品をいじることはできるので、やはり多様な想像力を働かせて、大人では考えつかないようなスプライトを作り、回転させたり、大きくしたり、音を鳴らせたりして、楽しんでいた。

これはたった一日の出来事だ。子供の吸収力は凄いと感心させられる。以前、「Scratchで素数を求めてみた」というブログ記事で、Scratchによるプログラミングが子供の頃に遊んだレゴブロックみたいで楽しいと述べたのだが、その楽しさを表現する能力についてはやはり現役の子供には敵わなかったようだ。それにしても、子供たちが描いた絵が思うさまに動いているのを見ると、自分が子供の頃にもScratchがあったらなぁ、とつくづく思ってしまう。当時、自分で絵を描いたり、ブロックを組み立てたりすることだけでも楽しかったのに、それを好きなように動かせることができたのなら本当にワクワク・ドキドキしたことだったろう。

今回一つ思ったことは、子供たちには最小限のことだけを教えておいて、後は子供たちだけで何とかさせるというスタンスがとても良さそうであるということだ。疑問に思ったことは試行錯誤で解決しようとするし、それでも分からなければ本で調べる。ネットで調べてもいいのだけど、Scratchは日本語のまとまった資料が少ないのでそれが難しい。今後、多くの子供たちにScratchに触れてもらい、たくさんの人たちにScratchを知ってもらいたい。

以下に、参考サイトを挙げておく。

Scratch公式サイト - 想像・プログラム・共有
子どもたちがOSS活動、プログラミング言語「Scratch」が開く未来
非プログラマのためのプログラミング講座
こどもプログラミングサークル‘スクラッチ’
小学生にプログラミングの楽しさを伝えてみた

最後に、娘の作ったSc…

Google Wave Robots API v2でボットを書き直してみた

先日、Google WaveRobots APIバージョン2がリリースされた。更新内容の概要は「Google Wave Robot API v2のリリースエントリを翻訳しました」が分かりやすい。そこで、以前に作成した「てめーはおれを怒らせた」ボットをバージョン2のAPIで書き直してみることにした。しかし、すぐに修正できるだろうとナメていたら意外と時間が掛かってしまった。

初っ端でいきなり動かない。ほとんどチュートリアルと同じ程度に削っても動かない。エラーを頼りにAPIのソースコードなどを読んだりしているうちに、自分のプログラムの問題ではないんじゃないかと思い、動作確認していた環境をSandboxからPreviewに変更してみたら、問題なく動くようになった。ここでかなりの時間ロス。さらに、インターフェースも大きく変わっていて、新しいAPIでどのように実装するのか調べるだけでも結構時間を取られた。

書き直したソースコードは以下の通り。本当にこれで良いのか自信はないが、ちゃんと動作するようだ。因みに、ボットのアカウントはbillowlet@appspot.comだ。Google WaveのContactsパネルから登録すれば使うことができる。

慣れていないので手こずってしまったが、以前のバージョンに比べて、できることは増えているし、APIの構成も分かりやすくなっている。それに、ちゃんとGoogle Wave Robot Python API v2のドキュメントが整備されているのが嬉しいところ。何か面白いボットを作ってみたいな。

追記(2010/3/15):

Sandboxでも正常に動作するようになったみたい。

billowlet.py

#!/usr/bin/env python # -*- coding: utf-8 -*- """billowlet.py by nox, 2010.3.6""" import re, urllib, urllib2, random from google.appengine.ext import db from waveapi import events from waveapi import robot from waveapi import blip from wa…

AndroidからPythonでTwitterに投稿する

AndroidにASE (Android Scripting Environment)を入れてから楽しくてちょくちょくいじっているのだけど、Pythonに初めからtwitterモジュールが入っていることに気が付いたので使ってみた。

普段はAndroid端末(HT-03A)のTwitterクライアントとしてTwidroidを使っているのだけど、最初の立ち上げでタイムラインを取得しに行くのでちょっとだけ待たされる。あまり気にはならないけど、つぶやきをサクっと投稿したいだけならタイムライン取得は無駄なので、投稿専用のスクリプトを組んでみることにした。以下がそのコードだ。起動するとダイアログが出るのでつぶやきを書いて送信するだけだ。送信が完了したら画面に投稿したつぶやきが表示されて終了する。

# -*- coding: utf-8 -*- import android, twitter droid = android.Android() t = droid.getInput(u"Tweet", u"いまどうしてる?")["result"].strip() if t: api = twitter.Api("username", "password") api.PostUpdate(t) droid.makeToast(t)

これはすべてAndroid上でコーディングしたものだ。短いし、せいぜい数分もあれば書ける。書き終わったらそれをそのままホーム画面にショートカットアイコンとして登録すればいい。他にも、bit.lyのAPIを使って短縮URLを実装したり、サービスとして起動させ、特定のキーワードに引っかかったときにAndroidに通知させたり、メールを送信させたりすることも簡単だろう。やはり、スクリプトが使えるといろいろできて面白いな。