極めて個人的な課題解決のために作られたツールの面白さ - co-meeting社内ハッカソン成果物まとめ(全4ツール)
5月頭を締め切りにco-meeting社内の課外活動として取り組んでいた社内ハッカソン。
これまで、この課外活動枠は自分たちの興味があるテクノロジーを触って試して形にして、そのプロセスをコピペするだけで楽しめるチュートリアルコンテンツを作成するコピペテックに使っていた。
今回はちょうど技術書典も終わり、これといったアウトプットの場がなかったことと、コピペテックのゴールであるチュートリアルコンテンツの作成に敷居の高さを感じる声もでてきたので、ちょっと毛色を変えて、各個人がツール(アプリ)を公開することをゴールとした社内ハッカソンが開催されることになった。
初めての試みではあったので、どんなものが出来上がるのか、みんな公開まで持っていってくれるのか心配ではあったのだけど、面白いものがしっかりと出来上がってきたので、そのすべてを紹介しようと思う。
❶ タイマー : 複数のタイマーを順番に並べられて共有も簡単なタイマー
ひとつ目は、mcho71が作ってくれた「タイマー」。「サービス名、なんかつけないの?」と話していた気もしたが、どつやら命名しなかったようだ(。。。いや、「タイマー」と命名したのかな)。
特徴
・複数のタイマーを縦に並べて順に実行できる
・並んだタイマーを最後まで実行するとリピート
・デスクトップ通知対応
・タイマーの設定はURLで保持され、URLで他人に共有できる(こんなん)
このタイマーが面白いのは、時間設定の異なる複数のタイマーを縦に並べて順次実行できることと、リピートが可能であることだ。
音楽再生系のアプリの使用感をイメージしたいたらしく、前後のタイマーへの移動や一時停止、実行中のタイマーのみのリセット(やり直し)など、ボタン配置も確かに近い。
用途としては、25分の作業時間と短い休憩を繰り返すポモドーロ・テクニックのようは作業時間管理で利用することを想定されている。実際、このタイマーの初期値を見てみたらそれっぽい設定がされていて、すぐに使えるようになっている。
このタイマーの作り手であるmcho71は、昨年(2019年)の後半に入社してくれた新メンバーなのだが、co-meetingで働き始める前から在宅で働いていたらしい。なので、自分の仕事のモチベーションをあげたり、うまいこと集中力を高めたりと、自分で自分をコントロールするための手法やツールは興味分野であり続けていたのだろう。
また、それなりに長いこと在宅勤務を続けていることの経験からか、1人で働く中で自分を律することの難しさや、在宅ならではのプライベートと仕事の両面からの割り込みがある中で、自分本意の時間管理を押し通すことの難しさを体感している節がある。
その辺はこの「タイマー」の設計思想にも感じられる。前後のタイマーへの移動の容易さや、タイマーの一時停止ややり直しのしやすさを意識したUIは、割り込みがある程度ある中でもうまくタイマーをうまくコントロールしながら使えるようになっていて、緩さと言うか、ツールとしての懐の深さを感じる。
時間管理術の多くは厳しくコントロールしようとするほど挫折する傾向にあると思っているので、こうした緩さは大事だし、好感が持てる良いツールだと思う。
ちなみに、現状のUIはモバイルでの利用を意識した作りにはなっているが、スマホではバックグラウンドでの実行や通知の実装ができていないため、個人的にはデスクトップ通知にしっかり対応しているPCで利用が快適だ。
通知のイメージは下記の動画の通り。通知テスト用のタイマーはこちら。
PCであれば、通知もしっかり主張してくれるし、ブラウザを閉じなければバックグラウンドで動き続けてくれるのでおすすめです。
❷ 残業時間管理くん : 日々の作業時間を簡単に整理できるカレンダー
2つめは花畠さんが作ってくれた「残業時間管理くん」。名称は「残業時間管理」だが、残業時間の管理と言うよりは残業しないように勤務時間や作業配分を計画・管理するためのツールと言って良い。
限られた時間の中で、自分に割り当てられた複数の仕事を、求められた時間配分を守りながら遂行するためのツールとも言えるか。
ターゲットユーザーは大変ニッチで、スーパーフレックスもしくはフレックスが導入されている会社で、かつ時短(フルタイムではなく週4日換算とか)で働いている人向けのツールである。
特徴
・1ヶ月の予定総時間を元に残時間を確認できる
・作業時間配分を自動入力できる
・カテゴリ別に時間配分を確認できる
・入力した情報はブラウザに記録される(1月分)
co-meetingでは今年からスーパーフレックスを導入していて、それにより各個人が月の総労働時間とその消化を把握することが必要になった。さらに、花畠さんは週4日(フルタイムの総時間の5分の4)の時短契約であるため、原則として残業はしないことになっている。
また、現在co-meetingではプロダクト開発、クライアントワーク(顧問Salesforceプログラマなど)、課外活動(コピペテックやハッカソン)を2:2:1の配分でエンジニアリソースを割り当てていて、それを人で分けるのではなく、全てのエンジニアが原則同じ時間配分(2:2:1)で全ての仕事に関わってもらっている。
つまり、花畠さんは下記の3点を意識して時間管理をする必要があり、自分なりに働く日程や内容が偏らないようにコントロールしているわけだ。
① 月の総労働時間に対する消化時間
② フルタイムの5分の4(超過は基本しない)
③ 2:2:1の時間
この辺を踏まえて残業時間管理くんを見てみると。。。
予定総時間を入力し、目安時間を7:00にして自動入力を行い、残時間を確認しながら休業日を決めてざっくりと時間調整を行う。あとは毎日の仕事を進めながら実績値を入力して残時間の変動を見ながら調整していく感じか。
2:2:1の時間配分についてはカテゴリ機能を使うことで解決していて、それぞれの予実を見ながら使えるようになっている。
このカテゴリーごとの総時間と月の総時間は機能としては連動していないのだが、連動させてしまうと返って使い勝手が悪くなったりするのかもしれない。
この残業時間管理くんは、花畠さん本人にとっては、社内で利用しているスケジューラーよりも頻繁に参照するカレンダーとして機能していると思われ、なんだかカレンダーツールの奥深さを感じてしまう。
しかし、このツールのアップデートが仮にあるとしたら、それは花畠さんの時間管理自体のアップデートでもあると考えると、実に面白いツールだと思う。
❸ 窓付封筒あて名印刷:窓付き封筒を使ってサクッと郵送するための宛名印刷ツール
3つ目はco-meetingの共同創業者でもある遠藤くんが作った「窓付封筒あて名印刷」。窓付き封筒用にちょうどいい場所に宛名が配置された印刷用データ(A4)を簡単に作れるツールで、ランディングページもちゃんとある。
いかにも汎用的なツール名だが、メインターゲットとしている利用者は、領収書やレシートを月に1回程度オフィスに郵送することを求められるリモートワーカーだったりする。
特徴
・レイアウトを見ながら印刷データ作成できる
・印刷データはURLに保持され、共有、再利用可
・ブラウザだけで宛名印刷を完結できる
窓付き封筒は、封筒前面の一部が透明なシートで置き換え、封筒の中身が一部見えるようになっている封筒のことで、封筒にわざわざ宛名を書かなくても、封入した書類に印刷された宛名をそのまま郵送用の宛名として利用できる便利な封筒のこと。普段から多くの郵送物を扱う人は普通に利用する封筒だが、個人で利用している人はあまり見かけない。
自分もco-meetingで請求書や契約書などの郵送を頻繁に行うようになって初めて窓付き封筒を自分で利用するようになったのだが、窓付き封筒に合わせた送付状を利用して請求書を封入し、「請求書在中」スタンプ(こんなの)と住所印(アスクルで作成)を利用して初めて郵送物を完成させたとき、その手軽さと出来上がりのそれっぽさに感動した記憶がある。
封筒への宛名書きは、たとえ1通であっても面倒なもので、字が下手だったりすると苦痛度はより高まる。それに共感できる人はたとえ個人でも窓付き封筒の利用はおすすめできるし、この「窓付き宛名印刷」は、まさにそんな人のためのツールである。
ちなみに、窓付き封筒用のテンプレートはそこら中に転がっていて、自分も窓付き封筒用の送付状はWordやGoogleドキュメントで作っている(請求書用など、システムが作ってくれるものは除く)。なので、「そういうのではだめなの?」と聞いてみたところ、「作ったファイルを探すのがめんどくさい」と言い放たれた。
「これがライフハックか!」と妙に納得してしまい、唸ってしまった。
完成したツールを見ると、郵便番号からの住所検索にもしっかり対応していて、WordやGoogleドキュメントで作るよりも確かに使いやすい。見事なものだ。
ちなみに、このツールで作った印刷データはURLをコピーすれば他人に共有することができる。例えば、弊社(co-meeting)の住所であれば下記の通り。
https://madotsuki-envelope.web.app/print/#zip=162-0828&pr=東京都&ct=新宿区&st=袋町5-1&bl=FARO神楽坂208&co=株式会社co-meeting&to=矢野+貴明&tt=様
窓付き封筒の支給してあげて、このURLを社内で共有すれば、すぐにでも窓付き封筒の社内運用が開始できたりもする。便利だ。
❹ LWC SOQL Builder:「俺」の考えた最強のSOQL実行ツール
最後は弊社の代表の木村が開発した「LWC SOQL Builder」。今回のハッカソンの成果物の中では、本業のSalesforceビジネスに関連した唯一のツール。開発を進めていく過程でスイッチが入ったのか、想像以上に完成度の高いツールになっていて、開発にかけた時間も今回紹介したツールの中では最も長いことだろう。
ターゲットは主にSalesforceエンジニアだが、管理者(Admin)にも便利なツールだと思う。自分も社内のSalesforceの管理や自社アプリのサポート、セールス時など、当初思っていたよりも遥かに利用頻度が高くて驚いた。
特徴(こちらからコピペ)
・オブジェクト/項目一覧をクリックするだけでSOQLが作れる!
・サブクエリ、親リレーションもクリックで挿入できる!
・項目の入力補完にも対応!
・オブジェクト/項目はAPI名だけでなくラベルでも検索可能!
・CSVエクスポートできる!
・削除済みレコードも検索できる!
・管理パッケージ開発組織ではネームスペースを省略できる!
・PWAサポート!デスクトップアプリのように動く!
・SOQLを整形できる!Apexにきれいに貼れる。
・LWC OSSで作っているのでLWCのサンプルアプリとしても使える。
今回紹介した他のツールと比べると、毛色が大分異なるツールのように見えるかもしれないが、このツールも作り手である木村の日常の課題に向き合ったツールであることは、他のツールと変わらない。
本人が書いたQiitaの記事内にはどんだけ自画自賛なんだというくらい「便利」という言葉が溢れているが、その機能の裏には日ごろの仕事の中で彼が感じてきた「めんどくさい」が強烈に感じられて面白い。
「自分が欲しい機能を詰めに詰め込んだ」と書いてはいるが、それらは全て普段開発をしている中で生まれた「欲しい」なので、それはきっと同じようにSalesforce関連の開発に携わっている人たちにはきっと役に立つものなのだろう。
。。。というか、自分にとっても既に十分便利だ。既に多くの局面で助けられている。
まとめ:扱うテーマが極めて個人的で面白いハッカソンになった
「ハッカソン」という体裁なので、当初はチームを組んだ複数人でのものづくりも検討されていたが、今回は何らかの形でのリリースを目標としていたので、みんなが開発を進める上での敷居を取っ払い、個人の希望を重視した。結果、社内ハッカソンというよりはプログラミングコンテストのような雰囲気になったが、ちゃんとみんな形にして、だれでも触れる状態にもっていけたのは素晴らしいし、みんなの考えが詰まったツールを同時に4つも触れて自分は幸せだ。
コピペテックをはじめとして、これまでも本業を意識しない開発を行う機会は作ってきたが、「社内ハッカソン」かつ「公開できる状態にすることが至上命題」というルールを加えたら、扱われるテーマが極めて個人的なものになった。
しかし、この極めて個人的な課題を解決するツールがなんとも面白い。
作り手本人からの説明だけでなく、ツールの機能や使い勝手から、それぞれが感じている課題なり普段の仕事の仕方みたいなものが見え隠れするし、課題の「個人的度」が強いほど、そのストーリーや想いの輪郭がハッキリしてくるのも面白い。
「残業時間管理くん」や「窓付封筒あて名印刷」などはバックオフィスに関連するツールでもあるので、その辺の面倒も見ている自分としても他人ごとではないし、勉強にもなる。
良かった。社内ハッカソン。こうした個人的な課題はそう沢山あるわけでもない(だろう)から、また時間を空けて開催してもらいたいものだ。
ちなみに、「サービスを何かしが公開する」ことにとりあえず満足したエンジニア陣は、現在は全員で1つのものを作る1Day(を複数日に分割した)ハッカソンに取り組んでいる。こちらもどこかで公開されることだろう。
。。。随分と長い記事になってしまった。まあ、自分は楽しませてもらっているだけなので、愛と感謝を込めた公開感想文を。
この記事が気に入ったらサポートをしてみませんか?