智能硬件產(chǎn)品的軟件設計

我一直相信努力會有回報邪乍,一直在公司推的擴展器APP項目終于做起來了降狠。目前UI,UE已經(jīng)完成庇楞,軟件開發(fā)和APP開發(fā)的接口也對好了榜配,就等排期進行開發(fā)了。我覺得自己的運氣也是極好的吕晌,本來一個APP項目是很難立起來的蛋褥,這期間經(jīng)歷的挫折和打擊也不少,還好搭著costdown項目的順風車一起做了起來睛驳。本文主要講講整個硬件產(chǎn)品的軟件設計中自己的經(jīng)驗烙心,雖然以擴展器為例,但是這些點適用很多智能硬件產(chǎn)品的軟件設計了乏沸。

PC端和H5端的迭代

既然APP都要做了淫茵,則索性將PC端和H5端都進行了一次迭代,由于接手過來的時候PC端和H5端產(chǎn)品都已經(jīng)做了一個初版蹬跃,但是都沒有相關(guān)的文檔匙瘪,所以自己全部重新整理了一遍PC端,H5端的文檔。當寫一個新的產(chǎn)品或者功能的prd的時候丹喻,我是可以根據(jù)自己的邏輯和思路一氣呵成的薄货,但是這個我需要在同一個文檔里既整理出現(xiàn)有產(chǎn)品的內(nèi)容還得加入新的想法進行改進。這就要求我得先對已有的功能邏輯完全了解碍论,然后思考這個邏輯是否合理谅猾,有沒有更好的方案。更奇葩的是鳍悠,有些邏輯我覺得是混亂的赊瞬,在詢問之前團隊時,他們居然說當時有些異常情況沒有遇到贼涩,沒有去做相關(guān)的測試巧涧,所以沒有梳理相關(guān)邏輯。因為項目的推動不容易遥倦,主要是因為開發(fā)資源比較緊張谤绳,在和開發(fā)商量的時候答應過開發(fā),PC端和H5端的升級會盡量減少開發(fā)的工作量袒哥。因此在梳理文檔的時候缩筛,只是整理現(xiàn)有邏輯,修改不合理的邏輯堡称,梳理之前團隊沒有想的邏輯瞎抛,新功能一個都沒有添加。關(guān)于PC端和H5端這塊却紧,我只想給出以下建議:

遇到中途接手的項目桐臊,并且沒有相關(guān)文檔可以參考的時候,三點建議:

第一:一定是需要把已有的邏輯了解透徹晓殊,記錄下邏輯還有優(yōu)化的點以及邏輯混亂的點断凶,自己先梳理一遍之后再去和現(xiàn)有的開發(fā)團隊對一下有沒有什么問題;

第二巫俺,考慮到開發(fā)也是根據(jù)現(xiàn)有的程序做修改认烁,在文檔中把有改動的點一定要做標記,清楚描述現(xiàn)有邏輯是怎樣的介汹,修改后是怎樣的却嗡,這樣方便程序員查看;

第三嘹承,除了有些邏輯進行了相關(guān)改動窗价,為了更好的用戶體驗,交互方面也做了些改動赶撰∩嘞猓坑爹的是,翻看公司之前的UE和UI資料豪娜,發(fā)現(xiàn)做出來的產(chǎn)品和資料對不上餐胀,這可苦了UE和我了。我給UE把整個產(chǎn)品操作流程錄了下來方便她對著現(xiàn)有做出來的查看瘤载,然后把要修改的地方在文檔中標記出來否灾,拜托她對著標記的地方做相應的修改。最后我再把她做出來的UE圖仔仔細細對好幾遍鸣奔,有不對的地方得記錄下來拜托她再修改墨技,這還得來回好幾次。

雖然過程繁瑣了點挎狸,但是比推項目的時候開心多了扣汪。而且這樣一來,我相當于把一個硬件產(chǎn)品所需要的軟件設計全部做了一遍锨匆。雖然說擴展器的功能比較簡單崭别,但是能把架構(gòu)和細節(jié)都過一遍,也學到了不少東西恐锣。畢竟之前做路由APP的時候全部做的是功能點茅主,沒有一個整體的概念。

APP的開發(fā)

這部分主要是根據(jù)自己做擴展器APP的經(jīng)驗土榴,介紹一下在設計智能硬件產(chǎn)品APP的時候需要注意的部分重點诀姚。智能硬件產(chǎn)品APP不同于純互聯(lián)網(wǎng)APP,它的設計需要考慮的端比較多玷禽,每一個邏輯都需要考慮到所有的端的情況赫段,不同端之間會相互影響,不同的網(wǎng)絡情況又會對不同的端造成不同的影響矢赁。所以那個情況多呀瑞佩,異常多呀,有些功能稍微復雜點的寫出來的prd快趕上一個APP了坯台。今天呢炬丸,不談這些細節(jié),細節(jié)還是放在具體的功能設計里面去說比較合適蜒蕾,今天只說在新做一個硬件產(chǎn)品APP時需要考慮的切入點稠炬。

一般來說,對硬件產(chǎn)品APP而言咪啡,重要的有如下模塊:

接入首启,首配,工具

對于一個剛起步的硬件產(chǎn)品APP來說,其中最重要的是接入首配,只有簡易快速的配置連接硬件昔榴,才談的上控制硬件瓣戚,即工具和APP的其他功能設計左驾。

接入:硬件和APP能“交流”

接入主要考慮的是APP如何識別出硬件產(chǎn)品付翁,識別是不是自己公司的產(chǎn)品(只有自家的產(chǎn)品才能進行通信控制)以及是自家公司的哪個產(chǎn)品(不同的產(chǎn)品闲礼,其首配闯冷,工具等等很多功能都是不一樣的)读宙。由于公司的硬件產(chǎn)品比較多彻秆,最好的是能夠?qū)⑾嗤再|(zhì)的硬件產(chǎn)品集成在同一個APP里面,這樣既方便產(chǎn)品的開發(fā)结闸,用戶體驗也會更加友好唇兑。擴展器同路由器一樣同屬網(wǎng)絡產(chǎn)品,再加上擴展器本身就需要搭配路由器使用桦锄,因此我所負責的擴展器APP是直接集成到現(xiàn)有的路由APP里扎附。識別是否為自家公司的產(chǎn)品好做,一般待配置產(chǎn)品的SSID(網(wǎng)絡名稱)都是帶有自家公司的名稱的结耀,根據(jù)SSID就可以直接判斷了帕棉。那如何識別這是一臺路由器還是一個擴展器呢?連接上設備的網(wǎng)絡后饼记,路由器是有IP地址的香伴,APP可直接通過訪問IP發(fā)送消息來確認是路由器。但是擴展器只有在擴展成功后才會有分配的IP具则,而且還是變化的即纲,因此不能使用和路由器一樣的方法進行識別。產(chǎn)品處于待配置狀態(tài)時會廣播一些字段博肋,其中就有MAC地址低斋,原以為可以通過對Mac地址進行管控,直接將一段Mac地址對應一類產(chǎn)品匪凡,這樣就可以直接通過Mac地址進行識別產(chǎn)品類型膊畴。然而首先我們公司并沒有做Mac地址的管控,其次APP通過廣播接收的Mac地址信息會有一定的不準確性病游,因此這種方法不可行唇跨。但是廣播出來的字段又沒有其他有用信息可利用了,所以又回到了SSID上衬衬,我們決定給SSID加上后綴名买猖,表征它是一個擴展器。因用戶在首配和無線設置中是可以修改SSID的滋尉,為了始終能夠識別(除了首配的時候需要進行識別玉控,在用APP切換設備管理的時候也需要對連接設備進行識別),后綴名不能讓用戶改動狮惜,這個我們在交互層面上做了一定的設計高诺,而在理解上碌识,則參考Word之類的文檔名稱一樣,只能修改名稱虱而,不能修改后綴名筏餐。從SSID上進行識別只是一個初步識別,在初步識別后還會通過嘗試通信讓擴展器發(fā)送一個產(chǎn)品類型的字段進行確認薛窥。

這樣整個識別接入的邏輯才算完整,開發(fā)做起來相對簡單眼姐,用戶體驗也沒有太大影響诅迷。

首配:讓設備連上網(wǎng)

不同的產(chǎn)品的首配流程是不一樣的,這里只談一些共識點众旗。首配需要首先檢測是否首配過罢杉,檢測方法在了解后略微有點low。主要是根據(jù)WiFi名稱是否被更改過以及是否有設置密碼來判斷贡歧。當然滩租,若恰好某臺配置過的路由器既沒有修改WiFi名稱還沒有設置密碼,那不好意思利朵,我們判斷不了律想,可能需要重新配置一次了。整個首配流程在設計的時候一定要簡單并且防呆工作做好绍弟,不然一步錯導致步步錯就會帶來極差的用戶體驗技即,而首配的失敗會讓用戶對整個品牌和產(chǎn)品的好感度消失。無論是在路由配置還是擴展器配置中樟遣,首配基本上都是“一氣呵成”的而叼,也就是把所有的設置項都選好后記錄下來,中間沒有任何生效的點豹悬,只有最后一步才會將所有的設置生效葵陵。而有一點不一樣,就是管理員密碼的設置是直接生效的瞻佛。在體驗產(chǎn)品的時候會發(fā)現(xiàn)脱篙,在保存管理員密碼后不進行接下來的配置,退出后再次進入則需要輸入管理員密碼伤柄;而且輸入后不能進入首頁(也就是不能)涡尘,而是進入繼續(xù)配置的頁面。為什么要提到這些响迂,因為有兩個方向的考慮點考抄,一是管理員密碼有沒有必要和接下來的配置分離開,二是用戶就是不想配置連網(wǎng)就想使用工具控制設備的場景怎么處理蔗彤。PC端現(xiàn)在做的還是分離和不能進入川梅,而APP不同的是疯兼,用戶在輸入管理員密碼后可以跳過配置,直接進入首頁贫途,因為考慮到APP是有與硬件不相關(guān)的功能(比如社區(qū))和賬戶體系(比如我)吧彪。分離是為了設備管理的安全性著想;不能進入考慮的是大部分場景:沒有擴展連網(wǎng)丢早,設備的意義不大姨裸,所以還是盡量引導用戶去配置完成。

以上幾點是首配中比較容易混亂的大的邏輯點怨酝,其他的步驟是根據(jù)不同設備的連網(wǎng)需求而有所不同的傀缩,這個里面的細節(jié)也是非常的多,本文就不做過多的描述了农猬。

不得不說赡艰,文章排版有點.......(不過內(nèi)容可是真真切切的的實戰(zhàn)干貨)我實在不想把時間花在排版上,因為還有好多東西要學斤葱,好多內(nèi)容要盡快輸出慷垮。此時的我已經(jīng)換了個部門,現(xiàn)在已經(jīng)不是硬件產(chǎn)品經(jīng)理了揍堕,目前是一名社區(qū)產(chǎn)品經(jīng)理料身。所以很多東西要盡快學習熟悉起來,不然要被人懟死衩茸。以后輸出的和硬件相關(guān)的產(chǎn)品設計文章可能不多了惯驼,社區(qū)產(chǎn)品相關(guān)的文章請拭目以待。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末递瑰,一起剝皮案震驚了整個濱河市祟牲,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌抖部,老刑警劉巖说贝,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異慎颗,居然都是意外死亡乡恕,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門俯萎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來傲宜,“玉大人,你說我怎么就攤上這事夫啊『洌” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵撇眯,是天一觀的道長报嵌。 經(jīng)常有香客問我虱咧,道長,這世上最難降的妖魔是什么锚国? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任腕巡,我火速辦了婚禮,結(jié)果婚禮上血筑,老公的妹妹穿的比我還像新娘绘沉。我一直安慰自己,他們只是感情好豺总,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布车伞。 她就那樣靜靜地躺著,像睡著了一般园欣。 火紅的嫁衣襯著肌膚如雪帖世。 梳的紋絲不亂的頭發(fā)上休蟹,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天沸枯,我揣著相機與錄音,去河邊找鬼赂弓。 笑死绑榴,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的盈魁。 我是一名探鬼主播翔怎,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼杨耙!你這毒婦竟也來了赤套?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤珊膜,失蹤者是張志新(化名)和其女友劉穎容握,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體车柠,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡剔氏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了竹祷。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谈跛。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖塑陵,靈堂內(nèi)的尸體忽然破棺而出感憾,到底是詐尸還是另有隱情,我是刑警寧澤令花,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布吹菱,位于F島的核電站巍虫,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏鳍刷。R本人自食惡果不足惜占遥,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望输瓜。 院中可真熱鬧瓦胎,春花似錦、人聲如沸尤揣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽北戏。三九已至负芋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間嗜愈,已是汗流浹背旧蛾。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蠕嫁,地道東北人锨天。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像剃毒,于是被迫代替她去往敵國和親病袄。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理赘阀,服務發(fā)現(xiàn)益缠,斷路器,智...
    卡卡羅2017閱讀 134,599評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,504評論 25 707
  • 用到的組件 1基公、通過CocoaPods安裝 2幅慌、第三方類庫安裝 3、第三方服務 友盟社會化分享組件 友盟用戶反饋 ...
    SunnyLeong閱讀 14,601評論 1 180
  • 在天愿作比翼鳥酌媒,愿能給你整個遼闊天空欠痴。 在地愿為連理枝,愿能給你開花漫山遍野秒咨。 我不要千里眼喇辽,只愿在意你的每一個動...
    小葉童閱讀 268評論 2 1
  • 曾經(jīng)菩咨,有個人對你許諾喜歡你,有多么愛你?想照顧你一身 你傻傻的信了,為自己遇到這些的男孩感到欣慰日日夜夜他都會發(fā)消...
    草莓味的小婷子閱讀 184評論 0 0