phingってどうなんでしょう?

最近、phingを使い始めました。JavaでいうAntみたいなものです。

ちなみに、PHP 5.2.5、phing 2.3.0, PHPUnit 3.2.21, PhpDocumentor 1.4.2, xdebug 2.0.3といった環境です(Mac OS Xです)。

まだ、exampleを動かしたくらいなのですが、変だなあと思った点がいくつか。

・exampleがそのままじゃ動かない

build.xmlとかTestCaseファイルとかをちまちま修正しないといけませんでした。

phingと連携する、phpunitとの組み合わせの問題なのかもしれないけど、最初のexampleくらい、簡単に動かせるようになって欲しい。

・PhpDocumentorTaskの動作がおかしい

$ phing docs

と単独でタスクを実行すると、うまく動くのですが。

<target name=”build” depends=”test,prepare,reports,docs”>

となっていて依存性がある状態でphing buildを実行するとdocsの処理中にエラーになりました。

docsをdependsから外したり、docsを最初に実行するようにdependsを修正するとOKなんですが、主旨からするとdocsは最後に実行して欲しいところです。

・dependsの実行順序について

phingドキュメントのGeting Startedを見ると、

 <target name="D" depends="C,B,A" />

Suppose we want to execute target D . From its depends attribute, you might think that first target C , then B and then A is executed. Wrong! C depends on B , and B depends on A , so first A is executed, then B , then C , and finally D .

となっているのです。Dを実行したいとき、depends属性によって、C->B->Aの順に実行されると思うだろうけど、間違い。A->B->Cが実行されて、Dが最後に実行される、と書いてあるように読める。

でも、実際の動きと違うんだよなあ。まあ、実際の動きが正しいんだろうけれど。

最後のはともかく、phpdocタスクは正しく動かしたいなあ。


もくもく会@ディノに参加してみた!

今日は、夕方から営業に出て、そのまま帰宅するのも早いなあという時間だったので、前から気になっていた「もくもく会」に参加してみました。

もくもくと自習やら作業やらする会ということらしく、kunitさんの「もくもく会発動」で知ったのですが、本家?もくもく会に触発されて始まったらしいです(別に木曜って決まりがあるわけではないんですね)。

弊社はまだちゃんとしたオフィスがないので、僕も社員も毎日もくもく会状態なわけですが、会社が小さい分、外からの刺激は貴重です。

今回の第3回は最終週なので、もくもくとではなく、ピザ+ビアパーティー形式。会話できるとなると、初参加しやすいです。

プレゼンもありということだったので、一応、先日iPhonista Nightでのライトニングトークとか、KeynoteとiPhoneでプレゼンする方法とか、何か話すことはできたと思うんですが、新参者なので遠慮してしまいました。ビールで酔っぱらう前に発表すればよかったんですが、打ち解けるまでにはかなり酔いが。

あと、phingに詳しい人がいれば、聞きたいこととかもあったんだけどな。

来月からは毎週火曜日ということで、定期的に参加してみようかな。

というわけで、同席した皆様&今後お会いする方々、よろしくお願いいたします。

はてなではgofurukawaですが、全く活動してません(かなり前に買ったはてなポイントがそのまま残ってる)。


iPhone 3Gのケースはこれが一番いいと思う

iPhone 3Gをケースに入れるかカバーつけるか でも書いたんですが、液晶保護フィルムのみ貼って、ケースとかカバーはつけず、むき出しで使っていました。

当時開発中だったパワーサポートのAirジャケットセットがClear/White/Blackと発売されたので、Whiteを購入してみました。このシリーズは、前面以外をくるっとカバーしてくれるので、むき出しの状態と違和感なく使えます。


“パワーサポート エアージャケットセット for iPhone 3G White PPK-70″ (パワーサポート)

透明がいいかなとか、白いiPhoneに白いカバーというのもつまらないかなと思ったのですが、結果的には白でよかったかなと思っています。

パッケージから出す間にも傷がつきました。結構傷がつきやすい素材のようです。これは透明だと、白濁したような傷になってしまわないかなあ。iPhone自体と比べると、多少高級感がないですが、銀色のアップルマークも少し透けて、良い感じです。

ジーンズの後ろのポケットとかに差し込むときに、音量ボタンを押してしまうことがあったんですが、それも防いでくれてます。

黒のiPhoneにもつけてみましたが、ちゃんと白くなりました。

見た目に変化がなくてつまらないという方もいるかもしれませんが、素に近い状態でラフに扱えるのもいいですよ。

フィルムも2枚付属してくるし、最初からこれが発売されていたら良かったのにな。


KeynoteでプレゼンするためのTips

先日、人前で話す機会があり 、Keynoteを使いました(僕はiWork 08を使ってるのでKeynote ’08です)。

実際に本番を目指して、いろいろと試行錯誤したので、準備や発表に役立ちそうなKeynoteの使い方や、一緒に使うと便利なツールをまとめてみました。

まずは、Keynoteそのものの使い方です。

●発表者ディスプレイ

Keynoteでは、相手に見せる画面と自分で見る画面(=発表者ディスプレイ)を変えられます。こんな感じの画面。

keynote_rehearsal.png

まずは、Keynote→設定でいくつか設定します。

(1)発表者ディスプレイ「発表者の情報表示用に別のディスプレイを使用」にチェック

現在のスライド、次のスライド、ノート、タイマー、スライド進行インジケータを表示することにしました。

次のスライドは、1回クリックしたら表示される状態になるので、エフェクトを使っている場合にも便利です。

発表者用のノートは、プロンプター代わりになります。デフォルトだと画面下部でしたが、画面上部に表示して、そこそこの文字サイズにしておけば、視線が下に行きすぎない気がします。

タイマーは残り時間と経過時間と選べます。これはお好みで。

スライド進行インジケータは、エフェクトが処理中はレッド、処理が完了するとグリーンのバーが画面上部に出ます。

発表中は極力観客を見ておいた方が良いと思い、画面下部には何も表示しませんでした。

画面が広くないと表示しきれないかなあ。僕はMacBook Proなので使いやすかったですが、MacBook/MacBook Airの場合はどんな感じでしょうか。いずれはiMac+Air体制にしたいと思っているので、気になるところです。

(2)スライドショー「副ディスプレイにプレゼンテーションを表示」にチェック

逆にすると、原稿が見えちゃうことになりますね。

●スライドショーをリハーサル

もちろん副ディスプレイをつないで練習してもいいんですが、つながずに練習することもできます。

Keynote→表示→スライドショーをリハーサルで発表者ディスプレイが表示されます。

スライドショーの再生中に?キーを押すと、再生中のヘルプが出てきます。直感的にわかりそうなのもありますが、知らずにキーを押してしまって動作したら、とまどいそうなものも。

BやWで白か黒の画面を出すというのは、画面から目を離してもらうのに使えそう。HでKeynoteを隠して、直前に使ってたアプリに切替というのもデモを交えるときに使えそうです。Xで主副ディスプレイ切替とか、Rでタイマーをリセットとかは間違えて操作したら困りそう。

●ディスプレイの検出

現場でのリハーサル時には、プロジェクタにつながるケーブルをつなぐだけで画面が表示できたのですが、本番直前につないだら表示できなかったんですよ。かなり焦って再起動してしまったのですが、システム環境設定のディスプレイで「ディスプレイを検出」というのを操作すれば、よかったらしい。

システム環境設定のディスプレイを呼び出すアイコンは、メニューバーにも追加できるので、プレゼン前に入れておくとよいかも。

●スライドを動かすには

マウスやスペースキー、→キーなどでもスライドを次にめくることはできるのですが、恥ずかしながら、緊張して手が震えてしまって、危うくダブルクリックしそうになりました(笑)

MacBook Proにも付属しているApple Remoteを使えばよかった(ほとんどのMacに付属してる?)。

appleremote.jpeg

そのままでもスライドの移動くらいは出来ますが、iRed Liteというアプリを使えば、各ボタンに操作を割り当てることができます(どうも気持ちよくて使えなくて試行錯誤中)。

あとは、BluetoothでWiiリモコンをつなぐDarwiinRemoteなんてものもあります。Apple Remoteだと赤外線なのでMacの前にいなきゃいけませんが、これなら移動してもOK(少しでかいのが△)。

最近知って、次回使おうと思っているのはiPhone/iPod touch用アプリのKeynoteプレゼンターツール、Stage Handicon(900円)。

stagehand.png

Stage ManagerというアプリをMacに入れる必要がありますが、MacとWiFiでつないで、iPhone/iPod touch側でノートを見たり、スライドを移動したり、画面上で指し示したいところをハイライトさせたりできます(ハイライト機能を使うには、Stage ManagerやKeynoteにも設定が必要です)。

縦向きだとノートが表示されて、上下で原稿の内容を読めて、左右でスライドの移動です。

横向きにするとスライドが表示されて、タップするとハイライトされ、位置は指で動かせます。2本指で触るとハイライトが消えるとか、ピンチでハイライトの大きさを変えたりとか、操作できます(ちょっと慣れが必要なので要練習)。

発表中に、電話やSMSが来たら困るので、機内モードにするのを忘れずに。

iPod touchのOSを2.0にアップデートしていないのですが、iPod touchにも入れようかな。

そうそう、MacとiPhone/iPod touchはWiFiで通信するのですが、アドホックでもOK。AirMacを入にして「ネットワークの作成」から。

FileMagnetを無線LANアクセスポイントがない場所でも使う方法

●その他のツール

3つとも、ステージでのプレゼンじゃなくて、通常の打ち合わせなんかでも使えると思います。

まず、デスクトップを隠すツール、Camouflage

デスクトップにはファイルを置かないようにしているのですが、締切間際とか作業中はファイルが散乱することもあります。常に置いているフォルダとかもあります。副ディスプレイのデスクトップにアイコンが置いてあることはないと思いますが、人前でプロジェクタにつないで、不意に主ディスプレイのちらかったデスクトップを見せたくもないですし。

デスクトップ部分をクリックするとFinderに、ダブルクリックするとFinderウィンドウでデスクトップが開きます。cmd+N(新規Finderウィンドウ)で開く場所は設定できるので、あらかじめプレゼン関連のフォルダに設定しておくと、動作デモを見せるときなどには便利。

続いて、スリープさせないようにするツール、Caffeine

画面を離れて、話がメインになることもありますよね。スリープから復帰できずに固まったりしたら笑えません。

最後に、見せたいアプリだけを強調できるThink

これ、プレゼン用のツールじゃありません。使用中のアプリのウィンドウだけが表示され、それ以外は一色で塗りつぶされるので、使用したいアプリに集中するためのツールです。

画面で動作デモするときに、見せたいアプリだけ見えるとよいかなと思います。

以上、長々と書きましたが、できる準備は前もってしておきたいものです。


Web STRATEGY vol.17

昨日、見本誌が届きました。8月18日発売のWeb STRATEGY vol.17です。


“Web STRATEGY vol.17″ (MdN)

今回は、連載とは別に、先月発売されたiPhoneに関する記事を書いています(目次の名前が間違っていますが…)。

iPhone対応ページ制作Tips「既存サイトをiPhoneでも使いやすいサイトに変えよう!」という記事です。

iPhone向けコンテンツの紹介から、既存サイトのiPhone向けの改修方法、開発環境、実機検証など、4ページに渡って解説しています。サイトごとに対応方法が異なる部分も実際には出てきますが、一般論としては、かなりまとまった内容になっています。

前号から始めた連載「制作&開発環境 実践的改善講座」、第2回目のテーマは「Webサイトを監視する」です。監視という視点から現場の改善につなげる話を書いています。今回は、2ページにギュッと中身が詰まっています。

どちらも、ぜひご一読ください。

お仕事のご相談・ご依頼などは、info@octava.jpまで(^_^)


ididworkを使ってみた2

ididworkをもう少し使ってみて、今のところ気づいた点。前回のエントリーで書いた文字化けとタイムゾーンと比べると、徐々に改善されるといいなあという程度ですが。

・コメントができない

コミュニケーションツール的な感じかと思っていたら、チームメートもマネジャーもどちらもコメント機能はなし。マネジャーのreview機能はどうなのかな。

しゃべるのはリアルなりメッセンジャーでやればいいと思うので、なくて正解なのかも。ウェブでコメントすると、ぐだぐだしゃべる感じになっちゃいそうだし、無駄なログが増えてしまう。I did work.と思ったことだけ書いていくので良いんだろうな。

・複数タグはOK

これは◎。

・グラフ

件数が集計されます。時間が出ません。せっかく時間が付けられるなら、時間集計して欲しいなあ。

タグ毎の集計は件数で円グラフ。2つタグをつけたら、1件ずつカウントされます。

件数だと何を示しているのかがはっきりしないので、大まかな傾向をつかむ程度の機能かなあ。

・export機能

Excelと言いつつ、CSVです。時間が入ってないんですよね。数字はスターをつけてるかどうかで0か1が入ってるようです。まあ、データの再利用はまだ考えてないので、上述のグラフがよくなればいいや。


ididworkを使ってみた

今日やった仕事をididworkでボスに知らせよう

という記事で、仕事の記録を残すサービス「ididwork」が始まったということで使ってみた。

今のところ、日本語はダメなんで、今後に期待。feedbackに英語で投げてみたけど、対応してくれるかなー。

あとは、タイムゾーンも設定するところがないので、日付が変です。これもfeedbackからリクエストしました。

さて、使ってみた感じをご紹介しておきます。

登録して書き込むと(「日本語」と入れてみた)、いったん表示はされるんですよ。

ididwork01.png

しかし、あらためて表示し直してみると、文字化け。先ほどの「日本語」が「???」になってます。

ididwork02.png

どうもログの追加はAjaxでやっていて、追加した後の文字表示は入力データを使ってるから正しく表示できるようだけど、再表示するときはデータベースから取得していて、その取得したデータが壊れてるんだろうと思う(どこがおかしいかは、さておき)。

しょうがないので、英語で入力する。[〜]を使って、タグ付けと所要時間も書けます。[environment 4:00]として、environmentタグと4時間としました。

ididwork03.png

Click to analyzeから分析できます。期間ごととかタグごとにグラフにしたり、PDF/Excelにexportしたり。

あとはチームメートを登録する機能もあります。

ちょっと話が逸れますが、最近用意したSubversionのリポジトリではTwitterにpostできるのですよ。なので、仕事用のアカウントを非公開で作成して、自分の公開アカウントからフォローしてます。

Twitterのプライベートアカウントを作って作業ログをつけようかしらと思っていたので、ididworkは便利につぶやけるんじゃないかと期待。かんたんな分析もできるし。

ついでにマネジャー側のアカウントも登録してみた。別メールアドレスじゃなきゃダメなんですよね。

ididwork04.png

関連付けた従業員アカウントの作業ログをまとめて見ることができるようです。

review機能はどんな感じなのかな。デフォルトだと2週間だったので、マネジャーアカウントのほうで1週間にしてみました。

Twitter的な軽快なコミュニケーションを仕事に生かせるといいですよね。

(追記)ididworkを使ってみた2を書きました。

(追記2:2008/08/13)フィードバックにレスポンスがありました。タイムゾーン、国際化ともに、すぐに対応する予定はないとのことで。要望に応じて、プライオリティをあげていくということでした。残念ですが、しばらく英語で使おうと思います。

最近、これを読んだのですが、会社員時代に上司にこうすればいいのになあと思っていたことに近くて、納得しました。


“ひとりでも部下のいる人のための世界一シンプルなマネジメント術 3分間コーチ” (伊藤 守)

社員1人の社長ですが、ストレスフリーな感じにしたいなあと思っています。