中国移动应该做3G帝国而不是山大王(八)

本文讨论了中国移动在3G时代的商业模式选择,强调了其不应直接参与低层次应用开发,而应发挥平台作用,促进第三方开发者生态的发展。文章还探讨了从梦网1.0到2.0的转变过程中,如何借鉴原有成功经验并创新。

中国移动应该做3G帝国而不是山大王(八)

《卓望通讯》访谈录(原始版)

采编/周运明

【周运明】中国移动Mobile market好像说可以关系到两个商业模式,一个是B to C,一个是B to B to C,这是怎么回事呢?

【项有建】实际上他是把它做成一个电子商务的概念,太小了的业务你中国移动他应该放了。

【周运明】就像您说的他不应该做这些。

【项有建】不应该做这些乱七八糟的,这些具体的低层次的应用应该留给小兄弟们去做,给小兄弟们一口饭吃,花轿子大家抬,别人帮助你抬轿子你还不要给别人工钱,你不但不给钱还敲人家一棒那是不对的。

【周运明简评】这是做法上不大气。

【项有建】你中国移动你要做大,你首先要学Google,只要你做到让跟你一起找吃的兄弟大家都不会饿肚子,这一大帮弟兄们自然就跟着你了。你如要搞得像苹果这样,你跟我找吃,搞不好我还敲你一棒,这样子只要是一有机会的话,大家会就往外溜了。

【周运明】就是说在梦网1.0所谓移动网的时代,他有一个著名的商业模式就是跟SP的分成15:85,您的意思是说到了梦网2.0到了下载店这一块连这15都不应该要了?还是怎样?

【项有建】要不要都无所谓,关键是看什么,你要的话也行,不要的话你发展速度就快一点,这个都不是问题的根本。关键的根本是什么呢?你不能样样都管着,这个能上,那个不能上;这个能做,那个事不能做的,不能像以前国家管企业这样的,说得不好听的,中国移动实际上在梦网上就是那帮SP的领导,我说这个能做,你就能做,这个我不乐意我就不给你做,事实上你应该别管他,你让他做,只要不违法,(那是法院管的,不是我综合应用管的),跟着你做的人多了,自然就做起来了。

【周运明】就是说在梦网1.0的时候他们积累了一个比较重要的SP管理的经验,就是他们分层、分级形成了精品、排名等等。

【项有建】这些他们都能够用了。

【周运明】这些在这儿都能用?

【项有建】对,那些经验都能用,并且是一笔宝贵的财富,你SP时期积累的一个是经验,一个是渠道,你不单只是经验还有渠道,有一帮经销商SP,SP们下面他又有一批渠道,不然他存活不了了。

【周运明】就是说在梦网1.0的时候我们有SP、CP这个概念,到了下载店这儿这些全是软件开发商了,我们管他们叫什么?只能叫软件开发商还是说也可以叫SP、CP呢?

【项有建】名称无所谓,我认为不要叫SP,要给他换一个新名词,即换汤不换药。因为SP说实在的在一般人的印象中并不好,前一段时间他坑蒙拐骗把人坑怕了。就我来说,一般来说哪个地方要填手机号了我就不填了,我怕不知道什么时候有一个坑给我踩,你换一个名词重新包装一下那就行了。

【周运明】反正说只要是开发应用的软件就行了了。

【项有建】对,名词可以想一个漂亮的、想一个好一点的、想一个时髦一点的,要跟SP彻底划清界线。这样子虽然之前对SP印象不好,但是几年过去以后人家会淡忘SP,你这个品牌就起来了。如果你还用SP的话,人家网上一查,这个受骗那个又受骗了,这个不知道什么时候定的东西想退也退不了。

【周运明】您觉得他在做下载店的时候应该做成什么样的模式呢?就是把1.0好的东西都借鉴过来,再结合2.0的优势或者是特点。

【项有建】对。

(待续)

手机输入法 输入法 输入法下载 手机浏览器 科技博客 危机公关 M-Market App Store

在 Swift 中,当以下情况出现时,应该使用 `String?` 而不是 `String!`: ### 不确定值是否存在 当变量的值可能在某些情况下为 `nil`,并且在使用该变量之前无法确定其是否有值时,使用 `String?` 更合适。例如,从用户输入、网络请求或数据库查询中获取字符串,这些操作可能会失败并返回 `nil`。 ```swift // 模拟从网络请求获取字符串,可能失败返回 nil func fetchStringFromNetwork() -> String? { // 模拟请求失败 return nil } let result: String? = fetchStringFromNetwork() if let unwrappedResult = result { print("Fetched string: \(unwrappedResult)") } else { print("Failed to fetch string.") } ``` ### 安全性优先 如果代码的安全性是首要考虑因素,使用 `String?` 可以强制开发者在使用变量之前进行解包操作,从而避免因 `nil` 值导致的运行时错误。例如,在处理重要的业务逻辑或与用户交互的代码中,应该使用 `String?`。 ```swift // 模拟用户输入 let userInput: String? = nil if let input = userInput { // 处理输入 print("User input: \(input)") } else { print("No input provided.") } ``` ### 代码的可维护性 使用 `String?` 可以使代码更具可读性和可维护性,因为它明确表示该变量可能为 `nil`。其他开发者在阅读代码时可以清楚地知道需要处理 `nil` 的情况。例如,在团队协作开发中,使用 `String?` 可以减少因疏忽导致的错误。 ```swift // 函数返回值可能为 nil func getUserName() -> String? { // 模拟获取用户信息失败 return nil } let userName: String? = getUserName() if let name = userName { print("User name: \(name)") } else { print("Failed to get user name.") } ``` ### 与其他代码的兼容性 当与其他使用 `String?` 的代码进行交互时,为了保持一致性和兼容性,应该使用 `String?`。例如,在调用其他函数时,如果该函数返回 `String?`,则接收返回值的变量也应该使用 `String?`。 ```swift // 函数返回 String? func getEmail() -> String? { // 模拟获取邮箱信息失败 return nil } let email: String? = getEmail() if let validEmail = email { print("User email: \(validEmail)") } else { print("Failed to get user email.") } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值