如何做一款SDK產(chǎn)品?
為什么要做SDK產(chǎn)品?SDK產(chǎn)品需要提供哪些能力?如何提供SDK?
眾所周知,基于深度學(xué)習(xí)的計(jì)算機(jī)視覺(jué)在近兩年幾乎成為了所有互聯(lián)網(wǎng)公司的一個(gè)戰(zhàn)略發(fā)展,大到有BAT、科大訊飛、網(wǎng)易等一線互聯(lián)網(wǎng)公司還有曠視、商湯等獨(dú)角獸企業(yè),小到有數(shù)不清的A輪、B輪的創(chuàng)業(yè)公司,大家都在致力于研究自己的AI產(chǎn)品。
在AI領(lǐng)域內(nèi),有很多的公司對(duì)外均提供SDK產(chǎn)品,今天主要分析下如何做一個(gè)SDK產(chǎn)品。
第一、為什么要做SDK產(chǎn)品?
目前各個(gè)公司對(duì)外提供的AI產(chǎn)品包括以下幾種方式:
(1)整套的行業(yè)產(chǎn)品解決方案,有智慧零售、智能安防等;做這樣一套解決方案,不僅對(duì)產(chǎn)品經(jīng)理要求很高,如果是自研團(tuán)隊(duì)來(lái)開發(fā),那么對(duì)算法團(tuán)隊(duì),對(duì)工程化團(tuán)隊(duì)均有很高的要求,所以很多公司都會(huì)跟產(chǎn)業(yè)鏈上的眾多專業(yè)性的公司合作,構(gòu)建解決方案的同時(shí)還搭建屬于自己的產(chǎn)業(yè)生態(tài)鏈。
比如百度提供智慧零售方案,其合作的有開為科技、惠合科技、靈友科技等一系列公司,百度通過(guò)為這些公司提供AI技術(shù),一方面有了自己的解決方案,另一方面還可以通過(guò)這類公司延伸到各個(gè)行業(yè)領(lǐng)域,獲得重要的數(shù)據(jù)。
(2)基于SaaS平臺(tái)的api接口服務(wù),這類服務(wù)對(duì)于多數(shù)公司的要求較高,需要構(gòu)建自有的云平臺(tái),用戶根據(jù)自己的需求,在平臺(tái)上調(diào)用不同的接口,主要按照調(diào)用次數(shù)付費(fèi)。
缺點(diǎn)是必須聯(lián)外網(wǎng)且外網(wǎng)帶寬如果過(guò)低服務(wù)容易中斷,同時(shí)用戶相應(yīng)的數(shù)據(jù)也會(huì)被傳輸?shù)椒?wù)方的SaaS平臺(tái)上,對(duì)于數(shù)據(jù)隱私性要求高得公司,這個(gè)方式顯然存在隱患;
(3)離線SDK,用戶按照授權(quán)設(shè)備購(gòu)買服務(wù)方離線的SDK產(chǎn)品和正式授權(quán)證書,一旦部署到設(shè)備上將永久使用且無(wú)法更換設(shè)備。
優(yōu)點(diǎn);屬于買斷產(chǎn)品。
- 第一、用戶一般只需要在第一次部署時(shí)候連接外網(wǎng)使用證書激活即可離線使用,不用擔(dān)心數(shù)據(jù)被服務(wù)方獲??;
- 第二、對(duì)外網(wǎng)帶寬無(wú)要求;
缺點(diǎn):
- 第一、SDK產(chǎn)品對(duì)于用戶來(lái)說(shuō)可擴(kuò)展性不夠,用戶只能使用當(dāng)前SDK所提供的能力;
- 第二、各個(gè)廠家的SDK產(chǎn)品幾乎都是跟硬件設(shè)備綁定的,用戶按照設(shè)備數(shù)付費(fèi),且一旦跟當(dāng)前設(shè)備綁定則無(wú)法更換設(shè)備;
- 第三、一般SDK產(chǎn)品對(duì)于硬件設(shè)備性能都有一定的要求,過(guò)低的硬件性能無(wú)法承載。
對(duì)于產(chǎn)品經(jīng)理來(lái)說(shuō),API服務(wù)和SDK服務(wù)均可以實(shí)現(xiàn)產(chǎn)品目標(biāo),那需要弄明白為什么需要提供離線的SDK產(chǎn)品;
第一、時(shí)間問(wèn)題:提供API服務(wù),對(duì)于產(chǎn)品提供方來(lái)說(shuō)就需要服務(wù)端資源,首先要考慮的是服務(wù)端的硬件資源、其次要考慮服務(wù)端的架構(gòu),對(duì)外提供的接口形式等問(wèn)題,耗時(shí)周期往往較長(zhǎng);如果采用SDK形式一般只需要算法提供好模型和配置文件,由研發(fā)同事進(jìn)行接口封裝就可以對(duì)外提供服務(wù)了。
第二、數(shù)據(jù)隱私:很多公司對(duì)于數(shù)據(jù)資源有自己的隱私政策,一般是不愿意將數(shù)據(jù)上傳到第三方平臺(tái)處理的。對(duì)于非常關(guān)注以上兩點(diǎn)的用戶,產(chǎn)品經(jīng)理就需要好好考慮是否要采用SDK的形式對(duì)外提供技術(shù)服務(wù)了。
第二、提供什么樣的SDK?
這點(diǎn)我認(rèn)為產(chǎn)品經(jīng)理需要弄清楚SDK需要提供哪些能力,由于SDK多數(shù)是離線形式提供出去,對(duì)于業(yè)務(wù)方和產(chǎn)品方來(lái)說(shuō),后期修改起來(lái)都是很麻煩的一件事情,所以產(chǎn)品經(jīng)理需要調(diào)查清楚業(yè)務(wù)方到底有哪些需求,說(shuō)到底就是產(chǎn)品經(jīng)理的需求梳理能力了。
作一個(gè)AI產(chǎn)品經(jīng)理,為什么需要懂一些AI相關(guān)的技術(shù)呢?
在梳理完需求后就可以體現(xiàn)出來(lái)了,產(chǎn)品經(jīng)理需要根據(jù)這些需求,理解需要哪些算法技術(shù),才能更好的跟算法同事對(duì)接,目前計(jì)算機(jī)視覺(jué)技術(shù)是存在很多的瓶頸的,如果作為一個(gè)AI產(chǎn)品經(jīng)理不能很好的將需求梳理成算法需求,很容易給后期的算法研究帶來(lái)不必要的麻煩。
梳理清楚需求,弄明白需要使用哪些算法技術(shù),產(chǎn)品經(jīng)理對(duì)內(nèi)就需要跟算法同事提SDK需求了,告訴算法同事,SDK需要具備什么樣的能力,對(duì)外需要跟業(yè)務(wù)方確認(rèn)使用硬件設(shè)備的性能,讓后期研發(fā)出來(lái)的SDK有更好的承載平臺(tái)。
通常要求的硬件性能一般是要高于SDK要去的硬件性能的,為什么呢?因?yàn)橛脩魰?huì)基于你提供的SDK做其他相關(guān)的應(yīng)用,這個(gè)對(duì)于硬件也是有性能要求的。
第三、如何提供SDK?
SDK封裝完成,測(cè)試也沒(méi)有問(wèn)題,可以對(duì)外提供了,就需要考慮對(duì)外提供的形式了。俗稱SDK激活,為什么需要激活呢?可以不激活直接提供給用戶使用嗎?
除非是公司內(nèi)部使用,否則激活這步必不可少;如果不考慮激活,用戶一旦拿到SDK就可以干任何想干的事情,也可以在任何一臺(tái)設(shè)備上部署,產(chǎn)品方是沒(méi)有辦法控制SDK后續(xù)的使用情況的。
在第一點(diǎn)說(shuō)過(guò)當(dāng)前公司對(duì)外提供的SDK基本上都是跟硬件設(shè)備綁定的,通常采用的方式是第一次聯(lián)網(wǎng),SDK將用戶申請(qǐng)的license信息和讀取到的硬件指紋信息,一并傳輸?shù)椒?wù)端,服務(wù)端校驗(yàn)license信息,校驗(yàn)成功,則將硬件指紋信息記錄下來(lái),返回激活成功的信息,校驗(yàn)失敗,則返回錯(cuò)誤信息。
為什么需要記錄硬件指紋信息呢?記錄硬件指紋信息是為了保障后續(xù)設(shè)備在激活后,即使卸載程序,重新安裝再激活就不要授權(quán)了。否則用戶在相同的設(shè)備上卸載程序再安裝還要用戶購(gòu)買激活權(quán)限,顯然用戶是不會(huì)同意的。
在激活方案中,產(chǎn)品經(jīng)理需要考慮的是SDK端和服務(wù)端校驗(yàn)的邏輯,當(dāng)然還有服務(wù)端的功能原型;至于記錄什么樣的硬件指紋信息,在傳輸過(guò)程中采用什么樣的信息加密方案則是技術(shù)同事需要考慮的了??!
事實(shí)上,雖然SDK產(chǎn)品看起來(lái)很簡(jiǎn)單,只是一個(gè)功能性的東西,也可以說(shuō)是AI產(chǎn)品中最小的一個(gè)產(chǎn)品形式,但是同樣需要產(chǎn)品經(jīng)理考慮多個(gè)方面;比如業(yè)務(wù)需求梳理、算法需求、硬件性能、服務(wù)端和SDK交互邏輯、校驗(yàn)細(xì)節(jié)等!
本文由 @Eric_d 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自Unsplash,基于CC0協(xié)議
請(qǐng)問(wèn)離線sdk是把模型下載下來(lái)嗎
15235937625 微信請(qǐng)教一下
13072659880 微信請(qǐng)教一下
小白路過(guò) 可不可以只開放sdk的更新通道 也叫api?這樣綜合優(yōu)點(diǎn)了
SDK其實(shí)只是個(gè)工具包,它對(duì)外的形式也是接口,只是要根據(jù)需求確定開放的程度
itboyhp,請(qǐng)教一下,感謝
已加~
請(qǐng)問(wèn)您說(shuō)的設(shè)備指紋信息 是否就是 imei號(hào)
你好,還包括Android ID、MAC、CPU信息,設(shè)備序列號(hào)等;一般可以是幾種的組合生成的串號(hào),最后再做一次加密就好了
明白了 謝謝
sup441473497
好的,已加
可以請(qǐng)教一下嗎?
好的,已加
WTS12054127
好的,已加
一些問(wèn)題方便加您wx溝通請(qǐng)教一下,看方便嗎?
感謝內(nèi)容翔實(shí)的分享,我個(gè)人也在看 AI SDK PM 方向。不知道是否可以加微信 BinaryHB 交流謝謝~
好的
您好,我的微信是18510275267,能交流一下嗎?
好的,我加您
你好,可以相互交流一下嗎,請(qǐng)教一個(gè)問(wèn)題,我的wx是13545383222
你好,想詳細(xì)請(qǐng)教一個(gè)問(wèn)題,我加你微信
嗯嗯,您的wx是?
你好,能私聊一下嗎~~
嗯嗯好的,您的聯(lián)系是?
wdy362691604 這是VS號(hào)
wdy362691604 W X號(hào)
寫的很好
贊