携帯サイト制作のすゝめ

最近、ドップリと制作期間に入っていてブログの更新もやや滞っていますが、いま作成しているのはとある携帯サイト。
携帯サイト開発に関わったことがある人なら、何度か携帯サイト特有の仕様に悩まされたという経験も多いことでしょう。

ということで今さら感もありますが、これから初めて携帯サイトを制作される方のために、ハマりやすいポイントを書いておくことにしましょう。

なお、対象はi-mode(NTTドコモ)、EZweb(auECナビケータイ)、Yahoo!ケータイ(ソフトバンクモバイルディズニー・モバイル)となります。

1. Cookie、セッションが使えない

i-mode端末の仕様で、2009年春機種からはCookie、JavaScriptともに使えるようになりましたが、それ以前の機種では利用できません。
セッションを利用する場合は、GETパラメータにセッションIDを付与してページ遷移する必要があります。

PHPでセッションIDを利用する場合は、session_id();で取得することができます。
ただし外部サイトに遷移する場合は、リファラーにセッションIDが残らないように気をつけましょう。

2. JavaScriptが使えない

上記に該当するi-mode端末と、EZweb端末、Yahoo!ケータイ端末全般で、JavaScriptが利用できません。
フォーム内の戻るボタンに、javascript:history.back();などは指定できませんので、気をつけましょう。

3. 外部CSSが使えない

headのlinkタグ内で外部CSSを読み込むのはPCサイトでは当たり前ですが、携帯サイトでは指定できません。
また、内部記述のCSSを使用する場合でも、使えるスタイルが少なかったりします。

それと、i-modeのXHTML環境で利用する場合は、XML宣言、DOCTYPEの記述を工夫する必要があるのと、プログラム内でheader関数を書いておく必要があります。

header(“Content-type: application/xhtml+xml”);

4. ファイルのアップロードが使えない

i-mode端末では、2008年夏機種からフォームでのファイルアップロードに対応しましたが、それ以外ではアップロードができません。
ファイルをアップロードするためには、メールに添付して送ってもらう必要があります。

メールを受け取った後、メールサーバ側でプログラムに転送してPEARのMail_mimeDecode::decodeなどで処理するようにしましょう。
メールサーバにqmailを使用している場合は、.qmailや.qmail-defaultファイルに転送先を書くことでプログラムに送ることができます。

5. SSLを使用する場合はShift_JISで

SSLを使用しない場合はUTF-8で作成しても大丈夫ですが、EZweb端末でSSL環境を利用する場合はShift_JIS以外は文字化けします。
DBから取得した文字列などはmb_convert_encodingで、Shift_JISに変換して出力しましょう。

6. いきなりSSL環境に遷移しないように

Yahoo!ケータイ端末では、メールなどからいきなりhttps://〜のアドレスに遷移すると絵文字が文字化けします。
いったんhttp://〜に遷移させてから、header(“Location: https://〜”);などでSSL環境に遷移しましょう。

7. header(“Location: 〜”);は絶対パスで

これは機種依存が大きいですが、相対パスで書くとトラブルが多いようなので、絶対パスで遷移させるようにしておきましょう。

8. 端末固有IDを取る場合は、GETパラメータにguid=ON

携帯サイトでよくある、簡単ログインなどの機能は端末固有IDを利用します。
以前のi-mode環境では、公式サイトでしか端末固有IDがスムーズに取得できませんでしたが、現在はiモードIDが利用できます。

PHPでは$_SERVER変数で取得することができますが、i-mode環境だけは遷移元のページでGETパラメータにguid=ONと付けておく必要があります。
(POSTでも利用できますが、その場合はactionの値からindex.phpを省略しないように注意しましょう)

9. 絵文字をDBに保存

Shift_JISのフォームから送信された絵文字をUTF-8のDBに保存する場合は、mb_convert_encodingしただけではうまく保存できません。
mb_substitute_character(“long”);などでフォーマットを変換してからmb_convert_encodingするようにしましょう。

10. 絵文字をDBから取得

上記の方法でDBに保存した絵文字を呼び出す場合は、pack(“H*”, $hoge);などで元に戻してあげましょう。

また、各キャリアに合わせた絵文字に変換する場合は、MobilePictogramConverterなどでマッピングしてもらいます。
http://php-develop.org/MobilePictogramConverter/
(現在、リンク切れの状態になっています)

11. 絵文字をメールで送信

絵文字をメールで送る場合は、base64_encodeでサブジェクト、ボディを変換し、メールヘッダを各キャリアに合わせた形式にします。
ただ、メール送信先のキャリアは完全にはわかりませんので、@以降のドメインから予測するしかありません。

…ということで、モバイル特有のサービスは他にもありますが、まぁ一般的な携帯サイトを作るにはこういった注意点に気をつける必要があります。
Studio Pumpkinheadでも携帯サイトを用意していますが、それにしてもなかなか厄介なものです。

『DENON オーディオ・チェックHQCD』

ちょっとマニアックな商品ではありますが、『DENON オーディオ・チェックHQCD』というものを買ってみました。

これは何かと言いますと、タイトル通りオーディオ機器のチェックを行うもので、「ピー」とか「キーン」とか「ザー」とかの音が収録されており、スピーカーのバランスを調整したりするものです。

しかもHQCDなので、それを通常CDよりも高音質で聴くことができるわけです。

ということで、さっそく再生。

…う〜ん、イマイチ使い方がわかりません(笑)。

iPhoneを2週間使ってみて…

以前の記事iPhone 3GSのファーストインプレッションを書きましたが、今回はそこから2週間ほど使ってみての感想を書きたいと思います。

さすがに使っていくうちに、いろいろ印象も変わってきましたので、改めてレビューすることにします。

まず全体的な印象ですが、使っていくうちに感じるのは、非常に動作がキビキビとしていて快適だということです。

ガラケーだとボタンを押してから画面が切り替わるまで一瞬、間があったりしますが、それが無いわけです。
もちろんネットワークの反応が遅い時もありますが、無反応状態というものが無いので、心理的なイライラ感は少なく感じます。

それから、前回は文字入力の使い勝手に引っかかっていましたが、慣れてくると割とスムーズに行えるようになりました。
まぁそうはいっても、高速で文字打ちできるわけではないので、メール中心で使う人はちょっと使いにくいかもしれませんね。

次にApp Storeで入手できるアプリケーションについて、有料/無料のものがありますが、ゲーム以外のものは無料のものでもかなり充実しています。
多過ぎて、どうやって選別していこうか迷うぐらいです。

また、アプリケーションだけでなく、Safariでブラウジングした時に、iPhone/iPod touch向けに表示を変えているWebサイトが意外と多いことにも驚きました。
GoogleYahoo!Amazon楽天朝日新聞マイコミジャーナルHot PepperぐるなびMapionSBI証券楽天証券WikipediaYouTubefacebookTwitterBloglinesFlickrなどなど。

それと忘れてはいけないのが、iPodとしての機能。

画面タッチでグラフィカルに操作できることもありますが、さりげなく便利だったのは内蔵スピーカーで再生できることでしょうか。
iPodでは、イヤフォンなどを繋がないと音が聴けませんでしたが、iPhone単体で音が出せるのはなかなかありがたいです。

カメラの性能については、とりあえずギリギリのラインという感じです。

iPhone 3GSになって、オートフォーカスや動画撮影機能が追加されましたが、まぁ特別優れているようには感じません。
それより、App Storeからカメラ関係のアプリケーションを入手して、Webサービスと連携するという使い方が面白いかもしれませんね。

最後に、別売りのTV&バッテリーについてですが、以前の記事ではワンセグを再生できませんでしたが、ソフトバンクショップに持っていくとやはり初期不良だったようで、交換後は無事に視聴できるようになりました。

とはいえ、画質はあまり良くなく、録画予約不可、モニター出力もできないなど、機能的にはイマイチといった印象。
まぁ唯一優れている点は、画面とアンテナが離れているので、アンテナは受信状態が良いところに置いて、映像は手元で視聴できるというところでしょうか。

あと気をつける点として、電池の減りは激しいので、外出時は小まめにロックをかけてバックライトを消したり、無線LANを切ったりする必要はあります。

それと、もちろん電子マネーには対応していませんので、EdynanacoWAONQUICPayなどはカード型で持っておく必要がありますね。

ということで、最初はガラケーとの違いに戸惑いましたが、慣れてくるとかなり別世界なぐらいに快適に使えます。
ちょっと困るのは、App Storeからアプリケーションをダウンロードし過ぎて、どれを削ったら良いかに迷うという贅沢な悩みぐらいでしょうか。

韓国の検索エンジン「NAVER」

韓国の検索エンジン「NAVER(ネイバー)」が、モバイル版サイト「NAVERモバイルβ」を公開したということです。
…と、その前にNAVERって、いつの間にかPC版がオープンしてたのですね。

NAVERの名前を聞くと、古くからWebに接している人は懐かしいと感じることでしょうが、いったん日本市場から撤退した後、最近になって再オープンしていたようです。

ちなみに、検索エンジンは独自の仕様になっており、検索結果はイマイチ弱いようにも感じますが、ユーザー参加型のコンテンツもあって、ポータル的な仕掛けがちょっと面白いかも。
韓国ではGoogleを上回るシェアを取っていますが、日本では中国産の検索エンジン「百度(バイドゥ)」と並んでどこまで検討するのか、注目したいところです。

まぁYahoo!の検索エンジンは、Bingに置き換わりそうですし、最近のSEO関連は情報の入れ替わりが激しいですね。

Beatallica『Masterful Mystery Tour』

ビートルズっぽい楽曲をメタリカ風に演奏するバンド、ビータリカの新作がNapsterで配信されていたので聴いてみました。
一応、タイトルは『Magical Mystery Tour』をパロっていますが、曲目はオリジナルに沿ってはいないようです。

どの楽曲もそうなのですが、ちゃんとオリジナルがわかる程度に残しながらアレンジしてあり、この絶妙のバランスがなかなか笑えます。

「Let It Be」を元にした、「The Thing That Should Not Let It Be」がけっこうお気に入りです。

Twitterって面白い?

少し前には日経新聞の記事にもなるぐらい、TwitterTumblrといった1行ブログが人気を博していますが、実際使ってみると「あれっ?」と感じたりします。
ブログやSNSが最初に出てきた時は面白さを感じましたが、Twitterはイマイチ良さがわかりませんでした。

なぜこのサービスがそれほどもてはやされるものかと思っていたのですが、最近iPhoneを使い始めてやっとその理由がわかりました。

モバイル端末との親和性がすごく良いのです。

ガラケーやWindows Mobile端末では感じませんでしたが、iPhoneで専用アプリケーションをインストールしたりすると非常に使い勝手が上がります。
また、携帯電話で長文を書くのは辛いので、Twitterのようなチョコっと更新するサービスの方がピッタリなわけなのです。

Twitterが元々、モバイル環境を意識していたのかどうかはわかりませんが、ちょうど時代にマッチしたサービスになっているとは思います。
ちょっと目から鱗でした。

脱庭してiPhone 3GSへ

以前の記事でも書きましたが、先月でau誰でも割が満期になったので、いよいよiPhoneへMNP(番号ポータビリティ)しました。
ちなみにauには魔法の日と呼ばれるものがあり、毎月1日に解約すると当月分の請求額が発生しない、ちょっとお得な日があったりします。

iPhone 3GS
↑左から「au W54T」「iPhone 3GS」「TV&バッテリー」

ということでiPhone 3GSの感想ですが、とにかく文字が打ちにくいですね~。
通常の携帯だと親指で文字入力したりしますが、iPhoneで親指打ちするとかなりの確率で打ち間違いが起こります。

他にも文章の途中を修正したりする時とか、コピー&ペーストが使いにくかったりなどで、どうしても文字入力がネックに感じてしまいます。
まぁその他の部分では、App Storeでアプリケーションを自由に追加できたりするので、なかなか楽しい端末ではありますが。

それともうひとつ気になったのが、TV&バッテリーのワンセグ機能。

以前のau携帯では自宅で受信できていたのですが、これではまったく受信できず、EPGの番組表すら取得できない状態です。
これほど酷いのは、ひょっとすると不良品ではないかとも思えますので、一度ソフトバンクに問い合わせてみるつもりです。

ちなみにau端末では、解約後も電波OFFモードにしておけばワンセグは視聴できるようで、とりあえずはこれで代用しておくことにします。

あと、これはiPhoneのせいではないですが、やはりソフトバンクショップや販売代理店の対応が悪評通りで酷いところ。

無駄な契約は、iPhoneから「157」に電話してオペレーターを呼び出せば即日解除できますので、早めに対応しておきましょう。
オプション契約などは月額を日割り計算しますので、被害を最小限に食い止めることが好ましいです。

トラブルを避ける場合は、ソフトバンクオンラインショップアップルストアで購入するのが良いでしょう。

それにしても、ソフトバンクはSMAPでイメージアップを図るより、もうちょっと基本的なところをシッカリしてほしいところです。

う~む、この文章では何だかあまり良い印象に感じないかもしれませんが、まぁでもiPhone自体はそれなりに楽しい端末ではありますよ。