Scrapbox開発の裏側 第2回
こんにちは
最近開発している機能の裏話
をお話させていただく

です
右のメニューから Start Presentation
を押すとスライドになります
廃止されるお札の人が妖怪になってた

今日の話
開発の裏側
1. ScrapboxをScrapboxで開発している話
2. 最近実装された機能の話
初参加の人が多そう
リモート開発
横浜

中野


1ヶ月インターン→リモートアルバイト
鎌倉

原作者、無茶な使い方開拓者
Gyazoの開発者からもプルリクが飛んでくる事もある
ScrapboxをScrapboxで開発している
曖昧な単語に、別ページで定義を好きなだけ書ける
影響しあう機能の設計時に、リンクで説明できる
理解・考察が足りていない事をScrapboxで書くと
だんだんわかってくる
この話すごい好きです

自分の使うプロダクトを作っていたい

勉強したいことを書き始めると「わかりたさ」がどんどん広がってはかどりました


が最初こんな感じで雑に書く
内部仕様に詳しくなくても、とにかく書く
不満に思った時点で書けばいい。わかる相手には伝わる
これでわかるじゃないかー

詳しい人が手直しすれば良い
意味が変わらなければ、他人の発言を添削・修正してもぜんぜんok
文中の専門用語を、別ページへのリンクにする
タイトルも変える
いい話


オススメ手順

雑に殴り書き、誰かが直す
反論したくなる....なりますね?!

↑ 個人的には、?! より、!? 派です

wwww

「私は」「こう思う」っていう表現が少なめになっているのが、それを抑える気もしています

弊社は、ときどき激論もおきます。顔アイコンだらけになる

なるほど…

用語の意味が定義されていく
Scrapboxの開発
役割分担やロードマップはあまりない
気になった人が、気になった所を作る・直す
青写真の例
こんな感じでつらつらと書いていく
コメントが付く
「当事者意識が出てくる」
メッセージングしていない
(ほぼ)指示を出しあっていない
少しはある。問い合わせ対応とか
考えを言語化し、共有する為にScrapboxを使っている
最近実装された機能
PWA (progressive web application)
Android PWA
Chrome Desktop PWA
iOSは、まだホーム画面へのブックマークだけに留めている
ピンチイン・アウトが効かない
Safariとsessionが別なのでGyazo連携できない
等の理由
データがサーバーにあり、光の往復にどうしても200 msecぐらいかかる
これをどうにかしたい
色々なテクニックを組み合わせた
起動に必要なデータ(画像やプログラム全て)をcacheに保存
バックグラウンドで更新
画面表示時、とりあえずcacheを表示する
それからnetworkアクセスし、取得したら差し替える
リンクをマウスオーバーで先読み
右下に青文字でOffline modeって出る
WiFi切っても、本文と画像をcacheから表示できる
編集・新規作成したページもすぐにcacheに入る様になった
次はオフライン編集やりたい

期待


エンタープライズ版でもPWA
オンプレ版
ENABLE_SERVICE_WORKER: 'true'
フラグを付けて起動する
セミオンプレ版
既に全サーバーで有効化済み
メニューのモバイル対応
ボタンをタッチデバイスで押しやすく by


アイコンのSVG化 by


左のドロワーメニュー by

次はエディタの中をもう少し良くしていきたい

テーブル
うれしい


がいつのまにか作った
ファイルアップロード (準備中)
1. オンプレ版
物理的に社内にあるサーバーで管理・運用可能
2. セミオンプレ版
app serverとDBは、scrapbox.ioとは完全に独立
インフラ構成は完全に同一なので、同等にスケールする
つまりn万人は使えるはず
要望・相談など
フォーラム
メールフォーム
エンタープライズ版について
請求書払いしか無理、など、対応できます
