カテゴリー : HMDT

10周年のご挨拶


HMDTは、この4月2日で設立10周年を迎えました。よく10年もつ会社は6%程度とかいいますが、どうにか生き残ることはできました。

会社作ったのは10年前ですが、その前に個人事業主として独立しました。それが12年前かな。とにかくMacでプログラムを書く仕事がしたくて、それには独立しかなかったですよ、当時は。その2年後にiPhoneが登場してAppleを取り巻く状況がガラリと変わり、それからは怒涛の10年間でした。

IT系で独立した企業だと、ベンチャーとか、スタートアップとかと言われることがありますが、自分の10年間の軌跡を見ると、それらとは違うかなと思います。なんていうのがしっくりくるのかな。IT系零細企業かな?

まじめに考えると、エンジニアである私が、エンジニアとして生きていくために作った会社、でしょうか。最初に入った会社は大企業だったんで、エンジニアとしての能力、特にソフトウェアエンジニアとしての能力があまり要求されなかったですね。結構、欲求不満でした。自分で書きたいコードを書くには独立するしかないぜ、と思い込んで、29歳で辞めました。

独立してからは、必然的に経営や管理という仕事が発生してきます。そのあたりの知識や経験はまったくなかったので、体当たりで覚えていきました。でも自分がコードを書きたくて独立したので、どうしても経営にさく時間や熱量は低くなりがちでした。その辺り、うまく管理できなかったり、十分な給料が出せなかったりで、いままで働いてもらった人たちには不満があったと思います。振り返ると苦い思い出です。

そんな10年間の反省をふまえて、いま自分の気持ちを見直してみると、いちばんに出てくる思いは、やはりエンジニアとして生きたいな、ということです。コードを書くのが好きなんです。コードさえ書いていれば幸せなんです。じゃあ、どっかに就職すればいいんじゃないか、というとそうでもないことも分かってきました。

コードを書いていれば、もっとより良いコード、より良い設計、より良いインタフェースが浮かんできます。でもそれには、クラス構造を変えないといけないし、仕様を変更しないといけないし、ということはスケジュールも変えないといけないです。つまり、エンジニアリングサイドの要望に対してmake decisionを行う権限、つまり決定権が必要です。自由にコードを書くには、それを許容して責任を取れる権限が必要なんです。

そりゃこんなこと考えていれば、就職なんてできなくて独立してやるしかないですね。

というわけで、今日もたくさんコード書いています。コード書きと経営の比率は、8対2くらいでしょうか。1日に12時間コード書いて、ちょろっと経営の仕事するって感じです。

管理もどうにかできるようになってきました。重視しているのは、チームは少人数でいいことと、ゴールを共有することです。いま書いているアプリは、どういうものを目指しているのか。ユーザにどの機能を楽しんで使ってもらいたいのか。できあがったらどんな格好良い画面ができるのか。そんなことをこまめに話し合うようにしています。そうすると、書いているコードの方向性が揃ってくるんですよね。

ひとりのエンジニアとしても、成長できているかなと感じています。当方42歳ですが、ここだけの話ですが、コード書くのが上手くなってきました。一年前の自分より、半年前の自分より、ぜったい上手くなってるという実感があります。自分のコードを読み返して、うわダッサ、いまのおれの方が確実にうまいぜ、とブツブツ言いながら書き直してます。楽しいです。

そんなわけで、エンジニアとして楽しくコードを書くためにがんばってきた10年間でした。次の10年間もコードを書きますよ。あと、チームをもう少しだけ大きくしたいかな。

ちなみに弊社で開発したアプリ、『中日・日中辞典』と『大辞泉』が、4/8まで新生活応援キャンペーンで値下げセール中です。新生活で辞書が必要な方、ぜひこの機会にお求めください。

では、次の10年生き残ることを祈りながら、よろしくお願いします。

2017年仕事始め


あけましておめでとうございます。

2017年の仕事始めをやっております。去年は、DropTalkに始まりDropTalkに終わりましたが、今年もそんな感じの年になりそうです。

現在DropTalkはベラボーに対応プラットフォームを増やしていまして、リリース済みのiOSとAndroidに加えて、Windows 10、macOS、tvOSを開発中です。プログラム言語も、朝はSwift、昼はJava、夜はC#というように切り替えながら使っています。マルチリンガルな気分です。

なかなかこちらのブログの更新時間がとれないですが、弊社スタッフ三人でやいのやいのと楽しくやっております。では、今年もよろしくお願いします。

DropTalk 3をリリースしたので、プログラマ的に自慢してみる


HMDTでコツコツと開発を続けているVOCAアプリ、DropTalkの最新版であるDropTalk 3が公開されました! 今日のところはまずはDropTalkをリリース。DropTalk HDとDropTalk HD Freeはもう少しお待ちください。現在審査中です。DropTalk 3の詳しい情報は、こちらのDropTalkのページを参照してください。

DropTalk 3は、前のバージョンから大幅な機能アップをしました。すんごい大幅なんです。もちろんユーザにとって便利な機能を実装していったわけなんですが、結果的にプログラマとして大きいチャレンジになるものがいくつかあって、それらをガシガシと実現していきました。これが楽しかったんですよ。

ということで! HMDTのサイトでは、DropTalk 3におけるプログラマ的に注目してほしいポイントを紹介していきます。単なる自慢ですね、これは。

Finderライクなファイル管理

DropTalkではキャンバスと呼ばれるファイルを作るんですが、以前のバージョンではフラットにしか管理できなかったんです。当然、キャンバスの数が多くなると管理が困難になります。ユーザの方に聞くと、数十とか100とか平気で作ってしまうらしいんですよ。これはもう、フォルダを導入して階層管理にするしかないでしょう。

iOSでフォルダを利用した階層管理を実現しようとすると、問題になるのがユーザインタフェースです。UITableViewでチマチマやるのも格好悪いし。よーし、これを作ったれ! ということで、気合を入れてファイル管理ユーザインタフェースを作りました。

基本的な操作はドラッグアンドドロップです。ドラッグして、項目の並び替え、フォルダに入れる、といった操作ができます。上の階層に戻すときは、ナビゲーションバーにドラッグするようにしました。あと、メニューを使って、カット/コピー/ペーストもできるようにしました。Finderですな、こりゃ。

 

UICollectionViewの編集

UICollectionViewが大好きです。最近は、ほとんどのアプリのユーザインタフェースは、これで組んじゃいます。でも、使い込んでいくうちに欲しくなるのは、編集機能。UITableViewみたいに、行や列の追加や削除ができたり、並べ替えができたらいいのになー、と思ってました。

ないものは作ってしまえー、ということで作りました。UICollectionViewに編集モードを追加して、行や列を自在に編集しています。

これは特に難しいことをしているわけではなくて、ほぼ用意されているメソッドだけで作りました。insertItemsIndexPaths:とdeleteItemsAtIndexPaths:を駆使しています。難しくはないけど、泣きそうになるほどめんどくさかったです。

SVGレンダラの作成

DropTalkは、可愛らしいシンボルが魅力です。これはできるだけ綺麗に描きたいところ。が、年を追うごとにiPadの画面がどんどんでかくなってきて、リソースとして保持しているPNGファイルじゃ解像度が足りなくなってきました。iPad Proの画面サイズなんてどうすりゃいいのよ。もっと大きいPNGファイル作る? それだとアプリサイズがどんどんでかくなってしまいます。

これを解決するには、ベクタファイルに対応するしかないね! ということで、シンボル画像をSVGファイルに変換して、それを表示するためにSVGレンダリングエンジンを作りました。これなら、どれだけ画面が大きくなっても大丈夫です。iPad Proでもこの美しさです!

svg_renderer

 

 

こんな感じで、プログラマ的に面白いことを色々とやってみました。やりたいと思ったことに、チャレンジできる時間と技術の余裕があったのが嬉しかったですね。

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デバイスの異様な画素密度がよく分かる。遠くに置くデバイスよりも、手元にあるデバイスの方が稠密にする必要があるんだね。

 

 

iOS 9対応ビルド、ひたすらアップロード中


先日行われた9月10日のイベントで、iPhoneやらiPad Proやら登場しましたが、無事に新しいiOS 9の公開日も決定しましたね。それは9月16日! この時点で、公開まで6日しかないぜ。いつもより短い!

イベント後、Xcode 7 GMが公開されて、さぁ即日ビルドするぜ! と勢い込んだものの、その日はいまだiTunes Connectではビルド受付せず。えー、なんでー。と、しょぼくれていたら、12日に「これからアプリの申請受け付けるよーん」というメールがAppleから届いた。この時点で4日前。

でも12日は土曜日だったので、動きが取れず。週明けの本日月曜日になって、朝一からビルドしぃの、アップロードしぃの、リリース書きぃの、とモリモリやっております。しかし、すでに公開まで2日前。これ、間に合わないよね、きっと。申請受付が遅すぎるんだよ、Apple。

さて。iOS 9の便利機能の一つは、スライドオーバーと、スプリットビュー。iPadで使える画面分割マルチタスクってやつですね。弊社の国語辞典アプリ『大辞泉』も対応しました。こんな感じで、Safariを使いながら辞書を使うことができるよ。

daijisen_slideover

『大辞泉』特有の、一画面に検索語と語釈を表示する仕組みが、この機能にベストマッチ。知りたい言葉をさっと調べることができてるね。いや、ほんと便利だよこれ。

バージョンアップした『大辞泉』は、審査通過次第公開です。