diff --git a/proposals/2021-08/index.md b/proposals/2021-08/index.md new file mode 100644 index 0000000..5077cd1 --- /dev/null +++ b/proposals/2021-08/index.md @@ -0,0 +1,6 @@ +--- +layout: page +title: 2021-08開始予定の募集要項 +--- + + * [Corporative Contactsの開発]({{ site.baseurl }}{% link proposals/2021-08/piroor-corporative-contacts/index.md %}) diff --git a/proposals/2021-08/piroor-corporative-contacts/index.md b/proposals/2021-08/piroor-corporative-contacts/index.md new file mode 100644 index 0000000..43b4487 --- /dev/null +++ b/proposals/2021-08/piroor-corporative-contacts/index.md @@ -0,0 +1,80 @@ +--- +layout: page +title: Corporative Contactsの開発 +--- + +## 先輩の名前 + +結城洋志 + +## 開発対象の概要 + +キーワード:Thunderbird WebExtensions 拡張機能 アドオン + +[Corporative Contacts](https://gitlab.com/clear-code/tb-corporative-contacts/)は、E-mailクライアントのMozilla Thunderbirdに高機能なアドレス帳のUIを提供する拡張機能です。 + +Thunderbirdは元々米国で開発されたソフトウェアで、アドレス帳機能の設計には、欧米圏の企業文化が色濃く反映されています。 +他方、日本語圏の大規模な組織では、自組織や関連組織、取引先などの連絡先を階層構造ベースで管理したい需要があります。 +当社では過去に、株式会社クリアコードの法人サポート案件の中でご依頼を受けて、Thunderbirdに高機能なアドレス帳を提供する既存の拡張機能「CardBook」に、組織の階層表示を行うパッチを提供しました。 + +しかしながら、CardBookは設計上、将来のバージョンのThunderbirdでの利用に不安が残る状況でした。 +そのため、将来のバージョンでも安定して利用できる設計で開発し直したCardBookクローンが、Corporative Contactsです。 + +Corporative Contactsは現在の所、前述の案件の要件を満たす範囲の機能のみが実装されており、CardBookの全機能は網羅できていません。 +この企画では、Corporative Contactsの機能の拡充を通じて、Thunderbirdのエコシステムに関わることのできる開発者を増やすことを目指します。 + +## 企画に参加して新人が得られること + +* 問題の原因調査に関する知識・経験 + * 場合によってはThunderbird自体の実装や、依存しているライブラリーの内部などを調査する必要が生じる場合もあり、普段の開発の対象となるフィールドより下の技術レイヤーへと調査範囲を拡げる経験を積むことができます。 +* 動作速度を意識した開発の経験 + * Corporative Contactsは大規模の組織での利用が想定されており、大量のデータを、ユーザーの体感速度を損なわずに処理することが求められます。 + * メンテナンス性を維持しながら性能改善を進めるための経験を、実践を通じて積むことができます。 + +## 期間終了後に新人に期待すること + +* 開発の必要に応じて、抵抗なく下の技術レイヤーへを調査範囲を拡げられる。 +* 開発の必要に応じて、依存ライブラリーやプラットフォームへフィードバックを行える。 +* アプリケーションの動作速度を意識しながら開発することができる。 + + +## 対象OSSと先輩の関わり + +Corporative Contactsは、結城が業務で2021年より開発しているプロジェクトです。 + +## 進め方 + +* 2021-XX-XX: イントロダクション(Webミーティング) + * Corporative Contactsの概要を説明します。 + * 取り組む課題を設定します。 +* 2021-XX-XX〜2021-XX-XX: 開発スプリント1 + * 小さなタスクをベースに、実際の開発を体験していただきます。 + * 開発・調査環境の構築を含みます。 + * 例えば、[「ツール」→「すべてのアドレス帳で連絡先の重複を検索する」機能の実装](https://gitlab.com/clear-code/tb-corporative-contacts/-/issues/45)の場合、Thunderbirdが提供している各種APIを利用して機能を実装します。 +* 2021-XX-XX〜2021-XX-XX: 開発スプリント2 + * (1)の経験をもとに、もう少し大きな課題の解決に取り組んでいただきます。 + * 例えば、[CardDAVでの、リモート・ローカル両方での変更のコンフリクト時への対応](https://gitlab.com/clear-code/tb-corporative-contacts/-/issues/22)の場合、IndexedDBやThunderbirdが提供している各種APIを利用して状態を保存し、機能を実装します。 +* 2021-XX-XX:ふりかえり(Webミーティング) + * 今回の取り組み全体を振り返ります。 + +issueは随時追加・クローズされるため、その時点でオープンされている物の中から選択します。 + +上記日程およびissueは、応募の参考にするための例です。 +応募者との面談により、実際の実施日や取り扱うissueは変更になる可能性があります。 + + +## 支援期間 + +* 2021-XX-XX〜2021-XX-XX +* 週10時間程度(要相談)のissue対応を行って、毎週振り返りを行うことを想定しています。 +* 具体的に取り組むissueは、参加者と相談の上で決定します。 + +## 必要な報酬 + +支援期間中に5日(40時間)分の有給稼働。 + +## 募集期間 + +* 2021-XX-XX (X曜日) まで。 +* 2021-XX-XX (X曜日) に選考・連絡。 +