世界を動かす技術を、日本語で。

DoNotNotifyがオープンソースになりました

概要

  • DoNotNotifyオープンソース化
  • GitHub でソースコード公開
  • プライバシー重視透明性 の強調
  • コミュニティ参加 を歓迎
  • バグ報告機能提案 も可能

DoNotNotify オープンソース化のお知らせ

  • DoNotNotify アプリの 全ソースコード を公開
  • GitHub リポジトリ: github.com/anujja/DoNotNotify
  • 誰でも閲覧・学習・貢献 が可能
  • ソースコードの完全な可視化 による信頼性向上

オープンソース化の理由

  • DoNotNotifyプライバシー重視 の設計思想
  • 透明性確保 のためのコード公開
  • ユーザー自身 による アプリ挙動の検証 が可能
  • 開発者の主張だけでなく 実際の動作 を確認できる安心感

コミュニティへの参加方法

  • バグ報告機能提案プルリクエスト の受付
    • GitHub Issues によるバグ・要望の投稿
    • Pull Request によるコード改善・新機能追加
  • 誰でも参加可能 なオープンな開発体制
  • DoNotNotify の品質向上と発展への貢献機会

参加方法の詳細

  • バグ報告新機能リクエスト: GitHubリポジトリの Issues タブ利用
  • ソースコード閲覧・学習: GitHub上で自由にアクセス
  • 貢献の流れ:
    • リポジトリのフォーク
    • ローカルでの開発・修正
    • Pull Request の送信

まとめ

  • DoNotNotifyオープンソース化 により 透明性信頼性 を強化
  • コミュニティの協力 による継続的な改善と発展
  • 全てのユーザー が安心して利用・参加できるアプリ開発

Hackerたちの意見

1ヶ月前に、Androidの通知を制御するアプリ「DoNotNotify」をShow HN [0]に投稿したんだけど、1日だけフロントページでトレンドになったんだ。嬉しかったけど、スレッドで一番投票されたコメントは、アプリをオープンソースにしてほしいっていうものだった。システム全体の通知に関わるからね。俺の約束じゃ足りなかったみたいで、コミュニティはもっと求めてた!なんで最初からオープンソースにしなかったんだろう?Linuxは10年以上も俺のメインのドライバーだったし、哲学を心から信じてるし、コミュニティに還元したいと思ってた。多分一番の理由は、アプリの90%が自分の感覚でコーディングされてたことが恥ずかしかったから。20年以上ソフトウェアを書いてきて、初めてのFOSSへの貢献がAI生成のコードなんてあり得る?最小限の scrutiny すら耐えられるのか?俺の(無名の)名前が永遠に汚れるのか?ちょっと大げさだけど、ほんの少しだけね :) それで、昨日、少し不安を抱えながら、GitHubのリポジトリの可視性を公開に変更して、アプリのウェブサイトに発表を載せたんだ [1]。それに、アプリをF-Droidにも提出したよ [2]。前と同じように、コミュニティからのフィードバックや提案を歓迎するよ!

自分のプロジェクトは最初からオープンソースでやるようにしてる。問題は「じゃあ、彼らはお金を払わない」ってことじゃない。たくさんのコーダーやオープンソースユーザーが、ホスティングされた有料版で時間とエネルギーを節約したいと思ってる。これが潜在的な顧客に提供するものなんだ。それが難しい部分じゃない。難しいのは、マーケティングや販売、流通なんだ。

AI支援の開発についての透明性を評価するよ。コードの品質に対する懸念は理解できるけど、考えすぎだよ。自分たちが書いたコードよりひどいものを出したことはみんなあるからね。本当に素晴らしいのは、フィードバックを聞いて、それを検証可能にしたことだよ。それがプライバシーを気にするAndroidコミュニティが必要としていたことなんだ。すでに実運用でうまく機能しているのはボーナスだね。

これをやってくれて本当に誇りに思うよ!この2ヶ月で、バイブコードされたソフトウェアに対する考え方がかなり変わってきたと思う。単に「受け入れられる」か「拒否される」っていう一つの軸だけじゃなくて、いろんな軸で進化してる。Androidユーザーがデジタル環境をカスタマイズできる手助けをしてくれてありがとう。

僕はAndroidユーザーじゃないけど、フィードバックを受け入れてこれをやったAnujには拍手を送りたい。尊敬してるよ。プライバシーが侵害され、侵入的な通知が増えて、クソ化が進む時代に、普通のユーザーが反撃できるように本当にポジティブで役立つことをしてくれたね。確かに、コードの品質について批判する人もいるけど、(a) そういう人たちが製品に積極的に貢献してないなら無視していいし、(b) 文句を言う人たちは、君の決定を支持する多くの人に埋もれてしまうと思うよ。君だけが問題を解決するためにバイブコードしている経験豊富なエンジニアじゃないし、今僕が働いているスタートアップでも、Claudeにかなり頼ってるし、ChatGPTにも少し頼ってるよ。ありがとう、Anuj!

恥ずかしさはいい直感だね。

このアプリを手に入れるために、公式ストアで1ドル払ってもいいよ。GitHubから無料でダウンロードできるって知ってるけどね。

よかったね。ちなみに、君が尊敬するプログラマーの中で、自分のキャリアの中で振り返って恥ずかしく思ったコードがない人はいないと思うよ。ある意味、リーナスが学部生の時に乗り越えたハードルが一番尊敬できるところだな。まあ、ただ言ってみただけだけど。これがコードだよ。見てみて。大したことないかもしれないけど、挑戦する者が勝つんだ。

こんにちは

これを見れて嬉しい! :) 時間があれば貢献したいな :)

Androidに、あるアプリが他のアプリの通知をブロックするためのAPIがあるとは驚きだね。楽しめるうちに楽しんでおこう。

NotificationListenerServiceだね。DoNotNotifyアプリのような本当に使えるケースがあるけど、簡単に悪用される可能性もある。例えば、マルウェアが財布のOTP通知を傍受して攻撃者に転送することとか。APIへのアクセスは特定の権限によって制御されていて、ユーザーは「特別なアプリのアクセス」で明示的に有効にしなきゃいけないんだ。https://developer.android.com/reference/android/service/noti...

Androidにはこれが必要なの?OSが通知を制御させてくれないの?

これによって、より細かい制御ができるんじゃないかな。多くのアプリは、通知カテゴリシステムを使わないことでマーケティングのブロックを避けてる。全部か何もかって感じだね。このアプリなら、通知カテゴリでできない場合に、二つを区別できるかもしれない。

Androidは「アプリXからの通知を許可する」と「アプリXからの通知をブロックする」ってレベルではやってるよ。DoNotNotifyは、細かい制御とルールを提供してる(特定のアプリが実装しないことを選んだ場合もあるけど)。例えば、「ゲートの変更通知を表示することを許可する」「広告通知を表示しないことをブロックする」って感じだね。

確かにそうだけど、こっちはもっと細かい設定ができるみたい。アプリ全体をブロックしたいわけじゃなくて、特定のアプリからの通知だけをブロックしたい時もあるからね。

これ、https://galaxystore.samsung.com/detail/com.samsung.systemui....と比べてどうなの?

…これって本当にそうなの?違いが全然わからないってこと?皮肉を言うつもりはないけど、理解するのが難しいんだ。ここでリンゴとオレンジを比べてるよ。提供されたリンクを見る限り、全然比較にならないと思う。だって、全く別のものだから。君が提供したリンクは、SamsungかOneUI専用で、Good Lockと統合されてるみたいだし。これは通知を集めて表示するだけじゃなくて、検索機能もあるみたい。オープンソースではなさそうだね。DoNotNotifyは、アプリが特定の種類の通知だけを送るように制限できるんだ。お互い補完し合うことはできるけど、比較するのは無理だと思うよ。

iOSが「通知を減らす」モードを導入してからずっと使ってるけど、めっちゃいいよ。これほどカスタマイズ性はないけど、通知のスパムに疲れてる人にはこういうアプリをおすすめするよ。

ADHDのせいで簡単に気が散っちゃうから、iPhoneにこれがあったらめっちゃお金払うよ。iOSはAndroidほど細かい通知設定ができないし(トピックとか?)、Appleがサードパーティのアプリを通してすべての通知を流すことには同意しないだろうしね。

その通りだね。iOSのアプリサンドボックスモデルは、アプリ間での通知のやり取りを防いでるし、AndroidのListenerNotificationService APIに相当するものはiOSにはないんだ。

これが僕がFacebookやTwitterをアンインストールした理由だよ。たまに訪れたい時はウェブサイトを使うけど、通知でスマホに引き込まれたくないんだ。

オープンソース化、お疲れ様!

いいステップだね!

アプリにルールを追加するにはどうすればいいの?

ルールを作りたいアプリからの通知がスタート地点だよ。だから、通知を待って、「履歴」タブでそれをクリックすると、あとはそこから設定できるよ。ちょっと直感的じゃないけど、その流れの理由は、アプリのパッケージ名が必要だからなんだ。ほとんどの人は知らないと思うけどね。

これって、通知を無効にできない組み込みアプリにも効くのかな?先週、母のためにSamsungを設定してたんだけど、Samsungアカウントの設定を促す通知がずっと来てて(それが一番ひどいわけじゃないけど)、正直言って、これがあれば助かるんだけど。

それができるはずだよ、ただしLive Update [0]の通知を使っていない限りはね。 [0] https://developer.android.com/develop/ui/views/notifications...