2014年11月26日水曜日

MSCC : 開発手順書を書いてみた

Microsoft Community Champion, MSCC ではWindows / Windows Phone ストアアプリ・Azure上のサービスを作品として提出できるのですが、それらと一緒に「開発手順書」の提出を行うことになっています。

開発手順書テンプレートはMSCCのページからDownloadできるのですが…どうも意図が良く分からない。IEC62304みたいな本式を書けという話でもないはずです。
「これからこんな手順で開発します」程度なのかなぁと思うのですが。

闇の妖魔ネロ族そして魔王オスクリダを打ち倒す強靱なTechパワーとして開発中のアプリ PICT8 現在ベータテスト中です!)は、実のところ2014年4月から続けて作っているものであり、ちょうどMSCCの期間中に完成しそうな塩梅なので応募したものです。
そこで、11月頭に…「既に完成した体で」がーっと書いてみた開発手順書が以下になります。

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

11月下旬の今まだ出来ていないあたり結構危ないのですが、「既に完成した体で」書いてみると…意外に、作業の見通しが良くなる効果がありました。作業の合間にお勧めです。

(Word文書をそのまま貼り付けているため体裁が所々おかしいのは御容赦下さい。これで丁度5ページです)

--------
Microsoft Worldwide Community Champion 開発手順書

チーム No.
JPAC01066
チーム名
DDLG
参加エリア
(学生・社会人)
社会人
チーム メンバー名
さとう
Windows アプリまたは
Microsoft Azure
の名称
PICT8
作品の概要
画像ビュアー + PDF/Zipブックリーダー
アイデア
1.    開発のポイント
2.    機能

1.       キャッシュと多段階画像デコードによる素早い動作と高品質な画像表示・低メモリ消費を実現するFlipView実装の確立、VirtualizedVectorを用いたFilerUIの実装、Manipulation/Gestureを用いたCommander UIの作成
2.       フォルダ内画像表示、PDF/Zip内画像表示、1P/2P/偶奇のページ切り替え、FilePicker Contractの実装によるプレビュー付きファイル選択機能の他アプリへの提供
商業的な価値
1.    特長
2.    使いみち(シナリオ)

1.       軽快で素早い動作、片手持ちで使いやすいCommander UI、他のアプリからも利用可能
2.       個人ユーザーの画像・自炊本・PDF閲覧、美術館・博物館等でのタブレット端末による画像展示(Assigned Access 環境下での使用を想定した動作モードあり)
開発手順
次頁に示す。
作品の URL





PICT8開発手順

November 11, 2014
さとう (役職 勇者 / 所属チームDDLG)

この文書について


この文書はMSCC規定により、チームDDLGに於いて開発したWindowsストアアプリ「PICT8」の開発手順について説明するものである。手順それぞれの実行結果、アプリケーション仕様・動作等について説明するものでは無いことに留意されたい。

デザイン ポリシーの確認

[Apr - May 2014]
開発を始めるにあたり、これから作成するアプリケーションとは

l  こういうものである
l  こういうものでは無い 

というis/is not Tableを作り、今後の仕様作成・実装に当たって譲れない部分、譲ってもいい部分、無視する部分を明確にする作業を行った。
開発開始当時に作成したis/is not Tableを以下に示す(当時の案であり、現状のアプリ実装状況ではない)。

PICT8とは:
気持ちよく使える画像ビュアー PDF/Zipの本読みもできる 


PICT8 is
Fast and fluid
File BrowseVirtualizedVectorSourceを使用することでPhoto と同等の素早い動作を提供
多段階デコードによる低メモリ使用量とごまかしの無いFlip動作の両立
2画面表示
横持ち用 いつでもページの偶奇・めくり方向を切り替え可能
ファイル名を表示する
現在のMetroUIGuidelineはファイル名表示は必要ないというポリシーであるが、実運用上かなり無理があると感じる。例えばカメラで撮った連版画像を名前で探すといった頻度の高いケースでの対応が困難であり、PICT8ではファイル名表示を既定とする。
PDF/Zip対応

Animation GIF対応
WebViewコントロールを用いる。 futa8で実証済み
片手で全部済む
10インチなら人差し指、8インチなら親指で大体済むUI One handed Commander UI
標準画像Viewer置き換え
を目指す。


PICT8 is NOT
ファイラでは無い
ファイルコピー程度は対応するが基本的にはファイラでは無い。ただファイラとして発展させることは可能なので、別Versionで考える。今回は考えない。
ファイルのDB管理をしない
自前のDBにファイルを登録、サムネイルを記録、的な事は一切行わない。FileSystemのサービスのみを使う。現在のDesktopSearchBindされたFileSystemならば自前DB無しで充分な機能を提供可能である、という自分の考えをPICT8で実証する。また、FileSystem的に無理ならそこは頑張らない。
ただこの場合Zip/Pdf系のArchiveのサムネイルが作れないという問題があるが…今回は我慢。
印刷機能を持たない

画像編集機能を持たない
エフェクト・回転等は全て別アプリにやってもらう。ファイル起動か共有で呼べば充分。
データをローカルに溜めない
ファイルは基本そこにあるのをBroker経由で使う。無理に自分のLocalStorageCopyして使う事はしない。(ただしAnimeGIFや、PDF/Zipの一時ファイル等例外もあり)


環境整備

[Apr 2014]
開発環境にVisual Studio 2013 Express , 言語はC#/XAML, ソース・進捗管理にはVisual Studio Onlineを用いた。

他製品調査

[May 2014]
Windowsストア上で提供されている同種の画像ビュアー・ブックリーダー十数種について試用を行い、以下の点について調査した。

l  この種のアプリケーションの多くが有する機能・また特徴的な機能の確認
l  動作感の確認
l  PICT8との比較

UI案の作成

[May 2014]
大まかな画面構成作成を行った。なおここで行ったのは所謂WhiteFrameな部分の作成であり、UI ElementCosmeticな部分は後日行った。

プロトタイプ作成

[Apr - October 2014]
以下四点が今回の開発でのチョークポイントであり、これらが出来ない・上手く動かなければ開発が頓挫する部分であるため先にCodeを作り技術的なFeasibilityの確認を行った。尚、個人プロジェクトが往々にしてそうであるように、今回もプロトタイプがそのまま以降の実コードとなっている。

l  VirtualizedVectorSourceによるFileList表示
l  FlipViewによる1P/2P表示
l  PDF/ZipHandling
l  FilePickerContractの実装


実装


20144月~11月に実装を行った(まだ終わって無い)。

実装開始後の仕様変更

[October - November 2014]
実装開始後にリリース・または気づいた新API・機能等以下3件について評価を行った。

l  Microsoft Windows OCR - ラノベの挿絵ページ自動判別機能として有効であることが確認できたが、API自体がPreview版のため製品に含めるかどうかは未定
l  Assigned Access – 同モードをより有効に使うためのPICT8キオスクモードを実装した
l  .NET Native - 現在のCodeでは却って遅くなる部分も見受けられたため今回は見送り


試用者の意見徴収

[September - November 2014]
l  devcussion
有志による開発者の寄り合い “Devcussion” に於いて開発中のVersionを試用して貰い、使用感・改善希望点等を聞く事ができた。
l  Web上でのOpen Beta Test
BetaTesterを募集し、幾つかの提案・バグレポートを頂く事ができた。


リリース


201411月中のリリースを予定。

()

0 件のコメント:

コメントを投稿