2012/10/31

[Marketing]マスコットを作ること

なるほど。

ウェブサイト「reddit」や「hipmunk」などの共同設立者であるAlexis Ohanianさんが、第一印象にインパクトを与えるために取るに足りないものを足すというアイデアを教えてくれました。

via:第一印象をグッと良くするには「取るに足りないもの」があるくらいがいい
確かに、
reddit
breadpig
hipmunk
すべてにかわいい(?)マスコットがついている。

他に例をあげると、twitterもその一例。
Photobucket
webサービスではないが、androidもマスコットがあります。
Photobucket
google app engineもマスコットと言えばマスコットかもしれない。
こうして書いてみると、意外にgoogleがマスコットを使っているなーという感じがした。

リアルだとm&m'sがまっさきに浮かんだ。

横浜開国博150周年
愛知万博

などフェスティバル系にも結構多用されている。

マスコットを入れたからといって確実に成功するわけではないが、印象づけるには、有効な手段の一つだと思った。

2012/10/30

[JavaScript][Web Storage][localStorage]keyの個数を取得する。

localStorageにセットされているkeyの個数を取得したときがあります。

そんなときは、lengthプロパティで取得することができます。

localStorage.length;

2012/10/29

[JavaScript][Web Storage][localStorage]すべての値を削除する。

localStorageにセットされているすべての値を削除したい場合は、clear()メソッドを使えばおk

localStorage.clear();

一気にまとめて消したい場合は、便利ですね。

2012/10/28

[JavaScript][Web Storage][localStorage]値を取り出す。

前回、localStorageに値を取り出す方法について書きました。

今回は、セットした値を取り出す方法について。

getItem('keyの名前')メソッドを使えば取り出すことができます。

localStorage.getItem('test');
対応するkeyがない場合は、nullを返します。
なので、値がセットされているかどうかは、下のようにして確認することができます。
var sVal = localStorage.getItem('test');
//not found
if(typeof sVal == 'object'){

//found
}else{

}

2012/10/27

[JavaScript][Web Storage][localStorage]値をセットする

前回、[JavaScript]localStorageを使ってみるを書いたとき、ものすごい大雑把な書き方をしてしまったので、あらためて何回かにわけて詳しく書きたい。

まず、今日は、値のセットについて。

W3CのStorageインターフェースを読むと、setItem(key, value)メソッドを使って値を設定することができるようだ。

localStorage.setItem('test','this is value');

これで値をセットすることができます。

ちなみに、keyとvalue共にString(文字列)型しか設定することができないので、注意。

2012/10/26

[game]BRAVERY DEFAULTがほしいなー

ドラクエも欲しいけど、こっちもほしいなー。
ブレイブリーデフォルト
ブレイブリーデフォルト
スクウェア・エニックス

だけど、対応端末が3DSなんですね><
普通のDSしか持ってない。。。
ニンテンドー3DS アクアブルー
ニンテンドー3DS アクアブルー
任天堂

なんか、雰囲気見ていると、ファイナルファンタジーでおもしろそー。
色々と調べていたら、ブラウザゲームもリリースされるので、こっちやってみようかなー。

うー、迷うwww

2012/10/25

[game]パズル&ドラゴンズ攻略

ちょっと前からパズルアンドドラゴンをやっているのです、APPBANKさんから攻略アプリがリリースされたようです。
Photobucket
これでもっと早く攻略が進みそうです。

オフコース無料でダウンロード可能です。

是非、是非。

2012/10/24

[Android]Platform Versionsについて

iOSのアプリを開発しているときに、ちょくちょく悩んでしまうのがバージョン分布について。

どのOSにどのぐらいのユーザーがいるかによって当然、打つ手が変わってくると思うのだが、androidの場合、もっと激しさがましてしまう。

そこで、バージョン分布が書いてあるページないかなーっと思っていたら、ありましたー。

ずばり、Platform Versionsというページがあり、そこに詳細情報が書かれていました。

Photobucket
バージョンごとの配布状況について上の図では書かれています。

Photobucket
バージョンごとにシェア分布でしょうか。

Photobucket
OpenGLの分布まで。

リアルタイムで更新されているようなので、定期的に訪問したほうがいいですね。

2012/10/23

[jQuery UI]resizableの縦横比一定について

jQuery UIのresizableは、リサイズしているときに、縦横比を一定にすることができるのだろうか?

Preserve aspect ratio
を読むと、インスタンス化を行なうときに、JSONパラメータに、

aspectRatio

を設定すればいいようだ。

例としてはこんな感じ

<script>
jQuery(function($) {
 $("#draggable_01").resizable({
  aspectRatio: 16 / 9
 });
});
</script>
<div id="draggable_01" class="ui-widget-content">
This is test contents1
</div>
下で実験することができます。




This is test contents1

2012/10/22

[本]そこまで言うか!

読了
そこまで言うか!
勝間 和代 堀江 貴文 西村 博之

まず最初に――堀江貴文

第1章 インターネットは規制すべき?
・なぜ勝間とひろゆきの討論はかみ合わなかったのか?
・匿名で書き込む人は、実際に会っても同じことが言える?
・ネット上で誹謗中傷されたって、何も困らない?
・話を脱線し始めるホリエモン
・2ちゃんに書く人とブログに書く人の違い
・「鼻の穴」と呼ばれるのには慣れました(勝間)
・女子中学生にからんだ大人のお友達
・ブログに携帯番号を書いても、違法じゃない?
・他人の携帯を見ないひろゆきと勝間、ホリエモンは…
・インターネットとの付き合い方
・「ブタ」と「タラコ」と「鼻の穴」

第2章 ITは世の中をよくする?

・孫正義が提唱する光の道
・光回線を100%にする意味なんて、ないでしょ?
・孫正義の狙いは、ユーストリームの普及?

第3章 お金があれば幸せ?

・勝間さん、そういう格好イイ話はいりません(堀江)
・負け組というレッテルを貼られるのはすごく不幸
・勝間はおせっかい?
・なんで『結局、女はキレイが勝ち』を出したんですか? (堀江)
・モリタク化する勝間和代
・復活を果たしたホリエモンに、壮絶な最期はあるのか?
・勝間の夢を1個だけ大公開
・ダイバーシティ・マネジメントの実現に向けて
・専業主婦ってラクでしょ
・普通であることにこだわり続けるひろゆき
・実はすごくナイーブなホリエモン
・いつやめてもいいと思ってやれる仕事は楽しい
・日々を楽しむには、自分のルーツを知る必要がある
・「正社員以外幸せじゃない」はずがない
・勝間を占い師ポジションにしたがるホリエモン
・「友達100人できるかな」の弊害

第4章 日本文化は素晴らしい?

・漫画は日本の伝統芸能!?
・日本の出版物の多くはレベルが低い
・ゲームもタバコもお酒もコーヒーもやめた勝間
・中毒体質・勝間和代直伝、やめる技術!
・オタクであることを隠していました(勝間)
・初公開! 3人の恥ずかしすぎる初恋話
・ホリエモンと勝間の子供話

第5章 起業と就職、どちらがいい?

・就職活動をしていない3人
・年功序列賃金も終身雇用制度も、全部幻想!
・嫌な幼稚園児だったホリエモン
・ステレオタイプな幸せ像をぶっこわせ
・搾取されてるのかどうか、疑問に思え
・保険は死ぬことにお金を賭けること?
・食事は、油と砂糖が入っていればうまい?
・ホリエモンがフェラーリを買った「本当の」理由
・ひろゆきの専業主婦観
・「断る力」を身につけるには?
・時間をお金で買うほど、忙しくなれ
・お金がなくても会社の近くに住むべき
・自分を信用しない3人

第6章 政治で日本はよくなる?

・参議院選挙を終えて
・ホリエモンが語る「選挙」と「鈴木先生」
・大衆は目の前の100万円になびくのか?
・菅さんはダメダメ

第7章 若者は日本を変えられる?

・若者VS既得権
・潰されたホリエモン
・既得権にもっと危機感を持たないと!
・一回レールから外れてみよう
・JALは潰してしまおう
・ひろゆきによる就活講座
・コツコツも多数派もダメ
・貧乏人には儲け話はやってこない
・書き順なんてどうでもいい
・仕組みをしれば、劇的に変わる
・再び政治の話を!

あとがき的感想文――西村博之

この続きはいつか――勝間和代

via:目次
もともとは、デキビジで、勝間氏と西村氏の共演があり、そこでのやりとりがネット上で話題になり、それを知った堀江氏が、今回の鼎談企画を持ちこんだのがきっかけである。

400ページ以上に渡る内容なのだが、しゃべり言葉がそのまま書起されているような感じで書物としては非常に読みにくかったです。

文語体に戻せばもっと紙面を割愛できたのではないかと。

しゃべっている内容は、ネットやら政治やら教育など色々とあったのだが、他の書籍にも書いてあるような内容が多かった気がするが、いかんせん全然頭の中に入ってこなかった。www

2012/10/21

[jQuery UI]resizableの幅及び高さについて

[jQuery UI]resizableの幅及び高さについて

jQuery UIのresizableは、

  • 最小幅
  • 最大幅
  • 最小高さ
  • 最大高さ
を設定することはできるのだろうか?

Maximum / minimum size
を読むと、インスタンス化を行なうときに、JSONパラメータに、
  • minWidth(最小幅)
  • maxWidth(最大幅)
  • minHeight(最小高さ)
  • maxHeight(最大高さ)
を設定すればいいようだ。

例としてはこんな感じ
<script>
jQuery(function($) {
 $("#draggable_01").resizable({
  maxHeight: 250,
  maxWidth: 350,
  minHeight: 150,
  minWidth: 200
 });
});
</script>
<div id="draggable_01" class="ui-widget-content">
This is test contents1
</div>
下で実験することができます。




This is test contents1

2012/10/20

[PhotoShop]回転ビューについて

PhotoShopをさわっているとたまーに方位磁石が表示されて、キャンバスが斜めになってしまう時があります。

これもとに戻すには、どうすればいいんだろうーって悩んでいたら、adobeのページに画像の表示というのがあって、回転ビューというツールでもとに戻すことができそうです。

Photobucket

上の画像から「回転ビューツール」を選択

Photobucket

回転角度を0℃にすればおk

これで、傾いたとしても、対処できるぞと。

2012/10/19

[Python][GoogleAppEngine]オリジナルモジュールの追加

どうやら、同じ悩みを持っていた人がいたようだ。

Google App Engine (Python) - Import Fails

独自のファンクション(関数)、クラスをインポートしたい場合は、

__init__.py

が必ず必要になるということ。

結果的に、インポートすることができることがわかって一安心。

2012/10/18

[JavaScript]選択範囲の取得

ブラウザで文字列を選択した場合、JavaScriptでその範囲を拾うことができるのだろうか?

結果からいうと、できそう。

選択範囲の取得について調べた
によると、window.getSelectionまたは、document.selection.createRange().textで取得することができるのだが、注意したいのが、

'' + window.getSelection();
の部分。

「""」と文字列結合しないと取得できないようです。

うっかり、
window.getSelection();
とやっちゃいそうで、危険です。

2012/10/17

[jQuery UI]textareaでResizableを実装

APIのマニュアルを読んでいたらどうやらtextaeaは、独自にリサイズ機能がサポートされているようです。

さっそく試しに実装しました。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min.js' ></script>
<link  type='text/css' rel='stylesheet'  href='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/ui-lightness/jquery-ui.css' />
<style>
</style>
<script>
jQuery(function($) {
 $('#textarea_resizable_01').resizable();
});
</script>
</head>
<body>
<textarea id="textarea_resizable_01"></textarea>
</body>
</html>
下で試すことができます。(chromeでおk)




2012/10/16

[jQuery UI]Resizable機能とDraggable機能を合わせる

Draggable機能Resizable機能を一つのdom要素に適用する場合について書きたいと思います。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min.js' ></script>
<link  type='text/css' rel='stylesheet'  href='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/ui-lightness/jquery-ui.css' />
<style>

#draggable_01 {
 width: 150px;
 height: 150px;
 padding: 0.5em;
}
</style>
<script>
jQuery(function($) {
 $("#draggable_01").resizable();
 $("#draggable_01").draggable();
});
</script>
</head>
<body>
<div id="draggable_01" class="ui-widget-content">
This is test contents1
</div>
</body>
</html>
下で試すことができます。




This is test contents1

2012/10/15

[jQuery UI]Resizable機能を試す

昨日に引き続き今日は、jQuery UIのResizableを読みながら、実際に試してみました。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min.js' ></script>
<link  type='text/css' rel='stylesheet'  href='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/ui-lightness/jquery-ui.css' />
<style>
#draggable_01 {
 width: 150px;
 height: 150px;
 padding: 0.5em;
}

</style>
<script>
jQuery(function($) {
 $("#draggable_01").resizable();
});
</script>
</head>
<body>
<div id="draggable_01" class="ui-widget-content">
This is test contents1
</div>
</body>
</html>
下の要素で動作検証できます。(chrome、IEでおk)




This is test contents1

2012/10/14

[jQuery UI]Draggable機能を試す

jQuery UIのDraggableを読みながら、実際に試してみました。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min.js' ></script>
<link  type='text/css' rel='stylesheet'  href='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/ui-lightness/jquery-ui.css' />
<style>
#draggable_01 {
 width: 150px;
 height: 150px;
 padding: 0.5em;
}
</style>
<script>
jQuery(function($) {
 $("#draggable_01").draggable();
});
</script>
</head>
<body>
<div id="draggable_01" class="ui-widget-content">
This is test contents1
</div>
</body>
</html>
下の要素で動作検証できます。(chrome、IEでおk)




This is test contents1

2012/10/13

[BootStrap]Pagination

ページングの部分もBootStrapがあれば簡単に実装することができます。
まずは、基本的な部分

<div class="pagination">
 <ul>
  <li><a href="#">Prev</a></li>
  <li><a href="#">1</a></li>
  <li><a href="#">2</a></li>
  <li><a href="#">3</a></li>
  <li><a href="#">4</a></li>
  <li><a href="#">Next</a></li>
 </ul>
</div>
実行結果はこうなりました。
Photobucket
非アクティブまたはアクティブにすることも可能です。
<div class="pagination">
 <ul>
  <li class="disabled"><a href="#">Prev</a></li>
  <li><a href="#">1</a></li>
  <li><a href="#">2</a></li>
  <li class="active"><a href="#">3</a></li>
  <li><a href="#">4</a></li>
  <li><a href="#">Next</a></li>
 </ul>
</div>
実行結果は、このようになりました。
Photobucket
非アクティブにする場合は、liタグにclass名disabledをつけ、逆にアクティブにする場合は、activeを付与します。

この手のコーディングは結構、時間がかかったりすので、素早く実装できるのがいいですね。

2012/10/12

[iOS][Facebook]SDK3.1.1リリース

Photobucket
また、突然、FacebookのiOS版SDKがバージョンアップされていた。

Change Log 3.xを見ると主にiOS6関連のバグを治したと書かれており、さっそくダウンロードして試してみたものの、前回書いたError: HTTP status code: 400がとれてない気がする。

facebook側のバグレポート見ても進捗が書かれていないからわからないwww

う〜ん、困った><

2012/10/11

[BootStrap]Badgesの作成

前回書いたlabel作成のように、バッジ(バッヂの方が正しいのかもしれない。)を作成する方法について書きたいと思います。

コーディングデータは下のようになりました。

<span class="badge">1</span>
<span class="badge badge-success">2</span>
<span class="badge badge-warning">3</span>
<span class="badge badge-important">4</span>
<span class="badge badge-info">5</span>
<span class="badge badge-inverse">6</span>
実行結果は↓のようになりました。
Photobucket
web上で何か通知などを行う際に、これを使ったりすると便利かなと。

2012/10/10

[iOS][Objective-C]NSLogのパフォーマンス

備忘録

実機でテストしながらNSLogを使ってログを出力していたのですが、すぐに落ちてしまう。

どうやら、NSLogをたくさん使うとパフォーマンスが悪くなるようです。

そこで、マクロを使ってデバッグする方法が書かれていたので、メモ代わりにリンクを貼付けます。

リリース時にデバッグ用のNSLog出力を簡単にOFFにするには

便利なマクロ・カテゴリ・ライブラリまとめ

実際には、まだ試していないのですが、今度、チャンレジしてみたいと思います。

2012/10/09

[BootStrap]label作成

chromeだけでしかデバッグしてないんだけど、ラベルを作る場合は、下のようにコーディングすればいいみたい。

<span class="label">Default</span>
<span class="label label-success">Success</span>
<span class="label label-warning">Warning</span>
<span class="label label-important">Important</span>
<span class="label label-info">Info</span>
<span class="label label-inverse">Inverse</span>
実行結果は、↓な感じ。
Photobucket
デザインを起こしてスライスしなくてもかっこいいラベルを作ることができるので大変便利です。

2012/10/08

[iOS][Objective-C]AVFoundationを使ってカメラ撮影

昨日は、AVFoundationを使ってカメラ画面を起動する方法を書きました。

今日は、引き続き、AVFoundationを使ってカメラ撮影をするプログラムを書きたいと思います。

AVCaptureConnection *stillImageConnection = [stillImageOutput connectionWithMediaType:AVMediaTypeVideo];
    AVCaptureVideoOrientation avcaptureOrientation = AVCaptureVideoOrientationPortrait;
    
    [stillImageConnection setVideoOrientation:avcaptureOrientation];
    [stillImageConnection setVideoScaleAndCropFactor:1];
    [stillImageOutput setOutputSettings:[NSDictionary dictionaryWithObject:AVVideoCodecJPEG forKey:AVVideoCodecKey]];
    [stillImageOutput
     captureStillImageAsynchronouslyFromConnection:stillImageConnection
     completionHandler:^(CMSampleBufferRef imageDataSampleBuffer, NSError *error) {
         if (error) {
             
         }
         NSData *jpegData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageDataSampleBuffer];
     }
     ];
最後の [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageDataSampleBuffer]でNSDataを取得すれば、もうこっちのものです。

前回のプログラムとあわせて利用すると便利かなと。

2012/10/07

[iOS][Objective-C]AVFoundationを使ってカメラ画面を起動

普通、iOSからカメラを起動するときは、UIImagePickerControllerを起動できるのですが、AVFoundationを使って同様の実装を使うことも可能です。

で、今回はカメラ画面を起動するまでのプログラムをサンプルコードSquareCamを参考にしながら書きたいと思います。

//UIViewControllerを継承したクラス
- (void)viewDidLoad
{
    [super viewDidLoad];

 
    NSError *error = nil;
    session = [AVCaptureSession new];
    [session setSessionPreset:AVCaptureSessionPreset640x480];
    AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
    AVCaptureDeviceInput *deviceInput = [AVCaptureDeviceInput deviceInputWithDevice:device error:&error];
    if (error) {
        
    }
    if(!deviceInput){
        
    }
    if ( [session canAddInput:deviceInput] ){
        [session addInput:deviceInput];
    }else{
        
    }
    
    stillImageOutput = [AVCaptureStillImageOutput new];
    if ( [session canAddOutput:stillImageOutput] ){
        [session addOutput:stillImageOutput];
    }else{
        
    }
    
    previewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session];
    [previewLayer setBackgroundColor:[[UIColor redColor] CGColor]];
    previewLayer.videoGravity = AVLayerVideoGravityResizeAspect;
    
    UIView *previewView = [[UIView alloc] initWithFrame:CGRectMake(0,  0, 320, 427)];
    CALayer *rootLayer = [previewView layer];
    [rootLayer setMasksToBounds:YES];
    [previewLayer setFrame:[rootLayer bounds]];
    [rootLayer addSublayer:previewLayer];
    [self.view addSubview:previewView];
        
    [session startRunning];
}
これを実機のiPod touchで試したところ、確かにカメラ画面が起動しました。

UIImagePickerControllerよりも細かいカスタマイズができそうなので、便利かなと。

2012/10/06

[facebook][iOS][Objective-C]Error: HTTP status code: 400

Photobucket
新しいFacebook SDKを使ったら下のようなエラーが出現

Error: HTTP status code: 400

ちょっと調べたところ、どうやら、facebook側のエラーのようです。

As per Jason's comments, this was an error on the server side which we fixed shortly after the 3.1 release of the SDK. It should no longer repro, but please let us know if the problem persists.

via:Facebook iOS SDK 3.1 logs “Error: HTTP status code: 400” to application console
次のバージョンアップで改善されることを望みます。