Marketplace submissions 分享

到現時為止已經提交了三個 apps 到 Marketplace,在此分享一下過程和經歷。

簡單直接來說,整個過程是令人滿意的。

App 1 (免費)
Hong Kong Weather
Submission 1: 一天,被拒,理由是沒有詢問用戶是否表受 push update
Submission 2: 五天,因 Marketplace 技術故障最後被殺掉
Submission 3: 一天,成功上架
Submission 4: 一天,成功上架

第一次提交被 reject 後,因為 Marketplace 的技術錯誤而無法下載報告,結果等了數天才修復好,期間只有等待,不知道哪裡出問題。

App 2 (收費)
Currency
Submission 1: 一天,成功上架
Submission 2: 一天,被拒,理由是沒有處理 Back button 和 context menu 之間的互動
Submission 3: 三小時,被拒,理由是沒有處理 Back button 和 screen keyboard 之間的互動
Submission 4: 三小時,被拒,理由是沒有處理 Back button 和 不同頁面之間的互動
Submission 5: 兩天,成功上架

第一個成功上架的版本是收費而且沒有試用版本,結果上架後因為 Marketplace 的臭蟲令到用戶可以下載「試用版本」,而所謂的「試用版本」根本就是完全版,變相免費大贈送,實在令人無言 orz

Submission 3, 4, 5 是在同一天發生,Marketplace 效率之高 AppStore 實在難及。希望以後可以保持這樣高效率。

App 3 (免費)
Talkonly
Submission 1: 一天,被拒,理由是沒有提供足夠提示讓用戶知道資料在下載中
Submission 2: 進行中 一天,成功上架,太有效率了!

其他

比較起以往在 AppStore 提交的經驗,我可以說 Marketplace 是令人愉快得多。處理時間更短不用說,被拒時的報告詳盡清晰,不像 AppStore 只有數句形容,Marketplace 的報告包括 requirement, expected result, actual result 和 comment,絕對是來得專業。

提交的步驟和過程非常簡單直接,沒有什麼複雜的輸入或認證,不像 AppStore 需要上下載 certificate 那樣麻煩,Marketplace 會自動分析上傳了的 binary 所需的 capabilities,非常聰明。

Marketplace 在用戶體驗上要求很認真,看得出他們很注重細節。幾次被拒的理由都是因為一些微細的地方而非技術問題。這對於整個平台長遠發展來說絕對是好事。

成功上架的程式需要等待最少 24 小時才可以在 Marketplace 搜尋到,比較起 AppStore 來說實在太慢。

Windows Phone 7 實機初試雜感

澳洲是繼新西蘭後第二個國家開賣 Windows Phone 7,有幸身在澳洲,當然不會錯失時機。早上十點即跑進 Telstra 買了一部 HTC 7 Mozart,有幾個工作人員身穿 Windows Phone 7 的制服,但沒有排隊和搶購情況(下午開始出現人龍)。很順利就拿走了一台新手機。

玩了一天後,感覺一切都比想像中要好一點,可能是開始時期望設定太低。

WP7 OS and Metro UI
  • Metro UI 比想像中容易適應,未至於感到悶。
  • Application List 有先天設計缺陷,以英文字母方式排列,隨著安裝的程式數量越多,搜尋和管理會變得困難。
  • Home 的 Hubs/Tiles 可顯示的資訊太少、很多浪費空間,把常用的程式放到首頁會變得有點零亂,遲早會成為大眾垢病的地方。
  • 在 Application List 啟動程式,然後按返回,會跳到 Home 而非 Application List,令人有點困惑。
  • 除了某些遊戲啟動時間會過長外,基本上整體效能與流暢度都很好。
  • 懷念 iOS 上 screen capture 的方法。
  • 虛擬鍵盤跟 iOS 的很相似,不需要很多時間適應。
  • Panorama / Pivot UI 配合 Back / Windows 按鍵用起來很直接,不會像 Android 般看著 Back / Home / Menu 鍵要思索按哪一個。
  • XBox Live 暫時只有少量遊戲,未能估計其潛力。
  • 只要加入 Copy & Paste 和 Multitask 的支援,WP7 其本上已經可以替代 iPhone / Android 作為日常使用的智能手機。

Zune and Marketplace
  • Zune 比想像中的好,至少反應比 iTunes 這怪獸流暢。沒有複雜設定,插上手機馬上自動同步。軟件聲稱能做到 Wireless Sync ,嘗試但未成功。
  • Marketplace 的軟件數量暫時只可以用乏善可陳去形容,基本的如 Facebook, Twitter 都有,但其他類型的選擇少之又少。
  • 暫時所見很多軟件都要收費,大部份介乎 0.99 - 2.99 美金。
  • 軟件數量不行,質量也不太行,可能是新平台關係,開發人員還在摸索中,即使是 Microsoft 自己程式如 Weather 、Stock 等都有種未完成、太簡陋的感覺。
  • 手機上的 Marketplace 分類清晰,安裝亦容易,要比較的話,我認為如果 AppStore 值 5 分,Marketplace 會值 4 分,Android Market 值 3 分。

Visual Studio 開發與整合

  • 簡單、直接、快。跟 XCode/iOS 和 Eclipse/Android 比起來,VS.NET/WP7 實在更快更有效率。由 emulator 到 device 到 Marketplace 都沒有複雜的設定,沒什麼好投訴。


硬體
  • 手感不差,圓滑、輕身,大小剛好。看上去雖然比 iPhone 4 厚不少,但拿在手中一點不覺厚,應該是 iPhone 4 太薄了。
  • 不喜歡觸控按摩,會誤按,還好情況不算嚴重,至少比 Nexus One 好。
  • 拍攝的按摩反應不太好,要很用力,經常令機身扭動導致相片模糊。
  • 電池消耗快,一直玩的話不到一天就要充電,可能電池還新,多用幾天再看看。
  • 螢幕解像度 480x800 雖不及 iPhone 4 Retina display 高,但效果令人滿意。

價錢
  • 便宜與太貴從來沒有絕對。喜歡 gadget 而又有閒錢的話,WP7 必定可以滿足你。但如果只可以選擇一部,這一刻還是購買 iOS/Android 比較實際。


個人感想
  • 喜歡 WP7 這平台,不是什麼,只為 C# 。喜歡這程式語言,寫起來有種親切舒服的感覺。以往 Windows Mobile 6 的年代雖有 .NET Compact Framework ,但效能不濟,界面醜陋實在提不起勁開發。WP7 有一洗頹風之意,值得支持。WP7 平台會否得到大眾支持? WP7 能否與 iOS/Android 分庭抗禮?對我來說不重要,此刻我爽就好。有什麼比找到自己喜歡的語言和平台開發更值得令開發人員高興。

最後是一些已開發和開發中的 WP7 程式示範

Hong Kong Weather

Talkonly online radio

Enjoy Movie

(download)

Brief Summary of Today's WP7 Development

  • Lack of audio player controls, MediaElement to too basic, Silverlight SMF is designed for video
  • MediaPlayerLauncher is too simple, no custimzation allowed, like caption and cover image
  • Silverlight SMF has literally no documentation, no mention even for creating a simple player, FAIL
  • Silverlight Toolkit ContextMenu is causing screen freezing after returning from a Launcher
  • Pain in the ass to prepare icons because of the stupid dark/light theme thing, so much to take care for the UI when user switch between different themes
  • Cannot override "Search" hardware button, FAIL
  • No native jump list support, relying on 3rd party controls less than comfortable, already found a bug in this jump list control, it is not listening to the original ObservableCollection
  • No native support for relational database, no official recommendation for structured data storage, FAIL
  • Again, 3rd party SQLITE library is far from mature, and performance is yet to be proven. This one doesn't handle unicode characters well, FAIL

Different Kinds of Good Weather

Cover

今天是 Windows Phone 7 發佈日,雖然尚未全球同步,但依然值得期待。

花了兩天把 Hong Kong Weather for Windows Phone 7 包裝一下,原本打算照辦煮碗將 iOS 上的 UI 複製過來,結果發現效果並不理想。 Windows Phone 7 的 Metro UI 果然是完全不同的設計理念,系統內置光暗兩色調,再配合十種不同主題顏色,共有二十種不同組合。要真正溶入 Metro UI 非得重新設計不可!最後和 Jeffery 決定起用這個新介面。配合 Windows Phone 7 的淺色系主題感覺還滿清新的!

對 Windows Phone 7 前景有以下的猜測

假如 Windows Phone 7 成功的話:
  • XBox Live / XNA Games 將會是功臣
  • Silverlight 會得到更大的注意,在 web 上將會跟 Flash 平起平坐
  • .NET 會得到更大的注意,將會間接影響開發人員對 Java 的觀感
假如 Windows Phone 7 失敗的話:
  • 很大機會是微軟自己打死自己,他們一直有這個傾向,特別是 Ballmer 在生之年
Metro UI 會受到大量批評,原因是大量開發人員不注意設計細節,令每個程式介面看起來都差不多,整個系統 UI 變得異常沉悶。

Live tiles 的應用會變得更精彩,現在還沒有任何類似 live tiles 的設計 ,開發人員、用戶將需要一點時間摸索,但肯定會變得更有趣。

第一代 Windows Phone 7 不會對 iOS 、 Android 構成威脅,第二代才是真正大戰開始。微軟今次決定集兩家之大成,直接採用兩家的一些成功設計,不但可以針對對手,更可減少研發時間。

看膩了 iOS 、 Android 的黑白之爭,Windows Phone 7 將帶給大家一個新的角度去看現在的流動戰場,實在是好事一樁。

不是 First-Tier Development Tools 不能用

縱使蘋果放 MonoTouch 一條生路、MonoTouch (MT) 更提供兩星期 15% 折扣優惠,掙扎過後還是放棄了支持 MT。

價錢是原因之一,Apple iOS Developer Program 要 USD 99 一年,MT 要付上額外的 USD 399,如果只是為興趣而寫,成本算太高。

但最重要的原因是 MT 不夠成熟且 dependencies 太多,iOS API, XCode, Mono Framework, MonoDevelop, iOS Simulator 當中任何一樣不對勁馬上倒下來。由 MT 1.0 開始共寫了三個程式,每個程式都遇到不可前進的問題需要等待 MT 修正,令人感到很無奈和沮喪。隨便數數,問題包括 API 支援不齊全、i18n 語言支援不足、MonoDevelop 未能儲存設定值、無法連接 iOS simulator debugger 等等。這些問題都不是小問題,都是 blocker, impadiment,令人無法繼續寫下去。在 Forum 裡看一看會發現更多奇怪問題。想到這裡忽然明白,就算 MT 再好,framework / IDE 未能配合也只會浪費精力時間,MT 永遠只能當成為 second tier development tools 看待,認命吧。

還好 Windows Phone 7 已經出來,應該足夠滿足我寫 C# 的需求。

2

與 Windows Phone 7 Developer Tools RTM 相處的首三天

日子很難過,但總算過得快樂。難過是因為 Visual Studio 跟 WP7 模擬器不斷當掉,快樂當然是因為可以寫 C# 囉~

先來說一些有的沒的
Windows Phone 7 名字又長又不好念,少說了一個 7 會讓人覺得是在講 Windows Mobile,改口說 WP7 也不見得好。
  • i.O.S 三個音節,清晰易明
  • i.Phone 兩個音節,兩歲小孩也會說
  • An.droid 兩個音節,後面一節比較不常用發音,但起碼 An 夠響亮,大家一聽就知道
  • Palm 一個音節,是個易上心的好名
  • Win.dow.s. Phone. Se.ven 起碼有六個音節,靠!
  • WP7 (Dou.ble.U. P. Se.ven) 也是六個音節,而且更不好念,哇靠!

再來看看 IDE 的名字
有需要搞得那麼複雜嗎?誰來告訴我比較簡單的叫法?沒辦法在 twitter 裡寫完全部~

無聊的說夠了 XD

不知道為何,這個 RTM 版本是我用過的 Visual Studio 裡最不穩定的,三天來掛掉了不下三十次,有時候甚至連 Windows 一起當。而且常常會令螢幕閃爍,感覺是跟我的 graphic card driver 不太相處得來。模擬器也掛得厲害,臭蟲亦多,經常會無法顯示畫面,必須重新啟動。所謂的 RTM 真的爛到不行。

撇開穩定性,其實 Visual Studio 是套不錯的工具,比起 XCode 和 Eclipse 都更貼心。Intellisense 比 Eclipse Code Assist 快和聰明;Visual Designer 更是 VS 強項,Eclipse 的 Visual Designer 有多殘廢不用多說,XCode 的 Interface Builder 跟 Xcode 分開來用麻煩複雜兼而有之。相比起來,VS.NET 整合實在一流,左邊設計 UI,右邊插入程式碼,效果即時顯示出來,連模擬器都不用,省時又高效率。

熟悉 .NET Framework 的我,寫 WP7 真的如魚得水。API 一貫的容易掌握,網上亦已經有齊全的 documentation 、 影片教學免費電子書大量資源

當然不得不說就是 C# 比 Java 和 Objective-C 優勝之處,說到底 C# 是我支持 WP7 的最大原因

XAML and Databinding
因為 VS.NET 的完美配合,慢慢接受這種 XML + Code 的 UI 設計。Design time databinding 實在很強大,大大減少了 UI tweaking 的時間。

Push Notification
One HTTP session per message, XML payload 實在是很差勁的設計。iOS 的 One TCP session multiple message, JSON payload 更乎合 server 效益。

Metro UI
感覺很 "齋",不知道是好事壞事,某些程式看起來很原始。另外 system-wise theme 並不是好東西,一個不小心就會破壞了程式整體美感,要知道不是每一種顏色都可以配合程式的圖像。

只用了三天時間已經將一個 iOS 的程式完整移植,感覺非常良好。

另外,很多 tutorial 都會用到 Expression Blend ,本人沒用過亦沒打算用,Expression Blend UI 複雜難用,而且 VS.NET 與 Expression Blend 同時存取同一個 project source 一定會產生不必要的問題,除非必要,不建議浪費時間游走於兩者。

與 IE9 Beta 相處的首三天

IE9 Beta 也出爐了,網上媒體一致讚好。自己下載來玩,過程需要更新 Windows 1,2 次,最後重新啟動了數次才安裝完成,其他瀏覽器都不用啊...

效能方面,整體感覺良好。啟動、開新頁、網頁顯示都沒有慢的感覺,最重要是沒有爛頁問題。在 Windows 下可以直接跟 Safari / FF 拚。不過最後還是選擇回到 Chrome 的懷抱,超班馬就是不一樣,順心順暢~

喜歡 IE9 的地方

  • 網址列和搜尋列整合
  • 支援 Xmarks (跟 IE9 沒直接關係,但很重要啊)
  • 再沒有多餘的按鍵
  • 不會整個 IE 當掉,只殺個別分頁


不喜歡 IE9 的地方

  • 需要在 Windows 下使用,看慣了 OSX 的中文字 rendering,覺得 Windows 的中文字超醜的
  • 網址列跟分頁擠在一起,想網址列長一點,結果分頁跑到老遠,想分頁近一點,又看不到網址全部...囧 為什麼要強迫兩者在一起?這是我放棄 IE9 的最大原因
  • 關閉分頁必須先切換到該分頁才會顯示關閉按鍵,不夠細心呢
  • 沒有 extensions / add-ons 。在 Windows 下用 twitter 都是用 Chrome 的 extensions,Windows 的 twitter client 都很爛,十之八九是 Adobe AIR 寫的,又慢又不好看功能花巧不好用。
我不是做網頁開發,所以只從用家的角度去看。但想到網頁開發又多一個版本要測試,真的替他們難過。