iOS8 4つのイケてる小ネタ

0
Filed under iPhone
Tagged as ,

iOS 8が正式リリースされましたね!
iOS 8を使っていて、これは良いな!と思った小ネタ4つを紹介したいと思います。
※あえての小ネタばかりなので、そこはご了承いただきたいです :-)

検索窓を開いた時のブラー

まずは一番の小さな小ネタ。
iOS7から検索の仕方が変わって、スプリングボードと呼ばれるアプリのアイコンが並ぶ画面で、画面中央あたりで上から下にスワイプで出てくるようになりました。
この機能自体は変わっていないのですが、iOS7ではそのままアイコンが表示されていて画面がゴチャっとしていたのが、iOS8ではアイコン部分にブラーがかかり、見た目がすっきりするようになりました。
ios8 blur

Tipsアプリ

Tipsを表示してくれるアプリ、これはいいですね!
同様のウェブサイトもありますが、気付かなかった便利機能とかに気づけたりして、ちょっとうれしい。
ios8 Tips

Hey, Siri

「ヘイ、シリ」と言うとSiriが立ち上がる。
Tipsアプリで知って試してみたのですが、そんなに大きな声で言わなくても、iPhoneを人だと思ってしゃべる程度のボリュームでも反応してくれるのに驚いた。
あと、Siriで言った音声がどんどん解析されている様子が出てくるんだけど、認識の精度が格段に上がっているような気がします。

写真アプリ

今回のブログで一番書きたかったのがこれ。
標準の写真アプリで一覧して見るときに、その写真の撮影日とかが出てこないが、ずーーーーーっと不満でした
iOS7までそうだったので、iOSの哲学としてそういうものなんだろうな、自分でアプリを作るしか無いかな、と思っていたのでした。(実はちょっとだけ作りかけていた…)
ですが、iOS8では、撮影日と1日以上前の写真なら場所も表示されるようになりました!
ios8 Photos
これはいいですよね、やっぱり!

iOS8に期待!

という感じで、細かいところのサポートがされるようになってきているので、iOS8はとても好印象です!

I-O DATA iOS用Lightningコネクター搭載 USBメモリー「iStick」 8GB GH07B-008

I-O DATA iOS用Lightningコネクター搭載 USBメモリー「iStick」 8GB GH07B-008

Amazon価格:¥ 8,735

カテゴリ:Personal Computers

発売日:2014-09-10



サンワダイレクト Lightning USBメモリ 16GB iPad4 iPad mini 専用 600-IPL16G

サンワダイレクト Lightning USBメモリ 16GB iPad4 iPad mini 専用 600-IPL16G

定価:¥ 5,280

Amazon価格:¥ 2,350

カテゴリ:エレクトロニクス



週刊アスキー 2014年 9/23号 [雑誌]

週刊アスキー 2014年 9/23号 [雑誌]

カテゴリ:Kindle版

発売日:2014-09-09


iPhone 6と6 Plusは全然違う!(開発者視点で)

0
Filed under iOS SDK, iPhone
Tagged as ,

iPhone 6、6 Plus の解像度と、デザインの話。
当初、ざっくり調べた感じで、だいたい、iPhone5と同じアスペクト比だから特に問題ないかな?と軽く考えていたのですが、実際は、ちょっと様子が違うようです。。
しかも、6とPlusの間で!

PaintCodeブログより

PaintCodeというアプリのブログによると、iPhone 6と、iPhone 6 Plusの間には大きな差があるようです!

http://www.paintcodeapp.com/news/iphone-6-screens-demystified
iPhone 6と6 Plus

iPhone 6は、スケールファクタがx2のまま画面サイズが大きくなったのですが、iPhone 6 Plusは、スケールファクタがx3でレンダリングし、実際のデバイスサイズに縮小しているようです。。
要は、iPhone 6 Plusは、ドットバイドットで画像を指定することが不可能なのです!
まぁ、6 Plusは、Appleデバイスで最大密度の解像度なのでそれはわからないであろう、というか、ドットバイドットで画像を用意する時代じゃないんだよ、ということかな。。。(SVGを使うべきかな、という気もしてくる)

まとめ

まとめると次のようになる。

iPhone 5 では、320×568にレイアウトし、スケールファクタはx2。
iPhone 6 では、375×667にレイアウトし、スケールファクタはx2。
iPhone 6 Plus では、414×736にレイアウトし、スケールファクタはx3、デバイスレンダリング時に縮小処理がかかる。

テストにも使えるよう、今回は端末を購入するのですが、開発のことを考えると、iPhone 6 Plusなんだけど、、実際に持つには大きそうだなー、と悩みが復活。。

とりあえず、iPhone 6かiPhone 6 PlusサイズのiPod touchが出て欲しい。

プロトタイピング実践ガイド スマホアプリの効率的なデザイン手法

著者/訳者:深津 貴之 荻野 博章

出版社:インプレス( 2014-07-11 )

定価:¥ 2,970

Amazon価格:¥ 2,970

単行本(ソフトカバー) ( 240 ページ )

ISBN-10 : 484433624X

ISBN-13 : 9784844336242



UIKit徹底解説 iOSユーザーインターフェイスの開発

著者/訳者:西方 夏子

出版社:インプレスジャパン( 2014-06-13 )

定価:¥ 4,104

Amazon価格:¥ 4,104

単行本(ソフトカバー) ( 448 ページ )

ISBN-10 : 4844336088

ISBN-13 : 9784844336082





PaintCodeは超オススメアプリ!→

新iPhoneのアスペクト比(縦横比)まとめ:Swiftで計算してみた

1
Filed under iPhone, Swift
Tagged as , ,

今年のiPhone

日本時間の今朝2:00、事前の噂通り、大画面化したiPhoneが発表されました!
iPhone 6 アスペクト比
しかも、新しい2機種ともこれまでと違う画面サイズ(iPhone 6: 750×1334、iPhone 6 Plus: 1080×1920)!
アプリを作る開発者としては、一番気になるのはそのアスペクト比なのですが、アスペクト比を計算し、デザインについての考察をまとめました。

アスペクト比は変わらないがデザインは再検討必須!

ちょっと前なら、rubyとかperlで書くようなコードですが、今ならXcodeのPlayground(Swift)ですよね!
ソースコードはgistにアップしましたが、次節で説明します。
まずは結果を書いておきます。

iPhone 4 (S) : [640:960] => [2:3](0.666666686534882)
iPhone 5 (C|S) : [640:1136] => [40:71](0.563380300998688)
iPhone 6 : [750:1334] => [375:667](0.562218904495239)
iPhone 6 Plus : [1080:1920] => [9:16](0.5625)
iPad (all) : [1536:2048] => [3:4](0.75)

こんな感じで、厳密にはiPhoneだけで4パターンとなるのですが、「大抵のものなら、iPhone5のアスペクト比と同じ」ということで良いのではないのでしょうか。
ただ、デザインにこだわるなら、パーツのレイアウトは、ちょっと考えたほうが良いかもしれません。
それは上記の各端末のスクリーンショットが並んでいる様子を見るとわかるのですが、アイコンのサイズは変わらず、各アイコンの間隔が広がるようなレイアウトになっています。これは参考にすべきでしょう。
アスペクト比が同じだからと言って、そのまま大きな画面ではボタンも大きくなるレイアウト、ではかっこわるくなりそうです。
結論:UIにこだわるアプリデザイナーは、autolayoutを設定できるようになるか、それを考慮したレイアウト指定ができるようになる必要がある。

アスペクト比計算.swift

さて、上記計算をしたコードを下記に貼り付けます。
ユークリッドの互除法で最大公約数を計算できれば、特に難しくないコードですね。

えぇ、タプルを返す関数を書きたかっただけです。:-)


PLATA ( プラタ ) おもしろ USB メモリ 8GB マン タイプ オレンジ

PLATA ( プラタ ) おもしろ USB メモリ 8GB マン タイプ オレンジ

定価:¥ 2,000

Amazon価格:¥ 990

カテゴリ:エレクトロニクス



折紙の数学―ユークリッドの作図法を超えて

著者/訳者:ロベルト ゲレトシュレーガー

出版社:森北出版( 2002-04 )

定価:¥ 3,024

Amazon価格:¥ 3,024

単行本 ( 206 ページ )

ISBN-10 : 4627016816

ISBN-13 : 9784627016811


Raspberry Piをモニタ等無しでMacから使えるようにする方法

2
Filed under RaspberryPi
Tagged as , ,

このブログでは書いていませんでしたが、先月Raspberry Piを購入し、すでにディスプレイ、キーボード、マウスを繋いでNOOBS使ってOS入れたり、ちょこっと仕事に使ったりしていました。
ですが、ちょっとした作業のたびにモニタをラズパイに専有されるのがイヤだな〜(Macでメインに使っているし〜)と思っていたのです。
その解決方法が見つかったので、試してみました!
しかも、SDカードへのOSのインストールから、ディスプレイ、モニタ、マウス無しでやってみます。

Raspberry Pi Model B+ (Plus)

Raspberry Pi Model B+ (Plus)

Amazon価格:¥ 4,850

カテゴリ:エレクトロニクス


最終形と問題点

まず最初に、今回のエントリの最終形を図にしておきます。これで分かる人はこの後続く長いエントリは読まなくてOK!
Mac, Raspberry Pi, LAN
接続の方法としては、Macの有線LANポートを作り、そこにインターネット共有を設定し、Raspberry Piに有線LANで繋いで、SSHで入る、という形になります。これならMacがWi-Fiでインターネットにつながっていたら(普通つながっていますよね?)、MacもRaspberry Piも外のインターネットに繋がるという幸せな状態です!
基本的にはこれでOKなのですが、「ディスプレイ、キーボード、マウスを一度も繋がない」となると問題点が2つ出てきます。
1. SDカードへのOSインストールにNOOBSを使えない
2. RaspberryPiに振られたIPアドレスがわからない
これらへの対応がメインとなります。

SDカードにOSイメージを焼く

まずはMacのブラウザで下記URLにアクセスし、適当なOSイメージをダウンロードします。
Downloads | Raspberry Pi
迷ったら、Raspbianでいいと思います。
ダウンロードが終わったら、展開すると、.imgという拡張子のファイルが出てきます。
次は、ターミナルを開いて、このファイルがある場所に移動します。

$ sudo dd bs=1ms if=2014-06-20-wheezy-raspbian.img of=/dev/disk1

という感じのコマンドでイメージを焼くのですが、作業環境によってもちろん引数は変わります。
ディスクイメージのところはダウンロードして焼きたいOSイメージを指定します。
最後のofに与える引数はSDカードのデバイス名を与えるわけですが、これは diskutil list というコマンドで確認できます。
mac osx diskutil list
例えば、上図のようになっていると思いますが、この場合、/dev/disk1 を指定するわけです。
ddコマンドを実行した時、デバイスがbusyである、というようなエラーが出ることがあります。この場合、マウントを外す必要があるので、「ディスクユーティリティ」アプリ (/Applications/Utilities/Disk\ Utility.app) を起動して、「マウント解除」を行います。(「ディスクを取り出す」ではないので注意!)
Mac ディスクユーティリティ マウント解除

されて、これで上記のddコマンドを実行完了したらSDカード作成は完了なのですが、、実は、かなり時間がかかります!
Raspbianをmicro SDカードにコピーしたら、大体1時間ちょっとかかりました。
正直、NOOBSからOSインストールをしたほうが良かったかなー、と若干後悔するレベルです。
しかも、このddコマンド後、進捗状態が表示されません!
(実は、完全にフリーズしたかと思い、キャンセルしたりしてしまいました…)
でも、ご安心を!!
Control+Tを押すと、その時点での転送完了バイト数や平均転送速度が表示されます!

処理が完了すると、特にメッセージもなく、シェルがコマンド待ち状態に戻ります。
(インストール完了後にcheers!的なアイコンを表示する最近のパッケージとは大違いw)
しかし!!何はともあれ、今はモニタとか無しで環境を作るのが第一義にあります!

インターネット共有

ここで、Mac側のインターネット共有の準備をしておきます。
最近のMacBookには有線LANポートがないので、ThunderBoltなどの変換器を用意します。

Apple Thunderbolt - ギガビットEthernetアダプタ MD463ZM/A

Apple Thunderbolt - ギガビットEthernetアダプタ MD463ZM/A

定価:¥ 2,880

Amazon価格:¥ 3,420

カテゴリ:Personal Computers

発売日:2012-06-13



最近はUSBハブも付いたものがありますので、これも良さそうです!

システム環境設定>共有>インターネット共有を選択します。
『共有する接続経路』には外に出ていく経路(今回はWi-Fi)、『相手のコンピュータが使用するポート』にはRaspberry Piがつながるポートを指定します。
Mac インターネット共有
最後に、左側の「インターネット共有」の「入」にチェックを入れて完了です。

Raspberry Piを起動、IP探し

さぁ、いよいよ起動です!
SDカードをMacから外して、Raspberry Piに挿します。
LANコネクタにLANケーブルを接続します。
そして電源USBを挿すと、Raspberry Piの起動です!
ACTのLEDがチカチカしはじめます。Raspberry PiがTypeB+ならLANコネクタのLEDも点滅します!
さて、SSHで接続するわけですが、ここでRaspberry Piに振られたIPがわからない、という2つ目の問題にぶち当たります。
これはとりあえず、地道に調べるしかないようです。
まずはifconfig
ズラズラーっと出ますが、私の環境では下記のような箇所があります。これがThunderboltに挿したLANコネクタのブリッジしているところだと思われます。

$ ifconfig
(略)
bridge100: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	options=3<RXCSUM,TXCSUM>
	ether 3e:1e:33:3e:e9:33 
	inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255
	Configuration:
		id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
		maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
		root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
		ipfilter disabled flags 0x2
	member: en4 flags=3<LEARNING,DISCOVER>
	        ifmaxaddr 0 port 7 priority 0 path cost 0
	media: autoselect
	status: active

192.168.2.1というのがあり、ここから192.168.2.255までがおそらく、割り当てられているわけで、
ここの辺だと当たりをつけます。
さらにもうひとつ、arpというコマンドを使うと良いらしいので試してみると次のような結果が出ました。

$ arp -a
? (169.254.255.255) at ff:ff:ff:ff:ff:ff on en4 [ethernet]
? (192.168.1.1) at 8:21:bb:a7:83:11 on en0 ifscope [ethernet]
? (192.168.1.101) at 2c:bb:e1:23:71:a3 on en0 ifscope [ethernet]
? (192.168.1.255) at ff:ff:ff:ff:ff:ff on en0 ifscope [ethernet]
? (192.168.2.1) at 2e:15:bb:1d:d9:13 on bridge100 ifscope permanent [bridge]
? (192.168.2.2) at 28:17:bb:1f:b6:13 on bridge100 ifscope [bridge]
? (192.168.2.255) at ff:ff:ff:ff:ff:ff on bridge100 ifscope [bridge]

これを見ると、どうやら、192.168.2.2っぽいなー、と絞り込めるわけです。
SSHでログインしてみます。Raspbianの初期アカウントとパスワードはpi/raspberryなので、そのとおりに指定ます。

$ ssh pi@192.168.2.2
pi@192.168.2.2's password: <ここでパスワードを入力>
Linux raspberrypi 3.12.22+ #691 PREEMPT Wed Jun 18 18:29:58 BST 2014 armv6l
(略)

無事ログインできました!
抜けるときにはexitします。
電源を切る時には、USBを抜いてもいいし、sudo haltしてもOKです。

SSHで怒られた時

OSを入れなおしたりしてIPアドレスが変わらない場合にはSSHでログインしようとしたときに「WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!」等の警告文が出ることがあります。
一度保存した鍵が合わなくて、サーバがクラックされているのでは?という親切なメッセージです。
適当なエディタ(emacsでもvimでも)で、Mac上のknown_hostsファイルを編集することで対応出来ます。

$ emacs ~/.ssh/known_hosts

今接続しようとしたIPが先頭にある行を探し、その行を削除することで対応は完了です。
もう一度SSHを試してみましよう。

以上!

これで、Raspberry Piを始めるのに、モニタやマウスやキーボードを用意する必要はありません!と言い切れるようになりました!
しかも、持ち歩き時の荷物も減ったので、カフェでラズベリーパイを食べながらRaspberry Piをいじる、なんてこともできますね!

Raspberry Pi Model B+ ボード&ケースセット(Clear)-Physical Computing Lab

Raspberry Pi Model B+ ボード&ケースセット(Clear)-Physical Computing Lab

Amazon価格:¥ 6,800

カテゴリ:エレクトロニクス



ラズパイマガジン (日経BPパソコンベストムック)

出版社:日経BP社( 2014-07-16 )

定価:¥ 2,300

Amazon価格:¥ 2,300

単行本 ( 164 ページ )

ISBN-10 : 4822234940

ISBN-13 : 9784822234942



Raspberry Piクックブック (Make:PROJECTS)

著者/訳者:Simon Monk

出版社:オライリージャパン( 2014-08-23 )

定価:¥ 3,672

Amazon価格:¥ 3,672

大型本 ( 384 ページ )

ISBN-10 : 4873116902

ISBN-13 : 9784873116907