2014年12月25日木曜日

MSCC 登録 失敗 上手くいかない

MSCC、〆切り近づいてますね!
事務局から文字化けしたりレイアウトが崩れた怪しいメールがばんばん来てます!
きっとあれは闇の妖魔ネロ族がMicrosoft社員をらりぱっぱにする良くない何かを使っているに違いないです。

冗談はともかく、

正直な所、MSCCの公式ページのスクリプトは最近のブラウザでは殆ど動作しませんので、我々勇者の強靱なTechパワーでなんとかせねばなりません。

Chromeをお使いの場合、公式ページにアクセスすると…アドレスバーの右端にシールド、盾のアイコンが表示されているはずです。

MSCC公式ページ
https://microsoft-worldwide-community-champion-ja-jp.azurewebsites.net/Home


アドレスバー右端に表示される盾アイコン


盾アイコン拡大

この盾アイコンをクリックするとポップアップが表示されます。

盾アイコンのクリックで表示されるポップアップ

この「Load unsafe script」をクリックする事で登録に用いているスクリプトが動作するはずです。
どうも上手くいかない、という方は試してみて下さい。

又、IE10の互換モードでも行けるようです。

何が起こっているのか


賢明な勇者の皆様には申すまでも無いことですが(という僕も黒澤さんのTweet見て知ったのですが)…
MSCCのサイトはHTTPS接続なのですが、その中で使っているScriptを他所のHTTPで置いてあるサイトに直リンクしているため、こんなみっともないことになっています。


Load Unsafe Script をクリックした後の画面。
Chrome先生が怒っている。

最後に一応

個人的に、MSCC事務局のでたらめな仕事には呆れているのですが、しかし、
MSCCのアイデア自体は素晴らしいと思っています。

何より開発環境をぼんと3年分渡すのが太っ腹過ぎて素晴らしい。
また、ゲーム仕立てで勇者だなんだと設定を付けるのも最高にイカしたアイデアだと思います。アジア3か国で開催するのも面白い。
皮肉とかでは無く本気でそう思っています。
なので呆れはしつつも応援もするという良く分からない感じになっています。



2014年12月24日水曜日

Uservoice を個人開発で使う(その2)

この記事はUservoice を個人開発で使う(その1)の続きです。

料金プラン


無料から$100/月まで幾つかあります。

Pricing | Uservoice

ここでは無料プランのみ触れます…というか、無料だと出来ない事を挙げたほうが分かり良いですかね。
  • 複数アカウント……サポートメンバーが複数居る場合は必須な所です。無料は一人だけ。
  • フォーラムの数……製品の数だけ必要ですね。無料は一つだけ。
  • 画像アップロード……投稿に画像を添付する機能。バグ報告等にはこれあると超便利ですが、無料は無し。
  • ドメインのエイリアス……無料の場合は○○.uservoice.com で固定です。
  • 国際化対応……高いプランだとブラウザの言語に合わせたUIで表示されるようです。無料では管理者の設定した言語で表示されます。
「一人で開発から意見受付まで全部行う個人開発」で「扱う製品(アプリ)が一つだけ」ならば、無料プランでもある程度回せるのではと思います。
PICT8 は無料プランを使っています。

Uservoice での作業フロー


提案は「状態」で管理されます。

状態を変更している様子

Open


  • (No status) ……状態無し状態。手つかず、未読状態です
  • Under review ……提案を受けて実装しようかなどうしようかなと考え中です
  • planned ……リリース○○に実装することを決めました
  • started ……作業を開始しました

Closed


  • Completed ……作業完了しました
  • declined ……提案を受け入れません

メインの状態は「Open」「Closed」二種類だけ。
状態がClosedになるとその提案は「終わり」、コメント追加等はできなくなります。
(このあたりの様子はやはりVSO とは随分違いますね。)

このUservoice のフローを、適宜ご自分の環境の作業手順に合わせて使っていく形になるかと思います。
そのまま使うとして、各状態での作業の例を下に挙げます。

1. No status


投稿された提案が店晒しになっている状態。これが長く続くのはあまり宜しく無い。

2. Under review


提案なら、
  • それが製品像に適しているか
  • 実装可能か
  • 実装する価値があるか
  • 実装するリソース(人手、時間等)があるか
どうかを考える。提案について疑問があるならコメントで聞いてみる。実装するなら、この先どのバージョンで実装可能か考える。

バグ報告なら、
再現を試みる。出来なければユーザーに詳しい再現方法を聞いてみる。問題の深刻さを評価する。どのバージョンで直すか考える。

どうするか決めました!Version○○でやります!と言えるようになったら、状態をPlanned に変更する。

これ無理です、問題再現できません、この機能は必要無いです等、これ以上作業進めないという決定になったらば、ClosedのCompleted 又は Declined に変更する。

3. Planned


計画に入ってますよ状態。
作業を始めたら、状態をStarted に変更する。

4. Started


作業を開始しました状態。
頑張って処理を行う。
終わったら、Completed 完了 / Declined 差し戻し、拒否 のどちらかに状態を変更して終了。


PICT8 での作業


その1 でも触れましたが、開発でのソース・工程管理にはVisual Studio Online を使っています。

このため、ワークフローとしては
  1. Uservoice 上で 提案・報告アイテムが発生する
  2. (人力で)VSO にタスク・バグとして入力する
  3. (作業中)
  4. 終わったらUservoiceに(人力で)反映

と、人力でUservoice と VSO を同期させています。
Uservoice で発生した提案をそのままVSO のBacklog Itemとして転送する機能もありますが、それはそれで管理が大変そうなので使っていません。
現状の量だと人力転送で充分な感じです。

何が嬉しいのか


以上の作業、メモやExcel でも別にいいんじゃん?と思われるかもしれません。
が、一発ネタ(ごみ出しカレンダーのような)ならともかく、ある程度の機能を持ったアプリケーション開発を徒手空拳で進めるのはとても効率が悪いです。

「効率が悪い」とは何でしょう。メモから今必要な作業を抜きだし、重要度で並べ替え、わからない事があったら発案者に尋ね、終わったらそれを通知し又メモを更新する。現在の作業状態を知るためにメモからExcel に移して自分でグラフを描く。そういう作業を手順を考えながら人力で行うという事です。

僕の手に余る偉そうな事を言いますが、
コードや言語、コンパイラだけがソフトウェア工学という訳では無く、予定通りに作業をこなすための手順、技術もまたこの数十年積み上がってきたソフトウェア工学です。今我々が安価に、又は無料で使えるUservoice や Visual Studio Online のようなソフトウェアはそういった積み上げの先端にある「良く出来た」製品です。

それら製品を使うと、「考えながら人力」では無く、今までの積み上げで分かっている「良く出来た」方法にマウスで突っつくだけで乗っかることができます。夜、家に帰ってきたら管理コンソールを開き、今日やるべき作業を重要度順に確認し、直ぐに作業に移ることが出来ます。
簡単な上に便利、最高じゃないですかと。

長くなってしまった。終わります。

2014年12月21日日曜日

Uservoice を個人開発で使う(その1)


2014年12月にリリースしたストアアプリ PICT8 では、ユーザー(と開発者、自分)からの変更提案・バグ報告処理にUservoice を使用しています。

Uservoice
http://www.uservoice.com

ベータテストから数か月程使用していて、これは便利なものだなと。使ってみるのもいいんじゃないすかね?という意図で書いたのがこの記事です。
(別にUservoiceから何か貰ってる訳では無いです。頂けるのなら歓迎ですが)


PICT8で使っているUservoice
http://ddlg.uservoice.com

Uservoice とは?

Uservoice で何ができるのか、ユーザー・開発者それぞれの目線で簡単にまとめてみると、

ユーザーは、

  1. 自分の提案・報告を投稿することができる
  2. 他ユーザーの提案・報告にコメントで意見を付けることができる
  3. 他ユーザーの提案・報告に「投票」することができる
  4. 自分の提案・報告の状態が更新されると、通知を受け取ることができる


開発者は、

  1. ユーザーの提案・報告を受けることができる
  2. 提案・報告にコメントで回答や意見を付けることができる
  3. 提案・報告の状態を管理コンソールでトラックすることができる
  4. 提案・報告の処理が終わったらその提案を閉じることができる


…もの凄くざっくり言うと、提案・報告毎にスレを立てていき、解決したらスレを閉じる掲示板的な(ざっくりすぎ)。

もちろん掲示板とは違う所もあります。
幾つか例を挙げると、

ユーザーの3「他ユーザーの提案・報告に「投票」することができる」

登録された提案・報告には「投票」ボタンと、現在の獲得票数表示がついています。「この機能は俺も欲しい!」「このバグとっとと直せや!」と同意したユーザーはこのボタンで投票すると。

青いボタンを押すと投票できます。

なお、ユーザーには10票の投票権があります。一つの提案・報告に対し手持ちの全票をぶっ込んで欲しい気持ちを表すことも可能です。しかし、手持ちが0票になると投票・新たな提案はできません。提案・報告が解決した又は差し戻しになりClosed、終了すると、投じた票(権利)はユーザーに戻ってくるという仕組みです。

ユーザーが投票ボタンを押している様子(イメージ)

もちろん、機能を実装する・しない、次のバージョンにこのバグを直す・直さない、最後はアプリの責任者である所の開発者の判断ですが、どんな機能が欲されているかを知るのは大変価値のある所だろうと思います。

(個人開発ですし、誰も気にしてないけど自分は大事だと信じる所に熱量を怒涛のように注ぐ喜びというのもありますけど、今回それは別の話として)

ユーザーの1「ユーザーの提案・報告を受けることができる」


ユーザーに投稿してもらう場合、ユーザーはメールアドレスを使ってアカウントを作る必要があります。匿名掲示板に慣れた我ら日本人にはちょっとここは敷居がありますね。
ただ、Moderatedな運営をするには必要な所だろうとも思います。
ちょっと困った人についてはBanする機能もあります。「自由な掲示板」を運営する訳では無いという所です。また、ユーザーの4にあるように、ユーザーの提案にコメントが付く・状態が変わる等更新がある・管理者がユーザーに聞きたいことがある・等でその都度ユーザーに通知メールが飛ぶ仕組みです。

開発者の3「提案・報告の状態を管理コンソールでトラックすることができる」


開発者は、管理コンソールで各提案・報告がどう処理されているかを確認することができます。
各アイテムの状態変更履歴、コメント等に加え、最近の提案の処理数、処理に掛かった時間、それらから導かれるユーザー満足度などの統計情報を表示することが可能です。

Uservoice 管理画面



バグトラッキングシステムとは何が違うのか


BugzillaやCMVC、Team Foundation Server、Visual Studio Online 等、バグトラッキングシステムを個人開発でお使いの方も多いと思います。

今までのUservoice の説明を見ると、それは結局バグトラッキングシステムを外に出しているだけなのでは? 逆に、バグトラッキングシステムの代わりにUservoice を使えるのでは?とお考えの方も居るかもしれません。

しかし、所謂バグトラッキングシステムとUservoice は似ているけど根本的にかなり違うものだなー、というのがこの数か月使ってみての感想です。

Uservoice には、バグトラッキングシステムには当然あるSeverityの設定や、提案・報告者によるReject(差し戻し)等はありません。ソースコードの変更とItemを紐づける機能も無いです。

Uservoiceの管理コンソールを見ると良く分かるのですが、Uservoiceは出自(というか現在もですが)が所謂サポートデスクシステムです。

本稿では説明していませんが、Uservoice ではユーザーからのメールでの問い合わせに対してタスクを作成し、やり取り・履歴を残す機能も使う事ができます(サポート用のメールアドレスが付与されます。PICT8 にもあるのですが特に使ってはいません)。
また、複数のメール受付担当者のパフォーマンス…メール受信から応答・クローズまでに掛かった時間の統計を取るという機能もあります。サポート「の」管理ですね。

本稿で説明しているユーザーからの提案・報告の収集とそれらへの回答もまた、サポート業務から派生したものです。この仕組みを使い、多数のユーザーから意見を集め、ディスカッションを行い、製品に反映しよう、その様子をユーザーから見えるようにしよう、というのが、今各種アプリで使われているUservoiceの使われ方だと私は理解しています。


個人開発でUservoice を使う意義


Twitterや掲示板等で「ここは○○だったらいいのにー」と提案や意見を頂く事が多いですが(有難うございます)、その場での個人的な記憶+メモで管理していると、

  • 出来上がるまでユーザーの目に触れることが無い
  • それを伝えたユーザー以外には何が起こっているのか良く分からない
  • 忘れがち

…と、設計・コーディング側はVSO 等でかなり管理出来ているのに比べると偉いざっくりだなぁという所がありました。
こうもう少し、固められる所はフローとして固め、流れ作業でこなしていくことは出来ないだろうかと。Uservoiceは丁度そこを埋めてくれるシステムだと思います。

上の方では長々色々書いていますが、一度使ってみれば実のところWebベースの易しいシステムです。記憶+メモより確実に手間は減り、使いやすさは上です。
突っついていくだけで提案が見やすい形で管理できるのは、時間もリソースも足りていない個人の開発には中々いいのではないかと考えています。


※※※※※


それと、ここまで書いてきたものを眺めて…これも書いておかなくては、という事が一つあって、

個人でアプリを継続して作り、幾ばくかの収益を上げていこう…というMotivationがあった場合、一つのアプリにこういうリソースを割いてメンテしていくというのはそもそも的外れではないか、という考え方もあると思います。一つ終わったらさっさと次に移るべきでは?と。

このあたり、正直自分でも答えは出ていない部分です。
今回の例で言えば、PICT8 はそこそこ使ってもらえるだろうという見込み(希望とも言う)があり、売り切りでもあるのでユーザーからの提案・報告に対して応えていける準備が要るだろうという動機がありました。
とはいっても、実際は全然ダメでした、ユーザー数も低調でした…となると、さっさと風呂敷を畳んで次のタスクに移る事も大事だろうと考えます。本稿の趣旨とは違う話になってしまいますが。

長くなってしまった。
この記事は Uservoice を個人開発で使う(その2) に続きます。

2014年12月18日木曜日

PICT8 を公開しました


PICT8 画像ビュアー + PDF/Zip リーダー

画像ビュアー + PDF/Zip リーダー 「PICT8」を公開しました。
Windows 8.1 / 8.1 RT で動作する ストアアプリです。
Windows ストア で試用・お買い求め頂けます。

Windows ストア からダウンロード

PICT8 の特徴

軽快な画像ファイル閲覧

  • 素早い画像サムネイル表示と、左右スワイプでの画像切り替え。
  • 先読みキャッシュと多段階デコードで軽快な画像ブラウズを行うことができます。
  • 既定ではピクチャ ライブラリが閲覧可能で、任意(ローカル フォルダ、OneDrive、ネットワークドライブ、ホームネットワーク…)のフォルダを追加できます。
  • アニメーションGIFを表示できます。




PDF/Zip 閲覧での片手操作を追究したコマンダー

「片手フリーな状態で本を読みたい」これはPICT8 開発の最大の理由でもあります。手の大きさ・タブレットのサイズにも寄る所は大きいのですが、片手でタブを掴んだまま指一本で操作するためのコマンダーを搭載しています。

コマンダーを親指で操作している様子
タブレットは8.9インチのものです

コマンダーは、ページ送り・戻し、注目点移動/スクロール、次の本・前の本へ移動…を小さくまとめたものです。タブレットを片手で掴んだ状態で、親指・人差し指等で操作が可能です。画面の何処にでも置くことができ、またサイズ・角度もタッチで自由に変えられます。
また、マウス操作でもフローティングツールバーのように便利にお使い頂けます。



他のストアアプリからも使えます

Windows 8.1 のストアアプリで画像を開く場合、普通はOS標準のファイル ピッカーを使うのですが…

OS標準のファイル ピッカー
  • ファイル名が既定で表示されない
  • 画像サイズ・撮影日等がわからない
  • サムネイルが小さすぎて何が映ってるのかわからない


等、不満の多い所です。PICT8 をインストールすると、画像を開くすべてのストア アプリで、PICT8 のUIを使って画像を選択することが出来るようになります。


PICT8 のファイル ピッカー

  • ファイル名表示
  • 撮影日・カメラメーカー・画像の縦横サイズ・ファイルサイズ等のプロパティ表示
  • 画像に位置情報が含まれる場合、住所に変換して表示
  • 画像のプレビュー・拡大表示

動作サンプル動画



デモに使っているのは Win8.1 Tablet 「ONDA V891w 」です。
スペックは Intel Atom Z3735F / メモリ 2GB / 液晶 1920x1080, 8.9インチ。
約2万円の低価格モデルですが。こんな感じでぬるりと動きます。



※※※※※



4月から書き始めたこのアプリ、うっかり12月まで掛かってしまいました。
が、画像ビュアー・自炊本リーダーはこういう動きをして欲しい、と個人的に思っていた部分…例えば、

スワイプでもキーボードの矢印でもぬるぬる動いてほしい・サムネイルも同時に表示したい・サムネページ→画像ページ移動とかかったるくてやってらんない・NASもOneDriveもHomeGroupも全部表示したい・最低でもファイル名とEXIF情報は表示してほしい・画像はウィンドウぎりぎり一杯まで拡大がデフォであってほしい・アニメGIFも再生してほしい・画像掲示板に貼る用にコピペも必須・PDF/Zipも読みたい・本棚に登録とか面倒くさいからフォルダ構造をそのままアプリ上で扱いたい・ラノベの挿絵は自動で隠し隊・自炊でNASに溜めてきた数十GBのそういう漫画を指一本で布団の中で読みたい・片手で読みたい・Win8にはFilePickerContractの仕掛けがあるのだから上全部を他のアプリからも使いたい・...

という点は大体全部入れたつもりでいます(唯一、検索だけは入れられなかった…これは今後頑張ります)。
ダウンロード・お試しの上、ご購入頂ければ幸いです。

また、ご意見ご要望等ございましたらUservoiceページに投稿して頂けると助かります。
宜しくお願い致します。

DDLG UserVoice
https://ddlg.uservoice.com/

2014年12月7日日曜日

PICT8 Preview 5

( PICT8 は 2014年12月にリリースされました。Windows ストア からダウンロードできます。)

作成中の画像ビューア+PDF/Zipリーダ PICT8、UserVoice で頂いた報告と、以前からの積み残しだったTask・Bug直しを加えたPreview 5 を作成しました。

Preview 5 の変更で大き目の部分は、

  • 171 Commander Windowモードで起動時のRestoreが変
  • 173 gv SortOrderがうごうごする件

 あたりです。
171はまだTestが甘い&TabletでCommanderを拡大縮小させると怪しいところがあります。

173は…OneDriveのフォルダを追加し、DateOrderで表示させた際に顕著だったのですが、表示中に下のThumbnail Gridで並べ替えが発生してしまうという問題でした。
この修正で明らかになった所として…
DateOrderを使えるのはライブラリまたはホームグループ内のフォルダのみ
という制限があります。
WinRTのStorageService上でCommonQueryを使っている以上これはちょっとどうにもならないのですが、OneDriveのフォルダはライブラリに追加できますので・・・DateOrderを使いたい場合はフォルダをライブラリに追加してください、という事になります。

逆に、(OneDriveでは無い)ただのネットワークドライブはライブラリへの追加ができないため、ここはごめんなさいと言うしかないです。名前順のみの表示になります。


・・・・・・・・・


お気軽にDLしてちょいと試して頂ければと。
何かありましたらUserVoice に書いて頂けると助かります。

DDLG Uservoice
https://ddlg.uservoice.com/


・・・・・・・・・


PICT8 Preview 5

Download

http://1drv.ms/1BpUACB

Test period: Until Dec 22,2014


How to install: Refer preview3 page

Changes from Preview 4

ID Work Item Type Title State Closed Date
171 Bug Commander Windowモードで起動時のRestoreが変 Done 2014/12/07 18:01
177 Task AppBar gvPanelからのファイル削除メッセージ Done 2014/12/07 17:58
175 Task Commander位置情報 Done 2014/12/07 17:58
170 Task gvGrid Copy/Move Panel Done 2014/12/07 17:58
169 Task gvGrid サムネイル選択時の動作 Done 2014/12/07 17:58
166 Task gvのMultiselect、AppBarとのリンク整理 Done 2014/12/07 17:58
157 Task AppBar 整理 Done 2014/12/07 17:58
145 Task キオスクモード Done 2014/12/05 0:37
173 Bug gv SortOrderがうごうごする件 Done 2014/12/03 23:02

Working

ID Work Item Type Title State Tags Created Date
126 Task Wait表示 In Progress 2014/09/09 23:43

Open

ID Work Item Type Title State Created Date
131 Bug PageThumb辺り手直し New 2014/10/01 1:31
155 Task Tileに画像貼り付けが欲しい To Do 2014/11/17 0:07
156 Task Commander ArchiveOpenで透明度を数秒下げて場所を見せる To Do 2014/11/17 23:10
167 Bug AnimatedGif、たまに画像クリックで変な状態になる Approved 2014/11/27 22:47

2014年11月30日日曜日

PICT8 Preview 4

( PICT8 は 2014年12月にリリースされました。Windows ストア からダウンロードできます。)

作成中の画像ビューア+PDF/Zipリーダ PICT8、先週にPreview 3 ベータテストのお願いをした所、数人の親切な勇者の皆様から不具合報告や提案を頂く事ができました。
ありがとうございます。

UserVoice で頂いた報告と、以前からの積み残しだったTask・Bug直しを加えたPreview 4 を作成しました。

お気軽にDLしてちょいと試して頂ければと。
Preview 4はアニメGIFも他のJpeg画像のようにズーム等が出来るようになっています。
アニメGIF見るのに便利な感じになってきました。

この調子で週一くらいで出していけたらなぁと(個人的には、一人作業でも何も考えずに手動かしてればアプリが作れるワークフローの確立が最近の目標です)。


・・・・・・・・・


OpenとWorkingを全部倒す…のは無理なので、製品としてOkな所まで押し込んでいく闇の妖魔ネロ族との戦いは暫く続きます。ルミエール姫を救うその日は未だ遠い。

※ 今下のListを見ていて気づいたのですが…Preview4、FilePickerContract動作時のAnimatedGIFの表示が変になっています。直し忘れた。

PICT8 Preview 4

Download

Test period: Until Dec 8,2014
How to install: Refer preview3 page

Changes from Preview 3
ID Work Item Type Title State Created Date Closed Date
161 Task サムネイルとフォルダの判別が難しい Done 2014/11/24 13:11 2014/11/30 19:03
172 Task 共有サポート Done 2014/11/30 16:24 2014/11/30 19:03
163 Bug AnimeGIFのClipboardCopy、色が変 Done 2014/11/24 13:53 2014/11/30 16:25
168 Task Commander 可動領域の視覚化 Done 2014/11/30 12:05 2014/11/30 13:28
152 Bug ApplicationInsights 起動時に死ぬ Done 2014/11/16 16:29 2014/11/27 22:46
159 Bug gifアニメ表示中にサムネイルon/offが切り替えられない? Done 2014/11/24 8:50 2014/11/27 22:43
160 Task ページ切り替えのアニメーションOnOffが欲しい Done 2014/11/24 13:11 2014/11/27 22:42
164 Bug AnimeGif、Zoomボタン、CyclicZoomボタンが効かない Done 2014/11/24 13:55 2014/11/27 22:41
165 Bug AnimatedGIF, 切り替えが汚い Done 2014/11/24 17:22 2014/11/27 22:40
158 Task Commander hold to moveで可動範囲内に移動 Done 2014/11/18 17:31 2014/11/21 20:20
153 Task Commander CyclicZoom Done 2014/11/17 0:03 2014/11/17 23:15

Working
ID Work Item Type Title State
126 Task Wait表示 In Progress
145 Task キオスクモード In Progress
149 Bug Commander 位置保存がおかしい Committed

Open
ID Work Item Type Title State
131 Bug PageThumb辺り手直し New
155 Task Tileに画像貼り付けが欲しい To Do
156 Task Commander ArchiveOpenで透明度を数秒下げて場所を見せる To Do
157 Task AppBar 整理 To Do
166 Task gvのMultiselect、AppBarとのリンク整理 To Do
167 Bug AnimatedGif、たまに画像クリックで変な状態になる New
169 Task gvGrid サムネイル選択時の動作 To Do
170 Task gvGrid サムネイル動作 To Do
171 Bug Commander Windowモードで起動時のRestoreが変 New