🧠

技術雑談:Skyshareを作った人の精神論

2024/05/20に公開

配信おつかれさまでした!聞いてくれた方はありがとうございました!本当に色んな人が聞いてくれて、非常に緊張しましたがたのしかったです。
とても緊張したので台本用意してよかった、でもコメント反応してるだけで全然たのしかった。技術わかんない人にも色々伝わったらいいな。あさのさんありがとう


本記事は、Bluecastリレー配信イベントで話そうと思っていた全文になります。
https://bsky.app/profile/so-asano.com/post/3ksscunwg3t26

実際の配信はコメントを拾いながらやったので、多分全部話せてないです...とおもったけど文字数的には結構喋り終わるかもしれない。それはそれで。ライブ感を楽しんでいただけたなら幸い...

イントロダクション

はじめまして!ねこのという名義で活動しています。この度はBluecastにてリレー配信を行うということで、あさのさん(So Asano氏)に声をかけられました。
あさのさんはうちのプロダクトの Skyshare(skyshare.uk) への開発協力をしてくれたこともあったので、今回Bluecastを盛り上げるお手伝いができたらと思い、承諾しました!

事前にもポストしましたが、本配信は台本を用意してやっています。当方一対多で話すのが非常に苦手です。でもライブってそういうもんじゃないとは思うので、あくまで話の大筋についての取り置きだと思っていただければ幸いです。

(事前告知):
https://bsky.app/profile/nekono.dev/post/3ksszz36ipk24

多分今大変緊張してます。なんたってこの台本書いてるときですら汗がやべーです。始まってもないじゃん。ただでさえこんなだから四谷ラボでの登壇は絶望的なんだ。すまない。あれは発表会だからもう少しワケが違うと思いますが...

今回何を話そうと思っているかというと、Skyshare作った時の話...をしようと思っていたのですが、その件はZennにて記事をすでに公開済で、同じ話をするのはやっぱり微妙かな〜〜〜と。今回のイベントもリスナーって普通の人だろうし、あんま技術の話してもなーと思ったので、私に興味があるという前提で、一技術者の精神論というか、どういう人間からSkyshareが生まれたのか、ということを話していこうと思います。

多分こちらに来てくれた方は少なくとも私に興味があるはず。単に人が緊張するのを見るのが好きな人かもしれない...そういう感じでお願いします。

今BGMにはI Remember youを選択していますが、本当はスネ夫の自慢話してるときの曲とかがBGM適切かもしれません。脳内で再生しておいてください。

(ちなみにSkyshareについての公開済みの記事はこちらです):
https://zenn.dev/nkte8/articles/2024-02-03-r01

私の経歴

はてなブログ時代

2019年ごろから「猫の手なら貸せる」という(零細)はてな個人ブログで、自分の知見や経験を展開して「アフィカスどもの複製記事」や「いかがでしたでしょうか」記事を相対的に減らす、私のような力のない技術者が目的の情報にリーチするために、自分のできる範囲でインターネットを改善したいと思い、活動を始めました。

アフィカスと野次っていますが、彼らが悪いとは思いません。そういう記事をヒットしやすくしたり、そういうサイトに広告を出すことを許可するGoogleを許すな。これはこの前ポストした「技術記事を書く人を大事にしよう」からの受け売りです。技術関係なくいい記事なのでぜひ読んでね。

https://zenn.dev/kaityo256/articles/save_the_earth

ええ。なのでおれはアンチGoogleです。でもGoogleマップは便利だからつかう。人間なのでそういうところはあってもいいよ。

話を戻します。そんなわけで3年ほどブログでインターネットに発信をしていたのですが、ただそこはやはり悲しい個人ブログの宿命。自分の活動が数値化されにくく、だんだんモチベーションが落ちていってしまいました。同じように個人ブログをされている方ならわかるかな。

ちゃんと良質な記事がかけているかというのは検索結果のSEOではわからないことです。端的に言えば、たとえばSNSの「いいね」のようなわかりやすい指標が必要でした。

また、はてなブログで初めてmarkdownに触れて有用性を知り、もしこれ主体で投稿管理ができたらなぁなどとも思っていました。

Zenn~Bluesky始めるまで

このあたりでなにか良いプラットフォームがないか探していたところ、Zennと出会ったという感じです。これは2021年10月ごろのことですね。この頃はCatnose氏がたしか運営をされていて、なんと相互フォローです。僕のフォロワーにCatnose氏がいるんだ〜Zennが企業に引き渡されてからは見られてないのか全くいいねつかなくなりましたが...

で、ぼちぼち記事を書いてるうちに、やっぱSNSやって記事のマーケティングしたいなぁと思いました。Zenn自体SEOに強く、かつGoogleアナリティクス対応、おまけにきちんとプラットフォームとして「いいね」機能があるので、おおよそ自分の評価は認識できるようになったのですが、Zennの人たちに周知されるためにも、ちゃんと記事を発信したこと自体を発信する場があったほうがいいかなと。

X(旧Twitter)は、情報収集用にアカウントは持っていたのですが、イーロンマスクの買収以前からも、だんだんいけ好かない感じになっていたのは肌で感じていて、プラットフォーム自体に面白みがないなぁというところで、やるやらないみたいなところを往復していました。

そんな中Blueskyの話題が入ってきて、招待制かぁ〜〜と思いつつ、思想自体には共感するところがあったので、コードが来たらせっかくだしやろう、という形でSNSを始めました。

Bluesky~現在

Bluesky、広告がないだけのTwitterというだけでも個人的には満足だったのですが、各種API、要はBlueskyでアカウントをやっていくための機能が無料で触り放題なんですね。これはなにか作ろうというというモチベーションが上がってきました。

確かBluesky人少ないと騒がれていた時期だったので、Blueskyが快適だったのもあってじゃあ人間の温床Xから人間を寄せよう、からの、どうやったらよってくるだろう、からのSkyshareという感じです。

SkyshreはクリエイターをBlueskyに増やして、Blueskyにコンテンツを増やす、コンテンツが増えることでオーディエンスを増やす、という目的がありました。実際はBlueskyのリリースタイミングも合わさって多くの人の目にとまり、クリエイターだけではなく一般の方にも使われましたが...

この辺の細かいことは以前書いた記事に詳しく書いてあるので、本日は割愛します。

一技術者の精神論

ここから本題、Skyshareをどうして開発できたか、そしてリリースできたのかというところを話していこうと思います。

Skyshareはしょぼい

SkyshareはBlueskyでは非常にバズり、ないし、インターネットニュースにも取り上げられたことでXでも多少話題になったらしいのですが、その実態は大したことしてません。

Webフロントエンドがあり、Blueskyへの投稿をするためのAPIを叩き、あとはXへの画像投稿のためのアイデアであるOGPジェネレートするためのバックエンドがあるだけです。Blueskyのクライアントを作っていらっしゃる方々に比べて、Blueskyに関することに対してほとんど触れてません。

Skyshareはソースコードを公開しています。今は開発協力していただいたZEKE氏によってかなりいいコードになっていますが、当初の見る人が見たら「新人の個人制作」レベルのひどいできだったと思います。これが言えることは「技術の質はサービスの質に直接影響はしない」ということです。

つまり誰でもアイデアさえあればチャンスがあります。炭治郎、お前も技術者にならないか?

Skyshareは置き換え可能である

Skyshareはコードを公開するとともに、ライセンスにBSD-3ライセンスというのを付与しています。

かんたんに言うと...

  1. 自由に流用・改変していいよ
  2. 使う場合は、このライセンスの複製をわかるところにおいてね
  3. 私やコントリビューターの名前を売り文句に使わないでね

というものです。もっと言えばMPL-v2にすべきだったのですが、当初MPL-v2を知らなかったのと、BSD-3の最後の項「私やコントリビューターの名前を売り文句に使わないでね」が、なんか技術共生体的な考え方で個人的に好きだったのでBSD-3にしました。

現在、SkyThrowというBluesky投稿専用クライアントがあり、skyshare.uk上でも宣伝をしています

個人的にSkyshareはもう役満かなと思っていて、というものやはり利用者としてもネイティブクライアントを使ったほうが利用体験が良くて、Skyshareも本当はその線を行きたかったのですが、コスト面や技術力の部分でカバーできず、PWA、要はWebサービスとしての展開を選んだ節があったためです。

たとえ自分のプロダクトがなにかのつなぎになろうと、人の記憶に足跡が残るはずです。任天堂Topic botも似たような思想で現在運用していて、私はそれでいいと思っています。

(任天堂Topic bot、任天堂本家が来たら不要になると思うので、そこまでのつなぎ用):
https://bsky.app/profile/nintendo-topicbot.bsky.social

時間、あとモチベがなくてなかなかこのbotのパッケージ化、要はコマンド一つ二つで同じようなものが作れるようになる「概念化」は済んでません。sorry。

firebase上の関数をGASで殴ってるだけで大したことはしてませんが、誰かの役には立つとおもうので...

終わりに

という感じで、ねこのというキャラクターは「猫の手なら貸せる」時代からおおよそ変わらず「誰かの役に立ったらいいな、それがなにかの踏み台になろうとも」という気持ちでやっています。

この思想の是非はともかく、そういう人間がいてインターネットを良い場所にしようとしている人がいるのを、時々思い出してください。

締めの挨拶

おしまい。時間が余ってたらこのへんで地獄のフリートーク、または話した内容の質疑応答があります。

なんとなくあまらんと思ってたけど、ここを読んでるってことはそういうことかぁ...だからプレゼンは苦手なんだ。似たような機会が本職で再来週にあるので、今日以上に胃が破壊されます。
給与が出るのでね、今日以上に準備する必要があるってわけで...まだこの台本と同じぐらいの分量しか原稿ないです、こわすぎ。

はい。では皆さんよろしくお願いします。もちろんここまでの話と関係ない部分の話でもどうぞ。技術の質問はなんか詳しいフリをしながら嘘とか言います。


という感じの台本でした。ほぼ喋るまんまのことを書いています。そうじゃないと緊張で脳が沸騰し、明日からも仕事だってんのに平日を乗り越えられる気がしないので。慎ましく生きていこう。

おしまい。

質問されたこと

色々脚色しています。

ボイチェン使ってる?

つかってました、それ用の回答も用意していました↓↓↓

今回の配信はVoidolというアプリとBluecastで二重のボイスチェンジャーを通しています。別に自分の声が嫌いというわけではないのですが、当方匿名です。ゆえ、無責任です。誰でありませんし、誰である必要もありません。そういうスタンスをとりたいアカウントということでね、そうさせていただいております。構成貼っとくので、もし同じようなことがやりたい人は参考にどうぞ。

MacからWindowsへのリモート転送はあれです、Bluecastから仮想NICをMac側で設定しようとしたのですが、どうも思うように動かなかったのが原因です。あさのさんに相談したんですけど、ちょっと対応するには時間が足りなそうだったので、苦肉の策です。これもだめだったら物理的に、iPadのマイクとか使ってPCからの音拾わせるみたいなガチ物理で殴ろうとおもってました。そうならなくてよかったなぁ。

VoidolとBluecastのチューニングはこちらです。


今後何をつくっていくのか気になる

しばらくは個人サイト向けのfavoExtendのメンテをやろうかな〜と思っているのですが、将来性が不安になってきたのでどうしようという感じ。
Bluesky関連だと、botを作るための機構みたいなところや、ちまちま単機能なプロダクトを作っていきたいな〜とおもっています。

アイコン自作?

知り合いに描いてもらいました!彼女にはぶっちゃけ嫌われているのですが、腐れ縁でやってくれてます。favoExtendとかの表紙も書いてくれています。
https://bsky.app/profile/nlla.cc

Blueskyの今後

Blueskyは収益化をなんとかしてほしいですね!とてもよいプラットフォームだと思うので、しっかり続いてほしいです。
やっぱり広告がないって大事。UIを阻害する系の広告を是認したGoogleを許してはならない....

質問されなかった、どうでもいいこと

Zennに乗り換えてからのアクセス

Zennのアクセスアナリティクス。Blueskyの記事が爆発的にのびてから、ちょくちょくアクセスされています。

ありがたい限りです。多分SNSは辞めることあってもZennに始まる、こういう技術プラットフォームはやっていくと思います。みなさんに猫の手を貸していきたい。

Skyshare、裏話

(Skyshareは置き換え可能である、を読んだ前提の文章)

Skyshare、サービス終了します。メンバーに対しては挨拶したのですが、次か次の次の更新で周知して、少しずつ終わらせようと思ってます。

詳しくはこちら。
https://github.com/nkte8/skyshare/discussions/118

先ほど喋ったとおり、当サービスは置き換え可能であり、よりよいサービスが出た時点で手を引こうと思っていたんですよね。

実際、ねこの個人としてもバグ対応やクレーム・フィードバックを受け付け続けることに疲弊しておりました。本当に申し訳ないんですけど、SkyThrowが出たときの喜びは、多分この辺からの開放も含まれています。ひであさんには申し訳ない。重荷を渡すわけではないですが、私よりずっとちゃんと技術をされている方です。今後の活躍に非常に期待しています。

URLも貼っておきますね。リリースされたときに少し試しましたが、かなりいいです。
https://skythrow.com

あとは、ねこの自身Xやってなかった、Skyshareのためにアカウントを作ったまであるので、モチベーションが実はそんなに高くなかったりします。そういう点でもひであさんは各所で活動されていると思うので、ちゃんとしてくれると思っています。

技術力のこと

同じ技術者の人だったら多分、就職する際に体内に埋め込まれてるスカウターでおれのアカウントの技術力を測定されていると思うのですが、技術者じゃない人向けに紹介です。

当方技術力ありません。一般人よりはありますが、プロとして金をもらえるレベルでは到底ないです。そもそもWeb系統の技術は本職じゃないです。本職は内緒です。

SkyshareはTypescriptという言語で書かれているのですが、Typescriptを本格的に使い始めたのは去年の10月なので、まだ半年しか実用してません。

勉強自体は1年前ぐらいから動画をみるなどで勉強していましたが、Astroとの出会いが一番大きかったですね。Reactで作りたいものを作るのかという部分ができるようになったのがAstro起因でした。

Astro、とりあえずHTMLとかCSSとかできれば書き始められるのでおすすめです。

https://astro.build

モチベーションのこと

これから技術者を目指す、または技術者になろうと思っている人は、技術を好きになってあげるのがおすすめです。もちろん技術があんまり好きじゃなくてもできますが...つらいです。

本当に毎日どころか毎時間技術革新、常識がひっくり返る世界なので、ぜんぜんのんびりできないです。そういうのに対応するには、そもそも技術を好きになる以外ないです。推しのポストだったら、毎秒でも受信したいと思います。あれと同じです。

私はぶっちゃけそんなに技術好きじゃないです。ただなんか向いてました。なにか作るってところが楽しくて、多分それがコンピュータで実現できただけです。

Discussion