ごりぽんソフトウェア

2011-06-08

無料でMicrosoftの開発環境を手に入れる

ソフトウェア開発をしていると、開発環境の整備に結構お金が掛かってしまうものです。去年のカンパウェア宣言も、そのあたりをどうにかしたいと思ってのことだった訳ですが。

そんな折に見かけたのが、Microsoftの「BizSpark」という支援プログラム。ざっと見てみると「MSDN Subscriptionで提供されるほぼすべてのソフトウェアが3年間無償で使える」とか剛毅なことが書いてあります。じゃあ、ということで我が「ごりぽんソフトウェア」でも申し込んでみたのでエントリ。

見れば「創業3年未満の企業および法人化を目指す個人事業主や起業家の皆様に」ということになっているので、法人でなくても申し込めるようです。でも、自分が起業家だとか個人事業主だってのは、どうやって証明したらよいものか。もっと言えば「ごりぽんソフトウェア」は該当するのか。

悩んでいても仕方がないので、その辺詳しい知り合いに聞いてみたところ「副業でやってる分には、そこまで厳密には求められないから、大丈夫じゃないの?」とのお答え。もうちょっと細かく言えば「それで得られる収入が一定額を超えていて、かつ全収入の半分を超えていない限り、どんなものであれすべて副業扱いで『自称』の域を出ないので証明のしようがない」とかなんとか。

まあ、そういうことなら「証明する書類が必要」とかは言われそうにないし、ダメならダメで別に損はしないので、なにはともあれ他の条件を整えて応募してみることに。

では、その条件には何があるのかと言えば

  • 非上場ですか?
  • 年間売上が1億2000万円未満ですか?
  • 事業を始めて3年未満ですか?
  • 事業概要が記載されたホームページはございますか?(オリジナルドメイン)

これがMicrosofrtのページに記載されている条件。法人ではないので最初の2つの条件はスルー出来るとして、問題は残りの2つ。

ホームページについては、つい先日goriponsoft.comドメインを取ったので、オリジナルドメインのWEBサイトはすでにあり、そこに事業概要ページを作れば問題無さそうに思えます。で、作ったのがこのページ。私の場合は住所まで書いておきましたが、抵抗があるなら書かないという選択肢もあります。例えば「東京都墨田区」くらいまでしか書かないという手もあるでしょう。

そして、そのページにすでに記載してますが、残りもう1つの条件に影響するのが「設立日」の項目。そもそも何をもって「事業を始めた」と見做されるのかが分かりにくい訳ですが、これについてはもう結論が出ています。要するに「『自称』なのでテキトーで構わない」のです(笑)。まあ、それでももし「なんでその日なの?」と聞かれたら、根拠っぽいものは答えたいので、一応それっぽい日を選んでみたのが2010年11月1日という日付。冒頭でも触れましたが、昨年11月のエントリで「カンパウェア化するよ」という宣言をしたので、これが「収入を得る可能性が発生した日」=「事業を始めた日」だと『自称』することにしました。ちなみに、エントリの日付より設立が前になっているのは、単にキリの良い日にした以上の意味はありません。

これで一応、見た目には条件を満たせたので、さっそくMicrosoft BizSparkのページの「お申し込みはこちら」のボタンから申し込みサイトに飛んで申し込み。手順自体は「お申し込みの手順」通りで問題ないのですが、日本語に切り替えても一部日本語にならないことと、「3.[BizSparkに申し込む]をクリックします」でクリックするのが[BizSparkに申し込む]ではなく、ページの右方にあるオレンジ色の[Apply Now!]であることには注意が必要です。私も最初にそれで引っかかりました。

あとは、登録にはWindows Live IDが必要(IDに情報を紐付けするため)なことと、手順の「9.BizSparkでは、ネットワークパートナーまたはマイクロソフトに招待を依頼することで、プログラムに参加することができます」では、[マイクロソフトに依頼]をクリックする必要があること、くらいでしょうか。分かりにくいかもしれないので、念のため。

申し込みが終われば、自動返信メールに書かれている通り、手続きが終わる3営業日後まで待つだけです。ちなみに「ごりぽんソフトウェア」の場合は、昨日申し込みをして、もう今日には返答が来ていたので、そんなに時間が掛かるものでも無さそうです。

なお、肝心の申し込んだ結果についてですが、Microsoftからは特に連絡も無くWEBページで登録した内容以上のことは一切聞かれていませんが、返答のメールにはすでに「MSDNサブスクライバーID」が書かれていて、いつでも無償でソフトウェアが使える状態になっていました。なんか、簡単すぎて悩んでいたのが馬鹿らしくなってきますね。

ウチが特別ってことは無いと思うので、フリーウェア作者さんとか同人サークルさんでも条件を満たせば行けるんじゃないでしょうか。ダメで元々、やってみるのも良いかもしれません。

2010-10-05

ナビゲーションバーの高さ取得とタッチUIの判定(ハイレゾ非対応アプリ向け改訂版)

とあるブログにコメントで書いたネタなんですが、せっかくなのでエントリしておきます。

WindowsMobileでは従来のソフトウェアとの互換のため、標準では解像度のエミュレーションが働きます。例えばVGAの端末の場合、APIなどではQVGA相当の座標で処理される訳です。もちろんエミュレーションを切る方法も存在していて、エミュレーションを切るように設定されたアプリは俗に「ハイレゾ対応」と言われるわけですが。

GSFinde+ for W-ZERO3はハイレゾ対応だったりするのですが、すっかりそのことを忘れていました(苦笑)。ハイレゾに対応していないアプリの場合、あんな面倒なコードを書かなくても、もっと簡単にナビゲーションバーの高さを計算したり、タッチUIの判定が出来たりします*1

ということで改訂版のコードです。

SIPINFO si = {sizeof(SIPINFO)};
SipGetInfo(&si);
int navibar_height = 52 - si.rcVisibleDesktop.top;
SIPINFO si = {sizeof(SIPINFO)};
SipGetInfo(&si);
if (si.rcVisibleDesktop.top < 26)
	bTouchUI = TRUE;

要するに、エミュレーションが効いている場合、座標値を解像度(dpi値)に合わせて修正する必要が無い、ってことですね。m_fpHighResolutionScaleはその修正に使う数値なので、バッサリ削除しちゃってOK。

一応、T-01BとWS011SHで実験しましたが問題ないようです。多分リアルVGAでも大丈夫なんじゃないかと思いますが、確認はしていません。

*1:ハイレゾに対応せずWM6.5.3向けの対応をするというのも微妙な話ではありますが

2010-09-26

ナビゲーションバーの高さ取得とタッチUIの判定

「誰か知りませんか?」などと言ってたわりに、結局自分で思いつきました。ええ。ヒントは先日の改造版だったりします。

まずその改造版ですが、ツールバーの欠けを修正するのにSIPINFO構造体のrcVisibleDesktopを利用していたんですね。これで一体何が判るのかと思って数値を調べてみたんですが、要するに「タスクバー(画面最上部のアンテナマーク等が表示されるエリア)とSIPを除いた領域」が入っていました。

残念ながらこの領域はナビゲーションバーが無い状態を想定したものなので、ナビゲーションバーの高さを得ることは出来ませんが、別の要素は知ることができます。それが改造版が利用しているrcVisibleDesktop.topで、これにはタスクバーのすぐ下の座標、すなわち「タスクバーの高さ」が入っています。改造版ではタスクバーの高さが減った分、GSFinderのウインドウを上に縮めるという方法でツールバーの欠けを修正したのでしょう。ただし、私が勘違いして変なコードを書いていたので*1、ちょっとおかしな事になっていますが。

でも、これだけではナビゲーションバーの高さが求まりません。そこで注目したのが、タスクバーとナビゲーションバーの高さの合計値です。色々と調査した結果、実はこの値がPocketPC2003以降、解像度(厳密にはdpi値)が同じならずっと同じ値だということに気づきました。ちなみに、PocketPC2003からWM6.5まではタスクバーもナビゲーションバーも26ドット(96dpiの場合・以下同様)なので26+26=52ドットです。WM6.5.3のタッチUIではタスクバーが18ドットにナビゲーションバーが34ドットなので18+34=52ドットになります。

なんでこんな所の数値がずっと変わってないのかといえば、おそらくは互換性維持のため。同じ解像度のデバイスにおいて、タスクバーとナビゲーションバーを除いた有効なウインドウの面積が変化することで、表示領域が欠けたりする(経緯は違うがちょうど今回のGSFinderのツールバー欠けのようなことになる)のを防いでいるつもりなのでしょう*2

将来的な互換性は今は考えないことにして(考えても意味が無さそうなので(苦笑))、とりあえずタスクバーとナビゲーションバーの高さの合計値が52ドットだとするなら、ここからタスクバーの高さであるrcVisibleDesktop.topを減算してやれば、それがそのままナビゲーションバーの高さになります。実際には192dpi環境向けに補正をかける必要があるのでこのままでは使えませんが、GSFinder+ for W-ZERO3にはその補正用の数値としてm_fpHighResolutionScaleがあるので、これを利用すれば一発です。コードだとこんな感じですね。

SIPINFO si = {sizeof(SIPINFO)};
SipGetInfo(&si);
int navibar_height = (int)(52.0 * m_fpHighResolutionScale - (float)si.rcVisibleDesktop.top);

そしてもう一つのお題である「タッチUIの判定」もコレを利用していますが、もうちょっと単純です。WM6.5以前であればタスクバーは26ドットなので、rcVisibleDesktop.topが26未満だったらタッチUIだと判断できます。ただし、この判定方法だと俗に言うリアルVGAな環境では誤判定しますが、GSFinder+ for W-ZERO3では元々リアルVGAをサポートしていない(今後サポートする予定もない)ので無問題です。

SIPINFO si = {sizeof(SIPINFO)};
SipGetInfo(&si);
if (((float)si.rcVisibleDesktop.top / m_fpHighResolutionScale) < 26.0)
	m_bTouchUI = TRUE;

さて、これで問題が1つ解決したわけで、さっさと最新版を出さないとイカンでしょうね。チクチクと弄ってますので、もうしばらくお待ちください。

*1:タスクバーの高さ=ナビゲーションバーの高さ=(GetSystemMetrics(SM_CYMENU)+4)*m_fpHighResolutionScaleというのが勘違いで、改造版もこれを引きずっています

*2:そんなところで互換性を気にするなら、APIの挙動の方こそ互換性を持たせて欲しいところではありますが

2010-09-04

着信音に3GPPファイルを使う

ちょっとした小技だと思うんですが、ざっと調べてみてどこにも書かれていなかったので、ちょこっと紹介。

いや、なんてことは無いんですが、「着モーション」や「着うたフル」(要するに3GPP形式の音楽データ)が、そのままWindowsMobileの着信音に使えるって話です。一応、T-01BとHYBRID W-ZERO3で確かめましたが、T-01Bはそのまま、HYBRID W-ZERO3は拡張子を.midに変更すれば、あとはMP3やWAVと同じように使うことが出来ます。

一応誤解の無いように一応言っておきますが、iモード端末でダウンロードした有料コンテンツが移せるということではありません。あくまで自作したものに限ります。ちなみに、私が着信音の作成に使ったのは「着もと」というツールで、WAVファイルから一発で変換できるのでラクチンでした。

そんなわけで、私の只今の着信音は、HYBRID W-ZERO3が「てとてトライオン!」の「Tightrope!」、T-01Bが「あまつみそらに!」の「戦の風」だったりします。もちろん頭から最後まで4分くらいの「着うたフル」ですが、容量が500KBくらいなのが嬉しい。

ただ、私のHYBRID W-ZERO3では、着信音が鳴り始めてから1.2〜1.3秒くらいのところで一旦音が途切れるんですよね。WAV形式でも切れるんで、着うたフルだからってことではないんですが。うむむ。

2010-09-01

「spモード」を契約してきた!

ドコモショップに足を運ぶこと2日、ようやく情報も集まり踏ん切りもついたので、早速spモードを契約しに秋葉原のドコモショップに行ってきました。ちなみに、3日目の今日もまた同じおねーさんに当たって、お互いに苦笑い。なんだかなぁ。

すでに契約済みだったiモードとiモード.netはそのまま残し、spモードは新規契約でiモードのメールアドレス移行はしませんでした。メールウィルスチェックのオプションも申し込み。ついでに、今後使うかどうか分からないiチャネルを解約。待ち時間も含めて15分程度で、サクサクと手続き終了。

んで、いくつか気づいたことを。

まず最初に。某コミュニティサイトでもこういう表現を使ったんですが、spモードは「docomo.ne.jpドメインのメールアドレスと付加機能が使えるただのISP」です。iモードとは全く別物なので、iモードから移行した場合、今までiモードで利用していたサービスは全滅だと思ってください。

spモードのメールアプリについては、最終的にマーケットプレイスでアプリを購入(無料ですが)する関係上、Windows Liveのアカウントが必要です。なお、ドコモマーケットのspモード設定の入り口からマーケットプレイスのアプリ購入ページまではspモード接続が必要ですが、アプリの購入フラグが立った後であれば、接続に関係なくマーケットプレイスからダウンロードが可能です。うまいことパケ代節約してくださいませ。ちなみに私は操作をミスってしっかりパケット通信でダウンロードしてしまいました。パケ代およそ1100円なり。orz

そうそう、結局「メールアドレスの入れ替え」は普通にspモードのメニューから出来ました。ただ、それなりに深い階層にあるうえにspモードパスワード(数字4桁)の入力が必要なので、あまりお手軽とは言い難いですね。

それと「spモードのISPセット割」と「spモード月額使用料最大半年間無料キャンペーン」は別のモノです。ショップのおねーさんは「ISPセット割が半年間限定である」と勘違いしてましたが、そんなことはありません。ただし、ちょっと判りにくいのですが、キャンペーンの無料期間中はspモードの料金は請求されないので、2つ以上のISP料金が『請求された時点』で発生するISPセット割は、条件次第では発生しなくなります。まあ、ぶっちゃけて言えば「今回のキャンペーンは他プロバイダ(iモードやmopera U)との重畳契約になっている場合には全く無意味である」ってことです。もちろん私もiモードとの重畳契約なんで意味無しです。orz

そして余談。

HYBRID W-ZERO3のメールアカウントと同時に作成されるwillcomlive.jpのアカウントは、メールアドレスの変更などで以前のものがHYBRID W-ZERO3の設定から外れても、設定時に送られてくるパスワードを保管しておけば、そのまま使い続けることができます。私が今T-01Bで使っているアカウントはwillcomlive.jpモノだったりしますし(苦笑)。もちろん、このアカウントでフツーにspメールアプリがダウンロード可能でした(大苦笑)。