月別アーカイブ: 2011年11月

mixi × Twitter


ミクシィとTwitter、サービス・ビジネス領域での提携を開始 (mixi)

mixiとTwitterが一緒に何やら始めるようです。

mixiとTwitterについては、今までもTwitterと「mixiボイス」の連携などが行われていましたが、今回の話は単にサービスの連携だけではなく、会社同士として一緒に連携してビジネスをしようねということのようです。

ニュースリリースを見るかぎり、今回はお披露目という位置づけで、具体的に連携の成果が出てきているわけではありません。そのあたりは今後の取組ということなのでしょう。

個人的にはSNSとして「究極にオープンな」Twitterと「究極にクローズな」mixiという印象があるので、どのように組み合わせられるのか興味半分不安半分。両社共通の敵はFacebookやGoogleなのかなあとなんとなく思ったり。

【S-MAX・記事掲載報告】単3電池でスマートフォンを充電できるモバイルバッテリー


100%充電は本当か? 単3電池4本でスマートフォンを充電できるモバイルバッテリーを試す【レビュー】

b7b9ae08

以前ブログでも紹介した、ELECOMの「DE-U01D-1908シリーズ」紹介記事です。テスターを入手しているので、出力電圧など測定してもう一度記事にしようと思っています。

【ご連絡】「twicca マルチ画像プラグイン」へのよくあるお問い合わせ


拙作「twicca マルチ画像プラグイン」について、最近「動かない」「アップロードできない」というお問い合わせをしばしばいただきます。複数の画像サービスと連携して動作するという仕様上、画像サービス側の仕様変更など様々な要因でプラグインが機能しなくなることがあるのは事実です。いただいたご報告の都度調査・対応させていただいておりますが、しばしばプラグイン側でどうにもならないことについてもお問い合わせをいただくことがあります。以下をご確認ください。

1. 「アップした画像が表示されない!」

このプラグインは「画像のアップロード」しかできず、アップした画像を表示する機能はありません。twiccaのタイムライン画面で画像をプレビュー表示するのはtwiccaの機能で、このプラグインの機能ではありません。そのため「画像が表示されない」事象についてはtwiccaなど各クライアントの作者様へご相談ください。ただし、Webブラウザなどで画像サービスのWebページを開いても画像が存在しない(アップロードされていない)場合はこのプラグインが関連している場合がありますのでお知らせ下さい。

2. 「アップロード以前に添付できない!」

このプラグインは「添付された画像をtwiccaから受け取ってアップロードする」仕組みになっています。画像を添付してプラグインに引き渡す機能を担当しているのはtwicca本体で、添付できない状態ではこのプラグインは動く機会を与えられていない状態です。本体の作者様へご相談ください。

—-

またご連絡をいただく際には

・twiccaのバージョン
・このプラグインのバージョン
・不具合が発生している画像サービス
・画面に表示されるメッセージなど詳細な情報
・他の画像サービスにはアップロードできるかどうか

をお知らせいただくと、素早い対応が可能になります。

—-

今後も「twicca マルチ画像プラグイン」で皆様が快適なTwitterライフを送れるよう日々努力してまいります。よろしくお願い致します。

【開発ノウハウ】「twicca マルチ画像プラグイン」の不具合修正で分かったMobypictureの微妙な挙動


拙作「twicca マルチ画像プラグイン」は、Twitterクライアント「twicca」に、Twitpicやyfrogなど複数の画像サービスへのアップロード機能を追加するプラグインですが、最近になって画像サービス「Mobypicture」へのアップロードがエラーになるという報告をいただきました。2度のバージョンアップで修正しましたが、同じようなアプリを作っている人に役立つかも知れないと思い、以下に事象の発生原因などまとめてみようかと。

本事象は表面上「Mobypictureへの投稿エラー」という1個の事象ですが、内部的には以下2個の事象が発生していました。

1. Android特定バージョンにおいて、OAuth Echoが正しく機能しない事象
2. Mobypicture APIが仕様通りのJSONレスポンスを返さない事象

以下それぞれについてまとめます。

1. Android特定バージョンにおいて、OAuth Echoが正しく機能しない事象

バージョン1.0.22以前で発生し、1.0.23でフィックスした事象です。

Mobypictureに限らず、Twitterアカウントを用いた他社サービスでは多くの場合「OAuth Echo」という認証の仕組みを用います。これはリクエスト時に認証用の文字列を一緒に送信することでアカウントの認証を行うものです。Mobypictureの場合、HTTPヘッダに「X-Auth-Service-Provider」「X-Verify-Credentials-Authorization」という2種類のパラメータを付加することになりますが、この方法で送信を行った場合、Androidの特定バージョンで

500:Something is broken. Please post to the group (https://dev.twitter.com/docs/support) so the Twitter team can investigate.

のようなレスポンス(要するに500エラー)が返ってきてしまい、画像の投稿が完了できない事象が発生しました。

不思議なことにこの事象はAndroid 2.3系のXperia arcでは発生せず、Android 2.2系のIS03で発生しました(エラー報告をメールでいただいた人の端末もAndroid 2.2系でした)。一方、全く同じようにHTTPヘッダーに認証用文字列を与えている他の画像サービスではIS03でも正常に投稿が完了しました。以上から本事象は、OSのバージョンとMobypicture・Twitter側の処理の微妙な食い合わせに起因する事象と推測されます。

対処として(対処療法的ではありますが)MobypictureではOAuth Echoの認証文字列を「HTTPヘッダでなくPOSTのパラメータで送る」ことができるので、そのように変更したところ認証が正常に機能するようになり、画像投稿が可能になりました。

2. Mobypicture APIが仕様通りのJSONレスポンスを返さない事象

バージョン1.0.23以前で発生し、1.0.24でフィックスした事象です。

1.0.23で事象1を修正してMobypictureへの投稿は問題なくなったはずだったのですが、最近になってまた投稿できないというTwitterでのツイートがちらほら見られるようになったので調べてみたところ、Mobypicture APIの返り値がひっそり変更されているのを見つけてしまいました。

MobypicuteのAPIドキュメントによると、投稿に成功した時に戻ってくるJSON文字列は以下のように規定されています。

{
    "media":
    {
        "mediaid":"6646300",
        "mediaurl":"http:\/\/moby.to\/9i8xe1"
    }
}

しかし11/26現在、実際に戻ってくるJSON文字列は以下のような形式です。

{"mediaid":11335890,"mediaurl":"http:\/\/moby.to\/htmgwh"}

APIドキュメントの仕様では「media」の子要素として「mediaid」「mediaurl」が配置されているのに対して、実際に戻ってくる文字列では「media」がなく、いきなりルート要素に「mediaid」「mediaurl」が配置されています。従来のプラグインは当然APIドキュメントのようなJSON文字列を想定しているので、実装が正しくJSON文字列を解釈できずエラーになっていたというわけです。

対処としては、JSON文字列がAPIドキュメント通りの形式・現状の形式のどちらであっても正しく解釈して画像URLを抽出できるように実装を修正しました。そのため現状のJSON文字列形式が実はMobypicture側の不具合で、将来的にAPIドキュメント通りの形式に戻ったとしても、再び不具合になることはないはずです。

—-

どうやら上記2点の修正により、旧版でエラーになっていたユーザー様も最新版(1.0.24)ではMobypictureでの投稿ができるようになっている様子です。Mobypicture側でなにかインフラの更新を行なっているんでしょうかね? 微妙な挙動変化が気になります。

ネットサービスと連携するアプリはネットサービス側の挙動が少し変わると機能しなくなってしまう(しかもユーザー様には「アプリが動かない」という見え方をする)リスクを根源的に抱えているわけで、連携するサービスの数が多ければ多いほどそのリスクは増大するわけで、そうやって考えると「twicca マルチ画像プラグイン」はなんてリスキーなアプリなんだろうと今さらながら思います。休暇の戯れで気軽に作ってしまったアプリですが、そのメンテナンスは修羅の道かもしれませんねw。

あ、もちろん今後も(個人で出来る範囲で)メンテさせていただきますので、ユーザー様においては安心してお使いいただきたく存じます。

【買った】乾電池でスマートフォンを充電する高級なモバイルバッテリーとデジタルテスター


バード電子 iPhone・スマートフォン対応 乾電池電源 DC-Pod MHC-5V (Amazon.co.jp)
ELECOM モバイルバッテリー 乾電池 スマートフォン用 ブラック DE-U01D-1908BK (Amazon.co.jp)
MAS830L 高精度 デジタルマルチテスター (Amazon.co.jp)

先日、単3乾電池4本でUSB経由でスマートフォンに給電できるELECOMのモバイルバッテリーを買い、確かに給電はできたのですが、どうも単3電池4本を直列つなぎしてそのまま出力しているような雰囲気を感じたので、ちょっと違う商品にも手を出して見ることに。

バード電子の「DC-Pod MHC-5V」、説明文を読むと、

DC-Podは産業用DC/DCコンバーターを使った贅沢な電源です。近所のコンビニでいつでも買える単三乾電池から電気を作ります。
乾電池の不安定な電圧を安定したもの変換しiPhone 4S等を確実に充電。
最大電流は1000ミリアンペア。乾電池のもっている力を最大限までふりしぼります。

何かきちんと電圧を変換しているような口ぶりなので期待が持てます。というか結構な価格なので、これでELECOMのと同じ使い勝手というのはないですよね。

これを機会に電圧測定が出来る環境も欲しくてテスターも購入してしまいました。MHC-5Vと合わせて数日中には届く見込みなので、測定してS-MAXに記事書こうかなと。