投稿

Yukari 5周年によせて

お久しぶりです。すっかりブログを書く習慣がなくなってしまいました。

さて、表題の通りですがYukari for Androidはとうとう5周年を迎えました。
これは、Play ストアで最初に公開した日である2013年12月22日から数えたものです。
(開発自体は2013年8月から。)

使っていただける人がいたから、ここまで続けることができました。
自分だけが使うものだったら、もうとっくに飽きていたと思います。
どうかお礼を言わせてください。本当にありがとうございます。

今年の振り返りYukari 2.1 linkage の開発 昨年末にブランチを開始した次期バージョンは、Mastodonへの対応とそれに伴うタイムラインプログラムの整理を目標として開始しました。
Yukariにとってベストな形でMastodon対応を行うため、これまでのようなTwitterに依存しないシステムになるよう大幅なコードの書き直しを強いられているために、進行は非常に緩やかになっています。
そのため、今年は正式リリースできる状態には到達できませんでした。

ただし、自分だけでは拾いきれないバグを探すために評価版はリリースしました。
Mastodon上で「Yukari Next」と称して配布しています。
こちらは2018年8月に初回のリリースを行ってから、本稿時点で12回のリリースを行いました。

スマートフォンの画面も、私たちの時間も限られたものです。TwitterとMastodonを通しで閲覧できる環境のひとつの形を何とか最良の形にできたらと思います。
既にいくつかのクライアントが対応を完了させていますが、YukariはYukariらしい見え方を提示していきます。
正式版のリリースを待ってくださっている方は、申し訳ありませんが今しばらくお待ちください。

UserStreamの終わり Yukari 2.1をゆっくりと開発している最中、TwitterのUserStreamがとうとう終わってしまいました。
利用者の層と、それに見合わない負荷を考えれば商業上仕方ない判断かなとは思っています。
あまりスケールしなさそうな雰囲気がありますし、何より広告で食っているのに広告が流せないのに資源を延々使い潰されるわけですからね……。

とはいえ、私とYukariはTwitterの使い方を真っ向から否定されてしまいまし…

2016年 to 2017年

お疲れ様です、芝生です。
ブログの存在をすっかり忘れていましたが、いかがお過ごしでしたか。
自分用の備忘録を兼ねて、この1年どんな感じだったか書いておこうかと思います。


思考力の低下 元からだよ。元からなんだけど、悪化した気がします。最近何も考えてない気がするし、全ての物事をペンディングしてる。
考えてると、すぐ仕事に意識とられて仕事とか理由とか考えちゃってきついんですよね。

Yukari for Android 1.3のリリース ちまちま作っていたら方向性がまったく定まらなかった1.3系ですが、OSC2016 Tokyo/Fall合わせで無事リリースできました。
最終的には悲願であった設定インポート・エクスポートも搭載できたので、意義のあるリリースになったのではないでしょうか。
まだアップデートしていない方は、ぜひお試しください。

そして、2016年12月22日をもってYukariでのAndroid2.3~3.xサポートを完全に終了しました。最初のリリースから2.x固有不具合に悩まされるなど、長い長い付き合いでひたすら頭を痛めました……。
Yukari 1.3.2からはAndroid 4.0以降対応となります。しかし、大事なことですが、4.0も早期に切る予定です!!!
これはなぜかと言うと、Android 4.0~4.0.xが搭載されたスマートフォンの多くが、2.3からの更新サポートの機種だったからです。
OS的には多少近代的であっても、アップデートでスペックが上がるわけではありません。むしろ、ICSはリソース大食いで有名です。
結局、今度はスペック的な限界が来てしまうわけで、近年のYukariを動かすにはもう厳しいかな……とかそういう判断です。
動くことは知っています、でもいつまでも面倒を見ることはアップデートの妨げになることすらあります。私は超人ではない為に手厚いサポートをする余裕はないので、頃合いを見て捨てるしかありません。

さて、 2017年です。今年は何か新しいものを習得したいですね。
世間的に新しいかは置いといて、今まで自分がちゃんと触ってなかったものとかがいいですね。もっとも、今の気力でできるかどうかは分かりませんが。

あと、Yukari for Android 2.0のアルファテストを開始しました。今年はMaterial化とかやりますよー!

Yukari for Android 1.2

この記事は「Twitterクライアント開発マン Advent Calendar 2015」 22日目の記事です。

結月ゆかりさん、お誕生日おめでとうございます。心よりお祝い申し上げます。

長い長い混迷の期間を経て、ついに時間切れです
2015年の最後に、Yukari for Android 1.2.1をお届けします。


Yukari 1.2.1の新機能正直、Yukari 1.2alphaが長かったので皆さん飽きているでしょう。というか、1.1からの差分をまとめていたらキリがありません。1.2.0alphaの最終一般リリース(r.244)からの差分をお届けします。

フィルタシステム / Yukari Query βQRコードのテキストプレビュー機能再生不能な動画リンクを極力避けるように判定を修正ページングの状態がタブ切り替えによってリセットされるバグの修正ブックマーク上でプラグインを起動する際、表示と1つずれて起動されてしまう(最悪落ちる)バグの修正5インチ以上の端末で使うとサムネイルが極端に小さくなるバグの修正ナルシストオプションの可否に関わらず、TLタッチ拡張で自己ふぁぼが行えるバグの修正
フィルタシステムについて 以前より長らく予告していた、ツイートの高度フィルタリング機能の実装です。 名前は「Yukari Query」と言います。ベースとなった言語をもじりました。 時間とやる気、他様々な要因によって、まだβ段階です。
ベースはSQL, Krile Query (StarryEyes), Lispです。これらを参考として、大枠にはSQL, KQ形式の表現で見やすさを、条件評価式の記法にS式を用いることで実装の手軽さを取りました。
どのような言語になっているか。最低限、何でも表示するとしたらこうです。 from * where (t)
大枠として from や where といったSQLライクな記述が見られます。これは存じている方であればその通り、ツイートの取得元、その抽出条件をそれぞれ表します。 from句の * は「全ての受信ツイートを対象とする」といった意味を持ちます。ちょうどKQのそれに近い性格を持ちます。 では、where句はどうでしょう。(t) はS式由来の記法となります。 この場合、(t) の t とはブーリアン値のTrueを指しますので、結果は真ですね。それ…

Yukari 1.2 開発進捗状況

お久しぶりです。なんとかかんとか生きています。
仕事は難しいわけではないのですが、とにかく疲れと辛さが蓄積されます。

Yukari 1.2進捗ダメです。
この状況では、2ヶ月連続正式版アップデート無しです。悔しいです。
今までほとんど月に1回は更新してきたのに……。

最も大きな理由としては、フィルタシステムの実装が難航していることが挙げられます。
y4a1.2では、条件式を記述してフィルタリングを行うタブを作成できるようにするつもりです。
何を目標にしているかは、Krile StarryEyesあたりを想像していただければだいたい合っています。私がWindowsを使用している時、愛用しているものです。
もっとも、それほどまで洗練されたレベルに持っていける気はしていません……。
とにかく好きなタブが作れるようになったら良いなという考えで進めています。単なる理想ですけど。

他には、単にy4a1.1でレポートされたバグが割と多くて手が回っていないなど、いつも通りの理由です。
この辺りに関しては、修正ができそうなものは極力手を付けますが、フィルタシステムにリソースを割いているためにそれほど手が回る気がしていません。
また、フィルタシステムの実装が済み、アルファテストでクリティカルなバグを潰したら早めに正式版に昇格させたいと思っているので、いつも通り1.2.0ではバグ満載となる予定です。

更新が途絶えている間にTwitterでは様々な事件が発生し、多くのクライアントの存亡が危ぶまれました。
ほとんどは元通りになりましたが、それでも多大なショックを与えましたね。
その関係もあってか、Yukariユーザも増えたり減ったり、トータルでは結構増えたようです。ご利用ありがとうございます。

ユーザが増えたところで、もしかしたらメイン張らせている人がだいぶ増えてしまったかもしれませんが、このクライアントはそもそも安定アプリではありません。
皆様と問題点を探して改良できたらと思っています。
1.2.0ではバグ満載となる予定です、と書きましたが、配信の際には恐れずにアップデートを適用し、だめだった場所を教えていただけたらと思います。

私だって人ですから時には荒れてたり適当なこともありますが、基本的にはバグや疑問点を問い合わせてもらえることはありがたいと思っています。
どうか今後もよろしくお願…

就職して1ヶ月

ちょうどゴールデンウィークに直撃する感じで体調崩しました。
(正確には2日前くらいから鼻水がひどく職場でずっと鼻をかんでいた)

お仕事はまだつらくないです。
今つらくないから数ヶ月後が余計に心配になります。業種が業種だから……ね。

d250g2しなければいいなあ。するんだろうなあ。

Yukariについては、最近1.2開発ブランチを切りました。
ちまちまと拡張していって、5〜6月を目処にリリースできればと考えています。
お仕事が私の想像を超えていきなり派手に燃えれば夏になりますが、極力その前に……。

OSC2015 Tokyo/Springに行った

2/28 日曜日、明星大学にて開催された「オープンソースカンファレンス 2015 Tokyo/Spring」の2日目に行ってきました。
高校のコンピュータ部合宿の直後ということで、なかなかハードな週末となりました。

当日はとりあえず11時に間に合うように行動。今回は後輩である@raven_38_君と共に行きました。

到着してすぐ、raven君の希望でConoHaブースへ行き、raven君とこのはちゃんの写真を撮影。その後はとりあえずコミュニティブースへ行きました。

まず見たのはProject Vine、ちょっと前からLinux触ってる日本人なら誰でも一度は触ったことがあるであろうVine Linuxのブースですね。
何となく覗いてみたらおかのさん(@okano_t)に勧誘を受けた形です。atelier-wmとかVineで動くかな、とか考えながら聞いていました。

やばいブースだ pic.twitter.com/Vviypletol— 芝生 (@shibafu528) 2015, 2月 28

ここでは、リリースから間もないVine Linux 6.3のセットアップディスクとロゴステッカーをいただきました。

次に向かったのはmikutter ユーザ会やRasPi、NetBSDの並ぶ一角!ずっと大混雑でした。
シールをたくさん収集し、mikutterの薄い本 Vol7も購入。本で手に入れたいと思っていたのでよかったです。

シールブース pic.twitter.com/TM5XI8p7ps— 芝生 (@shibafu528) 2015, 2月 28
mikutter-windows実物初めてみたしあひる焼き環境付きとかな pic.twitter.com/JdJRR5rkl5— 芝生 (@shibafu528) 2015, 2月 28

この後、ぱらつり氏(@paralleltree) kb10uy氏(@kb10uy)らと合流し、食事をとりました。今回はカツカレーです。カツは切られているのかと思いきや、半分ほどまで切り込みが入っている感じでした。カツのユーザビリティについて話しながら食べていました。

pic.twitter.com/bi8P0FGqXP— 芝生 (@shibafu528) 2015, 2月 28

食事後、Android WearからRecotw Explorerが見れる…

Yukari Link Accelerator について

イメージ
Yukari Link Accelerator とは Yukariのツイート詳細画面、Linkタブに列挙されるURLにアクセラレータボタンを付加することができる機能です。 いわゆるプラグインです。 Yukari for Android 0.120alpha 以降で使用することができます。 どんな風にボタンが付くの? y4a 0.120以降で「ツイートのパーマリンク」が入った発言を開いてください。 URLの左に、吹き出しボタンが付いていると思います。 そして、それをタップすると即座にYukariでツイートが開かれます。 このようにボタンと機能を付加することができます。 作り方 以下のIntentを受け取ることができるアプリを作成してください。Action shibafu.yukari.ACTION_LINK_ACCELCategory android.intent.category.DEFAULTExtraString user_name  ツイートを受信したユーザのユーザ名String user_screen_name  ツイートを受信したユーザのScreenNamelong user_id  ツイートを受信したユーザのIDString user_profile_image_url  ツイートを受信したユーザのプロフィール画像URLString status_url  呼び出し元ツイートのパーマリンクIntent#getData() でアクセラレーション対象のUriを取得できます。これは結果をYukariに返す種類のプラグインではないため、setResult()等を行う必要はありません。適当に戻ってきてください。 サンプルhttps://github.com/shibafu528/y4a_ShindanAcceleratorライセンスは MIT License です。 蛇足このAPIは、私がツイートの直接呼び出しや、診断の即時実行を呼び出すことを目的に実装されたものです。そのため、機能不足や不親切な点が目立つのは否めません。もし、興味を示していただける方がいれば、提案があればExtraで提供するデータの追加なども検討します。