Quantcast
Channel: その後のその後
Viewing all 314 articles
Browse latest View live

【個人開発】AIで人やペットを自動で撮影するアプリ「TOTOC」をリリースしました

$
0
0

AIで人やペットを認識して自動で動画を撮影開始/停止するアプリ「TOTOC」をリリースしました🎉

f:id:shu223:20211010130924p:plain:w300

置いておくだけで動画を「撮っとく」ことができるという意味で、TOTOC(トットク)という名前にしました。

子供が突然やる仕草やおしゃべり、撮りたいと思ってカメラをかまえても大抵もう遅いので、いっそのことカメラを置きっぱなしにして全部撮っておきたいな〜と思ったのが着想のきっかけです。

アプリのポイント

撮影中にもどんな動画が撮れたか確認できる

撮れた動画が画面内にポンポンと出てきて、録画中にもそのままプレビューできます(下の方の丸アイコン群がそれ)

f:id:shu223:20211010131341p:plain:w300

20倍速再生でサクサク管理

撮れた動画は撮影ごとにまとめられてライブラリに格納されます。

f:id:shu223:20211010131414p:plain:w300

1回の撮影で数十の動画が撮れることもあります。この画面では、撮れた動画を最大20倍速で連続再生でき、削除・保存・共有といった管理をサクサク行えます。

f:id:shu223:20211010131432p:plain:w300

オンデバイス処理/オフライン利用

処理はすべて「オンデバイス」で(iPhone上で)行っています。撮れた動画はどこにも送られないのでご安心を。当然オフラインで利用可能です。

無料

無料で使用できます。ダウンロードはこちらからどうぞ:

AIビデオカメラ TOTOC (トットク/撮っとく)

AIビデオカメラ TOTOC (トットク/撮っとく)

  • Shuichi Tsutsumi
  • 写真/ビデオ
  • 無料
apps.apple.com

何であって、何でないのか?

上記のようなアプリですというと、「監視」「見守り」用途を思い浮かべる方は多いと思います。

実際のところ、監視・見守り分野において、なにかを認識して、それに応じて通知やアラートを発するという発想はめちゃくちゃ普通です。そういうアプリや製品は山程あります。

しかし、

子供が突然やる仕草やおしゃべり、撮りたいと思ってカメラをかまえても大抵もう遅いので、いっそのことカメラを置きっぱなしにして全部撮っておきたいな〜と思ったのが着想のきっかけ

この用途で使えるアプリや製品で探すと、見当たらなかった。

・・・ので、作りました。

監視・見守り用ではなく、思い出としての動画撮影用です。

そういうわけで、通知やモニタリング機能は実装していません。

そういうわけで、こういうUIを実装しました。

撮れた動画が画面内にポンポンと出てきて、録画中にもそのままプレビューできます(下の方の丸アイコン群がそれ)

f:id:shu223:20211010131341p:plain:w300

カメラを仕掛けてる間、どんなのが撮れてるかな〜と気になる → 撮影は止めずに確認できたら嬉しい

という発想です。

(このあたりのUIデザインの進め方についてはこちらの記事にも書きました)

note.com

あと、これも、

1回の撮影で数十の動画が撮れることもあります。この画面では、撮れた動画を最大20倍速で連続再生でき、削除・保存・共有といった管理をサクサク行えます。

f:id:shu223:20211010131432p:plain:w300

撮れた動画の中には嬉しいものも、いらないものもある。たとえば自宅のリビングでTOTOCを仕掛けておくと、上述のような三輪車のシーンを撮れることもあれば、自分がTシャツ+パンツでうろつく姿も混じってきます。前者の動画は保存したいし、後者の動画は要りません。

そういう選別をするために、このような20倍速+連続再生が必要になりました。逆に、監視・見守り用途であればこういうUI/UXにはならないでしょう。

具体的にどんなときに嬉しいのか?

自分でドッグフーディングしていて、こういうときに「作ってよかった〜」となりました。

  • 子供が3歳の誕生日におばあちゃんから三輪車をもらった。その三輪車に乗って家の中を初めて走る姿が撮れた。後ろの棒を僕が押してあげてるので、これはカメラを構えていたら撮れなかった動画。

  • 朝、子供がなかなか起きないのでTOTOCをしかけておいたら、目が覚めてぐずってパパ〜と呼ぶまでの貴重なシーンが撮れた。

子供がいるとTOTOC仕掛けるたびに良いシーンが撮れます。

ダウンロードはこちらから

あらためて、気になった方はこちらからどうぞ!

AIビデオカメラ TOTOC (トットク/撮っとく)

AIビデオカメラ TOTOC (トットク/撮っとく)

  • Shuichi Tsutsumi
  • 写真/ビデオ
  • 無料
apps.apple.com

個人開発アプリのソースコード売ります

$
0
0

個人開発アプリ「TOTOC」のソースコードの入ったGitHubリポジトリへのアクセス権を販売します。

apps.apple.com

shu223.hatenablog.com

(本記事では詳細は省きますが、弊アプリのSomato・ChopperもTOTOCと同条件でOKです)

TOTOCのコードのポイント

iOSエンジニアには伝わると思いますが、)人の顔やペットを認識すること自体は非常に簡単で、そこらへんのコードには価値はないと思います。

以下のあたりは、似たような機能を実装したい場合、「実際に動いているリファレンスコード」として価値がある可能性があると思います。

  • 認識状況をトリガーに録画を開始・停止(ビデオ録画の制御)
  • 認識結果のキャッシュ
  • カメラの制御(録画とも関係してくる)
  • 認識結果をベースに動画からサムネやアイコンを自動切り出し
    • 実際にTOTOCで録画してライブラリ画面を見てみてください
  • 動画プレイヤーの制御

アプリ横断で使い回せる部分はSwift Packageとして切り出したりはしていますが、 設計等の面は自信がないのであまり期待しないでいただければと。

価格等

個人の勉強のため等の利用よりは、「似たような機能を開発したい」といった企業様での利用を想定しています。

私としても完全に手探りなので、まずは1社限定で、10万円で募集1します。

そこでトラブル等なさそうであれば、その後は20万円 2での販売を考えています。 (需要次第では価格を変更する可能性はあります。)

アクセス権を付与する期間は1ヶ月で考えています。

サポート

上記の金額にサポートは含みません。コードの解説や、バグ修正対応も含みません。あくまでリポジトリアクセス権付与の価格です。

コードの解説等のサポート付きプランは、プラス10万円で申し受けます。

コードの解説以外のご相談やカスタマイズ実装、御社アプリへの組み込み実装等は、こちらのリソースの空き状況にもよりますが、通常のお仕事としてお受けできる可能性があります。お問い合わせください。(単価は有料ですが公開もしています。お問い合わせいただければお伝えします)

ソースコードの利用範囲

リポジトリにあるソースコードは商用・非商用に限らず利用していただいてOKです。

ソースコードをまるっと公開したり、他者/他社に提供したりはご遠慮ください。 デザインのパクリもご遠慮ください。

アプリの譲渡ではありません

私は引き続き同アプリをAppStoreに公開し続けます。

収益が出ているアプリではないので、同じ/ほぼ似ているアプリを出すメリットはそんなにないと思いますが、デザインさえ変えていただければそれもありです。

少しでもご興味あればぜひお問い合わせください

超特殊技術を使っているわけでも、収益が出ているわけでもないアプリなので、需要が1件もない可能性も全然あると思っています。

ただ、似たような機能を開発しようとしていて、リファレンスコードがあることで工数が数日でも短縮できる見込みがあるのであれば、検討していただける余地はあるのかなぁと。

繰り返しになりますが、私にとって初めての試みで完全に手探り状態です。上に書いたことはどれも私が勝手に考えていることなので、価格や条件等で期待と食い違う点があっても、興味があればまずはお問い合わせいただけると幸いです。

お問い合わせ先

GitHubアカウントにメールアドレスを記載しています。

github.com

(おまけ)

なぜこんなことをやろうとしているのか、 この動画の1:00:16あたりで話しています。

www.youtube.com


  1. 本記事公開の翌日にさっそく最初の1社が決まりました! https://twitter.com/shu223/status/1451453183595737088

  2. 本記事内の価格はすべて税抜です。

個人開発アプリのソースコード売れました

$
0
0

先日、個人開発アプリ「TOTOC」のソースコードの入ったGitHubリポジトリへのアクセス権を販売しますという記事を書いたのですが、

shu223.hatenablog.com

その翌日にクラスメソッドさんからお問い合わせいただき、なんとその日のうちに商談成立🎉

クラスメソッドさんがそのあたりの経緯について爆速で記事を書いてくれました。

dev.classmethod.jp

ほぼここにある通りなのですが、僕視点からも経緯や、今後の展望について書いておこうと思います。

経緯

時系列はクラスメソッドさんの記事にある通り。

  • 10/22 9:30 堤さんの記事を見て、面白そうなチャレンジということで、Slackのtimesチャンネルに放流
  • 10/22 10:00 エンジニアから反応あり、堤さんに連絡.16:00からZoomでMTGのアポを取る
  • 10/22 16:00 ざっくばらんに今回の件についてお互いの期待値を伝える
  • 10/22 16:30 商談成立

DMでのやり取りはこんな感じでした 1

f:id:shu223:20211024150925j:plain:w500

みんなご存知のクラスメソッドさん。僕側からの懸念は何もありません 2。30分ほどですぐに話がまとまりました。

しかもこのあたりの話が早いw

所感

本当に全く需要がないかもと思っていたので、具体的にどの会社さんから問い合わせがくるとも予想していませんでした。

で、そこにクラスメソッドさんから連絡がきたとき、「なるほど〜!」とめちゃくちゃ腹落ち。

  • 決済権のある人(おおはしさん)はエンジニア出身で、僕の事も知ってくれている。一緒にお仕事をしたこともある。 → 最速で決断できる
  • クラスメソッドさんといえば技術ブログ。エンジニア文化、エンジニアの発信、マネタイズ手段etc.に非常に理解がある(なんせZennの運営会社だし)
    • 今回のコンセプト(エンジニアの新しいマネタイズ手段の可能性)に共感してくれている

意外だったのは、ミーティングで、 「コードの解説、サポート付きプランとかじゃなくても時給でやりますよ」と言ったら、

解説もないコードをみんなで読み解くのが新しい体験としておもしろい気がするから解説はいらないです

的な反応をいただいたことだった。(あとから答え合わせで解説してもらうのはありかもという話もあった)

ソース売ります記事を書いた時点では、需要があるとすれば自社アプリに同様の機能を追加したい企業からだろうなと思っていて、サポート必須でセミ受託開発みたいになるのかなと想像していたので、この観点は目からウロコでした。

ソースコード共有に向けてやること

1件も売れない可能性もあったので、告知記事は書いたものの、売るための準備はとくに何もしていませんでした。

とりあえずやる必要があるのは以下:

  • 共有しないほうがいいトークン, APIキー, ID系が入ってないかチェック
  • 別のプライベートリポジトリで管理しているSwift Packageをどうにかする

コードやコミット履歴はあえてそのまま出そうかと。

この試みの先にある未来/今後の展望

ソースコード販売はじめましたツイートにもちょこっと書きましたが、

エンジニアの技術のマネタイズ手段、給与/受託/書籍/個人開発で一発当てる等々いろいろあると思いますが、こういうパターンももしかしたらあるのではと...

この試みが成立するとエンジニアの選択肢が増えると思っています。

一発当たらない個人開発でもマネタイズできたら、需要や収益性にとらわれずもっと好きなようにモノ作りできるんじゃないかと。3

とはいえ今回はクラスメソッドさんが応援の意味も込めてお買い上げいただいたというラッキーパンチの側面が強く、 現時点ではまだこのマネタイズ手段の再現性もサステナビリティも成立していないことは重々承知してます。

平たくいうとクラスメソッドさんに続く需要があるイメージがまだ持てていない。

ここらへんは引き続き模索していきたいと思います。


  1. こちらのスクショは掲載許可をいただいています。

  2. 不安があるとすれば、僕のソースコードに期待しすぎていてガッカリされないだろうか、という点だけでした。

  3. 技術情報発信でもこれをやろうとして(ニッチな技術の情報発信でもちゃんと収益が出るように試行錯誤した)、一定の成果は出た: ニッチな技術書を書いて #技術書典 に出展してみたら想像以上に需要があった話 , 技術書を速く書くためにやったこと

12年間iOSだけやってきたエンジニアのキャリアチェンジ

$
0
0

iOSだけを12年間もやってきたフリーランスiOSエンジニアです。ここに来てついに新しい挑戦をすることにしました。

4月からSansan社に就職して、研究開発部門のマネージャーをやります。

このキャリアチェンジには3つの点で新しいチャレンジがあります。

これぐらいギャップのある今回のキャリアチェンジですが、ここに至った経緯や考えを書いておこうと思います。

経緯

価値観の変化

プログラマーになって10年近く、とにかく自分の手でものを作れることが楽しく、ただひたすらに手を動かすことだけをやってきました。楽しくて、稼げて、自由度も高い。そこに一切の疑問を持つ余地はありませんでした。

少し状況が変わってきたのが2018年9月。第一子が誕生し、家庭の事情により私がメインで育児を行うことになりました。今まで好きなときに好きな場所で好きなだけ仕事ができていたのが、まず育児の都合があり、次点で仕事をしてもよい、という状況になりました。

これによりタフな仕事、移動を伴う仕事、時間の縛りが厳しい仕事etc.は受けることができなくなり 1、「興味のある技術を学び、発信して、おもしろい仕事を得る」という10年間回してきたサイクルが初めて揺らぐことになりました。

Sansan取締役の方からのメッセージ

そんな折、Sansanの取締役でありEight事業部長 兼 技術本部長である塩見さんからFacebookでメッセージが届き、オンラインミーティングにてこのポジションについて打診をいただきました。2

数年前に同じ話をいただいていたらもしかしたらまったく興味を持たなかったかもしれません。

ただ今の私にはこれ以上なく面白いチャレンジに思えました。(後述します)

選考

最初のメッセージをいただいたのが2021年12月20日。興味ありますとお伝えし、年末年始休みを挟んで年明けから2度ほどの面接を経て、オファーをいただきました。最終的な返答をしたのが1月20日。ちょうど1ヶ月で浮上し、決まったキャリアチェンジでした。

ちなみに就職活動をしていたわけではないので、他社の選考を受けたり比較検討したりは一切していません。

面接内容で印象に残っているのは、最初に

自己紹介を10分〜15分ぐらいで話してください

と言われたことです。

いつも話が長くなりがちで短くしなきゃ短くしなきゃと思ってる自分としては「えっ、そんなに長々話していいの!?」と嬉しくなりました 3。自分の考え方や仕事観を根掘り葉掘り聞いてくれて、非常に楽しかったのを覚えています。

興味を持った理由

冒頭で書いたとおり、私はマネジメント経験も研究開発部門がやっているような技術のバックグラウンドもないし、ずっとプレイヤー志向だった人間です。

なぜ今回のポジションをやりたいと思ったのか。また、門外漢の自分がどう貢献できそうと考えたのか。について書いておきます。

非線形な機会」だった

尊敬する先輩エンジニアの

勘違いした話しほど面白い案件はない

という言葉がとても印象に残っています。

フリーランスは何らかの既存の技術や実績を買われて仕事の依頼がくるもので、そこにももちろん新しい学びや経験は多くあるのですが、あくまで自分のこれまでの延長線上にある機会でしかありません。

しかし今回は、

  • iOSばかりやってきた人間に研究開発部門
  • フリーランスを好む一匹狼型プレイヤーにマネジメント

という「なにかの間違いでは?」と思えるようなオファー。明らかに僕がこのままフリーランスiOSエンジニアを続けていった延長線上にはない、「非線形な機会」です。

もともと、何をやるにもとにかく「時間がない」ことがボトルネックとなる状況が慢性的に続いていて 4、今の自分にもっとも必要なのは「人に任せる」スキルでは、と何年も課題に思い続けていました。

ただ、「自分でやる」のが好きでエンジニア稼業をやっている身。なかなかそこに踏み出せずにいました。かつて「英語を話せるようになるには英語を話すことだ」と思い英語しか話せない環境に飛び込んだように、マネージャーという「人に任せることしかできない環境」に身を置く今回の機会は、自分にとって不意に舞い込んだ重要なチャンスのように思いました。

「裏方として人の人生を応援するのも良いものだ」と思えるようになった

ずっと「自分の」技術力を磨き、「自分の」手を動かしてつくることが楽しく、マネージャーやリーダーになることには1ミリも興味がありませんでした。

そんな価値観が変わってきたひとつのきっかけはコミュニティの運営です。

僕が運営するコミュニティは当初サロンとして立ち上げましたが、今では僕自身が直接提供する価値はほとんどなく、僕は空気のような存在です 5。僕より技術力の高いエンジニアの人たち、僕にはない経験をしたことある人たち 6、僕より教えるのが上手だったりコミュニケーションが上手だったりする人たちが多くいて、教え合ったり励まし合ったり雑談したり、またイベントが開催されたりと、僕の介在しないところで価値のやり取りが行われています。

そんな中で、「裏方として」立ち回って皆が楽しく過ごす場作りをするのも良いものだな、という新しい価値観が自分の中で芽生えるようになりました。

マネジメントもいろいろなスタイルがあるとは思いますが、裏方としてメンバーが働きやすい状況・環境を整えていく、というのもまたひとつの役割だと思います。そういう観点でみると、まったく畑違いの門外漢「だからこそ」裏方としてメンバーを支えることに徹することができそう、そして今の自分はそういう仕事を楽しめそう、と考えました。

まとめ

長くなりましたが、iOSばかり12年やってきたフリーランスエンジニアが研究開発部門のマネージャーをやることになった経緯と考えについて書かせていただきました。

入ったらどんなことをやるのか、どういう貢献ができそうなのか、というのはまた「後編」として別記事に書くか、追記したいと思います。

入社まで残り数日となった今、心境としては不安が5%、楽しみ95%という感じです。こういうチャンスをいただけたことに感謝し、楽しみつつがんばりたいと思います。


  1. リモートワークよりも「オフィスにいってお客さんの横で一緒に仕事をする」ことを好んでいましたが、育児の都合ですべての案件をリモートにせざるを得ませんでした。(その後コロナが来てみんなリモートになりましたが)

  2. 最初に声をかけてくれた塩見さんは、長らくEightの事業部長をされていて、フリーランスエンジニアとして何度かお仕事をさせていただいたことがありました。何かを気に入っていただけたようで、今回だけでなく、これまでも折に触れて声をかけていただいてました。

  3. もちろん僕のことをめちゃくちゃ知りたいというわけではなく、そのプロセスの中でどんな考え方をするのかを見る質問だったようです。

  4. これはもう子供が生まれるよりもずっと前から。とにかく何をやるにも時間がボトルネックとなっていた。 https://note.com/shu223/n/n46a4c4d49fc5

  5. サロンがコミュニティに変化していった経緯はこちらのYouTubeにて詳しく話しています。

  6. たとえば土地を買って家を建てる経験があったり、起業・会社経営の経験だったり、車に詳しかったり、税務に詳しかったり、現役薬剤師さんだったり、自家発電して電力会社に電気を売っていたり、多くの有名なアニメで作画をしていたりと、基本的にみんなエンジニアではあるのですが本当にいろんなバックグラウンドの人がいます。

この10年の海外渡航歴を振り返る 2013〜2015

$
0
0

2013年1月、当時会社をやめたばかりの僕は、期限が切れかけていたパスポートを更新しに横浜のパスポートセンターへ。

ここがひとつのターニングポイントだったなと思います。ここから10年、実にいろんなことがありました。

ちょうど今ひさしぶりに海外に来ていて、おそらく今回の旅行で今の10年用パスポートともお別れということで、スタンプを眺めつつ振り返りをしてみようと思います。

2013年: 海外挑戦を開始

  • スペインに約1ヶ月住んでみた
    • はじめて英語でオンライン面接を受けたりもした

shu223.hatenablog.com

shu223.hatenablog.com

**

自分の中でいろいろ「始まった」年でした。ただ、海外で働きたい志向についてはある程度満足してしまい、それよりももっと自分の技術と実績を磨かねば、と考えるように。

シリコンバレーの名だたる大手テック企業からスタートアップにいたるまでスカウトメールがじゃんじゃんきました。ぼくの実績はこっちでも通用するんだなと思いつつも、英語でのコミュニケーションがやっぱりまだ自信がなかったんです。プロダクトをつくる上では、チームで議論を突き詰めていかないといい仕事ができないので。

それで、まずはエンジニアとしてのスキルをもっと突き詰めて、世界のチームから「ちょっと英語ができなくても話したい」と思われる存在になりたいと思いました。なので、日本でエンジニアとしての技術と実績をもっと磨こうと思いました。

インタビューより)

2014年: WWDC初参加

  • WWDC 2014
    • WWDC初参加
      • Swiftが発表された年。
      • スペインで会った人がAppleの中の人になっててバッタリ再会
    • WHILLの米国オフィスやKinomaのオフィスにも行った

shu223.hatenablog.com

**

この年は日本でのフリーランス活動と書籍執筆に専念していたので、海外に行ったのはこの1回だけのようです。

2015年: フリーランスとして海外挑戦を再開

  • WWDC15
    • この年からチケットがあってもなくてもWWDC会期中は現地に行くようになった

shu223.hatenablog.com

www.facebook.com

shu223.hatenablog.com

  • 初めてのリモート海外案件

shu223.hatenablog.com

shu223.hatenablog.com

  • ベルリンでのハッカソンの話はマンガにしていただいた

thinkit.co.jp

shu223.hatenablog.com

**

この年の中盤あたりまでである程度日本でのフリーランス活動に手応えと満足感を感じ、今度はフリーランスとして「また海外挑戦してみよう」と方向転換した年でした。

shu223.hatenablog.com

続く

振り返ってたら自分でも懐かしくて過去記事を結構読み込んでしまい、時間かかってしまいそうなのでいったんここまで。

海外フリーランス案件をもっと獲得すべく海外カンファレンス登壇に乗り出し、しかしひょんなことからアメリカで就職する2016年〜につづく。

技術書でご飯は食べられるのか? #技術書典

$
0
0

昨日開催された技術書典5にて、新刊「実践ARKit」と既刊「Metal入門」という2冊の技術書を販売してきました。これまで商業出版も含め何度か技術書を書いてきて、「技術書に儲けを期待してはいけない」1と思い込んできましたが、昨日一日の売り上げは約46万円(詳細は後述)。もしかしたら技術書を書くこと自体でそれなりに稼げる時代が来つつあるのかもしれない・・・と考えを改めました。

f:id:shu223:20181010015119j:plain

(技術書典5。自分のブースからの光景)

自分の書籍の中身やイベントがめちゃくちゃ楽しかったという話は本記事ではいったん置いておいて、そんな「お金」の面について具体的な数字、気付きなどを書いておきたいと思います。

1日の売り上げ詳細

実践ARKitMetal入門、どちらも製本版+電子版のセットで2000円で販売しました。どっちが何冊売れたかはちゃんと数えてないのですが、だいたい3:1ぐらいでARKitのほうが多かった感じです。

で、現地で約36万円売れて、Web(BOOTH)でも同日に10万円程度を売り上げました2

印刷代は合計で11.5万円ぐらいで、BOOTHは手数料が3.6%、ダウンロードコード発行代が約1万円(コンカ)。粗利だけで33万円という感じです。

この金額の意味するところ

とはいえ技術書典での1日と同じ水準で売れ続けるわけはなく、これからは電子版を中心にポツポツ売れるだけなので、実際のところ「ご飯を食べるタネ」としてはまだまだ心もとないかもしれません。

しかし、この金額は僕にとっては非常に大きな意味を持ちます。

というのも、いままでにちゃんと「本屋に並ぶ技術書」も書かせていただきましたが(いわゆる商業出版)、印税率は8%で、共著だとそこから折半なので、たとえば4000円の本を買ってもらって1冊あたり160円。初版2000部のぶんはもらえるので32万円。これが何ヶ月かフルタイムで執筆してのトータルの収益3だったのです。

また別の話ですが、僕はGitHubでいろいろとOSSを公開していて、合計で約23,000スターを獲得しています。もちろんスター数が絶対的な価値を持つわけではありませんが、しかしソースコードを公開してエンジニアコミュニティに多少なりとも貢献をしているとはいえると思います。

そんなGitHubpaypal.meのお布施リンクを置いてみてはいますが、いまのところトータル収益はゼロ円です。

それとはまた別に、Qiitaでは21,000コントリビューション以上ありますが、もちろんここからの収益はありません。

それとカンファレンスでの登壇は、(略)

つまり何がいいたいかというと、いままで技術情報の発信というのは基本的に無報酬、お金とは違うところに意味を見出しつつ、稼ぎはそれ自体ではなく別のところで得るしかなかった、ということです。

それが、今回の技術書典5では、技術情報発信(ここでは書籍)自体でそれなりの稼ぎがあったので、これはエポックメイキングだなと。

というわけで個人的にすごく楽しくなってきたので、今後の動き方を考えるためにも、今回の技術書典5を振り返って(売り上げの観点から)「やってよかった」と思うことを書いておきたいと思います。

やってよかったこと

前日からBOOTHで販売開始

今回の実践ARKitは、技術書典の前日にはBOOTHで電子書籍版の販売を開始し、告知しました。

あと、当日会場での「開封の儀」をツイートしたりと、タイムラインからでも会場の温度感が伝わるようにしました。

東京の池袋で1日だけ開催された技術書典。非常に盛り上がったとはいえ、東京以外にお住まいの方々にとってはこのためだけに来るというのはハードルが高いと思います。

  • 遠方の多くの人は技術書典に来れない
  • しかし注目はしている=熱気は届いている

というわけで、タイムライン見てて、なんかツイートとか流れてきて「いいな〜買いたいな〜」と思ったそのときにネットで買えるなら買ってしまうのではないでしょうか。「電子版は後日用意します」は思っている以上に大きな機会損失かもしれません。

印刷代の割増を恐れずギリギリまで書く

どんな時間管理術や仕事術を弄したところで、結局一番捗るのは締切間際、というのが現実かと思います。締切間際のあの集中力と決断力はプライスレスです。

ギリギリまで粘ると印刷代の割増料金がかかるといっても1日で5%程度、元の印刷代を仮に40,000円とすると、たかだか2,000円です。たったの2,000円で締切間際の集中力ブーストがもう1日分買えるなら買うしかない、と判断しまして、入稿を10%割り増し(2日延長)の10/4(技術書典は10/8開催)に行いました。この2日の作業で本のクオリティは50%はアップしたと思います。

安売りしない

前回の「Metal入門」は、技術書典初参加で、まったく空気感もわからず、「自分のとこだけ売れなかったら寂しいなー」と日和って1,200円という価格設定にしました。しかしこのMetal入門いまでも日本語では唯一のMetalのまとまった情報源で、非常にニッチな本なので、いくら安かろうがいらない人はいらないし、欲しい人は高くても買うという類のものです。なんせ代わりがないので。数は出ないけど高くても売れる、ニッチというのは弱みでもあり強みでもあるのです。

今回の新刊のテーマであるARKitはもうちょいメジャーで、同フレームワークを扱った書籍は商業・同人共にいくつか出てますが、しかしネイティブでのARKit開発(Unityではなく)を扱っていて、著者にしっかりとしたiOSのバックグラウンドがあり、体系立てて構成も練られている、となるとやはり商業出版含め代わりはないかなと思っています。

そんなわけで、「製本版+電子版とのセットで2000円」と、技術書典としては少し高めの水準の価格設定にしました4。結果的にはちゃんと売れて、合計としても前回の2倍という売り上げになったので、これでよかったのかなと思います。

売れ残りを恐れず刷る

「完売の誘惑」というのはあって、やっぱり早々に売り切って「完売しました!」とツイートして、他のブースまわったりしたい、というのはあります。

また普通の小売業にとって在庫を抱えるというのはリスクを伴うことだと思います。単純にうちの場合、余った本の箱を家に送ろうものなら奥さんに間違いなく迷惑がられます。

しかし今回、技術書典会場に【BOOTH倉庫に無料発送できる窓口】という窓口が設置され、

もはや売れ残りを恐れる理由はなくなりました。在庫が多すぎると保管料が1000円かかるとのことですが、送る物品のサイズ・重量・管理コストを考えれば、気にするべくもないめちゃくちゃリーズナブルな価格だと思います。

というわけで僕は当初の予定より1.5倍ほど多めに刷りました。もはや売れ残りすら楽しみになって、早くBOOTHの在庫に反映されないかなーと心待ちにしています。

おわりに

「やってよかったこと」を書いてみましたが、当たり前すぎますかね。。

とにかく、「技術の発信」でも収入が得られる時代が到来しつつあることが嬉しいです。お客さんの課題に対して技術力をふるう「案件」も好きですが、その仕込みフェーズ自体でも稼げるとなると、より自由に生きるための選択肢が増えたような、そんなワクワク感があります。

技術書典6で書きたいネタも山程あります。引き続き勉強と発信を続けていきたい所存です。


  1. 本屋に自分の本が並ぶというのは親にも親戚にも誇らしかったし、エンジニアとしての箔はついたと思うし、仕事に繋がった面もあるし、海外でも物理的な本は自慢になったし、もろもろメリット・デメリット比較して書きたいと思ったから書いたわけで、実際書いてよかったと今も思います。

  2. 新刊は前日からBOOTHという販売サイトにて電子版の販売を開始しました。

  3. 書いた本はどちらも2, 3回増刷されましたが、なんやかんやの規約があってなかなか増刷分は入ってこなかったりします

  4. BOOTHでの通常販売はもうちょい高めになっています。

マネージャーからエンジニアに戻ります

$
0
0

昨年4月、「研究開発部のマネージャー」という自分にとってまったく新しいキャリアにチャレンジする旨を本ブログにて報告させていただきました。

shu223.hatenablog.com

それから約1年越しでの続報となりますが、この5月末をもって、この新しいチャレンジからは降りさせていただきます。平たくいうと、マネージャーやめます。

普通はこういう記事ではそのキャリアの中で挙げた華々しい成果を並べ立てるものですが、正直なところ未だにマネージャーとしてめぼしい成果は挙げられていません。やっとスタートラインに立てたかな...というような状況です。

上長やメンバーにはマネジメント経験が一切ないところから多大にサポートいただき、その恩に報いるのはこれから、というところなので心苦しさもあり、そしてマネージャーとしての景色が見えてくるのもマネジメントのおもしろさがわかってくるのもまだまだこれからという中途半端感もあり、大いに悩みましたが、年始から上長に相談を始め、2月末に正式にやめることを決めました。

4月・5月と引き継ぎを行ってきて、6月からはエンジニアに戻ります。

またフリーランスエンジニアとしてお仕事をいただけるようイチから発信して・・・

・・・と当初は考えていたのですが、エンジニアとしてSansan社に残ることになりました 1。これからはまた手を動かすことに全振りしていきます。

youtu.be

(正式にエンジニアの仕事をスタートするのは6月からではあるが、現行業務の合間をぬってプロトを作ったりは既に開始している。このタッチ名刺交換のプロトはプロダクトに正式採用されることになった 2

マネージャーとして入ってきてわずか1年で辞めることになり、研究開発部のみなさんには徒に混乱を呼び非常に申し訳なかったです。外から来た初心者マネージャーを手取り足取りサポートいただき、ありがとうございました。そして、すみませんでした。これからはエンジニアとして少しでも恩返しができればと思います。

また、エンジニアの実績としてはここ数年停滞気味であると自覚しているので、また初心に帰ってコツコツと勉強と技術発信のサイクルをしっかり回していきたいと思っております。

以上、ご報告でした。


  1. 会社側からエンジニアとしてのおもしろいポジションを提案していただいたのと、僕の方でもせっかく1年間Sansan社の「中」に入れてもらって、いろんな人にサポートしてもらいながら組織や事業や保有技術についてキャッチアップしてきたので、何かまだ「中にいるからこそ貢献できること」があるならぜひ、という感じで残ることに決めました。
  2. プロト内で使用しているのはダミー名刺。また本動画は社内Slackに投稿したものですが、会社から許可を得て公開しています。

7年ぶりにWWDC会場参加してきました

$
0
0

ひさしぶりにWWDCの抽選に当選し、クパチーノまで行ってきました。

2019年まではチケットが当たらなくても現地に行ってたので、現地参加は5年ぶり7回目、

shu223.hatenablog.com

チケット当選しての会場参加は2017以来7年ぶり3回目です。

クパチーノ本社開催になってからは初。

思い出

出発

  • 郊外在住なので電車遅延の可能性を考慮して3時間半前に到着するよう出発(3時間半前に到着した)
  • 同じ便で行く日本人WWDC参加勢が多く、空港でビール飲んで既に楽しかった
  • 空港でも機内でもわりと作業が捗った 1

note.comこちらの記事に空港の様子が載ってました

6/8 到着初日

  • 週末だけ工事で?Caltrain止まってたので、Lyft乗り合いでクパチーノまで移動
  • 昼の到着だったのでチェックインまで2時間ほどロビーで作業
    • 「いらないかな...」と持っていくか迷った延長コードがさっそく役立った
  • 飲み会
    • もしこの予定がなかったらホテルで寝てしまって昼夜逆転しただろうから大変ありがたかった

6/9

  • この「記事みたいなマークダウンを自動生成」するツールがだいたい完成

  • Infinite Loopで受付 & パーティー
    • かつてのバッシュみたいな感じ
    • めちゃくちゃ楽しかった

並ぶと写真を撮ってもらえる(写ってるのは @myb さん)

  • パーティーラストまで居残り、その後とあるAirbnbハウスに移動して多国籍飲み

6/10

  • 初Apple Park

  • 基調講演
    • ゆっくり来たがちゃんと席取りできた
    • 見るのは結局動画なのだけどフェス感あって楽しかった

  • Xcode 16 beta / iOS 18 betaダウンロード大会

    • 会場に有線LANと電源ケーブル完備のダウンロード用のエリアがある
    • いち早くそこに Hacking with Swift の Paul さんが来ててさすがだなと思った
    • ダウンロードしつつランチも食べた
    • たまたまそのタイミングでiOSDCの採択通知も来た(そのとき横並びにいた日本人4人が全員採択)
  • Platform State of the Unionは最前列で見た(動画を)

  • iOS 18のサンプルを一通りビルドして実機で動かして試した

  • バスケさん、inuroさんといったベイエリア在住の方々と飲み会

6/11

6/12

  • 昨日お茶した友人に案内してもらって、日本からきたデベロッパー数人とMeta社のオフィスツアー
    • MPK21ってところはMITを彷彿とさせる遊び心あるオフィスで、めちゃくちゃ良かった
    • MPK10は10年以上前にも来たことがあったのだが、あらためてめちゃ良いと思った

  • 宿をクパチーノからサンフランシスコに移動

6/13 〜 16

  • 日中はひたすらWWDC24セッションのキャッチアップ(後述)、たまに散歩
  • Appleで働く方とカニを食べた
  • Fyusion時代の元同僚(今はApple)と飲み

WWDC24の勉強

キャッチアップと発信を同時進行。記事をたくさん書いた。

⭐ の記事は全文読めるのでぜひ。

あと帰国後ですがApp Intents関連のセッションをZennの方にまとめていってます。

zenn.dev

zenn.dev

WWDC24雑感 - 気になる新機能

  • 本命としてはApple Intelligenceだけど、現状実際の動作としては確認できないので、まだ様子見というところ
  • ただApp IntentsはAI関係なく魅力的な機能なので、これを機にキャッチアップして対応していきたい

  • Core ML周りも生成AI時代の到来に伴ったアップデートが行われ、ローカルLLMやCore ML Stable Diffusionを触っていて一番壁に感じていた部分を解決する新機能が入ったので、いろいろなモデルをCore ML化してiOSオンデバイスで動かして遊んでみようと思う

  • 他にもML周りは気になる機能がたくさん

    • 例: "ExecuTorch"(PyTorchモデルを直接動かせる機能?)
  • あとはDockKitと、Object Captureのエリアモードあたりで遊んでみたい

今後の登壇予定

キャッチアップした内容や調査したことについて発表すべく、いろいろ登壇予定です。

全部違うネタで話す予定です。

ネタはいくらでもあるので他にも発表させてくれる場があればぜひお声がけください。


  1. ただ実装はオフラインでCopilot使えない中やっても効率悪いなと思って他のことをやってた

try! Swift Tokyo WWDC Recap 2024 に登壇しました #tryswift

$
0
0

2024年7月12日に開催された「try! Swift Tokyo WWDC Recap 2024」にて、「Core MLのアップデート」と題して登壇させていただきました。

発表資料はこちら:

www.docswell.com

記事として再構成したものがこちら(スライド版よりこちらのほうがオススメです):

zenn.dev

会場はなんとApple JapanのCaffè Macs。

https://x.com/toyochang/status/1811674746838483273

発表中の様子 1

https://x.com/toyochang/status/1811677924736848178

https://x.com/toyochang/status/1811680791614881973

参加人数70名以上とオフライン発表としてはカンファレンス並みの規模/try! Swiftプレゼンツ/そして会場はAppleということでかなり気合を入れて 2発表準備を行いました。参考になる部分があれば幸いです。

当日のツイート:

togetter.com

またパネルディスカッションにも参加させていただきました。

https://x.com/toyochang/status/1811699862779629753

運営のみなさま、Apple Japanのみなさま、参加してくださったみなさま、貴重な機会をいただきありがとうございました!


  1. 会場内は撮影禁止で、特定のスタッフの方からの写真がXに投稿されるという形式でした。
  2. coremltoolsを用いたモデル圧縮というテーマは多くのiOSエンジニアにはなじみがないと思われるため、各圧縮手法について厚めに解説を行ったり、つかみとして(よりわかりやすい)新モデルの紹介とデモを最初に持ってきたりしました。

iOSDC 2019 に登壇しました

$
0
0

iOSDC 2019にて、「今こそwatchOS」というテーマで登壇させていただきました。

登壇内容についてはこちらにまとめました:

note.com

iOSDC 2020で登壇しました/初のオンラインカンファレンス参加の感想

$
0
0

iOSDC 2020で「機械学習のブルーオーシャン Core ML」という発表をさせていただきました。iOS×MLで実務でこういうことやってますよ、というのを解説しました。

詳しい発表内容についてはこちらにまとめました:

note.com

iOSDC 2022 に登壇しました/発表までの苦悩まとめ

$
0
0

「MLOps for Core ML」というタイトルで発表しました。

詳しい発表内容についてはこちらにまとめました:

note.com

iOSDC 2023 に登壇しました

iOSDC 2024に登壇しました/発表準備メモと会期後のキャッチアップ #iosdc

$
0
0

iOSDC Japan 2024という国内最大級 1のiOSカンファレンスで登壇させていただきました。

初回の2016年〜2024年までで通算8回目の登壇となります。

目次

トーク内容

資料と概要

今回は「GIS入門 - 地理情報をiOSで活用する」というタイトルで発表させていただきました。プロポーザルはこちらですが、もしタイトルを修正できるなら

「GIS入門 - 地図をしくみから理解し使いこなす」

とした方がより内容の実態に近いと思います。地図がどんなデータを用いて、どう描画しているのか、しくみから理解することで色んな応用ができるよ、という話です。

スライドはこちら:

www.docswell.com

MapKitやCore LocationはiOS黎明期からあり 2、「2024年にもなって、いまさら地図の話!?」と思われるかもしれません。しかし本トークはMapKitや特定SDKの解説ではなく、地図アプリケーションを構成するデータや技術について紐解き、それら本質的理解をもって地図/GIS領域であれこれできるようになろう、という趣旨のトークなので、いまさら?と思われた方もぜひ見ていただけると嬉しいです。

GIS楽しい

整理してみると要素はこれぐらいだったりします:

ツイートにも書いてますが、このあたりのことを理解しておくだけで、世界中の色んな団体が公開してる膨大な地図データや各種統計、衛星データ、3D都市モデル等々が自分の引き出しに加わって、一気に選択肢が広がってめちゃくちゃ楽しくなります。このトークが採択され、この領域について勉強する機会を得られて本当に良かったなと思います。

フィードバックください!

発表やスライドを見ていただけた方、以下からフィードバックをいただけると大変喜びます:

https://fortee.jp/iosdc-japan-2024/me/feedback/71a271a5-faea-4083-b0f9-1fa1487e42d6

当日の発表時間帯のツイート:

togetter.com

その他本発表への反応:

ちょうど、Map Kitを使ったアプリを個人で作っているところで、地図の仕組みについて気になっていたところでした。地図はラスターデータ/ベクトルデータ、地図タイル/タイルインデックスといった要素のもとに成り立っていることが分かりました。驚いた点としては3Dマップは3Dモデルが用意されているのではなく、3D的に描画しているという点でした。

iOSDC JAPAN 2024に参加してきた!|Shun

準備メモ

例年、「そろそろ準備しないとやばいのでは」「今年はさすがに間に合わないかも...」と焦るので、昨年あたりから簡単な進行メモを書くようになりました。

自分にはこれが大変有用だったので、お試しで今年の進行メモを公開してみます:

  • 8/3

    • 技術調査に着手
      • GIS関連の本を買ったり、Mapbox Maps SDK for iOSのサンプルをビルドしてみたり
  • 8/5〜8/9

    • Mapboxの公式サンプルのコードリーディング
    • GIS本を読み、内容を実践
    • ざっくり発表の流れ案を書いた

この時期に書いた記事:

note.com

  • 8/11〜8/14
    • 「MapKitや他のSDKなしで地図実装」サンプル実装
    • マップカスタマイズサンプル実装
    • 別のサンプル実装にもこの頃着手(流れから外れるので結局発表には盛り込まなかった)

この時期に書いた記事:

note.com

zenn.dev

  • 8/15, 8/17

    • スライド作成着手
    • 友人に流れだけ見てもらった
    • 8/16は進捗なし
  • 8/18〜8/19

    • Mapbox Studioを使ってカスタムスタイル作成 → iOSサンプル実装
    • ベクトルタイルについて調査(ローカルメモのみ、時間があれば記事にしたい)
  • 8/20

    • スライド作成に戻る
    • 友人・同僚に作成途中のスライドで流れを見てもらってFBもらった
  • 8/21(発表前日)

    • 東京へ移動
    • スライドの初稿ができた
    • 初めて通しでやってみた。途中資料の修正とかをやりながら話して37分ぐらい
  • 8/22(発表当日)

    • 通し練習と資料のブラッシュアップ
      • 最後の通し練習で26分弱(デモなし) 3

今年のトークテーマもそうですが、僕の場合は「登壇ドリブン学習」が登壇のモチベなので、基本的に

技術調査 → 実装(サンプル作成) → 資料作成

の流れで登壇準備が進行していきます。作成したサンプルが発表での解説の軸になる(こういうのをどう実現するか?を解説していく)ので、基本的に準備期間の80〜90%ぐらいは 技術調査 → 実装のサイクルを回しています。

大量のトークをいかにキャッチアップするか

高い競争率の中で選ばれた珠玉のトーク群、あれもこれも見たい。しかし会期中は自分の発表の準備や開発者同士の交流も忙しく、トークを見に行けないことも多い。

そんなわけで会期終了後に追っかけ再生でキャッチアップするわけですが、総トーク時間1,765分(30時間弱)もあるトークを忙しい日々の中でいかにキャッチアップするか。

クロージングより

例年であれば見たいトークをピックアップし、見たい順にスキマ時間をみつけては見ていく、という感じでやっていた(やろうとしていた)のですが、まーこれが頓挫します。ほぼ毎年ピックアップしただけで結局見ずに終わります。

というわけで今年はこうしてみることにしました:

  • day 0のトラックA〜D → day 1のトラックA〜D → day2のトラックA〜D、という順番でニコ生のタイムシフトを見ていく
  • 基本的に倍速再生(1.75x)し、スキップや早送りはどんどんやっていいが、戻ったり、メモのために一時停止したりは絶対にしない

この方法のポイントは、日毎、トラック毎に順番に見ていくことで、「どのトークから見ていこうかな」という優先度の意思決定が不要になることです。とにかくサッと取り掛かることができます。また全体の中でいまどのぐらい見終わったかという進捗状況も明確になります。

あとは戻ったり止めたりしないこと、これを課すことで、メモ等で無限に時間がかかってしまい途中で頓挫する問題を回避できます。どうしても見返したいトークは控えておいてあとで見返せばよく、とにかくまずは「見ようと思ってあれこれピックアップしたのに結局ひとつも見なかった」という最悪の事態を避け、「いったん見る」ことを重視した方針となっています。

今年はこれのおかげで、例年より調子良くキャッチアップできています。半日ほどで半分ぐらい見終わったので、実質4倍速ぐらいで見れているかもしれません。

勉強になったトーク

(たくさんあるので後でまとめます)

アフターイベント開催&登壇します!

iOSDCアフターイベントを開催&登壇します!

sansan.connpass.com

オフラインでぜひわいわいしましょう。

またその前日にあるSTORESさん主催のアフターイベントでもLTさせていただきます。

hey.connpass.com

どちらもiOSDCで話した内容とは別のテーマで話す予定です。準備がんばります。

おわりに

今年もiOSDC最高でした!自分の勉強としても有益だったし、懐かしい方やはじめましての方、おなじみの方々ともたくさん交流できてとにかく楽しかったです。

登壇直前の様子(ta_ka_tsu さん撮影)

前夜祭後のコミュニティ飲み。iOSDC参加してない人も含め14人集まりました(かっくん撮影)

オープニングパーティー後、神山.swiftの集まりにまぜてもらいました

ブースの中にこそ立っていなかったものの、何度も立ち寄らせてもらいました

主催者の長谷川さんをはじめ運営スタッフのみなさま、スピーカーのみなさま、参加者のみなさまどうもありがとうございました!来年に向けてまたプロポーザル案を温めておきます!


  1. 今年は参加者1500人超で過去最高だったそうです。
  2. しかも近年ではプライバシー系のアップデートがほとんど。
  3. 本番、自己紹介等いろいろカットし、質問タイムをつぶしつつも最後のデモまでやり切ることができました。おそらく25分ぐらい。
Viewing all 314 articles
Browse latest View live