Archive

Archive for the ‘dev/programming’ Category

iPadアプリ申請完了!

February 25, 2011 Leave a comment

昨年から開発していた受託iPadアプリの開発が区切りがつき、Appleに申請が完了。ほっとする間もなく、バージョン1.1向けアップデート開発が始まってしまった。

このアプリは数ヶ月かけたそれなりの規模のもので、学んだことも多かった。自分用のメモの意味を含め、要点をまとめたいと思う。

1. 画面が広くUIの自由度が上がったiPadのUIは自由度の分だけ落とし穴も多い

iPhoneは画面が狭い。狭いだけにApple純正アプリに近づけたUIにすればそこそこの物ができるというメリットが大きいと思う。しかし、iPadが画面が大きい。大きいとここをこうしたい、ああしたいという欲が湧く。iPhoneアプリ開発では画面が小さいのだからということで、割りきって複雑なUIは切り捨てることをクライアントに納得してもらうことが比較的楽だった。

しかし。。。。iPadではそうはいかない。夢が膨らんでしまうのだ。

UI部品が多いと縦位置から横位置(または逆)にしたときのボタンなど画面要素の位置設定も大変なだけでなく、統一感のとれたUI構築も苦労する。

iPadはでっかいiPhoneじゃないかと思っている方々、開発はiPhoneよりも画面サイズ以上に大変だと思います。

Advertisements
Categories: dev/programming

iOS 4.2GMから4.2.1へアップグレード

December 16, 2010 Leave a comment

iOS4.2GM(ゴールドマスター)版から4.2正式リリースまでだいぶ時間がかかった原因である無線LANの問題は、ネットワーク障害テストにちょうど良かったので4.2GMをそのままアップデートせずに放置していた。

しかし、そのままだと無線LAN通信が不通になってしまいかなり使い物にならないのでiTunes経由で製品リリースである4.2.1にアップグレードしようとすると、”This version of the iPad software is (4.2) is the current version”と言われてしまい、アップグレードしてくれない。

でもデベロッパーサイトには製品版のOSアーカイブ(*.ipsw)は置いていない。

仕方が無いのでウェブで調べたらApple内のダウンロードリンクをリストしてくれているサイトがあり、こちらからダウンロード、iTunesでoption+command+Restoreボタンでやっと4.2.1にアップグレード中。

Appleはなぜこの状態を放置しているのか不思議。

Categories: dev/programming

“Upload Received”で固まったままの一週間

August 15, 2010 Leave a comment

iPhoneアプリ楽たびのバグフィックス版を早急にアップすべくがんばってiTunes Connectへアップロードしたところまでは良かったのだけど、iTunes Connectでのステータスがアップロード完了を示す”Uploaded Received”のままで数時間たっても”Waiting for Review”に変わらない。

おかしいと思いAppleのサポートにメールをしても返答がないまま何日も経過。1週間たったところでいきなり”In Review”(レビュー中)に変わっていた。その直前にもサポートにメールを出したのだが、それが効いたのか、たまたまなのか。

アプリがアップロードされたら、レビュー待ち(Waiting for Review)になるか証明書の不備等でリジェクトされるかのどちらかで、Upload Receivedでずっと止まるのはシステム側の問題だったのだと思う。

しかし、1週間、Upload Receivedで固まったまま放置の刑はきつい。運が悪かった。

Library not loadedエラーではまった。

August 15, 2010 1 comment

iPhoneアプリのデバッグをしていたら突然以下のエラーにぶち当たる。

dyld: Library not loaded: /System/Library/Frameworks/UIKit.framework/UIKit
Referenced from: /Users/me/MyProject/build/Distribution-iphonesimulator/MyProject.app/MyProject
Reason: image not found

ライブラリのリンクを一旦外し追加するなどいろいろ試しても全く状況変わらず。Googleで検索してもなかなか関係しそうな情報にぶつからずにいたけど、ふと見つけた掲示板に書いてあった以下の対策で解決したのでご紹介。

  • まずXcodeを終了する
  • MyProject.xcodeprojフォルダを開く(ファインダーでControl+クリックかTerminalで開いてください)
  • 上記フォルダ内にあるユーザ名で始まるファイル(例:Steve.*)を削除する
  • ビルドフォルダを削除(念のため)

私はこれで直りました。現在XCode 4 Preview 2、XCode 3.2.3/SDK4.0.2、XCode 3.2.4/SDK4.1 betaと3つのバージョンを使っているのでどこかで設定ファイルが壊れてしまったのでしょう。

Categories: dev/programming Tags: , , ,

iPhoneアプリ進化の悩み

July 21, 2010 Leave a comment

iPhoneアプリ開発はサービス開発に近い。

インターネットサービスの場合、開発完了してサービスインと同時にサポート業務のみならず、様々な調整系の開発やバージョンアップ開発が始まり、サービス終了まで開発は永遠に終わらない。

iPhoneアプリはネットと接続しないスタンドアローンアプリにすることもできるが、アプリのライブ感を加えるためにゲームであれば得点ランキングを示すリーダーボードを持たせたりしてインターネットサービスと連動するものもある。

またiPhone SDKの進化は速く、OSレベルで面白い機能がどんどんサポートされて行くため、アプリ競争を勝ち抜くには頻繁なバージョンアップが求められる。

iPhoneアプリの中にはアップデートが半年に一度というようなものもあるが、ある程度の売れ筋アプリは毎月のようにアップデートされるものが多い。

結局質の高いiPhoneアプリを提供しようとした場合、インターネットサービスと同様に継続的なサポートと開発が必要になると言っていいのではないか。

ここで問題が、旧モデルのサポートである。

メモリ容量だけ比較しても、iPhone 3Gが128MB、3GSが256MB、4が512MB、と毎年倍になってきている。なるべく対象を広く持たせたいということで、デバイス、OSバージョンを見ながらアプリ内の機能をオン/オフさせるのが普通だと思うが、今回自分のアプリ「楽たび」のバージョンアップをテストしてみたところ3Gだとメモリ容量もCPU性能も劣るので不明の原因でクラッシュが発生することが発覚した。iPhone 3Gを持っておらず、リモートで知人にテストしてもらいながらの作業なのでデバッグ/調整に手間取っている。

もし新バージョン(仮称: Ver 1.2)で3Gだけ排除した場合、3Gでも使えるVer 1.1.2まではApp Storeに置いておきたい。いっそのこと”楽たび2″と新アプリ名をつけて別アプリとして登録も可能だが、それほど大きな進化でもないし、既存ユーザーへの告知という面でも「アップデート」が望ましい。

また、App Storeを見たところ、OSバージョンで制限するケースは多いのだが、”3GS以降のデバイス”等、端末で制限するケースは少ないようだ。

Androidの場合、様々なメーカーが様々なデバイスを製造しているのでアプリをサポートする側も大変である。

大変さに改めて気付いただけで、まともな解決案はまだないのだけれど、今後はこういう問題が増えてくるので開発計画にも組み入れていかないとならない。

って当然のことですが。。。

Categories: dev/programming, technology Tags: ,

勝てば官軍、負ければガラパゴス

July 19, 2010 Leave a comment

中島聡さんがブログに「勝てば官軍、負ければガラパゴス」という記事をアップされている。そもそも日本の携帯業界を「ガラパゴス」と最初に表現したのは中島さんだったらしい。

オープンだろうが垂直統合ビジネスだろうが、勝てば官軍、負ければガラパゴス。なるほど。

インターネットによって世界のマーケットの繋がりがより強くなり、グローバルな成功がより重要な時代。

学術界も国際学会や世界のトップクラスの学術誌に論文を発表しなければ、世界に研究を認知してもらえないわけだし、日本の企業も(全ての分野ではないが)世界に向けたマーケティングができなければ生きていけないのは当然のこと。

社内公用語がその近道かどうかはわからないけれど、そのくらいしないとなかなか必死になって英語を使う機会がないのはよくわかる。

自分は高校と大学をアメリカで過ごし、ある程度の英語力があると思っているけれど、ソフトウェア/コンテンツ業界で働いていても外資で働かない限り英語は使う機会が限られている。海外に出て行く事業がとても少なく、プロジェクトは限りなく国内限定の場合がほとんど。

外資のソフトウェア会社に勤めても、求められるのは社内コミュニケーションにおける英語力であり、英語圏での市場開拓能力を磨くのはなかなか難しい。

ガラパゴスと言って悲観的になってばかりいないで、グローバルマーケットでチャレンジしていかないと未来はないのでしょうね。

公共の資産としてのAPI公開 – “Build your own apps”

June 24, 2010 Leave a comment

サンフランシスコのBART車内でこんなポスターを見た。

“Build your own apps”(自分のアプリを作ってみて)

だそうである。

API(プログラムが使うインタフェース)が公開されていて、BARTのリアルタイムスケジュール、エリア情報、駅の情報などあらゆる情報を使ってアプリを作ることができる。

自分でiPhoneやAndroidアプリを作って販売したりすることも可能。

http://bart.gov/developers というURLからもわかる通り、これを公開しているのは政府機関。アメリカは税金として徴収された金を使ってできたものは無料で公開するものが多い。これもその良い例だと思う。このAPIによってアプリやインターネットサービスを作る人がでてくれば公共のサービス自体が充実することになる。そうでなくてもこのサービスを使って収益を上げれば結果的に地域経済に貢献する。

アメリカではシステム開発等の調達を創業間もない資本金の小さい会社に割り当てるように決められている州が少なくないということを聞いたことがある。

日本だと、税金で構築された仕組みは、財団法人ナントカカントカが仕切って天下り先になっているのか。(苦笑)

APIを公開することはそれなりにコストはかかることではあるけれども、こういう取組みによって生じる経済効果はばかにならないはず。

日本の官公庁もこういうBARTのような取り組みを参考にしてほしいです。探せばネタはかなりあると思うのだけどどうなのでしょうか。