<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>zerosugar.net</title>
    <link rel="alternate" type="text/html" href="http://www.zerosugar.net/" />
    <link rel="self" type="application/atom+xml" href="http://www.zerosugar.net/atom.xml" />
    <id>tag:www.zerosugar.net,2012-04-01://2</id>
    <updated>2012-04-23T03:37:14Z</updated>
    
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 5.01</generator>

<entry>
    <title>Androidアプリ実行時にNoClassDefFoundError</title>
    <link rel="alternate" type="text/html" href="http://www.zerosugar.net/2012/04/androidnoclassdeffounderror.html" />
    <id>tag:www.zerosugar.net,2012://2.75</id>

    <published>2012-04-22T15:42:41Z</published>
    <updated>2012-04-23T03:37:14Z</updated>

    <summary>Androidアプリはさまざまな画面サイズに対応せねばならず、 予め大きめの画像...</summary>
    <author>
        <name>shimanebito</name>
        
    </author>
    
        <category term="Android" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="android" label="Android" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="アプリ" label="アプリ" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="エラー" label="エラー" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="開発" label="開発" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.zerosugar.net/">
        <![CDATA[<p>Androidアプリはさまざまな画面サイズに対応せねばならず、<br />
予め大きめの画像を用意しておけばまー大丈夫なんですが、<br />
そもそも単色のロゴなんかは画像を用意するよりもSVG使えたらいいじゃない！<br />
と思ったのが、今回のトラブルの第一歩。</p>]]>
        <![CDATA[<p>有名な<a href="http://androidify.com/" rel="external">Androidify</a>作った人が提供している<a href="http://code.google.com/p/svg-android/" rel="external">svg-android</a>。<br />
これはAndroidでSVGを描画することが可能になるライブラリ。<br />
そう、これがないとネイティブで対応していないというのが悲しいところですが、<br />
無いよりはマシなのでありがたくお借りしましょう。</p>

<pre class="brush:as3">
package net.zerosugar.android.svgtest;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ImageView;
import com.larvalabs.svgandroid.SVG;
import com.larvalabs.svgandroid.SVGParser;

public class SvgTestActivity extends Activity
{
	@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		//
		ImageView imageView = (ImageView)findViewById(R.id.imageView);
		SVG svg = SVGParser.getSVGFromResource(getResources(), R.raw.svgdata);
		imageView.setImageDrawable(svg.createPictureDrawable());
	}
}
</pre>

<p><a href="http://svg-android.googlecode.com/svn/trunk/svgandroid/docs/com/larvalabs/svgandroid/SVGParser.html#getSVGFromResource%28android.content.res.Resources,%20int%29" rel="external">SVGParser#getSVGFromResource</a>メソッドでリソースを読み込んで、<br />
戻り値のSVGオブジェクトから<a href="http://svg-android.googlecode.com/svn/trunk/svgandroid/docs/com/larvalabs/svgandroid/SVG.html#createPictureDrawable%28%29" rel="external">SVG#createPictureDrawable</a>メソッドをコールすると<br />
ImageVIewにそのまま描画できます。<br />
<a href="http://svg-android.googlecode.com/svn/trunk/svgandroid/docs/com/larvalabs/svgandroid/SVG.html#getPicture%28%29" rel="external">SVG#getPicture</a>メソッドではPictureオブジェクトを取得できます。</p>

<p>このように、ライブラリの使い方は超簡単。<br />
で、実行してみると早速エラー。</p>

<p>"NoClassDefFoundError".</p>

<p>ガーン。なんでーorz..</p>

<p>スタックトレースによると、<br />
com.larvalabs.svgandroid.SVGParserが見つからないんだ(´･ω･｀)とか。</p>

<p>奇妙なのは、コンパイルは通るのにアプリ実行時に外部ライブラリのクラスが参照できないということ。<br />
そもそもAndroidが備えていないクラスなのだから、参照できないのは当たり前。<br />
例外として、Google Maps APIを使う場合はAndroidManifest.xmlにuses-libraryを記述すればいけるよー<br />
という<a href="http://d.hatena.ne.jp/good-speed/20110610/1307675312" rel="external">記事</a>はありました。<br />
これは恐らく、Androidとしては備えている機能なんだけどマニフェストに明記しないと使えないものなのかも？<br />
と思った。</p>

<p>でも今回は違う。SVGParserはAndroidが標準で備えている機能ではない...!!</p>

<p>いろんな人が作ったサンプルを動かしてみると確かに動いているし、<br />
なんで自分が作った超単純なコードが実行できないんだよーorz と思った矢先、<br />
実行時にクラスパスが通ってないからだよと<a href="http://www.atmarkit.co.jp/fjava/rensai3/code_debug06/debug06.html" rel="external">丁寧に説明してくれた記事</a>がありまして。<br />
そんなこと知っとるわーと思いながらも読み流しているとふと気づいたことがありまして。</p>

<p>外部ライブラリって、コンパイルしたらAPKに出力されるはずだよなー？</p>

<p>と。。。ってことは、何かが原因で出力されていない...？<br />
恐る恐るeclipseのプロジェクト設定を開き、<br />
[Javaのビルド・パス]->[順序およびエクスポート]タブを開いてみると...</p>

<p><a href="/assets_c/2012/04/0142-30.html" onclick="window.open('/assets_c/2012/04/0142-30.html','popup','width=619,height=309,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="/assets_c/2012/04/0142-thumb-500x249-30.jpg" width="500" height="249" alt="eclipseのビルド・パス設定" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></p>

<p>キタコレ。</p>

<p>チェック入れて再度実行→動いたぁぁぁぁああぁぁぁぁぁああぁぁぁぁぁ！！！！！！！</p>

<p>はい、そんなわけで、実行時のNoClassDefFoundErrorは<br />
結局のところAPKに出力されていなかったことが原因でした。</p>

<p>二度とハマるかこんなエラー！！！ということでメモでした。</p>]]>
    </content>
</entry>

<entry>
    <title>Macのターミナルのコマンド受付表示を変更する</title>
    <link rel="alternate" type="text/html" href="http://www.zerosugar.net/2012/01/mac.html" />
    <id>tag:www.zerosugar.net,2012://2.73</id>

    <published>2012-01-06T03:25:46Z</published>
    <updated>2012-04-22T18:11:42Z</updated>

    <summary>Macのターミナルのコマンド受付表示を変更する方法について。 Macのターミナル...</summary>
    <author>
        <name>shimanebito</name>
        
    </author>
    
        <category term="日記" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="bash" label="bash" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mac" label="Mac" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ターミナル" label="ターミナル" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.zerosugar.net/">
        <![CDATA[<p>Macのターミナルのコマンド受付表示を変更する方法について。</p>

<p>Macのターミナルのコマンドを受け付ける画面が、自宅サーバーのCentOSと異なるので何か違和感がありました。<br />
こんなもんかと諦めていたんですが、.bash_profile に以下の一行を追加するとLinuxと同じ表示になりました。</p>

<p>export PS1='[\u@\h \W]\$ '</p>

<p>環境変数の「PS1」って、コマンド受付の表示パターンだったんですね。</p>]]>
        
    </content>
</entry>

<entry>
    <title>MySQLの設定ファイルの場所</title>
    <link rel="alternate" type="text/html" href="http://www.zerosugar.net/2011/12/mysql-2.html" />
    <id>tag:www.zerosugar.net,2011://2.72</id>

    <published>2011-12-22T01:35:06Z</published>
    <updated>2011-12-22T02:10:38Z</updated>

    <summary>MacにインストールされたMAMPに入っているMySQL。デフォルトでは文字コー...</summary>
    <author>
        <name>shimanebito</name>
        
    </author>
    
    <category term="mac" label="Mac" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mamp" label="MAMP" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mysql" label="MySQL" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="設定" label="設定" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.zerosugar.net/">
        <![CDATA[<p>MacにインストールされたMAMPに入っているMySQL。デフォルトでは文字コードがlatinになっているのでUTF-8にしたいということで、恒例のmy.cnfを探すもののどこにも見当たらず。どうやら初期状態では入っていないようです。なので、自分で設定ファイルを作って適切な場所に設置する必要があるのです。</p>]]>
        <![CDATA[<p>/Applications/MAMP/Library/share/mysql/以下、または<br />
/Applications/MAMP/Library/support-files/以下に「my〜」から始まる設定ファイルのサンプルがあります。用途に合わせて選びますが、開発環境であれば「my-small.cnf」で十分です。</p>

<p>ターミナルで次のコマンドを実行すると、「Default options are read from the following files in the given order」のところに読み込む設定ファイルの場所が表示されます。</p>

<p>/Applications/MAMP/Library/bin/mysql --help</p>

<p>Macの全ユーザー共通で使う場合は/Applications/MAMP/conf/my.cnfが良いでしょう。現在ログインしているユーザーのみの場合は{ユーザーディレクトリ}/.my.cnfになります。<br />
サンプルファイルを「my.cnf」にリネームして設置した後、MAMPを起動します。これで設定ファイルが読み込まれます。</p>

<p>[mysqld]の下に<br />
character-set-server=utf8<br />
[mysql]の下に<br />
default-character-set=utf8</p>

<p>を追記して、無事にUTF-8になりました。</p>]]>
    </content>
</entry>

<entry>
    <title>Screengrab を最新のFirefoxでも使えるようにする</title>
    <link rel="alternate" type="text/html" href="http://www.zerosugar.net/2011/12/screengrab-firefox-1.html" />
    <id>tag:www.zerosugar.net,2011://2.69</id>

    <published>2011-12-04T10:30:00Z</published>
    <updated>2012-04-22T18:21:02Z</updated>

    <summary>サイトのキャプチャーをとるのに便利なFirefoxのアドオン「Screengra...</summary>
    <author>
        <name>shimanebito</name>
        
    </author>
    
    <category term="firefox" label="Firefox" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="screengrab" label="Screengrab" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="xpiファイル" label="XPIファイル" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.zerosugar.net/">
        <![CDATA[<p>サイトのキャプチャーをとるのに便利なFirefoxのアドオン「<a href="https://addons.mozilla.org/ja/firefox/addon/screengrab/" target="_blank">Screengrab</a>」。<br />
Web制作者には必須のアドオンなのですが、残念ながら最新のFirefoxでは使えないということで、<br />
僕のようにScreengrabのためだけにFirefoxのアップデートを躊躇される方もいると思います。</p>

<p>今回はこのScreengrabを最新のFirefoxでも使えるようにする方法をご紹介します。</p>

<p>方法はとてもシンプルで、Screengrabが対応しているバージョンを書き換えて<br />
強制的にインストールできるようにするだけです。<br />
Firefox 8.0.1 の環境で実際に使ってみましたが、機能的にはなんら問題ありませんでした。</p>

<p>この方法はScreengrabのレビューでやり取りされていた内容です。<a href="http://www.youtube.com/watch?v=8MlRl-IwPKE" target="_blank">Howtoムービー</a>も公開されています。<br />
※動作保証はできませんので、あくまで自己責任でお願いします。</p>

<p>ではその方法です。</p>]]>
        <![CDATA[<p>まず<a href="https://addons.mozilla.org/ja/firefox/addon/screengrab/" target="_blank">こちら</a>から最新のXPIファイルを入手します。</p>

<p><a href="/assets_c/2011/12/cap_01-23.html" onclick="window.open('/assets_c/2011/12/cap_01-23.html','popup','width=758,height=307,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="/assets_c/2011/12/cap_01-thumb-530x214-23.jpg" width="530" height="214" alt="cap_11120401.jpg" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 5px;" /></a><span style="font-size:10px;">ダウンロードボタンを右クリックして、メニューから「名前を付けてリンク先を保存」します。</span></p>

<p>ダウンロードしたXPIファイルの拡張子を「.zip」に変更して解凍します。（勘のいい方なら気付いたかもしれませんが、XPIファイルの実態はZIPファイルです。）</p>

<p><img alt="「.xpi」を「.zip」にリネーム" src="/2011/12/04/img/cap_02.jpg" width="412" height="200" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;border:1px solid #aaa;" /></p>

<p>解凍したファイルの中から「install.rdf」をテキストエディッタで開き、「em:maxVersion」を書き換えます。今回は現時点で最新のFirefox 8.0.1に対応したいので、「8.0.*」に変更しました。「8.0.1」とそのまま入力してもかまいません。（アスタリスクは「すべて」を意味します。）<br />
変更したら上書き保存します。</p>

<p>次に、先ほど編集したファイル含む解凍したファイルすべてを選択してZIP圧縮します。<br />
※解凍ファイルによっては解凍した際にひとつのフォルダに展開されたかもしれませんが、フォルダをそのままZIP圧縮してしまうとインストール時に「ファイルが壊れている」などのエラーが出ます。</p>

<p><img alt="「.zip」「.xpi」にリネーム" src="/2011/12/04/img/cap_03.jpg" width="439" height="138" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;border:1px solid #aaa;" /></p>

<p>できたXPIファイルをFirefoxにドラッグアンドドロップしてインストールできたら完了です。</p>]]>
    </content>
</entry>

<entry>
    <title>Flashでローディングバーが正常に動作しない</title>
    <link rel="alternate" type="text/html" href="http://www.zerosugar.net/2011/07/flash-1.html" />
    <id>tag:www.zerosugar.net,2011://2.67</id>

    <published>2011-07-25T06:53:44Z</published>
    <updated>2012-04-22T18:19:20Z</updated>

    <summary>実際ハマってはないですが、ハマりそうなのでメモ。 要約すると、サーバーがCont...</summary>
    <author>
        <name>shimanebito</name>
        
    </author>
    
        <category term="ActionScript" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.zerosugar.net/">
        <![CDATA[<p>実際ハマってはないですが、ハマりそうなのでメモ。</p>

<p>要約すると、サーバーがContent-Lengthを返さないときにダメみたいです。<br />
総容量ってContent-Lengthから取得する仕様なんですね。</p>

<p>[AS]Flash(AS3)におけるローディングバーが正常に動作しないときのひとつの理由<br />
<a href="http://memo.393.bz/archives/1577">http://memo.393.bz/archives/1577</a></p>]]>
        
    </content>
</entry>

<entry>
    <title>Flex SDK 3 と Flex SDK 4 ではフォントの埋め込み方法が若干異なる</title>
    <link rel="alternate" type="text/html" href="http://www.zerosugar.net/2010/07/flex-sdk-3-flex-sdk-4.html" />
    <id>tag:www.zerosugar.net,2010://2.66</id>

    <published>2010-07-08T05:45:34Z</published>
    <updated>2010-07-08T05:46:26Z</updated>

    <summary>注意すべきこととして。 Flex SDK 3 と Flex SDK 4 ではフォ...</summary>
    <author>
        <name>shimanebito</name>
        
    </author>
    
        <category term="ActionScript" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.zerosugar.net/">
        <![CDATA[<p>注意すべきこととして。</p>

<p>Flex SDK 3 と Flex SDK 4 ではフォントの埋め込み方法が若干異なる<br />
<a href="http://blog.kaihatsubu.com/archives/001697.html">http://blog.kaihatsubu.com/archives/001697.html</a></p>]]>
        
    </content>
</entry>

<entry>
    <title>カスタムイージングを作成できるAIRアプリ「Easing Generator」</title>
    <link rel="alternate" type="text/html" href="http://www.zerosugar.net/2010/07/aireasing-generator.html" />
    <id>tag:www.zerosugar.net,2010://2.65</id>

    <published>2010-07-08T05:38:42Z</published>
    <updated>2010-07-08T05:39:34Z</updated>

    <summary>とても便利でした。 カスタムイージングを作成できるAIRアプリ「Easing G...</summary>
    <author>
        <name>shimanebito</name>
        
    </author>
    
        <category term="ActionScript" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.zerosugar.net/">
        <![CDATA[<p>とても便利でした。</p>

<p>カスタムイージングを作成できるAIRアプリ「Easing Generator」<br />
<a href="http://clockmaker.jp/blog/2010/06/easing-generator/">http://clockmaker.jp/blog/2010/06/easing-generator/</a></p>]]>
        
    </content>
</entry>

<entry>
    <title>グローバルエラーハンドラーでFlashのエラーダイアログを回避する方法</title>
    <link rel="alternate" type="text/html" href="http://www.zerosugar.net/2010/07/flash.html" />
    <id>tag:www.zerosugar.net,2010://2.64</id>

    <published>2010-07-08T05:36:35Z</published>
    <updated>2010-07-08T05:37:45Z</updated>

    <summary>これはおまじない的に入れておいた方がよさそうですね。 グローバルエラーハンドラー...</summary>
    <author>
        <name>shimanebito</name>
        
    </author>
    
        <category term="ActionScript" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.zerosugar.net/">
        <![CDATA[<p>これはおまじない的に入れておいた方がよさそうですね。</p>

<p>グローバルエラーハンドラーでFlashのエラーダイアログを回避する方法<br />
<a href="http://clockmaker.jp/blog/2010/06/global-error-handler/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+clockmaker+%28ClockMaker+Blog%29&utm_content=Google+Reader">http://clockmaker.jp/blog/2010/06/global-error-handler/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+clockmaker+%28ClockMaker+Blog%29&utm_content=Google+Reader</a></p>]]>
        
    </content>
</entry>

<entry>
    <title>CodeZine:文字の位置を揃えたい！ エディタのキーボードマクロによる整形テクニック</title>
    <link rel="alternate" type="text/html" href="http://www.zerosugar.net/2010/06/codezine.html" />
    <id>tag:www.zerosugar.net,2010://2.63</id>

    <published>2010-06-09T21:02:02Z</published>
    <updated>2010-06-09T21:04:14Z</updated>

    <summary>http://codezine.jp/article/detail/5156...</summary>
    <author>
        <name>shimanebito</name>
        
    </author>
    
        <category term="日記" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="bookmark" label="bookmark" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.zerosugar.net/">
        <![CDATA[<p><a href="http://codezine.jp/article/detail/5156" target="_blank">http://codezine.jp/article/detail/5156</a></p>]]>
        
    </content>
</entry>

<entry>
    <title>可変長引数を別のメソッドに渡す</title>
    <link rel="alternate" type="text/html" href="http://www.zerosugar.net/2010/06/post-27.html" />
    <id>tag:www.zerosugar.net,2010://2.62</id>

    <published>2010-06-09T14:42:16Z</published>
    <updated>2010-06-09T15:20:13Z</updated>

    <summary>ActionScriptは次のような書き方をすると、数のわからない複数の引数（不...</summary>
    <author>
        <name>shimanebito</name>
        
    </author>
    
        <category term="ActionScript" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.zerosugar.net/">
        <![CDATA[<p>ActionScriptは次のような書き方をすると、数のわからない複数の引数（不特定多数、可変長の引数）を受けることができます。</p>

<pre class="brush:as3">
public function hoge(...args):void
{
	// 引数は、配列のように args[0]、args[1]のように添え字を付けることで
	// 参照できます。また、args.lengthとすれば引数の数も取得できます。
}
</pre>

<p>ですが、例えば受け取った引数をそのまま別のメソッドに渡したい場合、どうすれば良いでしょうか？次のようにした場合、引数の数が限られてしまうので問題があります。</p>

<pre class="brush:as3">
public function max(...args):Number
{
	var maxNum:Number = Math.max(args[0], args[1], args[2]);//数が固定される
	return maxNum;
}
</pre>

<p>また、次のようにすると型違いでコンパイル時にエラーが出ます。</p>

<pre class="brush:as3">
public function max(...args):Number
{
	var maxNum:Number = Math.max(args);//型違いでコンパイルエラー。
	return maxNum;
}
</pre>

<p>これを解決すべく登場するのが、Functionインスタンスのapplyというメソッドです。</p>]]>
        <![CDATA[<pre class="brush:as3">
public function max(...args):Number
{
	var maxNum:Number = Math.max.apply(Math, args);//引数がいくつあっても大丈夫
	return maxNum;
}
</pre>

<p><a href="http://livedocs.adobe.com/flex/3_jp/langref/Function.html#apply()" target="_blank">Function.apply</a> は第一引数に「メソッドを持つオブジェクト」、第二引数に「引数が格納されている配列」を受け取ります。「引数が格納されている配列」の要素数はいくつでも構わないので、...argsをそのまま渡してやればいいということです。</p>

<p>なかなか使う場面はないかもしれませんが、知っておくと意外なところで活躍するかもしれません。</p>]]>
    </content>
</entry>

<entry>
    <title>iPadの国内発売は2010年5月28日！</title>
    <link rel="alternate" type="text/html" href="http://www.zerosugar.net/2010/05/ipad2010528.html" />
    <id>tag:www.zerosugar.net,2010://2.60</id>

    <published>2010-05-08T21:01:17Z</published>
    <updated>2010-05-08T21:43:21Z</updated>

    <summary>ソフトバンクモバイル、「iPad」を5月28日に発売――専用プランも発表 [IT...</summary>
    <author>
        <name>shimanebito</name>
        
    </author>
    
        <category term="日記" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="ipad" label="iPad" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="iphone" label="iPhone" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ソフトバンク" label="ソフトバンク" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.zerosugar.net/">
        <![CDATA[<p>ソフトバンクモバイル、「iPad」を5月28日に発売――専用プランも発表<br />
[ITMedia] <a href="http://plusd.itmedia.co.jp/mobile/articles/1005/08/news005.html" target="_blank">http://plusd.itmedia.co.jp/mobile/articles/1005/08/news005.html</a></p>

<p>結局<a href="http://www.softbank.jp/" target="_blank">ソフトバンク</a>から発売になったわけですが、ただの電子書籍とは一味違う「<a href="http://www.apple.com/jp/ipad/" target="_blank">iPad</a>」が今月28日、いよいよ発売されます。既に発売しているアメリカでは<a href="http://headlines.yahoo.co.jp/hl?a=20100507-00000048-zdn_pc-sci" target="_blank">iPhoneより好調なペースで売れている</a>というニュースもあるほど、いま非常に期待されているデバイスです。（iPadの発表があったときには、「iPhoneが大きくなっただけじゃん」とか、「今回の発表は期待はずれだった」という批判的な意見が多かったにも関わらず...。）</p>]]>
        <![CDATA[<p>気になる本体価格に関しては、ソフトバンクの<a href="http://mb.softbank.jp/mb/ipad/" target="_blank">特設サイト</a>で確認できます。<a href="http://mb.softbank.jp/mb/ipad/price_plan/" target="blank">iPad専用の料金プラン</a>が用意されるなどかなり力が入っているようですが、特に注目すべきは「プリペイドプラン」と「定額プラン」の2種類が用意されているという点。前者はデータ通信容量100MBを1,510円、1GBを4,410円でそれぞれ前払いして利用するもの。後者は毎月2,910円支払うことで、容量無制限で利用できるというもの。いずれもWi-Fi通信のできる環境があれば無料で通信できます。（例えば宅内に無線LANを使っている環境。）<br />
つまりiPad本体を一括で買ってしまえば、宅内であればその後料金が発生することはないということですね。※アプリは別料金です。</p>

<p>ちなみに定額プランの場合、全国にあるソフトバンクWi-Fiスポットも利用することができます。3G通信より高速なので、例えばマクドナルドでインターネットを楽しんだり、音楽や動画をダウンロードしたり、書籍をダウンロードしたい場合なんかはいいですね。</p>

<p>今後各地でiPadを持っている人をみかけるようになりそうですが、iPadにはGPSも搭載（※）しているので、人気でそうですね。でも気をつけたいのは、携帯に加えてiPadまで契約して、かつ本体も分割払いする場合は毎月2万近くの請求がくるようになるという請求地獄です。<br />
（※iPadにはWi-Fi版とWi-Fi+3G版がありますが、Wi-Fi版には搭載されません。）</p>]]>
    </content>
</entry>

<entry>
    <title>モノクロのアルパカを作ってみた</title>
    <link rel="alternate" type="text/html" href="http://www.zerosugar.net/2010/05/post-25.html" />
    <id>tag:www.zerosugar.net,2010://2.59</id>

    <published>2010-05-05T03:50:29Z</published>
    <updated>2010-05-05T04:00:40Z</updated>

    <summary>前回、「モノクローム」という記事でモノクロ写真にハマっているというアピールをした...</summary>
    <author>
        <name>shimanebito</name>
        
    </author>
    
        <category term="日記" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="アルパカ" label="アルパカ" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ノスタルジック" label="ノスタルジック" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="フォトムービー" label="フォトムービー" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="モノクロ写真" label="モノクロ写真" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.zerosugar.net/">
        <![CDATA[<p>前回、「<a href="/2010/05/post-24.html">モノクローム</a>」という記事でモノクロ写真にハマっているというアピールをしたので、前々回の「<a href="/2010/05/post-23.html">ヴィレバンで出会ったアルパカ</a>」をモノクロにしてみました。</p>

<div style="width:320px;height:320px;margin:0 auto 20px;padding:6px 6px 25px;border:1px solid #aaa;">
<div id="m10050502">フォトムービーを再生するには<a href="http://get.adobe.com/jp/flashplayer/">Flash Player 9以上</a>が必要です。</div>
</div>
<script type="text/javascript">swfobject.embedSWF("/common/imgs/photomovie.swf", "m10050502", "320", "320", "9.0.0",null,{flvPath:escape("/2010/05/05/arupaka_mono.flv")});</script>

<p>なかなかノスタルジーな感じでｗ</p>]]>
        
    </content>
</entry>

<entry>
    <title>モノクローム</title>
    <link rel="alternate" type="text/html" href="http://www.zerosugar.net/2010/05/post-24.html" />
    <id>tag:www.zerosugar.net,2010://2.58</id>

    <published>2010-05-05T03:30:03Z</published>
    <updated>2010-05-05T03:37:45Z</updated>

    <summary>最近モノクロ写真にハマってます。見慣れた景色も、モノクロフィルタを使ったデジカメ...</summary>
    <author>
        <name>shimanebito</name>
        
    </author>
    
        <category term="日記" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="デジカメ" label="デジカメ" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ノスタルジック" label="ノスタルジック" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="モノクロ写真" label="モノクロ写真" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.zerosugar.net/">
        <![CDATA[<p>最近モノクロ写真にハマってます。見慣れた景色も、モノクロフィルタを使ったデジカメで覗いてみるとまったく新しい世界が広がっています。</p>

<p>なんというか、ノスタルジック(?)な世界が広がっている感じです。</p>

<p><img alt="" src="/2010/05/05/jazzfrog.jpg" style="text-align: center; display: block; margin: 0 auto 10px;" /></p>

<p><img alt="" src="/2010/05/05/road.jpg" style="text-align: center; display: block; margin: 0 auto 10px;" /></p>

<p><img alt="" src="/2010/05/05/stone.jpg" style="text-align: center; display: block; margin: 0 auto 20px;" /></p>]]>
        
    </content>
</entry>

<entry>
    <title>ヴィレバンで出会ったアルパカ</title>
    <link rel="alternate" type="text/html" href="http://www.zerosugar.net/2010/05/post-23.html" />
    <id>tag:www.zerosugar.net,2010://2.57</id>

    <published>2010-05-05T03:10:40Z</published>
    <updated>2010-05-05T04:01:45Z</updated>

    <summary>昨日、吉祥寺のヴィレバンでアルパカに出会いました。 フォトムービーを再生するには...</summary>
    <author>
        <name>shimanebito</name>
        
    </author>
    
        <category term="日記" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="フォトムービー" label="フォトムービー" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.zerosugar.net/">
        <![CDATA[<p>昨日、吉祥寺の<a href="http://www.village-v.co.jp/">ヴィレバン</a>でアルパカに出会いました。</p>

<div style="width:320px;height:320px;margin:0 auto 20px;padding:6px 6px 25px;border:1px solid #aaa;">
<div id="m100505">フォトムービーを再生するには<a href="http://get.adobe.com/jp/flashplayer/">Flash Player 9以上</a>が必要です。</div>
</div>
<script type="text/javascript">swfobject.embedSWF("/common/imgs/photomovie.swf", "m100505", "320", "320", "9.0.0",null,{flvPath:escape("/2010/05/05/arupaka.flv")});</script>]]>
        
    </content>
</entry>

<entry>
    <title>「iPad販売台数100万台突破」というニュースに思うこと</title>
    <link rel="alternate" type="text/html" href="http://www.zerosugar.net/2010/05/ipad100.html" />
    <id>tag:www.zerosugar.net,2010://2.56</id>

    <published>2010-05-03T22:35:00Z</published>
    <updated>2010-05-03T22:50:32Z</updated>

    <summary>（毎日新聞）米アップル：iPad販売台数100万台に http://mainic...</summary>
    <author>
        <name>shimanebito</name>
        
    </author>
    
        <category term="日記" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="adobe" label="Adobe" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="android" label="Android" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="apple" label="Apple" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="flash" label="Flash" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ipad" label="iPad" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="iphone" label="iPhone" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="iphoneos" label="iPhoneOS" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.zerosugar.net/">
        <![CDATA[<p>（毎日新聞）米アップル：iPad販売台数100万台に<br />
<a href="http://mainichi.jp/select/biz/news/20100504mog00m300006000c.html">http://mainichi.jp/select/biz/news/20100504mog00m300006000c.html</a></p>

<p>すごいペースです。この売れ方を見ていると、Webのあり方は今後急展開していく可能性があります。どう変わっていくのか、今後楽しみですよね。</p>

<p>でも、この兆候に関してちょっと批判的なことを書いてみたいと思います。</p>]]>
        <![CDATA[<h2 class="heading-A01"><em>売れるペースは速いが、多いわけではない</em></h2>

<p>確かに売れていくペースは速いかもしれませんが、100万台という数が必ずしも「多い」とは言いがたいのが事実です。例えば日本の携帯電話市場は2008年4月～6月の<a href="http://itpro.nikkeibp.co.jp/article/COLUMN/20080905/314200/">2ヶ月で906万台</a>と言われていますし、ニンテンドーDSは<a href="http://ja.wikipedia.org/wiki/%E3%83%8B%E3%83%B3%E3%83%86%E3%83%B3%E3%83%89%E3%83%BCDS">日本だけでも約3,000万台</a>、世界では1億1348万台も売り上げています。</p>

<p>日本でiPadが発売してからこの100万台という数がどのように上昇していくのかは想像できませんが、一家に一台あったとしてもそのアクティブユーザーは実はそんなに多いわけではないわけです。つまり、PCや携帯電話のように「みんな持ってる」、「みんな使ってる」と認識するにはまだまだ早すぎるわけです。</p>

<h2 class="heading-A01"><em>普及はするが、iPadだけではない</em></h2>

<p>iPadに似た製品は既にいくつか発表されています。HPの「Slate」やAmazonの「Kindle」などです。こういった対抗製品にはそれなりに対抗するための特徴があるため、そちらの方に価値を感じて買う人も少なくありません。</p>

<p>例えばSlateはAdobe Flashプラットフォームに対応しているため、これまで日曜プログラミングを楽しんでいたFlashディベロッパーも、アニメーションを作ってきたFlashアニメーターも、PC用に作ったものがそのままSlateで再生可能です。（ただし、タッチパネルのためPCのようにマウスの"ロールオーバー・アウト"という概念はありません。）</p>

<h2 class="heading-A01"><em>ユーザーが幸せなのはどっちだろう？</em></h2>

<p>iPadやSlateが手元にやってきたら、間違いなく生活を変えるものになります。持ち運びに便利なものだからこそ、便利なアプリケーションが必要になってきます。そんなとき、アプリケーションの入手先はこれまで通りWebサイトでしょうか？iPadの場合、アプリケーションのダウンロードはApp Storeに集約されます。</p>

<p>そのため、App Storeにいけばすべてのアプリケーションが手に入ると同時に"探しにくさ"も当然でてくるし、アプリケーションを開発する人にとって、自分のサイト上に公開できないという制約が絡んできます。</p>

<h2 class="heading-A01"><em>開発者が幸せなのはどっちだろう？</em></h2>

<p>最近<a href="http://japanese.engadget.com/2010/04/29/flash/">話題のニュース</a>をみてもわかる通り、今後、Appleのモバイル製品（iPhone, iPad）にAdobe Flash Playerが搭載されることはありません。将来的にも考えにくい状況です。</p>

<p>つまり、Flash/Flex/AIRアプリケーションの開発者は「クロスプラットフォーム」とうたわれたFlashプラットフォームの恩恵を受けることができなくなってしまいました。ただし、それはiPadに限った話であって、Slateなどの他の製品には搭載されます。（Kindleは元々の目的が違うため搭載されていません。）<br />
そのため、FlashディベロッパーにとってすればiPad以外の製品が普及した方が都合がいいということになります。</p>

<p>とはいえ、「ActionScriptなんて所詮、AVM（ActionScript仮想マシン）上で動作するだけの低レベルな言語」、「Objective-C（iPhone OS用の言語）を新たに覚えればいい」と思う人もいるかもしれません。しかし、もしそう思う人がWindowsユーザーである場合、残念ながらそれはできません。iPad SDKはMac OSXにしか対応していないためです。</p>

<p>これまでWindowsマシンでC/C++, Java, PHP, ActionScript, JavaScriptなどを使って日曜プログラミングを楽しんでいた人の場合、新たにMacマシンを手に入れ、SDKを使ってプログラミングを楽しんだ後、エミュレーター上で動作確認し、App Storeで公開し、実機で確認し、不具合修正する...なんだか一気に敷居が高くなってしまう、そう思いました。</p>

<p>確かに開発言語が統一されているのはある意味ではいいことかもしれません。しかし、開発者が本当に幸せなのはどっちでしょう？Mac OSでしか開発できず、App Storeでしか公開できないアプリの開発でしょうか？それとも、Windows, Mac OS, Linuxでも開発でき、自分のサイトで公開できるアプリの開発でしょうか？</p>

<p>また、Webサイトを作る人にとっては？確かにiPadならSafariで正常にレンダリングされることだけ確認できればいいでしょう。でもFlashの技術が使えない、ブラウザが選べない（Google Chromeの3D描画機能を使いたくてもそもそもChromeが使えない）というのは、本当に開発者にとって幸せなことなのでしょうか？<br />
私には、これまでPCやケータイでできたことが排除されていくのは、敷かれたレールを走ることしかできないように思えてなりません。</p>

<h2 class="heading-A01"><em>制約をポジティブに捉える</em></h2>

<p>と、ここまで批判を述べてきましたが、SlateにしろiPadにしろ、今後生活を変える価値の高い製品であることは間違いありません。「あれもこれもできないの？」と考えるよりも、制約の中で「あれもこれもできるんだ！」とポジティブに考えた方が幸せを手に入れるチャンスは広がっていくと思っています。</p>]]>
    </content>
</entry>

</feed>

