如何做一款SDK產(chǎn)品?

30 評(píng)論 25443 瀏覽 176 收藏 9 分鐘

為什么要做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é)議

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 請(qǐng)問(wèn)離線sdk是把模型下載下來(lái)嗎

    來(lái)自浙江 回復(fù)
  2. 15235937625 微信請(qǐng)教一下

    來(lái)自北京 回復(fù)
  3. 13072659880 微信請(qǐng)教一下

    來(lái)自上海 回復(fù)
  4. 小白路過(guò) 可不可以只開放sdk的更新通道 也叫api?這樣綜合優(yōu)點(diǎn)了

    來(lái)自廣東 回復(fù)
    1. SDK其實(shí)只是個(gè)工具包,它對(duì)外的形式也是接口,只是要根據(jù)需求確定開放的程度

      來(lái)自江蘇 回復(fù)
  5. itboyhp,請(qǐng)教一下,感謝

    來(lái)自江蘇 回復(fù)
    1. 已加~

      來(lái)自江蘇 回復(fù)
  6. 請(qǐng)問(wèn)您說(shuō)的設(shè)備指紋信息 是否就是 imei號(hào)

    來(lái)自北京 回復(fù)
    1. 你好,還包括Android ID、MAC、CPU信息,設(shè)備序列號(hào)等;一般可以是幾種的組合生成的串號(hào),最后再做一次加密就好了

      來(lái)自江蘇 回復(fù)
    2. 明白了 謝謝

      來(lái)自北京 回復(fù)
  7. sup441473497

    來(lái)自廣東 回復(fù)
    1. 好的,已加

      來(lái)自江蘇 回復(fù)
  8. 可以請(qǐng)教一下嗎?

    來(lái)自廣東 回復(fù)
  9. 好的,已加

    來(lái)自江蘇 回復(fù)
  10. WTS12054127

    來(lái)自北京 回復(fù)
    1. 好的,已加

      來(lái)自江蘇 回復(fù)
  11. 一些問(wèn)題方便加您wx溝通請(qǐng)教一下,看方便嗎?

    來(lái)自北京 回復(fù)
  12. 感謝內(nèi)容翔實(shí)的分享,我個(gè)人也在看 AI SDK PM 方向。不知道是否可以加微信 BinaryHB 交流謝謝~

    來(lái)自臺(tái)灣 回復(fù)
    1. 好的

      來(lái)自江蘇 回復(fù)
  13. 您好,我的微信是18510275267,能交流一下嗎?

    來(lái)自北京 回復(fù)
    1. 好的,我加您

      來(lái)自江蘇 回復(fù)
  14. 你好,可以相互交流一下嗎,請(qǐng)教一個(gè)問(wèn)題,我的wx是13545383222

    來(lái)自廣東 回復(fù)
  15. 你好,想詳細(xì)請(qǐng)教一個(gè)問(wèn)題,我加你微信

    來(lái)自北京 回復(fù)
    1. 嗯嗯,您的wx是?

      來(lái)自江蘇 回復(fù)
  16. 你好,能私聊一下嗎~~

    來(lái)自浙江 回復(fù)
    1. 嗯嗯好的,您的聯(lián)系是?

      來(lái)自江蘇 回復(fù)
    2. wdy362691604 這是VS號(hào)

      來(lái)自浙江 回復(fù)
    3. wdy362691604 W X號(hào)

      來(lái)自浙江 回復(fù)
  17. 寫的很好

    回復(fù)
  18. 來(lái)自北京 回復(fù)