61阅读

即时通讯需求分析-飞秋对决CC:还原企业即时通讯需求

发布时间:2018-04-20 所属栏目:即时通讯

一 : 飞秋对决CC:还原企业即时通讯需求

  在国内的企业即时通讯市场发展初期,市场还是一片空白,那时所有软件厂家都想着抓住大中企业用户,功能虽然各有方略但总体上产品特性相差不大,竞争格局一直未有形成。

  飞秋的前身——飞鸽传书是一款较早成名的企业内部通讯软件,在其它厂家极力往高端走的时候,飞鸽则是以免费和小身型在中小企业间推广,在低端企业即时通讯市场成功累积了较高的市场份额。

  现在的飞秋则是在功能和体积上都有了大幅度的提升,以往由于功能上的单一匮乏,与大型企业的通讯需求相去甚远,飞鸽传书一直难以迈向中高端市场。在多年之后,飞鸽传书以升级的飞秋全新亮相了,也意味着又一波企业即时通讯工具的竞争开始。

  与飞秋竞争的另一款企业级IM软件CC企业通讯,最近出招频频,从通讯产品免费到SAAS产品全线免费试用,在企业通讯市场掀起一阵使用热潮。与传统的企业即时通讯工具不同,CC企业通讯的定位不仅仅局限于内部通讯,非常重视企业全面的信息化管理,以即时协同来全面撒网企业通讯市场。据介绍,CC企业通讯配备了10G的服务器资源,双线网络资源,可以说是来势汹汹。

  飞鸽原先累积的用户资源有助于飞秋的推广,但企业即时通讯最吸引用户的无非是安全性和实用性,而从策略上看,要赢得企业通讯市场的竞争,高端和低端市场都应该能两手抓牢。

  CC、飞秋可谓各有所长,飞秋则是利用飞鸽传书的技术累积,文件传输是它的主打强项;群英经过多年的历练,在云计算的掌握颇为成熟,并拥有服务器优势,CC企业通讯的免费政策也无疑对于企业IT管理人员形成了一定的吸引力。

  业内人士表示,统一信息平台是决定未来企业即时通讯的关键,CC企业通讯在理念上有了全新的突破,能够较全面的满足企业信息化需要,除了融合SAAS应用和第三方系统的优势外,双向双重即时提醒,也是一大亮点。

  飞秋虽然在产品功能上有了大幅的丰富,但仍显单薄,仅局限于即时信息发送、文件传送,功能的延展性管理的方面都略显薄弱。要进一步开发用户市场,飞秋仍需要深度挖掘用户需求,提升软件的实用价值,来吸引中高端企业用户,其次提升用户体验,来稳定用户对产品的信心。

  影响企业选择的因素有很多,而谁能最准确的把握用户需求,谁才握有最大的胜券。中国企业即时通讯市场的用户争夺战日渐激烈,飞秋与CC的竞争将注定是一场IM市场的恶战。

二 : XMPP协议实现即时通讯底层书写(二)--IOSXMPPFrameworkDemo+分析

我希望,This is a new day!

在看代码之前,我觉得你还是应该先整理一下心情,来听我说几句:

首先,我希望你是在早上边看这篇blog,然后一边开始动手操作,如果你只是看blog而不去自己对比项目,作用不是很大。一日之计在于晨,所以怀着一颗对技术渴望,激动的,亢奋的心情去学习,你才能有所得。嗯,就拿鄙人当时做项目来说,每天早上起来的第一件事情,就是研究XMPPFramework作者的代码,按照模块来分析和模仿书写,睡觉的时候还在思考,分析,总结...

当然我并不是说每个Dev 都要向我这样,只是希望你能保持一颗积极向上的心态去对待技术,对待你的工作。

that's all。

ResourceURL:https://github.com/robbiehanson/XMPPFramework (如果你还在维护你现有的基于XMPP的产品,那么你需要sometimes 去查看,原作者是否fix 一些bug)

IphoneXMPP Demo

1.AppDelegate.m

a.大概看下头文件,ok,别跳转深入看了,下面我会教快速的看。See this method

xmpp XMPP协议实现即时通讯底层书写(二)--IOSXMPPFrameworkDemo+分析

有几个地方需要注意:

1)DDLog 用于不用不强求,鄙人喜欢干净清爽的控制台,所以就没用这玩意,因为我并不是很依赖全部打log,而是断点控制台po XXX方法,实时性找出问题修复bug

2)配置XML Stream 流 ,给你的长连接里面增加各种 buff,各种装备,各种属性。ok,不开玩笑了:),这个配置很重要,它决定了你的app需要支持哪些xmpp服务,决定了原作者(罗宾逊)哪些代码功能模块是不需要生效的

3)启动连接,当然对应的也有一个cancel connect

b 设置你的 XML Stream ,开启哪些功能

- (void)setupStream{NSAssert(xmppStream == nil, @"Method setupStream invoked multiple times");// Setup xmpp stream// // The XMPPStream is the base class for all activity.// Everything else plugs into the xmppStream, such as modules/extensions and delegates.xmppStream = [[XMPPStream alloc] init];#if !TARGET_IPHONE_SIMULATOR{// Want xmpp to run in the background?// // P.S. - The simulator doesn&#39;t support backgrounding yet.// When you try to set the associated property on the simulator, it simply fails.// And when you background an app on the simulator,// it just queues network traffic til the app is foregrounded again.// We are patiently waiting for a fix from Apple.// If you do enableBackgroundingOnSocket on the simulator,// you will simply see an error message from the xmpp stack when it fails to set the property.<span>xmppStream.enableBackgroundingOnSocket = YES;</span>}#endif// Setup reconnect// // The XMPPReconnect module monitors for "accidental disconnections" and// automatically reconnects the stream for you.// There&#39;s a bunch more information in the XMPPReconnect header file.xmppReconnect = [[XMPPReconnect alloc] init];// Setup roster// // The XMPPRoster handles the xmpp protocol stuff related to the roster.// The storage for the roster is abstracted.// So you can use any storage mechanism you want.// You can store it all in memory, or use core data and store it on disk, or use core data with an in-memory store,// or setup your own using raw SQLite, or create your own storage mechanism.// You can do it however you like! It&#39;s your application.// But you do need to provide the roster with some storage facility.xmppRosterStorage = [[XMPPRosterCoreDataStorage alloc] init];//xmppRosterStorage = [[XMPPRosterCoreDataStorage alloc] initWithInMemoryStore];xmppRoster = [[XMPPRoster alloc] initWithRosterStorage:xmppRosterStorage];xmppRoster.autoFetchRoster = YES;xmppRoster.autoAcceptKnownPresenceSubscriptionRequests = YES;// Setup vCard support// // The vCard Avatar module works in conjuction with the standard vCard Temp module to download user avatars.// The XMPPRoster will automatically integrate with XMPPvCardAvatarModule to cache roster photos in the roster.xmppvCardStorage = [XMPPvCardCoreDataStorage sharedInstance];xmppvCardTempModule = [[XMPPvCardTempModule alloc] initWithvCardStorage:xmppvCardStorage];xmppvCardAvatarModule = [[XMPPvCardAvatarModule alloc] initWithvCardTempModule:xmppvCardTempModule];</span>// Setup capabilities// // The XMPPCapabilities module handles all the complex hashing of the caps protocol (XEP-0115).// Basically, when other clients broadcast their presence on the network// they include information about what capabilities their client supports (audio, video, file transfer, etc).// But as you can imagine, this list starts to get pretty big.// This is where the hashing stuff comes into play.// Most people running the same version of the same client are going to have the same list of capabilities.// So the protocol defines a standardized way to hash the list of capabilities.// Clients then broadcast the tiny hash instead of the big list.// The XMPPCapabilities protocol automatically handles figuring out what these hashes mean,// and also persistently storing the hashes so lookups aren&#39;t needed in the future.// // Similarly to the roster, the storage of the module is abstracted.// You are strongly encouraged to persist caps information across sessions.// // The XMPPCapabilitiesCoreDataStorage is an ideal solution.// It can also be shared amongst multiple streams to further reduce hash lookups.xmppCapabilitiesStorage = [XMPPCapabilitiesCoreDataStorage sharedInstance]; xmppCapabilities = [[XMPPCapabilities alloc] initWithCapabilitiesStorage:xmppCapabilitiesStorage]; xmppCapabilities.autoFetchHashedCapabilities = YES; xmppCapabilities.autoFetchNonHashedCapabilities = NO;// Activate xmpp modules[xmppReconnect activate:xmppStream];[xmppRoster activate:xmppStream];[xmppvCardTempModule activate:xmppStream];[xmppvCardAvatarModule activate:xmppStream];[xmppCapabilities activate:xmppStream];// Add ourself as a delegate to anything we may be interested in[xmppStream addDelegate:self delegateQueue:dispatch_get_main_queue()];[xmppRoster addDelegate:self delegateQueue:dispatch_get_main_queue()];// Optional:// // Replace me with the proper domain and port.// The example below is setup for a typical google talk account.// // If you don&#39;t supply a hostName, then it will be automatically resolved using the JID (below).// For example, if you supply a JID like &#39;user@quack.com/rsrc&#39;// then the xmpp framework will follow the xmpp specification, and do a SRV lookup for quack.com.// // If you don&#39;t specify a hostPort, then the default (5222) will be used.//[xmppStream setHostName:@"talk.google.com"];//[xmppStream setHostPort:5222];// You may need to alter these settings depending on the server you&#39;re connecting tocustomCertEvaluation = YES;}

扩展:ios xmpp即时通讯demo / xmpp即时通讯demo / xmpp即时通讯demo下载


ok,let&#39;s begin.

1)创建一个XML stream 对象,这货是干嘛的呢。打个比喻:货物运输带,上货和下货 都要靠这条带子。谁让这条带子动起来?

长连接

xmpp XMPP协议实现即时通讯底层书写(二)--IOSXMPPFrameworkDemo+分析

它就是个马达。

那么这里面的货是啥呢?3种货:美版,港版,日版,偶尔带点国行。(*^__^*) 嘻嘻……,哈哈不开玩笑了。有三种货:<iq> <p><message>,偶尔带点其他标签<a><r>什么的。

索达斯内!~斯ko一!~是的,好厉害好棒哒!~发现昨天看得RFC6121有点关系啦。~\(≧▽≦)/~啦啦啦

2)是否开启后台模式---NO,除非你有VOIP需要支持,不然后患无穷,现在github 上后台issue还有一大堆没解决的呢,反正呢很复杂哒,我这菜逼就没支持这货

<span>xmppStream.enableBackgroundingOnSocket</span>

3)开启重连机制(长连接必备,心跳啥的)

开启roster(两种形式:coreData存储 or 开辟内存--临时对象存储),自动获取服务器上的roster数据?是否自动应答 已经存在订阅出席消息的小伙伴的订阅请求,也就是说是否自动过滤掉已经订阅过的订阅或者是已经形成订阅关系的用户请求啦(难点,后面章节细讲)。开启roster CoreDataStorage,也就是数据库存CoreData储技术。

开启vCard(个人信息详情) module,二次封装vCard Module开启,并且启动vcard对应的coreData 存储技术

开启capabilitie,和与之的存储技术。这货当初看了好久哒,但是现在真忘记了。。。sorry,这块需要找对应的XEP来进行脑补,不过貌似暂时用不到,就让它默认吧。

原文链接传送门

下面是 XMPPFramework的一个核心:multi delegate (作者独有,膜拜!~)

[xmppStream addDelegate:self delegateQueue:dispatch_get_main_queue()];[xmppRoster addDelegate:self delegateQueue:dispatch_get_main_queue()];
对XML stream 进行添加一个Sub Delegate回调,在当前Class,在mainThread Queue中,

对roster 进行一个sub delegate回调,在当前Class,主线程队列。

关于multi delegate 技术,建议好好看看里面的具体实现,不要求你会写,大概的核心思想能看懂就成,会return BOOL YES or NO 即可。。。

xmpp XMPP协议实现即时通讯底层书写(二)--IOSXMPPFrameworkDemo+分析

btw1:鄙人对这个multi delegate再次膜拜,当然他写的很多东西,都是让我膜拜的。。比如socket链接。。。XML解析,DDLog。。。反正好多,好了不说了,说多了都是泪,菜狗只能仰望大神。。

btw2:刷刷刷两个小时过去了,洗洗睡了,写blog真心很累。

btw3:服务器那个水?问你呢,你们环境配好了没,我这边要example测试连接了,快给个账号和密码。劳资效率就是这么高,一天搞定基本的数据连接了。

btw4:经理,我这边还算顺利,约有小成,你看这连接界面,成了,虽然界面丑了点,但是能连上服务端了,真棒。

btw5:啪!你个傻蛋,别说这事demo,怎么有你这种队友。

btw6:下期预告<IOSXMPPFramework --IM底层架构设计+技术准备工作>

扩展:ios xmpp即时通讯demo / xmpp即时通讯demo / xmpp即时通讯demo下载

三 : 挑战QQ 瓜分即时通讯市场

  前几天了解,QQ又出新游戏了,叫QQ飞车,木木喜欢赛车类的游戏,听说了之后十分的好奇,下载试玩之后,怎么玩怎么别扭“又见QQ模仿”个人感觉十分的像泡泡卡丁车,只不过是画面优化了一下而已,加了点自己的功能而已,唉,QQ你能不能有点自己的原创,好歹你也拿个好点的国外游戏汉化下啊,这几年你模仿的游戏和模式还少吗?我怎么觉得诺大的一个腾讯一个有新想法的人都没有?

  不过话又说回来,QQ敢这么做,是因为人家是有强大的用户群在支撑,人家知道不管他做什么,有大批的用户在做什么都能成功,你不玩总会有那么1%的人玩,那是什么概念!互联网用户和流量才是王道!

  是的用户是王道,但是不要忽略了,最大的用户在草根站长,互联网有多少草根站长,每个站长都有自己的独立特色,有自己的用户群,这千千万站长加起来的用户群又是多少?还比不过QQ?如果有一种模式能把大家联合起来,利用每个站长的资源,把蛋糕做大,每个人分一小块,那么即时通讯市场还会看到一家独大的局面吗?各草根站长完全可以在这个市场占有自己的一份蛋糕,这一小份的蛋糕创造出来的价值,不管从什么方面来说都比挂点小广告,利用广告求生存来的强!

  怎么做呢?很多人想知道,木木在之前的一篇文章《即时通讯市场狼烟四起,jabber标准搅局中国》聊到了JABBER的问题,很不幸很多的朋友认为我是在写软文,产生的影响完全没有达到,希望有兴趣的朋友能去了解下JABBER,木木在这里只说怎么利用JABBER瓜分QQ市场,做大即时通讯这块蛋糕。

  应该说JABBER最大的特点就是兼容互通,举个例子,现在基本上利用了JABBER协议的即时通讯软件都是可以互通的,比如你的GTALK可以用MSN登录,什么意思呢,就是说只要是在JABBER协议下的即时通讯软件的用户都是可以互相聊天的,不存在什么客户端的区别,其实现在大部分的即时通讯软件在一定程度下都是能互通的,只是某些企业或者个人为自己的利益不容许互通而已。说明这个有什么用呢,很简单,既然JABBER是一个互通兼容的协议,那么所有的人都可以建立自己的JABBER服务器,做自己的个性化的即时通讯软件,这样有什么好处,举例说明,比如木木做了一个即时通讯软件用的是jabber协议,但是木木呀专注的是棋牌游戏,和在线客服的整合(这些在即时通讯软件上很容易解决)而你则是做电子商务的,上面卖各种商品,你也有自己的即时通讯软件(当然也是基于JABBER协议架设的),那么木木的用户可以和你的用户聊天交流,这个是基本的,特别的是什么呢,呵呵,我的用户可以去你那边购物购买你的产品,而不用注册,而你的用户呢要玩棋牌游戏也完全可以不用注册登录我的即时通讯客户端进行游戏,或者你想用我的在线客服系统,则完全不需要其他方面的设置,你就可以使用,而且还可以定制,比如定制成淘宝旺旺类型的完全的版本.

  以上这么说的目的是想告诉大家,利用JABBER你完全可以根据自己的需要做自己特色的东西,你的用户再不是信息海洋中的孤独旅者,你的网站以及你的服务再不是信息孤岛,没办法和外界交流互通,这样做的前景是什么呢,完全可以利用自己的优势在即时通讯市场占有一席之地,QQ再强大他也不能忽视个人站长的力量,聚少成多聚沙成塔,个人站长只要联合起来还有什么不可战胜的?每个人每个站长都可以用自己的特色分得一份蛋糕,而市场大了,那一小份的蛋糕估计要撑大多少新公司,成就多少新时代的互联网富翁。

  很多朋友看到这里觉得又会遇到一个问题,那就是技术的问题,木木也是知道的,所以木木想用自己的技术先为大家服务,先开发一套系统希望能给大家提供一个模型以及学习的机会,具体的一些事情,木木会在以后的日子里用比较通俗的语言和大家交流,也欢迎大家能加入我的群和我讨论,群号:30410200,木木尽力为大家解决一些问题

四 : 脱掉产品包装 透视企业即时通讯需求

“这是一个最好的时代,这是一个最坏的时代。”套用这句《双城记》的开篇语,正好印证了我们所处的这个互联网办公时代的现状。20年前我们还书信传文;20年后,无纸化办公已蔚然成风。随着互联网的不断发展,企业办公也面临着新的挑战与机遇,远离娱乐、工作及时、高效交流,以及减少员工闲聊的时间浪费成为企业主们最关心的问题,企业即时通讯市场悄然升温。

随着互联网,企业即时通讯也撕去了“奢侈品”的标签,走上了“大众消费”的道路。先是由于家庭办公的盛行,企业即时通讯从局域网开始转向互联网,imo首先试水,随后,打造出全新的免费运营模式,大放异彩。众多互联网巨头看到了这片市场的潜力,纷纷抢滩企业即时通讯市场,腾讯、网易、263、等纷纷推出自己的产品,为整个市场带来了全新的活力。激烈竞争的背后,收益的自然是广大中小企业主。

2012年3月21日腾讯公司在上海召开新品发布会时,遭遇imo的“堵门”抗议,指责腾讯企业QQ抄袭剽窃,恶性打压竞争对手。此事引起众多媒体关注及微博热议,甚至有人认为这预示着3Q大战第二季的开演。而作为广大企业主来说,在这场热议中最关心的莫过于谁能真正为其带来益处,解决企业即时办公中的问题。为此,记者专门搜集了两家资料,对界面、功能等各方面进行了深入的对比。

一、功能对比:

两款产品均是互联网直接下载、无需人员上门部署的企业即时通讯工具,主要功能对比如下:

从上述表格中我们可以看到,企业QQ和imo的主要功能基本相似,最大的区别在于企业QQ注重对外沟通,如企业空间、企业在线客服等外部联系功能,其中如对外隐私权限、对外昵称、屏蔽外部好友消息等均是沿用QQ;而imo则注重内部办公的便捷与高效,注重细节,如电子公告同步发送短信、电子名片、电子白板与电子投票等。

二、费用对比:

记者从企业QQ代理商网站公布的价目表如下:

企业QQ办公版的购买年限最低为1年,资费依然按账号数目为准,最低资费为30个帐号标准总价4500元,而帐号数目100后,年费则达万元以上。这些费用与RTX相比,不分上下,而最少一年的购买期则有着“捆绑”的意味。此外,企业短信则另外计费,其价格为白银版(500元/工号)0.04/0.08/0.12 元/条、黄金版只有0.02/0.04/0.06 元/条,但其工号价格高达1000元/工号

相对而言imo则显得平民化许多,其官网首页上“免费下载、注册及用”很好地诠释了其主题思想。除对企业短信、电子传真收取一定的费用外,企业主无须付出其他任何成本。

在第一部分的功能对比中我们发现,企业QQ除了比imo多了企业空间、企业在线客服等外部联系功能外,目前并没有推出其他特色功能。而相当讽刺的是,这些现有功能在个人QQ上是完全免费的,而到了企业QQ中却成了收费的特色功能。腾讯为什么要将其捆绑销售,让不需要此项服务的买家分担开发成本?

在市场上同时出现两款价格相差极大、而功能却非常接近产品时,我们不禁要问,到底是什么让企业QQ敢于打出收费的旗帜、让企业主负担高昂的软件成本?是高额的代理商佣金,还是天价的宣传账单?抑或是后期即将开发、目前尚未推出、却要现在付账的“特色功能”?

购买企业即时通讯软件的企业主们要为哪项“特色功能”买单?这是一个值得每个企业主深思的问题。

三、后续服务:

在产品的后续服务方面,imo表示会一如既往地“专业、专注于企业办公”,为用户提供最优秀的办公产品;企鹅帝国的实力自然不用怀疑,在“山寨”方面,腾讯一直表现出超强的模仿力。这样来看,企鹅似乎比imo更具实力。

然而,imo的免费模式似乎是给用户作出了一种“无形的承诺”,因为只有它时刻保持卓越,坚持在五年中每3-4个月就会做一次版本升级,这样的产品用户才有可能不抛弃它。而企业QQ则完全相反,其高昂的初期购置成本、最低一年的购买期、“买四赠一”的优惠打折,无形中增加了用户的更换成本,使其“不敢造次”。

另一方面,imo免费模式所体现出的“以用户为中心”的企业家精神也值得人尊敬。当一种需求是所有企业都需要的时候,它必将会走入免费的结局,imo所倡导的微成本企业信息化,是将高额的研发成本由海量的用户摊薄,力求让每个企业用户无惧成本压力,实现高效办公。与之相对,腾讯复杂的套餐价格、功能捆绑销售的整合营销则逊色不少,一些功能只在宣传中包装华丽,用户的使用需求却不大。

腾讯最近的大动作很多,每天必上各大门户网站互联网新闻首页。当腾讯要开快递了,要做手机电视了,要弄QQ圈子了的时候,用户如何确定腾讯未来会一直将企业即时通讯业务作为重点?当腾讯TM停止更新长达两年,RTX战略被抛弃之后,如何保证企业QQ不是下一个被抛弃的对象?

四、企业级服务到底是什么?

误区:“付费的产品功能多,有保障?”

生活中我们总会为看起来可能需要、实际需求却并不多的服务付费。这样的做法实际上是为了少部分功能分摊大部分软件成本,性价比不高。而通过上面的功能对比我们发现,付费产品提供的有效服务甚至少于免费产品。

正解:适合自己的才是最好的。

另一个值得考虑的因素是互联网上SNS社交网站的兴起,如新浪微博、图片社区等新媒体的出现和火热。当人们愿意花更多的时间在微博上絮叨时,QQ即时通讯活跃度似乎受到了不小的威胁。越来越多的SNS网站推出了一系列应用和用户体验改善措施,增加了好友即时聊天功能,更是有紧逼腾讯QQ的个人即时通讯市场的势头。越来越多的企业选择在校内、微博等网站上建立自己的官方帐号与客户实现互动,解答客户疑问或者进行网络营销,建立良好的客户关系,互联网独特的传播特性能让他们挖掘更多的潜在客户。到那时,企业QQ办公版最大的优势——与个人QQ用户互通的需求将被弱化。

总之企业主在选择办公软件时,应结合自身的实际业务需要。如果公司主要的业务是面对顾客,解决顾客投诉或者咨询问题,那么花费一定的费用去购买一款可以实现对外办公的即时通讯工具是可以的。相反,如果企业主要的工作都是内部办公或者对外客户主要是企业团体,那么免费产品不失为更好的选择。

本文标题:即时通讯需求分析-飞秋对决CC:还原企业即时通讯需求
本文地址: http://www.61k.com/1108634.html

61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1