獲得第一手產品使用意見和痛點

墨刀 (畫低保真prototype工具)、Teambition (團隊任務管理工具)、石墨文檔 (可視為中國版的 Google Doc) 這三個是我最近在工作上每天都要使用的工具。

在使用過程中若我發現了bug、或是操作不方便之處、或是「如果有這個功能會更好」,我會透過該團隊的微信公眾號或是裡面團隊成員的私人微信號反饋問題(我懶得寫email給support信箱了),通常這些人很快就會做出回應,告知此問題正在被解決中、或是會在近期解決、或是基於什麼原因近期之內無法解決。

有些團隊的作法是,成立很多個 QQ 討論群或是微信討論群,邀請該服務/工具的使用者網友加入,請他們在討論群裡面反饋使用上的問題、困難、bug、抱怨,由專人回答網友的問題,從中發現使用者的痛點在哪裡、收集優化的建議。更有些團隊甚至請客服定期打電話給用戶,直接問你有沒有任何意見想說、需要幫忙。

單一一個使用者的意見絕對不一定值得直接被採納,但是直接從實際使用者反饋的建議,很高程度代表了真實情境中的痛點。

對使用者來說,時間久了,偶爾能夠發現其中有些過去反饋給團隊的問題還真的被優化了,這種感覺不賴,你會希望這個團隊及這個產品能持續活下去,因為想一直使用這個工具。

(圖片來源 via Samuel Maan, CC License )

對於原生App和移動互聯網產品的未來想像

在未來,我相信:

1. 行動網頁的操作體驗,在未來能夠又更加貼近原生App。「想要兼顧快速更新改版、又不想犧牲操作體驗」的的困擾在未來會下降。

2. 原生App本身,以及原生App和行動網頁之間的交互,在未來會有更多諸如App Link、Deep Link、行動網頁調用App這類的有趣事情被發明出來,兩個獨立的App不再會被當做「真正是兩個獨立無關的App」。

3. 原生App可能不再需要「下載一次,只能安裝一個App/服務」。(這裡暫且先撇除「在原生App中嵌入行動網頁的做法」 ) 也許有可能:如果你想要提供在移動端的服務,你需要開發一些程式碼,但不用真的封裝成一個獨立的App,也能將你的服務以某種形式出現在使用者的移動設備之中。

4. 如果不內嵌入行動網頁,原生App本身可以更高程度實現「在不釋出新版本App的前提之下,很高程度實現更新App內的功能和介面」,且這會成為行業標準、獲得 iOS 和 Android 的官方支持。原生App 開發者的一些工作型態會被改變,App 的產品生命週期會改變,更快速、更即時、更敏捷。

關於動態更新App

現狀:

  • 當前App中,通常,少部分頁面是採用「App嵌入H5網頁 (Hybrid App)」 ,大部分頁面是採”App原生”方式來實現功能。
  • 在一個App原生頁面中,大部分地方可由手機API控制顯示指定信息、操控App前端顯示指定樣式的UI (這些樣式的App代碼需要預先寫在App本地)。
  • 淘寶、天貓這樣的電商App來說,我們的App仍總是看起來沒有別人的一般變化多端。
    但是,如果為了能達到隨時變化、增加新的變化之目的而改採「App嵌入H5網頁 (Hybrid App)」的方式,卻會造成因”H5網頁操作體驗無法超越原生App”先天技術限制使App體驗變差。
  • 對於前述這些顧慮,Apple iOS 及 Google Android兩大陣營皆未釋出官方的解決方式。

 

Facebook 在2015上半年,推出了「React Native」這種新技術。據我理解,其重點有二:

  • 重點一:以 Javascript 語言一次對 iOS App及 Android App進行開發 (但又非以往 PhoneGap、Titanium、Corona 等第三方SDK那種體驗仍不如原生語言的作法 )
  • 重點二:能夠實現 “讓App本地向服務端請求更新,下載新代碼、置換原本在App本地的原生代碼”

其中,前述重點二,舉直接一點的例子來說,很可能可以實現至少以下兩種需求:

  • 需求一:假設我們的App因為公司重大政策修改,必須要立即升級新版本,但這個修改太大了,一來無法用API對線上版本做兼容、二來等待Apple App Store審核新版本又太曠日廢時。用React Native這樣的方式,線上版本App能夠從Server下載最新的相關代碼,用來置換本地App中的地址相關代碼,達成 「飛牛沒釋出新版本App、客人也無須更新App」 的情況之下,使線上版本直接變成使用新規則。
  • 需求二:我們永遠都會看到天貓、淘寶這些強大的競爭者在雙11、雙12時 「又在App首页推出了不可思議的新模塊」,那些新模塊,應該是不太可能全都是「每次發App新版本時都預先寫在App本地裡面的」,應該可以透過遠程直接對App做更新。

下面有一些網路上的參考資料:

  1. 網路上來自天貓、淘寶的公開文章:http://www.tuicool.com/articles/r2EvMzn
    上面這篇文章,發表於2015年10月,作者是天貓技術團隊,說明天貓App團隊真的有採用React Native技術,早在2015年618大促時,就有用這技術達成動態更新App前端的展示內容。
  2. 淘寶Weeb技術: http://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=402379225&idx=1&sn=e7d4832eaed0f6e2f6abcf3ee121e2ec&scene=2&srcid=0119pUB0LhsRFJ88yILFBIBy&from=timeline&isappinstalled=0#wechat_redirect 上面這篇文章,發表於2016年1月,作者是淘寶App工程師,說明淘寶團隊除了採用Facebook React Native技術以外,還自己搞了一套 Weeb 技術來實施App端的動態更新,並且用於淘寶App。
  3. Apple的官方文件 https://developer.apple.com/programs/ios/information/iOS_Program_Information_4_3_15.pdf 根據Apple開發者網站的文件,沒有明文對React Native這樣的技術表示支持或是禁止,但是有明文指出:在不涉及改變App原有功能主軸的前提之下,Apple 允許遠端下載code對App本地做更新。
  4. Facebook的實際案例:Facebook的 iOS版本 Facebook Group 及 Android版本 Ads Manager這兩個App,都已經是使用React Native技術實現。他們可以在「不發新版本到App Store上」的前提之下,依然持續對線上版本App做功能更新。
  5.  AppHub https://apphub.io/how 這樣的服務,提供Server給「採用React Native」的App,存儲新的App代碼。而不需要發新版本到App Store上。

以上種種,使我相信:動態更新App,將是App領域下一個革命性的演進,能讓App在兼顧操作體驗的同時,實現如同網頁般靈活地動態更新。

我對於產品UX的一些個人看法

image

我對於產品UX的一些個人看法,歡迎吐槽和交流討論:

1. 產品的使用者體驗 (UX, User Experience)包含了但不限於:產品功能、操作流程、UI設計( User Interface Design )、交互設計( User Interaction Design )、平面視覺設計、程式(網頁/App/加載速度)響應速度,以及任何其他使用者會接觸到你的產品的介面、方式和過程(例如:客服聯繫、物流速度、市場推廣頁面、廣告)。

2. UI設計 和 交互設計 很重要,但此二者不能單方面凌駕產品功能和操作流程上的必要考量。

3. 定期的外部用戶體驗測試反饋、內部用戶體驗測試反饋、用戶數據採集統計、競爭者產品對比,全都是必要的,但此四者中之任何一項都不能單方面成為產品設計決策的唯一依歸。

4. 程式工程師的意見必須被納入產品設計和時程排期的考量之中,但工程師的個人愛好或是能量限制不應單方面凌駕公司長期政策和產品設計規劃。若是受限於第三方平台或當前主流技術框架的限制,則不在此限。

5. UI設計和平面設計皆應該被定義出適合所屬公司和產品的設計規範,並且定期優化。

6. 產品推出初期,特別是新創階段,不一定需要專人執行交互設計,可由產品經理或UI設計師兼任之,視不同公司不同情況而定。

7. 產品經理應盡力深度參與產品生命週期的所有環節,對於用戶體驗負責,並且需擔任主動協助解決問題的角色。

8. 老闆說的,絕對不一定是對的,就算他是Steve Jobs 也一樣。但是老闆對其所有下屬做出的決策負責,並且對產品最後成果負責。

9. 用戶看到的、用到的、感受到的一切,是產品整體是否成功的至關重要因素,必須被拿來和產品的商業成功放在相同的高度做考量。

只傳手機拍的照片到 Instagram

從2011年開始用Instagram以來,我一直只上傳「用手機拍的照片」到Instagram上,我在Instagram上放的五千多張照片應該是無一例外。最近幾天我突然在想:為什麼我要這樣自我做限制?

也許正是因為Instagram限制使用者只能在手機上傳照片,隱隱使我只想傳手機拍的照片。

如何即時得知某個地點現在的天氣狀況?

幾年前常去金瓜石拍照的時候,最困擾的事情是:「當人在台北市區打算要去金瓜石、打算要出發時,無法得知當下及一個小時之後金瓜石的天氣如何?」

問題痛點:
1. 即便台北市區天晴,金瓜石有可能陰天;台北市區稍微陰天,金瓜石可能正在下雨)
2. 網路上的天氣預報、即時天氣狀況,多半是只劃分到很大的一個區域:例如「台北縣瑞芳區、台北縣淡水區」。有可能山下天晴但是山上在下雨。

<1 > 幾年前,沒有 iPhone 時我的解決方案:
1. 看台北縣政府某某網站上的九份即時錄影(但網站常壞掉)
2. 在PTT問版、東北角版直接發文問天氣,或是看當天稍早有無人問
3. 打電話問人在當地的朋友。但這方案基本上是可遇不可求。

<2> 大約三年前,看到有台灣創業團隊做了這樣的一個App:
1. 使用者可以主動回報當下所在地區的天氣狀況。地理位置用GPS定位,所以夠準確。可以直接以陰天晴天雨天做標記、也可以上傳照片。
2. 使用者可以瀏覽其他網友回報的地區天氣狀況。

(不過基於種種原因我刪掉了這個 App,且現在也想步起來這App的名字)

<3> 現在我的解決方案:
1. 打開 Instagram App,搜索「金瓜石」tag,看網友在過去一段短的時間裡上傳的照片
2. 打電話問人在當地的朋友。但這方案依然常常是可遇不可求。

但這方式有幾個缺點:
1. 如果你搜索的地點不是非常熱門的地方,不一定有夠多人會上傳照片且tag該地點。
2. 當下搜到的照片可能是網友幾天前拍的照片,直到現在才上傳。所以要多看幾張才足以判斷。

大家有沒有什麼更好更聰明更快更方便的解決方案?

Transferable skill

這一路還很長的職涯上,除了會有可直接延續的經驗,也會有無法延續的經驗。不管是可延續或不可延續的經驗,在其中都要能培養出「可轉換的能力」。

特別是在,換工作時若換做了和前一份工作沒太多直接重疊的工作時,「可轉換的能力」就會是很重要的了。

這也能說明,換工作時,不需懼怕「這份新工作的工作內容是有以前沒有做過的事情」。再者,就算是待在同一個公司,也可以在做某事一段時間之後,改做別的事。

從打車App的司機客戶端看User Centered Design

中國的計程車司機, 幾乎是所有人都會使用「快的打車」和「的的打車」這兩個App,司機用App隨時查閱路上民眾發出的搭車需求,看到想要接的需求就截單。

幾個月前,在我第一次看到司機的手機上這App畫面時,我心中閃過幾個想法:

1. 為了讓司機邊開車邊瞄手機查看民眾發出的需求、且一看到想接的需求就立刻截單,所以把「截單」和「聽語音」按鈕都設計得很大。乍看之下,按鈕做那麼大,顯得有些蠢,但是轉念一想便能明白,那才是真正適切於使用者體驗的設計。

2. 若我的工作是設計這個App,但我從來沒認真考量司機坐在車裡邊開車邊瞄手機的情況,我很可能會把「截單」的按鈕設計得和App上普通的按鈕一樣大。然後等著被使用者(司機)罵。

3. 給司機用的App(接收需求,賺錢的人),相較於給民眾用的App(發出需求,付錢的人),勉強可以用後台和前端來比擬這個關係。後台,清楚易用最重要,精緻好看則沒那麼重要。

#UX #UCD

20140711-181515-65715192.jpg

新產品上線

今天早上太忙,忙著中午12點半要把新網站對外曝光。早上先向老闆、主管、技術長回報進度,討論今天中午之前要做的事情。大概有一半的時間,我被老闆逐條檢視、追問我提出的議題,被他提出了非常多可以改進的地方,尤其是「追問題的根源」。

開完會後,一直在和不同小組的工程師、工程主管討論各種情況、要怎麼解決。

12點33分,我傳訊息給行銷總監,我跟他說,暫緩,等我確認真的OK。這幾分鐘,其實我也沒真做什麼測試。還有一些功能還沒做完,但我和兩個工程主管討論後,判斷都不是沒有會死的功能,決定先上線、先開賣吧。

12點37分,我又打電話給行銷總監,我跟他說:「你現在可以把促銷訊息發出去了!」就在我說完這句話後5秒鐘之內,他把促銷訊息發出去給200萬個LINE官方帳號的粉絲了。非常刺激,雖然我現在還不知道今天經由手機版網頁成交了多少訂單,但已經得知的是訂單量爆了!