DAWN for Mastodonのご紹介

DAWN for Mastodonは、分散型SNS「Mastodon」のクライアントアプリです。好きな話題を読んだり、気の合う人たちと交流したりする楽しさを、心地よい距離感で味わえることを目指しています。

複数アカウントやカスタム絵文字への対応に加え、表示するタイムラインをカスタマイズする機能など、Mastodonでの日々の交流を快適に楽しむための工夫を取り入れています。

DAWNでフォロー中やハッシュタグなど表示するタイムラインをカスタマイズする画面
フォロー中の投稿や、好きなハッシュタグのタイムラインを追加して並べられます。

iPhone Duoへの対応で大切にしたこと

コンパクトな画面でも、主役である投稿をできるだけ広く表示できるようにしています。たとえば、タイムラインをスクロールするとナビゲーションバーが最小化され、投稿を読む領域が広がります。

タイムラインのスクロールに合わせてナビゲーションバーが最小化される様子
スクロールに合わせてナビゲーションバーを最小化し、投稿を読む領域を広げます。

タブバーやツールバーの縦方向の配置にも対応し、投稿ボタンやアカウントボタンの表示を調整しました。画面の形や操作部分の配置が変わっても、いつものように読んだり投稿したりできることを大切にしています。

インナーディスプレイでは、マルチウィンドウで複数のアカウントを並べて表示できます。

iPhone Duoの内側画面で2つのタイムラインを並べて表示したDAWN
インナーディスプレイでタイムラインを並べた表示。

ホーム画面のウィジェット

iPhone Duoの広いホーム画面を活用するために、「トレンド」「画像タイムライン」「投稿」ウィジェットを追加しました。

DAWNのトレンド、投稿、画像タイムラインウィジェットを配置したホーム画面
広いホーム画面に複数のDAWNウィジェットを配置。

DAWNを作り始めた理由

私はもともとTwitter(現X)のヘビーユーザーで、インターネットを通じたコミュニケーションが大好きでした。

しかし、アルゴリズムによって選ばれたタイムラインでは、不安を煽る情報や過激な話題が目に入るようになりました。個人的な生活の変化も重なり、SNSを見ることで心身の調子を崩すことが増えていきました。

それでも、人とのつながりや好きな話題に出会う楽しさは手放したくありませんでした。

自分の心を守りながらSNSを楽しむために作り始めたのがDAWNです。

Mastodonには、日々の交流を楽しめるだけの投稿があり、さまざまなコミュニティから自分に合う居場所を見つけられる魅力があります。

DAWNではその楽しさを支えながら、見たくない情報との距離を調整する負担も減らしたいと考えています。

たとえば、投稿内の言葉を範囲選択して、そのままミュートの登録画面を開けます。見たくない言葉をもう一度入力する苦痛を減らすための工夫です。

また、アルゴリズムによるタイムラインはなく、好きな話題のタイムラインを並べられます。

投稿内の言葉を選択して操作メニューを表示した画面
投稿内の言葉を選択し、そのままミュート登録へ進めます。

目指しているのは情報を遮断することではなく、自分に合った距離感でSNSを楽しみ続けられることです。

Foundation Models

ミュート機能には、Foundation Modelsを使ったキーワード候補の提案も取り入れています。入力した言葉に関連する表記違いや略称を端末上のモデルが提案し、ユーザー自身が選んで登録できます。

Foundation Modelsがミュートするキーワード候補を提案する画面
入力したキーワードに関連する候補を端末上で提案します。

また、最近ではユーザーが投稿した画像に代替テキストがない場合でも、Foundation Modelsによってその場で生成できるようになりました。

投稿画像の代替テキストをFoundation Modelsで生成した画面
画像に説明がない場合、その場でAIによる説明を生成できます。

デザイン

毎日使うSNSアプリとして、読む、投稿する、画面を移動するといった基本操作の使い心地も欠かせません。そのため、UIKitやSwiftUIなどApple標準のフレームワークを活用し、OSのナビゲーションや画面の変化に自然になじむ実装を心がけています。

DAWNの投稿作成画面と横向きキーボード
画面の形が変わっても投稿しやすい作成画面。

私が目指しているのは「普通のSNSアプリ」です。iPhoneやiPadで当たり前のように使えること。その「普通」を一つひとつ丁寧に考え、ユーザーが操作を意識せず、人との交流や好きな話題を楽しめるアプリを作りたいと思っています。