iPad用GoogleReaderクライアントFFGRCをリリースしました。
iPadでGoogleReaderのようにフィードをサクサク読み進めることができるようにしたくてクライアントアプリを作りました。
http://itunes.apple.com/jp/app/ffgrc/id386153165?mt=8
サイドバーに配置したコマンドボタンをポチポチすることでGoogleReaderのようなサクサク感が味わえるように作りました。特に目玉になるような機能はないですが大量のフィードを読むのは結構らくだと思います。
今後もVerUpをしていきますので是非こういう機能が欲しいなどがありましたらコメントかTwitterでおはなしいただけるとありがたいです。
あと以前作ったaBookViewerも現在改善中です。いろいろなご意見を頂いたのでそのうち私の拙い技量でできることから組み込み中です。もうちょっとお待ちください。
内蔵ブラウザからZipなどをダウンロード出来る電子書籍閲覧アプリiPhone&iPadアプリ「aBookViewer」をリリースしました。
iPadを買ったのでそれで使えるアプリを作ってみました。
特徴としては
- 内蔵ブラウザでZip、pdf、jpegのダウンロードが可能。
- PCとの連携にFTPとiTunesのUSB転送(iPadのみ)に対応。
- 閲覧はZip(jpegを固めたもの)、PDF、epubに対応。
- パスワード付きZipとPDFに対応。
- 本の読み終わり時に次の本の閲覧を自動で開始できる。
これからはいろんな電子書籍サービスが群雄割拠するはずなのにわざわざ母艦でダウンロードしてそれをiPadに転送する手間が嫌だったので作りました。
これでiPadだけでダウンロード&閲覧が可能になります。
ページめくりはアニメーションにするか迷ったけど現状はタップでページがかわるだけにしました。
今後要望があればオプションでアニメーションも実現しようかなと思います。
Pabo-Tana for iPhone ver 1.1リリース & var 1.2登録
機能リリースされました。
でっかいバグは1.1では治っています。
ただ、表示が一部恥ずかしいことになっているのでver1.2もすぐに登録しました。
Pabo-Tana for iPhone 1.1 を登録申請しました
はやくも多くのバグを教えていただきましたので早速修正してver1.1を登録しました。
現在InReviewなので早ければ来週の頭にはリリースされると思います。
修正点は以下のとおりです。
- 特定の条件下で検索画面の検索結果の次の10件が検索出来ない不具合を修正
- 棚とカテゴリの一覧画面で編集状態のままスクロールした場合に文字が画面をはみ出る不具合を修正
- 並び替え中通信が終了する前に完了ボタンをクリックするとアプリが終了する不具合を修正
- カテゴリ一覧画面で編集を繰り返すとカテゴリがなくなる不具合を修正
Pabo-Tana for iPhone1.0リリース
やっとできました。
途中ソースコードを一切合切消してしまうというパプニングがあったけどなんとか乗り越えました。
このアプリの特徴は、
- 大量に登録するときに苦にならないように複数を一度に登録できる
- バーコードから登録できる
- メールのアプリのようにキーワードから登録したアプリを自動で棚わけできる
- 新着管理ができる
- 新作があると登録したメールアドレスへお知らせする
といったところです。
もし漫画を買っている人や、この作者の作品を定期的にチェックしたいと思っているひとがいらっしゃれば是非つかってみてください。
iPhoneをもっていない方は、Web版Pabo-Tanaをお願いします。
WebサイトをiPhone用に変換して表示するサイトMovProxyを作った
追記
movproxy.netというドメインがmovproxy.heroku.comに変わりました。
iPhoneでWebを見ているとイライラするので見ているサイトを変換するサービスを作りました。
とにかくシンプルにすることだけを考えて作ったのでほんとに簡単なんですがとりあえず公開します。
MovProxy : http://movproxy.net
MovProxy : http://movproxy.heroku.com
使う人がいるのかわかりませんがバーコードも貼っときます。
MovProxyの特徴
MovProxyで表示されたサイトは可能であればAutoPagerizeされます
AutoPagerizeではos0xさんのxAutoPagerizeを使用させてもらいました。最小化して多少変更して最小化したSITEINFOを使用するようにしています。
変更したxAutoPagerizeのソースは こちら
変更したSITEINFOは こちら
YourFileHostの動画を表示したときはiFileHostへのリンクが出現します
使い方
Topページのフォームを使う
MovProxyにフォームがあるので変換したURLを入力してconvertボタンをクリックしてください。
ブックマークレットにして使う
iPhoneからの場合
- MovProxyをブックマークします。
- 以下の文字列をコピーする。
javascript:(function(){window.location=%27http://movproxy.heroku.com/i?mturl=%27+document.location;})();
- ブックマークのURLをコピーした文字に置き換える。
- 変換したいサイトを表示してブックマークレットを使う。
PCからの場合
URLを編集する。
以下のようにURLを編集します。
http://movproxy.heroku.com/i?mturl=変換したいURL
例:このblogを変換して開く場合
http://movproxy.heroku.com/i?mturl=http://d.hatena.ne.jp/amacou/
もし不具合を発見されたり、もっと欲しい機能などがある場合はtwitterで@amacou宛につぶやいてもらったり、MovProxyで変換後のページ上部にあるError Reportのリンクから報告していただけるとありがたいです。
追記
段落ごとのタイトル(h1,h2,h3)へのジャンプ機能をつけました。
下部にメニューエリアを作りました。
sinatraでrspecをautospecで使うメモ
最近sinatraを使い始めました。
rspecをsinatraで使い始めるまで右往左往したのでその時のメモ
cucumberも使おうかと思ったけど、あれはお客さんに見せる事ができるテスト仕様だから美味しいんであって、個人の趣味プログラミングで、しかもsinatra使ってサックリとサイト作るには手軽さが損なわれる気がしたのでとりあえず保留。
sinatraをインストール
$ sudo gem install sinatra $ sudo gem install rack
appを作成
$ mkdir myapp $ cd myapp $ touch app.rb
/myapp/app.rb
require "rubygems" require "sinatra" get '/' do "hello" end get '/hoge' do "get params #{params[:huga]}" end
rspecとかいろいろインストール
$ sudo gem install rspec
$ sudo gem install ZenTest
$ sudo gem install autotest
$ sudo gem install autotest-fsevent
$ sudo gem install rack-test
$ sudo gem install shotgun
config.ruを作る
$ touch config.ru
/myapp/config.ru
require 'app' #set :environment, :production set :environment, :development run Sinatra::Application
.autotestの作成
自分のHomeフォルダに.autotestを作成
$HOME/.autotest
# -*- ruby -*- require 'autotest/fsevent'
specの置き場所を作る
$ cd myapp $ mkdir spec
specの設定ファイルとか作る
$ cd sepc $ touch spec.opts $ touch spec_helper.rb
/myapp/spec/spec.opts
--colour --format progress --loadby mtime --reverse
/myapp/spec/spec_helper.rb
require File.join(File.dirname(__FILE__), '..', 'app.rb') require 'rubygems' require 'sinatra' require 'rack/test' require 'spec' require 'spec/autorun' require 'spec/interop/test' set :environment, :test set :run, false set :raise_errors, true set :logging, false
appのテスト用specを作る
$touch app_spec.rb $ls app_spec.rb spec.opts spec_helper.rb
/myapp/spec/app_spec.rb
require File.dirname(__FILE__) + '/spec_helper' describe "App" do include Rack::Test::Methods def app @app ||= Sinatra::Application end it "should respond to /" do get '/' last_response.should be_ok end it "should return the correct content-type when viewing root" do get '/' last_response.headers["Content-Type"].should == "text/html" end it "should return 404 when page cannot be found" do get '/404' last_response.status.should == 404 end describe "hoge" do it "post "huga" do get "hoge", { :huga => 'piyo'} last_response.status.should == 200 (last_response.body =~ /piyo/).should_not be_nil end end end
autospecの実行
app.rbのある場所で以下のコマンド
$ autospec
とりあえずこんな感じで動くようになる。
あとRailsで使っていときのメソッドとは少し違ってきちゃうのでrak-testのメソッドを確認したほうが良いと思います。
http://gitrdoc.com/brynary/rack-test/tree/master
基本的に使うのは
- get(uri, params = {}, env = {})
- request(uri, env = {})
- last_request
- last_response
- follow_redirect!
- header(name, value)
- authorize(username, password)
ぐらいかな。