U22プロコンに落ちたので反省会します
U-22 プログラミングコンテストに応募し、事前審査で落ちました。
応募開始当日、7/1 21:00に応募しました。IDが1だったので、おそらく最速応募だったのではないかと思っています。
2019に応募し事前審査で落ち、2020は応募せず、今年はそこそこ自信があっただけに残念です。今回は反省会です。
提出したもの
今年の1月頃から開発を行っていた、React製サービスです。TAGetherといいます。ソースコード公開しているので、starとかお願いします(小声)。
簡単に言うと、テスト対策問題を作ってクラスの人と共有できるようなサービスです。
誰かが「カテゴリ」というまとまりで問題集を作成すると、他の人はそれを解くことができます。カテゴリの全問題に解答した後は、正答率などと一緒に間違えた問題が一覧表示されたり、間違えた問題は履歴から解き直しができたりします。
そして、名前にもある通り、カテゴリには複数のタグを登録できます。タグによる検索はもちろん、同じタグが付けられているカテゴリの問題をまとめて、一度に解くことも出来ます。
元はクラス内で、英単語アプリ用のcsvを作って配布していたのがきっかけです。作成したcsvはGoogle Driveで共有していたのですが、誤字があった際、既にダウンロードしていた人に伝えるのが非常に面倒でした。ということで、せっかくなら英語に囚われない問題共有サービスを開発しようと思い、開発をはじめました。
ちなみにこれはどうでもいいのですが、やはりサービスの性質上テスト期間に使われることが多く、必然的にバグ報告などもテスト期間に多く寄せられました。致命的でなければ別にテスト後に回しても良かったのですが、やっぱり実装したい欲を抑えられず、勉強がおろそかになってしまったのは反省すべきところだと思いました。
ツイートを読み込み中...
2019年の応募について
2019年も勉強関連です。MarkStudyというOpenSiv3D製のWindowsソフトを開発しました。
学習特化をうたうマークアップエディタで、太字・色付けといった基本的な装飾に加え、単語に重要度を設定して、それぞれ強調したり、非表示にして穴埋めテストに使ったりすることができます。
この作品は初めからコンテストに応募することを目的として開発をはじめました。7月頃から具体的に開発スケジュールを考え てその通りに取り組みました。
ほぼ計画通りに開発できたのは良かったのですが、時間が短いのもあってか、不十分な完成度で満足していました。というのも、エディタであるにも関わらず、コピーや範囲選択など、基本中の基本が実装できていなかったのです。落選後のフィードバックでもそれが指摘され、今回同様に事前審査で落ちてしまいました。
ツイートを読み込み中...
自分で考えた、良かった点
とりあえず、「同じクラスの人にしか使ってもらわない」ということで、ターゲットをしっかり絞っていたのは良かったかもしれないです。「同じクラスの人が開発している」ということで、フィードバックのハードルも低かったらしく、機能要望フォームからたくさんの改善要望を送っていただき、それによって様々な改善を施すことが出来ました。同じクラスの人たちには本当に感謝しております。
さて、記憶にある限りでは、開発中には以下の内容に気を配っていたと思います。といっても、あんまりないですね・・・しかも、気をつけて当然のことばかり・・・
開発前に真剣に技術選定をした
開発開始しようとしていた頃、誰かのLTか何かで「技術選定はしっかりしておくべきだった」という旨の発言を聞いたことが印象に残っていたので、いろいろなサービスを探して比較し、最適だと思えたものを選びました。ちゃんと後で見返せるように言語化して保 存しています。
とはいえ真剣も何もなく、Reactが初めてすぎて途中でメリットもよくわかってないままNextになったり、いつのまにかバックエンドのログイン機能を実装しようとおもって複数サービスを列挙して考えていたのに結局LocalStorageになったりめちゃくちゃですが、それでも「技術選定をしよう」と思った時点でえらいとおもいます。
?
自分で使った
自分がテスト勉強をする際、実際にこのサービスを使いました。この機能がないと不便!と思った機能を(一部テスト期間中に)実装できました。自分が使いやすいと思えるサービスでなければ、まず他人も使いやすいとは思わないとよく言われていますが、その通りだな~と感じました。
スマートフォンからの利用を考えたデザイン
クラス内に公開したところ、ほとんどの人がスマートフォン(それもiPhone)からアクセスしている印象を受けました。これは作る前からわかっていたことなので、例えばパソコンでクリックする箇所は、スマホで見た時に指で押しやすいサイズにするなど、ちょっとしたことに気を配っていました。
色のコントラスト
暗い背景に暗い文字色、みたいなことが無いように気をつけました。微妙なときはChromeのインスペクターから確認しました。