denasuメール宛のSPAMが増えてきた。前まで使っていたHi-HOのSPAMに追いついてきた感じ。なんだけど,どうも質が違う。Hi-HOのSPAMはほぼ日本語メールなのに対し,denasuはほぼ英語メール。Hi-HOが英語メールをはじいているのか,denasuがグローバルになってきた証拠なのか,どっちだろう。
ブログ更新日をトップページに載せた。やっぱりトップページを見れば全更新日が見えるようになってる方が便利。WordPressのRSSフィードをMagpieRSSで取得して,結果をSSIで表示した。一箇所,MagpieRSSでsplitを使っている部分があり,PHPの新バージョンでは警告になってしまうところがあって修正した。Cacheが作成された後は警告が出ないので,最初に表示されたところで無視してリリースしてしまうと,最初の一人だけ警告が表示されるような微妙なバグになるところだった。
Deprecated: Function split() is deprecated in hoge/rss_parse.inc on line 208
MagpieRSS 0.61の該当箇所を変えて対応したが,MagpieRSSはGPLなので,修正箇所をここに載せておこう。もちろん要望があれば送付します。
修正前
list($ns, $el) = split( ':', $element, 2);
修正後
list($ns, $el) = preg_split( '/:/', $element, 2);
家に戻ってきたのでE-PUBリーダー実装を再開。横書きの本はいいとして,縦書きの本を考えると文字一つが一個のオブジェクトになる。そういえばFlyweightパターンってあったよね,と調べたけど同じオブジェクトじゃないから適用できないか。普通に作るしかないか。
現在開いているページに合った年月を,右にある「アーカイブ」から選択できるように修正した。これでWordPressでやりたかったことは全部完了。
ちなみにうちのブログの場合,Function.phpに以下を記載するとWordPressの月別アーカイブで,今開いているページの年月を選択できる。URLに年月を入れていてウィジェットから選択式のアーカイブ表示にしている前提。
function archives_link_filter($link_html) { if(preg_match( sprintf("@\/%04d\/%02d@", get_query_var('year'), get_query_var('monthnum')), $link_html) == 1) { $link_html = preg_replace('/<option /', '<option selected="selected"', $link_html); } return $link_html; } add_filter('get_archives_link', 'archives_link_filter');
どうせここまでやったのなら,ということでソースコードを綺麗に載せるところもやってみた。つまりソースコードを載せるときに行番号付けたりキーワードに色付けたりってやつですね。以前別のところでやったときは,CSSとHTML変換を駆使して自力で作ったが,今回はオープンソースの力を借りる。
有名どころだとSyntax Highlighterというのがあって,よく見かける。このブログにも入れてみたらデザイン的によく合うのでこれでいいかな。WordPressプラグインもあるらしいのだが,あまり密結合にすると乗り換えにめんどうなのでJavaScript単体で入れた。
Syntax Highlighterでは,JavaScriptとCSSを読み込んだ上で,ソースコードを以下のようにpreで囲ってclassを指定する。シンプル。そして今までもpreで囲むようにはしていたので今回は簡単に移行できた。
<pre class="brush:csharp">
以下,サンプルコード。
namespace com.denasu.AnalogBookReader { ////// 情報ダイアログ /// public sealed partial class AboutDialog : SettingsFlyout { ////// コンストラクタ /// public AboutDialog() { this.InitializeComponent(); var version = Package.Current.Id.Version; _appname.Text = string.Format("{0} {1}.{2}.{3}.{4}", App.Current.Resources["AppName"].ToString(), version.Major, version.Minor, version.Build, version.Revision); } } }
せっかくブログシステムを入れたので過去のエントリをカテゴリに分けてみた。ついでに検索したときに無題ばっかりで分からないのでタイトルも付ける。1000エントリ以上あるので数日がかりだったけどいろいろ思い出すこともできた。
そういえば自宅ではないのでSurfaceで作業しているけど,Surface3は快適。開発しようとするとマルチディスプレイが欲しくなるけど,それ以外は普通のノートPCと同じ感じ。キーボードに関しては,Surface3で机から浮かせることができるようになって衝撃が吸収されるのか,手は痛くならなくなった。でもやっぱり微妙にミスタイプが多くなる。何かが足りなくてすごく惜しい感じ。
Pajyarouさんの家に行ったので,Flash 制作日記もブログ化してきた。RSSにも対応している。
WordPressは日本語と英語が混合してるのがちょっと分かりづらいけど,それなりに使いやすい。ちょっと前はファイルを手で4~6ファイル更新してSSH+FTPでアップロードしていたのだが,これならどこでも簡単に更新できる。
PajyarouさんにSurface Pro2を渡してきたので,Flashゲーム制作も捗ることでしょう。
長い間日記という形で更新してきたけど,いい加減時代遅れってことで,ブログ的な機能を入れてみた。
- SNSとの連携をサポート
- コメントと返信機能をサポート
- RSSでの通知をサポート
- トラックバックをサポート
トラックバックとか,使ったことないし試してもいないので,うまく動くかは不明。WordPressを使ったのだが,今までの日記からスムーズに移行するためにいろいろ大変だった。
- 日本語と英語の日記があるため,qTranslatorで多言語化
- Denasu全体とデザインを合わせるためテーマを自作
- SEO対策に,今までの日記URLをブログの月間アーカイブに転送
- 15年間の日記をWordPress XMLに変換し,WordPress Importerでインポート
- 画像まではインポートできなかったので手でインポート
ついでなので,過去に遡ってタイトル付けたりカテゴリ分類したりしている。まあ1000エントリ以上あるのでこれはおいおいやっていこう。
あとは今週中にFlash制作日記の方もブログに移行する予定。
ブログシステムを立ち上げるためにWordPressを勉強中。これからブログを始めるならWordPressそのままでレンタルサーバに入れればいいんだけど、15年分の日記を移行してデザインも合わせようとすると大変。
まずは日本語と英語のページを作るためにqTranslateを入れて2種類作成できるようにした。また、デザインを合わせるためにPHPのDefaultテンプレートを改造。LinuxにいちいちアップロードはめんどいのでWindowsで環境を作ることに。あと、RSS対応するためにアイコンが欲しいな、と思ったら本当の公式アイコンていうのはないのか。FeedIconsというところが、標準化を目指してフリーアイコンを配布していたのでそれを使うことに。一応ガイドライン読んだけど、何も制限はないんだよね。
Surface Pro 3を買ってきた。夏休みで持ち歩くために画面が大きいのが欲しかったので。しばらく使ってみて、軽さと画面の大きさは実感できた。Surface Pro 2は重かったけど、感覚的にはSurface RTの時代に戻ったくらいの軽さ。画面は立って使う分にはでかいけど、持ち歩いて落ち着いて使う分にはOK。解像度に関しては今使っている22インチ液晶より高い2160×1440なので、普通に開発できそう。
ただ、キーボードが使いづらいのは相変わらず。キーストロークは、最近Macとかノートも浅いからそれと比べてもそんなに致命的じゃないはずなんだけど、打っていてキーを探してしまう。キーとキーの間の隙間がほとんどないのが原因なのかなあ。
しばらく前に、TrueCryptが開発をやめたというのがあって、今までTrueCryptを使ってたのをどうしようかと思っていた。で、Bitlockerを使ってみたが、数年前に比べてまあまあ使いやすくなっていた。ドライブをパスワードで暗号化して、そのディスクを別のPCに持っていってもそのまま読めるのか。私の使い方だったらTrueCryptを完全に置き換えられそうだ。
でも、なんで開発やめたんですかね。いろいろ噂は出ているけど確定的な話は出てませんよね。
Analog Book Reader。E-PUBの実装で詰まっている。詰まっていると時間がもったいなくなって英語の勉強をし始めるので,勉強ははかどるんだけどいつまでも完成しない。
DTPは昔一通り勉強したから知識としてはあるんだけど,実装するとなるとかなり大変。PurentroでMIDIの楽譜化をしたときも基礎的な音楽理論の勉強から初めて1年くらいかかったけどそれに似ている。
Pajyarouさんからdenasu.comにブログシステムを入れてくれとの依頼が。ブログは前調べたけど,自力で立てる場合,何が主流なのか分からなくて保留したんだよね。で今回WordPressって言われたのでその線で調べてみよう。仕事の方でもよく聞くソフトだし,主流なのかな?
Analog Book Reader Ver 1.3公開。自分で使っていて気になった使い勝手を修正。ページのソートについては今までとがらっと変えたので,何か問題があれば報告をお願いします。
そして偶然そのまま峠 その2も公開。これからどんどん更新していく,のかな。
Analog Book Reader Ver 1.3をストア申請した。ここ2ヶ月でたまったUIの改善とバグ修正。E-PUB対応はまだまだ先。
64bitにするのを早く公開したいので,次のバージョンで入れたいものを急いで実装。いつか書いたが,マンガを開くのに必要な機能がまだ全然足りてなくて,まずはファイルのソートとフォルダ分けの対応をした。今まではzipに含まれる順番で表示していたが,ファイル名の連番に対応したり,フォルダをまたいで見開きになってしまうのを修正したり。結構作り込んだのでうまいこと表示されるようになったはず。
Analog Book Readerを作ったときに一番最初に考えたのが,本を快適に読むためならPCを限界まで使ってしまえというものだった。具体的には,本を開いたら全ページをレンダリングしてメモリに持っておけば,高速にパラパラめくれるというもの。なんだけど,今のバージョンでは,数千ページの本を開くとメモリ不足になるので理想に合っていない。
この問題は最初のバージョンからずっと調べていたのだが,ようやく原因が分かった。Winrtのビルド時にCPUをAnyCPUでビルドしているからなのか。AnyCPUだと基本的に32bitアプリになるので,結局1GBくらいでOut of Memoryになる。ARM/x86/x64でバイナリを分けることで,物理メモリの限界まで使えるようになった。64bit OS限定だが,4000ページくらいの本でも開けて,ロードが終わればストレスなく4000ページをパラパラできる。画像のサイズと拡大率によるが,使用メモリは3GBくらい。
Surface Pro3が発売されたので見に行ってきた。大きさと重さはちょっと触った程度では実感できなかった。ペンは重くなったと思ったら電池内蔵になったのか。タイプカバー(キーボード)は今まで通り平坦に使う形態に加えて,接続部を曲げて角度を付けられるようになっていたのはいいかも。使いづらかったタッチパッドも,左右のボタンがなくなって広くなったので使いやすそう。Surface Pro2から買い換えるかというと,即買おうという感じにはなってないけど。
Amazon電子書籍の定額サービス。60万冊が月1000円くらいで読み放題か。既にIT関連の本はSafari Books Onlineで定額で読んでいるが,こちらは月4000円くらい。IT関連の書籍は高いから仕方ないのか。小説とかで月4000円は払わないだろうし。いずれにしても,日本の本はないんだろうな。
はっぱさんと電器屋さんめぐりへ。はっぱさんの買い物をすませて私は体組成計を購入。OmronのカラダスキャンHBF-371だったんだけど,液晶が欠けるようになったので買い換え。5年くらい使っているから壊れるのは仕方ないのかも知れないけど,7セグメント部分が真っ先に壊れるというのもどうなんだろう,ってことでメーカーを変えてPanasonicにしてみた。軽い。
ヨドバで3Dプリンタの展示やってた。スピードは遅く感じたが,グリグリと積み上がっていくのは面白い。
某所でXamarinを知った。.NETのマルチプラットフォーム実装のMonoというのがあるのは知っていたが,Monoをベースにした製品とのこと。WinRTのアプリを作るとAndroidとiOSでも動くようになるというのでAnalog Book ReaderのAndroid版とiOS版を作れるかとおもったけど,WinRTのコアの部分のみ対応で,それ以外はC#で各プラットフォームのUIを作り込むってことなのか。それだったらJava/Objecitve-Cで全部作った方がいいかな。
先週はちょっと違うことをやっていてAnalog Book Readerはすすんでいない。今までのところをとりあえずバージョンアップしてしまった方がいいんだけど,テストする時間がないんだよね。で,それとは別に,今のdenasu.comで通信対戦サーバ作ったらどのくらいのトラフィックになるのかを試算中。
そういえばこの日記ってBlogという概念ができる前に始めているので,結構古いシステムになっている。例えばRSSでの更新通知ってあったら嬉しいのだろうか。毎回見てくれている人がいるのかよく分からないけど,毎日更新するわけじゃないので,定期的にチェックしているとしたらめんどくさいですよねえ。Blogシステムに乗り換えてもいいんだけど,そのためにメインの開発を止めるのもね。
PC WorldのThreshold(Windows 9)の記事。次期Windowsはタブレットではスタート画面,デスクトップではタイル付きスタートメニューがデフォルトになる,ってありますね。モダンアプリはまだ生き残ると思っていいのかな。個人的にはモダンアプリがウィンドウモードで動くようになると嬉しいんだけど。
まあ,今のUIだと,デスクトップで全画面のモダンアプリは使いにくい。タブレットだとウィンドウアプリは使い物にならずモダンアプリを使うことになって,そっちに慣れると逆にモダンアプリなかなかいいじゃん,てなるんだけど,そこまでいけるのは,開発者みたいに新しい技術を受け入れられるユーザだけ。普通の人はOS使いたいんじゃなくてその上で何かをしたいんだから,新しい技術を否定するのも無理はない。
どっちにしろ開発者としては常に新しい技術をマスターするだけだからOSのベースが変わっても別にいいんだけど。WPFというかC#+XAMLの思想は好きなので,せめてもう少し残しておいてもらえると嬉しい。
EPUBリーダーのためにDTPのいい本ないかな、と本屋へ。行ったのだが,SharePointのいい本を見つけて購入。最近職場でSharePointの話がよく出るので本を探していたのだが,Safari Booksで見てもなかなかいいのがない。使い方とか導入方法とかはあるんだけど,考え方が書いている書籍がない。で購入したのは「SharePoint成功の道標」。日本人が書いている教科書的な本はだいたい読者のことを考えてなくて面白くないのだが,この本はつい先が気になって読み進めてしまう感じ。2章(全体の1/3)まで読んだところだけど,SharePointの画面はほとんど出てこなくてひたすら思想と実例ばっかりでよく分かる。
何か急に「タイピング」というキーワードでアクセスしに来る人が増えた。と思って検索してみたら,Yahoo!で「タイピング」3番目だった。「物理シミュレータ」もいつの間にか2番目になっていた。ページランクが高くなったわけでもないのに何でだろう。「World Tester」はVectorの科学カテゴリトップだったり,紹介サイトからのリンク元からも結構アクセスがあって地味にページビューがある。
紹介するのが遅れたけど,タイピングサミットでも「Weather Typing」大会は今でも開かれていてとてもありがたい。
という感じで,新しく公開したソフトに注力している間も以前の作品は使われていて,メンテしたり機能追加したりしたいのだが,時間が足りない。何か面白いことを思いつけばやるかも,くらいになっている。
前に掲示板で「1ページ表示・2ページ表示の切替が欲しい」という要望があった。でちょっと前に解決策が思いついていたので実装してみた。「1ページずらす」メニューを作り,実行するとうまいことずらしてくれる。つまり,前のページを見ていって,タイトルまでいってしまったらタイトルが1ページ表示になるし,途中で横長のページがあればその次のページを独立させる。縦横混在の本で試してみたらまあまあうまくいったので,次のバージョンで入れる予定。
ついでに。このアプリの方針として,できるだけユーザには考えさせずに,自動的に最適な状態にしてあげるというのがある。ユーザが1ページずつ指定するとか,本ごとにあれこれ設定するとか,そういうのはやりたくない。設定画面をあえて用意してないのはそういう意味だったりもする。で,この要望をこの方針で再度考えた結果が「1ページずらす」メニュー。ちなみに機能はできるだけ少なくしたいので,「タイトルページあり/なし」機能は抹消する。「1ページずらす」があればいらないので。
会社で特許文献を読んでいてふと思ったんだけど,マルチモニタで本を読みたい。Analog Book Readerの最新版で画像をピン留めする機能を付けたんだけど,あれって,文書と図が別々のページにある,まさに特許文献みたいな本を想定している。でも,やっぱり紙に印刷して,綴じない状態で4ページくらい広げて読みたくなった。特許文献も,2台のPC使ってようやく読みやすくなった。ピン留め機能でもいいんだけどやっぱり画面が狭い。マルチモニタで4ページ表示,しかも2ページずつ別々の場所を表示できれば嬉しいのだが,Windows Storeで複数画面に大きく表示なんてできないし,どうにかできないかな。
Analog Book Reader公開から今日で3ヶ月が経過する。このアプリを公開するときに,ダウンロード数の目安を知りたくて検索したらYOMON8.NETさんの「Windowsストアアプリについて3ヵ月間のダウンロード数などを振り返ってみる」というページがあった。このページでは,「付箋タイル」というアプリの3ヶ月のダウンロード数とダウンロード数を確保する対策を書いてあってとても参考になった。てことで,私も3ヶ月のダウンロード状況を公開してみたい。次の誰かの参考になればってことで。
- データ取得期間
- 2014/3/18~2014/6/14(89日間)
- ストアカテゴリ
- 書籍 – 電子ブックリーダー
- 言語
- 日本語/英語
- ダウンロード数
- 総ダウンロード数:2680
ページビュー:9077
コンバージョンレート:29%
青が日本からのダウンロードで,オレンジが日本以外。公開一週間くらいで新着トップになり,急激にダウンロード数が上がった。書籍の人気トップ(無料)で3位くらいまでいって,一ヶ月くらいで落ち着いた。その後,緩やかにダウンロード数が落ちていって,現在は人気トップ(無料)で10位,カテゴリ全体で50~60位くらいか。
ただ,それは日本のマーケットだけで,日本以外ではまだまだ。そこで,リリース4でストアに載るアイコンを少しきれいにして,紹介文の英語をシンプルにした。その結果かどうか,だんだん日本以外のダウンロードが上がってきているっていう状況。アメリカを始めとしていくつかの国でコメントや星をもらっているのでそれなりに使ってくれている人もいるのかな?
全体的には付箋タイルと似た感じか。コンバージョンレートは29%でも高いと感じていたが,付箋タイルは36%となっているのでこれでも低いのかな? まあWindows 8.1にしか対応してないので,そんなものといえばそんなものかも。
ところで「Average App usage per day」って,単位は何なんだろう。200~400分とか出るんだけど,平均値にしては多すぎるし…。