コロナマップを開発してOSSにした話

## この記事を書くにあたって

コロナウイルスの感染状況が分かるiOSマップアプリを開発し，OSSとして公開しました．
先日，東京都がコロナの感染数等の情報サイトをOSSで公開していると聞いたのもきっかけの一つです．本当はAppStoreに公開しようとしましたが，リジェクトされてしまったのでOSSという形が一番良いという結論になりました．
ぜひ僕のアプリをOSSにすることによって，多くの人にお役に立てれば嬉しいです．開発にあたって，集めたコロナウイルスのマップ開発に関するすべての情報をここで皆さんに提供します．
GithubでコードをOSSとして公開しているので，お好きにカスタマイズしてください．ベースとなるものはあるので，すぐに東京都バージョンや北海道バージョンも作れると思います．
また個人開発者ではコロナウイルスに関するアプリを公開できないのですが，医療機関や政府機関ならアプリを公開できるので，この記事を見た医療機関や政府機関関係者の方がいらっしゃったら，お声をかけてください．

## 作ったもの

![6.5inch@1x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/56557/a4152270-115e-2320-6124-c1a72bedbefc.png)


それぞれの場所での感染者数，回復者数，死者数を確認できるアプリです．またコロナウイルスに関するGoogle Newsも同時に見れるようになっています．

開発中の動画です．


<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">コロナウイルスの地域別の症例数をリアルタイムを見れるアプリを開発中です。<br><br>中国全域で感染者が広がる中、留学先で仲良くなった中国人の友人が住んでいる場所は大丈夫かなと心配になったことをきっかけに作り始めました。<br><br>多くの人がこのアプリを使って、正確な情報を知っていただけら嬉しいです。 <a href="https://t.co/PVXy808xhR">pic.twitter.com/PVXy808xhR</a></p>&mdash; トミー (@tommy19970714) <a href="https://twitter.com/tommy19970714/status/1224992949198409730?ref_src=twsrc%5Etfw">February 5, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

以下がGithubのレポジトリになります．どうぞ気軽にプルリクやissueを送っていただけると嬉しいです！
https://github.com/tommy19970714/COVID-19-Map

## 開発ストーリー
### きっかけ
時は遡ること，2月3日ニュースを見ていて僕は思いつきました．コロナウイルスの感染数が分かるマップがあったら嬉しいなと．

留学先で仲良くなった中国人の友人の住んでいる地域は大丈夫かなという心配がありました．そこで，それぞれのエリアの感染数が分かるようになったらいいなと思いました．

当時調べてみると，米国ジョンズ・ホプキンズ大学のシステム科学工学センター (CSSE)がコロナの感染者数のマップを公開されたばかりでした．その頃，日本では感染者はほとんどいなく，日本語のコロナウイルスのマップはありませんでした．
またiOSのアプリを調べたら，有料版のコロナのマップはありましたが，無料のアプリはありませんでした．さすがに有料しかないのはみんな困るだろうなと思い，僕は以前iOSのマップアプリを作った経験があったので，iOSでコロナマップの無料アプリを作ることにしました．

### 協力者
僕は学生なのですが，アプリを一緒に作っているフリーランスのデザイナーの友人がいます．思い立った次の日，友人のデザイナーさんに「コロナのマップアプリ作りましょうよ．」と言いました．そしたら，「いいね」と二つ返事でと，二時間でアプリデザインが完成していました．
そこで友人のデザイナーさんに一晩で作りますね！と宣言をしました．僕は時代に流れにのるアプリは，当日に作ると決めています．

ちなみにコロナマップのロゴは以下になります．後ほど，アプリのデザインやロゴデザインのFigmaを公開できたらいいなと思っています．
![Icon-60@3x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/56557/78e64e8e-e6a5-4d60-070b-86c4b55f43e1.png)


夜にデザインが送られてきたので，そこから開発を始めて，朝の7時くらいには出来上がりました．作りたいなという衝動にかられると，とてつもないパワー発揮するタイプの人間です笑．

## 公開できない理由
完成してすぐにサブミットしたのですが，2日後にレビューが行われて，以下の理由でリジェクトされてしまいました．

```
Guideline 5.2.1 - Legal - Intellectual Property

The seller and company names associated with your app do not reflect the name "WHO, CDC, ECDC, NHC, DXY, or Johns Hopkins CSSE" in the app or its metadata, as required by Guideline 5.2.1 of the App Store Review Guidelines.
```

要約すると，アプリの紹介文にWHO，CDC，ECDC，NHCやDXY等のデータを使用しているというデータソースについて書いていたところ，機関名を出すときはアプリの申請元が機関名と一致していないといけないとのことでした．

ちょうどその頃に，いままででていたコロナ関連のアプリは，すべてAppStoreから削除されてしまいました．きっとAppleとして，身元が確かでないコロナに関するアプリケーションの削除という方針を打ち出したのだと思います．
確かにAppleとしては身元が確かではないアプリが流通してしまうのは困るので気持ちは分かりますが，せっかく作ったのにという気持ちもありました．なので今回はAppStoreの公開はやめてOSSで公開するのが一番みんなのためになるかなと思いました．

後ほど，知り合いから聞いたのですがAppleのコロナウイルスのレビューの方針について次のような記事があるようです．
[Apple is rejecting coronavirus apps that aren’t from health organizations, app makers say](https://www.cnbc.com/2020/03/05/apple-rejects-coronavirus-apps-that-arent-from-health-organizations.html)

## APIについて
開発したアプリで使用しているAPIは以下になります．次のissueで紹介されているのですが，マップのAPIを開発しているEsri ArcGISがREST APIを提供しています．
https://github.com/CSSEGISandData/COVID-19/issues/124

以下がそれぞれの患者数を知るためのエンドポイントとなります．

APIのパラメータについては，[こちら](https://geoservices.github.io/)に詳しく書いてあります．

死亡者数

```
https://services1.arcgis.com/0MSEUqKaxRlEPj5g/arcgis/rest/services/ncov_cases/FeatureServer/0
```

感染者数

```
https://services1.arcgis.com/0MSEUqKaxRlEPj5g/ArcGIS/rest/services/ncov_cases/FeatureServer/1
```

国ごとの感染者数

```
https://services1.arcgis.com/0MSEUqKaxRlEPj5g/ArcGIS/rest/services/ncov_cases/FeatureServer/2
```


## その他，コロナ関連

僕が知っているコロナウイルスの感染状況を知れるアプリケーションを共有します．もし皆さんがこれ以外でも知っているサービスがありましたら，ぜひコメント欄で教えてください．

#### 日本産
[日本経済新聞 新型コロナウイルス感染 世界マップ](https://vdata.nikkei.com/newsgraphics/coronavirus-world-map/)

[Spectee 新型コロナウイルスの感染状況監視システム](https://prtimes.jp/main/html/rd/p/000000033.000016808.html)

#### 中国国内
[Baidu 中国国内感染者情報](https://voice.baidu.com/act/newpneumonia/newpneumonia/?from=osari_aladin_top1)

#### 韓国国内
[コロナマップ](https://coronamap.site/)
[コロナアラート](https://corona-nearby.com/)

## まとめ
東京都がコロナの感染数等の情報サイトをOSSで公開されてから，有志のエンジニアやデザイナーが他県のサイトを開発するムーブメントが起きていますね．世の中の人たちが便利になるためにという気持ちで立ち上がり，ソフトウェアを作り上げていくのはとても嬉しいことですね．
なにもない中から初めてOSS化をしコミュニティを築き上げていくのは大変なことですが，OSSのムーブメントは，最初に公開するのは人が重要です．今回のOSS化がiOS版におけるムーブメントの出発点になれたら嬉しいです．