Featured image of post 【おすすめTLを許すな】Twitter for Androidのキモい改悪をなんとかする【TwiFucker Feature Switch】

【おすすめTLを許すな】Twitter for Androidのキモい改悪をなんとかする【TwiFucker Feature Switch】

目次

はじめに

Twitterのアップデートといえば、毎回的外れで、誰も望んでない、まるでユーザーへの嫌がらせのような改悪ばかりなことで有名ですね。

特に、

  • おすすめTLの強制(時系列めちゃくちゃ&フォローしてないアカウントが大量に出てくる)
  • 閲覧数カウンターの表示(アイコンが1個増えるせいでいいねやリプライと押し間違える)

などは、もう本当にひどい改悪です。

筆者はTwitterに半分命を懸けて生きているので、こんな改悪をされたままでは使えたものではありません。

ということで、Android版Twitterをいい感じにしていきたいと思います。

必要なもの

今回も、毎度おなじみ、TwiFuckerにお世話になります。

Dr-TSNG/TwiFucker: Yet Another Adkiller for Twitter

TwiFucker(バージョン 1.9 以上)を導入したTwitterがインストールされているAndroid端末が必要です。

TwiFuckerの導入方法は以下で解説しています。PCもROOT化も不要です。

【非root】Twitterアプリの広告をAndroid端末単体で消す【TwiFucker & LSPatch Manager】

Feature Switch

先ほどTwiFuckerのバージョンがv1.9以上である必要があると書いたのは、v1.9で新しく実装された"Feature Switch(機能スイッチ)“設定を利用する必要があるためです。

※以下は憶測です。

Twitterをやっていると、「別にアプリを更新したわけじゃないのに、UIの一部が変わった」というような現象に遭遇することがあります。このような現象が起こる理由として、Twitterでは多くの機能の有効・無効を「機能フラグ」のような形で管理しているからだと思われます。

それぞれの機能フラグはtrue(真)またはfalse(偽)のどちらかの値が与えられていて(boolean変数ってやつですね)、例えば「おすすめTLのスライド切り替えを有効にするフラグ」、「閲覧数を表示するフラグ」など、各機能の有効・無効を管理するためのフラグ(キー)が用意されており、その真偽はTwitterのサーバーで管理します。

Twitterアプリでは、受け取る予定のフラグと、その真偽によってどの機能を切り替えるかみたいなものがあらかじめ仕組まれており、ユーザーがTwitterアプリを起動したときに、Twitterのサーバーから機能フラグの値を受け取り、その値をもとに画面を構成し、サービスを提供する、という処理をします。

こうすることで、ユーザーに強制させたい機能を(各ユーザーのアップデートタイミングに依存せずに)ある程度一斉に提供したり、ベータ的な機能を一部のアカウントにのみ提供したりしているのだと思います。

TwiFuckerのFeature Switchは、Twitter起動時にサーバーから受け取った機能フラグの値をローカルで改変して、改変したフラグをもとに画面・サービスを構成します。これによって、Twitterのサーバーでのフラグの値の変更を無視して、クライアントの機能を管理することができます。

ただし、「フラグ名」が分かれば、ですが。

やること

早速やっていきます。

筆者は、

  • Twitter 9.73.0-release.0
  • TwiFucker v1.9

の組み合わせで記事を書いています。

Twitterのバージョンが9.78.0-release.0以降だと、以下のおすすめTLの仕様を元に戻す手法が使えなくなりました。

それより前のバージョンのTwitter APKを使用してください。

おすすめTLの仕様を元に戻す

Twitter 9.72.0-release.0 あたりで実装された機能の「おすすめTLと最新TLのスライド切り替え」をどうにかします。

もともとは、画面右上、Twitterロゴの右側にキラキラマークのアイコンがあり、そこをタップすることで、ホームTLと最新TLを切り替えることができました。デフォルトではホームTLですが、一度最新TLに変更してしまえばずっと最新TLのままで保存されるようになっていました。

それが、おすすめTLと最新TLを横スライドで「簡単に」切り替えられるようになり、さらには起動時に毎回おすすめTLが表示され、かなりストレスフルな仕様になってしまいました。

従来のやつ 改悪後 (;O;)


先述したTwiFuckerのFeature Switchを利用することで、おすすめTLの仕様を従来のものに戻すことができます。

スワイプで切り替え機能の有効・無効を管理しているキーは、

home_timeline_spheres_swipe_to_latest

アイコンをタップしてTLを切り替える機能の有効・無効を管理しているキーは、

home_timeline_latest_timeline_switch_enabled

です。それぞれtrueであれば有効、falseであれば無効となります。

すなわち、

  • home_timeline_spheres_swipe_to_latestfalse
  • home_timeline_latest_timeline_switch_enabledtrue

にすれば、従来の使い慣れたTL切り替えに戻せるわけです。

TwiFuckerが導入済みであれば、Twitterの設定から、「その他のリソース」→「バージョン~~」と進むとTwiFuckerの設定が開きます。

TwiFuckerの設定から「Feature Switch」→「ADD」と進みます。

TwiFuckerの設定 ADDをタップ

キーを入力するテキストボックスと、trueとfalseを切り替えるトグルスイッチが表示されます。

上で示したキーをテキストボックスに入力し、Booleanが適切な値になるようにスイッチを切り替えます。キー名を間違えると動作しないので、正しく入力してください。また、余計な改行や空白が入らないように!(上のコピーボタンでコピーすると、どうやら最後に改行が入ってしまうっぽいので、適宜消してください。)

できたら保存します。キーが2つあるので、両方で同じ作業をします。

スワイプで切り替えをfalse アイコンタップで切り替えをtrue Feature Switchのメニュー

Feature Switchのメニューでそれぞれのキー名をタップすると、truefalseの値が入れ替わります。キー名を長押しするとキーが削除されます。リセットを押すと、保存したキーが全部削除されます。

「無視」(今後のバージョンでは翻訳が修正されてる気がする)をタップして、Feature Switchのメニューを閉じます。

ここまで正しく設定して、Twitterを再起動すると、TL切り替えの仕様が従来のものに変化しています。

閲覧数カウンターの表示を消す

上と同じくFeature Switch機能を使います。

閲覧数アイコンの表示の有無を管理しているキーは、

view_counts_public_visibility_enabled

です。この値がtrueであれば表示、falseであれば非表示となります。

Tl切り替えのときと同様に設定すると、タイムラインから閲覧数のアイコンが消え去ります。

非表示にしたいのでbooleanはfalse

閲覧数表示 閲覧数非表示

Twitterの独自フォントを無効化

Feature Switchを使って弄れる項目をもう一つくらい紹介します。

Twitterアプリ上のフォントは、「Chirp」というTwitter独自のフォントが使われています。

このChirpなんですが、英数字のみに対応していて、日本語はシステムフォントが適用されます。そのため、お使いのAndroid端末のシステムフォントによっては、日本語と英数字で統一感がなく、浮いた感じになっています。

ということで、Chirpを無効化して、日本語のフォントも英数字のフォントもシステムフォントにしたいと思います。

Chirpフォントの有効・無効を管理しているキーは、

af_ui_chirp_enabled

です。trueでChirpが有効、falseで無効になります。ということで、booleanはfalseに設定します。

先述したとおりにFeature Switchにキーを追加してBooleanを設定すると、英数字にもシステムフォントが使われるようになります。

Chirpフォント有効 Chirpフォント無効

その他

個別に詳しく解説しませんが、せっかくなのでいくつかキーを紹介します。

home_timeline_spheres_sticky_tabs_enabled

trueにすると、スライドでのTL切り替えにおいて、最後に切り替えたときのTLの種類が保存されるようになります。

media_edge_to_edge_content_enabled

trueにすると、ツイート本文や画像が、画面横幅いっぱいに表示されるレイアウトに変更されます。

timelines_translate_enabled

trueにすると、ツイートを翻訳するボタンが、Tl上にも表示されるようになります。

おわりに

iOSは知りませんが、WebやAndroidのTwitterは、有志の方々が作ってくださった素晴らしいツールによって、とても使いやすくカスタマイズできるようになっています。

Web版Twitterでは、“Tweak new Twitter”というChrom拡張機能があります。これを使うことで、余計なボタンや表示を取り除いて、UIをかなりキレイにできます。

insin/tweak-new-twitter: Browser extension which removes algorithmic content from Twitter, hides news & trends, lets you control which shared tweets appear on your timeline, and adds other UI improvements

記事の内容でご不明な点などがありましたら、お気軽にご連絡ください。

以上です、おわり。

Built with Hugo
テーマ StackJimmy によって設計されています。