見出し画像

会話形式で書き込めるSNSを作ったよ

こんにちは。yahiroです。普段はフロントエンドエンジニアをやっています。今回、KaiwarlというSNSを作ったので紹介させていただきます。

昨年の春頃から開発を始めて今年の初めに最初のバージョンを公開しました。現在はベータ版として公開しながら、正式リリースに向けて開発を進めています。


コンセプト

「個性を生かした楽しいアウトプット」というコンセプトで開発しています。アバターを複数使った会話形式の書き込みができるというのが大きな特徴です。

投稿する内容はTwitterなどのSNSのように日常的なことや普段思ったことを書いていく想定で作りましたが、汎用的な仕様にしているのでキャラの掛け合いや小説などの創作活動とも相性が良さそうです。

一般的なブログやSNSでの発信では、一人称視点で書くため、固い表現になってしまったり、文書を格好良く見せようとしてしまって思ったことを素直に書き出せない、ということがないでしょうか。

また、自分のアバターが固定されているので、どうしても他人からみた自分のキャラや発言の型、というのが固定化してしまって、それから外れるような表現を模索したりするのが難しいです。

Kaiwarlでは、投稿ごとにアバターを変えたり、記事内で複数のキャラを切り替えて発言できます。これによって、表現の幅が大きく広がります。

自由な発想で、伝えたいことを形式張らずに楽しく書いていける、そんなWebサービスにしていけたらいいなと思っています。

開発した経緯

私は会話が苦手で、会話の練習をしようと思って作りました😇
というのは半分冗談ですが、文章を書いたり自分の考えを人に伝えたりするのにやはり苦手意識があり、特に長い文章を書こうとしたときに筆がなかなか進みません。

もっと気軽にサクサク自分の考えを書き出せる方法がないかと考えたときに、キャラに会話をさせながらそこに自分の考えを織り交ぜていけばいいのでないかと思い、このアイデアをあたためていました。

また、近年よく言われているSNS疲れということについても課題を感じていて、なにかサービスの仕様やデザイン上の工夫によって、ユーザーが疲れない、素の自分でいて楽しい場所を作れたら良いなと思っており、これも開発の動機になりました。

作ってみてわかったこと

会話形式で文章を書いていくと、書きたい内容がはっきり決まっていなくても、とりあえずそのまま思ったことを書いていく、というのがやりやすいです。会話を書いているうちに自分の考えていることがまとまってきます。

なにか悩んでいるときにも、悩んでいる自分にツッコミを入れてくる自己対話の相手を設けることで、自分ひとりでも相談という形で悩むことができ、こうしてみようという解決の糸口が見つかりやすくなります。

あとはやっぱり会話を書いていくのが楽しいです。記事や発言を書くときにリズムがあって楽しく書き込めるというのを大事にしていきたいです。

工夫したところ

会話形式の投稿ができるだけでなく、それによって他の人との繋がりができたり、日々の生活がより楽しくなるようなものを目指しています。そのためにはなるべく気軽に、周りの視線を気にせずに自分の書きたいことを書けるようなタイムラインの構成が重要だと思っています。

タイムラインや交友関係がオープンで誰からも見られるTwitter的な特性と、広範囲に拡散されず見に来た人だけが見れるブログ的な特性をバランスよく取り入れられないものかと思案しました。

サブタイムライン(ノート)機能という、誰でも見れるけれど意識的に見に来た人にしか目に入らない、という仕様を導入して、ここで個人的な内容が書きやすくなるように工夫しました。

多くの人にフォローされていくと自由な発言がしにくくなってくる、という課題に対しては、マルチアクター機能というものでこれの改善を図っています。

1つのログインアカウントで複数のアクター(サブアカウントのようなもの)を利用できます。自分が扱う話題ごとにアクターを作ることで、話題を分離して、発言しやすいようにしました。

検討中の課題

リアクションしたユーザーの表示や、ユーザー同士の繋がりをどこまで表示するかなど、どういう仕様にするのが良いかまだ決めきれていないところがいくつかあります。

興味をもってくれた人にサービスを使ってもらいながら、快適な場所にしていくために機能や仕様を探っていきたいと思います。

楽しいインターネット

ここまで真面目そうな話を書いていますが、あまり物事を難しく考える必要もないかもしれません

「なんかキャラで会話がかけるよ、楽しいね!!」

といった軽いノリで使ってもらえたらと思っています

「楽しい」が一番大事ですね

なんだかよくわからないけれどみんなワイワイ楽しんでいる、そんな場所を目指していきたいです

画面と機能

以下では、主な画面と機能を簡単に紹介します。
大まかな雰囲気を感じ取っていただければと思います。

タイムライン

ホーム画面では複数種類のタイムラインを切り替えて表示できます。

  • フィード … ウォッチしているユーザーの投稿

  • タグウォッチ… ウォッチしているタグの投稿

  • コラボ … 自分の投稿に他のユーザーが返信してくれたもの

  • 自分 … 自分の投稿

  • ランダム … 全ユーザーの投稿(ランダムにピックアップ)

タイムラインでは記事のリストが時系列順で新しい記事が上にくるように表示されます。各記事のカード表示には、先頭の2個の発言が表示されます。

記事作成画面

記事の作成画面では、左右にアバターが配置されています。複数の発言をまとめた記事を作って投稿できます。どちらのアバターで発言するかを選んで、コメントを追加していきます。

記事詳細画面

記事の詳細画面では、記事内の全ての発言が表示されます。1つの記事に最大100個の発言を書き込めます。一番下にコメント欄があります。他の人の記事にも任意のアバターでコメントを書き込めます。

承認制のコメント

繋がりがないユーザからのコメントは承認制になっています。コメントが承認されるまでは内容が公開されないので、安心です。

アバターの管理

発言に使うアバターを12個まで登録できます。ユーザー登録時にはランダムに割り当てられたキャラのアバターが2個ついてきます。
(キャラのアバターはStable Diffusionで作っています)

カテゴリフォルダ

記事をフォルダ分けして管理する機能があります。ブログのカテゴリ機能にに似ています。話題ごとにフォルダを作って記事を整理できます。

その他

他にも以下のような機能があります。

  • リアクション

  • 画像や外部サイトリンクの投稿

  • 個人的な内容を書きやすいサブタイムライン(ノート)

  • 複数のサブアカウントを扱えるマルチアクター機能

  • 共有タグ/タグウォッチ

これらについては、後続の記事でまた紹介していきたいです。

技術まわり

DenoとFresh, MongoDB, Redisを使っています。
サーバーの構成など、技術関連の話もどこかでやりたいです。

まとめ

Kaiwarlを開発した理由や、機能について紹介しました。ぜひ使ってみてもらえればと思います。仕様がわかりにくいところもあるので今後も記事を書いて解説していきたいです。よろしくお願いします!


この記事が気に入ったらサポートをしてみませんか?