TUP第三期:谷歌刘昌皓分享Android设计技巧

新浪科技其他
由CSDN和《程序员》杂志联合策划组织,旨在与业界人士分享IT产品背后的技术和用户体验故事的线下活动,第三期TUP系列活动21日在北京丽亭华苑酒店成功举办,本期主题为“Android与bada实战”,延续首期TUP的Android话题热潮,本期内容特别关注了Android应用开发框架和UI设计模式,进一步聚焦移动应用商店在全球尤其是中国的盈利模式。虽然由于下雨的关系天气并不利于出行,但仍然挡不住与会者的听讲热情,现场座无虚席,听众与嘉宾热烈互动。
谷歌开发技术推广部工程师刘昌皓
刘昌皓为参会者带来了Android应用开发图形界面设计模式。
以下为演讲实录:
刘昌皓:我今天要给大家讲的是我们Google推荐的UI最佳实践。如果你在我们Android商城想装一个软件,怎么评估这个软件好与坏,你的用户看你的软件,(很大程度是根据)第一眼的感受。所以说我们做一个软件,推广一个软件的时候,UI的设计等等是非常重要,因为会对你软件在商城里面起到生杀大权。包括对刚才同学的问题,我想补充一下,Android平台是否安全,刚才说了很多点,我只想说一个,你做过Android开发,每个应用程序会有一个文件,在文件里面想使用一些系统功能,需要在文件里面声明,用户安装会看到这样的提示,你装软件的时候可以默认提示你,是否允许,如果不允许就无法安装,使用之前给用户机会避免恶行为发生,所以可以杜绝用户使用恶性软件的可能性。
我们为什么要看UI,首先我们做软件,我们有多少是个人开发人员,有多少是做移动平台开发的,有多少是开发人员,我们做开发的时候,作为一个开发人员我不知道大家有没有这样的经历我很长时间做开发,我做出一个很好的功能,拿给我老婆看了一下,她说你忙了这个月就做这个,我的感受你说你不懂,你把这个东西发给所有用户,你的UI不好,用户都会鄙视你,因为你浪费了你的生命做了一个不值得的事情,因为用户不是开发人员,他会看你的软件本身,会看你的软件是不是很好,是不是看起来很正规的一个软件,一定要看UI才能得到你女朋友的肯定,你的家庭才能幸福,不仅仅这样,后来你软件做得好,我们每天有20万的手机被激活,放在我们Android商城上面,1%下载使用,每天是2000个用户,一年会有多少用户,你的软件卖一美元一年会有多少钱,无论是个人用户还是为公司开发产品,轻轻改变一下软件UI设计可以拿到这些回报是很划算的。
这里面列出我们从一个Android商城角度看,UI会对他们带来什么样的价值,首先一个好的UI会被别人认为你是这个软件质量很好,一个质量很好的软件,别人有这个兴趣下载,完了会使用,尝试,探索你软件,一个软件对一个新用户还是很难,尤其是不做软件专业开发,他使用,探索以后,会觉得这个软件感受真的很不错,可能会回到商城给你一个答复,你的投票用不着好的,搞都是五星排名会越来越靠前,导致下载量越来越大,真正导致你的软件品牌效应出来,为什么谷歌,微软做得很成功,很大一部分是因为品牌,一旦把品牌构建起来再做其他软件都会很轻松。
今天我会从这几个方面,怎么做一个很好UI,怎么把品牌提升起来,我问一个问题TUP是什么,Android是一个TUP很好的案例。我会说一些UI基本构建,还会说一些设计模式。我今天给大家说不是开发上面的事情,我说的是UI的事情,我们会看一下Android有多少不同的屏幕尺寸,针对这些有什么策略会达到一致。我很喜欢讲TIPS,帮助大家解决困难问题,我会说一些国际化的问题,软件不仅仅给国内用户讲,可能还想出口。
大家对这个界面应该很熟悉,这个地方点这个会做什么,会启动应用程序,还有一些是我们上面notification,如果有用过iPhone和Android可以比较一下有什么区别,iPhone只有这边,这边是没有,这些是什么,是我们后台的一些notification,我们允许后台传递给信息给客户,还有一些widgets,给用户直观感受,想用一个什么功能,不需要起动应用程序可以直接通过widgets点击它。
我们还会有一些搜索框,可以直接搜索我本地的内容,可以搜索网络上的内容,还有一个livefolders,当我想保存一个文件到我的文件夹,这个时候被另外一个进程修改了,在livefolders可以实时看到文件夹的变化。还有livewallpapers我们看看这些UI是怎么组成,你对这个关键字还是很熟悉的,views是vies,groups,是layouts等等,这些列表可以在下面连接看到,把拼装在一起可以组成,activities作为一个窗口,组成一个文件,通过Android编辑以后可以变成一个程序。
如果做过UI开发,可能会有一些事件,点了按纽会出现什么事情,会有一个事件相应器,当有这个事件可以做一些事件处理,现在我做的话是单独放到一个变量,在这个变量复制进来,我可以把这两个东西在到一个类里面,实现一个接口。无论是刚才还是说我们的组织,我们一些简单的代码,改你UI,做你UI是非常简单只要做过JAVA开发,或者类似语言开发,UI开发,事件模型语法是很熟悉的,所以做这些东西并不难。
难在哪,是很多人不知道我们有很多好东西,不知道怎么用,我说一些好的方法,今天说只是冰山一角还有很多,可以到网上搜索,这里面会说5种,第一是dashboard做过网站批发这个页面会想到什么,就是用户看到第一页的感受,所以dashboard是重中之重,如果设计不好,你的用户会在24小时之内把软件卸载掉,因为他觉得你软件设计很烂,在dashboard是不言而喻我们要做什么东西,看什么东西让用户觉得很好。
用户在你的首页里面希望做什么事情,用户用手机是任务向导,主要目的是用功能,要你软件提供的核心功能显示出来,这样用户到你手机里面以后,可以快速找到功能使用,不能让客户每次打开都是一样的按纽,要有新的东西吸引用户是我们下面的什么是是新的更新,或者一些交互的内容可以放到下面,还要考虑一点,手机可以竖放,横放,所以说在设计应用程序的时候要注意,竖着的时候可以用这样的方式,上面是按纽,下面是更新,如果横着肯定不合适,因为用户需要滚动屏幕,我想用户一屏看万这个功能,我怎么做,分成左右,处理你的手机横竖不同,这些细节非常重要,给用户会有一个很好的感受,同时我们有dashboard建议,不要太多,太多用户不知道哪个是最重要,也不要太少,用户还要找其他的功能,还有把你应用程序相关的用户一些最新消息放到里面,用户可以很方便找到内容,再一个要漂亮,吸引人,让别人看到就是好软件,不是说一看就知道是山寨版,怎么做好看,很多功能在里面,是一个合适功能数量在里面,还有一些新的内容吸引用户是要跟你们的UI设计人员讨论的,你也可以从我们后面讲座里面上网学习中学到很多经验。
还有一个东西是我们的actien,bar,感觉跟网站导航很像,就是你应用程序导航栏,你的应用程序可能有很多页面,为了让用户使用的时候不会丢失自我不知道自己在哪个页面,可以提供一个导航,用户可以按一个按纽回到首页或者相关内容,我们对actien,bar有建议,放一个常悦功能,还有对里LOGO放进去,每次用你程序,无论哪一页都能看到你的LOGO什么东西不要放,一些跟上下文相关的按纽,比如说某一个页面提供用户恢复专发,另外一个页面提供一个删除编辑,不要在页面跳转我的actve bar的时候有变化,这样用户会不上爽,这些相关按纽放在哪,我们个概念叫quick actions,点连接弹出一个对话框使用起来软件非常的轻松,会觉得这个功能是我平常的用户习惯带来的,让用户使用软件要有一个很顺畅的流程。
有了这些我们软件基本完成了,基本框架构建起来了,还有哪些,要有search bar我们看这个设计,不仅仅有一个搜索框,还有按纽,可以在这个地方做一个分类,用户有些时候想搜索所有内容,有些时候只想搜索人,或者一些内容,我要给用户一个可能性,让他方便选择,同时我还要把页面设计更加简单,这个地方我们借用了quickactions的概念,还有一个就是campanion,widget,你软件很庞大,你想给用户很直观的感受会考虑用这个,可以提供软件最新消息,搜索框,用户常用使用的功能,companion,widget可以放在Android屏幕里面,这些内容如果使用到你的软件开发,对你软件整个界面设计会很大帮助,很多软件应用这些,但是用户反馈还是不会很好,说你的软件很难用,其实就是说意思是用户在你软件里面找不到相关功能,可能觉得软件里面应该有功能,事实上有,但是就是找不到,你在设计软件界面流程的时候,有一点很重要,一定要假象你一个用户,刚进入应用程序开始,使用各个功能,我该怎么点,对来说是最容易理解的,有一个办法,在你的脑海里面建立一个树型图,只要能把树画很清楚,深度也不是很高,用户一般使用你的软件会比较简单一些,这里面有一个设计案例,在widget,放一个按纽,开启应用程序有一些常用功能,搜索,最新消息内容,用户点击以后会进入activity,会有一些常用功能,有了这样设计功能,你自己会觉得非常清晰,用户使用起来也会觉得非常轻松,更多内容搜索我们Android UI,看我们谷歌I/O 2010年的演讲,里面会讲到很多东西。
同时我要提一点,在你的设计UI的时候,如果应用程序不是一个付费程序,要通过广告挣钱,要考虑我的广告怎么放,能和我界面恰当融合在一起,不要把你的广告,比如说你界面中心核心内容就放在这儿,像一个山寨软件一样,提过用户使用感受同时,让你广告和界面和谐的放在一起,这样大家可以多注意一些。
我说关于我们UI基本内容,后面我说一下在Android做开发的时候,可能会遇到一些不同的屏幕尺寸,怎么样保证你的用户感受是一致,前面讲概念,后面深入到一些开发细节方面,现在我们Android有那些分辨率,我们分辨率不同,有320×240,这些不同反变率想一下,之前按纽以像素为基本,不同屏幕用户感受是不一样,用户想点按纽想很容易点到,一定要做素材的时候要考虑不同屏幕做不同大小是我们讲到一个resource qualifiers,就是说我们总结以往移动设备开发应验,有很多疼是我们开发人员开发移动设备的时候,同样一个系统我们要针对不同的分辨率题目做不同的事情,我把所有素材根据不同的分辨率,语言,放到一个resource里面,一个包再一个手机上所有用户感受是一致,Android保持用户体验一致性很大的努力,那么怎么使用呢,还有一个也是跟相关的一个 我们叫9patch,drawables,我要做不同按纽能不能做一个按纽拉伸我们不推荐这样的做,因为性能问题,如果这样一个按纽拉伸整个屏幕这么大,边角弧度肯定会变化,用户会看到很多马赛克,因为整个东西被拉伸了。怎么样我能保证这样一个东西,被拉伸到整个屏幕的时候,还是保持一个很圆润角度并且没有马赛克的情况,我们在图片边缘画一个像素点,上面,左面,画一个像素,如果有黑色像素定义这个树线像素条目是复制,拉伸的时候会把这一行一直填充复制,左边和右边是没有拉伸变化只是复制,这一行,这个东西也会往下或者往上复制,有了这样定义争得图象界面即便拉伸很大也不会出现马赛克,因为是复制不是拉伸。怎么样知道这个效果,下载一个AndroidSDK,里面有一个应用程序是帮助你画这个图片的,画看,可以理解这个概念怎么运作的。
比如说我有一个按纽,要给用户一个事实反馈,按纽没有点是什么图形,点下去以后可能第三种,当我离开以后可能又回到第一种,如果按纽被静止掉了,你也给用户实时一个反馈,用户看起来知道这个按纽不用点,要给用户一个实时反馈,让他知道这个按纽能不能点,要让他知道,这个东西当前状态是什么样的,不会误导用户,怎么配制呢可以定义我们内容,相关按纽图象是什么样,用户点的时候会有一个适当的变化, 我们还有一种方法可以节省我们空间的,这里面我们看一下,我们现在Android立功一个功能就是layer,drawables,有一个边框,黑色区块,加上一些代码可以生成这样一个图,为什么要这么做呢?
有人说是颜色的问题,现在我要有一个需求要做绿色,蓝色,黄色,我需要做四次,如果我做了一个边缘框,遮罩层,我只要改变颜色,生成很多图片,所以说当你设计图片的时候,如果想生成很多色彩图片,可以用遮罩层加上颜色,边框,颜色可以多变,甚至可以在程序里面动态生成它。
我要告诉大家不要做什么事情,不要做坏事情,还有把你的UI做一份真正适合你的Android手机,你们有做Android,iphoen等等,不要说在其他平台上这个界面直接搬到Android界面,这样不合适,Android用这个系统,一种惯性想看到所有用户界面是有Android风格,不要把你界面让用户感觉这个程序本来不是在Android界面上,不要模糊你的用户,你做界面交互不要做得非常乱,点一会儿不知道在那边,还不知道返回按纽,四种效果按纽,要注意,要把一个按纽像一个按纽,我看过一些内容,白色界面有黑色文本,有一些东西可以点但是也是黑色,我就想这个软件是什么功能,最后我发现有一个是可以点,不要让用户有这种感受,这样用户我相信肯定会卸载你的软件,一个按纽做得一定要看起来像一个按纽,给用户一个实时的反馈。
如果做一个当你屏幕有不同的变化的时候,不会有自动变化,必须要有滚动条,这样对用户感受很差,这个跟上面是相关,不要使用像素相关,是使用一些DP,SP这样图片尺寸文件大小才一致,不是我说高分辨率看很小,低分辨率看着很大,不要使用太小字体,用户看手机不习惯于把手机放得很近,如果你做得过小,要很努力看你的内容,这样体验也是很差,要用适当字体,让用户调整你的大小。
如果你做UI设计最重要一点,不让用户机会想,要做一个足够傻,简单,漂亮的界面,让用户不用想会用你了软件,同时很喜欢你界面的设计。我们讲了很多不要做什么,我看一下要做什么,你做你的要为不同的设计,有做高分屏低的,用户在安装的时候可以拿到一个最适合的安装,有些人会担心会不会把包搞得特别大,我在前面说过有很多方法。还有一点做一个大按纽,可以看起来就能点的按纽,包括我们一些连接让它足够大,再一个网页发现三个连接非常小,紧密在一起,你要点中间,但是往往点到左边或者右边要设计足够开。
有些我们会看到图省事,办法还有一些锯齿的东西,本来很好,很多用户看到会不爽,就会删掉,让你用户看你应用程序第一眼就有很好的感受,我们使用一个合适的一个边缘距,手机是有边框,不要把你文字,图片太靠近边框,用户看起来会很拥挤,我还会提到一个什么设计你应用程序界面。你的应用程序会不会使用到滚动,当用户滚动这些按纽的时候,相应程序要做一些相应的变化,用户操作系统会方便一些。
刚才我说到重新整理,做更加友善,用户更好理解,用户即便使用庞大程序也不知与迷失掉,当方向性有横竖,屏幕也要做一个变化,这样对用户使用很方便。还有一些我们方法可以缩减我们的程序包大小,或者代码复杂性,如果你觉得一切都太麻烦建议招一个UI的专业人员,不要觉得UI设计人员想法很难理解,他们是从用户角度考虑,还有找你的老婆,老公不是搞IT,使用你的软件,尽早使用他们会给你提供很多宝贵建议,一般情况不是搞IT,对软件想法和概念都是一个新手人的自然反映,这种反映往往是大多数用户产生,听他们建议,尽早把软件给你测试用户,朋友也好,不要是搞IT,给他们用,听他们的建议,你对这个软件理解会有一个新的变化。
这里面做一个例子,这个是我们的Android一个界面,2.1里面也有,这个界面里面有时间,日期,天气,地点,还有电量相关一些按纽,还有闹钟等等,可以调屏幕亮度,可以看到功能很多,但是看这个界面不会觉得很拥挤,这里面又有一系列问题,很多讲一个中庸之道,做一个界面设计要很清心又不能太简单,设计内容同时要做得很漂亮,要说只有内容就很丑,同时整个界面要有多样性,不能所有 东西都靠左对齐,要有一些变化,让用户觉得很放松,再有一点把体内容放到云里面,前两天有一个国际互联网大会,有一个主题是讲云计算的,云计算是一个趋势,把你东西放到云里面,用户无论是手机,桌面电脑使用这个程序这个数据是同步,也不会丢失,都在云里面,有了这些云备份,计算,云存储你的程序会非常的好,对用户感受统一感受,无论在哪个地方随时随地都可以拿到最新信息,要在中心找到平衡点,但是也不要所有东西都放在里面,毕竟我们现在网络环境还不是那么好,还有很多云服务在国内想找一个很好的云服务业很难,所以要做这个方案要怎么取得这样一个中间点,设计你的应用程序。
后面有一些建议,你做你UI设计的时候,怎么做呢,首先跟你用户沟通,把你的应用程序最早给你用户使用,把一些正确东西显示出来,给用户一个很好的反馈,页面上用户点什么有很好的反馈,用户使用程序是有容错性,用户想什么东西就给他什么东西,不是符合用户逻辑行为不要在你软件里面发生,我们给大家做了一个例子这是Android的界面,做了一个小程序,大家看一下,这个大家看起来怎么样,这个东西我们看一下,谁能给我提几个建议,做得好看一点,首先上面的字看不清楚,按纽在这儿,还有很花的蝴蝶结,还有一些字,软件是长旅客航班管理软件,上面还有小狗等等,说这个例子让大家看一下不要做这种设计,看起来很酷,不要用太酷的点子,你的软件是什么年龄,技术水平,文化背景,他们什么时候用你的软件都要考虑到,做一个合适界面给他们,你作为商务人士要做的简洁,明快,易用,如果是给小孩子,90后要做可爱,新潮不同用户群要有不同软件,最重要调查用户,然后给用户一个很好的感受,对于你真实用户来说,尽可能频繁跟他们做沟通,比如说找一些不是搞IT,
年龄大小一点的做测试,还有把正确事情显示出来,我们把常用功能放在这儿,用户对哪些感兴趣放在这个页面,这个页面里面没有什么是多余,当你评估一个页面的要想这个页面有没有什么东西是不够,还要想有没有什么东西是多余,让用户需要的东西,尽可能直接显示给用户。
还有一个显示一个正确的反馈,按纽可以点的时候,要显示可以点的状态,不能点了,要显示不能点的状态,不要说不能点还是一样,让用户指头都点疼了,我见过这种软件,不要你的软件放到商城里面,还有把你应用程序按照用户希望做,比如说用户点这个按纽希望达到一个什么效果你要给他这个感觉,不要说用户点了按纽,本来我想听歌放出一个图片,这种感受是很差的,要思考,用户在当前页面环境想做什么事情,就让他们做什么事情,这样给用户会有一个很舒服的感受,同时考虑如果所有东西太复杂,用户想做一个事情,比如说想听歌要点好几个按纽,用户最长用的工作要花费很长时间,你这时候要重新思考怎么做会更加合理,同时不要吓你的客户,是一个漆黑的夜晚突然弹出一个对话框高度你应用承袭错误你肯定会吓一跳,你的应用程序出错了,不要突然出来一个窗口,多加一些错误预测,给用户一个很友好错误对话框,即便出现可以把错误传到网上,或者告诉用户现在服务不可用,不要吓大家一跳。
如果对错误是存在系统之中,肯定会有人发现,一个普通非IT人员试用你的程序是最容易找出问题的,如果你找一个专业人员,有一些测试人员刚刚大学毕业,不知道什么测试会慢慢形成一个思维框架,不要说你自己,你自己测试肯定测不出来错误,要想让一个真正用户想怎么做,能把这个东西测出来。在设计应用程序的时候,现在程序有很多版本,我们程序最好看一下我们CDD相关测试,才能确保你程序在Android系统上面可以很好的跑。
我们还要考虑一些相关问题,比如说物理屏幕尺寸,还有横的还是竖的,有没有物理键盘虚拟键盘,如果是虚拟键盘屏幕会截住很多这些东西都要考虑,越深入考虑问题越多,你对UI不在行招一个人,或者找一个合作伙伴专门服务UI设计会好很多,这里面给大家一些信息,看一下我们现在系统分布图,是全球,截止于8月2日,我们Android2.1最多,2.2越来越,1.5有一些,1.6有一些,还有其他的一些更早的一些系统,占很少一个比例,这里面我 看屏幕,高分屏很当,中分平也有,低分平就很少了。
同时我要说到一点,尽量使用relotivelayout,可以节省你屏幕的渲染页面性能开销。我说一下国际化的问题,什么是国际化,如果做过Java可能都知道,Android在我们写我们应用程序把各种语言素材放在我们包里面,会选择一个合适的素材,对于字符我们放到RES/VOLUES,定义我这个素材是针对哪个语言,过高分辨率。qualifier有优先级问题,有些高于是高于屏幕尺寸,优先级编列可以在这个列表里面看到,我们看一个流程图,首先找我当前应用程序有没有qualifier定义,判断当前系统是什么状态,搜索qualifier有没有满足,找到满足的,完成相关内容,会有一个小问题,我手机是一个英国英文这样的环境,这个是一个竖屏幕,高分平,不太触摸有有这么多的qualifier哪一个是最终系统会被限定的。
正确答案肯定不会是第三个因为是法语,也不是第一个和最后一个,第5个也不对,第二有线既是PORT只有第四个。这个要注意我们优先级的问题。
这里面有几个点是可以提高性能的,是我们近8年来个人开发经验的一个总结,这个是通用的,这里面首先提到一点就是memory和objects,这个东西只要管理好,基本上性能会很好,Android里面也一样,怎么管理呢,是一个很大的话题,我想提到首先关注gC,会话费几百个毫秒可能是历史长河一瞬但是用户会是很长时间,会觉得你界面是一卡一卡的,因为GC会停到所有的现场,但是怎么避免让系统尽量少用就是下一个环节,不要在一些关键经常调用的函数里面创建对象,如果你能避免更多创建对象可以节省很多被消耗掉,看到这些函数不要在内部创建对象,而是或者缓存其他,或者放在池里面,不要放在函数里面,你有联系人列表,用手很快画一下屏幕,会被调用上百次,所以在划以后会越来越慢,很多会用到listview,做这个的时候通过用adapter,gettview会经常调用,我们把对象创建出来,simple,but expensive。Improve it recycle view。Try,viewHolder。如果以后做Android开发如果做到listview,要计下关键字是viewHolder,你在屏幕上如果用第一种方法,我们不到十个SPS每秒钟刷新率不到十个。还有一个是我们background和lmage不要实时缩放图片,缩放是非常耗时如果是图象直接影射屏幕就出来了,缩放要对每个象素进行运算,才能得到完整图象,对于计算机还好,但是对于移动设备CPU不高,内存很小时间开销是很高。如果你用一个已经pre—resize,zheimage会提升一倍的性能。
还有一个是invalidate你做页面的时候,你刷新一个内容的时候,会调用一下invalidate,我们建议你对仅仅需要的区域做invalidate,加上一个参数画了一个方块,还有一个就是views和layouts,如果有很多views叠加在一起,加载要进行编译过滤这个用时间是非常多,把压缩成几个简单的views放在一起,这样layoulc看回来会简单一些,有几方法,我们用relativelayout合在一起,再我们可以用merge的方法,还有用手动需要显示出来,这样才能提升你的性能,总结起来最重要一点,在一些关键性函数不要分配大量对象。把你逻辑代码设计越简单越好,越简单就越快,不要太简单,要在简单和漂亮找到一个平衡点,我们使用一个正确的方法,今天我要讲的内容就这么多。
提问:你刚才说应用放到云计算里面,你能再详细说一下。
刘昌皓:谷歌有一个API,C2DM里面会有很详细,怎么使用谷歌云功能,云计算这个东西概念很虚,很多人说云计算,我个人看,云计算本质就是说把一些数据放在网络,对于网络基础构架是云计算中心的范畴,对于Android系统来说,谷歌想表达意思,更多把你的网络相关的功能放进来,把数据更多到网络上,不要你的数据全部放在网络上本地做数据处理没有问题把地数据放在网络上去,C2DM是Android针对云计算的一个解决方案。
提问:因为Android是开源的,不同厂商导致原代码导致UI各方面设计不一样,Android不停推出新版本,从1.5到2.2Android会不会最终解决UI统一性的问题,这个可能无形中给开发者造成很大的负担,我需要对各个机型做匹配开发。
刘昌皓:这个也是我们头疼问题之一,我对这个问题没有一个很好的答案,我想给大家分享一下我的看法,所有开源产品有很多分支,最终肯是最优秀分支主导市场,现在可以说谷歌的原本Android2.2,这个可以说是一个旗,对这个问题要分几个层面看,首先是系统本身的改变,比如说Ophoen,UI也有改变,每个厂商做一个自己UI体系,这一点不是很大的问题,最主要系统本身变化,因为我们谷歌对于Android系统是最资深的一个公司,所以可以看到就是说Android一些很有价值的特性会在新版本慢慢体现,这些厂商做分支化他们也有很大风险,如果他们的速度没有谷歌原始版本快,或者产品没有产品号,有很多人用谷歌,会导致市场占有率越来越低,我们野战军不排除会超过谷歌,但是我们在还没有看到,这个事情很难讲不允许厂商做这个,这个不是一个很开放生态系统对于整个东西,我觉得我们开发人员想做这个市场的话,找大旗看哪个是市场率最高的。你要想说我想做应用程序又向在标准Android老,又想在乐phoen跑是不太可能的。
对于其他的改造厂商我可能偶尔做一些辅助更新,做一些兼容的方式,看你自己,对于谷歌自己,Android是开源的我们没有任何权利限制别人,在市场净化当中总户有人倒下,起来要找对方向,这是我个人的看法。
提问:现在iPhone和Android都做电子商城,大家看到这个趋势是比较明显,但是它的隐患是什么,做Android开发,怎么做UI,有很多好前景,从谷歌整个开放平台开源这个门槛有一点拉低,做开发我开发一个应用怎么能够更好的体现自己的区别度,再怎么比较好防止山寨化。
刘昌皓:首先我个人对于电子商城的看法,我们有自己的看法,把应用程序放在一个集中地方让用户下载,苹果有审批机制,要跟用户做很多的要求,比如说某些程序不能做,有很多限制,我们采取开放态度,所有人可以在商城里面放程序,只要不要放恶意的弊端任何事情都优与劣对Android我觉得弊端可能是里面软件量会非常大,有时候用户不能选择,搜索某种软件,其实这个问题也在不停被谷歌解决,也就是说我们内部经常会沟通怎么把Android商城做得更好,我们想提供一个互动平台让用户决定 好与坏,比如说我们看用户下载量,使用频率,安装率,用户评价,更新次数很多因素找到一个好的算法,可以大概算出来这个软件是不是好的软件,是好的软件可以给用户一个排序功能,或者按时间,用户推荐度或者算法优先度,用户还是可以找到合适的软件,当然也有一些垃圾软件,是有一层一层的淘汰,因为它肯定排在最后,只要我们能把算法找好,安全性控制住就不是问题。
怎么做很好应用程序,让他在里面很突出,不仅仅关系到应用程序思路,市场接入点,是要做细分市场,还是关心你商城怎么做,怎么做广告,宣传,还有产品技术本身,程序是不是足够健壮,功能是不是最好好,确实能满足用户需求,还有UI是不是合适,推出时间点这个是非常好的话题,这个话题里面我相信我们一个小时,再多时间也说不完,是你需要跟你的团队不停的商量,因为每个团队都有自己优势,你要到到优势,把其他地方补上去,把这个产品放到商城里面做,同时可以跟其他放在网上下载,可以跟商业谈,直接帮你预装,各个方式都可以做。
怎么防止山寨化,哪有钱赚哪的人就会多,现在苹果数量,随着C语言很难,同样会有很多人学习,这个跟语法简单和难没有关系,只要市场好肯定有人做,Android使用JAVA语法不是说Android门槛低,怎么防止山寨化我个人感觉你看看谷歌的产品就知道,谷歌产品有很多也可以山寨化,可以山寨谷歌搜索引擎,界面一样,核心不一样,这里面有很多,包括算法,产品,不断更新及这些都是你的核心竞争力,你要找到你的核心竞争力,别人就山寨不了,这个跟你平台,语言是没有任何相关性的。