6/7 カクヨムに欲しい機能をエンジニアとして見てみた。

 時には『自分がITエンジニアである』という事をね、書いておかないとね、みんなに嘘なんじゃないかと思われるかもと思って!!


 今日は自分の能力(底辺)を発揮してみようかと思います!



 あ、今日は作品のネタを考える系ではないので、ご了承下さい。



 仲良くさせていただいている(と、私が勝手に思い込んでるだけだったらどうしようかと時々悶々と考えたりする事もあったりなかったりする)、木沢俊二さんの以下の作品を受けて、今回の記事は書きますよー。


【カクヨムが「なろう」に勝てない5つの理由】

 https://kakuyomu.jp/works/1177354054889328717


 ここにコメントを入れさせて貰った時に、『専門家からの知識を〜』という返信を頂いたので、ちょっと考えてみるぜー、と勇んだ次第でございます。


 先に注意書き。


 私はシステム開発でご飯を食べてるプロではあるものの、カクヨムのシステムは皆さんと一緒で『使う側』からしか見たことがありません。

 なので、以下で語られることは全て『推測の域を出ない』という事です。


 さも事実のように語られてることがあっても、事実と異なる場合もありますので。

『牧野がこう言ってたから! やれ!!』とカクヨム開発者の方に突撃しちゃダメですよ!!


 開発者の方々は、我々ユーザーの味方です!

 むしろ、開発の苦労をおもんぱかって(※)あげて下さいね!!



 ではいくよっ!!



【ソート機能』について】


 ① 簡単につけられそうだと思うソート

 ・更新日、公開日の昇順(※)付与


 これは、現在降順(※)でできてるので、並べ替え命令を追加変更するだけで良い筈。

 あとはUIのリストに追加する!

 まぁ勿論それに伴うフラグ値の追加が必要だけど……


 スコッパーさん垂涎すいえん(※)の機能だね。是非実装してほしい!!

 というか、私が欲しい!



 ② データの持ち方と対象次第だなって思うソート

 ・文字数が多い順、少ない順でソート

 ・pv数の多い順、少ない順でソート

 ・星の多い順、少ない順でソート


 これはねー……。文字数、pv数、星の数を、作品ステータスとして、数値として別途保持していれば簡単なんだけど……。

 多分、数値として保持しておらず、表示が必要な時にその都度カウントしてそうなんですよ。

 変わる事が多いから。


 基本、都度都度変化する数値というものは、数値データとして別途保持せず、必要な時にその都度カウントする事が多いのです。

 変化した時に、数値を更新する処理がいちいち走っていたらサーバ重くなるし。

 整合性とるの大変で、その分処理が増えるから管理しきれない。


 と、なると。


 作品検索機能に、このソートを入れるのは難しいかな……


 全作品に対して、文字数カウントする処理を走らせる──なんて。

 現実的じゃないですなー……

 出来るよ?

 でも、クッソ重たくなるよ、多分。

 検索がクソ重たくなるのが待てるならいいけど、今の人は画面表示完了まで待てる秒数が2秒程度だって聞いたから……難しいね。


 やるとしたら。

 作家さんの作品一覧での限定実装かな。


 作家さんの作品の中、という、最初から検索対象が限定されてる範囲なら、楽勝だと思います。

 いや、楽勝と言い切れるほど簡単ではないか……


【作者による自作品の並べ替え】


 コレ。今是非欲しい機能です!!

 私がっ!!


 でも難しいだろうなぁ……


 じゃあ何が難しいの? っていうと。


 こっちの場合『作家の意図する表示順番を設定する場所が必要』なんですよ。

 そして、今は多分ないんだ、この設定を保存する為のデータ項目が。


『データ項目増やせばいいじゃん』とか簡単に思わないで欲しいのです……

 データ項目を1つ増やすって、凄く大変なんだ。

 まず、コレをやるには。

 一時的に、ユーザーからのアクセスの制限をかけます。

 つまり、サイトを一時止めます。

 まぁ、カクヨムさんほどの規模なら、複数台サーバー用意して切り替えで対応するだろうから、多分止めなくても大丈夫だとは思うけど……


 WEBの世界の仕事の何が一番大変かっていうと、ココ。


『WEBシステムは24時間365日、常に誰かから使われている可能性がある』


 だから『メンテ時間を取る』っていうのが、とっても大変なんだ。

 メンテするには、一時的にアクセスを遮断する必要がある事もあります。

 でも、使う側からしたら『なんで止めちゃうの?! 使いたいのに!』ってなるよね。

 どうしても反感を持たれてしまう。

 娯楽系の為のモノは特にね。

 ゲームがメンテで止まるよってなると、怒る人もいるでしょ?


 こっちだって好きで止めるワケじゃないんだけどね……


『さっき複数台の切り替えでいいって言ったじゃん』とお思いかもしれんが……

 これも準備する方は大変なんだよ……

 ちなみに、コレやるだけでコスト倍だからね。


 こっからは完全に憶測なんだけど。

 カクヨムはその規模を考えると、WEBシステムが動いてる『アプリケーションサーバー』と、データを保管してる『データベースサーバー』は別になってると思うんだ。

 しかも、多分それぞれが複数台。

 うーん……もしかしたらアプリケーションサーバーサーバーは1台かなぁ……いや、微妙。

 最大同時接続数ってどれぐらいなんだろ……

 500いくかなぁ……もっとかなぁ。


 ……と。

 ここら辺説明すると長くなるからやっぱナシ。


 この機能は要望が高いハズなんだけど、改修箇所の問題で簡単には実装できないしリリース出来ない。

 なので、気長に待つとそのうちやってくれるかもね。



【冊子機能】


 コレも要望多いのに、何故かまだ実装されない機能。

 なんでかってーと、さっきと理由は同じ。


『今はまだその情報を保管する為のデータ項目がない』


 あと、さっきよりもこっちは更に難しい理由があります。


『そもそものデータ構成を改修する必要があるかもしれない』

 為。


 なんでこっちの方が更に難しいかっていうと……


 単純にデータ項目を追加するっていうのは、小説書きで例えるとすると、公開済み分の小説にサブキャラを一人増やすような感じ。


 その場合、小説全体を見直して、そこにその人がいるとして多少書き直すよね。

 キーマンではない限りは、小説全体の流れや構成が変わることがないから、少しの修正でも問題ない。


 でも、『データの構成を変える』は『キーマンを追加する』ようなもの。


 最初はそのつもりもなく小説構成してたのに、キーマンが追加になることにより、ストーリーの流れそのものが変わる可能性もある。


 今のカクヨムの作品データ構成は、おそらく、作品名情報があって、その下に各エピソードがぶら下がってる状態。


 コレに対して、『冊子情報』追加っていうのは、作品名情報の更に上層を新しく作るって事。


 そもそものデータの繋がり(リレーションっていうよ)を変えるのさ。


 もともとのデータ構成が、『作品名情報』を主体として紐付くデータが全て並列で繋がってる(概念としての階層になってる)としたら、多分システム改修の量は少ない。

(比較論なだけで、単純なデータ項目追加よりは遥かに多いよ)


 でも、概念ではなく実体として階層構造として保持してしまっているとしたら……


 たいへーん!!


 考えるだけで胃が痛い……


 なので、こっちは更に難しい機能になるだろう……改修コストが割りに合わない場合には、実装されない可能性が高いなぁ。



 ここまでの説明で、なーんとなく見えたかと思いますが。


『今既にあるものの見た目を変えたりする』機能の実装は比較的楽なのね。(クドイ(※)けど比較論だよ)


 でも、

『今あるものの意味を変える』

『今はないものを追加する』

 っていうのは、そもそもの作りによっては、かなりしんどい修正になったりするんですよ……


『なんで修正要望も多いハズなのに改修されないんだ!』

 といきどおる気持ちもメッチャ分かりますが、改修する側からすると『改修コストに似合わないから出来ない』って事もあるんだ。


 じゃあなんで収益化システムは、エグいぐらいに大変なのに優先されてるのか?

 っていうと。


 改修することによって、カクヨムにも直接的にお金が入るようになるからですよ、多分。


『要望を改善する』のは、直接的な売り上げに紐付かなかったり、コスト改修に恐ろしく時間がかかったりする。

 カクヨムさんもビジネスで行なっている手前、『ユーザーの使い勝手』だけを優先させるわけにもいかないのが現状なんでしょうね。


 なんせ、我々無料で使わせて頂いてる立場ですからね。


 私達が要望改善を優先してもらう為に出来る事といえば。

 要望を出し続ける事と、カクヨムを盛り上げてアクティブユーザー数を増やすことに協力するって事でしょうか。


 カクヨムをユーザー側から盛り上げるには、カクヨム上だけでなく、外部SNSと連動させたりすると良いかもしれません。

 自分の作品の広告になるしね。



 と、いうワケで!

 みんなでカクヨムを盛り上げて、要望を叶えてもらおうね!!


 ……私?

 私はSNSをやってないから……

 やらないのかって?


 ……仕事以外でデジタルと向き合うなんて、小説だけで充分ですよ勘弁して下さい……



 ***



【慮る】

 おもんぱかる。

 その事についてよく考える、思い巡らすって事。

 漢字の中に『思う』がある事からも、文字からなんとなく意味がわかるよね。


 ……って事は『思慮』って『思』の漢字が2つも出てくる言葉なんだ。

 熟語って意味を強めるために同じ意味の漢字を重ねる事が多いって事を、このエッセイで意味をしっかりググってから知った。

 自分の国で使ってる言葉ぐらいは、ある程度知っておいた方が良いのかなー、と、ちょっと思ったり思わなかったり。


【昇順、降順】

 昇順は小さい順、降順は大きい順。

 日付だとすると、昇順は古い順、降順は新しい順。


 日付といえど、データ的には数値ですからね。

『20190607』と『20190608』なら、新しい方が数値的にも大きい、という事になる。


 でも……時々間違える。ははっ。プロなのに……


【垂涎】

 すいえん。

 読んだまんま、ヨダレを垂らす、という意味。

 空腹時の狼がウサギを見つけたようなモンだ。

 食べたくて食べたくて仕方ない……

 転じて、欲しくて欲しくてたまらないもの、という意味。


 よくよく考えるとすごい熟語だなぁ……


【くどい】

 漢字で書くと『くどい』。読めないねっ!!


 しつこいくてウンザリするような感じの事。

 この言葉(しつこいも同じ)面白いのは『味付け』や『色合い』にも使うってトコかな。


 味付けがクドくて美味しくない、

 色合いがクドくて目が疲れる、

 とかね。

 この場合は『濃い』という意味で使うんだけど、『濃過ぎて嫌な気分になる』時に使う。


 日本語って面白いね。

『濃過ぎ』って言えばいいところを、『しつこい』『くどい』という、本来ジャンルが違う言葉を使って、より機微な感情を表現する。


 こういう言葉を使えると、文章に厚みが出るのかもしれないねー。

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る