ナカザンドットネット

Android Developer's memo

Aroundアップデート:September 2021 Editionまとめ

会社の開発チームで常時接続に使っているAroundの月次?アップデートが来ていたので、リリースノートを流し読みします。

new.around.co

iOSアプリがビデオ通話に対応

June 2021でリリースされたAndroid/iOSアプリでしたが、デスクトップアプリと同じルームへの参加はできるものの、ビデオ機能が開放されていませんでした。

今回のアップデートで、ひとまずiOSアプリでビデオ機能を利用できるようになります。移植が単純ではなさそうなフェイストラッキング機能もちゃんと実装してくれたようで、頭が下がります。

f:id:Nkzn:20210906104400p:plain
iPad版Aroundでカメラを有効にしてみた

Android版はcoming soonです(察し)。

画面共有のパフォーマンス改善

「めっちゃファンが回ってたし重かったのでフルスクラッチで書き直したやで」とのこと。わいわい。

画面共有中に配信者の画面内のAroundを「消さない」オプション

CPUリソース節約のためのもう一つのアプローチとして、画面共有中に配信者の画面内のAroundを 消さない オプションが追加されました。

f:id:Nkzn:20210906105053p:plain
配信者のaroundを消さないオプション

ぱっと見だとなんのことか分からない修正なので、例を挙げます。

実は今まで、配信者が画面共有している画面内にAroundのUIがあっても、視聴者には見えなくなっていました。

配信者 視聴者
f:id:Nkzn:20210906110819p:plain:w320 f:id:Nkzn:20210906110551p:plain:w320

ここで、今回追加されたオプションをオンにします。

f:id:Nkzn:20210906110956p:plain

すると、視聴者側にもAroundのUIが見えるようになります。

配信者 視聴者
f:id:Nkzn:20210906110819p:plain:w320 f:id:Nkzn:20210906110819p:plain:w320

標準の動作では、AroundのUIを配信対象から外すためにCPUリソースを消費していたようで、今回のオプションはその挙動をオフにする(=配信者の画面に見えているままの見た目で配信する)ことで、CPUリソースの節約を図る新機能ということになります。

今後の改善点

1.0以降、リソース節約と安定性、複数プラットフォーム展開にフォーカスして頑張っているそうです。短期的にはパフォーマンスや質の改善を中心に改善していくとのこと。嬉しい。

新規機能としては、ミーティングの録画機能を年内にリリースしたいとのことです。楽しみですね。

AroundのJune 2021 Editionが神アプデっぽい

TL;DR

Aroundチームは顧客の気持ちがわかっていて最高大好き

Aroundのアップデートが来ました

最近、会社のdevチームで、常時接続のコミュニケーションツールとしてAroundを利用しています。

around.co

Aroundはさまざまな工夫により、ZoomやMeetに比べると精神的なストレスが少ない作りになっており、常時接続してもストレスになりづらくなっています。次の記事が詳しいです。

japan.cnet.com

さて、そんなAroundですが、6/12に大きめのアップデートが来ました。

new.around.co

ざっくり眺めただけでも神アプデっぽさが出てたので、簡単に紹介します。

概要

  • モバイルアプリが出ました
  • Linuxアプリ(Beta)が出ました
  • Handoff機能の追加
    • ミーティングを始めたときのデバイスとは別のデバイスでシームレスにミーティングを継続できる
    • ある時間まではPCでミーティングして、その後営業のために離席して車で移動を始めたりしても、スマホでミーティングを継続できるということ
    • モバイルアプリが出てきたタイミングならではという感じの新機能で嬉しいですね
  • Voice Channels(音声のみの部屋)が作れるようになりました
  • Minimal Modeを使うとサムネイルのサイズを最小化して、できるだけ画面を隠さないようにできます
  • メニューがネイティブ実装になりました
  • フィルターをTouch Barで選択できるようになったよ(Macのみ)
  • Face Mask Modeをオンにすると、マスクをつけているときのくぐもった声がクリアに補正されるよ
    • 謎の技術じゃん
  • Add your team to multiple Rooms(まとめて招待)
    • 自分が入っているルーム一覧から任意の複数のルームを選んで、招待リンクを作成できます

動作するプラットフォームにAndroid、iOS、Linuxが追加されるというビッグニュースに加え、ミーティングに参加したままプラットフォーム間の切り替えができるHandoff機能が同時にリリースされたことで、より「常にAroundと繋がっている」が実現しやすくなりました。PCから離席してキッチンにコーヒーを淹れに行く間も、スマホで雑談の続きを聞き続けることができそうです。

今後追加される機能

  • Vertical floating mode(顔が縦に並ぶよ!)
    • ちょっと欲しかったやつ
  • Annotations(共有スクリーンにお絵描きできるよ!)
    • 完全に!!!!!!!!欲しいやつ!!!!!!!!!

Annotationsは早く来て欲しいですね。Slackの画面共有では画面上にマーカーが引けてめちゃくちゃ便利なのですが、おそらくそれに近いものになると思われます。仕事でモブプログラミングをしながら「ここ!ここです!ちくしょう、マーカーが引きたい!!!」みたいになってた*1ので、的確にペインポイントを押さえにきている印象です。

まとめ

Aroundチームは顧客のペインポイントをよく理解してる……しゅき……

*1: https://pop.com/home の利用を検討していました

OneMile Partnersに入社しました

はい、というわけでですね、昨日の退職エントリに引き続きまして、入社エントリです。

といってもまだオンボーディングも終わっていない段階なので、業務内容について書くことは特にありません。簡単に会社紹介をしますね。

OneMile Partnersとmoneiro

この度、OneMile Partners(ワンマイルパートナーズ)という会社で働くことになりました。

onemile.co.jp

moneiro(マネイロ)というサービスを運営している会社です。

moneiro.jp

このmoneiroは「資産のセレクトショップ」という謳い文句で、働く世代の資産運用を手助けするサービスです。お金のプロがニーズに合わせて株式や保険などの金融商品をいい感じに組み合わせられるよう、相談に乗ってくれます。

難しいと思われがちな資産運用の敷居を可能な限り下げるためにかなり努力しているようで、グッドパッチさんの力を借りてガッツリとディスカッションをしながら、わかりやすい見せ方や導線について議論したそうです。

goodpatch.com

(ちょうど昨日リリースされた記事↑があるから出しとけって言われました)

なぜ入社したのか

「給料がよくなるから」というのはITエンジニアの転職においては珍しくもない理由なので、ここでは特に掘り下げません。

話だけでもということで事業説明を聞いてみると、「手に入るお金は増えてきたけど、このお金をどう運用したら家族を幸せにできるかわからなくて悩んでいる一家の大黒柱の30代」は、メインターゲットのひとつらしいことがわかりました。つまり私です。

日本人はお金に関するリテラシーが低い、という話はよく耳にしますし、自分もある程度お金の勉強をする中で「これはもっと早く知りたかったなあ」ということはたくさんありました。moneiroでお金のプロに相談することで、リテラシーの不足をある程度補えるようになるのであれば、これはかなり社会にとって良い影響があるはずです。

前職で農業生産者さんを相手にしていたときや、Androidの初心者本を書いているときにも意識していたのですが、私はリテラシーが不足している層に補助輪のように寄り添うサービスで社会貢献をするのが割と好きなようで、moneiroが良い感じに琴線に触れたのでした。

とはいえやはり、何より自分がターゲットユーザーであるというのは、事業を自分ごととして感じられる点で何より良いことだと思います。今までは本業と副業と子育ての合間の、あるかないかよくわからない余暇を使って家庭の資産運用について勉強していたわけですが、今後は仕事をしていれば事業のドメイン知識として資産運用を学ぶことができます。お得です。

というわけで、事業がなかなか好みなのでした。他にも、居住地を変えずに新潟からフルリモートしてよいことや、あれこれと(給与以外にも)良い条件が重なったことから、転職を決めています。

まとめ

というわけで、在宅勤務の会社から在宅勤務の会社に移るので、労働環境が何も代わり映えしない気がしますが、今日からワンマイルのなかざんとしてやっていきます。皆様よろしくお願いします。

2629日ぶりにナカザンドットネットがnkzn.netになりました

このブログは「ナカザンドットネット」という名前ですが、これまではnkzn.infoというドメインでした。

 

実は、7年前まではnkzn.netだったのです。

 

blog.nkzn.net

 

> どうも、nkzn.netの更新を忘れてて転売屋に取られた人です。

 

痛ましい事件でした……

 

かえってきたぞ!

 

このたび、nkzn.netを買い戻しました!

 

twitter.com

 

5月中はサボってしまったので、転職を機にブログのドメインをnkzn.netに戻しました。実に2629日(+α)ぶりです。この7年間で記事をたくさんシェアしてもらったので、nkzn.infoからも引き続き転送設定をしてあります。

 

これでようやく「どうしてナカザンドットネットなのにnkzn.netじゃないんですか?」と煽られなくて済む!やったぞ!

 

引き続き、ナカザンドットネットをよろしくおねがいします。

 

余談

 

https://www.nkzn.net にポートフォリオを置きました。よろしければご覧下さい。

退職します

f:id:Nkzn:20210531163000j:plain:w320

TL;DR

転職エントリです。

転職します

本日、現職の最終出社日でした。

2011年7月の創業から少し遅れて、2011年9月に3人目としてジョインした*1ところから数えて、10年近く在籍していました。

次の会社は決まっていまして、明日、6月1日から新しい会社での勤務になります。

友人から良いオファーをいただいたのがきっかけでの転職で、特に転職活動をしていたわけではなかったので、急な話になってしまい関係各所の皆様にはご迷惑をおかけしました。

新潟には残るの?

次の会社は東京に本社がありますが、私はフルリモートで新潟市の自宅から勤務します。

2018年に家を建てたばかりなので離れ難いという理由もありますが、単純に新潟市の環境が住みやすいので、このまま住み続けるつもりでいます。母校の会津大学からも近いですしね。

思い出

前述の通り、転職活動をしていたわけではないので、転職が決まった時点で履歴書も職務経歴書も作っていませんでした。

とはいえ良いタイミングではあるので、これまでの10年を振り返りがてら、職務経歴書を作ってみました。Next.jsとChakra UIとVercelの素振りも兼ねています。

https://www.nkzn.net/

ほとんど毎年、新しいプロダクトに関わっていたようです。

振り返ってみると「お客さんの話を聞いたり企画の概要を聞いてMVPを作ってみる」「MVPをリリースできるようにチームに作業を割り振る」みたいなことを多くやっていたような気がします。

タスクを割り振った後はチームメンバーにお任せなことも多かったので、僕個人の適性はいわゆる0→1よりももう少し小さい、0→0.5あたりにあるんだろうなあという肌感覚を持つようになりました。現実の課題をシステムで実装可能な粒度の課題に分割して、システム側の課題を主に扱う人たちの初速が出るようにするポジションです。0.5→1の間はスケジュールに入れ損ねた後出しのタスクを拾っていく、落穂拾いのようなことをやっていました。

僕が話をしてきたお客さんは、農業ICTのアーリーアダプターということで情報感度が高めだったりロジカルな思考を得意にするようなやり手の生産者さんが多く、興味深く仕様の議論を深めることができました。お客さんの業務フローを整理していく中で「自分たちでは気づいていなかったけど、そういう整理をするだけでも業務の勘所が分かりやすくなった。まだシステムを作る前に言うのもおかしいけど、相談してよかった」と言ってもらえたときにはかなり嬉しかったですが、そういう対話が成立するお客さんに出会えた私のほうこそ嬉しかったりしました。

Androidアプリエンジニアとして入社しましたが、人手不足だったこともあり、マネージャーとしてはサーバーやフロントエンドも含めた幅広い業務を扱わせてもらいました。おかげさまで、ツールが事業やチームにマッチするかどうかをよく考えるという、技術選択のキモでありつつも意外と経験しづらい視座を持つ機会を得られました。

blog.nkzn.info

メガベンチャーの友人たちを地方IT企業から眺めていたからこそ得られた視座だったことを考えると、人生は面白いですね。

次は何するの?

まだあまり人数が多くないベンチャーに行きます。フロントエンド中心になりそうですが、たぶん何でもやることになります。こういう感じは久々なので楽しみです。

ちなみに、近年はReact Nativeおじさんをやっていましたが、これまでの事業とこれまでのチームに合っていたからこその選択でした。次の会社でReact Nativeを選ぶかどうかはまた事業とチームを精査した上で考えることになります。

事業とチームにマッチした技術選択をやり続けるのは変わりません。粛々とやっていきます。

今後ともよろしくお願いします。

*1:微妙に創業メンバーと言いづらいのがちょっと困ってた

アラフォー世代よ、シンエヴァの次に待つのは「宇宙小戦争2021」だ

シン・エヴァンゲリオン劇場版で四半世紀にわたる何かを精算した皆様、お疲れ様でした。おかげさまで私も公開初日に観ることができました。

さて、シンエヴァほどの威力はないものの、年季の入ったダメージを与えてきそうな作品が後に控えていることをご存知でしょうか。「ドラえもん のび太の宇宙小戦争 2021」です。

doraeiga.com

旧作は1985年公開。アラフォー世代が子供時代に初めて聴いた武田鉄矢の歌が、劇中でレジスタンスの青年が歌う「少年期」だった人も多いのではないでしょうか。少年期〜青年期の時代に金八先生の平成シリーズがドンピシャでぶつかっていたこともあり、武田鉄矢やその歌声に大なり小なりの感情を持っているアラフォー世代が多いのではないかと私は思っています。

さて、新劇場版である2021の主題歌はOfficial髭男dismが歌う「Universe」。YouTubeで公開されています。

youtu.be

この感じだと劇中でレジスタンスが歌うシーンは……ないかなあ、どうかなあ。

「少年期」が聴こえてこない宇宙小戦争を、いつの間にか大人になった私たちはどんな気持ちで眺めることになるのか。

クソデカ感情を抱えていそうな自分に気がついたので、おそらくこの作品は観なければいけないのでしょう。

3/13現在、公開延期中ですが、公開日が決まるのが楽しみです。

少年期

少年期

  • 発売日: 2016/08/24
  • メディア: MP3 ダウンロード

電子書籍+PODで「基礎から学ぶReact Native入門」が出ます(追記:出ました&電子版トラブルの顛末)

3/13追記:

2/25に発売しました🎉 残念ながら無事に、とはいかず、電子書籍版にレイアウト崩れが見つかったために一時Kindle版を取り下げていました。

この問題は3/3に復旧しています。Kindle版、プリントオンデマンド(ペーパーバック)版をそれぞれお楽しみください。

本が出ます

2021年2月25日に、翔泳社さんから電子書籍+プリントオンデマンドで本を出すことになりました。

プリントオンデマンド版

基礎から学ぶReact Native入門 (CodeZine Digital First)

基礎から学ぶReact Native入門 (CodeZine Digital First)

Kindle版

基礎から学ぶReact Native入門

基礎から学ぶReact Native入門

出版社公式ページ

www.shoeisha.co.jp

内容について

内容としては、CodeZineで2018年から2020年にかけて連載していた「基礎からはじめるReact Native」を、2021年向けに加筆・修正したものになります。

目次は次の通り。

  • 第1章 React Nativeとは何か? ~基本の仕組みと使いどころを理解する
  • 第2章 Expoで始めるReact Native開発環境の構築
  • 第3章 Reactの基本を学ぼう ~コンポーネントの仕組みと作り方
  • 第4章 Reactの基本を学ぼう ~コンポーネントで動的な状態管理
  • 第5章 React Hooksの使い方を学ぼう ~関数コンポーネントの状態管理を行う
  • 第6章 React Nativeでアプリの見た目を整えよう ~スタイルでコンポーネントを装飾する
  • 第7章 React Nativeでアプリの見た目を整えよう ~スタイルでコンポーネントをレイアウトする
  • 第8章 UIライブラリで美しいデザインを手軽に利用する
  • 第9章 React Navigationで画面遷移を実現する
  • 第10章 React Nativeでメモアプリを作ろう ~セットアップと表示
  • 第11章 React Nativeでメモアプリを作ろう ~作成画面の構築と実データの利用
  • 第12章 静的型チェックを行うTypeScriptで品質を担保しよう
  • 第13章 リリース用のアプリファイルを用意しよう

第1章では、React Nativeがビジネス上のどのような課題を解決するのかにフォーカスしました。React Nativeの「(not) for you」を伝え続けた2019年を振り返る - ナカザンドットネットでも触れたような内容です。というより、この第1章の元記事を書いたところから僕の2019年は始まりました。

第2章ではExpoの仕組みと使い方に触れました。どちらかというとJavaScriptエンジニアをターゲットにした本なので、 react-native init で始めてもらうのはちょっと酷だなと思って、この選択にしています。

第3〜5章では、React NativeというよりもReact自体の基礎的な解説に終始しました。念のためクラスコンポーネントの解説もしましたが、2019年時点で関数コンポーネントの時代が来ることは目に見えていたので、Hooksについても解説しています(紙面の都合で useStateuseEffect だけですけどね)。

第6〜7章はReact Nativeのスタイルについて広く取り上げた、本書の中でも渾身の章です。全体像を把握しづらいスタイルの各プロパティを「装飾」と「レイアウト」に分類することで、読者が理解しやすい解説になったのではないかと思います。この章はAndroidを支える技術<I>の第4章「Viewのツリーとレイアウト ──GUIシステムの根幹」で得た知見のおかげで書けたものです。有野さんには感謝しかない……

第8〜9章はおすすめのライブラリ紹介です。React Native PaperReact Navigationも、連載時からメジャーバージョンが1つか2つほど上がっていたので、修正には少々骨が折れました。

第10〜11章は、8,9章で解説したライブラリを利用して、実際にアプリを作ってみるハンズオンになっています。実際のアプリ開発の流れを体験できる章になりました。

第12章は少し寄り道して、TypeScriptについて取り上げました。JavaScriptだけでやってきた方にもTypeScriptの魅力が伝わるように、あまり深掘りせずに平易な解説を心がけたつもりです。みんなもっとライトな感じでTypeScriptをカジュアルに使ってくれ頼む……!!

最終章となる第13章では、リリース用のaabファイルやipaファイルを用意する方法について解説しています。この手の本ではあるあるなのですが、Google Playの話とApp Storeの話をどちらもしないといけないので、大体紙面がキツキツになります(なりました)。

そんなわけで

普通にReactのライトな解説本としても読めるんじゃないかという本になりました。みなさん読んでみてください。

追伸

発売日の2月25日は34歳の誕生日です🎉

刊行までなんとか辿り着いた僕を褒めてくれる方は、なんかこう……お褒めの物品をですね! よろしくお願いします!

https://www.amazon.jp/hz/wishlist/ls/2KL5657M8BDAQ?ref_=wl_share