HMDT - Logic and Intuition -

about HMDT

HMDT Journal

January, 2010

Jan 29

いきなりiPadの開発案件が動きまくっております。iPadほんとに売れんのかとか、iPhoneとiPad両対応だと開発の手間が二倍になるとか、いろいろ言いたいことはあるけど、初物は出したもん勝ちなんだよ。アラを探す前に、まず手を動かせ。

Jan 28

iPadすか。

早速iPhone Dev Centerに、iPhone OS 3.2 betaと、iPad Programming Guideが登場!ダウンロードして読み込むべし。。。つながんねー。

iPhone OS 3.2にCore Textが来た!さらに、カスタムテキスト入力を実装できるUITextInputってのがある。ということは、自分でテキスト入力アプリ作れるっていうこと?Apple製のキーボードだけじゃなくて、サードパーティでも作れるっていうこと?これは、かわせみの出番か。

さらに、スプリットビュー来た!外部ディスプレイサポート来た!ジェスチャーサポート(タップ、ピンチ、パンニング、スワイプ、回転、長押し)来た!カスタムフォントサポート来た!ファイルとドキュメントサポート来た!PDFサポート来た!カスタムポップアップメニュー来た!今すぐうちのアプリで使いたいものばっかりだ。

これならフルスペックのデスクトップアプリ作れるよ。なんつーか、これもう、Mac OS Xじゃん。レガシーなもの切り捨てた、スマートな理想のMac OS Xじゃん。

話は変わって、iMandalArtの話。iPhoneアプリとしてご好評いただいているiMandalArtだけど、この度、「Mandal-Art Dev」っていうブログをスタートさせた。

開発者の立場から、いまiMandalArtではこんなことやっているんだよ、というのを伝えるのが目的だ。他にも、「iMandalArtがこんなところで紹介されていた」とか、「次のバージョンではこんな機能を実装中」とか、「将来的にはこんなものを作る計画もあるんだよ」とかいう情報を出していく予定だ。

執筆するのは、iMandalArtの開発、デザイン、広報の担当者達。みんなでいろいろ書いていくので、ぜひ目を通してみてね。

Jan 26

いま、お金を取り扱うアプリを書いている。コンピュータでお金を扱うときに一番最初に気にしなくてはいけないのは、そのデータ型。intにする?いや、それじゃ桁がたりない。じゃ、longか。待て、その前に円だけじゃなくてドルも扱うかもしれない。となると、セントのことも考えないといけない。じゃ、doubleか。でもdoubleで計算するのいやだなー。結局は、decimalですかい。

Cocoaの場合はdecimalを扱うために、NSDecimal構造体と、そのラッパークラスであるNSDecimalNumberというクラスが用意されている。どっちを使ってもいい。NSDecimalNumberの方はオブジェクトになるんでメモリ管理に気を配らないといけない。演算は普通の+とか-は使えなくて、専用の関数やメソッドでやる。面倒だ。でもお金をきっちり扱うには、これを使いこなさなくてはいけない。

NSDecimalNumberのいいところは、Core Dataに統合されていること。Core Dataさえ使えば、読み込みと書き出しについてはほとんど気を使わなくていい。よーし、モデルエディタでdecimalを設定するぞ。と思ったら、データ型を設定するポップアップが「10進」って訳されている。

そこ訳さなくていいから!かえって分かりにくいから!Decimalにしといて。

Jan 23

最近、よく公私ともに聞かれるし、先日社内で方針を確認したとこなので、ここにも書いとく。

それは、Androidのこと。「Androidアプリを作ってくれ」という仕事をよくいただくんですけど、現時点(2010年1月)ではHMDTはAndroidアプリの作成を行なうつもりはないです。

一番の理由は、この会社はもともとMacの仕事をしたくて作ったものだから。iPhoneが出たときは、もちろんAppleプロダクトだから、いの一番に飛び込みましたよ。単純にAppleが好きだから。別に、「スマートフォン市場が右肩上がりの成長が見込めるから、iPhone市場に参入してそのプレゼンスを云々」とかいうことは考えていなかった。だから、Androidが伸びるかもしれん、と言われてもやる気は無い。あんなものに愛情はそそげない。

会社の規模として、iPhoneとAndroidの両方に手を広げるのは厳しい、というのもある。うちの社員はいま7人。この人数では、開発ターゲットを絞るしかない。選択と集中ってやつですな。

あと、iPhoneアプリの売り上げでどうやら会社がやっていけそうだ、という目処がついてきた、ってのもある。いまのところ、売り上げランキングのTop 30くらいに、コンスタントにうちで開発したものが2つか3つくらい入っている。今後予定されている大きなプロダクトのことも考えれば、充分やっていけるでしょう。

ま、現時点の考えなんで、三ヶ月後に変わっているかもしれないけど。Androidアプリ市場がiPhoneのものよりも大きくなったら、渋々参入するかもしれない。でも、あのドコモから出たAndroid端末?個人的に、これっぽっちも欲しいと思わない。

Jan 22

CNETにアビー・テバニアンのインタビュー記事が載っている。おぉ、アビーだ。

アビーと言えば、カーネギーメロンでMachを作り、NeXTでNEXTSTEPを作り、AppleでMac OS Xを作った、まさにいまのAppleのソフトウェア資産のど真ん中を作った人。昔はきちんとコードを書いていた人で、DarwinにあるMachカーネルのソースコードを見ると、Authorのところにアビーの名前があったりする。私にとっては、ヒーローの一人です。

Appleを辞めた後はベンチャーキャピタルに関わっていると聞いて、そうかアビーもそんなつまらん仕事するようになったのね、と思っていたところ、この記事が出た。記事中、「これはベンチャーキャピタルの仕事ではありません。プライベートエクイティの仕事です。」と言っているけど、正直どう違うのかよく分からん。単に金銭面を見るだけでなく、アビーの技術的専門知識を使って会社の価値を上げる仕事、という風に考えればいいのかな?

CNETのインタビュアーの質問は下世話でくだらないものばかりだし(今、持ち歩いている携帯電話は何ですか。とか)、アビーはこれからやる仕事についてはまったく触れていないけども、丁寧な受け答えと、慎重な未来への予想から、やっぱり技術屋さんなんだな、と思ったのでした。

Jan 20

遅ればせながら、メールマシンに使っているMacBook AirにSnow Leopardを入れた。開発機にはとっくに入れてあったんだけど、メールマシンの方は別にいっか、という感じで入れてなかった。2時間くらいかけて、一通りインストール作業終わり。

入れ替えてみたら、まずディスクの空き容量が増えた!MacBook Airの80GB HDDモデルなんで、空き容量が1GBくらいしかなかったんだけど、10GB以上に増えた。PowerPCバイナリ削除のおかげってやつですか。

そしていちばんよかったのが、Mailの起動/終了が劇的に速くなった!Mailで管理しているメールの数は数万件なんだけど、Leopardでは起動/終了に2、3分かかっていた。冗談抜きで。これが、数秒に短縮された!Snow Leopardで初めてメール起動したとき、メールデータベースの作り替えを行ないます、とか言っていたけど、あれのおかげだろうか。

というわけで、とても快適になりました。というか、メールマシンこそ真っ先にアップデートするべきだった。くそぅ。

Jan 19

この間の日曜日、1月17日に、銀座のApple Storeでイベントやったよ。フランス語学習アプリ『フランス語でBonjour!』の紹介イベントだ。そのご報告を。

このアプリは、フランス語の語学学校が開発元なんで、そこの校長先生がイベントのスピーカーになった。もちろん、話すのは全部フランス語。来てくれた人たちもフランス語学校の生徒さんが多くて、いつものイベントとはちょっと違った雰囲気だ。

開場前の打ち合わせの様子。青いTシャツを来ているのはApple Storeのスタッフ。対応はとても丁寧です。

こちらは入り口に置いておいたポップ。こういうのがあると、にぎやかでいいよね。

このアプリの特徴は、フランスにちなんだおしゃれでかわいいイラストが、何百点も使われていること。それらがどうやって描かれたのか?会場で実際に描いてみよう!という、ライブデザインをやった。会場のお客さんからお題をもらって、それをデザイナの方がどんどん描いていく。写真に写っているのは、エッフェル塔。

実際にアプリを使ってもらうと分かるんだけど、イラストはちょっとかすれたような、独特な風合いがある。これを出すために、ペンの先をやすりでけずって加工したんだそうです。

ではアプリの説明をしながら、即席のフランス語授業を。アプリが問題を出して、それを先生が会場のお客さんに聞くんだけど、みんなちゃんとフランス語で受け答えしていた。そこはかとなく感じるアウエィ感。

最後は、アプリの体験会。iPod touch触るのが初めてちょっとまごついた人もいたけど、その後はスイスイと使いこなしていた。

Jan 17

最近は、Qtにも手を出しております。Qt(キュートと読むらしい)は、マルチプラットフォーム対応のGUIフレームワーク。ノルウェーのトロールテックが開発して、いまはノキアに買収されている。「アプリ作りたいんだけど、MacでもLinuxでもWinでも動かしたいんだよねー」という相談が来たので、「それならQtやってみますか」ということでQt採用となった。

私はずっとクライアントアプリばっかり作っているので、経験するGUIフレームワークもこれで何個目だ?って感じだけど、まぁだいたいどれもそんなに大きくは変わらない。7割方はいっしょ、というイメージ。新しいフレームワークであっても、クラス名を見れば、なんとなくは使い方が分かる。特に、表示するビューの階層周りは、似たりよったりだね。

逆に一番差が出るのが、アクション周りかな。ユーザがボタンを押したりメニューを選択したりしたといったアクションを、どうやって処理するメソッドに届けるか。Qtでは、シグナルとスロットという考え方を採用している。あるオブジェクトであるアクションが発生したら、指定したオブジェクトの指定した関数を呼び出す、という設定ができる。おぉ、ここだけ読めば、なかなかいい感じだ。ただ、これをC++で実現するために(QtはC++で書かれている)、いろんなマクロがてんこ盛りになっているんだけどね。

アクションの問題はこれだけじゃなくて、アクションを一時的に無効化したいときはどうするかとか、レスポンダチェインみたいな処理はどうするのか、とまだまだたくさんの要求がある。そういったことまで含めて眺めてみると、やっぱりCocoaのアクションの考え方は頭一つ抜けているよな、と実感するね。このあたりのことは、ダイナミックObjective-C(こっちは書籍のDynamic Objective-C)で散々議論したので、興味ある人は読んでね。

Jan 14

去年の年末あたりに、『フランス語でBonjour!』っていうiPhoneアプリが出た。これHMDTの開発なんすよ。

このアプリは、フランス語の学習ソフトなんだよね。普通、語学のアプリっていうと、問題が無味乾燥な感じで並んで、下から正解を選ぶだけ、っていうイメージがある。でも、それつまんないでしょ。しかもこれはせっかくのフランス語の学習なんだから、もっとおしゃれにやりたい!って思った訳だ。

そこで考えたのが、おしゃれでセンスのいいイラストをたっぷり使おう、ということ。それらをiPhoneらしく、タッチしたり、フリックではじいたりすることができる。そうやってイラストを並べ替えたり、重ね合わせたりすることで、新しいアートがどんどん産まれてくる。そんなことを楽しみながら、語学の学習ができたらいいな、というコンセプトだ。

もちろん、語学の学習のための機能もバッチリだ。単語、文法、時間の表現、ことわざ/いいまわしなど、しっかりと学べる作りになっているよ。詳しくは、フランス語学校Esacapade Francaiseさんのサポートサイトの方をどうぞ。

で、例によってこのアプリを紹介するためのイベントをやります。場所は、いつものApple Store銀座。日時は、1月17日(日)の16:00から。Apple Storeでの紹介文を転載しよう。

iPhoneアプリ「フランス語でBonjour!」のご紹介
iPhoneやiPod touchで楽しみながらフランス語を学べるアプリ「フランス語でBonjour!」をご紹介します。開発元であるフランス語学校「エスカパード・フランセーズ」のスタッフが、アプリのコンセプトや使い方などを、フランス語の基本と併せてご説明。実際にアプリを体験できるコーナーもご用意します。

開発元のEsacapade Francaiseさんに加えて、デザインを担当したNeST.O.さんも登壇予定。興味のある方は、今度の日曜日の午後、Apple Store銀座でお会いしましょう。

Jan 8

最近、妙に3Dづいている。MacでもiPhoneでも、3Dプログラミング関係の仕事がいろいろ。行列式とか、大学でもっときちんと勉強しておけばよかったよなぁ。

Snow Leopardになって、標準でColladaフォーマットをサポートしてくれた。あれ、いいよね。ColladaはXMLの3Dフォーマットの一種。テキストエディタでXML書いて、それをプレビューで開けばすぐに3Dモデルが表示されるというのは、手軽で嬉しい。

他の人に3Dデータ渡すときも、Colladaにしとけば問題ないということだしね。楽しいなぁ。

Jan 6

2.0も登場した、iPhoneアプリのiMandalArtだけど、先日ダウンロード数が一万を突破した。ダウンロードしていただいた方々ありがとうございました。発売後、四ヶ月あまりで一万ということで、まあまあのペースではないのではないかと。

引き続き次期バージョンも鋭意開発中ですので、ユーザの方は楽しみに待っていてください。

最近iPhoneのプログラミングばっかりだったけど、久しぶりにMacプログラミングもやりはじめた。いやー、いろいろ忘れているね。NSTableViewと書こうとしたら、思わずUITableViewって書いちゃうし。

Macは速いね!iPhoneに比べると。iPhoneだといろいろ気を使ってソースコード書いていたのか、Macだとまあいいか、って感じでドカドカ書いちゃう。ラクチン、ラクチン。

Jan 5

去年仕事をしていて、まずいなと思ったのは、ネットワーク周りのプロトコルについて、理解が今ひとつ曖昧だったこと。得意なところは分かるんだけどね。HTTPとか。その上に乗っけるRSSとか。RESTとかSOAPによる通信とか。

でもメール関連が苦手だった。基本的なことは分かるんだけど、RFCレベルが求められると、そういや読んでないや、ということに気づいた。ということで、年末年始はメール周りのRFCをセコセコと読んでいました。

そのときに、なんかオーバービューを得られる本が欲しいな、と思って本屋を物色してたら、みつけたのがこれ。

簡潔な文章で、SMTP、POP、IMAPとそれらに関連するRFCが紹介されていて、大変助かりました。文章量が少ないので、すぐに読めるのも良い。クイックチュートリアルとして活用できました。

Jan 4

あけましておめでとうございます。今年もよろしくお願いします。HMDT(株)は、1月4日から稼働しております。

年の頭なんで、ここは一発パシッと本年の目標でも。今年こそは、やっぱり、キチッと独自プロダクトを立ち上げたいね。去年はいろんな会社さんと一緒に仕事をして、それはそれでとっても楽しかった。だけどいつも、HMDTの「顔」となる製品が欲しいよな、と思ってた。今年はやりたい。

やりたいものは決まっている。やるべきもの、と言うべきか。でも、技術力だったり、資金力だったり、組織力だったり、いろんなものが不足してできなかった。会社作って3年経って、ガタピシいいながらも形が見えてきた。今年はできるかもしれない。

あと、去年の反省としてあるのが、いろいろ仕事をしたけれど、それを広報する努力が足んなかったかな、と。人に知らしめなければ、その仕事はやったとは言えない。もっと喧伝しないと。

ま、なんのことかというと、このページをもっと更新しなきゃ、ということです。今年はちょっとがんばって、ここをこまめに更新したいです。

back to top content

Copyright © 2002-2006 HMDT. All rights reserved.