2016年7月30日土曜日

ポケモンGO 田舎と都会の格差

ポケモンGO。
人気スポットでは、どうなのかと、街中に出かけてみました。

郊外では、ポッポやコラッタばかりでしたが、街中では、ルージュラ、ゼニガメなど、見たことのなかったポケモンをゲットできました。
コイキングは、影は見えても、出会えずにいましたが、何匹もゲットできました。

街中は、ポケストップの数が豊富で、補給に困らず、ポケモンにも、すぐに出会います。。
これでは、田舎との格差が大きすぎます。

今、田舎にいますが、周囲に見えるジムは、1カ所。ポケストップは、2カ所です。
近くのポケモンは、ポッポ、イーブイ、キャタピーの3匹。
「おこう」を試したことがありますが、30分で、4匹程度でした。

この状態なので、歩きながらポケモンをプレイするスタイルが理解できませんでした。
ポケストップまで、歩いて、数百m。
ポケモンも、歩いている間は、ほぼ出会わない状態では、スマートフォンを見ている意味がありません。
静かな環境のため、ポケモンに出会ったら、音で判断できますから、それで十分です。

これが、繁華街では、ポケストップが隣接し、ポケモンも、数歩歩けば見つかるような状態でした。
すぐに、次のアクション(ポケストップの利用、ポケモンのゲット)ができること。
騒がしいため、音では判断しにくいこと。
歩きながらプレイする理由が、よく分かりました。



さて、純粋にゲームを楽しむだけではなく、このゲームの背後にある企業の思惑に関して考えていることがあります。
このあたりは、後日、書いてみます。

2016年7月27日水曜日

ポケモンGO プレイ

人気のポケモンGO。
iPhoneのバッテリーを消費するため、対策として、バッテリーセーバーをチェックしました。
これにより、アプリを起動しつつ、画面を消すことができ、バッテリーの消費を抑えることができます。

しかし、この設定では、画面を表示したとき、何もできず、固まるばかりでした。
ポケストップの集中地域に出かけた時、ひとつ回し、次の場所に行くたびに、アプリを再起動するはめになり、3カ所回っただけで、嫌になり、帰ってきました。
今のところ、iPhone6sでは、バッテリーセーバーは使わない方が良さそうです。

さて、効率的なやり方としては、ポケストップの集中地域を歩き回るのが、一番、良さそうです。
私は、不審者に見られるのを恐れて、やっていませんが(笑)


私なりのポケモンのこつ。

・音楽をOFF。効果音で、ポケモンの発見を知る。
 バイブで知らせるとありますが、私のiPhoneは動きません。
バイブ自体、動いた覚えがないため、何かの設定で無効にしているのだと思いますが、動いたとしても、私は、胸ポケットに入れていますので、音の方がわかりやすいです。
車の交通量の少ない場所でプレイしていることも理由のひとつです。

・たまごのふかの設定は、忘れずに。
 たまごが孵ったら、すぐに、次のたまごをセットします。

・車に乗っているとき、アプリを起動しておく。
 しかし、iPhoneには、絶対に触れない。
アプリを起動するのは、距離を稼ぎ、たまごを孵すためです。車の移動では、普通、距離を稼ぐことはできませんが、通勤ラッシュ時は、有効です。
 iPhoneに触れないのは、「赤信号で停止中だから大丈夫」なんて、甘い考えを持っていると、ついつい操作しそうになると考えるからです。


現在、レベル10。
強いポケモンが見つかるのは良いのですが、ポケモンに逃げられることが多くなりました。
荷物を厳選しないと、荷物がいっぱいで、ポケストップで、アイテムが得られないことがありました。

2016年7月24日日曜日

ポケモントレーナークラブで登録できました

ポケモンgoが配信されたと聞き、すぐに、アプリをダウンロードしたものの、ポケモントレーナークラブが混雑してダウンしていたため、そのままにしていました。
googleアカウントや、海外のサーバーを使えば、すぐにゲームを始められたようですが、そこまでする意欲はなかったので。

今朝、ポケモントレーナークラブを見てみると、新規登録できるようになっていました。
ただし、混雑は続いているようで、スマートフォンで操作した一回目の登録には失敗しました。
手間が掛かるため、パソコンでやり直し、無事に登録できました。
ただし、登録メールが届くまで、5分以上掛かりますから、気長に待ちましょう。

2016年7月23日土曜日

Javaのアップデートで、不審なソフト

Javaのアップデート通知があったため、更新しようとしました。

ウィザードを進めると、Teomaというソフトのインストールチェックが表示されました。
これまでは、amazonだったため、安心してインストールせず(笑)に先に進めましたが、今回は、知らないソフトだったため、一度、キャンセルしました。

Teomaについて調べると、どうも評判が良くないソフトのようだったため、javaの更新システムがハッキングされた可能性を考え、javaのHPから、最新版をダウンロードしました。
最新版をインストールしようとすると、同じく、Teomaのソフトをインストールを選択する画面が表示されました。
困ったことに、最新版の場合、Teomaをインストールしなければ、javaをインストールできないらしく、Teomaのインストールを許可するようにダイアログが表示されました。
怪しい動作だったため、ここでキャンセルしました。


アップデートで、先のソフトのチェック画面が出ないようにする方法がありましたので、それを実行して、更新作業を行いました。

具体的には、
コントロールパネルで、javaの項目を開き、詳細タブで、「Javaのインストールまたは更新時にスポンサーのオファーを表示しない」をチェックしました。
その後、更新を実行して、javaを更新しました。

2016年7月22日金曜日

ポケモンGO 配信開始

ポケモンGOが配信されたと聞き、iPhoneにインストールしました。
しかし、サーバーが混雑のために動いていないため、新規登録できず、プレイはできません。


Windows7のupdateが進まず、何もできない状態だったため、Yahooのニュースを見ていると、ポケモンGOが配信されたとありました。
早速、アップルストアを開き、「ポケモンGO」で検索しましたが、偽物?のソフトしか見つかりませんでした。
「Niantic」で検索して、無事に、アプリを見つけることができ、インストールできました。

アプリ名ではなく、配信元のメーカー名「Niantic」で検索する方が、偽物に出会うこともなく安心です。

「ポケモンGO」の元になった「INGRESS」というゲームに興味を持っていて、気になっていましたが、実際にプレイしたことはありません。
プレイ画面を見て、どうも、よく分からない。そんな印象でした。
今回は、ポケモンをゲットするというわかりやすい内容ですから、始めてみたいと思います。

今月もWindows7の更新が進まない

Windows7の更新が進まないことは、よくあることですが、今月も進みません。

まず、確認に、非常に時間が掛かりました。

その後、ダウンロードが0%から、全く進みません。
再起動しても同じです。

このような場合、とにかく待つしかないので、あきらめています。

2016年7月21日木曜日

Windows10 いつの間にかソフトがインストールされる

Windows10。
不満ではないが不安に感じること。

「いつの間にかソフトがインストールされる」

初心者にとっては、便利なソフトが、自動的に、いつの間にかインストールされているという状態は良いと思います。
しかし、セキュリティを考えると、利用者が許可していないのに、勝手にソフトがインストールされるというのは不安です。

Thinkpadを使っていますが、いつの間にか、lenovoのソフトがインストールされ、サービスとして動いています。
ビデオカード、プリンタドライバなど、自動的に認識してインストールしてくれるのは、楽で良いのですが、悪用されないか心配です。

2016年7月15日金曜日

パケット不足

普段は、ドコモのデータパックSサイズでも十分ですが、今月は、半月で使い切りました。

外出先では、iPhoneのテザリングを利用して、パソコンをインターネットにつないでいます。
この状態で、Windows10の更新が行われてしまいました。
また、アンドロイドのタブレットを持ち出すことがありますが、アンドロイドの更新も重なってしまいました。

これを機会に、Mサイズに変更しようかと思いましたが、変更すると、その月は、2重に加算されるらしく、やめました。
代わりに、格安SIMを購入しようかと考えています。

2016年7月11日月曜日

アンドロイド6.0のChromeのバグ?

Fabric.jsを使っています。
パソコンのChromeや、iPhoneでは、正常に動くのに、アンドロイドのブラウザ(Chrome)でのみ、期待通りに動かずに悩んでいます。
動かないのは、nexus7のandroid6.0。
タブレットのandroid4.4では動きます。

input要素で、画像ファイル、または、カメラの映像を取り込むようにしていますが、カメラの映像のみ表示されません。
データは取り込まれていますから、他のタブを見て、再度、対象のタブに戻してやれば表示されます。
カメラの映像ではなく、画像ファイルの指定では問題なく動作します。

以前の日記

それなら、アプリにしてしまえ!
と、アプリにしましたが、これに苦労しました。
写真の場合、メモリ不足になるのか、WebViewにデータを受け渡す前に、縮小しなければ動きませんでした。
デバッグ時には期待通りに動いたものの、リリース版を作ると、ブラウザと同じように、データはあるのに表示されない状態になりました。

nexus7のChromeでは動かないため、firefoxを試してみると、期待通りに動きました。
Chromeのバグのように思いますが、何か、設定ミスをしているのでしょうか。

2016年7月9日土曜日

ひと文字の大切さを知る

ようやく、今日の仕事が終わりました。
今週は、1文字の有無に気づかずに苦労しました。

"func('" + str + "')" の、「'」。
httpsの、「s」。

この1つの文字を見落としたために、数時間のロス。
ありがちですが、痛かった。

1文字の大切さを知りました。

2016年7月7日木曜日

Androidアプリ 権限に悩む

Androidアプリに挑戦しています。

サイトがあり、それを、そのままアプリにすれば簡単!
と思いましたが、悪戦苦闘しています。

基本的に、WebViewを置いて、サイトを表示すれば良いのですが、デフォルトでは、Javascriptが動きません。
これは、すぐに解決できました。

次に悩んだのが、WebViewでは、カメラの撮影や、ファイルのアップロードができません。
様々な情報を元に、プログラムを組みましたが、今も、できていません。

ひとつ、解決したことは、権限関係です。
カメラでの撮影や、ファイルのアップロードには、権限が必要です。
AndroidManifest.xmlに、権限情報を書き込んだのに、セキュリティエラーが発生し、動きませんでした。

原因は、アプリに権限を与えていなかったこと。
これに気づくのに、相当な時間を費やしました。

考えてみれば、アプリに必要な権限は、アプリに書き込みました。
しかし、それを許可した覚えはありませんでした。


おかげで、Android6.0で、権限関係の仕様が変わったことに気づいたのは良かったです。
経緯としては、仕様が変わったことを知り、許可していないことに気づいたので、順序が逆ですが。

さて、このあたりの最新の情報は、こちら


2016年7月6日水曜日

Fabric.js アンドロイドで、写真が表示されない

Fabric.jsを使っています。
パソコンのChromeや、iPhoneでは、正常に動くのに、アンドロイドのブラウザ(Chrome)でのみ、期待通りに動かずに悩んでいます。

input要素で、画像ファイル、または、カメラの映像を取り込むようにしていますが、カメラの映像のみ表示されません。
データは取り込まれていますから、他のタブを見て、再度、対象のタブに戻してやれば表示されます。
カメラの映像ではなく、画像ファイルの指定では問題なく動作します。

html

<input type="file" id="cb-file" style="display:none;" accept="image/*">

js

var reader = new FileReader();
reader.addEventListener("load", (function (evt) {
  fabric.Image.fromURL(evt.target.result, function (oImg) {
    canvas.add(oImg);
  });
}).bind(f[i]));


nexus7では、先に述べた状態で、AQUOS PHONEでは、メモリ不足エラーとなります。

2016年7月5日火曜日

Fabric.js アンドロイドで、オブジェクトが表示されない

Fabric.jsを使っています。
パソコンのChromeや、iPhoneでは、正常に動くのに、アンドロイドのブラウザ(Chrome)でのみ、期待通りに動かずに悩みました。

var text = new fabric.IText("foo");
canvas.add(text);

と記述しましたが、テキスト(text)が表示されませんでした。
canvas部分に触れると表示されました。
つまり、データは、存在するにもかかわらず、なんらかの理由で、隠れている状態でした。

canvasの再作画のコマンドがあるのかと調べましたが、canvasにそのようなものはなく、Fabric.jsのrenderAllでも表示されませんでした。

setTimeoutを使うと表示されました。
スレッドの問題か、タイミングの問題か、根本原因は分かりませんが、とりあえず、これで解決しました。

setTimeout((function(){
    var text = new fabric.IText("foo");
    canvas.add(text);
  }).bind(this),10);

2016年7月3日日曜日

AndroidのWebViewでは、html,boyに100%を指定すると0になる

先日から悩んでいましたが、解決しました。

AndroidのWebViewで、要素のclientheightの値が0


firefox、chromeなど、ブラウザで見ると問題がないサイトを、AndroidのWebViewで見ると、レイアウトが崩れてしまいました。

原因は、cssに、このような記述をしていたためのようです。
html{
  width: 100vw;
  height: 100vh;
}

body{
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}

WebViewでは、heightの100vhや100%を指定すると、0pxになるようです。
バグではないかと思いますが、私の使い方に問題があるのかも知れません。

この影響で、body内の、divなどに、height:100%と指定すると、高さが0になり、表示されません。

対策として、jsに、次の記述を書きました。

アンドロイドの場合、スタイルの高さをpxで指定する。
var ua = window.navigator.userAgent.toLowerCase();
if (ua.search(/android/) !== -1) {
      var html = document.querySelector("html");
      html.style.height = html.clientHeight + "px";
      var body = document.querySelector("body");
      body.style.height = html.clientHeight + "px";
}

サイト側に改良を加えるという点が、いまひとつのため、もう少し調べます。

アプリのレイアウトにおいて、
WebViewの記述をwrap_contentから、match_parentに変えることで、解決しました。

android:layout_height="match_parent"

jsの記述は不要でした。

結局、バグではなく、私の設定ミスでした。

2016年7月1日金曜日

AndroidのWebViewで、要素のclientheightの値が0

AndroidのWebViewで、要素のclientheightの値が0になり、悩んでいます。

javascriptで、値を取得していますが、firefox、chromeなどでは、有効な値が取得できるのに、AndroidのWebViewだけ、0になります。

この値は、CSS要素のcalcで計算してる値のためと推測して、調査中です。