2008年12月7日日曜日



SDK1.0_r2リリース


Android 1.0 SDK, release 2がリリースされました。


当然、SDK 1.0_r1が搭載された実機と互換性がありr2で開発したアプリはr1で動くようです。


1.0_r1との主な違いは以下の通りです。




  • r1のandroid.jarに一部含まれていなかったクラスが復活

  • android.R.styleable classの使用方法の変更。詳細

  • Javaのリフレクションを使用してprivateメンバにアクセスできていたのを出来ないように修正した

  • 設定アプリとメールアプリがSDKに含まれるようになった

  • Deleteキーが押されている間はトラックボールイベントを送れるようになった


ダウンロードはこちらから。


メーラーが搭載されたのはうれしいですね。


開発者向けG1発売


SDK 1.0_r2のリリースと同時にG1のSimロック等の制限を全て解除して、Android Dev Phone 1と称して$399で発売開始したことが発表されました。


詳細はこちら。


Android MarketでDeveloper登録を行っていればここから購入できます。


日本からでも購入可能だった為、早速注文しました。


f:id:bs-android:20090122021958p:image





これは爆発的に売れそうですね。





SDK1.0_r2リリース、および開発者向けG1発売



SDK1.0_r2リリース


Android 1.0 SDK, release 2がリリースされました。


当然、SDK 1.0_r1が搭載された実機と互換性がありr2で開発したアプリはr1で動くようです。


1.0_r1との主な違いは以下の通りです。




  • r1のandroid.jarに一部含まれていなかったクラスが復活

  • android.R.styleable classの使用方法の変更。詳細

  • Javaのリフレクションを使用してprivateメンバにアクセスできていたのを出来ないように修正した

  • 設定アプリとメールアプリがSDKに含まれるようになった

  • Deleteキーが押されている間はトラックボールイベントを送れるようになった


ダウンロードはこちらから。


メーラーが搭載されたのはうれしいですね。


開発者向けG1発売


SDK 1.0_r2のリリースと同時にG1のSimロック等の制限を全て解除して、Android Dev Phone 1と称して$399で発売開始したことが発表されました。


詳細はこちら。


Android MarketでDeveloper登録を行っていればここから購入できます。


日本からでも購入可能だった為、早速注文しました。


f:id:bs-android:20090122021958p:image





これは爆発的に売れそうですね。





2008年12月4日木曜日



f:id:bs-android:20081105125550j:image


2008/12/11に日経コミュニケーションが主催する、オープンモバイル・コネクションズ2008 冬の「初のAndroid端末「T-Mobile G1」レビュー」の枠に参加します。


今回はiPhoneと同日開催となっています。


開催場所はベルサール原宿です。



大きな地図で見る





前回も参加していましたが、告知するのを忘れていました。


少々値段が張りますが、ビジネス視点での最新のAndroid情報をゲットできます。


12/5までは早期割引で3000円安くなっていますので興味のある方は是非お申し込みくださいませ。





オープンモバイル・コネクションズ2008



f:id:bs-android:20081105125550j:image


2008/12/11に日経コミュニケーションが主催する、オープンモバイル・コネクションズ2008 冬の「初のAndroid端末「T-Mobile G1」レビュー」の枠に参加します。


今回はiPhoneと同日開催となっています。


開催場所はベルサール原宿です。



大きな地図で見る





前回も参加していましたが、告知するのを忘れていました。


少々値段が張りますが、ビジネス視点での最新のAndroid情報をゲットできます。


12/5までは早期割引で3000円安くなっていますので興味のある方は是非お申し込みくださいませ。





2008年11月27日木曜日



GoogleがUnicodeの絵文字を標準化すべく対応を進めているようです。


絵文字のユニコード符号化: 符号化提案用のオープンソースデータ


来年発売されると噂のAndroidの日本向け端末ですが、1号機から絵文字に対応している可能性が出てきましたね。


アニメする絵文字とかはどうなるのかがちょっとだけ気になります。


普及台数を考えると仕方のないところですが、例によってWILLCOMの絵文字はまったく無視されているようです。


ところで、最近対応されたiPhoneの絵文字はUnicodeなのでしょうか?





GoogleがUnicodeの絵文字対応を推進、日本向けAndroid端末の対応?



GoogleがUnicodeの絵文字を標準化すべく対応を進めているようです。


絵文字のユニコード符号化: 符号化提案用のオープンソースデータ


来年発売されると噂のAndroidの日本向け端末ですが、1号機から絵文字に対応している可能性が出てきましたね。


アニメする絵文字とかはどうなるのかがちょっとだけ気になります。


普及台数を考えると仕方のないところですが、例によってWILLCOMの絵文字はまったく無視されているようです。


ところで、最近対応されたiPhoneの絵文字はUnicodeなのでしょうか?







Androidのオープンソース版にソフトウェアキーボードの実装コードがアップされているようです。


本家メーリングリストでの投稿


スクリーンショット


ローカライズの考慮がされていないことや、そもそもGoogle本家でIMEの対応予定があることから


コミットは却下されていますが、ソフトウェアキーボードを渇望する世界中のAndroidデベロッパーのために却下されることはわかっていながらも提供してくれたようです。


コードの差分もWeb上で視覚的に見られるので非常に参考になります。


本家でIME実装を待たずして、独自実装してみたくなりました。





Androidのオープンソース版にソフトウェアキーボードの実装コード



Androidのオープンソース版にソフトウェアキーボードの実装コードがアップされているようです。


本家メーリングリストでの投稿


スクリーンショット


ローカライズの考慮がされていないことや、そもそもGoogle本家でIMEの対応予定があることから


コミットは却下されていますが、ソフトウェアキーボードを渇望する世界中のAndroidデベロッパーのために却下されることはわかっていながらも提供してくれたようです。


コードの差分もWeb上で視覚的に見られるので非常に参考になります。


本家でIME実装を待たずして、独自実装してみたくなりました。





2008年10月25日土曜日

2008年10月24日金曜日



Armadillo-500上のAndroidでUSBカメラの画像をアプリで表示させる方法をまとめましたので公開します。


Androidのソースコード公開前に作成したものの為、Androidから直接デバイスを使用しない方法を使っています。


今後、Androidから直接USBカメラを使用させる方法も探っていきます。


では、早速。







環境依存部分は便宜読み替えて下さい。


開発環境を整える


以前、このブログで紹介した方法でいけると思います。


※不明点があれば質問ください。


カーネルビルド


今回使用するカメラはUVCカメラなのでV4Lを有効化してビルドします。



atmark@atde:~/atmark-dist-20080617$ make menuconfig

  ~中略~

Device Drivers--->
Multimedia devices--->
<*> Video For Linux
< > Enable Video For Linux API 1 (DEPRECATED)
< > Enable Video For Linux API 1 compatible Layer
< > Video capture adapters --->

  ~中略~

atmark@atde:~/atmark-dist-20080617$ make


Video For Linuxだけにチェックをつけて他のチェックは外さないとコンパイルエラーが出ることがあるので注意してください。


UVCドライバビルド


Linux UVC driver and tools(http://linux-uvc.berlios.de/)にUVCドライバコードがあります。


コードはSubversionリポジトリにあるのでSubversionをインストールしてからダウンロードします。



atmark@atde:~$ sudo apt-get install subversion
Password:

  ~中略~

atmark@atde:~$ svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk

  ~中略~

atmark@atde:~$ mv trunk uvcvideo
atmark@atde:~$ cd uvcvideo
atmark@atde:~/uvcvideo$ mv Makefile Makefile.org

  ~中略~


すんなりビルドできないかもしれないので以下のMakefileに入れ替えてビルドしてみて下さい。


/home/atmark/uvcvideo/Makefile



PWD := $(shell pwd)

ROOTDIR ?= ../atmark-dist-20080617

ROMFSDIR = $(ROOTDIR)/romfs

include $(ROOTDIR)/.config
include $(ROOTDIR)/config.arch

MAKEARCH = $(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE)

LINUXDIR = $(CONFIG_LINUXDIR)
KERNELRELEASE = ${shell make -sC $(ROOTDIR)/$(LINUXDIR) kernelrelease}

obj-m := uvcvideo.o
uvcvideo-objs := uvc_driver.o uvc_queue.o uvc_v4l2.o uvc_video.o uvc_ctrl.o uvc_status.o uvc_isight.o

all: uvcvideo

uvcvideo:
@echo "Building USB Video Class driver..."
@sh svn-version.sh > version.h 2>/dev/null
@$(MAKEARCH) -C $(ROOTDIR)/$(LINUXDIR) M=$(PWD) modules

clean:
-rm -f *.o *.ko .*.cmd .*.flags *.mod.c Module.symvers version.h
modules.order
-rm -rf .tmp_versions


カーネルモジュールを作成します。



atmark@atde:~/uvcvideo$ make

  ~中略~

atmark@atde:~/uvcvideo$ ls -l

  ~中略~

-rw-r--r-- 1 atmark atmark 68024 XXXX-XX-XX XX:XX uvcvideo.ko


Sourcery G++ Lite 2007q3-51 for ARM GNU/Linuxをインストール(ARMクロスコンパイラ)


CodeSourceryからARMクロスコンパイラを取得します。


http://www.codesourcery.com/gnu_toolchains/arm/portal/release313


から IA32 GNU/Linux Tar を選択し、ダウンロード後に展開します。



atmark@atde:~$ tar xvfj arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2


uvccaptureの展開


HP(http://www.quickcamteam.net/software/linux/v4l2-software/uvccapture)から


uvccaptureを取得してホームで展開して下さい。


展開したフォルダ名を webcamd にして下さい。


添付のwebcamd化ファイルを webcamd にコピーして下さい。


v4l2uvc.hで定義している構造体vdInに下記定義を追加して下さい。



 int init;


uClibc-0.9.29ビルド


この時はまだAndroidのC言語ライブラリ(bionic)が公開されてなかったので、uClibcで代用しました。


コンフィギュレーションは以下の通りです。


Linux kernel headerの場所ですが一度ビルドしたカーネルでないとヘッダが足りません。



atmark@atde:~$ wget http://www.uclibc.org/downloads/uClibc-0.9.29.tar.bz2

  ~中略~

atmark@atde:~$ tar xvfj uClibc-0.9.29.tar.bz2

  ~中略~

atmark@atde:~$ cd uClibc-0.9.29
atmark@atde:~/uClibc-0.9.29$ make menuconfig

  ~中略~

 Target Architecture
   => arm
  Target Architecture Features and Options
   => Target ABI
    => EABI
   
   => Target Processor Endianness
    => Little Endian
    
   => Linux kernel header Location
    => /home/atmark/linux-2.6.18-at8/include

  ~中略~

atmark@atde:~/uClibc-0.9.29$ export PATH=$PATH:/home/atmark/arm-2007q3/bin



コンパイルエラーが出る場合は Rules.mak を以下のように修正してみて下さい。


Rules.mak



>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
366:#CFLAGS := -include $(top_builddir)include/libc-symbols.h \
367:# $(XWARNINGS) $(CPU_CFLAGS) $(SSP_CFLAGS) \
368:# -fno-builtin -nostdinc -I$(top_builddir)include -I.
369:CFLAGS := -include $(top_builddir)include/libc-symbols.h \
370: $(XWARNINGS) $(CPU_CFLAGS) $(SSP_CFLAGS) \
371: -fno-builtin -I$(top_builddir)include -I.
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<


コンパイルします。



atmark@atde:~/uClibc-0.9.29$ make CROSS=arm-none-linux-gnueabi-

  ~中略~

atmark@atde:~/uClibc-0.9.29$ cp ./lib/crt1.o ../webcamd/crt1.o
atmark@atde:~/uClibc-0.9.29$ cp ./lib/crti.o ../webcamd/crti.o
atmark@atde:~/uClibc-0.9.29$ cp ./lib/crtn.o ../webcamd/crtn.o
atmark@atde:~/uClibc-0.9.29$ tar cfz uclibc.tar.gz lib
atmark@atde:~/uClibc-0.9.29$ su
Password:
root@atde:/home/atmark/uClibc-0.9.29# mkdir /usr/arm-linux-uclibc
root@atde:/home/atmark/uClibc-0.9.29# cp uclibc.tar.gz /usr/arm-linux-uclibc/uclibc.tar.gz
root@atde:/home/atmark/uClibc-0.9.29# cd /usr/arm-linux-uclibc
root@atde:/usr/arm-linux-uclibc# tar xvfz uclibc.tar.gz
root@atde:/usr/arm-linux-uclibc# exit


gcc 4.2.1のソースからソフトウェア浮動小数点コードの取得


gnuから gcc 4.2.1のソースコードを取得し展開して下さい。


下記フォルダにあるコードを webcamd フォルダへコピーして下さい。



 gcc-4.2.1/gcc/config/asm/lib1funcs.asm
 gcc-4.2.1/gcc/config/asm/ieee754-df.S
 gcc-4.2.1/gcc/config/asm/ieee754-sf.S


uvccaptureをwebcamdとしてビルド



atmark@atde:/usr$ cd ~/webcamd
atmark@atde:~/webcamd$ ./buildwebcamd


cameraアプリの展開


Tom Gibara氏のLive Camera Previews in AndroidのSocketCameraを使用したアプリ"camera.apk"をAndroid側で使用します。


SocketCameraに与えるパラメータは以下の通り。




  • アドレス:127.0.0.1

  • ポート:8080

  • 画像の横幅:320

  • 画像の縦幅:240


ビルドしたアプリを実機に展開


ビルドした物をSDカード、httpサーバーからDLする等で下記の様に実機上で展開して下さい。




  • uClibcライブラリ


ファイル:uclibc.tar.gz



root@android:/# mkdir /usr/arm-linux-uclibc
root@android:/# /bin/cp /sdcard/uclibc.tar.gz /usr/arm-linux-uclibc/uclibc.tar.gz
root@android:/# tar xvfz uclibc.tar.gz




  • uvcvideo.koモジュール


ファイル:uvcvideo.ko



root@android:/# mkdir /lib/modules
root@android:/# /bin/cp /sdcard/uvcvideo.ko /lib/modules/uvcvideo.ko




  • webcamdデーモン


ファイル:webcamd



root@android:/# mkdir /usr/webcamd
root@android:/# cp /sdcard/webcamd /usr/webcamd/webcamd




  • Android cameraアプリ


ファイル:camera.apk



root@android:/# /bin/cp /sdcard/camera.apk /data/app/camera.apk


セットアップ


uvcvideo.koをロードしてwebcamdを起動すれば準備完了です。



root@android:/# cd /lib/modules
root@android:/# insmod uvcvideo.ko
root@android:/# cd /usr/webcamd
root@android:/# ./webcamd&


cameraアプリ起動


Androidのランチャにcameraアプリがあるので起動させます。


f:id:bs-android:20081025131904j:image





Armadillo-500上のAndroidでカメラプレビューする方法



Armadillo-500上のAndroidでUSBカメラの画像をアプリで表示させる方法をまとめましたので公開します。


Androidのソースコード公開前に作成したものの為、Androidから直接デバイスを使用しない方法を使っています。


今後、Androidから直接USBカメラを使用させる方法も探っていきます。


では、早速。







環境依存部分は便宜読み替えて下さい。


開発環境を整える


以前、このブログで紹介した方法でいけると思います。


※不明点があれば質問ください。


カーネルビルド


今回使用するカメラはUVCカメラなのでV4Lを有効化してビルドします。



atmark@atde:~/atmark-dist-20080617$ make menuconfig

  ~中略~

Device Drivers--->
Multimedia devices--->
<*> Video For Linux
< > Enable Video For Linux API 1 (DEPRECATED)
< > Enable Video For Linux API 1 compatible Layer
< > Video capture adapters --->

  ~中略~

atmark@atde:~/atmark-dist-20080617$ make


Video For Linuxだけにチェックをつけて他のチェックは外さないとコンパイルエラーが出ることがあるので注意してください。


UVCドライバビルド


Linux UVC driver and tools(http://linux-uvc.berlios.de/)にUVCドライバコードがあります。


コードはSubversionリポジトリにあるのでSubversionをインストールしてからダウンロードします。



atmark@atde:~$ sudo apt-get install subversion
Password:

  ~中略~

atmark@atde:~$ svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk

  ~中略~

atmark@atde:~$ mv trunk uvcvideo
atmark@atde:~$ cd uvcvideo
atmark@atde:~/uvcvideo$ mv Makefile Makefile.org

  ~中略~


すんなりビルドできないかもしれないので以下のMakefileに入れ替えてビルドしてみて下さい。


/home/atmark/uvcvideo/Makefile



PWD := $(shell pwd)

ROOTDIR ?= ../atmark-dist-20080617

ROMFSDIR = $(ROOTDIR)/romfs

include $(ROOTDIR)/.config
include $(ROOTDIR)/config.arch

MAKEARCH = $(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE)

LINUXDIR = $(CONFIG_LINUXDIR)
KERNELRELEASE = ${shell make -sC $(ROOTDIR)/$(LINUXDIR) kernelrelease}

obj-m := uvcvideo.o
uvcvideo-objs := uvc_driver.o uvc_queue.o uvc_v4l2.o uvc_video.o uvc_ctrl.o uvc_status.o uvc_isight.o

all: uvcvideo

uvcvideo:
@echo "Building USB Video Class driver..."
@sh svn-version.sh > version.h 2>/dev/null
@$(MAKEARCH) -C $(ROOTDIR)/$(LINUXDIR) M=$(PWD) modules

clean:
-rm -f *.o *.ko .*.cmd .*.flags *.mod.c Module.symvers version.h
modules.order
-rm -rf .tmp_versions


カーネルモジュールを作成します。



atmark@atde:~/uvcvideo$ make

  ~中略~

atmark@atde:~/uvcvideo$ ls -l

  ~中略~

-rw-r--r-- 1 atmark atmark 68024 XXXX-XX-XX XX:XX uvcvideo.ko


Sourcery G++ Lite 2007q3-51 for ARM GNU/Linuxをインストール(ARMクロスコンパイラ)


CodeSourceryからARMクロスコンパイラを取得します。


http://www.codesourcery.com/gnu_toolchains/arm/portal/release313


から IA32 GNU/Linux Tar を選択し、ダウンロード後に展開します。



atmark@atde:~$ tar xvfj arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2


uvccaptureの展開


HP(http://www.quickcamteam.net/software/linux/v4l2-software/uvccapture)から


uvccaptureを取得してホームで展開して下さい。


展開したフォルダ名を webcamd にして下さい。


添付のwebcamd化ファイルを webcamd にコピーして下さい。


v4l2uvc.hで定義している構造体vdInに下記定義を追加して下さい。



 int init;


uClibc-0.9.29ビルド


この時はまだAndroidのC言語ライブラリ(bionic)が公開されてなかったので、uClibcで代用しました。


コンフィギュレーションは以下の通りです。


Linux kernel headerの場所ですが一度ビルドしたカーネルでないとヘッダが足りません。



atmark@atde:~$ wget http://www.uclibc.org/downloads/uClibc-0.9.29.tar.bz2

  ~中略~

atmark@atde:~$ tar xvfj uClibc-0.9.29.tar.bz2

  ~中略~

atmark@atde:~$ cd uClibc-0.9.29
atmark@atde:~/uClibc-0.9.29$ make menuconfig

  ~中略~

 Target Architecture
   => arm
  Target Architecture Features and Options
   => Target ABI
    => EABI
   
   => Target Processor Endianness
    => Little Endian
    
   => Linux kernel header Location
    => /home/atmark/linux-2.6.18-at8/include

  ~中略~

atmark@atde:~/uClibc-0.9.29$ export PATH=$PATH:/home/atmark/arm-2007q3/bin



コンパイルエラーが出る場合は Rules.mak を以下のように修正してみて下さい。


Rules.mak



>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
366:#CFLAGS := -include $(top_builddir)include/libc-symbols.h \
367:# $(XWARNINGS) $(CPU_CFLAGS) $(SSP_CFLAGS) \
368:# -fno-builtin -nostdinc -I$(top_builddir)include -I.
369:CFLAGS := -include $(top_builddir)include/libc-symbols.h \
370: $(XWARNINGS) $(CPU_CFLAGS) $(SSP_CFLAGS) \
371: -fno-builtin -I$(top_builddir)include -I.
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<


コンパイルします。



atmark@atde:~/uClibc-0.9.29$ make CROSS=arm-none-linux-gnueabi-

  ~中略~

atmark@atde:~/uClibc-0.9.29$ cp ./lib/crt1.o ../webcamd/crt1.o
atmark@atde:~/uClibc-0.9.29$ cp ./lib/crti.o ../webcamd/crti.o
atmark@atde:~/uClibc-0.9.29$ cp ./lib/crtn.o ../webcamd/crtn.o
atmark@atde:~/uClibc-0.9.29$ tar cfz uclibc.tar.gz lib
atmark@atde:~/uClibc-0.9.29$ su
Password:
root@atde:/home/atmark/uClibc-0.9.29# mkdir /usr/arm-linux-uclibc
root@atde:/home/atmark/uClibc-0.9.29# cp uclibc.tar.gz /usr/arm-linux-uclibc/uclibc.tar.gz
root@atde:/home/atmark/uClibc-0.9.29# cd /usr/arm-linux-uclibc
root@atde:/usr/arm-linux-uclibc# tar xvfz uclibc.tar.gz
root@atde:/usr/arm-linux-uclibc# exit


gcc 4.2.1のソースからソフトウェア浮動小数点コードの取得


gnuから gcc 4.2.1のソースコードを取得し展開して下さい。


下記フォルダにあるコードを webcamd フォルダへコピーして下さい。



 gcc-4.2.1/gcc/config/asm/lib1funcs.asm
 gcc-4.2.1/gcc/config/asm/ieee754-df.S
 gcc-4.2.1/gcc/config/asm/ieee754-sf.S


uvccaptureをwebcamdとしてビルド



atmark@atde:/usr$ cd ~/webcamd
atmark@atde:~/webcamd$ ./buildwebcamd


cameraアプリの展開


Tom Gibara氏のLive Camera Previews in AndroidのSocketCameraを使用したアプリ"camera.apk"をAndroid側で使用します。


SocketCameraに与えるパラメータは以下の通り。




  • アドレス:127.0.0.1

  • ポート:8080

  • 画像の横幅:320

  • 画像の縦幅:240


ビルドしたアプリを実機に展開


ビルドした物をSDカード、httpサーバーからDLする等で下記の様に実機上で展開して下さい。




  • uClibcライブラリ


ファイル:uclibc.tar.gz



root@android:/# mkdir /usr/arm-linux-uclibc
root@android:/# /bin/cp /sdcard/uclibc.tar.gz /usr/arm-linux-uclibc/uclibc.tar.gz
root@android:/# tar xvfz uclibc.tar.gz




  • uvcvideo.koモジュール


ファイル:uvcvideo.ko



root@android:/# mkdir /lib/modules
root@android:/# /bin/cp /sdcard/uvcvideo.ko /lib/modules/uvcvideo.ko




  • webcamdデーモン


ファイル:webcamd



root@android:/# mkdir /usr/webcamd
root@android:/# cp /sdcard/webcamd /usr/webcamd/webcamd




  • Android cameraアプリ


ファイル:camera.apk



root@android:/# /bin/cp /sdcard/camera.apk /data/app/camera.apk


セットアップ


uvcvideo.koをロードしてwebcamdを起動すれば準備完了です。



root@android:/# cd /lib/modules
root@android:/# insmod uvcvideo.ko
root@android:/# cd /usr/webcamd
root@android:/# ./webcamd&


cameraアプリ起動


Androidのランチャにcameraアプリがあるので起動させます。


f:id:bs-android:20081025131904j:image







関西オープンソース2008(KOF2008/関西コミュニティ大決戦)に日本Androidの会の組み込みWGとして出展します。


開催日時




  • 2008年11月7日(金)13:00~18:00

  • 2008年11月8日(土)10:00~18:00


会場


大阪南港ATC ITM棟 6F マーレギャラリー(受付・展示会場)


〒559-0034 大阪市住之江区南港北2-1-10



大きな地図で見る


公共交通機関で会場へお越しの際は、大阪市交通局 ニュートラム 南港ポートタウン線でトレードセンター前駅で下車してください。駅から会場まで歩いて約5分です。


KOF2008/関西コミュニティ大決戦会場への行きかた


入場料


無料


主催


関西オープンフォーラム


展示内容


Armadillo-500FXにAndroidを載せ、USBカメラとGPSデバイスを繋いでアプリでカメラ画像とGPS測位のデモを見られるようにする予定です。


f:id:bs-android:20081023234957p:image


日本Androidの会の他のメンバーからも展示する予定ですので、どしどしご参加くださいませ!





関西オープンソース2008に日本Androidの会の組み込みWGとして出展します



関西オープンソース2008(KOF2008/関西コミュニティ大決戦)に日本Androidの会の組み込みWGとして出展します。


開催日時




  • 2008年11月7日(金)13:00~18:00

  • 2008年11月8日(土)10:00~18:00


会場


大阪南港ATC ITM棟 6F マーレギャラリー(受付・展示会場)


〒559-0034 大阪市住之江区南港北2-1-10



大きな地図で見る


公共交通機関で会場へお越しの際は、大阪市交通局 ニュートラム 南港ポートタウン線でトレードセンター前駅で下車してください。駅から会場まで歩いて約5分です。


KOF2008/関西コミュニティ大決戦会場への行きかた


入場料


無料


主催


関西オープンフォーラム


展示内容


Armadillo-500FXにAndroidを載せ、USBカメラとGPSデバイスを繋いでアプリでカメラ画像とGPS測位のデモを見られるようにする予定です。


f:id:bs-android:20081023234957p:image


日本Androidの会の他のメンバーからも展示する予定ですので、どしどしご参加くださいませ!





2008年10月22日水曜日



ついにAndroidのソースコードがリリースされました。


今年中のリリースという話しだったので、もうちょっとかかるかと思いましたが、意外にも発売日に合わせたようです。


ついに宝箱が開けられました。


コンパイルしてみよう


ソースコードはgitで管理されていて、全てダウンロードすると2G以上あります。


ダウンロードするだけでそれなりに時間が掛かりますので覚悟しましょう。


仮想環境を使う場合はHDDをケチりがちですが、余裕を持って15G以上は欲しい所です。


ビルドの仕方は簡単です。


今回はUbuntuを使った場合について、ここの手順に従って環境構築を行う場合に躓きそうな部分について解説します。


git

Ubuntu7.10のデフォルトのsoucerlistの設定では



sudo apt-get install git-core


としてもgitのヴァージョンが1.5.4以上になりませんでした。


http://git.or.cz/からgitの最新の安定パッケージをダウンロードしてインストールすれば解決できます。


jdk


sudo apt-get install sun-java6-jdk


あるいは



sudo apt-get install openjdk-6-jdk


でインストールします。


当然Synaptics Update Managerでインストールしても問題ありません。


PATHを通す


$ cd ~
$ mkdir bin


としてHOMEディレクトリにbinディレクトリを作成し、binにPATHを通しておきます。


HOMEディレクトリの.profileを編集して、最終行あたりに



export PATH=$PATH:~/bin


を追加しておくといいでしょう。


後、躓きそうなところといえば、



repo sync


をした時に、webkitのリポジトリの取得に失敗することがあるようですが、


known-issuesにある以下の手順を行うことでダウンロードできるようになります。



rm -rf .repo/projects/external/webkit.git external/webkit
cd .repo/manifests
git pull
cd ..
repo sync





取得が終わったら



make


と打てばコンパイルが始まり、最終的に


system.img


ramdisk.img


userdata.img


が出来上がります。



Install system fs image: out/target/product/generic/system.img
Target ram disk: out/target/product/generic/ramdisk.img
Target userdata fs image: out/target/product/generic/userdata.img


エミュレータが使っているイメージと差し替えて使ってみて動くかどうか試してみると面白いです。





Androidのソースコードがリリースされました



ついにAndroidのソースコードがリリースされました。


今年中のリリースという話しだったので、もうちょっとかかるかと思いましたが、意外にも発売日に合わせたようです。


ついに宝箱が開けられました。


コンパイルしてみよう


ソースコードはgitで管理されていて、全てダウンロードすると2G以上あります。


ダウンロードするだけでそれなりに時間が掛かりますので覚悟しましょう。


仮想環境を使う場合はHDDをケチりがちですが、余裕を持って15G以上は欲しい所です。


ビルドの仕方は簡単です。


今回はUbuntuを使った場合について、ここの手順に従って環境構築を行う場合に躓きそうな部分について解説します。


git

Ubuntu7.10のデフォルトのsoucerlistの設定では



sudo apt-get install git-core


としてもgitのヴァージョンが1.5.4以上になりませんでした。


http://git.or.cz/からgitの最新の安定パッケージをダウンロードしてインストールすれば解決できます。


jdk


sudo apt-get install sun-java6-jdk


あるいは



sudo apt-get install openjdk-6-jdk


でインストールします。


当然Synaptics Update Managerでインストールしても問題ありません。


PATHを通す


$ cd ~
$ mkdir bin


としてHOMEディレクトリにbinディレクトリを作成し、binにPATHを通しておきます。


HOMEディレクトリの.profileを編集して、最終行あたりに



export PATH=$PATH:~/bin


を追加しておくといいでしょう。


後、躓きそうなところといえば、



repo sync


をした時に、webkitのリポジトリの取得に失敗することがあるようですが、


known-issuesにある以下の手順を行うことでダウンロードできるようになります。



rm -rf .repo/projects/external/webkit.git external/webkit
cd .repo/manifests
git pull
cd ..
repo sync





取得が終わったら



make


と打てばコンパイルが始まり、最終的に


system.img


ramdisk.img


userdata.img


が出来上がります。



Install system fs image: out/target/product/generic/system.img
Target ram disk: out/target/product/generic/ramdisk.img
Target userdata fs image: out/target/product/generic/userdata.img


エミュレータが使っているイメージと差し替えて使ってみて動くかどうか試してみると面白いです。





2008年10月14日火曜日



f:id:bs-android:20081015025536j:image


2008/10/15(水)~10/17(金)に開催されるITProEXPOで、日本Androidの会の組み込みWGとしてAndroidの実機(Armadillo-500)を展示します。


今回はUSBカメラとGPSデバイスを繋いでみました。


ぜひお立ち寄りくださいませ。





ITPro EXPOでGPSとカメラを載せた実機を展示します



f:id:bs-android:20081015025536j:image


2008/10/15(水)~10/17(金)に開催されるITProEXPOで、日本Androidの会の組み込みWGとしてAndroidの実機(Armadillo-500)を展示します。


今回はUSBカメラとGPSデバイスを繋いでみました。


ぜひお立ち寄りくださいませ。





2008年8月20日水曜日



やっと新しいAndroid SDKが更新されました。


以前Android SDK Hackathonに参加した時に作成した浮動小数点計算のベンチマークアプリ、id:androidzaurusさんの3Dベンチマークアプリとid:adamrockerさんのFileI/OベンチマークをadamrockerさんにDroidBenchとして統合していただいていました。


今回のSDKの更新を受けて、新しいSDK(0.9 BETA)でもDroidBenchを使えるように修正しました。


ここからダウンロードできます。


eclipseのプロジェクトを丸ごと置いてありますので、ご自由にご使用くださいませ。


3Dのソフトウェアレンダリングをかなりチューニングしたようで、m5のSDKで計測したときに比べて、倍近い値の52fpsという数値が出ました。


見た感じもかなりサクサク動いています。


CPUからエミュレートしているにもかかわらず、このパフォーマンスが出るのはすごいですね。


今回のSDKには残念ながら含まれていませんでしたが、GoogleEarthがグリグリ動く様子を想像するとワクワクします。





DroidBenchをAndroid SDK 0.9 BETAに対応させました



やっと新しいAndroid SDKが更新されました。


以前Android SDK Hackathonに参加した時に作成した浮動小数点計算のベンチマークアプリ、id:androidzaurusさんの3Dベンチマークアプリとid:adamrockerさんのFileI/OベンチマークをadamrockerさんにDroidBenchとして統合していただいていました。


今回のSDKの更新を受けて、新しいSDK(0.9 BETA)でもDroidBenchを使えるように修正しました。


ここからダウンロードできます。


eclipseのプロジェクトを丸ごと置いてありますので、ご自由にご使用くださいませ。


3Dのソフトウェアレンダリングをかなりチューニングしたようで、m5のSDKで計測したときに比べて、倍近い値の52fpsという数値が出ました。


見た感じもかなりサクサク動いています。


CPUからエミュレートしているにもかかわらず、このパフォーマンスが出るのはすごいですね。


今回のSDKには残念ながら含まれていませんでしたが、GoogleEarthがグリグリ動く様子を想像するとワクワクします。





2008年7月28日月曜日



お待たせしました。


大分時間がたってしまいましたが、以前アットマークテクノの人にいただいていたサウンドを再生させるためのパッチファイルの動作検証が終わり、ひとまず身の回りが落ち着いたので公開致します。


サウンドのパッチファイル


解凍するとファイルが2つ含まれているので、両方共当ててカーネルをコンパイルしてください。


#menuconfigなどでOSSをオンにしておく必要があると思います。


そして、コンパイルしたカーネルを焼いた実機を起動させてから、



rm /dev/eac


としてAndroidが使用するサウンドデバイスを削除します。


そして



ls -al /dev/dsp
crw------- 1 root root 14, 3 Dec 31 19:01 /dev/dsp


としてドライバのメジャー番号とマイナー番号を確認しておきます。


そして、確認したメジャー番号とマイナー番号を使って/dev/eacを作り直します。



mknod /dev/eac c 14 3


これだけで音が鳴るようになるはずです。


Ambientという音楽プレイヤーを使ってSDカードのmp3ファイルを再生させるのが楽だと思います。


これはArmadillo-500での方法ですが、他のボードやZaurusにも応用可能だと思います。


他のデバイスでも成功したらフィードバックを頂けるとありがたいです。


グッドラック!





Androidでサウンド再生を可能にするパッチ



お待たせしました。


大分時間がたってしまいましたが、以前アットマークテクノの人にいただいていたサウンドを再生させるためのパッチファイルの動作検証が終わり、ひとまず身の回りが落ち着いたので公開致します。


サウンドのパッチファイル


解凍するとファイルが2つ含まれているので、両方共当ててカーネルをコンパイルしてください。


#menuconfigなどでOSSをオンにしておく必要があると思います。


そして、コンパイルしたカーネルを焼いた実機を起動させてから、



rm /dev/eac


としてAndroidが使用するサウンドデバイスを削除します。


そして



ls -al /dev/dsp
crw------- 1 root root 14, 3 Dec 31 19:01 /dev/dsp


としてドライバのメジャー番号とマイナー番号を確認しておきます。


そして、確認したメジャー番号とマイナー番号を使って/dev/eacを作り直します。



mknod /dev/eac c 14 3


これだけで音が鳴るようになるはずです。


Ambientという音楽プレイヤーを使ってSDカードのmp3ファイルを再生させるのが楽だと思います。


これはArmadillo-500での方法ですが、他のボードやZaurusにも応用可能だと思います。


他のデバイスでも成功したらフィードバックを頂けるとありがたいです。


グッドラック!





2008年7月14日月曜日



ま さんへの返信が思いのほか長くなってしまったのでエントリにしました。





Androidは今の時点では全てオープンでないことは知っていますが、全てオープンソースになるとアンディ氏は宣言しています。


本当にそうなるかどうかはわかりませんが、Androidでは隠しAPIなどは一切設けないということを先日のGoogle Tech Talk in 京都で聞きました。





プロプライエタリになるのはデバイスに近い部分だけで、アプリ開発者にはあまり影響はないと考えています。


実際そこはキャリアがどういうアプローチをするかはまだわかりませんが、実はあまりそこに興味はありません。


長くなるので詳しくは書きませんが、キャリアがアプリ開発者にとってオープンな戦略をとらなければ、数多く出てくるAndroidをベースにしたオープンな端末に駆逐されてしまう運命が待っているでしょう。





iPhoneが戦国の世に流れ着いた火縄銃だとすれば、Androidはその設計図と製作するための道具を提供しています。


長期的に見ればAndroidの方が進化していくのは明らかです。Androidの設計図があれば銃が簡単に作れます。その設計図を元に改良を重ね、大砲や光線銃を作ってしまう人も出てくるかも知れません。





わたしの頭の中ではすでにキャリアの呪縛からは解き放たれています。


最初の端末がリリースされてソースコードがオープンになれば、例えば我々のような小さな会社でもデバイスを一から作ることが可能になるからです。


また、Androidはむしろキャリアに縛られるような携帯電話用のプラットフォームにはおさまらず、組み込み端末のベースになっていくと思っています。





AndroidはAndroid自身を作ることが可能な道具を提供してくれるので、(別にiPhoneでなくてもいいのですが)iPhoneそっくりのものを作ることすら可能で、将来的にはそういったデバイスも安価でたくさん出てくると思います。


提供された箱庭から飛び出すことの方が開発者冥利に尽きます。


iPhoneのように完成されて組み立てられたおもちゃではなく、Androidはレゴブロックなのです。


可能性は無限大です。


iPhoneで出来ることは限られています。





決してバラせない完成品の高性能なロボットが20万円で売っていて、高性能なロボットの設計図とロボットを製作するための道具がタダで落ちていたら、私は迷わず設計図の方を拾うでしょう。


完成品のロボットも買ってしまうかもしれませんが、それを参考にしながら自分だけのロボットを作ることに情熱を燃やすと思います。





その昔私が小学生だった時にお年玉でラジコンカーを買いました。


友達もラジコンカーを持っていました。


友達のラジコンカーはバックが出来ました。


私の持っていたラジコンカーはバックが出来ず、前進と回転しかできませんでした。


バックできないのが無茶苦茶悔しくて、どうしてもバックできるように改造したかったのですが、どうにもその方法がわかりませんでした。電流を逆に流せばバックできるんじゃないか?くらいしかわかりませんでした。


私はバックが出来るラジコンカーを別に買うよりも、回転と前進しかできないラジコンカーの仕組みを理解してバックできるようにしたかったのです。


結局バックできるラジコンカーを翌年買ってしまい、その夢は叶いませんでしたが、今でも自分の中ではバックさせる事が出来なかった悔しさが忘れられません。


人から与えられたものをそのまま使うことではあまり面白さを感じられない性分のようです。





Androidは携帯電話におさまらない(ま さんへの返信)



ま さんへの返信が思いのほか長くなってしまったのでエントリにしました。





Androidは今の時点では全てオープンでないことは知っていますが、全てオープンソースになるとアンディ氏は宣言しています。


本当にそうなるかどうかはわかりませんが、Androidでは隠しAPIなどは一切設けないということを先日のGoogle Tech Talk in 京都で聞きました。





プロプライエタリになるのはデバイスに近い部分だけで、アプリ開発者にはあまり影響はないと考えています。


実際そこはキャリアがどういうアプローチをするかはまだわかりませんが、実はあまりそこに興味はありません。


長くなるので詳しくは書きませんが、キャリアがアプリ開発者にとってオープンな戦略をとらなければ、数多く出てくるAndroidをベースにしたオープンな端末に駆逐されてしまう運命が待っているでしょう。





iPhoneが戦国の世に流れ着いた火縄銃だとすれば、Androidはその設計図と製作するための道具を提供しています。


長期的に見ればAndroidの方が進化していくのは明らかです。Androidの設計図があれば銃が簡単に作れます。その設計図を元に改良を重ね、大砲や光線銃を作ってしまう人も出てくるかも知れません。





わたしの頭の中ではすでにキャリアの呪縛からは解き放たれています。


最初の端末がリリースされてソースコードがオープンになれば、例えば我々のような小さな会社でもデバイスを一から作ることが可能になるからです。


また、Androidはむしろキャリアに縛られるような携帯電話用のプラットフォームにはおさまらず、組み込み端末のベースになっていくと思っています。





AndroidはAndroid自身を作ることが可能な道具を提供してくれるので、(別にiPhoneでなくてもいいのですが)iPhoneそっくりのものを作ることすら可能で、将来的にはそういったデバイスも安価でたくさん出てくると思います。


提供された箱庭から飛び出すことの方が開発者冥利に尽きます。


iPhoneのように完成されて組み立てられたおもちゃではなく、Androidはレゴブロックなのです。


可能性は無限大です。


iPhoneで出来ることは限られています。





決してバラせない完成品の高性能なロボットが20万円で売っていて、高性能なロボットの設計図とロボットを製作するための道具がタダで落ちていたら、私は迷わず設計図の方を拾うでしょう。


完成品のロボットも買ってしまうかもしれませんが、それを参考にしながら自分だけのロボットを作ることに情熱を燃やすと思います。





その昔私が小学生だった時にお年玉でラジコンカーを買いました。


友達もラジコンカーを持っていました。


友達のラジコンカーはバックが出来ました。


私の持っていたラジコンカーはバックが出来ず、前進と回転しかできませんでした。


バックできないのが無茶苦茶悔しくて、どうしてもバックできるように改造したかったのですが、どうにもその方法がわかりませんでした。電流を逆に流せばバックできるんじゃないか?くらいしかわかりませんでした。


私はバックが出来るラジコンカーを別に買うよりも、回転と前進しかできないラジコンカーの仕組みを理解してバックできるようにしたかったのです。


結局バックできるラジコンカーを翌年買ってしまい、その夢は叶いませんでしたが、今でも自分の中ではバックさせる事が出来なかった悔しさが忘れられません。


人から与えられたものをそのまま使うことではあまり面白さを感じられない性分のようです。





2008年7月13日日曜日



f:id:bs-android:20080714010251p:image


ついにiPhoneが発売されましたね。


iPhoneが取り沙汰されるようになり、ついでという感じでAndroidとiPhoneが比較されることが多いですが、実際は性質がまったく異なるものです。


それぞれ土俵がまったく違うのですが、ユーザーの視点から見るとほとんど違いがないために、その点がいまいち理解されにくいようです。


iPhoneが颯爽と現れたヒーローだとすれば、Androidはさしずめ次々沸いてくるアンドロ軍団(例えが古過ぎ)といったところでしょうか。





それではキャリア、メーカー、開発者、ユーザーの4つの観点から、AndroidとiPhoneの違いを詳しく見ていきましょう。


キャリアにとって


iPhoneはキャリアにとっては顧客を増やす救世主のように思えるかもしれませんが、


実際はそれほど簡単な話ではありません。


iPhoneの販売台数が伸びれば伸びるほどキャリアの懐に食い込んで、キャリア自身が手放すことができなくなり、うまく共生しないとAppleの手の平で踊らされることになるでしょう。





iPhoneを採用したキャリアはしばらくは栄えるかもしれませんが、キャリア自身にとってのよい未来は見えてきません。





Androidはどうでしょうか。


iPhoneに比べるとAndroidは一般的にはいまいちぱっとしません。


しかし現時点でDoCoMoとAUがAndroidを推進する団体のOHA(Open Handset Alliance)に入っています。


何の戦略もなしにOHAに加入しているとは思えないので、Androidに将来性を感じているのは間違いないと思います。





キャリアにとってのAndroidの魅力とは何なのでしょう。


まず、Androidを利用するに当たってお金は要りません。


しかもGoogleが開発しているため、品質が非常に高いです。


キャリア主導で開発されたプラットフォームとは一線を画する出来栄えです。


これを無料で利用できるのですから、キャリアにとっては特別な事情がない限り、使わない理由はないといってもいいでしょう。





また、無料で公開されるため、ひとつのメーカーに独占されることなく色々なメーカーが出すことが可能です。


DoCoMoは実はiPhoneを欲しがっているように見せかけて、裏で着々とAndroidの準備を進めているのかもしれません。


iPhoneを導入してしまうとAppleに振り回されることになるため、それを嫌っているということも考えられます。





Android、iPhoneのどちらを選ぶにしろ、キャリアは単なるネットワークのプロバイダになることを受け入れる覚悟が必要です。


i-modeは近いうちに消え去る運命でしょう。DoCoMoもいつまでもi-modeにしがみついていては時代に取り残されることがわかったために夏野氏が退陣したのではないかと邪推してしまいます。


iPhoneを出すよりはAndroidの方がキャリアが主導権を握っておきやすいといったところでしょうか。





しかし、Android創設者のアンディ・ルービンさんも



ルービン:Androidの可能性は携帯電話だけではない。超小型PC、PDA、カーナビ、そのほか多様な可能性がある。当然、このような開発が今後あるだろう。まずは1stプロダクトの携帯電話を出して、その先にある未開拓の世界だと思っている。





Androidは雇い主の分身として仕事をするエージェントより



と言っているように、Androidの潜在能力は携帯電話だけにとどまりません。


携帯電話の枠を飛び出した時に、Androidの重要性が再認識されることになるでしょう。





メーカーにとって


言わずもがな、iPhoneはAppleとAppleの下請け以外のメーカーにとって何もいいことはありません。


現時点でAppleに勝てる商品の品質、魅力、ブランド力を打ち出せるメーカーはNokiaくらいしかないのではないでしょうか。(日本ではあまり成功しているとは言い難いですが。)





Appleがインフラを整備したコンテンツ販売によって、アプリメーカーにとってはビジネスのチャンスが広がるかもしれませんが、イノベーションを起こすことはないでしょう。


イノベーションが起こるとしてもAppleが作った箱庭の中だけです。


しかもAppleがiPhoneの販売戦略に失敗したらおしまいです。


NDAが厳しくてiPhoneでの販売は面倒だという話も聞きます。





Androidの場合はどうでしょう。


最初の端末が発売されてからは、Androidを使用したモバイル端末を出すに当たって特に許可は要らないようです。


しかも(最初の端末発売後は)ソースコードが公開されているため、自由に改変可能です。


メーカーは着々とAndroidを採用したモバイル端末を計画しているものと思われます。


事実、世界中の大手メーカーがアンディ・ルービンさんに会うためにいまだに行列を作っているようです。


水面下で色々な端末の開発が進んでいるのは間違いないでしょう。





Androidはまだ端末が発売されていないから実感がわかないという意見を良く聞きますが、


よくわからない今こそがチャンスです。


Androidの未開のフロンティアに一番乗りして旗を立てれば、そこが自分の陣地になる可能性は極めて高く、


何故みんなこのチャンスに乗ってこないのか不思議なくらいです


大手メーカーは動きづらいかもしれませんが、中小企業にとっては下克上ができる大チャンスなのです。





開発者にとって


iPhoneのSDKを使ったことがないので偉そうな事は書けませんが、iPhone自体を動かしているソースコードは闇の中です。


Appleが用意した箱庭の中で争うのもいいですが、所詮は箱庭なのです。


限られた箱庭の中で市場を奪い合い、一部の強者だけが残ることになってしまうのではないでしょうか。





今後どうなるかはわかりませんが、フリーウェアを配布するにはアプリ開発にかかる費用が高すぎます。


正直、日曜プログラミングのために年間の登録費用を払う気にはなれません。


アプリ販売で商売をしようにも、Appleに売り上げの30%を持っていかれてしまいます。


儲かれば儲かるほどこの30%が効いてきて、iPhone以外で同じようなアプリを出したほうが儲かることに気がつくかもしれません。(すでにiPhone向けのメディアプレーヤソフトのTunewikiはAndroidにも移植されています。)





唯一残るのはAppleのブランドです。


流石はデザインと使い勝手にこだわるAppleだけに、UIのカッコよさは天下一品です。





しかし、開発者はそのカッコよさにぶら下がることしか出来ません。


しかもiPhone自体を作ることは出来ず、iPhoneのアクセサリしか作れないのです。


Appleは当然iPhone自体の作り方を教えてくれません。





Androidはどうでしょうか。


Androidが提供するのはAndroidではありません。


AndroidはAndroid自体の作り方と道具を提供してくれます。





大げさに言えば、宇宙人からのオーバーテクノロジーな贈り物に、


詳細な使い方と設計図がついてくるようなものです。





開発に使用するエミュレータもかなりの高品質です。


エミュレータが遅い遅いという声をよく聞きますが、私が今まで見てきた組み込みの開発現場で使っていたエミュレータで、これほど高速で動作するものは見たことがありませんでした。


しかも、実機で動くバイナリコードをそのまま使ってPC上でデバッグできるような環境など、望むべくもありませんでした。





Androidの登場によって、モバイルデバイスに限らず、組み込み業界の技術レベルが世界的に数ランク底上げされるのは間違いありません。


ギークたちはこぞって技術を吸収し、さらに技術レベルを高める為の苗床になっていくでしょう。





Androidの苗床から無数のプロダクトが生み出されていくのが目に見えるようです。





もしかしたらワクワクしているのは自分のまわりだけなのかもしれませんが、開発者にとってのワクワク度はAndroidに軍配が上がると思っています。





ユーザーにとって


ユーザーにとって、iPhoneとその他の携帯電話は何が違うのでしょうか。


まずは前面タッチパネルでスタイリッシュなデザインが目を惹きます。


iPodと同じように簡単に音楽を持ち歩くことができるという点でもユーザーにメリットがあるでしょう。


PCを所持している人しか音楽を持ち歩けないという敷居の高さもありますが、すでに日本の携帯電話で音楽を持ち歩いている人も、PCのソフトを使用して端末に音楽を移しているため、そのあたりには障害は感じられません。





そして大きなウリのひとつのインターネットのブラウジングの快適さでしょう。


慣性が利いたようなスクロールは病み付きになります。しかし、これは他のブラウザにも続々とマネをされてアドバンテージではなくなってきている感が無きにしも非ずです。


タッチパネル操作を前提として練り込まれたUIが日本のユーザーを魅了できるかどうかはわかりません。


先日実際にiPhoneを触って日本語入力を試しましたが、日本の携帯電話の文字入力に慣れているユーザーを取り込むのは難しいなと感じました。


また、携帯電話にしては少し重くて大きく、使用中の熱も気になりました。


実は少しiPhoneを欲しいと思っていたのですが、実際に触ってみて購入意欲がまったく無くなってしまいました。





Androidはどうでしょうか。


検索数の少なさから見ても、一般の人のAndroidの認知度は物凄く低いです。


まだ出来上がったものが販売されていない為にメディアへの露出も少ないです。


完成前のデモ品は数多く披露されていますが、日本のテレビなどで取りあげられたことはほとんどないのではないでしょうか。





ユーザーにAndroidが何かを説明するのは非常に難しいです。


Androidが爆発的に売れる為には、その答えを出さなければいけないのは間違いないと思います。





キャズムを超えらるのはどっち?


iPhoneもAndroidもユーザーに受け入れられ、爆発的に普及する可能性を秘めていると思います。


iPhoneが一般的なものとして受け入れられるかどうかは正直あやしいと思っています。


しかし、Androidがキャズムを超えるのは間違いないでしょう。


なんといってもアンドロ軍団ですから、倒れても倒れても進化したAndroidが次々に登場して、いつかは必ず一般ユーザーに当たり前に受け入れられる日が来るでしょう。


その時は既にAndroidという名前ではなくなっているかもしれませんが、Androidから生まれた何かであるのは間違いないと思います。











Androidはモバイル端末にとどまらず、組み込み業界の技術を底上げし、イノベーションを起こすでしょう。


その歴史の1ページの片隅に名前を刻みたいと思っています。





iPhoneはイノベーションを起こさない



f:id:bs-android:20080714010251p:image


ついにiPhoneが発売されましたね。


iPhoneが取り沙汰されるようになり、ついでという感じでAndroidとiPhoneが比較されることが多いですが、実際は性質がまったく異なるものです。


それぞれ土俵がまったく違うのですが、ユーザーの視点から見るとほとんど違いがないために、その点がいまいち理解されにくいようです。


iPhoneが颯爽と現れたヒーローだとすれば、Androidはさしずめ次々沸いてくるアンドロ軍団(例えが古過ぎ)といったところでしょうか。





それではキャリア、メーカー、開発者、ユーザーの4つの観点から、AndroidとiPhoneの違いを詳しく見ていきましょう。


キャリアにとって


iPhoneはキャリアにとっては顧客を増やす救世主のように思えるかもしれませんが、


実際はそれほど簡単な話ではありません。


iPhoneの販売台数が伸びれば伸びるほどキャリアの懐に食い込んで、キャリア自身が手放すことができなくなり、うまく共生しないとAppleの手の平で踊らされることになるでしょう。





iPhoneを採用したキャリアはしばらくは栄えるかもしれませんが、キャリア自身にとってのよい未来は見えてきません。





Androidはどうでしょうか。


iPhoneに比べるとAndroidは一般的にはいまいちぱっとしません。


しかし現時点でDoCoMoとAUがAndroidを推進する団体のOHA(Open Handset Alliance)に入っています。


何の戦略もなしにOHAに加入しているとは思えないので、Androidに将来性を感じているのは間違いないと思います。





キャリアにとってのAndroidの魅力とは何なのでしょう。


まず、Androidを利用するに当たってお金は要りません。


しかもGoogleが開発しているため、品質が非常に高いです。


キャリア主導で開発されたプラットフォームとは一線を画する出来栄えです。


これを無料で利用できるのですから、キャリアにとっては特別な事情がない限り、使わない理由はないといってもいいでしょう。





また、無料で公開されるため、ひとつのメーカーに独占されることなく色々なメーカーが出すことが可能です。


DoCoMoは実はiPhoneを欲しがっているように見せかけて、裏で着々とAndroidの準備を進めているのかもしれません。


iPhoneを導入してしまうとAppleに振り回されることになるため、それを嫌っているということも考えられます。





Android、iPhoneのどちらを選ぶにしろ、キャリアは単なるネットワークのプロバイダになることを受け入れる覚悟が必要です。


i-modeは近いうちに消え去る運命でしょう。DoCoMoもいつまでもi-modeにしがみついていては時代に取り残されることがわかったために夏野氏が退陣したのではないかと邪推してしまいます。


iPhoneを出すよりはAndroidの方がキャリアが主導権を握っておきやすいといったところでしょうか。





しかし、Android創設者のアンディ・ルービンさんも



ルービン:Androidの可能性は携帯電話だけではない。超小型PC、PDA、カーナビ、そのほか多様な可能性がある。当然、このような開発が今後あるだろう。まずは1stプロダクトの携帯電話を出して、その先にある未開拓の世界だと思っている。





Androidは雇い主の分身として仕事をするエージェントより



と言っているように、Androidの潜在能力は携帯電話だけにとどまりません。


携帯電話の枠を飛び出した時に、Androidの重要性が再認識されることになるでしょう。





メーカーにとって


言わずもがな、iPhoneはAppleとAppleの下請け以外のメーカーにとって何もいいことはありません。


現時点でAppleに勝てる商品の品質、魅力、ブランド力を打ち出せるメーカーはNokiaくらいしかないのではないでしょうか。(日本ではあまり成功しているとは言い難いですが。)





Appleがインフラを整備したコンテンツ販売によって、アプリメーカーにとってはビジネスのチャンスが広がるかもしれませんが、イノベーションを起こすことはないでしょう。


イノベーションが起こるとしてもAppleが作った箱庭の中だけです。


しかもAppleがiPhoneの販売戦略に失敗したらおしまいです。


NDAが厳しくてiPhoneでの販売は面倒だという話も聞きます。





Androidの場合はどうでしょう。


最初の端末が発売されてからは、Androidを使用したモバイル端末を出すに当たって特に許可は要らないようです。


しかも(最初の端末発売後は)ソースコードが公開されているため、自由に改変可能です。


メーカーは着々とAndroidを採用したモバイル端末を計画しているものと思われます。


事実、世界中の大手メーカーがアンディ・ルービンさんに会うためにいまだに行列を作っているようです。


水面下で色々な端末の開発が進んでいるのは間違いないでしょう。





Androidはまだ端末が発売されていないから実感がわかないという意見を良く聞きますが、


よくわからない今こそがチャンスです。


Androidの未開のフロンティアに一番乗りして旗を立てれば、そこが自分の陣地になる可能性は極めて高く、


何故みんなこのチャンスに乗ってこないのか不思議なくらいです


大手メーカーは動きづらいかもしれませんが、中小企業にとっては下克上ができる大チャンスなのです。





開発者にとって


iPhoneのSDKを使ったことがないので偉そうな事は書けませんが、iPhone自体を動かしているソースコードは闇の中です。


Appleが用意した箱庭の中で争うのもいいですが、所詮は箱庭なのです。


限られた箱庭の中で市場を奪い合い、一部の強者だけが残ることになってしまうのではないでしょうか。





今後どうなるかはわかりませんが、フリーウェアを配布するにはアプリ開発にかかる費用が高すぎます。


正直、日曜プログラミングのために年間の登録費用を払う気にはなれません。


アプリ販売で商売をしようにも、Appleに売り上げの30%を持っていかれてしまいます。


儲かれば儲かるほどこの30%が効いてきて、iPhone以外で同じようなアプリを出したほうが儲かることに気がつくかもしれません。(すでにiPhone向けのメディアプレーヤソフトのTunewikiはAndroidにも移植されています。)





唯一残るのはAppleのブランドです。


流石はデザインと使い勝手にこだわるAppleだけに、UIのカッコよさは天下一品です。





しかし、開発者はそのカッコよさにぶら下がることしか出来ません。


しかもiPhone自体を作ることは出来ず、iPhoneのアクセサリしか作れないのです。


Appleは当然iPhone自体の作り方を教えてくれません。





Androidはどうでしょうか。


Androidが提供するのはAndroidではありません。


AndroidはAndroid自体の作り方と道具を提供してくれます。





大げさに言えば、宇宙人からのオーバーテクノロジーな贈り物に、


詳細な使い方と設計図がついてくるようなものです。





開発に使用するエミュレータもかなりの高品質です。


エミュレータが遅い遅いという声をよく聞きますが、私が今まで見てきた組み込みの開発現場で使っていたエミュレータで、これほど高速で動作するものは見たことがありませんでした。


しかも、実機で動くバイナリコードをそのまま使ってPC上でデバッグできるような環境など、望むべくもありませんでした。





Androidの登場によって、モバイルデバイスに限らず、組み込み業界の技術レベルが世界的に数ランク底上げされるのは間違いありません。


ギークたちはこぞって技術を吸収し、さらに技術レベルを高める為の苗床になっていくでしょう。





Androidの苗床から無数のプロダクトが生み出されていくのが目に見えるようです。





もしかしたらワクワクしているのは自分のまわりだけなのかもしれませんが、開発者にとってのワクワク度はAndroidに軍配が上がると思っています。





ユーザーにとって


ユーザーにとって、iPhoneとその他の携帯電話は何が違うのでしょうか。


まずは前面タッチパネルでスタイリッシュなデザインが目を惹きます。


iPodと同じように簡単に音楽を持ち歩くことができるという点でもユーザーにメリットがあるでしょう。


PCを所持している人しか音楽を持ち歩けないという敷居の高さもありますが、すでに日本の携帯電話で音楽を持ち歩いている人も、PCのソフトを使用して端末に音楽を移しているため、そのあたりには障害は感じられません。





そして大きなウリのひとつのインターネットのブラウジングの快適さでしょう。


慣性が利いたようなスクロールは病み付きになります。しかし、これは他のブラウザにも続々とマネをされてアドバンテージではなくなってきている感が無きにしも非ずです。


タッチパネル操作を前提として練り込まれたUIが日本のユーザーを魅了できるかどうかはわかりません。


先日実際にiPhoneを触って日本語入力を試しましたが、日本の携帯電話の文字入力に慣れているユーザーを取り込むのは難しいなと感じました。


また、携帯電話にしては少し重くて大きく、使用中の熱も気になりました。


実は少しiPhoneを欲しいと思っていたのですが、実際に触ってみて購入意欲がまったく無くなってしまいました。





Androidはどうでしょうか。


検索数の少なさから見ても、一般の人のAndroidの認知度は物凄く低いです。


まだ出来上がったものが販売されていない為にメディアへの露出も少ないです。


完成前のデモ品は数多く披露されていますが、日本のテレビなどで取りあげられたことはほとんどないのではないでしょうか。





ユーザーにAndroidが何かを説明するのは非常に難しいです。


Androidが爆発的に売れる為には、その答えを出さなければいけないのは間違いないと思います。





キャズムを超えらるのはどっち?


iPhoneもAndroidもユーザーに受け入れられ、爆発的に普及する可能性を秘めていると思います。


iPhoneが一般的なものとして受け入れられるかどうかは正直あやしいと思っています。


しかし、Androidがキャズムを超えるのは間違いないでしょう。


なんといってもアンドロ軍団ですから、倒れても倒れても進化したAndroidが次々に登場して、いつかは必ず一般ユーザーに当たり前に受け入れられる日が来るでしょう。


その時は既にAndroidという名前ではなくなっているかもしれませんが、Androidから生まれた何かであるのは間違いないと思います。











Androidはモバイル端末にとどまらず、組み込み業界の技術を底上げし、イノベーションを起こすでしょう。


その歴史の1ページの片隅に名前を刻みたいと思っています。





2008年7月6日日曜日



f:id:bs-android:20080706153112j:imageいまGoogleテックトーク京都に参加しています





2008-07-06



f:id:bs-android:20080706153112j:imageいまGoogleテックトーク京都に参加しています





2008年6月11日水曜日



本日(2008/6/10)で早稲田大学主催第4回Android勉強会の申し込みが締め切りです。


お忘れの方はこちらからどうぞ。


Android勉強会 第4回~第6回分 申し込みフォーム


※第4回~第6回分の3回分一括の申し込みと書いてありますが、第5回、第6回に参加しなくても構わないとのことです。





本日早稲田大学主催第4回Android勉強会申し込み締め切りです



本日(2008/6/10)で早稲田大学主催第4回Android勉強会の申し込みが締め切りです。


お忘れの方はこちらからどうぞ。


Android勉強会 第4回~第6回分 申し込みフォーム


※第4回~第6回分の3回分一括の申し込みと書いてありますが、第5回、第6回に参加しなくても構わないとのことです。





2008年6月4日水曜日



早稲田大学主催第4回Android勉強会に講師として登壇します。


開催日時


6/16(月) 19:00~21:00


内容


1時間の枠をもらいました。


毎度おなじみArmadillo-500を使ったプレゼンを行います。


今回はポーティングの方法とポーティング時につまずいた点を解説していきます。


Androidのサウンドのポーティング方法についても解説しようと考えています。


※できなかったらごめんなさい。


場所


wakhokサテライト 秋葉原ダイビル12F



大きな地図で見る


参加費


無料


申し込み


Android勉強会 第4回~第6回分 申し込みフォーム


※第4回~第6回分の3回分一括の申し込みと書いてありますが、第5回、第6回に参加しなくても構わないとのことです。


申し込み期限


6/10(火)


みなさん、奮ってご参加お申し込みくださいませ。





早稲田大学主催第4回Android勉強会に登壇します。



早稲田大学主催第4回Android勉強会に講師として登壇します。


開催日時


6/16(月) 19:00~21:00


内容


1時間の枠をもらいました。


毎度おなじみArmadillo-500を使ったプレゼンを行います。


今回はポーティングの方法とポーティング時につまずいた点を解説していきます。


Androidのサウンドのポーティング方法についても解説しようと考えています。


※できなかったらごめんなさい。


場所


wakhokサテライト 秋葉原ダイビル12F



大きな地図で見る


参加費


無料


申し込み


Android勉強会 第4回~第6回分 申し込みフォーム


※第4回~第6回分の3回分一括の申し込みと書いてありますが、第5回、第6回に参加しなくても構わないとのことです。


申し込み期限


6/10(火)


みなさん、奮ってご参加お申し込みくださいませ。





2008年5月30日金曜日



はてなクラブに申し込んだら、すぐに招集がかかってしまいました。


いま尋問され中です。


これをアップロードしろといわれました。


f:id:bs-android:20080529190913j:image





いま、はてな本社です



はてなクラブに申し込んだら、すぐに招集がかかってしまいました。


いま尋問され中です。


これをアップロードしろといわれました。


f:id:bs-android:20080529190913j:image





2008年5月16日金曜日



昨日のESECでのデモ、16:00開始だったのですが、大崎駅から国際展示場まで13分だからとゆっくりしていたら、人身事故の影響でしばし立ち往生。


何とか開始10分くらい前について、汗をだらだら流しながらプレゼンに望みました。


新幹線の中でプレゼンアプリのエフェクトを5つくらい増やしていたので、


本番前に差し替えようと思っていたのですが、差し替える時間がありませんでした。


無念です。


プレゼンはいまだ慣れていないので、あまりうまく出来たとはいえませんでしたが、終わった後に「楽しい内容でした」と声をかけてくれた方のお陰で報われました。


ESEC会場を少しまわりましたが、まだまだAndroidの知名度は低い感じがしました。


現在の組み込みのシェアの大部分を掻っ攫ってしまうほどの潜在能力を秘めているにも関わらず、のんびりしているなあという印象を受けました。


アットマークテクノさんのタッチパネル付きのArmadillo-500で音が鳴っていたため、どうやって鳴らしているのかをアットマークテクノさんのエンジニアの方に聞いたところ、ソースファイルをもらえるとのコトでした。


しかし待ちきれなかったので、esec終了後の居酒屋でノートパソコンを開きながら対応方法の詳細を教えてもらいました。


ものすごく勉強になりました。


ありがとうございました。


今日も頑張ります!





ESEC、アットマークテクノさんブースでのAndroidデモ



昨日のESECでのデモ、16:00開始だったのですが、大崎駅から国際展示場まで13分だからとゆっくりしていたら、人身事故の影響でしばし立ち往生。


何とか開始10分くらい前について、汗をだらだら流しながらプレゼンに望みました。


新幹線の中でプレゼンアプリのエフェクトを5つくらい増やしていたので、


本番前に差し替えようと思っていたのですが、差し替える時間がありませんでした。


無念です。


プレゼンはいまだ慣れていないので、あまりうまく出来たとはいえませんでしたが、終わった後に「楽しい内容でした」と声をかけてくれた方のお陰で報われました。


ESEC会場を少しまわりましたが、まだまだAndroidの知名度は低い感じがしました。


現在の組み込みのシェアの大部分を掻っ攫ってしまうほどの潜在能力を秘めているにも関わらず、のんびりしているなあという印象を受けました。


アットマークテクノさんのタッチパネル付きのArmadillo-500で音が鳴っていたため、どうやって鳴らしているのかをアットマークテクノさんのエンジニアの方に聞いたところ、ソースファイルをもらえるとのコトでした。


しかし待ちきれなかったので、esec終了後の居酒屋でノートパソコンを開きながら対応方法の詳細を教えてもらいました。


ものすごく勉強になりました。


ありがとうございました。


今日も頑張ります!





2008年5月12日月曜日



5/9のAndroid勉強会、無事終了しました。


参加していただいた方々、どうもありがとうございました。


ほとんどの方が東京方面にもかかわらず、遠い所をはるばる来ていただき、本当にありがとうございました。


当日Armadillo-500を持参した方が予想以上に多く、


時間内に全員の方にバイナリを焼くことができず、申し訳ありませんでした。


※時間内に焼けなかった方々には個別に対応させていただいています。





終了後のオフ会も遠方から来られた方が多い中、14名と大所帯で実施でき、非常に楽しい時間を過ごす事が出来ました。


Andoridという共通タグがなければ、まず出会うことがなかったレイヤーの人たちが、一堂に会するという素敵な時間でした。


Androidというプラットフォームには、ひとつの端末を構成する全ての要素が詰まっているからこそ、このようなことが可能になるのだと思います。


日本ではAndroidの火は、まだまだくすぶっているに過ぎません。


水面下でバラバラにくすぶって人知れず消えてしまわないように、大きな炎にしていきましょう!





次回開催する際は、東京で会場を借りて開催したいと思います。


※ブリリアントサービス主催ではありませんが、6/16の早稲田大学主催のAndroid勉強会では講演させていただく予定です。





※当日Armadillo-500上で動かして使用した、開催前日から夜なべして作ったAndroidのプレゼンアプリを置いておきます。


f:id:bs-android:20080511233654p:image





Android勉強会無事終了



5/9のAndroid勉強会、無事終了しました。


参加していただいた方々、どうもありがとうございました。


ほとんどの方が東京方面にもかかわらず、遠い所をはるばる来ていただき、本当にありがとうございました。


当日Armadillo-500を持参した方が予想以上に多く、


時間内に全員の方にバイナリを焼くことができず、申し訳ありませんでした。


※時間内に焼けなかった方々には個別に対応させていただいています。





終了後のオフ会も遠方から来られた方が多い中、14名と大所帯で実施でき、非常に楽しい時間を過ごす事が出来ました。


Andoridという共通タグがなければ、まず出会うことがなかったレイヤーの人たちが、一堂に会するという素敵な時間でした。


Androidというプラットフォームには、ひとつの端末を構成する全ての要素が詰まっているからこそ、このようなことが可能になるのだと思います。


日本ではAndroidの火は、まだまだくすぶっているに過ぎません。


水面下でバラバラにくすぶって人知れず消えてしまわないように、大きな炎にしていきましょう!





次回開催する際は、東京で会場を借りて開催したいと思います。


※ブリリアントサービス主催ではありませんが、6/16の早稲田大学主催のAndroid勉強会では講演させていただく予定です。





※当日Armadillo-500上で動かして使用した、開催前日から夜なべして作ったAndroidのプレゼンアプリを置いておきます。


f:id:bs-android:20080511233654p:image





2008年5月11日日曜日



Armadillo-500開発メーカーのアットマークテクノさんより、お誘いがあり、2008/5/15、2008/5/16にESEC-第11回組み込みシステム開発技術展にてAndroidのプレゼンテーションを行います。


開催予定時間は以下の通りです。




  • 1回目:5月15日(木) 16:00~16:20

  • 2回目:5月16日(金) 14:00~14:20





初めて参加しますので、詳しいことはわかりませんが、シアタープレゼンテーションとのことです。


開催場所は東京ビッグサイトです。


もしついでがありましたら、お立ち寄りいただければ幸いです。


追記


アットマークテクノさんに案内の記事がありました。


第11回組込みシステム開発技術展 ESEC2008 に出展


アルマジロぬいぐるみキーホルダー欲しいです!


さらに追記


Android勉強会のようにArmadillo-500上でAndroidを動かしてプレゼンアプリを動かす予定です。


先日のAndroid勉強会と被る部分もありますが、別の内容になっています。





ESEC-第11回組み込みシステム開発技術展でAndroidのプレゼンを行います。



Armadillo-500開発メーカーのアットマークテクノさんより、お誘いがあり、2008/5/15、2008/5/16にESEC-第11回組み込みシステム開発技術展にてAndroidのプレゼンテーションを行います。


開催予定時間は以下の通りです。




  • 1回目:5月15日(木) 16:00~16:20

  • 2回目:5月16日(金) 14:00~14:20





初めて参加しますので、詳しいことはわかりませんが、シアタープレゼンテーションとのことです。


開催場所は東京ビッグサイトです。


もしついでがありましたら、お立ち寄りいただければ幸いです。


追記


アットマークテクノさんに案内の記事がありました。


第11回組込みシステム開発技術展 ESEC2008 に出展


アルマジロぬいぐるみキーホルダー欲しいです!


さらに追記


Android勉強会のようにArmadillo-500上でAndroidを動かしてプレゼンアプリを動かす予定です。


先日のAndroid勉強会と被る部分もありますが、別の内容になっています。





Related Posts Plugin for WordPress, Blogger...