iPhoneのメモリ解放について

iPhoneのメモリは思った以上にすぐなくなる。
iPhoneは標準で128MBのメモリを積んでいるのだが、OSやその他ミドルで実際には70%程度のメモリを既に使っている。
このため、純粋にアプリが使えるメモリは30%程度、約40MB弱のメモリしか利用できない。
それに加えて、Safariなどを既に使ってると、キャッシュなどにメモリが使われるため、もっと、少なくなる。
最近、お客様からアプリを起動したら、"メモリが不足しています"のメッセージがでて、起動できないというお問い合わせが増えてきた。
動作中にメモリ不足で落ちないように、起動時に90%以上のメモリ使用状態の場合は、上記のメッセージを表示して、お客様に再起動をお願いしている。
ただ、単に、電源を切って、再起動してもメモリは解放されず、同じ状態になる。
iPhoneでメモリを解放するには、終了ボタンを押しながら、電源ボタンを長く押すという操作が必要である。
他にもメモリを解放させる手段があるのかも知れないが私はこれしか知らない。
その手順で電源を切らないと本当の意味でのリセット(OSの再起動)にならない点がお客様に誤解を与えているのだろう。
警告メッセージには、その旨を表示しているのだが、理解してもらえない場合も多いのだと思われる。
iPhoneのメモリはすぐになくなるのだから、Appleはメモリの解放手段について、もっと、わかりやすく告知すべきではと思います。
メモリ解放のアプリも販売されているが、そのようなアプリを購入されるお客様はよくわかっている方だから、特に、問題にならないのだろう。
一番困っているのは、携帯TELの感覚で使用されている方が、メモリ不足に直面した場合だと思います。
そもそも、Appleはなぜ、iPhoneでswapを禁止したのであろうか?
iPhoneのコアはFreeBSDを源とするUNIX OSである。
iPhoneはハードディスクを備えているのだらか、swapを禁止しなくてもいいのではないだろうか?
swapがサポートされていれば、メモリが不足しても、動作は可能だと思うのだが。。。
ハードディスクの存在しない場合やフラッシュしかない場合なら、swapがないのもわかるが。。。
iPhoneのハードディスクの耐久年数がそんなに減るのだろうか?(それとも、8G/16Gのフラッシュなの?)
次期iPhone3.0ではswapは採用されるのだろうか?
バックグラウンドのプロセスを許すのであれば、swapが使えないといくら、メモリを増やしたとしても、現状と同じ問題を引き起こすと思う。
swapについては、私の誤解かもしれないが。。。
ただ、swapが使えるのであれば、仮想記憶のため、原理的にはメモリ不足は発生しないはずであると思う。
だから、使っていないと私は思っている。

iPhone Appのレビューって、どういう人が書くのだろう?

iPhone Appのレビューって、どういう人が書くのだろうと、ふと、感じてしまった。
これまでの私の愚作に対するレビューでの感想しか書けないのであるが。
例えば、これまでの一番の愚作であった、初版のフリークーポン(Mc)は4日間の配信で、約20,000程度のダウンロードがあり、20〜30件程度のご批判のレビューであった。
全体から言えば、0.1%程度の人がレビューに書き込まれたことになる。
新版の新フリークーポン(Mc)は3日間の配信で、約10,000程度のダウンロードがあり、レビューは10件程度であった。
内容は違うが、やはり、全体から言えば、0.1%程度の人がレビューを書かれたことになる。
上記以外にも、Apple App Storeから有償、無償を含めて、いろいろと配信をしているがレビューがそんなに多い訳ではない。
私の感覚では、1%程度の方がレビューするのかと思っていたが、実際には500人〜1,000人に1人程度の割合であり、以外に少ないのだなと感じる。
つまり、その他の購入者はものいわない人たちなのであろう。
ただし、レビューを伴わない評価(星のチェックのみ)の方を入れると、感覚的には1%くらいのように思える。
では、その方々は何のために、レビューを書き込むのであろうか?
(1)感謝の気持ちを表すもの(好意的なもの)
(2)好意的であれ、批判的であり、そのアプリの改善のための助言
(3)他の人に対する警告(主に批判的なものが多い)
(4)期待や対価に合わない場合の不満(主に批判的なものが多い)
(5)さくら(非常に好意的なもので、他とのバランスが悪いもの)
(6)クレーマ(主に下品なクレームによる誹謗、中傷が多い)
匿名によるレビューとはいえ、レビューを書き込むには結構、勇気がいると思います。
だから、レビューを書く人は勇気がある方なのだろうと思います。
このため、(2),(3),(4),については、その内容を真摯に受け止め、改善できるものをしていくべきと考えるデベロッパーのほうが多いと思います。
(1)については、デベロッパーは励みにさせて戴くことになり、ありがたいものです。
しかし、(5)や(6)については、ある意味、不快に感じる方が多いのではないでしょうか?
(5)については、実体はわからないので、ある意味、想像でしかありません。
ただ、米国では好評価をお金で買っていたデベロッパーもいましたので、。。。
(6)については、論外と思います。
ある意味、レビューによる口コミや評判はあっている部分もあります。
だから、(5)や(6)のレビューを控えてもらうともっと価値あるものになると思います。
また、多くの購入者はもの言わない人たちです。
だらか、レビューを書く人はそのような自覚を持って書いて戴きたいと思います。
レビューについて、日頃、感じていたことを書きました。

Appleの審査基準って、やはり曖昧?

iPhone/iPod Touch用のPIMであるビーンズノートの無料版がApple App Storeに昨日リリースされた。
ビーンズノートの無料版の機能構成であるが、本来はすべての機能を1週間だけ利用可能なお試し版として、Appleに申請したのであるが、1週間後に立ち上がらなかったとして、AppleからRejectを言い渡されてしましった。
お試し版で機能を制限するのはいいが、動作しない機能が入っているのはまずいとの指摘であった。
使用期間をリリースノートに明記し、その間はすべて動作するのになぜダメなの?と思ったが、結局、使用期間限定の方式は認められないのだろうと判断した。
このため、どういう風にお試し版の機能をしぼるのがいいか、悩んだ結果、各機能を中途半端に一部だけ制限するより、ノート機能のサポートだけに絞って、無料版でも長く使ってもらえるようにした。
賛否両論であろうが、ビーンズノートの無料版はPIMではなく、ノートであると考えると、メモ入力、手書き入力、写真取り込み、各種データファイルへのリンク、全文検索などそれなりの特徴をもっているため、役に立つものだと思っている。
無料版のノート機能で制限があるとすれば、ユーザ定義のフォームのインポートであろうか?
しかし、この機能は全体に影響するため、無料版ではエクスポートとインポートを外したため、結果として使えなくなったしまったものである。
最近、知ったのであるが、使用回数制限の占い系の無料版アプリがApple App Storeにリリースされている。
使用回数制限はよくて、使用期間制限はダメというのは、Apple側はどういう判断基準なのか、やはり、よくわからない。
やはり、Appleは典型的なReject理由を事例として、公開すべきだと思う。
特定のアプリという意味ではなく、このような場合はRejectされるという具体的な事例リストで十分である。
そのリストに該当するものはダメで、該当しなくてもRejectされる場合があるというのでいいと思う。
それがあると、ダメなものを申請することがなくなるので、へんな回り道をしなくていいと思う。
巷の噂で、審査は人によるため、再度、提出すると通るかもなどがまことしやかにささやかれるのは、Appleにとっていいとは思わないのだが。。。
これからも、審査に振り回されるのは変わらないかな?
最後はグチになってしまいました。

iPhoneは携帯TELなのだろうか?

iPhoneは携帯TELなのでしょうか?
iPhoneのようなTELは一般にはスマートフォンと呼ばれますが、果たして、TELなのでしょうか?
私にはTELの機能は付いていますがこれがメインとは思えないです。
TELと呼ぶにはあまりにもTEL以外のメインとも呼べる機能がついている。
(1)iPod機能(携帯ミュージックプレイヤ)
(2)ゲーム機能(携帯ゲーム機)
(3)PDA機能(予定/連絡先/メモ等)
(4)コミュニケーション機能(Webブラウザやメール等)
(5)映像機能(ビデオ再生)
(6)コンピュータ機能(任意のソフトの実行)
どれも一昔前なら、十分、専用機器として通用するレベルだと思う。
つまり、メイン機能がたくさんあり、TELはOne of themにすぎないと思うのですが。。。
また、実際、iPhoneには普通の携帯TELとは根本的に違う部分があります。
それは、この機械はパソコンと連動(アクティベーションと呼ばれる)させないとTEL機能も利用できないという点です。
私はiPhoneは携帯TELではなく、次世代のユキビタスコンピューティング社会に向けた、携帯クライアント(コンピュータ)だと感じています。
今後、ますます、情報化が進み、ユキビタスの恩恵を人々が受けようとする時に、実際にその雰囲気を味わえる先駆的な携帯クライアント(コンピュータ)がiPhoneではないかと思います。
今後、いろんなメーカがiPhoneのような携帯クライアント(コンピュータ)を生み出していくのではないでしょうか?
時代が変化をしとうとする時、新しいものが生み出されているように思える。
今は、次世代のユキビタス社会の序章なのかもしれないと、改めて思うのでした。

Apple App Storeにアダルトは似合わない

最近のApple App Storeにはアダルト系のアプリ(正確にはアダルトとまではいえないかもしれないが?)が増えて来たように思う。
自分の考えでは、Apple App Storeにアダルト系は似合わないと思う。
iPhoneを持っている人はある程度、先進的でパソコンやモバイルを使いこなす知的な人が多いのではないだろうか?
そういう人たちにとって、iPhoneAppleの商品はあこがれの商品、またはブランド品にもちかいものであると思う。
Apple App Storeで販売されているアプリについても、Apple公認のものであり、その安心感が(値段の安さもあるが。。。)、ユーザが気軽にアプリを購入する土壌を形成していると思う。
その中で、アダルトとまでは言えないのかもしれないが、女性のグラビアや水着ベースのアプリがいろんなジャンルに散在するようになった。
これらのアプリはこれまでのAppleの思想には似合わないと思うのは私だけであろうか?
今までは、この種のアプリをAppleは独自の価値基準でRejectしてきたように思うのであるが、。。。
Apple App Storeは商業ベースなのだから、いろんなジャンルのアプリがでるのは仕方がないことではあるが。。。
まあ、一線は越えていないのだから、いいのかも知れない。。。
もっとも、一線を越えるとAppleからRejectを言い渡されると思います。
しかし、できれば、このようなグラビア系のアプリはジャンルを作って1カ所にまとめるほうがいいのではないかと思う。
今後、Apple App Storeの成功を見て、他のモバイル関連のものも同様な仕組みを提供してくると思う。
そうなった時でも、AppleAppleたる思想を貫き、かっこいいものを提供していってもらいたいと思う。
今日は、一人のAppleファンとして、感想を述べました。

iPhoneのアプリって、難しい

ここ最近、思うのですがApp Storeにリリースされるアプリの品質がどんどんよくなっているように思う。
iPhoneは日本での発売はまだ1年もたっていないのに!
日本のデベロッパーの数もずいぶん増えたのではないだろうか?
意欲のある方が大勢いらっしゃる証拠であり、喜ばしいことだと思う。
また、逆に1年近くもたったので、初期のころからのデベロッパーはiPhone OSの特性や使い方のスキルがアップしたと言うことかも知れない。
これまで、ソフトの開発といえば、Windowsが当たり前であり、その他のOSはすべてマイナーで、そもそも、デベロッパーの数が限られていた(サーバ系はLinuxなどが頑張っていたかも知れないけど、...)。
しかし、iPhoneApple App StoreObjective-Cをマイナーな言語からC++のようなメジャーな言語に押し上げようとしていると思う。
私の記憶では、Objective-Cの方が、C++より早く世に出たように思う。
C言語から派生して、オブジェクトを扱える言語としてはMac用であったがために、一部の開発者に支持されるだけの言語であった。
Cocoaについても、もう20年前くらいでしょうか?元はジョブスさんがAppleを追われて、Next社を設立したときに開発されたものと記憶している。当時の呼び名はNextStepである。現在のCocoaのクラスがNSで始まるのは当時のなごりだと思う。
4、5年前ではObjective-CCocoaなどを知る人など、ほとんどいなかった。
つまり、Objective-CCocoaはこれまで、不遇の日々を送ってきたことになる。
書籍なども、Happy Macintosh Developing Timeぐらいに記憶している。
それがどうだろう、NDAが一部解禁されると、IPhoneCocoaObjective-Cの本が目白押しである。
個人や中小のデベロッパーにもソフト販売の道を開いたApple App Storeの功績だと思う。
ただ、やっぱり、iPhoneのアプリって、難しい。
難しいという意味は言語的ということではありません(言語的にはむしろ、C++よりやさしいと思う)。
私が難しいと思う理由は以下です。
(1)iPhoneは組み込み機器であり、限られたメモリと低速CPUしか与えられない。
つまり、快適に動作するアプリを提供するには、通常のPC開発以上にいろんな面での配慮が必要になるということです。
(2)iPhoneのユーザはMacユーザも多く、アプリに望む理想が高い。
いいアプリは機能がいいのはあたりまえですが、それ以上にかっこいいか?という価値観がある。
このアプリはかっこいいか(クールか)?という、Apple独特の価値観を共有する大勢のMacファンがいるということです。
つまり、Windowsなどのビジネス用アプリに必要なことは機能です。できることが第一義で、かっこいいは不要な価値観でした。
かっこいいは個人の主観であり、その世界を追うことはCPUに負荷も賭けるし、嫌われると最悪なため、誰も必要以上に追い求めなかった。
(3)Apple App Storeはユーザの声をそのまま、レビューという形で反映させている。
つまり、だれでもすぐに、そのアプリの不備や改善要求を行える。また、それがオープンになっている。
このことはアプリの優劣を星の数で示し、ダウンロード順にランクづけし、いいも悪いも、アプリを勝ち組と負け組を分けるということです。
この情報はあっという間に、世界中に広がります(ここら辺は情報社会だなあと思います)。
つまり、iPhoneのアプリでユーザの満足をえるためには、これまでのビジネスアプリの価値観では到底無理だということです。
むしろ、ゲームやコンシューマ向けのWebサイトの開発に近いのかもしれない。
しかし、これは、非常にむずかしいことです。
○よい機能 - これは通常、優秀なプログラマーが必要です。
○かっこいいもの - これは通常、優秀なデザイナーが必要です。
○快適な動作 - 組込み機器のソフト開発の長年の経験が必要です。
ここまで書いて、自分でもやっぱり、難しいよなーと思いました。
自分で作ったアプリもたいしたことないのは同然なのかと、ちょっと、落ち込みます...。
Apple App Storeで一攫千金を狙うことは非常に難しいです。
ありえないことを思うのが妥当です。
でも、未来に夢を抱いて、ソフトを開発していくことはできます。
いつかは、皆さんに喜ばれるものを作れると!
でも、これもうぬぼれなだけなんだろうなあ。

iPhoneの非公開APIについて

最近、Apple App Storeにアップされるアプリで、Cover Flow Viewを実装しているように見えるものが多くなったように思う。
Cover Flow ViewはApple非公開のAPIで正式な使用は認められていないと思っていたが、Appleの審査基準が緩くなったのだろうか?
Erica Sadun著のThe iPhone Developer's CookbookでCover Flow Viewが紹介されているため、それで増えたのだと思う。
しかし、私の実感としては、最近、Appleの審査基準がきびしくなったように思える。
以前であれば、OKであったものも、最近はささいなことでRejectされることが多い。
Cover Flow Viewを実装しているアプリはアップデートのタイミングでAppleからRejectを言われるかも知れない危険をはらんでいると思う。
最近、Apple Storeではいろんなアプリが出回っており、人目につくビジュアルがないと埋没してしまうため、他のアプリが使っていないものを使いたいという衝動は理解できる。
別のアプリで実装されているのを見たら、自分も実装したいと考えても不思議ではない。
結局、よく言われることだが、Appleの審査基準がクローズドで、外から見ると曖昧に見えることが一番の問題のように思える。
デベロッパはしのぎを削って頑張るのだが、そこには、公平性を前提としたフェアな戦いを暗黙的に期待している。
非公開APIであっても、使っていると思われるアプリが公開されていると、なんだ、OKなんだと誤解してしまう。
Apple Storeの審査はデベロッパにとっては絶対のものであり、これがゆらぐと、振り回されてしまいます。
非公開APIについて、使用を禁ずるなら、Apple Storeの審査時点できちんとRejectすべきと思う。
また、そうでないなら、非公開APIであったとしても、一度、書籍などで公開されてしまったら、使っていいと公にすべきだと思う。
基準が世の中の進歩に合わせてかわることは、いけないことではない。
放置し、混沌とさせることがまずいのだと思う。
今日は、すこし、偉そうなことを書きましたが、正直、自分もCover Flow Viewを使いたい衝動にかられました。