WWDC三日目:あきらめの悪いApple


WWDC三日目も終わりました。セッション三昧の日々です。SiriKitやMessagesフレームワークなど、基調講演で華々しく打ち上げられた新機能に関するものもありますし、従来の機能を地味にアップグレードした解説もあります。

そうそう、今日弊社のスタッフと話していたのですが、WWDCのセッションは3つくらいのパターンがあるよ、と。まず「Getting Started」。これは、その分野をこれから使おうとする人に向けた、チュートリアル的な内容のセッション。次に「What’s New」。その分野での新機能を紹介するもの。そして「Advanced」。その分野を使い込んでいる人に向けて、上級の使い方を説明するもの。

今回のSwift関連のセッションでいうと、「Getting Started with Swift」がGetting Started系。「What’s New in Swift」「What’s New in Foundation for Swift」がWhat’s New系。そして「Swift API Design Guidelines」「Understanding Swift Performance」なんかがAdvanced系だね。自分がその分野を得意かどうかで、どれを聞きに行くか決めるといいよ、なんてことを話していました。

で、私は興味のあるTestingやらMetalやらのセッションをウロウロしていたんですが、結構アレ? と思うことがありまして。そういった特定のプラットフォームにフォーカスしていないセッションでも、tvOSやwatchOSの話題が出てくるんですよね。たとえばTestingのセッションでは、クラッシュログの収集というテーマで話していたのですが、デモとして使われていたのはtvOSアプリでした。もっともこのデモは、tvOSシミュレータがなかなか立ち上がらなくて失敗してしまいましたが。

他にもセッションの最後に、この技術をサポートするプラットフォームを明示するようになってました。「iOS、macOS、tvOS、watchOS」って感じでね。これが意外に、tvOSをサポートする技術が多いんですね。watchOSはさすがにいろいろな制約があるので、難しいものが多いみたいですが。

初日の基調講演を思い出してみると、確かに4つのプラットフォームでやっていくよ、って宣言してました。でも正直、そんな真面目に受け取っていなかったですよ、私は。今回参加した人たちも、tvOSとwatchOSにはそんなに期待していなかったんじゃないかな。そりゃ、Apple Watchが登場した2014、Apple TVがプラットフォーム化した2015は、興味津々でしたよ。でも市場での盛り上がりがそれほどでもなく、アプリを作ろうと思っても制約が強くて思い通りのものが作れなくて、熱が引いていきました。このままフェードアウトしていくのかなぁ、っていう気分でした。

それがなんか、Appleはやる気満々なんですよ。tvOSもwatchOSも特別なものではなく、4つのプラットフォームを同列のものとして扱っているんですよ。戦略として、これらの平準化を推し進めているという印象を受けます。iOSやmacOSの機能を、積極的にtvOSやwatchOSに移しているんですね。環境を整えることで、アプリの移植をプッシュしようということです。

私は常々思うんですが、Appleって意外とあきらめが悪いんですよ。Apple WatchやApple TVにしても、ヒットしたとは言い難いですよね。Siriだって登場した時はボロクソに言われていました。でもそういった製品や技術を地味にアップグレードし続けて、気がつくと標準になってしまっているんです。プラットフォーマーとしての矜持というか、意地というか。

だからセッションを聴いていると、tvOSではこういう機能にしようか、watchOSではこう展開しようか、って自然に考えちゃいます。こっちに来る前は、そんなこと全然考えていなかったのに。WWDCマジックですね。

おまけ。メキシカンを食べてきました。ロティサリーチキンです。

IMG_4384

green chile kitchen

WWDC二日目:バイバイNEXTSTEP(うわべだけ)


WWDC二日目です。会場をMosconeに移して、セッションやラボが山盛りに開催されています。やっぱり、Mosconeに来るとしっくりきますね。ホーム感があるわぁ。

IMG_4367

セッションは、一回の時間が短くなったんですね。40分くらい。それが一時間おきに組まれます。このくらいの方が、集中力が保たれていいかな。途中で眠くなる前に終わる感じです。

初日は新機能を中心に回ってみましたが、やっぱり気になるのはSwift 3でしょうか。Xcode 8をダウンロードして、試しに手持ちのコードをビルドしたら、出るわ出るわエラーの嵐。Cocoaの関数名や定数名を全部変えてきています。いったいどうなってんねん、とセッションを聞きに行ったら開口一番「Grand Renaming」。そうすか、またすか。

SwiftのAPIデザインガイドラインなるものを制定して、CocoaのAPIをすべてSwiftyにしたとのこと。たしかに今までObjective-Cそのままだったから、新しい名前の方がとても馴染むのは分かるけど、それを本気でぶっこんでくるか。でも、古いソフトウェアをそのままほったらかしにせず、常に手を入れて最新のトレンドに合わせていくのは、とても大切なことです。オーバーホールですな。

そんな流れで、いくつかのクラスから「NS」の接頭子が外れました。NSDataではなくてData、NSCalendarではなくてCalendarになります。NSは、もう知らない人の方が多いでしょうが、NEXTSTEPの意味です。そうか、ついにNSの名前も消えちゃうのか、と思ったらそうではないらしい。新しいDataやCalendarは値型でより軽量にアクセスするための構造体で、背後ではNSDataやNSCalendarが作られています。これらはCopy on Writeになるので、暗黙的なmutationが利用できるようになります。

目に付かなくなったけど、まだまだ背後で活躍するNSのクラス群。ジョブズの遺産は、Swift時代になってもその姿を変えながら、連綿と残り続けます。

おまけ。お昼は飲茶でした。

IMG_4368

 

Yank Sing

WWDC初日:未来は視えたか?


WWDC初日、KeynoteとState of the Unionが終わりました。

レインボーカラーのAppleフラッグが半旗で掲げられ、フロリダの事件への黙祷が捧げられる中で、Keynoteが開幕しました。ただのテクノロジーカンパニーではなく、ベイエリアおよび西海岸のカルチャーを牽引するAppleの意識が現れた行為でした。

IMG_4352

常々よく言われるのですが、WWDCには革新の年と成熟の年があります。新しい技術をボンボンぶっこんでくる年もあれば、それらを普及/定着させるために開発者を促す年もあります。今年は紛れもなく、後者でしょう。

大きなテーマは、アプリとシステムの統合だと感じています。いままでシステム優先で進めていたものを、アプリへの窓口を作って融合させていこう、というものですね。iMessageへの機能拡張、SiriKitによるSiriへの情報提供、Mapの機能拡張、などがそういった施策です。頑なにSandoboxによるアプリの独立性を訴えていた時期を経て、機能拡張およびNSUserActivityという仕組みを通じてアプリ間連携をさらに深めていくのでしょう。

成熟の年は逆に言えば、新しいものはなんもなかったということです。Google、MicrosoftやFacebookが攻勢を強める、ボットサービス、VRおよびAR、クロスプラットフォーム戦略に関しては、清々しいくらい何もないです。自分の信じた道をただ進み、周りはガン無視です。相変わらずだな、おい。

ただ一つだけ。ボットサービスに対するAppleの答えは、機能拡張によるiMessageの強化だと思っています。Facebookなどが進めるボットサービスの目的は、自称「AI」ソフトウェアによってテキストベースの応答サービスを提供することですが、そんなものはしばらく使い物にならないだろう、とAppleは考えています、きっと。その代わり、チャットサービスのAPIを解放して、人同士のコミュニケーションをリッチにする方がよい、ということだと思います。Siriにしても、音声認識サービスとしては進化させますが、それ以上の「AI」的アプローチは限定的に感じますし。それが現時点でのAppleのメッセージなんだと思っています。

結論としては、とても抑制的な、実現可能な未来を描いたものでした。いまできることをさらに強化することで、ユーザにアピールするのでしょう。物足りないといえば物足りないですが、まぁ、いつもAppleってそんなものですよね。中途半端な未来を提示するよりは、練り上げて出来上がったものをバンと発表すると。みんなの好きな「イノベーティブ」なAppleは、今年はおあずけってことでしょう。

おまけ。今日はシーフードを食べてきました。牡蠣や、生のはまぐりが美味しかったです。

IMG_4364

Anchor & Hope

WWDC 2016:前日レジストレーション


久しぶりのWWDCに参加しに、サンフランシスコにやってきました。8時間のフライトを経て降り立ったカリフォルニアは、相変わらずの雲一つないアホみたいな青空です。

ホテルにチェックインしたら、何はさておきカンファレンスのレジストレーション。今年はレジストとKeynoteはいつものMosconeじゃなくて、Bill Graham Civic Auditoriumでやるとのこと。初めていってきましたよ、シビックセンターの隣にあるんですね。観光地から外れるから、ちょっと違う雰囲気。

IMG_4338

会場前は車を通さない歩行者天国状態になっていて、ステージが用意されていたり。レジストも外でやってました。中の様子は伺えません。

今年のお土産はジャケット。これ、結構質感いいですよ。試着してレジストレーション完了! 背中の16が気合入っているぜ。

IMG_4343

KeynoteおよびState of Unionの展望ですが、アプリ屋としては、とにかくiOS 10とwatch OS 3に期待です。今年はいままで、GoogleやMicrosoftの動きが激しいですよね。チャットを前面に押し出した、会話ベースユーザインタフェースの提案。VRやARがいよいよ開始する期待感。Xamarin買収や、Ubuntu搭載による仁義なきプラットフォーム拡充など。とにかく新しいことやってやろうぜ、という雰囲気が盛り上がっています。Appleもこれに追従するのか、ガン無視して粛々と独自路線を突き進むのか、それとも驚きの隠し玉があるのか、世間の耳目を集めるKeynoteと、実戦略解説であるState of Unionはもうすぐです!

DropTalk 3、いよいよパブリックベータ開始!


droptalk3

HMDTでコツコツと作り続けているVOCAアプリであるDropTalkが、いよいよ最新バージョンであるDropTalk 3のパブリックベータを開始することとなりました! ようやく出せました。いやー、疲れたよー。

興味のある方は、こちらのページから参加申し込みを確認してください。興味のない方も、無料で参加できるので、よろしければどうぞ。

今度のバージョンは、とってもたくさんの新機能を搭載しています。その中から、このページ読みに来ているから技術的に面白いものを1つ。SVGファイルの読み込みと表示に対応しました。これで、iPad Proのどでかい画面でも、綺麗な絵を楽しむことができるんですよ!

もちろん、SVGレンダリングエンジンは弊社開発です。

Swift 2.2に対応しながら


いまさらながら、ボチボチと手持ちのコードのSwift 2.2、というか来るべくきSwift 3に向けた対応を進めています。無視しまくっていた警告をプチプチとつぶしています。みなさんご承知の通り、ほとんどがdeprecatedされたものですね。作業自体は別に難しくはないんですが。

結構大胆にいろんなものをdeprecatedしてきましたよね。「++演算子を使うな」と言ってきたり。「..<演算子を使った方がSwiftらしいからそうしろ(警告文直訳)」と言ってきたり。今回は全般的に、CっぽいものやObjective-Cっぽいものをザクザクと削除にかかってきている印象です。言語設計者に、Swiftかくあるべし、という確固たる思想があるのを感じさせますね。

プログラミング言語のバージョンアップっていうと、普通は色々な文法を付け足してきてブクブクと肥大化していきますよね。Javaとか、Javaとかね。あとJavaもか。それに比べれば、文法を削りにきてるってのは健全かもしれない。普通はやらないですよ。昔のコードが動かなくなるんだから。みんなやりたくてもやれなかったことを堂々とやるのは、AppleらしいといえばものすごくAppleらしい。

とはいえ、ちょっとストイック過ぎんじゃない? って気もしますね。文法を変更した経緯は丁寧に説明されていて、++演算子を削った理由とか説明されているんですが、まぁ一言でいえばSwiftらしくなくて嫌だ、ってことですか。

理由の一つとして、

x++はx+=1と比べてそんなに短くならない

と述べられたりしてるんですが、それを言っちゃあおしまいでしょ。

シンプルさの追求や曖昧さをなくす、といえば聞こえがいいですが、一歩間違うと多様性の排除にもつながっていくでしょう。ま、プログラミング言語や技術に対して、多様性が善として働くとは限りませんが。Swift 3に向けてどうなっていくか、興味深いです。

なぜWWDCに行くのか


WWDC 2016、無事当選しました! 今年もまた抽選でしたが、嬉しいことに当選メールが届きました。なんとなくですけど、今年はネットニュースや私の周りのSNSではいまひとつ盛り上がりに欠けていたので、参加人数の増加も一段落したのかな、と感じています。誰も彼もが参加していたブームが去って、行きたい人が普通に行けるようになったのはいいことだと思います。弊社スタッフも当たったので、今回は二人で参加することになりました。

WWDCに行って得られるものは何でしょう? 昔はここでしか聞けない話というのがあったのですが、ほぼすべてのセッションがストリーミングで見られる昨今、情報のためってわけではないですよね。じゃあ、人脈を作るため? Appleのスタッフに質問するため? ティム・クックの顔を拝むため? 私個人に限って言えば、勉強の時間を確保するため、なんです。海を渡って、世界中の開発オタクが集まる特異な場所に、5日間強制的に自らを放り込むんです。これが必要なんですよ。たとえ同じものを日本でネット経由で見たとしても、日々の雑務に追われて全く身に入らないでしょう。こうして得たものが、次の一年間の仕事のネタとモチベーションになります。

あと楽しみなのは、やっぱりご飯ですね。私、3年半ほどアメリカに住んでたことがあるのですが、その時に知ったのは、アメリカにもうまいメシは探せばある(探さなければマズいメシばかり)ということです。なので必死こいて、それぞれの都市を訪れるたびに、うまいメシ屋リスト(食べられるものを出す店)を作り上げていました。久しぶりに訪れるサンフランシスコで、そのリストを確認したり更新したりするのが楽しみです。

HMDT株式会社は新入社員を募集します


2月25日追記:募集は締め切りました。たくさんのご応募ありがとうございました。

HMDT株式会社では、新しい社員を募集することになりました。興味のある方は、以下の募集要項をお読みの上、mkino@hmdt.jpまでメールをお送りください。

HMDTはどんな会社?

HMDTは、ソフトウェアの開発を行っている会社です。主体となっているのは、やっぱりスマホ向けアプリです。とはいえスマホ以外もやっています。今のところ、iOS向けが50%、OS X向けが30%、Android向けが20%といったところです。力の配分がね。

開発の仕事は、他の会社さんから頼まれて作るもの(受託開発というやつです)と、自分たちで企画から販売まで行うもの(自社開発です)とがあります。今のところ受託がメインですが、来年度は自社開発の比率がグンと上がる予定です。

社員は、いま3人いますが、一人辞めることになりましたので、新しい人を探しています。

会社の事務所は、東京は文京区の本郷にあります。ソフトウェア会社としては珍しい場所ですね。近くに東大(本郷キャンパス)があります。歩いて10分圏内に、上野公園、東京ドーム、お茶の水などがあります。ここにあるマンションの一室で仕事をしており、こちらに出社してもらうことになります。リモートワークなどは、今回の募集では考えていません。

どんな仕事をするの?

今回募集する方にお願いするのは、まず経理です。具体的には、帳簿の記帳、給与の計算、銀行での手続き、になります。お金の処理に関することを全般的に、ってとこですね。

帳簿の記帳には簿記の資格が必要ですか?、と思うかもしれませんが、必要ないです。3人しかいない小さい会社なので、大層なことはやりません。というか、簿記の知識や給与計算の知識がなくとも、未経験でも大丈夫です。こちらで教えます。さらに、帳簿には税理士の先生が、給与の計算には社労士の先生が、ビシッとサポートしてくれます。うちの顧問の先生方は、初心者の教育に慣れています。私も鍛えられました。

主たる業務である経理の仕事は、実はそんなに分量がないです。何せ小さい会社なんで。そこで余った時間で、開発のアシスタントのような仕事もお願いしたいと考えています。

ソフトウェアの開発というのは、知ってるかもしれませんが、中心はプログラミングという作業になります。プログラミング言語を駆使してバリバリとソースコードを書くお仕事です。超理系のイメージですね。でも必要となる作業は、それだけではありません。例えば、企画や仕様を固めるときに、他のアプリの挙動を調査することもあります。画面に表示するボタンとなる画像を用意することもあります。文言を他の言語に翻訳する、ローカライズという作業があります。完成が近づいてきたら、入念な動作確認を行います。公開する時は、Webサイトを用意したり、プレスリリースを打ったり、Twitterでお知らせしたりします。ユーザにダウンロードしてもらったら、質問に答えたり、要望を聞いたりします。こうしてみると、理系や文系といった分類が意味なくなりますね。

うちの会社は、こうした開発に関わる諸々を、プラグラマも含めてみんなでやっています。新しく入る方にも、これを手伝っていただきます。色々な分野の作業がありますが、知識や経験がなくとも構いません。こちらで教えます。作業によっては、プログラミングの知識も必要になってきますが、これも未経験で大丈夫です。こちらで教えます。

どんな人を募集しているの?

今回の募集では、経験の有無を問いません。職種としては、経理及び開発アシスタントといったことになるのですが、これらの仕事に対する経験はなくとも構いません。さらに、社会人としての経験の有無も問いません。新卒でも働いたことない方でも構わないということです。

求めるのは、新しいことに挑戦する気概です。おそらく、いろんなことをお願いすることになります。Excelで入力してとか、会計ソフトで記帳してとか、Illustratorで画像作ってとか、iPhone操作してとか、Android操作してとか、Xcodeでビルドしてとか、githubでコード管理してとか、ブログ書いてとか、Twitterでツイートしてとか、LINEスタンプ作ってとか。これら全部経験しておいて、というのは無理な話ですよね。

欲しいのは、こういった未経験の作業をお願いした時に、よし、やってやろう!と思う気持ちです。こちらで教えられることもありますし、一緒に勉強しながらやるものもあると思います。その過程を楽しむことができる姿勢です。

募集に際しては、年齢や性別は問いません。ただ、すでに十分なキャリアを積んだ方にはふさわしい仕事ではないだろう、と考えています。

あ、あと一つだけ。うちの会社、Macばっかりなんです。だから、Mac嫌いじゃない人がいいなぁ。

HMDTは何を目指しているの?

HMDTはソフトウェア開発会社ですが、いわゆるスタートアップではないと自認しています。ゴールとして上場を目指すわけではないし、規模をとにかく大きくしてやろうというわけでもないです。でも、やりたいことはいくつかあります。

一つは、技術を使った社会貢献、というと大げさだな、技術を使って今までうまくいかなかったことをできるようにしたい、というものです。

HMDTでは様々なソフトウェアを開発していますが、一つの大きな柱として「DropTalk」というアプリがあります。これは、AAC(Augmentative & Alternative Communication、補助代替コミュニケーション)の一種であるVOCAです。まぁ簡単に言うと、コミュニケーションに障害を持っている子供達に使ってもらうアプリです。多くの方には馴染みがない分野ですが、すでに5年以上DropTalkの開発を行っており、たくさんのユーザの方に使っていただいています。これの機能及びプラットフォームを拡大する、というのがここ数年のミッションになっています。

DropTalkを開発していて嬉しいのは、やっぱりユーザの方の声を聞いた時です。今までコミュニケーションがうまく取れなかった子が、DropTalkを使うことで色々な気持ちを伝えられるようになった、という話を聞いたら、技術者冥利に尽きるんですよ。技術の力で、今までできなかったことができるようになる。これが技術の会社としての、HMDTが目指すところです。

もう一つやりたいことは、クリエイティブ支援です。これも簡単に言えば、何かを作りたい人を応援したい、ということです。

何かを作りたい、という気持ちを抱えている人は、いつの時代にも絶対一定数います。絵を描きたいとか、音楽を演奏したいとか、文章を書きたいとか、フィギュアを作りたいとか、マンガを描きたいとか、とにかく何かやりたいんだよ!っていうモヤモヤとした気持ちです。この想いを応援したいんです。というか、私がいつもその気持ちに苛まされています。

それをiPhoneやiPadやMacのソフトウェアという形でサポートする。新しい技術が、想いを形にする手助けとなる。というのも、また目指すところの一つです。

こんなことをやりたい会社です。それを手伝ってくれる人を募集します。

募集要項

募集人数:1名

職種:経理及び開発アシスタント

経験の有無:不問

勤務地:東京都文京区本郷
通勤できること

勤務時間:9:00-18:00(休憩1時間)
週休2日
祝日、夏季休暇、年末年始休暇、有給休暇あり

待遇:正社員(試用期間あり)
社会保険、厚生年金あり

給与:月給220,000円
賞与年2回

選考方法:面接

興味のある方は、mkino@hmdt.jpまでメールをお送りください。

2月25日追記:募集は締め切りました。たくさんのご応募ありがとうございました。

HMDTがApple TVに興奮しているワケ


Apple TVなんですけど、うちの会社内で盛り上がっています。なんと! 先日、Developer Kitの抽選に当たったとの連絡がありました。イェイ! 数日中に送られてくる模様です。

apple-tv-siri-remote-tvos-0001

なんとなくネットの空気としては、それほど期待されていない感覚が漂うApple TVですが、HMDTでは大変注目しております。なぜか?

まず最初に言っておきますと、正直、テレビ機能なんてどうでもいいんです。テレビ見ないし。日本ではしばらくロクなサービス始まらないだろうし。Apple TVって、テレビって自称している割には、テレビとして最重要機能であるはずのチューナーもないですしね。

つまりは、単純にAppleが提供する新しいプラットフォームの一つなんですよ。いままでは位置付けが不明瞭でしたが、アプリ開発を解放したおかげで明確にプラットフォーム化されました。これでAppleのプラットフォームは、Mac、iPhone/iPad、Apple Watch、Apple TVの4つですね。

Apple TVプラットフォームの特徴は、

  • 大画面スクリーンを使うこと(40インチから70インチ)
  • 入力デバイスとしてリモコンを使うこと、

です。つまり、みんなで使うデバイスってことですね。パーソナルデバイスではない。リビングとか、教室とか、会議室で使うものです。

こういうデバイスが、いままで微妙になかったんですよ。そりゃ、MacをプロジェクターやTVにHDMI接続することはできますが、いまいちチグハグ感がぬぐえなかった。たとえば、プレゼンでKeynote再生している間はいいんだけど、それが終わるとパーソナル環境が白日のもとにさらされちゃうんですよね。プレゼンが終わった瞬間にMacを引っこ抜きたくなる衝動にかられた人は、きっといるはず。

あと、リモコンですね。片手で遠隔操作できるユーザインタフェースというのは、意外になかった。iPhone/iPadは、スクリーンとくっついているし。Macのマウス+キーボードは、机に座ってじっくり使うのがあっている。みんながいる空間で、同じところを見ながら操作するには、確かにリモコンが似合っている。

リモコンなんて古臭い、というなかれ。Siri Remoteにはタッチサーフェースがついている。これによって、従来のボタン型のリモコンに比べて、圧倒的な表現力を手に入れたんですよ。Siri? Siriなんぞどうでもいいんです。このリモコンは、ほんとはTouch Remoteと呼ぶべきだ。

というわけで、いままでにないカテゴリに踏み入るApple TVプラットフォームは、刺激的で、うちで作っているアプリにぴったりです。全力で対応中。というか、おぉこんなことができるぜ、と言いながら遊び中。

歴代iPad/iPhoneデバイスの画素数での大きさ比較


iPad ProやApple TVが相次いで発表されたけど、最近のデバイスはでかい。正確にいうと、画素数が多い。

どのくらい多くなったのか、比べてみた。Xcdoe 7.1ではiPad Proのシミュレータがついてくるので、これを使って歴代のiPadの大きさを画素数ベースで比較してみた。

ipadpro

 

大きくなってるねー。初代サイズ(iPad 2)と比べると、隔世の感がすごい。

ついでに、iPhone系のデバイスも比べてみた。

iphone6splus

 

こちらも大きくなった。何気に、iPhone 6sとiPhone 6s Plusの差がすごい。デバイスサイズはそれほど変わらないけど、画素数で比較するとかなり差がある。

Apple WatchがiPhone 3Gにせまる画素数になっているのも驚きだ。テクノロジーの進歩がわかりやすく実感できる。

さてここで、大きい大きいといってもあまり実感できないかもしれないので、iPad ProをiMac 24インチと比べてみよう。

ipadpro_vs_imac

でかっ! でかいよこれ! 画面に収める気がまったくないだろ。

ついでに、Apple TVも比較してみよう。

appletv_vs_imac

こんなもんだ。十分に収まる。通常のTVにあわせて、1080pだからな。

こうやって比較すると、iOSデバイスの異様な画素密度がよく分かる。遠くに置くデバイスよりも、手元にあるデバイスの方が稠密にする必要があるんだね。