Subway Tooter blog

Androidアプリ「Subway Tooter」の説明/宣伝用のブログ

タブレットモード (v0.4.8)

Subway Tooter はタブレットモードでの複数カラム同時表示をサポートします。



関連する設定

アプリ設定のタブレットモードの章で挙動を制御できます。

タブレットモードを使わない

複数カラム同時表示はやはり動作が重いので、軽量な動作を好む場合はタブレットモードを無効にできます。

カラム最小幅

各カラムの横幅が一定未満にならないように調整できます。単位はdp (device independent pixel)です。

  • 300 にすると Nexus 7 で縦2カラム表示ががぎりぎり可能です
  • 320 より少ない幅はレイアウト上の問題が発生します。例えばトゥート中にフォローボタンを表示するような場合、横300dpだと「…」メニューが完全に表示されません。
トゥートボタンを押した時のデフォルトアカウント

複数カラム表示だと、トゥートボタンを押した時点ではどのアカウントでトゥートするかを決めることができません。
毎回尋ねるか、もしくはデフォルトアカウントを指定するかをこの設定で制御できます。

※ 投稿画面に入った後にアカウントを切り替えることも可能です。

下書き(v0.6.2)

Subway Tooter は下書きの保存と復元をサポートしています。

トゥートを作成してる最中に戻るボタンを押してしまったりアプリを開きなおしたりして、投稿画面を閉じてしまった場合、
投稿画面の「…」メニューで「下書きから復元」を選んでから、復元したい内容を選択すると、その内容から継続して編集、投稿が行えます。

サムネイルのクロップ(v0.6.4)

「画像の全体を確認したい」という要望があったので、アプリ設定に「添付メディアのサムネイルをクロップしない」を用意しました。
ONにすると画像の全体が表示されますが、かわりに画像が小さく表示されたり無駄な余白ができたりします。

OFF (クロップあり)


ON (クロップなし)

添付メディアの種類(v0.6.5)

サムネイルをタップしてから「…ちっ、動画かよ」と思ったことはないですか?
Subway Tooter は添付メディアのサムネイルの左下にメディアの種類を表示します。(静画以外)
gifv とか video とか unknown とかの表示があった場合は動画かもしれません。

…でもそんなの表示されてても確認せずにタップしちゃうんですけどね。

カスタム通知リスナ(v0.7.2)

Subway Tooterの通知機能は以下の2通りの方式をサポートしています。

  • 端末から定期的にインスタンスの通知を確認するpull通知
  • 通知リスナ経由アプリサーバ経由でプッシュサーバにイベントを送るpush通知

PULL通知

カスタム通知リスナを設定しなくても、Subway Tooter は適当なタイミングで定期的にインスタンスから通知を取得します。ただしリアルタイムって程ではありません。5-10分遅れだったり30分遅れだったり、端末のバッテリ最適化の影響だったりで遅れる場合はあります。

PUSH通知

プッシュ通知は可能といえば可能です。
ただし Subway Tooterは無料無広告のアプリなので、アプリ開発者が全ユーザ全インスタンス分の通知リスナを提供することはできません。
デフォルトの通知リスナはごく一部のインスタンスしかサポートしていません。
インスタンス管理者の協力があれば増やせる」という状態です。

そこで「ユーザがカスタム通知リスナのサーバを設置してアプリに設定する」ことでユーザ単位でリアルタイム通知を実現できるようにしています。

カスタム通知リスナのサーバを設置する難易度は割と高めなので上級者向けの機能です。

技術者向けの詳しい説明はこちら。
https://github.com/tateisu/mastodon-streaming-listener/blob/master/guide2.md

入力補完(v0.7.3)

Subway Tooter は以下の入力補完をサポートしています。

アカウント追加時のインスタンス名の入力補完

部分一致なのでインスタンス名の一部でも大丈夫。たとえば jug の3文字で mastodon.juggler.jp を入力できます。

トゥート作成時のユーザ名の入力補完
トゥート作成時のハッシュタグの入力補完

この二つは普通に前方一致で入力補完を行います。

プラグイン (v0.7.3)

Subway Tooter は投稿時にプラグインを利用できます。

利用できるプラグインSimejiのマッシュルームAPIに対応したアプリすべてです。

おすすめプラグイン

EmojionePicker

https://play.google.com/store/apps/details?id=com.mastopane.emojionepicker
Mastodonが使っているEmojione 2.2.7 準拠の絵文字を入力できます。
MastoPane の PaneCraft さんの作ったマッシュルームです。

SupportText Free

https://play.google.com/store/apps/details?id=com.z589.supporttext
渡されたテキストを元にいろんなアプリへのインテントを生成するアプリです。
投稿用というよりは「選択してコピー」から使うと便利かもしれません。

Contact Picker

https://play.google.com/store/apps/details?id=jp.narikitic.android.mushroom.contactPicker
連絡先データをを拾ってくることができます。

その他

「これ聴いてるんだからねっ!」等の #nowPlaying 系、ファイルパスを入力する系、定型文を選択入力する系、など色々あります。
Playストアを「マッシュルーム」で検索

Chrome Custom Tabs

Subway Tooter は Chrome Custom Tabs を積極的に使用します。

Chrome Custom TabsはWebViewやその他のブラウザと比べて「画面を開くのにかかる時間が短い」、「クッキー、ストレージ、ブックマークなどはChromeブラウザ側に保存されるのでWebViewと比べてセキュリティ的に有利」などの利点があります。

そのため、Subway Tooterは「たとえ他のブラウザが入っている場合でも」Chrome Custom Tabsを優先的に使用しようとします。

この挙動が気に入らない場合、アプリ設定の「Chrome Custom Tabs を優先的に利用する」をOFFにしてください。

18:9対応

Subway Tooter は アスペクト比18:9の画面構成に対応済みです。

比較してみる

↓18.5:9の画面

↓16:9の画面

なんだか文字やアイコンのスケール感も違ってるのでアレですが、長い方が一覧性が良いのとスクロールのために指を動かす頻度が少ないのでこれはこれで悪くないですね

音声で読み上げ(v0.8.2)

Subway Tooter には音声読み上げの機能が(一応)あります。

使い方

事前に「Googleテキスト読み上げエンジン」や「KDDILABS N2 TTS」の導入/設定が必要です。Playストアからインストールして、各アプリの設定に従い導入をすませておいてください。

カラム設定の「読み上げを有効にする」にチェックをつけます。

注意点

読み上げを利用できるのはストリーミング(自動更新)が可能な種類のカラムだけです。

(手抜き実装なので)読み上げが行われるのはアプリのメイン画面を表示している間だけです。
読み上げ放置時はアプリ設定の「画面表示中は自動消灯無効」を併用してください

ドメインブロック(v0.8.3)

Subway Tooter は Mastodonの「ドメインブロック」機能に対応しています。ドメインブロックを利用すると、特定インスタンスからのトゥートや通知をミュートできます。

使い方

ユーザかトゥートの「…」メニューで「"~"ドメインをブロック」を選択します。

サイドメニューの「ブロックしたドメイン」でブロックしたドメインの一覧を確認できます。解除もこの画面から行えます。


おまけ

この説明だとブロックなのかミュートなのかどっちなんだって気がします。

  • ミュート:自分から相手を見えなくする
  • ブロック:相手から自分を見えなくする

という定義によるとこの機能は明らかに「ミュート」なのですが、APIドキュメントではブロックということになっています…。

公式Webアプリでは「~全体を非表示」というまた別の用語が使われています。あと公式Webアプリにはインスタンスの非表示を解除する操作手順が用意されていません。

クライアント名(アプリ名)の変更(v0.9.4)

Subway Tooter は Mastodonとアプリの連携の際に指定する「クライアント名(アプリ名)」を変更することができます。

背景

それっぽい要望があったから

使い方

会話ビューでトゥートの右下に「アプリ:~~~」と表示されていることがあります。
Subway Tooterから投稿した場合、通常はこの部分には「SubwayTooter」と表示されます。
この部分をあなたの好きな名前に変更できます。

アプリ設定で「クライアント名の変更」の部分に好きなアプリ名を入力します。

次にアカウント設定でアクセストークンの更新を行います。

更新が終わったら何か適当なトゥートを投稿して、会話ビューで確認してみてください。

※:過去のトゥートのアプリ名には影響しません。

アプリのミュート(v0.2.2)

Subway Tooter はトゥートをアプリ単位でミュートすることができます。

背景

LTLやFTLに高頻度に宣伝を書き込む bot はその大半が自動化されていて、固有のアプリ名を持っています。
アプリ名を指定してミュートできると便利ですね。

使い方

会話ビューを開くと右下に「アプリ:~~~」と表示されていることがあります。

「…」メニューで「"~~~"アプリをミュート」を選ぶと、そのアプリから投稿されたトゥートをミュートすることができます。

ミュート解除はサイドメニューの「設定/ミュートしたアプリ」から行うことができます。アプリ名が書かれた部分を右から左にスワイプします。解除した後にカラムをリロードしないと反映されません。

トゥート検索(v0.9.5)

Subway Tooter v0.9.5以降では外部サイトの検索APIを利用したトゥート全文検索が可能です。

背景

マストドン検索ポータルさんがAPI提供についてトゥートしていたのに乗っかってみました。

最初は「著作権的にどうなんだろう…?」と懐疑的だったのですが、どうも検索サービス用の法律があるらしいです。

作業した

睡眠ふくめて12時間くらいで対応できました。

  • APIの挙動について確認したり質問した
  • 疑似アカウント(?@host)の上位版(?@?)を作った
  • TootStatusLike ベースクラスを作って TootStatus とMSPToot を派生させた
  • 別アカ操作が一通りできることを確認した

使い方

  • サイドメニューの「トゥート検索/マストドン検索ポータル(JP)」の項目を開きます


  • トゥート検索カラムが表示されるので、検索キーワードを入力してEnterキー


おまけ

Subway Tooter はタブレットでの複数カラム同時表示に対応してるので、トゥート検索カラムを4つ同時に表示してその場でアカウントを選んでファボるとかいう曲芸ができます。エゴサーチに便利かもしれませんね。