2012年1月29日日曜日

Facebookページを完成させるまでに注意した7つの事





techGarageの松岡です。

いま流行のFacebookページ。もはや、Facebookページを持っていない企業なんてあるの?という勢いで作られていますね。

私もFacebookページを作った1人であります。


その時に、はまった事を書いていきます。


1、SSL通信

これをクリアしていなければFacebookユーザーからのアクセスを得る事は出来ないでしょう。

アカウント→セキュリティのページに”セキュア接続”という項目があります。


この項目はデフォルトではONになっています。ページがhttps通信が準備できていない場合、iFrame内がNot Foundになってしまいます。


2、クロスブラウザ(写真でレイアウトすると楽々)



Facebookは様々なブラウザからアクセスされます。つまり、クロスブラウザ対応する必用があるという事です。

これを単純に対応するのであれば画像を中心にレイアウトすると良いでしょう。

クロスブラウザ対応コストを下げる為にほとんどを画像で静的に仕上げているページが多々あります。

インタラクティブにするのであれば素直に対応しましょう。



3、スクロールバーを消す

iFrameの520px幅を生かしきり、スクロールの中にスクロールがあるというユーザビリティを改善するためには必須となります。


4、写真を軽量化


私はランキングページを作っていました。画像の数が少し多めになってしまいます。やはり顔写真は画質が良い物をと利用していたのですが、iFrameということで若干ロードスピードがおそいのです。

従って、画像はなるべく軽量化させましょう。Facebookページによらず画像のサイズを少しでも小さくするのはwebページを作る上での鉄則の1つです。


5、アクセス制限に気をつける


Facebookに関連したアプリではかならずAPIを使う事になります。

Graph APIを用いてデータを取得する事はご存知かと思います。1秒に1回以上のペースでアクセスすると制限されてしまうので、気をつけましょう。


6、パーミッションを正しく解放する

データの取得にはパーミッションが関係してきます。また、全部あけておけば良いという問題ではありません。必要最低限のパーミションにしておくべきです。

また、offline_accessというパーミションをあける事によってアクセストークンの有効期限がなくなるので再取得の必要がなくなります。


7、取得できるコメント、いいね、取得出来るコメント、いいね。

フィードを取得してみましょう。そうするとイイネのカウント数とデータ数が合わなかったりします。取得できるコメント、イイネにはばらつきがあるため正しい数を取得する為にはそれぞれにアクセスする必要があります。

当たり前の話ですが、ログを取っておくべきです。

コードを改変した時にパフォーマンスを測る事が出来ますし、不具合が起きているときに早急に原因を突き止める事が出来ます。


以上、1度Facebookページを作ってはまった事でした。

Facebookページ作成について、ご質問があればぜひコメント下さい。

iPhoneアプリ開発ワークショップを成功させるための3つの秘訣

Hello, world!
techGarageTokyoの眠れる獅子、ヤマケンこと山本健太です(現在Amazonを便利に使えるツール系iPhoneアプリを鋭意開発中ですので2月上旬にリリースのお知らせができればと思っています)。

さて、わがtechGarageでは学生にとってテストシーズンまっただなかである1月のこの時期に、「一日でiPhoneアプリをつくるワークショップ」というイベントを全3回でやっていました。




今回は大学1-2年生に限定して参加者を募集したのですが、期末テストの時期にも関わらず、多くのひとにご応募いただいて、毎回満員御礼の企画になりました(参加者のかた、ありがとうございました!)。
さすがのiPhoneパワーです。
※イベントの詳細はこちら http://www.facebook.com/events/199417260147754/


さっそく本題ですが、全3回のイベントを通してやっておいてよかったと個人的に思っていることを3つ書いてみたいと思います。


1. 運営メンバーは当日つくるアプリを事前に自分でも実装してみる
まず準備についてです。これは重要です。おそらくこういった企画をする場合、講義内容をだいたい(みんな | 担当のひとで)考えたうえで、当日は誰か一人が講義をするというかたちをとることが多いと思います。もちろんそれが効率もよく、このやり方でもどこかの段階で誰かが講義の前には見本を実装してみるのは普通やります。ですが、講師だけが実装するというのはバッドノウハウです。運営メンバーは基本的に自分でも講師役のひとのコードを見て自分でも実装しておきましょう。なぜなら、当日、事前に開発環境が整っていないひとがいたり、講義に追いつけない初心者のひとがいたりするからです(時にはコピペなどでコードを切り貼りすることもあるかと思います)。ここで運営メンバーが困っているひとのコードの断片をぱっと見て、それが何をしようとしているか分からず「ごめん、ちょっとプロジェクター34行目を写してくれない?」と講師に要求するのはいまいちです。もちろん必要に応じて頼めばいいのですが(ですが大人数でのワークショップになるとそれは不可能でしょう)、円滑な進行のためにも必要最小限にしたいところです。


2. 当日は1vs.1で教える体制をつくる
つぎに当日の体制についてです。これは参加者のレベルなどによって違うかもしれません。ですが、入門的な講座の場合、できるかぎり一人の受講生に対しては一人の運営メンバーがつけるようにしたいところです。講師が注意しきれない細かな文法などを、そばにいる運営メンバーがコーディングの様子を見ながら補佐するのが理想的です。そうすることで全体の進行から遅れてしまう参加者も減ると思います。


3. フィードバックをもらえるようにする
最後にイベントを運営される際にはぜひおすすめしたい参加者からのフィードバックについてです。今回、僕たちはGoogleのアンケートフォームを利用しました。満足度、不満な点、次に受けてみたい講義など、任意の質問をすることができます。また、回答も手軽にできるので参加者のかたの負担にもなりにくく頼みやすいです。参加者同士には開示されないように設定することもできるため、本音の回答ももらいやすいのではないでしょうか。そこで得られたフィードバックはとっても参考になります。これは本当です。きっと運営メンバーが思いつかない貴重な指摘ももらえることでしょう。普通のイベントでもアンケートを取っていない場合も散見されますが、あまりにもったいないです。
※参考: アンケートフォームを作成する | Google ドキュメント http://www.appsupport.jp/docs/ques-new/




0. 興味を持ってもらえるようなイベント企画にする
大切なことを忘れていました。大前提としてFacebookのフィードなどに募集が流れてきて興味をもてる勉強会の内容にしなければなりません。今回はターゲットが大学1-2年生でしたので、例えば「3時間で学ぶHadoopハイパフォーマンスチューニング」という企画はまずいでしょう(そんなこと教えられませんしね)。大学生向けの場合、iPhoneかAndroidがベストな気がします。というのは、興味を持ってもらいやすいというのはもちろん、Webと比べても限定された範囲で教えることができるので講師もやりやすいということがあります。


■ その他Tips
ちなみに3回の参加者は、情報系の学部であったり、アルバイトの業務であったりで、JavaやPHPなどの他のプログラミング言語の経験があるひとも多かったです。つまり、「プログラミングはやったことあるけど、iPhoneの開発もしてみたいな」というひとに興味をもってもらえたようです。もちろん初心者歓迎でしたので、プログラミング未経験のかたもいらっしゃいましたが、それにしてもまったく手も付けられないような状況におちいってしまうひとはいませんでした。こういう勉強会に参加する大学生は本当に優秀なひとばかりです。もしかすると今回は開発環境を用意してもらうことを一応の条件にしていたことも影響しているかもしれません(Macの貸出も行っていましたが)。あと、ここ数年は特にMacBookAirの隆盛は著しく、大学生のMacユーザーもかなり増えているので、AndroidとiPhone、どちらをテーマにしても大丈夫だと実感しました。




■ 今回のイベントの条件
・参加者: 10人くらい
・運営メンバー: 5人~7人くらい
・場所: 表参道
・Mac貸し出しあり
・机椅子プロジェクターあり

※ちなみに今回のイベントはすべてFacebookグループ駆動開発ともいうべき進行をしていました。つまり、非公開グループを開設して、そこに参加者を招待して、参考になるソースコードを載せる用途に使うのです。これで最低限、コピペで追いつくことができます(これは"全体感"をつかむためにも有効な方法だと思います)。もう勉強会イベントはFacebookイベントで招待→Facebookグループで運営→そのままFacebook上で交流という流れは定番になりつつありますね。


■ 参考になるエントリ
企画 - Google Developer Relations Japan https://sites.google.com/site/devreljp/Home/hackathon-in-a-box/hackathon-guide/planning



★今回のイベントはtechGarageの認知度向上と興味をもってもらったひとにはメンバーになってもらいたいという目的がありました。ここの成果はまた追って、お知らせできればと思います。

文責:@ymkjp


techGarage Tokyo http://ja-jp.facebook.com/pages/TechGarage-Tokyo/303189036376398
↑techGarageの活動がいいねーと思ったかたは「いいね!」お願いします!

2012年1月26日木曜日

【techGarage福岡本格始動!】第一回勉強会レポート

はじめまして、techGarage福岡の伊藤慎一郎です。


いよいよtechGarage福岡が本格始
動します!

ラボの環境も整ったところで、アプリ開発のための勉強からスタートです。

福岡での初勉強会の為に、techGarage東京の松岡君が講師として来てくれました!
プログラミング未経験も含め、メンバーも手を動かしながら3時間みっちりアプリの開発を体験しました。
講師の松岡君が東京で学んできたことを福岡のメンバーが受け取る。
この福岡と東京の”つながり”が生まれたこともこの勉強会の大きな意義だと思います。

アプリ開発勉強会の後は、福岡名物のもつ鍋を囲みながらお互いのこと、
東京でこれまでやってきたこと、福岡でこれからやりたいことを語り合いました。
しかしこれで終わらないのがtechGarage!

ラボに戻ると、パソコンを開き勉強会の復習を開始するメンバー。

気合い入ってます・・・!

さらに夜が深まったところで、松岡くん、福岡メンバーの角田さん、山口くんによる真夜中のギークトークタイム。
(※ギーク・・・コンピュータやインターネット技術に関する深い知識を有する者)
あまりギークではない僕は繰り広げられるギークトークについていけず、
早くこのレベルについて追いつきたいと感じました。(ちょっと引いてました。)
東京のエース松岡くんも、福岡メンバーの技術力に驚いたようです。
福岡と東京、遠く離れた2つの場所で、コラボレーションをしながら互いに刺激しあい新しい価値を生み出す。

これからのtechGarageの活動にご注目ください!
----------------------------------------------------------------------------------------------------

出張福岡!始動を肌で感じてきました。

初めまして。techGarageTokyoの松岡です。
techGarage iPhoneアプリ開発ワークショップでも講師を務めさせて頂いております。

今回、作ったのはFacebookのフィードのクライアント。九州の方々はプログラミング経験者の方が多かったので、変数や関数に引っかかる事もなくスムーズに進む事が出来ました。

こんな勉強会が東京では頻繁に開催されていて、開発者は次々と新しい技術や知識をつけています。この事を伝える事が出来たなら今回の勉強会の意義、次の勉強会でするべき事は明確になったと思います。

そして、本番は懇親会とその後です!
懇親会では打ち解け、福岡のネタで盛り上がりました。
驚いたのが、懇親会が終わった後にラボに戻ると皆がプログラミングし始めた事触発されて、僕も負けじと残っている作業を進めます...

会話をするなかでベースの技術力を感じました。東京ラボも負けてられません
お互いに良い刺激を与え合える存在になっていけると確信しました!

2012年1月20日金曜日

【第一回】iPhoneアプリ開発ワークショップ報告!

こんにちは、初めまして。
techGarege Tokyo山下達也です。
通称【やまぴー】です。よろしくお願いします!!
ちなみに言うと、デザイナーです^^

さて、今回は先日行われた
一日でiPhoneアプリを創るワークショップ
の第一回の様子をお伝えします

概要としては、Facebookのフィードを読み込むアプリを一日で創るというものです。
記念すべき第一回は2012年1月15日(日)に行われました。

数日前まで参加希望者が全然いなくて焦っていたのですが当日は7人の方々が参加してくれました!techGaregeメンバーも合わせて全部で15人くらいの勉強会になりました。



















最初の自己紹介はこんな感じで。知らない人同士でしたので、名札も付けて参加者同士もコミュニケーションを取りやすいように図りました。

今回の講師はtechGaregeの修造こと【松岡秀樹】です。
修造はこの日の為に福島から来ました。気合い入っています!!

そしてワークショップがスタートしました。皆でMacを広げてみた事も無い聴いた事も無いようなソフトを使ってアプリを制作していきます。(Titaniumとxcodeを使用)
(*)詳しくは前の記事に修造が書いてますのでそちら参照



















始まるとこんな光景に!The開発してます!って感じですね。カッコイイ!




















修造が関数について語っています。
このレベルから教えてくれるので、初心者にも分かりやすいですね!



















参加者皆さん集中して話を聴いています。
取り残されていかないように必死に取り組んでいました。



















ボタンがついたり、MAPが表示されたり、Facebookのフィードが見れたり、自分で書いたコードがちゃんと動くごとに笑顔がこぼれるのがとても印象的でした。
「創ったものが動く」これは本当に大きな喜びですよね。

このような感じで、無事に全員アプリを創る事が出来ました!良かったです^^
ワークショップの後は懇親会を行い、参加者同士での情報交換やコミュニケーションの時間になりました。
techGaregeにも興味を持っていただけたようで、こちらもやった甲斐がありました。
【第二回】1月21日
【第三回】1月28日
も今回同様の内容で開催させていただきます。
受付は大人気により既に閉め切らせていただきましたので、次回イベントにご期待ください。

また、「こんなイベントあったらなー」などの意見をコメントに書いてくださると有り難いです。

ここまで読んでくださってありがとうございました^^

それでは!













2012年1月12日木曜日

Titaniumで光速iPhoneアプリ開発


初めまして。techGarageのメンバーの松岡秀樹です。

テニスをやっていたので修造と呼ばれたりしています。

Titaniumの勉強会を開催致します。

テーマは1日で作るFacebookのフィードクライアント。

興味がある方は是非下記より応募よろしくお願いします。
ご都合がよろしい日に参加下さい。開発環境はこちらで提供致します。

1月15日

1月21日

1月28日




さて、1年前くらい?からiPhoneもAndroidもどちらも同時に作れる!と話題になったTitaniumに触れてみて感じた特徴や長所、短所を述べていきます。


1、ウェブの感覚で作る事が出来る。

TitaniumでUIを組み込んでいくには下記の様になります

1、部品を作る
2、ビューに載せる

全てのUI(window,view,button,label,textfield.....)はこの2工程で作る事が出来ます。
また、部品の上に部品を載せたり、イベントに応じて表示/非表示を切り替えたり。
これらの組み合わせでアプリの画面を全て作る事が出来てしまいます。

レイアウトはcssでmarginを指定するイメージです。
赤の四角のプロパティ
{
backgroundColor:'#F00',

width:50,

height:50,

top:0,left:0

}

緑の四角のプロパティ
{
backgroundColor:'#0F0',

width:50,

height:50,

top:0,

borderRadius:10,

borderWidth:1,

borderColor:'#0F0'

}

青の四角のプロパティ
{

backgroundColor:'#00F',

width:50,

height:50,

top:0,right:0

}

色、サイズ、座標(top,left,right,bottom)
角丸(radius)を数字で指定する。
この様にwebデザイナーでもレイアウトにコミットする事が出来ます。

また、JavaScriptなのでなかの機能作成にも参加する事が出来ると思います。

例えばボタンを押したときにアラートを表示する場合

var b = Ti.UI.createButton({
title:'アラート',
width:120,height:50
});

b.addEventlistener('click',function(){
alert('これはアラート');
});

と、webでイベントリスナーでの制御と同様にアプリでも制御する事が出来ます。
click(シングルタップ),double tap,swipe,flickなどのイベントがUIに対して割り振られているのでそれらを利用する事が出来ます。
またfireEventも出来るので、制御の幅は自由度が高くなっています。



2、足りないモジュールはプラグインする事が可能

Titaniumが提供している基本的な機能はアプリを作る為の基本的な機能に限られます。(基本機能の組み合わせ次第では十分クオリティの高いアプリは作れます)

従って画像処理の機能や物理演算の機能など、主に内部的なエンジンは自前で作る必要があります。しかしこれらの処理にJSは向いていません。そこでネイティブで作った言語のエンジンを組み込むのです。

例えばbox2dと呼ばれる物理エンジンモジュールがあります。
これはTitaniumでゲームを作りたい人向けのモジュールになります。

僕の粗記事(Titanium SDK1.7.5 現在)ですが
http://hidekun.info/2011/11/19/327
こちらで導入方法を解説しております。

また、Appceleratorのマーケットプレイスでプラグインや素材を買う事も可能です。
http://www.appcelerator.com/products/open-mobile-marketplace/


3、短期間で開発する事が出来る

クライアントであれば1週間位でそれなりのアプリケーションにする事が可能です。
僕たちは元々約2ヶ月のインターンでTitaniumという未知のSDKに触れ、1ヶ月でJSを学び、1ヶ月でアプリをリリースしました。

最初から初めても1ヶ月もあればリリースできる様になるのです。




Titaniumの勉強会を開催致します。

テーマは1日で作るFacebookのフィードクライアント。

興味がある方は是非下記より応募よろしくお願いします。
ご都合がよろしい日に参加下さい。開発環境はこちらで提供致します。

1月15日

1月21日

1月28日