「 android 」一覧

flickrの旧認証方式が廃止でoAuthのみへ

1ヶ月ちょっと前の記事だけど。

Flickrが新写真エディターへの移行を発表~GoogleのPicnikは利用中止 -INTERNET Watch

flickrはもう6,7年くらい前から使っていて、けっこう気に入っているサービスなので頑張って欲しい。自分は写真に関してはソーシャルなものはあまり必要としてないので、写真の保管庫的な位置づけだとflickrで充分なのよね。別にいちいち撮った写真をSNSに公開してコメントもらいたい、とも思わないし…。

oAuth以前の古い認証システム「FlickrAuth」の停止等が発表された。

現時点でもまだ古い認証システムでも通るようだけど、自作Androidアプリのflickrアップロードアプリがまだ古い認証しか作り込んでいないので、oAuthへ乗り換えるようにしないといけないのだけど…。

去年、oauth-signpost - Simple OAuth message signing for Java - Google Project Hostingのライブラリを使ってお試し実装しようとして、何だかまだ上手くいってないまま時間が取れなくて放置気味。たぶん、oAuthの仕組み自体とflickrの認証シーケンスをきちんと理解してないからどこが悪いのか分かってないんだろうな。

仕事も少しずつ落ち着きつつあって、余裕が出てきはじめたら色々放置してたネタをもう一度手を付けていきたいね。


GingerbreadとICSでのAsyncTaskの挙動の違い

元ネタはこちら。正確にはAPI level 1113以上から違うらしい。

API LEVEL 11以上のAsyncTaskの振る舞いについて - Google グループ

お試しソース。名前とか超適当なのはご勘弁を。

package net.swingingblue.andorid.asynctaskics;

import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;

public class AsyncTaskIcsActivity extends Activity {

	private static final String LOG_TAG = "AsyncTaskIcsSample";
	
	private AsyncTask<Void, Void, Void> task1 = new SampleAsyncTask();
	private AsyncTask<Void, Void, Void> task2 = new SampleAsyncTask2();
	
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		
		Button button = (Button)findViewById(R.id.button1);
		button.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				task1.execute();
				task2.execute();
			}
		});
	}
	
	private class SampleAsyncTask extends AsyncTask<Void, Void, Void> {

		@Override
		protected Void doInBackground(Void... params) {
			Log.d(LOG_TAG, "SampleAsyncTask#doInbackground entered.");

			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
			
			Log.d(LOG_TAG, "SampleAsyncTask#doInbackground go out.");
			return null;
		}

	}

	private class SampleAsyncTask2 extends AsyncTask<Void, Void, Void> {

		@Override
		protected Void doInBackground(Void... params) {
			Log.d(LOG_TAG, "SampleAsyncTask2#doInbackground entered.");

			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
			
			Log.d(LOG_TAG, "SampleAsyncTask2#doInbackground go out.");
			
			return null;
		}
	}
}

結果。タイムスタンプとスレッド番号に着目。

Gingerbread(API level 10)

01-24 17:39:21.384   340   349 D AsyncTaskIcsSample: SampleAsyncTask#doInbackground entered.
01-24 17:39:21.424   340   350 D AsyncTaskIcsSample: SampleAsyncTask2#doInbackground entered.
01-24 17:39:22.398   340   349 D AsyncTaskIcsSample: SampleAsyncTask#doInbackground go out.
01-24 17:39:22.474   340   350 D AsyncTaskIcsSample: SampleAsyncTask2#doInbackground go out.

ICS(API level 15)

01-24 17:34:51.124   730   743 D AsyncTaskIcsSample: SampleAsyncTask#doInbackground entered.
01-24 17:34:52.179   730   743 D AsyncTaskIcsSample: SampleAsyncTask#doInbackground go out.
01-24 17:34:52.185   730   744 D AsyncTaskIcsSample: SampleAsyncTask2#doInbackground entered.
01-24 17:34:53.190   730   744 D AsyncTaskIcsSample: SampleAsyncTask2#doInbackground go out.

ふむふむ。

ICSではdoInBackground()の中でwaitとかやってたりすると、他のAsyncTaskをexecute()しても動かない、と。まぁ複数スレッドの待ち合わせにAsyncTaskは使わずにExecutors.newCachedThreadPool()とかしろってことですね。

(追記)

task1.execute();

の代わりに

task1.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);

とすればlevel 12以前の動作と同じになるみたい。
(追記おわり)

まぁGingerbread上で作ったソースをそのまま持って来てあっさり動くと思ってるとダメなケースがあると。使い方の問題でもあるのだけど。


発熱問題

発熱問題の詳細を確認:ARROWS Z ISW11Fは温度が上昇しやすい仕様 - ITmedia +D モバイル

温度上昇それ自体は、おそらくどのメーカーの端末でも多かれ少なかれあるはずだし温度上昇した時に端末の一部機能が制限されるのも存在するけど、簡単に高温になってしまうのはどうなんだろう。

ハード設計側としてはソフトウェア側でクロックの動的制御などでできるだけ回避して欲しかったというのが本当のところかも。Wimaxを絡めた時だけ温度情報が激しそうなところを見ると

温度が上昇しやすい“仕様”であるため、ソフトウェアアップデートなどで改善されることもないとのこと。

というのもあながち間違いでは無いと思う。CPUの高負荷が原因での温度上昇なら一時的にCPUクロックを落としたりして何とかアプリが動くように倒すことができるはずだけど、通信系の場合はそうもいかなさそうだし。

筐体設計とか回路は素人だけど、熱設計とかどうしようも無かったのかなぁ・・・。兄弟機種と筐体をできるだけ共通化するような指示が出ていて、やりたくてもやれなかったのかもしれないけど。


“Samsung、Galaxy SとGalaxy TabのICSアップグレードを再検討”

Samsung、Galaxy SとGalaxy TabのICSアップグレードを再検討 | juggly.cn

Galaxy SはICSアップデートは無いらしいというのを書いたばかりなのだけど、本当かな。

個人的には素に近いICSでも良いから載ってくれると嬉しいといえば嬉しいけど、キャリアごとに少しずつ仕様の違うのに合わせてリリースするのかなぁ。

やっぱりカスタムROMのほうに期待しておくのが無難かも。


Galaxy SはICSアップデートは無いらしい

Samsung、「GALAXY S」と初代「GALAXY Tab」をICS対応させない理由を説明 - ITmedia ニュース

そうかそうか、Galaxy Sは公式にICSにならないのか。

Gingerbreadでも少しもっさりすることもあったからもしかしたら、とは思っていたけど仕方ない。あとGalaxy Sは発売地域によってカスタマイズされてるのでそれらに合わせてICS対応するのは負担が大きかったのだろう。

さてICSの実機はどうしようか。触るだけなら会社のNexus SをICSにアップデートして使えば仕事で使う分には問題ない。あとは私的にICS実機があったほうが良いかどうかだけど、特に今は開発中のアプリも無いし、ICSを使い倒してどうこうする時間も無いのでもう少し様子見でもいいかも。Galaxy Nexusの値段が落ち着いてくるのを待つか、型落ちのNexus Sを買ってICS化するかあたりで考えるのもありか。

あとはGalaxy SのICSカスタムロムが安定するのを待って入れ替えるか。ある程度実用に耐えるレベルのが出ればの話だけど。

ICSアップデート対応は各メーカーに取ってもハードル高そうだなぁ。


INFOBARにユーザの行動を監視する?「LifeLogService」が見つかり問題に

au INFOBAR A01にユーザの行動を監視するCarrier IQの日本版「LifeLogService」が見つかり問題に

さすがに勝手にネットワークへ何かを送信というのは実施していないと思いたいし、言えないような後ろめたいことはしてないと思うんだけど…。キャリアが許さないだろうし、やるとしても一応の承諾画面なりは出す仕様にするだろう。

回答に数週間かかったというのは、キャリアとメーカーの間でいろいろ協議した上でのことだろうし、その時点でキャリアには細かい動作仕様の情報は上がっているはず。その上での回答があんなのでは不信を招くだけのような。

それよりIS05はroot取られてたのね。国内メーカー端末でroot取られると色々見られたくない物(企業秘密)があるんじゃないかな。でもAndroidというオープンなプラットフォームを採用した以上、こういうリスクはある程度織り込んどかないといけないということか。このLifeLogServiceもさっそく解析されてしまってるようだし。

システム寄りのアプリを作る人も、秘匿情報などはきちんとセキュアに扱うような設計や実装しないといけないということだけど、自分を含めてどれだけ意識できてるかというと…。


オープンソースカンファレンス 2011 Fukuokaに参加してきた

12月3日の土曜日に、OSC2011 Fukuokaに行ってきた。

会場は太宰府の筑紫女学園大学。福岡市内では無いのでどれくらいの人が来るのだろう、と思っていたのだけど去年、福工大でやったときとあまり変わらない人出だったような。

私はほぼ一日中、Androidの会 福岡支部のブースにいてセッションは何も聞かなかったので、出展側の視点で。

日本Androidの会 福岡支部 ブース

福岡支部のブース、今回は思い切りハードウェア寄りな展示に。展示物のほとんどは@ikuyamaさんが持って来てくれたArduino関連のボードや、Androidデバイスと繋がるガイガーカウンター、ロボットなど。あとは支部長の@sabasabamanさんがタブレットで支部の紹介動画を流したり、支部のパンフを置いたり。

2011-12-03 12.21.00

2011-12-03 14.27.28

本当は、Arduinoでライブコーディングしながら何か作ろうかという話もあったけれど、場所と見せる手段が無いので断念したそうだ。

Arduino関係もデモとして動作するものはほとんどなく、本当に並べているだけだったのだけどブースに来る人の食い付きが予想外に良かったのよね…しかもどちらかというとAndroidというよりハードウェア側のほうに…。

・Arduinoを知っていて興味はあるけど触ったことが無いという人
(Arduino勉強会があると良いかも?)
・電子工作やハードに興味があるけどどこから手を付けていいのか分からないという人
(そういう人にはArduinoってのがありますよ、と紹介)

もちろん、
・Androidでアプリ作ったりしてみたい、作れるように勉強したい。勉強会ってあるんですか?
(そういえば勉強会らしい勉強会は支部であまりやってないような…。ソースコードリーディングはレベル上だし)
という人もいました。

あとは…
・スマートフォンってAndroidと違うんですか?など色々質問してきた女の子
(理系女子?でもスマートフォンとiPhoneとAndroidとキャリアの違いがよく分かってなかった様子。でも一般ユーザだと当然かも)
・(ハード系の展示を見て)業務系がメインなのでハード系は…。
(支部はハード系だけじゃないです…。今回の展示がたまたまそうだっただけで)

感想など

最近の電子工作ブーム(?)もあってか、Arduinoなど「とっかかりデバイス」への関心は高い様子。それをAndroidやさらにWebなどと連携させるともっと面白いよ、というのを見せられれば良かったけれどそこまでの準備が至らず。

それから先日のAndroid Make Daysにも参加しましたよ!と言ってくれたり、わざわざブースに挨拶に来てくれた人も何人かいて、そういう方はぜひ通常イベントにも来て頂きたい。

私は実際のところ、ブース番をしていただけで展示物は@ikuyamaさんと@sabasabamanさんが出したもので、自分は何もネタを出せなかったのが残念。人に見せるだけのクオリティのって難しいのよね…。

あと、支部長に言われて気づいたけれど、女性の参加者が少し多かったような気も。筑女の学生さんなのか、他から来た人か分からないけど若い女性もチラホラと。あとOSCスタッフも筑女の学生さんがいてちょっと華やいでたかなぁ。女子大いいすねぇ。

一つ残念だったのは、展示会場にWimaxの電波が入らずネットに繋ぐ手段がなく、ノートPCを持って行ってもあまり役に立たなかったこと。外のテラスまで出れば入るようだったけど…。

ブースを見て、Androidや電子工作に興味を示してくれる人はとても多かったものの、そこから支部のfacebookや通常イベントに参加してくれるかというとまた話は違ってくるわけで。パンフはたくさん捌けたけど実際に次につながる打率は低いのがこういうのの常ではあるけど、支部イベントの告知とかそういうのが少しでも届くようにするにはどうすればいいのやら、というような課題はいろいろ感じたOSC出展だった。


REGZA Phoneの不具合原因からいろいろ想像

ドコモ、「REGZA Phone T-01D」の通話・通信できない不具合の原因を発表 - ITmedia +D モバイル

バッテリー残量が5%以下に著しく低下した際、または初回電源投入時に通信できなくなる場合があるという。

あくまで想像であまり当たってる感じはしないけど、REGZA Phoneに限らず国産Android端末ならありそうなことを思い浮かべてみた。

初回電源投入時

端末初回起動時は、端末内の各アプリやモジュールが「初回起動時だけ」行う初期設定を走らせることが多い。

例えばアプリが自分で使うデータベースを初期化・生成したり、設定ファイルを作ったり初期データを作ったりなど。これらの各アプリ・モジュールの処理が初回起動時の起動直後に一気に走り出すので、端末は高負荷となり想定より初期化処理にかかる時間が長くなったりする。

そうすると、モノによっては異常と判断して初期化処理を中断してしまったり、ANR(Application Not Responding:応答なし)が発生して「強制終了」ボタンを押されたりして想定外のところで処理が中断されるケースが出てくる可能性がある。こうなると重要な初回起動時処理が正常に完了していない状態になるので、アプリやモジュールが異常動作したり、落ちたりするようになる。

リカバリ処理をきちんと実装していない物は、電源を入れ直しても中途半端な状態のままで起動してしまうので復旧することができない…。工場出荷時状態に戻すかショップ交換になったりする。

「初回起動時」しか動かないロジックにどこまで完璧なリカバリ処理を実装するか、となるとなかなか日の目を見ないところで、実装されなかったり、弱かったりする。

初回電源投入はショップ店員がやるから問題が出る(変なタイミングで電池抜かれるとか)ことは少ないだろうとか、一見データベースファイルなどが生成されているようにプログラム上から検知されるのだけど、データやファイルが壊れていて特定のアクセスをするとその時に落ちる、など「異常」のパターンが色々あってそれをチェックするのは意外と面倒だったりする。個人的にも、とても確率が低いながら設定ファイルが正常に作成・更新されないという市場不具合に当たったことがあり、調査したりなんだりやったな…。

初回電源投入は開発時でも良く行う(端末焼き換えして初回、は普通にやる)のでテストできないわけではなく、考えるとよほど確率の低いケースで不具合がでることはあると思うけど、このREGZA Phoneのように高確率で発生するとなると初期設定だけの問題では無いのかもしれない。

バッテリー残量が5%以下に低下した際

バッテリー残量が低下すると、動作を止めたり、起動しないようにする処理が入っているアプリやモジュールがある。「電池残量が少ないので充電してから起動してください」みたいに言われるアプリとか。プリインアプリには多いのではなかろうか。

これは突然の電池切れ(電源断)による予期しないタイミングでの終了を避けるためが多く、アプリによって5%だったり10%だったり20%だったりとリミット(閾値)が違ったりする。

「処理中の電池残量低下」でリミットを超えると、処理を止めて自分を終了したりするわけだけど、その時の終了のさせ方が悪かったりすると、上に書いた初回電源投入時のように中途半端な状態が残ったままになり二度と正常動作しなくなることがある。電源を入れなおしても現象が改善しない場合はだいたいこの「中途半端で終わってしまって次回起動時にリカバリできない」パターン。

そうでなければ、充電して電源を入れ直せば復帰するものも多いはず…。

あとは何もユーザーにメッセージを出さないまま、電池残量が少なくなったので起動を止めてしまう場合だと、ユーザーから見ると「よく分からないけど動かない、故障?」と思われる可能性はあるかも。

現場は

ともかく原因が分かって良かったね、というのと同時に、ドコモから相当きついクレームがメーカーに入ってるだろうことは想像に難くなく、中の人は眠れない日々だったんじゃないかと。販売停止レベルの不具合だと、ドコモにメーカー担当(偉い人も?)がずっと詰めててリアルタイムで状況報告上げないといけないとか、メーカーの現場(と下請け)もおそらく寝ずに調査と修正してるとかはありそう。

携帯開発やっていると、キャリアの人がバグを見つけるとメーカーに対してすぐに報告書と再発防止策、なぜテストで見つからなかったか、どんなテストをしたのか詳細に書いて提出しろ、みたいな話になりがちなので大きい不具合が起きた日には…。

個人的にもこういうケースは人ごとでは無かったりするので、気をつけないと。


Android Make Days in 明星和楽に行ってきた

いやー、凄かった。

AndroidとMakeというテーマで福岡でイベントをやって、あれだけの人が来るってのが凄いし、スタッフの動き、会場の熱気を見ていて「あ、これ九州版ABCみたいだな」とも。

もちろん、ABCとは規模は違うけれどやってることはほぼ変わらない。講演あり、展示あり、LT、ハンズオンありのてんこ盛り。

開会/基調講演 日本Androidの会会長 丸山不二夫氏

2011-11-12 13.14.06
丸山先生の講演。いつものようにクラウドやApple、Amazonの話題など大きな範囲からの話題から始まってAndroidは後半で、のパターン。

ただ今のIT業界の潮流の中を見た上で、Androidの立ち位置、そしてAndroidが出来ることを知るには良い構成と思う。ほんとに、日々状況は進化、変化していってるなぁというのを、凝縮して聞くとよく分かる。

GClue 佐々木氏

Androidとガイガーカウンター

2011-11-12 14.04.56

震災以降、ガイガーカウンターを有志で作るっていうのがたくさん出てきたけれど、ADKがあるAndroidというプラットフォームはハードウェアとアプリを介してネット・クラウドに繋げることがやりやすいのがメリットということ。

それこそ、ハードの部分はアイデアやニーズ次第でバリエーションはたくさんあるだろうし、そこで収集したデータをWebサービスなどを使ってどう公開、集計したりするかというのもバリエーションはたくさんあると思うし。

2011-11-12 14.26.31

R246氏

モテるtwicca ~モテるアプリを作るための4つの心得

フリーであれだけの開発モチベーションを維持するには、使いやすいアプリにするにはどうするかってのが、ぷんぷくり~ん、なんて言いながらも要所要所で大事なこと言っていて、あぁやっぱり裏にはしっかりした考え方を持っているからだなぁと。

ブリリアントサービス 杉本氏

AndroidとNFCがなぜやばい?

個人的には「その発想は無かった」。

言われてみれば確かにその通りで、NFCを使ってのポイントシステム、さらに相互利用の仕組みを押さえてしまえばそれはすなわち「通貨」だよね、と。そこをビジネスとして押さえることができると…。

JuJu氏

フィジカル・コンピューティング~あと一歩のときの電子工作~

「どこのご家庭にもあるサーバw」を使ってのホームオートメーションの話…という建て前で、主にリモコンとの格闘の歴史のような話題に。

でも電子工作の知識は持ってて損は無いよなぁといつも思う。自分はソフト屋だけれどハードの知識があって回路設計とかできたらどんなに楽しくて可能性が広がっただろうかと思ったことは学生の頃から数知れず。コンピュータに出会うのがもっと遅かったらもしかすると電気系行ってたかもしれないし。

でも今の時代はそういう「電子工作やりたかった」層にマッチするArduinoとかが出てきているということだよね。ソフトを書いてそれで回路を制御できる、っていうソフト屋にも理想的な環境。だからもっと触って遊んで楽しみたいんだけど。

phytonicide氏

個人開発のすすめ~もうひとつの土曜日の過ごし方

twiccaのR246氏もそうだけど、やっぱり「使いやすいのが無かったから自分で作った」という動機がいちばん開発が長続きするし、使いやすいアプリに成長していくのかなぁという気もする。今でこそAndroidマーケットには国内、海外を問わずアプリが溢れていて色んなジャンルで「定番」のようなアプリが出てきているけど、それでもちょっと違う角度だったり少しニッチなものだとまだまだ「痒いところに手が届く」アプリが見当たらないのも実状かと。

そういう隙間と、自分自信のニーズがあうのなら、アプリを作って公開してみると良いのかも。ひょっとすると他の人も同じようにその部分を埋めるアプリを欲していたかもしれないし。

コンテスト発表

Android Make Daysの前日夕方から始まっていた24時間でアプリを作るコンテストの発表。

私自身はハンドベルのアプリが出てきた時点で、これが優勝かも…と思った。テーマ「愛」に多人数を巻き込んで力を合わせて合奏するというコンセプトはぴったり合っているし、アプリ側だけでなくサーバ側もどの音色がどれだけ選ばれてるかバランスを取るための機能を作り込んでいたりして芸が細かかったから。

他のアプリも限られた時間の中で発想(とネタ)を凝ったものが多くて非常に楽しめた。

展示ブース

どこからこんなに各企業さんを引っ張って来たんだろうと思うほど、モトローラやソニエリ、NECビックローブ、DeNa、KDDIなどが出展。

最初は人の集まりがどうかな?と思っていたら基調講演後には以下のように大盛況。
2011-11-12 13.57.56

Make系の展示ということでロボットもあれこれと。

こちらは前も一度ブログで紹介したロボット。
リモコンもAndroidデバイスで、ロボット側にもBeagleBoard+Android+制御基板でアームや付いているWebカメラの制御をしているもの。けっこう細かく、滑らかに動くんですよね…これ。
2011-11-12 12.49.19

こちらはAndroidの会神戸支部の出展。大きなほうのロボットは大阪からHTTPをロボットに直接飛ばして操縦しているんだそう。少し遅延はあるもののちゃんと動いてました。
2011-11-12 15.33.19

あとはMTMなど数々の出展実績のあるJuJuさんの展示。
いつもながら、動的に組み替えが出来るマトリクスLEDのデモはインパクトありますねぇ。
あと、レゴを基板の受けに使ったものも。聞くと「レゴの穴にちょうどLEDが上手い具合に入るから」だそう。なるほどー。
2011-11-12 12.39.28

その他

LTはほかのセッションを聞いていてほとんど見れていなかったけど、いろいろ面白いことをやっていたようで歓声とか笑い声がセッション会場にも聞こえてた。
2011-11-12 16.27.32

Arduinoの体験ハンズオンも2回に分けて実施もどちらも満席だった様子。少しでも興味持ってもらえるといいすね。そしてMake系に足を踏み入れ…みたいな。
2011-11-12 14.27.55

閉会

何ヶ月も前から準備、そして当日会場を忙しく動き回っていたスタッフの方々が勢揃い。私は何にもお手伝いできなかったけど、皆さんすごいよ、ほんとに。

スタッフ用のfabebookグループは本当にたまにしか見れなくて、当日会場に行くまでこんな規模のイベントだったとは思いもしなかったもの。設営もスケジュールも講師陣も出展者も本気レベルだったし、参加した人数も福岡のイベントの中では多い方だったんじゃないだろうか。会場行ってビックリしたもの。

2011-11-12 19.04.36

懇親会

2011-11-12 19.29.29

スタッフはもちろん、参加者の人もたくさん残って懇親会。こちらも大盛況でしたねぇ。

懇親会の最後まで残っていたら、zeemoteもらった。
2011-11-13 13.00.14

感想

よく鉄道マニアが電車に乗ったり写真撮ったりして「鉄分補給」なんて言ったりするけど、今回の場合はコミュニティのパワー「コミュ分補給」「開発意欲補給」といった感じがピッタリな雰囲気だったと思う。

きっと参加した人の中にもそれぞれ刺激を受けたりモチベーションがアップした人が多いんじゃないかなぁ…と思って終わったあとのtwitterを見ていると、やはり刺激を受けた人は多かったみたいで、いろいろ開発熱、Make熱が盛り上がりそうな予感。このトレンドが冷めないうちに小規模なフォローアップイベントをやってみるというのも悪くは無いかも。せっかく新しい層の人たちにもリーチできたと思うので、その人たちを巻き込まない手は無いかなぁ。

それにしてもスタッフの皆さんは、これだけの規模のイベントを準備して運営してと、本当に頭が下がります。お疲れさまでした。

あとルビセンはこういうイベントにはうってつけの設備なんだな、と。おそらく会場費はそれなりにかかったとは思うけれど、設備と機材が使えて博多駅近くのあの場所、というのは大きいような気がした。福岡はAIPCafeといい、場所に恵まれているのかもしれない…。

あと、当日のUstreamの録画が以下で見られる。
http://www.ustream.tv/channel/androidmakedays/videos
http://www.ustream.tv/channel/androidmakedays2


スマートフォン開発もやっぱりデスマか

VIPPERな俺 : 「は、はじめましてっ!IS04ですっ!REGZAフォンと呼んでください!」

「ARROWS Z ISW11F」は開発が難航?セミナーでの実機展示を取りやめへ | リンゲルブルーメン

スマートフォン端末開発はいろいろと無茶しすぎてると思う。フィーチャーフォン開発のころも大概デスマな感じだったけどあんまり変わってないし、部分的には酷くなってさえいるような。見聞きした範囲だけど。

・メーカー側の人がAndroidについて行ってない(フィーチャーフォンの時の考え方のままの人とか。「Android詳しくないので下請けさん後はよろしく」)
・メーカーの人間に仕様調整や他チームとの調整を頼んでも、知識が無いので調整できない
・下請けもフィーチャーフォンやってたRTOS+C言語ガリガリ部隊がそのままAndroid開発にシフトしてJavaやオブジェクト指向などにハマる
・開発期間はフィーチャーフォンより短いことが多い(実質3~4ヶ月くらい?)
・予算もフィーチャーフォン時代より少ない(割り当てられる要員不足)
・ギリギリまで仕様が決まらない(フィーチャーフォンでも同じか…)
・各アプリがメモリ使いまくって端末のRAMを食いつぶして重い
・メーカーの企画、キャリアの要求レベルはフィーチャーフォン末期の高機能と変わらず(同等+αの機能を要求される)
・AndroidのIntentをRTOSのタスク間メッセージと勘違いしている人が多すぎる(Intentをメッセージ代わりにした設計がチラホラ)
・AndroidのServiceをRTOSのタスクと思っている(何でもServiceにして常駐させればいいってものでは…メモリ食うし)

など。

各メーカーともAndroid初号機はそうとう難産だったんじゃなかろうか。

数機種くらい開発をこなせばある程度、Androidのクセとかノウハウは貯まると思うのだけど、たぶんメーカーに貯まるというより下請けに貯まるほうが多いんじゃないかと。ここ最近のいくつかのメーカーの傾向として下請けに任せっきりで自分たちは興味なし、な風潮が増えてる感があるし。まぁ下請けも技術力があるかというと…全体的に仕事減ってる関係で要員を選ばずにとりあえずプロジェクトに突っ込んで炎上するパターンも。


スポンサーリンク