2008年2月の投稿

WordPress 携帯対応プラグイン Ktai Style 0.99 リリース
WordPress 向け携帯電話閲覧・管理プラグイン Ktai Style のバージョン 0.99 をリリースしました。主な改良点は以下の通りです。
- default, compact, redportal テーマでは、コメント投稿時に必須事項 (コメント本文、名前、携帯電話情報など) が記入されてないとき、コメントフォームを再び表示してその上部にエラーを出すようにしました。(画面サンプル参照)
- フロントページ (ウェブログのトップページ) は、端末のキャッシュに残さないようにしました。
- UTF-8 で記述されたハートマーク等のトランプマーク、および ♥ 等の実体参照を絵文字に変換するようにしました。(画面サンプル参照)
- admin フォルダーをサーバーに転送しなかった場合 (管理機能を使わない場合)、携帯電話から通常のログイン画面・管理画面へのアクセスも遮断するようにしました。
- SoftBank 用エミュレーター (ウェブコンテンツヴューア) からの閲覧でも携帯電話表示になるようにしました。
- (その他の更新点)
今回は、正式版 (バージョン1.00) に向けてのバグ修正がメインです。非常に細かい改善を行なっています。機能改良としては、コメント投稿時にエラーが出たとき、入力フォームと同じ画面に表示させるようにしたことです。WordPress 標準では別画面に遷移してエラー表示しますが、端末によっては、前の画面に戻ったときに入力内容が消えてしまうため、使い勝手がよくありません。フォームと同じ画面でエラー表示すれば非常に使いやすくなります。ただし、この機能の実現のため、多少アドホックな実装を行なっています。
また、今リリースでは、Ktai Style 利用者の方のウェブサイトを巡りまして、細かな要望を拾って、いくつか採用しています。大きな改変が必要なものは後回しですが……。今後も、要望などありましたが、当エントリーにコメントしたり、WordPress Japan フォーラムに書くなどの方法で伝えてもらえれば幸いです。
当面は Ktai Style の開発は一息置きまして、wp-mta と wp-shot の機能を統合したモブログプラグインの開発を進めようかと思います。本当は1月末がリリース目標でしたが、遅れていますので……。コードは書けているのですが、テストが全然できていないので、公開できる状況ではありませんです。

Ktai Style 0.99 のバグ
おとといリリースした Ktai Style 0.99 ですが、細かいバグがあることが判明しました。
- 画像の alt 文字列に「キ」という文字列があると、この文字が破壊されてしまう。例えば、alt=”ランキング” の場合、[画像:ランング] と表示されてしまう。
- バージョン 0.92 で実装した「1×1 ピクセルの画像を無視する」が機能していない (alt=”" な画像を無視する機能は動作していた)。
- get_bloginfo(’url’) が空のとき、ハイパーリンクがおかしくなる。ただし、get_bloginfo(’url’) が空ならば自動的に get_bloginfo(’wpurl’) の内容を使うので問題にならない。get_bloginfo(’wpurl’) が空の場合は、そもそも WordPress が正常動作しない。
ks_comments_post_link()に誤記があって、コメント投稿リンクを表示させると XHTML 文法エラーになることがあった (バージョン 0.99 のみエンバグ)。
「ランング」問題は、実は kses.php の問題でした。WordPress 本体の kses.php を流用したのですが、その大本がマルチバイトを考慮せず「『キ』を破壊する」コードとなっています (厳密には 0xad を壊す)。これは本家に報告が必要ですね……。
これらを修正したコードは、今月下旬ごろバージョン 1.00 としてリリースする予定ですが、今晩ぐらいには CVS リポジトリーにアップしておきます。
これらの不具合はすべて利用者のみなさんからの報告等で見つかったものです。多種多様な WordPress サイトで問題なく動くためには、実運用での実績が必要ですので、今後もよろしくお願いします。
[追記: 2008-02-06] ks_comments_post_link() のバグを追加しました。
余談ですが、新規に WordPress をインストールした事例でも Mobile Eye/Mobile Eye+ を使っているサイトがあるようです。利用しているサーバーが PHP4 で Ktai Style が使えないのか、単に情報収集が甘くて Ktai Style の存在を知らないのか……。前者は仕方ないとしても、後者については、もっと広報をがんばらないといけませんね。
もっと気になるのは、メール投稿プラグインとして SOMY Mobile Gate を採用している場合です。こちらは「作者が開発中止と言ってる」 (==サポートがない) ので、自力でコードを修正するスキルがない限り、使うべきではありません。
Ktai Style のQAやノウハウ公開
拙作の WordPress 用携帯電話対応プラグイン「Ktai Style」ですが、附属ドキュメントだけでは分かりにくい項目を解説した文書を作って「よくある質問と答え」として公開しました。次期バージョン 1.00 では配布物に同梱する予定です。
従来のドキュメントはリファレンス的な内容がメインで、初心者の方には分かりずらくなっています。Ktai Style の普及のためには、チュートリアルとなる文書も必要だろうと思っていて、今回の「よくある質問と答え」はその一歩となります。
一番いいチュートリアルの作成方法は、「WordPress と Ktai Style で作る最強携帯サイト」という本を書くことでしょうが、それはさすがに大変です
そもそも、現状の Ktai Style では最強の携帯サイトを作れるまでのプラットフォームにはなっていませんし……。(携帯電話対応のプラグインとしては、最強に近いと思っていますが


Ktai Style 1.00 の予定
Ktai Style 0.99 をリリースしたことですし、正式版 1.00 の予定を書いておきます。以前書いた「0.99 の予定」では、2つだけ実現しています (期待していた方ごめんなさい)。WordPress 2.5 対応は、2.5 のリリースが3月らしいので見送りです。
残りの項目も、搭載してみたいのですが、バグを作り込みたくないので、ほとんど見送って、バージョン 1.10 での搭載としたいと思います。今のところ、以下のバグ修正および機能改善を行なっています。
- img 要素の alt 要素などで、特定の文字 (「キ」や「業」など) が破壊されてしまう不具合を修正。
- 1×1 ピクセルの画像 (アフィリエイトやレイアウト調整用) を非表示にする機能が有効になっていなかったバグを修正。
- WordPress の一般設定で、get_option(’home’) を設定していないとき、ハイバーリンクが不正になることがある問題を修正。
- 次の独自フィルターフックを追加しました: external_link
今後は、サムネール画像を作っていないとき/サムネール画像が 5KB を越えてしまっているときの処理を改善すべく、検討しているところです。サムネールに元画像へのリンクを張っている場合は、元画像のサイズをチェックして、閲覧している端末で表示できなさそうならば元画像へのリンクを無効 (グレーアウト) にしています。しかし、サムネール自体はサイズを確認せず、そのままリンクに変換しているので、端末によっては見られないことがあります。
あと、画像への直接リンクではなく、画像だけを1ページ (attachment page) で見せるやり方もノーチェックなので、早めに確認する予定です。
本当ならば、PHP の GD を駆使して、端末に最適化されたリサイズ機能などを提供したいのですが、それを実装するのは時間がかかるので、バージョン 1.10 以降にする予定です (気がかわって 1.00 に搭載するかもしれませんが)。
au 春モデル KCP+ 端末は Rev.A 対応
1月28日に発表された au の春モデルですが、EV-DO Rev.A 対応については記載がありませんでした。KCP+ 採用端末も非対応なのか疑問だったのですが、お客様センターに問い合わせたところ、W61SA, W61T, W61S の3機種 (== KCP+ 端末) は Rev.A 対応だという回答が得られました。逆に、それ以外の端末は非対応です。したがって、「Bluetooth と防水が一緒にならない」に加えて」「Rev.A と 防水が一緒にならない」というわけです。
そうなると、今回の新機種はどれも見送りですね……。KCP+ になれば、Rev.A + Bluetooth 対応になるわけで、KCP+ + 防水の端末が出ることに期待しましょう。

ドコモ F800i は写真に GPS 位置情報貼れない
先日発売されたキッズケータイ F801i は、ドコモにおける防水 + GPS の唯一の組み合わせです。しかし、調査したところ、カメラ画像に GPS の位置情報は貼り込めませんでした。905i シリーズはできるので、同時期に発売された当機種にも期待されたのですが、できないとは残念です。
705i シリーズは依然として GPS 未搭載なので、906i シリーズで防水対応端末が出るか、F706i に GPS 搭載 (カメラ画像に位置情報埋め込み可) されることを期待しましょう!!

ウェブサーバー止まってました
ウェブサーバーの設定不良により、本日あさ6時26分ごろから17時45分ごろまで、サイトが見られない状態でした。申し訳ありません。

Ktai Styleでの外部リンクの扱い
Ktai Style では、外部サイトへのリンクは以下のような扱いになっています。
- FOMA 端末の場合フルブラウザを起動するリンクに変換
- EZweb 端末の場合、PCサイトブラウザを起動するリンクに変換
- mova, ソフトバンク端末の場合、中継ページに遷移するリンクに変換
- WILLCOM, その他端末の場合は直接リンク
この仕様は、各種の PC サイト変換サービスを使いたくないという理由で決定しました。これは、Mobile Eye+ に対するアンチテーゼなのです。Mobile Eye+ は、外部サイトや大きい画像について、外部の変換サービスにリンクする中継ページを出す仕様ですが、画像変換サービスの1つに「ポルノサイトの広告が出る」ものがあったり (現在はアフィリエイト業者の広告に差し替えられた)、PC サイト変換はあまり馴染みのないサービスを使っていました。サイト設置者は Mobile Eye+ の Readme を見れば、それら変換サービスについて理解できますが、不特定多数の閲覧者にとっては「中継ページが不審」になってしまいます。それはよくないと思ったため、中継ページを廃すべく、フルブラウザ/PC サイトビューアーをいきなり起動するという凶悪仕様としたのです。
でも、ソフトバンク端末の場合は直接フルブラウザを起動することができないし、mova 端末にはフルブラウザがないしで、これらの場合は中継ページを出さざるを得ませんでした (でも変換サービスへのリンクはなし)。
ユーザーのみなさんからも、「フルブラウザじゃなくて jig ブラウザを使いたい」「PC サイトビューアーと携帯変換サイトを選択させてほしい」などの意見を頂きました。どう仕様変更するか悩みましたが、結局、Ktai Style 1.00 からは「i-mode, EZweb, Yahoo! ケータイでは一律中継ページを出す」ことにして、FOMA, WAP2.0 端末の場合はフルブラウザ/PCサイトビューアー起動リンクをそこに載せることとしました。
残念ながら、i-mode ブラウザーから jig ブラウザを起動する方法が分からないので、jig ブラウザへの対応は完全ではないですが、中継ページにはリンク先 URL が出ているので、これをコピーしてから jig を起動して、ペーストしてやればいいかと思います (そんな操作が可能なのかな??)。
興味ある方は、CVS リポジトリー から 1.00 ベータ版を入手して試してみてください。

i-mode HTML には u 要素がない
そろそろKtai Style の正式版となるバージョン 1.00 をリリースしようと考えていまして、コードを微調整しています。各キャリアにおいて文法違反がないように、各種エミュレーターで閲覧してエラーが出ないかどうかの確認も行なっています。
その作業において、「<u>タグは使用できないため無視されました。」というログが出ました。そう、「i-mode HTML には u 要素がない」のです。情けないことに、今まで気がつきませんでした。b, i, em, strong 要素もありません。他キャリアについて調査すると、EZweb では、u 要素だけが存在し、SoftBank 用 XHTML の場合は b, i, u, em, strong 要素が使えます。Ktai Style の附属テーマでは、日付表示部分で u 要素を使っていますが、これはダメということですね……。
単純に附属テーマから u 要素を外すか、i-mode のときは u 要素を削除するか、検討したいと思います。たぶん前者になると思いますが。

