Twin:teの歴史
みなさんこんにちは、Twin:teの高梨(たこなす)です。
Twin:teはおかげさまで利用者がのべ約4000人となりました。
今回はTwin:teがどのように誕生してどのように成長してきたかをご紹介したいと思います。(技術ブログもかなりサボっていたので・・・)
2019年1月上旬
高梨が個人的にTwinsのページを解析し始めました。
これは、coinsのとある人が試しており、私も興味を持ったからです。
その結果、Twinsに機械的にログイン・処理することにより授業の履修状況を取得することができることを確認できました。この時、簡易的なプログラムをPHPにて作成しました。
※なお、Twinsに対して機械的なログイン処理を行うことは後に筑波大学から禁止されましたので真似することはおやめください。
このプログラムは学籍番号とパスワードを入力することで簡易的に時間割が表示されるものです。
※他サービスに学籍番号やパスワードを入力することは非常に危険ですのでおやめください。
自己責任のもと数人に試してもらった結果、非常に手軽に時間割を見れると高評価をいただきました。
2019年1月下旬
先ほどの簡易プログラムを見てもらえればわかると思うのですが、見た目があまりにも適当すぎます。そこで、見た目を実装してもらおうということで、「coins18新歓Slack」にて協力者を募集しました。
この時技術的な条件を提示しました。
私は学園祭実行委員情報メディアシステム局(以下jsys)に所属していましたので、その時jsysがWEBページを作成するのに使用する予定だったVue.jsをこちらでも使ってみたいなぁという気持ちでVue.jsができる人を募集しました。
その結果えがちゃん(Hikaru Egashira)がVue.jsを触ったことがあるとのこと。えがちゃんと共同で作っていくことにしました。
せっかく共同でやっていくのだから簡単なWEBアプリにして公開することにしました。
えがちゃんと制作することが決まった翌日、私は学籍番号とパスワード受信するとjson形式でその人の授業情報を返してくれるバックエンドプログラムをPHPで作成しました。するとその次の日、えがちゃんがそれを利用して時間割として表示してくれるプログラムを爆速で作成してくれました。
ここまで、えがちゃんが参加してから2日の出来事です。
公開することが現実に見えてきました。
そこで、このアプリの名前を決めることにしました。
えがちゃんからは「Twinta」等の候補が上がり、私の方からは「Twin:te」等と提案しました。 名前を決めるのもあまり時間をかけたくなかったのでTwin:teとすることにしました。なお、名前の由来は「Twins」からもじった上で別名を考えた際、「ツインテ」という言葉は(ツインテールという言葉があるため)覚えやすいだろうという理由によるものです。
2019年2月
「2月2日はツインテールの日である。」このようなことを知りました。
そこで、twinte.netというドメインを2月2日に取得しようと考えましたが、流石に間に合わず・・・2月3日にドメインを購入しました。
そのため、一応2月3日をTwin:teの誕生日だと思っています。
デザインや機能を詰めて行き、2月13日にTwin:te Version1がリリースされました。
Twin:teはパソコン・スマートフォン・タブレットのどの端末からでもご利用いただけます。
— Twin:te (@te_twin) 2019年2月13日
スマートフォンの場合はアプリとして利用すると非常に便利です!https://t.co/VyK78w4bWw#twinte pic.twitter.com/ke454tkAav
Version1の特徴は、「学籍番号とパスワードを入力するだけで時間割を取得し、授業場所も自動で表示されるアプリ」ということで注目を集めました。
しかしながら、Twin:teは大学公式のものではありませんから、そのような物に学籍番号とパスワードを入力するのは非常に危険であるという指摘を多数いただきました。
もちろん、学籍番号とパスワードは一切保存せず、安全には十分考慮していました。
しかしこの状態での運営は困難だと判断し、公開してから6時間後Twin:teのサービスは一時休止となりました。
危険性について指摘されているので、一旦サイトを閉鎖します。
— Twin:te (@te_twin) 2019年2月13日
大学に報告して大学の返答次第で運営するかどうかを決めます。
この後大学に問い合わせを行った結果、「大学としては認められない」との返答をいただきました。そのためTwin:teは根本的な特徴を見直さねばいけなくなりました。
【お知らせ】
— Twin:te (@te_twin) 2019年2月25日
Twin:teのtwinsログイン機能について大学と協議しましたが、大学の見解としては機械的にtwinsから情報を取得すること自体認められないという結論になりました。そのためTwin:teのtwinsログイン機能は廃止になりました。楽しみにしてくださった方々、申し訳ありません。
しかし、「簡単に時間割を表示できるアプリを作る」これがTwin:teの目的ですから、試行錯誤を繰り返しました。ここで、えがちゃんが成績画面をスクショするだけで時間割に登録できる機能を実装します。
【新機能情報】
— Twin:te (@te_twin) 2019年2月25日
twinsログイン機能が廃止になった代わりに、他に便利に時間割を作れる機能を実装しました!
授業番号のスクショを撮ってアップロードするだけで自動で時間割に追加されます!ぜひお試しを!#twinte https://t.co/VyK78w4bWw pic.twitter.com/n7Rcqgabvi
結果的にTwin:teに授業を登録する方法としては次のような3つとして落ち着きました。
v1.2では時間割を作る方法として
— Twin:te (@te_twin) 2019年2月25日
・手動で授業番号を入れる方法
・スクショをアップロードする方法
・twinsでダウンロードしたcsvをアップロードする方法
の3つを用意しています。
このようにして、2019年12月までVersion1の運営が続きました。
しかし、一番最初のTwin:teは学籍番号とパスワードを入力すれば一発で時間割を作成できましたから、「TwinsからTwin:teにワンタップで授業を登録したい」という意見は依然として多かったのです。
2019年5月
利用者が200人ほどとなり、想定を超えて多くなっていました。
このままではTwin:teの運営には限界がある。一旦爆破して新しいものを作り直そう。
このような話になりました。なんせ、初期のTwin:teは公開できればいいな程度で作っていたので、メンテナンス性や拡張性が良いとは言えたものではありませんでした。
そこで、同じ情報科学類でありjsysに所属していた市川君にTwin:teに入ってもらいました。この時からversion2に向けて技術選定が始まります。とりあえず、フロントエンドをえがちゃん・バックエンドを市川・インフラを高梨が務めることにしました。さらに、助言役として19生にも2人参加してもらいました。後輩にはPrettierのメンテナやってる人もいるから驚きです。
ここから8月あたりまででバックエンドが完成します。
また、8月あたりからTwin:teのデザイン担当としてKanade Nishizawaさんが参加してくれました。芸術専門学群の方で非常に心強いです。
Version2としてはアプリとしてAppStoreやGoogle Play Storeからダウンロードできるようにすると決めていました。そのため、フロントエンドの開発に並行して市川がAndroidアプリ・高梨がiOSアプリを担当して開発していきました。
このように開発が進んでいき、Twin:te Version2は12月末にリリースされることとなりました。
Version2の着想からリリースまで半年以上がかかりました。
2019年12月
Twin:te Version2がリリースされました。
【新バージョン情報】
— Twin:te (@te_twin) 2019年12月20日
Twins から時間割をインポートする機能など、新機能を搭載!!
※今まで使っていた人でも新バージョンは自動でインストールされません
こちらからインストール!!
⇨ https://t.co/UTfURWtA6x pic.twitter.com/IzmNRP7rfq
多彩なメンバーが参加したため、version2の使い勝手は非常に良くなりました。
また、version1のときの反省を踏まえ、Twin:teはOSSとして全てのプログラムを公開することにしました。これによってTwin:teアプリが何をしているのか透明性が向上しました。さらに、意見の多かったワンタップでTwinsからTwin:teに授業を取得する機能も追加されました。これはTwin:teに学籍番号やパスワードを入力する必要がない安全な方法です。市川君が実装したアイデアです。具体的な動作に関してはこちらの記事をご覧ください。
この時からTwin:te version2 は日々アップデートを重ねることになります。
大きめのアップデートの際はアナウンスをしているのですが、デザイン等のUIや細かい機能も実は日々進化しているのです。具体的なアップデートはこちらをご覧ください。
2020年1月
筑波大学新聞にTwin:teが掲載されました。
一番最後のページに記事を書いていただきました。非常に緊張したため写真に何か違和感がありますね・・・。本当はTwin:teの主要メンバー4人で取材を受けていたのですが、記事の都合上カットされてしまいました、残念。
https://www.tsukuba.ac.jp/public/newspaper/pdf-pr/354.pdf
2020年2月
Twin:teの登録者が1000人を超えました。
ありがたいことに、「寄付をしたい!」という方がたくさんおられましたので、寄付ページの作成に着手しました。このページの作成にあたってはKensuke Suzuki君にコントリビュータとして参加していただきました。
2020年4月
4月15日 Twin:teの登録者が2000人を超えました。
4月16日 Twin:teの登録者が2500人を超えました。
4月19日 Twin:teの登録者が3000人を超えました。
4月23日 寄付ページを公開しました。
4月27日 Twin:teの登録者が3500人を超えました。
終わりに
Twin:teは成長段階でありながらも、多数の筑波大学生に利用していただける存在となりました。Twin:teは次の段階に移ろうとしています。冒頭でも述べましたが、Twin:teは今や筑波大学生の4割ほどが使用している状況です。もっと多くの筑波大生に利用してもらえれば嬉しいことでありますが、それに伴って発生する責任があります。その一つがTwin:te運営の長期化です。
現段階のメンバーが卒業しても運営を継続する必要性があります。
そこで新入生を対象にTwin:teの新規メンバーを募集することを決定しました。
詳細に関しましては、後日Twin:teのTwitter等でお知らせします。