Logicoolのイケてるプレゼンツール「Spotlight」

久しぶりのブログ更新はまたもNon-Techな感じで。

 

先日発表されて話題を呼んでいるLogicoolの新しいプレゼンツール「Spotlight」が3/22に一般販売が開始されました。

www.logicool.co.jp

 

Amazonだとちょっとだけ安く買えるけどApple Store限定のシルバーは購入できない。 

自分の周りではAppleStore限定カラーのシルバーが多く、たまにブラックって感じだったので自分はゴールドを選択。早速届いたので簡単にご紹介。

開封の儀

外箱

f:id:Keisuke69:20170325103105j:image

開けるとこんな感じで収まってる。Appleに通じる高級感のある感じだ。

f:id:Keisuke69:20170325103114j:image

本体の下には充電用のUSBケーブルと更にその下には収納用ポーチが。

f:id:Keisuke69:20170325103127j:image

充電用USBケーブル

f:id:Keisuke69:20170325103135j:image

よくあるMicroUSBではなくType-Cである。自分にとっては初のType-C採用デバイスなので持ち歩くケーブルがまた一本増えてしまうなー
しかし、このSpotlightは充電周りも優れもの。1分の充電で3時間使え、60分のフル充電を行えば3ヶ月持つのだ。なのでケーブルを持ち歩かなくてもいいかも知れない。まあ短いから持ち歩くだろうけど。

f:id:Keisuke69:20170325103155j:image

 

こちらが本体を取り出したところ。f:id:Keisuke69:20170325103200j:image

本体下部に収まっている白いパーツはUSBのレシーバになってて簡単に外せる。

f:id:Keisuke69:20170325103207j:image

 

外した後の本体側の奥には充電用のType-Cのポートが。f:id:Keisuke69:20170325103213j:image

 

こちらがUSBのレシーバ。しかし、今回はBluetoothで接続する。

f:id:Keisuke69:20170325103219j:image

 

充電ケーブル取り付けたらこんな感じ。f:id:Keisuke69:20170325103224j:image

 

充電中はこんな感じで上部が白くゆっくり点滅する。f:id:Keisuke69:20170325103232j:image

 

セットアップ

このプレゼンツールはPCにソフトウェアをインストールして利用する。また、ボタンの設定を変更することも可能だ。
ソフトウェア自体はここからダウンロードする。

http://support.logicool.co.jp/ja_jp/product/spotlight-presentation-remote

 

ダウンロードしたインストーラをダブルクリックしたらセットアップ開始。

f:id:Keisuke69:20170325105328p:plain

f:id:Keisuke69:20170325105338p:plain

インストールをクリックするとインストールが開始されるんだけど、進捗がライトグリーンの円で表示されていて、進行するにつれ大きくなる。

f:id:Keisuke69:20170325105350p:plain

インストール完了。続いて充電だ。f:id:Keisuke69:20170325105359p:plain

まずは充電だ。付属の充電用USBケーブルをPCなりに接続して充電する。

f:id:Keisuke69:20170325105404p:plain

f:id:Keisuke69:20170325105409p:plain

f:id:Keisuke69:20170325105414p:plain

f:id:Keisuke69:20170325105419p:plain

これも進捗がライトグリーンの円の大きさで表現される。

f:id:Keisuke69:20170325105428p:plain

f:id:Keisuke69:20170325105441p:plain

f:id:Keisuke69:20170325105449p:plain

f:id:Keisuke69:20170325105512p:plain

続いてPCとの接続。画面上ではUSBのレシーバを使って接続する手順が表示されているが、今回はBluetoothで接続するので、画面左下に表示されている"Or click here to connect via Bluetooth"をクリックする。下図の赤枠で囲ったところだ。

f:id:Keisuke69:20170325111002p:plain

そうするとBluetoothでの接続手順が表示される。上下のボタンを同時に2秒押すと勝手につながる。

f:id:Keisuke69:20170325105544p:plain

こんな感じで接続される。

f:id:Keisuke69:20170325105550p:plain

ここからはSpotlightの実際の使い方のガイドが始まる。

f:id:Keisuke69:20170325105559p:plain

真ん中の大きなボタンはNEXTボタン。押すと次のページへ。

f:id:Keisuke69:20170325105635p:plain

下のボタンはBACKボタンでスライドを一枚戻れる。

f:id:Keisuke69:20170325105652p:plain

そして上のボタンが、Spotlightの最大の特徴であるハイライト機能のボタン。押しっぱなしにするとハイライトしたい箇所「以外」が薄くグレーアウトする。ここでも実際に試せる。

f:id:Keisuke69:20170325105659p:plain

これはタイマー機能。

f:id:Keisuke69:20170325105710p:plain

設定した時間が残り5分になると本体が振動する。

f:id:Keisuke69:20170325105716p:plain

残り0分、つまり終了時間になるとまた振動する。

f:id:Keisuke69:20170325105722p:plain

終了。"EXPLORE THE APP"をクリックすると設定画面が開く。

f:id:Keisuke69:20170325105743p:plain

 ポインターのモードなどが変更できる。あとは真ん中の「NEXT」ボタンや下部の「BACK」ボタンを押しっぱなしにしたときの動作などが設定できる。長押しで画面をブラックアウトさせたり、任意のショートカットを登録できたりする。自分はひとまずNEXTボタンに画面のブラックアウトだけ設定した。

f:id:Keisuke69:20170325105749p:plain

 

試してみる

実際のスライドを使って試してみた。ハイライトするとこんな感じで自分がハイライトしている箇所以外はグレーアウトされる。

f:id:Keisuke69:20170325113400p:plain

もちろんハイライトボタンを押しっぱなしにして画面上で動かすことも可能だ。
ていうか、普段黒背景のスライドを作ることが多いんだけどこれだと見にくいかもなー。ハイライトする円の大きさやグレーアウトする部分の透明度の設定が変更できるといいんだけど。と思ったら円の大きさは設定で変更できるようだ。

f:id:Keisuke69:20170325113405p:plain

やはり背景が白いスライドのほうがハイライトがわかりやすい。これは今後のスライド作りを考えないとだな。

f:id:Keisuke69:20170325115230p:plain

 

というわけで

総じていい感じだけど、Bluetoothだからなのかソフトウェア処理だからなのかハイライトしたときのカーソルへの追従が若干もたつく感じもしたので時間のあるときにレシーバでの接続も試してみたい。もたつくとはいえ、ごくわずかなものなのでそれほど大きな問題ではないかな。あとは先の通り透明度の設定とかができるとなおいい。

次のプレゼンの機会から使っていこうと思うんだけど、そういえばしばらく登壇予定がないな…
ということで登壇依頼もよろしくお願いしますmm

追記

今回、自分はBluetoothで接続してるんだけど本体には電源スイッチ的なものがなく切断と再接続をどうすればいいのか少しだけ悩んでしまった。ドキュメント(といっても大したものはないんだけど)にも特に言及がない。
切断はメニューバーのBluetoothの箇所から切断を選べばいいけど再接続をどうしたものかと。結論から言うと本体のいずれかのボタンを押して少しすると振動とともに自動的につながる。これはこれでカバンの中とかで勝手に接続されてしまったりしないか若干不安なところ。

 

追記その2

せっかくなのでポインターモードの変更を試してみた。

まず、これが通常のハイライト。

f:id:Keisuke69:20170325115230p:plain

次にハイライト箇所をズームできる"Magnify"をONにした状態。これはハイライトボタンをダブルクリックすることで有効になる。ハイライトしている箇所が拡大されているのがおわかりだろうか。

f:id:Keisuke69:20170325122057p:plain

 そしてこれが"Circle"を有効にした状態。これは画面上に円を表示するだけ。同じくハイライトボタンのダブルクリックで表示されるのだけどほどなく消える。これは逆に白背景のスライドだとわかりにくい上に、利用シーンがパッとは思いつかなかった。

f:id:Keisuke69:20170325122251p:plain

というわけで自分はMagnifyだけ有効にすることに。あまり使わなさそうだけど。

InnovationEGG第7回「クラウドネイティブ化する世界」に登壇してきました(とその感想)

@Keisuke69です。

3月の19日(土)に大阪で開催された、InnovationEGG第7回「クラウドネイティブ化する世界」でお話をしてきました。

今回の話の内容としてはデブサミで話した内容をベースにスケーラブルなアプリケーションをクラウド上でどう作るか、といった観点でお話をしてきました。まあTwelve Factor AppとかMicroservicesとかの文脈ですね。

資料はこちらです。

イベントの内容とか他の登壇者の話の概要やスライドは同じくこのイベントに登壇・参加されたハンズラボさんのブログでまとめられているのでこちらをどうぞ。

www.hands-lab.com

 

今回のイベント、プラットフォームとしてどこか特定サービスに限定しているわけではなかったので各登壇者の話の幅も広く興味深かったです。また、イベントタイトルにもなっている「クラウドネイティブ」というキーワードについてみなさん最初に定義付けをしたあと話をしている辺り、やはりこのキーワードを取り回す難しさがあるのかなーと感じたり。

加えて、全体的にイベント前に想定していたよりもプラットフォーム側の話が多く、あまりそういった話をする予定のなかった自分としては時間が進むにつれてドキドキしていました。ふと思ったのですがクラウドネイティブというキーワードのイベントにおける参加者のエンジニア属性がどういったものなのかは非常に興味のあるところです。個人的な感覚ではインフラエンジニアのうほうが多いかなとは思ってるんですが実際のところはどうなんでしょう。本来的にはクラウドネイティブって特定サービスの使い方の話ではなくアプリケーションアーキテクチャの話だと思うのですが将来的に逆転したりするんでしょうか?それともやはり「クラウドネイティブ(を支えるプラットフォーム)」的な感じでやはりプラットフォーム側の人のほうがこの界隈では中心になるのかといったところも興味深いです。

 

さて、個人的に印象に残ったこととしては、クラウドネイティブというよりはサーバレスアーキテクチャの話になるのですが、ハンズラボ加藤さんの発表で言及されていた

  • 運用コストを下げたくてサーバレスアーキテクチャにしたものの開発はLAMPの3倍かかった
  • ただし、そのほとんどは学習コストであり2回目以降は爆速開発できそう

というのがどうしてもコンセプトが先行しているところのあるサーバレスアーキテクチャに対する実体験からの貴重な意見ということで参考になりました。このシステム自体は大人の事情でお蔵入りになったとのことで非常に残念ですが、リリースしてしばらく運用してみた上でのサーバレスアーキテクチャに関する評価というのもお聞きしてみたかったところです。そういった話はあと1年もすればもっと聞けるようになるかと思っています。その上でやはりむやみに高まった期待感を裏切られることによる揺り戻しというのも発生しつつ一つの潮流になっていくのではないかと考えています。

 

というわけでお話の機会を頂きありがとうございました。

しばらくパブリックな場での登壇予定はないのでのんびり過ごします。

クラウドネイティブとサーバレスアーキテクチャ

こんにちは、@Keisuke69 です。

ポエムです。

クラウドネイティブとサーバレスアーキテクチャと言うものに関してなんとなく整理がてら書きたいなーと思って。

ま、この2つを一緒に話すのはどうなんだって気もするがポエムなので気にしない。あと文章長い割りに大して中身はない。

クラウドネイティブ

そもそもクラウドネイティブとはなんなのか。クラウドネイティブって言葉が先行していて実際のところなんなのか分からない人も多いはず。何かきちんとした単語の定義があるかっていうともちろんそんなのあるわけない。人それぞれモヤっとしたイメージがきっとあってそれを一言で表現するのにクラウドネイティブってキーワードが使われてるのかなと。ラベリング重要。
 
とはいえ、クラウドネイティブというお題で僕が話をするときに毎回最初に定義をしていて、その定義は以下の通りだ。
  • クラウドで提供されるサービス利用を前提に構築するシステムおよびアプリケーション
  • クラウドの特性を踏まえ、利点を最大限に活かす形で構築されたアプリケーション
  • クラウドで提供されるサービスを利用して効率的にアプリケーションを実装
こうやって見ると1つ目はクラウドネイティブというよりも、この用語が出てくるちょっと前に使われていた(今も使われている?)クラウドファーストの定義に近いかも知れない。うん、これは今後は外そう。で、一番大事なのは2番めのやつだと思っている。
 
まず、最近誤解されている気がするのであえて言っておくとクラウドネイティブそのものはAWSネイティヴとは違う。混同されがちだし、あえて同じコンテキストで話がされていることもあるが本来はそもそものコンテキストが違うのだ。そんなのわかってるよって人は読み飛ばしてくれて構わない。
AWSネイティブはその言葉通りAWSの各サービスをフル活用してアプリケーション開発することでスピードとスケールを手に入れようという話である。一方クラウドネイティブはサービスとして提供されている機能群を有効活用するのというのもあるが、根本的にはクラウドだからこそのスケーラビリティや俊敏性を活かして分散的にシステム構築することでレジリエンシ高くスケーラビリティの高いシステムを作ろうということだと思っている*1*2
広義のクラウドネイティブにはAWSネイティブも含まれるかも知れないが先述のとおり本来はコンテキストレベルの違う話だと思っている。したがってAPI GatewayとLambdaを使ってサーバレスアーキテクチャにすることがクラウドネイティブなのではない。クラウドネイティブの本質はレジリエンシとスケーラビリティをいかに高めるかだと思っていて、そのためのシステムおよびアプリケーションのアーキテクチャの話なのだ。このシステム、アーキテクチャ面での考え方自体はクラウド以前からあったと思うし、考え方そのものはサーバが物理だろうが仮想だろうが関係ない。ましてやそこにサーバがあるかないかなんて大事な話ではない。ただ、それがクラウドの登場により実現に現実味が増したと言えるということだ。ようやく誰でも実現可能になったと言ってもいい。従って旧世代のシステムをそのままの構成で単にクラウド上にマイグレーションすることはクラウドネイティブとは呼びがたい*3
 
加えて、クラウドネイティブなシステム作りをドライブするためには(開発における)ユーザ体験も非常に大事だと思っている。クラウドネイティブだかなんだか知らないけど開発する上ではやっぱり楽なほうがいいよね、と。ローカルで開発してクラウド上にアップするというのが今の多くのスタイルだと思う。もちろん実際にはCI/CDなりのプロセスや自動化なんかが間にはあって、各個人が直接ローカルから都度アップロードしているわけではないと思うが、そういった自動化だとかがアプリ開発者に意識させずに使えるようになると真のクラウドネイティブな気がするな。あとはレジリエンシを高めるためにはモニタリング必須になってくるのでその辺りとかも組み込まれてるといいね。そういう意味ではアプリケーションフレームワークとの密接な関連性、透過的なクラウド利用なんかが求められてくるのかも知れない(適当

サーバレスアーキテクチャ

この言葉自体はそれまでにもあったとは思うけど僕がこのキーワードを使いだしたのはそう、あれはAPI Gatewayがローンチされてからだ。それまで僕は2 Tier Architectureというものをいろんなところで語っていた。2 Tier Architecture自体はここでは触れないが、それ自体はいいと思っているが採用できる局面は限定的と言える。なぜなら2 Tier Architectureを採用した場合、ロジックをクライアント側に持ってくる必要があるからだ。クライアント側にロジックを持ってくると何が問題か。問題の1つとしてマルチプラットフォーム対応があげられる。これが面倒なのだ。各プラットフォームごとにUIに関する部分以外のロジックを実装しなくてはならなくなる。同じ内容を違う言語で、だ。当然、テストコードもそれぞれ必要になるからそれがどれだけ大変なことかは想像に難くない。そこでロジックはサーバサイドに持って行って共通化しよう、そしてその処理はアプリからAPI経由で呼び出そう、となる。そうすると今度はサーバサイドのロジックを書くだけでなくAPIとして公開するためのインフラの構築・運用が必要になってくる。そんなわけでこの辺りから2 Tier Architectureじゃなくなる、というか限界が見えてくる。採用できる局面が限定的としたのはこういう理由からである。ハマれば絶大的な効果があると思うが、そうでない場合は従来どおり3 Tier*4なシステムを、と言っていた。
 
この時点で元来チームにフロントエンド系のエンジニアしかいない場合には絶望的だ。そもそもクライアントにロジックを持っていく判断をしたチームにインフラエンジニアがいるとも思えない。そこで出てくるのがサーバレスアーキテクチャである。AWSで言うと、Amazon API GatewayAWS LambdaおよびDynamoDBとかを組み合わせたものをよく例として挙げているがこれはサーバレスアーキテクチャの一例に過ぎない。別にLambdaを使うからサーバレスだとは思わない。平たく言うとマネージドサービスを使うことで(ある一定範囲までは)楽をするモデルなのだ。これまで自分で構築して運用してきたサーバ群の代わりにサービスとして提供されるマネージドサービスを必要に応じて、必要な分だけ、必要なときに使うのがサーバレスアーキテクチャだと考えている。従ってフルサーバレスなアーキテクチャにできる場合もあれば一部がサーバレスな場合もあるかも知れない(というかそのほうが多いだろう)。あちこちでサーバレスアーキテクチャの考察的なものも見受けられるが、そんな大層なものではなくってぶっちゃけた話、ユーザの視点から見てユーザが自分でお守りをしなければいけないサーバ(インフラ)があるかないかってだけじゃないかな。少なくとも僕はそう思って話をしている。だからインフラの構築・運用にかかるコスト(これには当然それらを担当するエンジニアを抱えるコストも含まれる)や仕様面を比較した上で任せられるなら任せてしまえばいい。マネージドサービスを有効活用することはとてもいいことだと思うがそれに縛られるのは本末顛倒だ。本来あなたがやりたいことは何なのか思い出して欲しい。とはいえ、サーバレスアーキテクチャとはそうではないと思う人がいたらぜひディスカッションしたいです。
 
最後にクラウドネイティブとサーバレスアーキテクチャってタイトルなので両者の関係について言うと、サーバレスアーキテクチャを実現するクラウド側のサービス群はクラウドネイティブに作られてるだろうけどユーザが作るクラウドネイティブなシステム=サーバレスアーキテクチャではないかなっと。
 
あ、一応免責つけておこうw
本ブログは個人としての意見であり所属する企業や団体を代表するものでも見解を示すものでもありません。

*1:従ってLambdaを単に使うことがクラウドネイティブなのではない。Docker使うことがMicroserviceじゃないってのと一緒だ。

*2:以前は「マネージドサービスを上手く使って〜」みたいな話もしていたがそれが故にクラウドネイティブとAWSネイティヴを混同させてしまったのならばそこは謝りたい。

*3:単純移行そのものを否定しているわけではない。クラウド活用のファーストステップとしては現実的な選択肢だ

*4:従来型のWeb/アプリケーションサーバとDBサーバからなるやつ