メモ2ブログ

メモtoウェブログ。旧ブログはこちら。 http://sakebook.blogspot.jp/

Link Stackをメジャーアップデートしました

リンクをちょっとだけ後で読むアプリ、Link Stackをメジャーアップデートしました。

play.google.com

このアプリを作った経緯はこちらです。

sakebook.hatenablog.com

メジャーアップデートの機能紹介と、なぜその機能を付けたかについて書きます。

2つの新機能

  • 未読記事一覧
  • 閲覧履歴分析
未読記事一覧 閲覧履歴分析
f:id:sakebook:20170204210604p:plain:w240 f:id:sakebook:20170204210627p:plain:w240

それぞれタブを追加してます。実装的には、サポートライブラリのBottom NavigationViewを使いました。

未読記事一覧

起動して表示されるフィード以外に、未読記事のみを抽出した未読記事一覧を作りました。未読記事一覧では、未読記事を見ることはもちろん、既読チェックだけをつけることもできます。

閲覧履歴分析

Link Stackで表示した記事を対象に、グラフィカルに閲覧履歴がわかる機能を付けました。

  • 閲覧ドメインTOP10
    • よく見るサイトとその割合がわかります。
  • 曜日ごとの平均記事閲覧数
    • どの曜日に記事をどれだけ見ているかがわかります。
  • 毎日の記事閲覧数
    • 一日どれだけ記事を見ているのかがわかります。

どうしてその機能を付けたのか

普段使いにしてるからこそ痒いところを解決したかった

Android 7.0以降で、特に指定がなければ同じアプリからの通知が3通貯まるとまとまって表示されるようになりました。 展開すると3通入っている別の通知が作成される感じです。

Link Stackは、未読通知はスワイプでは消せないようにしているのですが、まとまる通知になってしまうと スワイプで消せるようになってしまいます

まとめさせないことは簡単なのですが、OSの挙動に逆らう感じがして気乗りせず、対応していませんでした。

なので、誤って消してしまうことが多くなりました。 また、端末ももう2年以上使っているからか、意味の分からない再起動や、バッテリー切れなどが度々起きてしまい、未読のまま読み忘れる記事が結構多くなってきていました。

読み忘れたものの一覧を表示して、再び読む機会が欲しいと思っていました。

foursqaureのstatsが好きだった

今はSwarmに機能が移ってますが、自分のチェックイン履歴から、どこにどれだけ行っているとか誰と何回チェックインしているとかを分析してくれる機能です。 Link Stackを開発してすぐに、これは似たようなことができるかもしれないと思い、データだけ貯めていました。

初期からあった展望で、いつか追加したいと思ってました。追加するならBottom Navigationで実装したいなと思っていたのですが、3つ目のタブが思いつかず、実装まで着手していませんでした。 前述の履歴問題が顕著になってきて、あぁ、これをタブにすればと気づいたので合わせて実装することにしました。

今後の展望

気づきを与えてくれたり、何かのきっかけをくれるサービスが好きです。 Link Stackもそういうサービスにしていけたらなと思います。

まだ案はいくつもあるので、適宜更新していきたいと思います。

参考

BottomNavigationView / Android Developers

Android 7.0 for Developers / Android Developers

Introducing Swarm 4.0: Stats on stats on stats / The Foursquare Blog

Bottom navigation - Components - / Material design guidelines

2016年を振り返って

2017年も12分の1が過ぎようとしてますが、2016年を目標とともに振り返ります。

2016年の目標

  • 本を10冊以上読む
    • 未達。
  • プロダクトのアウトプットを4つ以上
    • 未達。
  • 個人ページ作成
    • できた!
  • ブログを20回以上更新
    • 未達。

本を10冊以上読む

3冊くらいしか読んでない気がします。別に厳選しているというわけではなく、単純に読む習慣をつけられていません。

自分も2017年で30歳になるのもあってか、次の本が面白かったです。歯ブラシを忘れないためにすべてのリュックに歯ブラシを入れておく件が、自分もKindleを忘れたりするので、枕元用にもう1台買っておくとかで習慣化の手助けになるならやろうと思いました。

これを読んだ場所が楽天カフェだったのですが、ソファーがあると本が読むのが捗ったので、家にもソファーがほしいと思いました。

プロダクトのアウトプットを4つ以上

2015年に作ったLink Stackはわりと更新してたり、古いアプリの更新など行いました。また、依頼でiOSのアプリも作りました。 振り返ってみると、ストアに個人の新しいアプリをあげませんでした。2016年末にそれに気づいて、アプリを仕上げられれば!と思ったのですが全然間に合いませんでした。

個人ページ作成

これはようやく達成できました!前々から欲しかったものです。個人ドメインとかではないのですが、GitHubページを作成しました。内容不足は否めないですがわりと満足しています。

ブログを20回以上更新

記事数は19本でした。気づいていれば追い上げで記事を書いたんでしょうけど、気づきませんでした。

目標を掲げておいてそれに気づいていないというのは問題ですよね。

その他したことなど

Androidの講師

2015年にも行ったのですが、縁あって2016年にも行いました。 都度反省があるので次に生かせればなと。

Kotlin

会社のアプリでも個人のアプリでもKotlinを使ってます。非力なPCでビルドが遅くなるのは辛いですが、それ以外は楽しく触ってます。 以前より状態を意識できるようになった気がします。

企画展

4月~5月に企画展に参加しました。 他の参加者や来場者と交流できて楽しかったので、機会はそうないとは思いますがまた縁があればなと。

cr6ad7.net

引越し

東京で初めてひとり暮らしを始め、4年ちょっと過ごした家から引越ししました。 新江古田から神保町に。ちょうど半年ほど経ちましたが、通勤が徒歩になったのはめっちゃ便利です。

開発合宿

公私どちらでも開発合宿をしました。土善旅館、満足度高かったのでおすすめです。

結婚式

自分のはまだですが、ラッシュすごかったです。毎月参加してたような気がします。時には海外まで参加しに行きました。

親知らず抜歯

人によっては経験しないこともあるのでレアだなと思いました。右の上下を抜きました。 2017年に入ってから、左の上下も抜いたので、親知らずがなくなりました。


振り返ると、結構ライフイベントがあった年でした。 触れる言語が増えたことによる影響か、以前より開発の見通しについて考えられるようになった気がします。

2017年の目標

  • ブログを20回以上更新
  • GoとかPythonとかでWeb APIみたいなの作ってアプリに組み込み
  • ライブラリにPRを送る
  • 設計力を高める

定量的じゃないのもありますが。これはやっておきたい的な感じです。
30歳になるんですよね。。おっさんやん。

達成するために

KPTをやろうと2016年に言っていたのに、一つもできませんでした。とりあえずカレンダーに登録してそのための日を事前に用意しておこうと思いました。

ニッチなアプリ「Screen Scanner」を作った

スマホに表示されているバーコードを読み取るアプリを作りました。画像を渡して読み取ることもできます。カメラで読み取る機能は現状つけていません。

play.google.com

動機(1年半前)

今から1年半ほど前の話です。

スマホのサイト上に表示されたQRコードを読み取りたいことがあったのですが、スマホが1台しかなく、それを読み取る手段がありませんでした。そこに不便を覚えたので、作ろうと思いました。

バーコード読み取りには、Zxing(ゼブラクロッシング)というOSSがあることを知っていたので、それを使おうと思いました。 画面にバーコードを置いて動かすことはできたので、画面を透過して対象のバーコードの上に載っければ行けるかなーと思っていたら、 アプリからキャプチャできるのは自身だけ のようで、透過部分が真っ暗になりました。 解消するにはルート権限を取るしかない(実は後述の方法はあった)ようで、それは辛いと思いこのアイディアは頓挫しました。。

動機(現在)

エンジニアからしたらちょっと試して駄目だった。なんてのは日常茶飯事で、自分が試してだめだったものや途中のものを眺めていました。

これもなんで駄目だったんだっけ?と動かしてみて、調べなおしてみたら、Android5.0からルート権限不要で画面のキャプチャが取れるAPIがあることを知りました。 そして、Android7.0からクイック設定に、アプリがタイルを置けることも知ったので、これは相性が良さそう!思い再び作り始めることにしました。

f:id:sakebook:20170122211820p:plain 動き始めたコミットログ

作ってみて

本当は年内に作り上げたかったのですが、意外とやることが多かったです。QRコードっていろんな情報詰められるんですね。。wifiとかイベント情報とか知らなかったです。 初めの想定だと使いにくいので修正や、追加で使ってみたい機能などがでてきて、思った以上に時間がかかってしまいました。

以下の技術(?)を使いました。それぞれハマったところや気づきがあったので追々個別に記事にできればなと思います。アプリを触ってみると、どんな風に使われてるのかわかると思います。

まとめ

昔は技術的制約で駄目だったものも、今ならできるようになっていたり、別の実現方法ができていたりします。 初めて触る技術は自分の想像以上のことができたりして楽しいです。逆もあったりするけど。

参考

QRコード / Wikipedia

zxing/zxing / GitHub

ANDROID 5.0 アプリからスクリーンショットを撮影する / techbooster

Android 7.0 Nougatでクイック設定(Quick Setting)を追加する / techium