一、开放平台与开发者之间的合作流程?有哪些触点? 是否有行业标准?
二、开发者在过程中扮演什么角色?主要会接触到哪些开放平台方的业务/人员?
三、开放能力对于开发者的意义/重要性?对于开放能力的关注点?
四、不同行业/应用类型之间是否有差异?
五、开放平台定位(支持应用生态/硬件端等)对开发者的影响?
六、开发者是如何评价不同开放平台的?
自从Facebook开放其接口后,开放平台遍火了起来,各种开放平台如雨后春笋般争相出现,簇拥着互联网这个大平台茁壮成长。那么开放平台究竟是什么呢?它开放了什么?意义在哪里?这里从开发者的角度来谈谈开放平台的各方各面。
开放平台从定义来说,是指软件系统公开其应用编程接口给外部使用,或将一系列功能打包成资源包后提供给外部使用,使得外部的系统在简单调用接口后就能实现一个或多个复杂的功能的平台。当然开放平台发展至今,其功能往往不局限于只是提供接口这么简单,还扩展出很多商务合作、运营推广之类的功能。举个例子:微博开放平台,开放微博部分功能接口,还提供了微博账号运营托管,微博数据分析,广告营销。
开放平台的开放是有原则的,一般涉及公司核心的业务是不开放的,如果开放了那也往往直接和利益挂钩。开放的往往都是具体的涉及到某一业界技术痛点或者是可以独立于业务的某一功能或工具。如支付宝的支付SDK,腾讯的移动直播SDK,百度的地图SDK,这些功能做起来很复杂,技术要求高,但是一旦要做来却又是大同小异的,因此由大公司开发实现后再放到开放平台上提供也变的十分有意义,业务公司只要支付一笔费用,简单的接入后就能实现他们的业务需求,能把更多的关注点放在自己的业务实现和运营上,这也是业务大部分互联网公司的共同做法。这就叫专业的事情专业人员做。
开放平台的存在非常有意义,它能加快开发者的开放效率,进而推进业务各种产品的开发产出,缩短产品开发的周期,提高产品的质量,从而推进国内互联网生态的蓬勃发展。华为开发者大会上,丁耘曾说过,开放平台会加速产业合作力度,使更多的合作伙伴进入这个产业,使创新速度、创新效率和规模优势得到极大的改善。未来的数字化转型中,开放平台将会是开放式创新的重要粘合剂,而开发者是形成解决方案的一个最核心的节点。
一、开放平台与开发者之间的合作流程?有哪些触点? 是否有行业标准?
那么开发者和开放平台之间是如何合作的呢?如果提到开放平台和开发者之间的合作,我们可以把目光聚焦到开放API和开放软件包上面。开放平台是API和软件包的供应者,开发者是使用者,开发者在支付一定费用后被开放平台授权使用自己的API或软件包,双方以协议和授权使用费建立合作。整个合作流程分为五部分:
1、注册登录
要使用开放平台,开发者需要先有个平台账号,表明自己的身份,由平台根据开发者的身份选择开放哪些功能给开发者浏览使用。一般不同的身份能看到的内容是不一样的,这也方便平台方管理和减少不必要的麻烦。
2、授权服务
开发者在选择完自己想要的服务后,直接在开放平台上支付购买,这里有商业策略在里边。有些平台会免费开放部分功能,但是高级功能需要收费,打个比方,一个IM功能,基础的C2C聊天和限制人数的群聊是免费的。但是你想要这个群能容纳更多的人,那么对不起,需要付费,你想要我们维护几个月的历史消息,对不起,需要付费,否则我们只存7天内的聊天消息。
不同的服务收费方式也不一样,有的按月收费,按年收费,有的按流量收费,按开放的功能收费。不同开放程度的软件包还会分基础包、开发包、企业包等等。
开发者在付费后就能拿到平台的授权,只要在授权使用期限内,那么开放者可以用这个API或者软件包做任何不违背协议的事情。
3、商务洽谈
对于平台的重要客户,你还能接到平台的商务洽谈,或者你可以直接要求平台来一次有关开放服务的讲解,这将大大降低开发者的开发难度。他们会从原理本身,到这个系统的整个流程给你讲一遍,期间有什么问题都是可以交流的。双方还可以就价格问题展开深入的探讨,这里就不深入了。
4、集成服务
开发者在拿到平台授权后,就可以将SDK集成到自己的应用中。比如想开发一个聊天系统,本来需要从消息发送接收,好友群体,历史消息列表,最新消息列表,消息的种类样式等等这些SDK统统给你做了,你只需要在平台购买的服务下,创建一个应用,拿着系统分配给你的应用ID,在自己的APP接入SDK后,用这个应用ID登录就完了,想要的基本功能SDK已经给你做好了,极大的加快了开发速度,减少了开放流程。
5、售后
售后服务是必不可少的一环,也是合作中很重要的一部分。因为开发者在使用开放的API或软件包时,往往会遇到各种各样的问题,不理解API的含义、调用API后没有自己想要的效果,或者线上出现问题,出现crash了...这些都是要和平台方沟通解决的,售后就是中间人,开发者将问题反馈给平台售后,由售后建单,再提交给平台问题工单系统,分派给平台SDK的开发者解决问题,然后售后将解决结果再反馈给开发者。
说到合作流程中的触点,这里提几个。
1、产品的目标定位
产品定位是开发者选择的第一步,开发者在选择平台的时候肯定会选择和自己业务需求相符合的平台,或者平台的服务。我要做直播的业务,那么肯定不会去选短视频的产品。
2、平台的名气
就像买衣服那样,选择和哪个平台合作也是有讲究的,看公司的规模,平台的名气。公司的规模大,平台名气好,那么一般来说它的产品,它的服务也是值得保障的。
3、服务的质量
平台的名气好,是我们选择的第一步,但是最终还是要看提供的服务的质量的,二三线的开放平台也能有一流的服务,一流的质量。
4、服务的授权使用价格
价格这块小公司中小考虑会更看重点,一般在服务质量和名气相当的情况下,肯定是价格越低的越有竞争力。
行业标准这一块就目前来说,并没有一个统一的完整的行业标准,一般都是将那些大公司做的开放平台作为一个参考标准。比如腾讯开放平台,阿里开放平台。所以现在市面上的开放平台五花八门,各有各的特色,但也各不相同。开放平台是一个互联网平台,它是开放的,它是因为用户的需求而产生的,平台分析用户的需求和痛点,不断解决改进,自我提升。不同产品侧用户的需求点不同,这也是影响平台的发展方向的重要一面。因此想要做到统一的行业标准会很难。这也是互联网的特点,个性化的快速发展。
二、开发者在过程中扮演什么角色?主要会接触到哪些开放平台方的业务/人员?
开发者在这个过程中会扮演多个角色,平台授权用户,API使用者,问题反馈咨询者。有些平台还会提供第三方服务售卖平台,也就是开发者利用平台的开放API在平台的规则下开发应用,然后放到平台上售卖给平台用户的时候,开发者就是第三方软件供应商。这里有个例子就是淘宝开放平台(TOP),开发者开发APP在TOP上销售,本质上是在为电子商务提供增值软件服务,目标群体就是淘宝商家。
作为移动应用开发者,根据项目定位、业务发展的不同,会接触到不同的开放平台。以下列举一些常见的:
- 微信开放平台:微信登录、微信支付、微信分享
- 百度地图开放平台:百度地图导航、定位
- 阿里云开放平台:阿里云推送、OSS云存储服务
- 腾讯开放平台:移动直播、短视频、IM
- ...
人员:SDK技术研发人员、商务、售后、平台论坛管理员、第三方开发者
三、开放能力对于开发者的意义/重要性?对于开放能力的关注点?
开放能力理解为平台的开放程度,开放方向,开放的功能性和健壮性。一个简单的功能只要花点时间,相信任何一家互联网公司都有能力自己做出来,难就难在技术难度高的功能,复杂且工作量大的功能,像直播推拉流技术、地图、IM、智能AI或者是像微信分享、QQ分享这种只能有对应公司自己开放的功能。
就拿IM来说,内部的技术实现和成本是相当复杂的,如果平台开放了IM功能,但是只开放C2C,那也不行,群聊怎么办,你不开放出来总不能我自己实现吧,那还不如不用你呢。所以开放的程度也影响着开发者选择。
再比如你开放一个简单功能,大家都会做,实现成本也不高,一般开发者都是比较傲气的,自己画轮子也比接入你这个功能慢不了多少,而且后期维护还比较方便,毕竟是自己开发的,内部实现逻辑都非常清楚。所以开放的方向也不是随随便便就选择的,需要抓住用户的心理,抓住开发者的痛点。
开放的功能性也可以理解为用户的个性化能力,在功能上受限于终端平台,因此功能在大体上是差不多的,但在个性化服务上是可以有很多工作的。每个用户的需求可能表面看起来相同,但实际上有很大区别,比如IM的聊天室,在不同产品上展示会很不同,社交产品偏向于聊天消息的功能性和稳定性,有消息撤回、合并消息、翻译等功能,但直播产品的聊天室则偏向于聊天的互动性和实时性上,UI展示也不径相同。因此个性化产品服务尤为重要。
最后一个服务的健壮性很好理解,它指得是一个服务的稳定性和安全性。
对于开放能力的关注点其实上面已经提到了,这里总结下:开发程度、方向、功能和健壮
四、不同行业/应用类型之间是否有差异?
我接触过不同行业,有企业办公、社交、电商。可以很明确的说,各行业之间存在着巨大的差异,他们面向群体不同,运营策略会不同,业务发展方向不同,侧重的技术面也不同,选择开放平台服务也会不同。像企业办公类,服务群体是公司/企事业单位人员,一般都是通过网络交流沟通和传递资料,还有公司架构,员工资料。那么这类行业的应用必须要有聊天功能(IM),典型的就是腾讯的企业微信,阿里的钉钉,网易的POPO。保密性要好,毕竟事关公司机密,因此这种软件的用户身份是和公司直接挂钩的,你离职之后,你在这个公司的一切信息都将被清除,你也将收不到公司的任何消息,历史消息也不行,公司人员也将从你的通讯录里去除。还有一些与办公相关的功能都是要配套齐全的,比如打卡、工资条、OA等。社交行业偏向于交友,通讯录以及互动。电商平台主要是线上售卖商品,因此商详,以及一套完整安全的订单交易流程是他们的重点。
开放平台也会因为涉及的行业不同而开放不同的功能,有些注重运营推广、商务合作、数据分析;有些则是技术开放,提供SDK,开放API等。
五、开放平台定位(支持应用生态/硬件端等)对开发者的影响?
对于移动应用开发者来说,选择一个开放平台,还要关注它对应用生态的和终端的支持。现在很多互联网大公司的开放平台具有很大的包容性,包容万物。什么意思呢?也就是说上面什么都有,开发者不需要去其他的应用平台,只需要在一个平台就能完成所有功能的开发。这个就是应用生态,可见应用生态大大提升了开发效率,也避免了不同平台SDK之间的兼容性。而硬件端的支持是个硬指标,一个移动产品的开发,需要平台支持iOS系统、Android系统、服务端系统,Web系统。因此,如果一个平台支持的终端只有其中一种或几种,势必对产品的开放造成极大的影响。
六、开发者是如何评价不同开放平台的?
市面上的开放平台多种多样,开放的领域和内容也各不相同,但是每个开放平台都有自己的核心竞争力,有自己专业的一个领域甚至是多个。典型的比如微博开放微博的API,注重社交和流量。百度地图开放地图,提供多种行业领先的地图相关功能。没有自己核心竞争力的开放平台注定是要灭亡的。
相同点是他们都需要与开发者保持良好的合作关系,共生、共赢。在开放策略上都需要考虑什么开放、什么不开放、开放给谁,公司能从开放中获得什么,三方能获得什么。
平台需要搭建并维护开发者社区,文档要保持更新,售后流程要完善。
参考博文:
什么是开放平台?开放平台有哪些特征?开放平台能给平台本身带来怎样的优势或风险?
什么是开放平台?
漫谈互联网和IT的行业标准
互联网的那点事:商业模式、开放平台、标准
PaaS与平台混战 呼唤标准
开放平台(百度百科)
华为开发者大会:Open API时代来临
从开发者协议看各SNS开放平台的开放策略
我眼中的淘宝开放平台(TOP):概要与产品篇
如何设计和搭建一个开放平台,提供开放接口?12张PPT给你答案