初めての人でも簡単にできる「mixiアプリをつくろう!」を読んだ!

  • 2010/09/22(水) 08:32:50



mixiアプリの横幅が変更になっちゃったよ!たいへんたいへん!!
lalhaの人も「もう二度とmixiアプリは触らない」って怒ってるし><
そんなこんなで、手元にあるmixiアプリの教科書を読み直してるなう。この本かわいいNE☆



冒頭の写真は、先日「mixiアプリをつくろう!」の著者さんである神部タンと
しこたまワインを飲んだあとに本屋さんへ寄ってノリで記念撮影したw
私がよぱらって相当ゴキゲンな件。

という雑談はこのへんにして><
mixiアプリ開発入門者にぴったりのこの本を頭から読みながら、感じたことをレビューしてみる!


初心者にお勧めの読み方

「プログラミングはちょっと分かるけどOpenSocialやサーバサイドプログラミングはよくわからん!」
という私レベルの人だったら、まずは読み物感覚でChapter 01,02を流し読みして、
mixiアプリ開発以前の基礎知識を学んでおきませう!特にSection01-4はすごく勉強になった!

そして、準備が整ったらChapter03を本気出してガッ釣り読んだらいいと思うんだ!
Chapter03でつまずくと、その後がさっぱりわけわからないままなので、
Chapter06の「ソーシャルグラフの活用」や、Chapter07の「外部サービスと連携したマッシュアップ」に
今すぐチャレンジしたい!という、はやる気持ちはなんとかこらえるのですよ><


以下は読みながらの箇条書きだにょ!★マークは個人的にすごくよかったこと。
# 書籍の写メは関係者了承済みでござる


わかったこと

☆ソーシャルアプリケーション、OpenSocialが誕生した経緯 / それに付随した世界のSNSの動向と歴史

★OpenID, REST, OAuthの概要と基本的な活用イメージ
  

★mixiアプリ(ソーシャルアプリ)の仕組み / 特有の用語の意味(OWNERとVIEWER、各viewの表示領域など)


☆開発するにあたって必要なツールと環境 / 開発後のアプリ登録手順

★Gadget XMLの基本要素と構成


☆mixiアプリにおけるパーミッションモデル(取得できる個人情報とできない情報)

☆opensocial-jqueryを使った効率的な開発手法

☆Persistence APIを利用して、コンテナ(mixiアプリ)側にデータを保存する方法

★「mixi同級生」の使い方とアクセス可能な先輩・後輩の範囲(個人的にこれ興味があった)


★キャッシュにまつわるトラブルとその対処法


★jQueryの便利な関数(ぐだぐだ処理かかなくてもOKなデキる子)


☆jQueryを使ったコンテンツの表示方法と、それを使った場合のデメリット

☆アプリユーザを増やすための効果的な誘導方法(技術面)と、積極的なアプローチ(PR・広告など)

☆外部リクエストと署名付きリクエストの違い

☆アクティビティの制限と、それをふまえた上で最大限にユーザの興味を引くための実例

☆アプリ体験(占いの結果や牧場の成長報告など)を、mixi日記やはてなブックマークにPOSTする方法

★ソーシャルグラフとGoogle Maps APIを連携し、mixiの強みを生かしたアプリの作り方


☆ソーシャルアプリのジャンルごとの特性とユーザをハマらせるための仕掛け

☆簡単なモバイル版mixiアプリの作り方(テキスト表示のみ)と、PC版との違い

☆mixiアプリで稼ぐ方法と収益を上げるまでの流れ(技術解説ではなく基礎知識)

★mixiアプリガイドラインの注意事項と一般公開までのプロセス、申請前のチェックリスト


☆プレスリリース配信のフォーマット、リリース送付先(個人開発者には必要ないかも)

☆Google Analyticsを使ったアクセス解析の導入法

☆ユーザからのありがちなクレームとスマートな対応の仕方


わからなかったこと

・Flashを使ったアプリの作り方(組み込み方は書いてあるんだけど、それ以前に私がFlash素人すぎた)

・外部サーバとの通信(JSON, Ajaxについて理解してないとわからない)

・サーバサイドでの署名付きリクエストの検証(Cake PHPを知らないと厳しい><)

・mixiアプリからTwitterへPOSTする方法(この本の発売後にBasic認証が使えなくなったので)

・ミニスケープ(育成系)アプリの作り方 / データベースを用いたランキングの作成
(知識が追いつかずギブw 初心者にはChapter08以降はキツイと思う)

・ライフサイクルイベントの活用方法(もうちょっと優しくゆっくり詳しく書いてあればついていけたかも?)

・PayPalを使った決済(なにしゃべってるかよくわからなかった)

・モバイル版mixiアプリでのRESTful APIの活用法

・データベース上にユーザデータをバックアップする方法(My SQLを使い慣れてないとわからん予感)

・複数人でアプリ運営する際のバグ管理、複数アプリ運営時のサーバサイドのリソース分散など
(わからないというか、個人レベルでは必要ないかなー)



Σひゃあ!パラパラ読むつもりだったのに、思ってた以上に時間がかかってびっくりざます><
今日は友達と旅行に行くというのに・・・もう朝じゃないか・・・


わからないことがあったらMailやTwitterで神部タンに聞いたらきっと喜んで答えてくれるはず。
神部タンが作った書籍情報サイトがあるので、リンク貼っておきますね!
mixiアプリをつくろう!OpenSocialで学ぶソーシャルアプリ 書籍情報


このエントリ書きながら、カンベタンとサムゲタンって似てるなーってずっと考えてた。
カンベタン、今度サムゲタン食べに行きましょう(・∀・)

LINEで送る

アルファギークに聞いたOAuthとRESTの話

  • 2010/06/14(月) 02:55:52

ちょっと前(わりと前)にすごくいい話を聞いたんだ!
私が1人占めしてちゃもったいないから、うろ覚えだけど書いておく!!

とある場で、思いがけずすごく有名なギークさんと会ったのね。んで、
「僕はgeekDBに入れてもらえなかったですしね・・・ヘッヘッ・・・」
的なお話をして(中略)一緒に飲みに行くことになりました。

私はアルファギークからサシで話が聞けるチャーンス!と思い、
最初のビールが来ないうちに「今日はOAuthの話を聞きに来ました(キリッ!)」
やる気満々で切り出しました。

アルファギークは言いました。

「OAuthっていうのはね。
例えば、僕がべにぢょさんのことを好きだったとします。
それを僕からべにぢょさんに伝えるのは問題ないんだけど、
僕じゃない人からそれがべにぢょさんに伝わった場合、ちょっと信用できないし、
僕としても、僕が知らないところでそれがべにぢょさんに伝わるのは嫌だよね?
それに、その情報を知った人がそれを悪用したり広めたりするかもしれない。
それは非常に問題があるでしょう。
こういうごくプライベートな情報、専門用語ではクレデンシャル情報っていって、
だいたいIDとパスワードのことを指すんだけど、
こういう当事者以外には秘密にしておきたい情報の取り扱いはすごく難しいんですよ。
それがOAuthの考え方です(キリッ!)」


「おぅっス!ちょう分かったっス!!!!!」

この人は説明するのがものすごく上手なのじゃないだろか?それなら・・・と、
私は調子に乗ってさらにいくつか質問しました。
何を聞いたかもうすっかり忘れちまったんだけど>< 覚えてるのだけメモしておくNE☆

「あの!RESTful APIって、ぶっちゃけ究極なんなんでしょう!?」


「うーん、そうだな。RESTful APIの前にまずRESTというのがあって」


「はい!REST知ってます! APIも知ってます!APIは部品ですよね?」


「そうだね、だいたい合ってる。
ただね、究極のところ、部品というかURLにアクセスするのも乱暴に言えばAPIなんですよ」


「はぁ!なんで!?」


「あのね。RSSの中身は見たことある?」


「はい!XMLでできています!!」


「おぉ、よく知ってますね」
(褒められたヾ(*´∀`*)ノ)

・・・この辺でなんかいい話聞いたっぽいけど忘れたので省略。RESTの話に戻ります・・・

「RESTは、大きく4つの機能があるのね。
順番に説明するけど、実は重要なのは2つで、残りの2つはそうでもない」


「ふむふむ」


「POSTとGETの違いは分かる?」


「ええと、POSTは封筒に入った手紙で、GETはハガキみたいなものです!」


「誰にそんなこと吹き込まれたんですかwwww」


「えっ!いや、その、世論的にそういう風潮が・・・・・|ω・`) 」


「あのね。そうだなぁ。
そのたとえで言うなら、GETというのは宛名の欄に手紙の本文も全部書いちゃうようなものなの」


「!!!!!!!!!!!なるほどすぎる!!!!!!!!!!!!」


「URLってよく見たことある?」


「やー、そんなにないです」


「例えば、普通の郵便って”東京都○○区○○3-3-3 べにぢょさま”って、ちゃんと”読める”よね。
東京都の、○○区の○○に住んでるべにぢょさまって分かるじゃない?」


「はい」


「URIもそうあるべきだっていう流れがあって。これを記述的っていうんだけど」


「記述的なURL・・・」


「Cooled URLっていうんだけど」


「いまなんと!Coolと申したか!CoolなURL!CoolなURLは前にやりました!!」


「べにぢょさん、自分のブログのURLを見て意味が分かるよね?」


「ああ!分かります!d.hatena.ne.jpのlovecallの20100614のp1とか!ちゃんと”読め”ますね!」


「そう。それでね、べにぢょさんがブログを見るときってどういう作業が必要?
 新規でエントリを書く、過去の日記の一覧を見る、エントリを修正する、エントリを削除する...
それ以外になにかある?」


「うーん、ないんじゃないでしょか。うん、ないですね」


「それがRESTなんだよ」


「は?????あ、このジーマーミ豆腐すごく美味しいですね!
(テンパって話を逸らすべにぢょ)」

・・・・ジーマーミ豆腐と海ぶどうっぽいのに集中力を削がれたのでいろいろ忘れました・・・


あとはねー、あとはねー。
ステートフルとステートレスの話とか、本当にいろいろ聞いたんだけど、
キーワードしか覚えてないんだごめんなさい(つд・)
すっごくためになる話をとても分かりやすく説明してくれた。
このエントリは全然まとまってないしひょっとしたらどっか間違えてるかもしれないけど、
それはひとえに私の文章力のなさと記憶違いのせいです。ギークは悪くないよ!
くそぅ。議事録取るか録音するかUstすればよかたよ><

私が自重せずに「ハッシュとトークンは何か関係ありますかね!?」とか
「2-legged OAuthと3-legged OAuthについて詳しく!」などとがっついたから、
全然時間が足りなかった。聞きたいことしかないつうの。
ホントお話が上手な人だった。そして大人で冷静な社会人ギークだなあと思いました。
いろんな人がいます。


先日、熱出して大変ぽいこといってたけど大丈夫だろか。
「お熱ですか!私にですか!大丈夫ですか><」って聞いたら
「いろんな意味で大丈夫です」って言ってたからきっと大丈夫だろう(´∀`)
おだいじにおだいじに!

LINEで送る

viewを変えるのは楽チンポンだったが

  • 2010/01/22(金) 00:00:00

経過の詳細すっ飛ばしててごめんね><

いまー私のーねがーいごとがー かなーうーなーらばぁぁぁー!
時間がーーー星ーーーーーーぃいいいいいいいい!! 

知ってる?合唱コンクール!歌ってる?歌おうぜ!さぁみんなで!!
なにさ!べつにワインなんて全然飲んでないんだから!いつも正気だっつの!
8時だJ!」の ”J” って、JavaScriptの ”J” だよね(・∀・) JavaScript事務所つくろうぜ!!

前回、最後に今後のToDoとして
・home,canvas,profileでのviewを指定

って書いたけど、これはちょう速攻の一瞬でできた。

次はサーバにデータ保存の前に、homeとprofile画面で”今日のお勧めマイミク”を
ランダムで出したいなぁ。。。
アプリの趣旨とあんま関係ないけど、canvasビューでマイミク一覧を出してるので、
homeとprofileでもソーシャルっぽい要素を使いたいなと思って。

アプリ申請&マイミクリクエストくれた人、ホントにありがとございます!!!
とてもへぼくて申し訳なくて、メールくるたび画面の前で土下座してます><

とりあえず、使ってくれてるユーザーに恥ずかしい思いをさせないクオリティのアプリにせねば(`・ω・´)


てかさぁぁ。去年、うじひさ(カナダ在住)に送ったエアメールがまだ届いてないようで泣きそう。
スカイプなら一瞬でメッセージ届けられるのになぁ。
アナログもどかしい・・・だがそれがいい?

LINEで送る

jQueryがナイスファイトすぎーるじぇぇーいの巻

  • 2010/01/17(日) 23:00:00

酔拳のごとく酔うとコーディングしたくなるんだけど、
これは世のプログラマに対して失礼なんだろうか。ギーク的に考えて・・・

PHPよりJavaScriptのほうが楽しいじゃないか。どういうことだ。ってTwitしたけど、最近JSが楽しい。
ガジェットプログラミングのためのJavaScript入門」という本がとてもいい仕事をしている。
この本いいよ、お勧め!って、またアスキーさんの回し者みたいなこと書いてしまった><


mixiアプリでさー。色日記みたいのを作りたくって。
今日はブルーな気分>< とか、今日はピンクなムードなの♪とか、あるじゃん?あるじゃん?
文章で日記をつづるのは面倒な人でも、ワンクリックで色を選ぶだけなら続くかなぁと。
んでんで、1ヶ月過ぎたときに「あー、今月は全体的に暗いなー」とか、視覚的に分かったら
楽しいかなぁと。そしてマイミクのを見て「こいつ今月浮かれてやがる!」なんて思ったりして。
そして最終的には同じ色気分の人とつながって結婚とかすればいいよ!色で出会えばいいよ!!

なんだっけ。そう、色日記。
jQueryのカラーパレット使って、色を表示するだけの超シンプルアプリを作った。
[mixi] color_diary

jQueryをDLして、同じ階層に上げたんだけど、mixiアプリはURLをフルパス指定しないと読み込んでくれないのね。jquery-1.4.min.jsだけだとNG。cssファイルなんかも一緒。http//〜で書かなきゃダメなんだ。
そしてxmlファイルを再upしたら忘れずにキャッシュクリアしなくちゃNE!
つーかjQueryがオニ便利っぽくて今からときめく。わくわくさんですよ!
jQuery

カラーパレットはこれを使った。
Farbtastic: jQuery color picker plug-in


今はまだヘボいけど、このアプリを徐々にブラッシュアップして、最終的には牧場を倒すの(。・д´・。)ノダ!!
まだアホみたいにしょぼいけど、もし見たかったら申請してください><
ついでにマイミク申請してもいいよ!今なら超スペシャルサービスで承認してあげる!
今だけだからね!!今のうちだからね!普段はこんなこと絶対ないんだからねっっxt!!!


なんだっけ。そうだ。この後にやるべきことを書いておこう。
・home,canvas,profileでのviewを指定
・サーバにデータ保存して一覧で見れるようにする

マイミクのデータ引っ張ったりするのはこれをやってからかな。
あー。明日なんで月曜なの?へんなの!ちぇ!!!!!

LINEで送る

通信カラオケの発明者はとんでもないギークだった!!

  • 2010/01/07(木) 00:00:00

安友雄一さん。この人なんでWikipediaに載ってないの!?
いま全国で稼動してる業務用カラオケの98%を占める通信カラオケ、
ミシン会社の一社員だった安友さんが1人でゼロから作ったんだぜ!やばいぜ!

 


私は毎週末の午後いっぱい、友達とカラオケで過ごすくらいカラオケ大好きなので、
この本を見つけたときは次会うときの話題になるかなぁーくらいの軽い気持ちで
手に取ったけど。まさかこんなところでギークに出会うとは思わなかったよ><
やっぱり縁かねぇ^^ 私はギークに縁があるのかねぇ^^^^^^^^^


北海道大学の大学院生だった安友さんを、名古屋のブラザー工業がスカウト。
安友さんは小学生でアマチュア無線の免許を取得、中高時代にはアンプやテレビの回路を自作し、
大学院ではプラズマ実験装置を自分で作ったとか。
このへんのエピソードを読みながら、私は上野康平さんを連想してすでに興奮していた!!!
間違いない、この人は天才ギークだ。

ブラザー工業は「何でも好きなことをやっていい」って言って、安友さんをスカウトしたらしい。
今で言うラボっぽい感じだろか。安友さん曰く、
「誰もやってない最先端のことをやりたい。人に言われてやるのではなく、自分で計画して自分でやるのがいい」

amachangが言いそうなセリフだ!ただがむしゃらに…というアレですね!!トレビアン++!!!!!

ミシン会社に安友さんが「これからはソフトの時代ですよ」と提案したのは1981年。そりゃ社内では通用しなかっただろうw
でもこの人は、会社に内緒で赤字で撤退予定だったTAKERUをこっそり改良して通信カラオケに必要なインフラ設備を整えていた。
社長が「お前は本当にとんでもねぇヤツだ」と言ったそうだが、ホントにこの人はとんでもない。
出てくるエピソードが軒並みありえないことばかりしでかしてるw こんな人マジでいたのか・・・。

「パイオニアになるのは楽しいよね。毎日ハラハラドキドキするし、スピードも要求される。
 同じことを考える人間が世界に十人いたなら、僕は必ずナンバーワンになってみせますよ」


ギークだ。すごいギークがここにいた。


この後のMIDI職人の話も楽しかった!
今カラオケで流れてる音源は、みんなフリーランスの職人が耳コピでコンピュータに打ち込んでるらしい。
すごいなー。すごいなー。1曲当たり平均で30時間、報酬は4万5千円。
海外に外注してた時期もあるけど、アメリカ人だと正確に再現せずに「オレのプレイの方がカッコいいだろう!」とか言うらしいw 日本人の完璧主義的な芸の細かさは、ほかの国の人には真似できないそうな。

安本さんがインパク知・大きすぎて前半の印象が薄いけど、弾き語りミュージシャンがお客さんに合わせて曲調を変えて演奏し、テープに吹き込んだのが発端になった話とか、弁当屋の黄色いトラックが最初のカラオケボックスだったって話も面白かったにょ。


とりあえず、mizzuとわだっぷamachangは読むべし!

LINEで送る