タグ別アーカイブ: twicca

【S-MAX・記事掲載報告、およびお知らせ】twicca マルチ画像プラグインのAndroid 4.4事象回避アップデート


実録!OSアップデートで発生したアプリの不具合に開発者はどう対応するか?「twicca マルチ画像プラグイン」編【吉川英一の「スマホのちょっと深いとこ」】 (S-MAX)

0e8c263d

先週お知らせした「twicca マルチ画像プラグイン」のAndroid 4.4環境における不具合を回避できるようアップデートしたので、そのお知らせもかねて顛末を記事にしてみました。

アプリの修正としては、画面右上に画像の再選択機能を付加し、またプラグイン自身で画像をリサイズしてアップロードできるようにしました(画像サイズの指定がオーバーフローメニューから可能)。なぜこのような修正が必要になったのかは記事に詳しくまとめたのでご参照いただければ。

記事にも書いたのですが、今回アップデートは事象に対する本質的な修正ではなく、事象が発生したときにもう一度画像を選択して回避できるようにしただけのものです。本質的な解決をするためにはtwiccaとプラグインの間の通信方法を見直す必要がありますが、そんなことが一プラグイン作者にできるわけもなく、ただ現実的にAndroid 4.4ユーザーが困っているのを何とかしなければという、言ってみれば妥協の産物です。

引き続き根治策は探っていきたいと思いますが、取り急ぎこの修正でうまくしのいでいただければという思いです。Android 4.4ユーザーの皆様には余分な手間をかけさせてしまうことになりますが、どうぞご理解のほどよろしくお願いいたします。

【お知らせ】「twicca マルチ画像プラグイン」のAndroid 4.4環境における不具合について


現在Android 4.4環境において「twicca マルチ画像プラグイン」が正常に作動しない事象が観測されております。

・twicca本体で選択した画像がプレビューに表示されない
・その状態で投稿してもエラーになる

twiccaから引き渡されてくる画像のパスが、Android 4.4環境ではプラグインから読み込めないことが直接の原因です。対応策については現在検討中です。

ご迷惑をおかけいたしますが、ご理解のほどどうぞよろしくお願いいたします。

なお余談ですが、画像アップロード系のプラグインは軒並みこの事象が発生しているようです(自分だけではないといいたいわけではないのですが……)。twiccaに組み込まれているついっぷるおよびpic.twitter.comへのアップロードプラグインは正常に動作します。

Android用Twitterアプリ「twicca」が待望のpic.twitter.com対応! 純正Twitpicプラグイン・yfrogプラグインもAPI1.1対応! 「twicca マルチ画像プラグイン」もひっそりアップデートしました


twicca (Google Play)
twitpic プラグイン for twicca (Google Play)
yfrog プラグイン for twicca (Google Play)
twicca マルチ画像プラグイン (Google Play)

Android用Twitterアプリの大御所「twicca」がバージョン0.C.2へのアップデートでついにTwitter純正画像サービス(pic.twitter.com)に対応しました。従来画像アップロード先としてデフォルト設定されていたVia.Meがこの8月1日で画像アップロードサービスを取りやめることに対応した措置と思われますが、ともあれこれでtwiccaはプラグインなしでpic.twitter.comへ画像をアップロードすることができるようになりました。pic.twitter.comは写真とツイートを一度に送信するAPI仕様上プラグイン側では本質的な対応が難しかっただけに、今回の対応はうれしいところ。

併せてTwitterAPIがv1.1に完全移行したときに利用できなくなっていたtwicca純正のTwitpic・yfrog対応プラグインもアップデートされ、v1.1への対応を果たしています。twiccaと完全連動できる純正プラグインは、とくにマルチアカウントを活用している利用者にとって重宝するものといえます。


さて今回のtwicca側アップデートを受けて、拙作「twicca マルチ画像プラグイン」は以下の修正を行いました。

・twicca本体への実装に伴い、pic.twitter.com対応の「実験的実装」を削除
・TwitGooがサービス終了したようなので、TwitGooへのアップロード機能を削除

結果「マルチ画像プラグイン」が対応するのはTwitpic、yfrog、img.ly、Mobypicture、ついっぷるの5種類だけになってしまいました(さらにこのうち3種類はtwicca本体および純正プラグインが対応済み)。当初はPosterousへの画像アップロード機能をtwiccaに付加したいと思って作り始めたこのプラグイン、Twitter向け画像サービスの隆盛に伴い対応サービスを拡大してきましたが、Twitter自身が画像サービス(pic.twitter.com)を提供して以後画像サービスの終了が相次ぎ、プラグインの対応サービス数も寂しいことになってしまいました。

多くのユーザー様にとって、twicca本体および純正プラグインで用が足りる状況になりましたが、「マルチ画像プラグイン」は今後も(個人で可能な範囲で)メンテナンスを続けてまいりますので、どうぞよろしくお願いいたします。

「twicca マルチ画像プラグイン」でtwicca本体のマルチアカウントが反映されず、twicca本体とは別に認証が必要なわけ


6/12に行われたTwitter API v1.0の廃止およびv1.1への完全移行に伴い、複数のTwitter対応アプリが使えなくなっているようです。Android向けTwitterクライアント「twicca」は、アプリ本体こそv1.1に対応しているものの、Twitpicにアップロードするための「twitpic プラグイン for twicca」がv1.1への対応を完了していないようで、現状このプラグインを使っての画像アップロードが機能していません。緊急避難的に拙作「twicca マルチ画像プラグイン」を使っていただいているユーザー様もいらっしゃるようです。

さて、そのようなユーザー様からと思われるコメントを当ブログにいただきました。

今までマルチアカウントでTwipicへのアップロードに使用しており、Twipic上の各々のアカウント先に問題無く保存されていたのですが、最近になって、どのアカウントから投稿してもTwipic上の一つのアカウント先にしかアップロードされなくなってしまいました。

原因がどこによるものかが判断できなかったのですが、とても今まで便利でなくてはならないツールとして使わせて頂いていたので、もし不具合の対応をして頂けるのであれば、と思いましてコメントを付けさせて頂きました。

まず「twicca マルチ画像プラグイン」の現状仕様としてマルチアカウントには対応していません。上記ユーザー様は「今まで~Twipic上の各々のアカウント先に問題無く保存されていた」とおっしゃっておりますが、マルチ画像プラグインの仕様上そのような挙動にはなりえないので、おそらく「twitpic プラグイン for twicca」のほうを使っていらしたのではないかと思います。

なぜ「そのような挙動にはなりえない」のかというと、twiccaプラグインの仕様上、プラグインはtwicca本体の(マルチアカウントを含む)アカウント情報にアクセスできないからです。技術者向けのドキュメントを以下に示します。

メディアアップロードアクション (twicca)

twicca本体でアップロードの操作が行われたとき、プラグインはtwicca本体からツイート本文とスクリーンネーム、緯度・経度、返信先を受け取ります。一方アップロード完了後、プラグインはtwicca本体にアップロードされたファイルのURLを返します。この流れの中で、プラグインはtwicca本体からアカウント認証情報をもらうことができません。そのため苦肉の策として、マルチ画像プラグインではプラグイン側でtwicca本体とは別にアカウント認証を行っているわけです。

「じゃあtwitpicプラグインやyfrogプラグインはどうなのさ」という話題になりますが、これらはtwicca本体の作者様が作成したプラグインなので、何らかの非公開APIをもってtwicca本体のアカウントをプラグイン側に渡していると推測されます。全く関連のない野良開発者の私が真似できる方法でないことはご理解いただきたく存じます。

というわけで、マルチ画像プラグインで提供できるユーザー体験には限界があるので、twicca作者様がtwitpicプラグインをv1.1対応してくれないかなあとか思ったり(お前が言うなw)。

「twicca マルチ画像プラグイン」でTwitter純正の画像投稿機能に「実験的」対応


twicca マルチ画像プラグイン (Android マーケット)

自作自演で恐縮ですが、拙作「twicca マルチ画像プラグイン」をバージョンアップし、Twitter純正の画像投稿機能(pic.twitter.com)の「実験的実装」が追加されました。

device-2011-09-24-185108

とはいえ、twiccaのプラグイン仕様やTwitterの画像アップロードAPI仕様に足を引っ張られて、色々な制限事項がある「実験的」機能となります。

【制限事項】

  1. Twitterの画像アップロードAPIの仕様により、画像とツイートは同時にTwitterに投稿されます。そのためプラグインから画像を投稿すると同時にツイートも投稿されることになり、twiccaの投稿画面で投稿操作を行うと二重に投稿されることになります。よって、pic.twitter.comに画像をアップロードする時はtwiccaの投稿画面で投稿操作を行わず、そのまま画面を閉じてください
  2. ツイート本文を正しくTwitterに反映させるため、pic.twitter.comに画像を投稿する場合は、先にツイート本文をtwicca本体側で入力してから画像投稿の操作を行う必要があります
  3. Twitterには「twicca」からの投稿ではなく、「twicca multi image plugin」からの投稿と表示されます(ツイートがプラグイン側からTwitterに送信されるため)。
  4. twiccaのプラグイン仕様により、ツイート文言以外の情報(reply元など)をプラグイン側で知るすべがないので、pic.twitter.comへの画像投稿時にReply・非公式Retweetを認識させることはできません。twicca側で取得した位置情報も引き継がれません
  5. 本機能の導入に合わせて、Twitterアプリのアクセス権を「Read only」から「Read and write」に変更しています。そのため、pic.twitter.comへの画像投稿を行う前に本プラグインでTwitterアカウントを再認証する必要があります

…いやはや改めて書き並べてみるとひどいですねw。でもこれだけの制限事項を設けても、個人的にpic.twitter.comへのアップロードを使いたかったのです。この状態で製品レベルを名乗る気も全然なく、あくまで「実験的実装」という位置づけとさせてください。

pic.twitter.comのAPI的にはプラグイン側よりもtwicca本体側で実装したほうがスマートに仕上がるような気もします。ただtwiccaの現状の画像投稿フローが「まず画像をアップロード→画像のURLをツイートに導入→ツイートをアップロード」という順番を前提にしているため、改造が難しいのかもしれませんね。期待はしたいのですが…。ちなみにtwicca側でpic.twitter.comアップロード機能がサポートされた暁には、プラグイン側の機能は清く削除しようと思っていますw。