Jake's BLOG

最近のIT技術動向と社会問題など・・・・

Softbank X06HT のMMS対応の方法(予想)

当方の海外購入版 SIMフリー HTC DesireではROOT化とMMSアプリの書き換えで Softbankが公式に非対応としている S!メール に対応することができました。

公式にはSoftbankは近々アップデートで対応するといっているのですが、果たしてどういった対応をしてくるのでしょうか。対処しなければならない問題箇所を予測してみました。

Softbankの MMS 拡張プロトコルの問題

MMSの送受信でDocomoのユーザーの被害(?)が少ないのは多くはこれによっていたと思われます。SoftbankのMMSセンターを通じて送られるMMSデータの中にSoftbank(Vodafone?)が独自に拡張したプロトコルが含まれており、これを正しく扱えなかった Android OS のライブラリが例外を起こして落ちるために受信に失敗していました。解決法には、Android OS側のプログラムをそういったイレギュラープロトコルを正しく無視するか取り扱うように補強する方法と、SoftbankのMMSセンター側で、Androidに対しては拡張されたデータ部分を送信しないようにするという道があります。しかしながら、MMSセンターは、アクセスの拒否の判断を User-Agent を使って行っているようですが、User-Agentによって送信するデータを変えるというのははたして簡単なのか。すでに、User-Agentの偽装は多くの方ができるようになっており、将来の問題追跡の煩雑化を考えると技術者目線ではやりたくない方法です。もっとも、Vodafoneなんちゃらという標準を逸脱するヘッダーを拡張仕様として乗っけた時点で技術側負けだったのだと思いますが。

Android OS自身に内在する不具合

上記のSoftbank固有のプロトコル意外にも、MMSのプロトコルの取り扱いに関しては framework.jar という共有のライブラリに格納された部分にマルチパートのメールを正常に扱えないなどの問題を含んでおり、これはいずれにしてもアップデートして解消しなければなりません。Mms.apkというパッケージ自身もシステム上でロックされて上書きできないようにされているわけですから、framework.jar という共有ライブラリの更新はさらに大変そうです。結局はROMの更新しかないと思われるわけです。

Softbankとして独自に追加的にやらないといけないこと

  • 絵文字対応
    日本のガラパゴス携帯に合わせるためにやらないといけない。白黒ならフォントの置き換えで対応できるが、やはり謹製クオリティを出すならカラー絵文字でないといけない。
  • HTMLメール対応
    いわゆるデコメールなどと呼ばれているもの。HTMLブラウザを引っ張ってこないといけないので、Mms.apkの拡張という意味では荷の重い工程になるはずです。
  • 日本人的に使いやすいUIをもったアプリの提供
    Android標準のメッセージソフトは海外の人が使い慣れた「1行SMS」的使い方に特化されたデザインになっているので、日本のユーザー向けにはやはり個別のメールアプリを提供したほうがいいのでしょうが、Softbank自身にそういった開発をする意欲があるかどうか疑問です。余計なコストになるので、Mms.apkを問題のない程度に変更したものを入れてくるだけになるかもしれません。

マーケットからの単独アプリとして提供する場合の困難

2010年7月現在ソフトバンクからは単独アプリとしてマーケットからMMSアプリを提供するとアナウンスされています。Mms.apkを上書きインストールする形になるのか、別アプリとしてインストるするかのいずれかになるのでしょうか…。もっともMms.apkをrootを取らなくても上書きインストールすべがあるのなら多くの人がRootを取ったり、ADBを使用したりこんなに苦労しなくても済むのです。

もともとAndroidに含まれている Mms.apk は /system/app というディレクトリに格納されており、一方で通常後からインストールされるアプリは /data/app というディレクトリに配置されます。/system/appディレクトリは文字通りシステムによって保護されており、ここに入っているアプリは「root」を取らずして削除したり、上書きしたりすることができません。

AndroidのアプリはIDによって識別されています。(たとえば mms.apk は com.android.mms など)このIDを違うものを指定することで、原理的には2つ目のMms.apkをインストールすることができます。そこで2つ目のMms.apkを使用するようにすればいいとなるかといえばそう簡単ではありません。Mms.apkアプリはメッセージ関連のイベントを処理するためのバックグランドプロセスとしても登録されています。また、アプリ間の連携のため電話番号やEメールアドレスをキャッチするための登録もされています。これらを別のアプリから横取りすることはある意味「安全」な方法でやるのは無理です。(と思います)

そういう点で「別アプリ」提供の場合、Mms.apkの改良や延長という対応ではなく、iPhone が i.softbank.ne.jp でやったようなSMS/MMSとは完全に別体系のアプリとなるのではないかと思います。

いずれにしても、今後の展開が楽しみです。

 

Comments (1) -

  • 当方の海外購入版 SIMフリー HTC DesireではROOT化とMMSアプリの書き換えで Softbankが公式に非対応としている S!メール に対応することができました。
    公式にはSoftbankは近々アップデートで対応するといっているのですが、果たしてどういった対応をしてくるのでしょうか。対処しなければならない問題箇所を予測してみました。
    Softbankの MMS 拡張プロトコルの問題
    MMSの送受信でDocomoのユーザーの被害(?)が少ないのは多くはこれによっていたと思われます。SoftbankのMMSセンターを通じて送られるMMSデータの中にSoftbank(Vodafone?)が独自に拡張したプロトコルが含まれており、これを正しく扱えなかった Android OS のライブラリが例外を起こして落ちるために受信に失敗していました。解決法には、Android OS側のプログラムをそういったイレギュラープロトコルを正しく無視するか取り扱うように補強する方法と、SoftbankのMMSセンター側で、Androidに対しては拡張されたデータ部分を送信しないようにするという道があります。しかしながら、MMSセンターは、アクセスの拒否の判断を User-Agent を使って行っているようですが、User-Agentによって送信するデータを変えるというのははたして簡単なのか。すでに、User-Agentの偽装は多くの方ができるようになっており、将来の問題追跡の煩雑化を考えると技術者目線ではやりたくない方法です。もっとも、Vodafoneなんちゃらという標準を逸脱するヘッダーを拡張仕様として乗っけた時点で技術側負けだったのだと思いますが。
    Android OS自身に内在する不具合
    上記のSoftbank固有のプロトコル意外にも、MMSのプロトコルの取り扱いに関しては framework. jar という共有のライブラリに格納された部分にマルチパートのメールを正常に扱えないなどの問題を含んでおり、これはいずれにしてもアップデートして解消しなければなりません。Mms. apkというパッケージ自身もシステム上でロックされて上書きできないようにされているわけですから、framework.

Pingbacks and trackbacks (1)+

Loading