WalttendのWebサービスを始動 
日曜日, 5月 8, 2011, 11:47 PM - Android
Android用万歩計アプリであるWalttendのWebサービスを始動しました。


link WalttendのWebサービス
link サンプル:Cattakaの歩数

Walttend自体は結構前に作った万歩計アプリで、
10分単位でデータの計測ができる、比較的高機能な万歩計アプリです。
(デメリットとしてバッテリーを消費します、、)


これで計測した歩数データをGoogle App Engineを用いたWebサービスにアップロードして、
閲覧出来るサービスを始動しました


現状ではグラフの閲覧とtwitterなどへの送信機能だけですが、
今後はJSONやCSVでデータを取り出せるようにして、
他サイトへのマッシュアップやWidgetなどにできたらと思いつつ進めていく予定です。

あと、バッテリーの消費については根本的な解決にはなってないですが、
とりあえず歩数計を持ったSHARP製端末で別バージョンを作って対応しようと考え中です。
現在公開されているAndroidの通常版はAndroid自体の問題もあるので、
Android自体の進化に合わせて対応して行きたいと思います。

  |  0 trackbacks   |  このエントリーのURL   |  related link   |   ( 2.9 / 734 )

HTML5とSlim3を触って感じた技術の生まれ変わり 
月曜日, 3月 28, 2011, 12:10 AM - プログラム
ここ2ヶ月でHTML5とSlim3に触ったけど、
いずれも触っていて「良い」と感じた。
何が良いと感じたかというと
「欲しい機能が欲しいところに妥当な形である」というところに尽きる。

昔ながらの手法でWebアプリを作っていると、
当たり前の機能を当たり前のように実装するけど、
その実装方法にバッドノウハウを使わざるを得ないことがある。
つまり当たり前の機能なのに当たり前に実装できない。

例えば、フォーム要素のチェックボックスは1つしかないと
リクエストに値が乗らないからhiddenの隠し要素を埋め込んだり、
値の変更時に連動したい項目があるとき値という概念とは
直接関係のないonblurのイベントハンドラで処理したり、
サーバのイベントをブラウザにWebページに投げられないので
ポーリングさせたり、、、etc

このような、バッドノウハウによって支えられていた機能は沢山あるが、
それらがHTML5やSlim3ではバッドノウハウを使わずにすみ、
さらに妥当な手順で実装できることに気づかされる。


ここでちょっと話は変わる。
最近、新人を見ていると「先輩たちの下で技術を学びたい」という人がいる。
でも僕はそんなことよりHTML5やSlim3のように
新しく、不要な物が除去され、妥当な形になったものを学んで欲しいと思う。
なぜなら、この業界の先人たちが教えられることのほとんどは、
その人が実際に経験した問題に対してのバッドノウハウだからだ。
先人たちのバッドノウハウをより、新しい技術を学んで欲しい。
そのうえで「今当たり前になってるけど、昔はこうやって無理矢理に実装してたんだ」と
先人たちのバッドノウハウを歴史として見てくれればいい。


「枯れた技術+バッドノウハウ」と「新しい技術+バッドノウハウ」、
どちらから革新的なものが生まれるだろうか?
ハズレの場合もあるにせよ、まず後者になるだろう。
そして革新的なものが生まれてしばらくすると、
その「新しい技術」が「枯れた技術」となる。
そして「枯れた技術+バッドノウハウ」が新たな「新しい技術」になる。

今現在の「枯れた技術」も昔は「新しい技術」だった。
だからいつ学んでもいずれは古くなる。
だから今の新人達には「枯れた技術+バッドノウハウ」を学ぶ暇があれば、
「新しい技術」を学び、そのバッドノウハウを作って欲しい。

あと、もし普遍的な技術を学びたいのであるならば、
それこそ学校の情報工学の教科書でも読めばいい。
次々に新しくなる技術を眺め続けるよりそちらの方が確実だ。


というのが、古い手法で新しいことをしようとして、
バッドノウハウのオーバーヘッドに時間喰われて
イラっとしながら思ったこと。

  |  0 trackbacks   |  このエントリーのURL   |  related link   |   ( 3 / 792 )

orz画像 
火曜日, 3月 1, 2011, 12:38 AM - Android
日本Androidの会 関西支部 発表部屋
スライドに使ったorz画像が好評だったので。

ライセンスはパブリックドメインにします。
  |  0 trackbacks   |  このエントリーのURL   |  related link   |   ( 3 / 741 )

OAuthでRequest tokenの取る 
金曜日, 2月 18, 2011, 10:48 PM - プログラム

OAuthでRequest tokenの取る



twitterの公式のドキュメントを見ながらOAuthを突いてみたけど、
oauth_signatureを作るのにえらい悩んだのでその備忘録。

事の発端になったtwitterのサイト
Authenticating Requests with OAuth

登場するもの


base string


送信するパラメータなどの一式を以下の擬似コードの様につなげたもの。
ただし、oauth_tokenとoauth_token_secretは含まない。

httpMethod + "&" +
url_encode( base_uri ) + "&" +
sorted_query_params.each { | k, v |
url_encode ( k ) + "%3D" +
url_encode ( v )
}.join("%26")


composite signing key


<consumerSecret>&<tokenSecret>
※:ただし、tokenSecretは発行されるまではブランク

oauth_signature


base stringをcomposite signing keyでサインしたもの。
サインの方法はいろいろあるようだけど、今回はHMAC-SHA1を使用した。


oauth_signatureの作り方


basestringの準備


以下のものを組み合わせて作る。
・httpMethod : POSTやGET
・ベースのURL
・oauth_callback : コールバック先のURL
・oauth_consumer_key : 自分のコンシューマキー
・oauth_nonce : 乱数のワンタイムパスワード
・oauth_signature_method : oauth_signatureの方法
・oauth_timestamp%3D1272323042%26
・oauth_version%3D1.0
こんな感じの文字列になる。
POST&https%3A%2F%2Fapi.twitter.com%2Foauth%2Frequest_token&oauth_callback%3Dhttp%253A%252F%252Flocalhost%253A3005%252Fthe_dance%252Fprocess_callback%253Fservice_provider_id%253D11%26oauth_consumer_key%3DGDdmIQH6jhtmLUypg82g%26oauth_nonce%3DQP70eNmVz8jvdPevU3oJD2AfF7R7odC2XJcn4XlZJqk%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1272323042%26oauth_version%3D1.0


oauth_signatureを作成する


上記のbase_stringにサインする。
Linuxのコマンドでやるとこんな感じ。
echo -n <base_string> | openssl dgst -sha1 -binary -hmac <composite signing key> | base64

実際に実行すると、こんな感じの文字列になる。
$ echo -n 'POST&https%3A%2F%2Fapi.twitter.com%2Foauth%2Frequest_token&oauth_callback%3Dhttp%253A%252F%252Flocalhost%253A3005%252Fthe_dance%252Fprocess_callback%253Fservice_provider_id%253D11%26oauth_consumer_key%3DGDdmIQH6jhtmLUypg82g%26oauth_nonce%3DQP70eNmVz8jvdPevU3oJD2AfF7R7odC2XJcn4XlZJqk%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1272323042%26oauth_version%3D1.0' | openssl dgst -sha1 -binary -hmac 'MCD8BKwGdgPHvAuvgvz4EQpqDAtx89grbuNMRd7Eh98&' | base64 

8wUi7m5HFQy76nowoCThusfgB+Q= ←これがoauth_signature

というわけでoauth_signatureとして「8wUi7m5HFQy76nowoCThusfgB+Q=」が作成できました。


Request tokenを取得する


上記で取得したoauth_signature含めた文字列を
ヘッダのAuthorizationに入れて使ってリクエストを投げると
oauth_token、oauth_token_secret、oauth_callback_confirmedが返ってくる、、、らしい。
今日はできなかったのでここまで。

OAuth oauth_nonce="QP70eNmVz8jvdPevU3oJD2AfF7R7odC2XJcn4XlZJqk", oauth_callback="http%3A%2F%2Flocalhost%3A3005%2Fthe_dance%2Fprocess_callback%3Fservice_provider_id%3D11", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1272323042", oauth_consumer_key="GDdmIQH6jhtmLUypg82g", oauth_signature="8wUi7m5HFQy76nowoCThusfgB%2BQ%3D", oauth_version="1.0"


  |  0 trackbacks   |  このエントリーのURL   |  related link   |   ( 3 / 789 )

ウキウキWindow1.0.0リリース 
木曜日, 2月 3, 2011, 09:08 PM - ウキウキView
やっとウキウキWindowのバージョン1.0.0をリリースしました。
ウキウキWindowが何かといいますと、
「ウキウキView」と呼ばれるソーシャル系サービスの
クライアントアプリケーションです。

画面はこんな感じです。
端末の傾きや向きに合わせて3Dで表示されます。






お店の情報を見たり、
感情玉と呼ばれる他の人のコメントを見たり、




自分でコメントを残したりできます。


この手のアプリは今までもあったけど、
ウキウキWindowは3Dで表示してるので
見え方がいろいろと面白いのが良いところです。
あと、今までの単に地図上にコンテンツを重ねてたものは
密集すると何が何がなにやら分からないことが多かったですが、
これはそんなことなくわかりやすいです。

関西圏のコメントのみを最大数表示して表示するとこんな感じです。
感情玉が多すぎて何がなにやらw


やっと初期の構想の機能が実装できたので、
次は後から出てきたアイディアを実装していく予定。
おもしろいですな〜(つ・ω・)つ


リンク
ウキウキView(公式)
AR(拡張現実)アプリ開発記録-ブリリアントサービス
Web版ウキウキView
  |  0 trackbacks   |  このエントリーのURL   |  related link   |   ( 2.9 / 800 )


Back Next