新たにiPhoneアプリをリリース!

White House CheckerNASA Checkerに続いて、3本目のiPhoneアプリの本日無事リリースする事が出来た。


今回リリースしたアプリ(NASA Images)はNASA Checkerと同じくNASAに関連する物なのだが、インターネット上の膨大なWeb・マルチメディア資料を保管しているInternet Archiveというサイトの、NASA関連の写真や動画を容易に閲覧出来るようにする物である。


ちょうど1週間ほど前にNASAの公式iPhoneアプリNASA app for iPhone)がリリースされたばかりなのだが、こちらはNASAのプロジェクトの最新情報などをチェックするのに最適という感じであるが、NASA Imagesの方は過去の膨大なNASA関連の資料(写真・動画等)を検索・閲覧するのに適したアプリという感じなので、用途に分けて使ってもらえればと思っている。


以下、簡単に機能をご紹介。
一番左のタブはFeatured Itemsということで、カテゴリごとにRecently Added(最近Internet Archiveに追加されたコンテンツ)、Most Downloaded(最もダウンロードされたコンテンツ)などがあり、例えばMost Downloadedをクリックすると、過去に最もダウンロードされたコンテンツから順に表示される。

 


コンテンツのサマリー情報やダウンロード数が表示されているので、見たいコンテンツをクリックすると動画再生画面、または写真画面が表示される。動画の場合、下の写真のように再生ボタンを押してもらうと動画の再生が始まる(再生ボタンが表示されるまで少し時間が掛かる事有)。写真の場合はダブルタップで拡大する事が出来る。

 


他には、コンテンツの検索、気に入ったコンテンツをブックマークする、またはメールでコンテンツのURLを送信するという事が可能である。
なお、本アプリは無料なので興味のある方は是非インストールしてお試し頂ければと思う。またフィードバック等も本ブログへのコメント、Twitterでのメッセージ等でどしどし送ってもらえればと思う。


ちなみに開発秘話というほどでもないのだが、本アプリを作ろうと思ったのはInternet ArchiveNASA ImagesチームのディレクターであるJon Hornsteinさんが、NASA Checkerの事を気に入ってくれており、私にNASA Images用のiPhoneアプリを作ってみないと声を掛けてもらった事が発端だったのだが、色々アドバイスを貰いながら何とか無事完成させる事が出来てほっと一安心という感じである。

bit.lyのREST APIを使って短縮URLを作成する方法


注:本記事はbit.lyのAPIのバージョン2を使った方法であるが、現在の最新はバージョン3である。最新のバージョンに対応した方法は「bit.lyのREST APIを使って短縮URLを作成する方法(改訂版) - Tomute’s Notes」でどうぞ。


iPhoneアプリTwitter連携機能を持たせようとした場合等に、短縮URLを作成する必要が出て来たりすると思うのだが、bit.lyのREST APIを使ってその短縮URLを作成する方法をメモしておく。


[準備]
その1:APIキーの取得
bit.lyのREST APIを利用するにはAPIキーが必須のため、そのAPIキーを取得する。取得方法は非常に簡単で、bit.lyのユーザアカウントを作成するだけでOKである。アカウント作成後にbit.lyのAccountページに行くとAPIキーが表示されているのでそれを利用する。

その2:JSONパーサーのダウンロード
bit.lyのREST APIはデフォルトではJSON形式でレスポンスを返すため(XML形式も選択可)、JSONパーサーを利用するのが良いと思われる。今回私はjson-frameworkを利用した。なおこのjson-frameworkの使い方に関しては「[iPhone] JSON Framework の使い方(準備編) | Sun Limited Mt.」が参考になる。


以上で準備は完了。


[利用方法]
bit.lyのREST APIを使って短縮URLを作成する具体的な方法は以下のような形である。

// URLはURL encodingされている必要有
NSString *longURL = @"http://d.hatena.ne.jp/tomute/";
NSString *userName = @"tomute";
NSString *apiKey = @"XXXXXXXXXX";
NSString *baseURLString = @"http://api.bit.ly/shorten?version=2.0.1&longUrl=%@&login=%@&apiKey=%@";
NSString *urlString = [NSString stringWithFormat:baseURLString, longURL, userName, apiKey];
NSURL *url = [NSURL URLWithString:urlString];

NSError *error;
NSString *results = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error];
NSDictionary *dic = [results JSONValue];

if ([[dic objectForKey:@"errorCode"] intValue] == 0) {
    NSString *shortURL = [[[dic objectForKey:@"results"] objectForKey:longURL] objectForKey:@"shortUrl"];
}


[参考記事]