编者按:本文原载于电子系统设计,作者林峰,是一位手机IC设计从业人士。作者从定价、宣传渠道、文化这三方面分析了为什么华为干不过小米,他认为,华为手机比起小米,缺少对消费者的“人性” 与 “心” 的理解。
我想声明一下,我题目中说的“干不过”并不是指销量,因为以华为的渠道庞大和低价机型繁多,其手机销量已经为千万级别。而小米尚在百万级别。
我所说的“干不过”,更多所指的其Ascend系列和小米的对比,其话题性,受众欢迎度等等。
华为手机最近声势浩大,Ascend P1上市典礼更是群总云集,载歌载舞,不知道的人还以为是华为春晚。
既然如此热闹,我们这些玩机之人,忍不住要将华为手机和时下的话题手机小米做一翻比较。
如果你期待这篇文章又是一番手机性能跑分大比拼,那对不起要失望了。因为我个人认为,在P1和小米这个级别的手机,性能已不是最重要的因素。
P1干不过小米,不在技术,而在定位和文化!
在对比华为和小米手机之前,先问大家一个问题:你们认为星巴克卖的是咖啡么?
网上有个帖子说过,星巴克卖的不是咖啡,而是服务。可我认为不止,星巴克卖的不但是服务,更是一种感觉,一种高雅轻松,悠闲舒适的感觉。所以,同样味道的咖啡,在星巴克可以卖40元,在麦当劳只卖15元。
其实在手机方面也是如此,同样性能的手机,现在争取客户的渠道和方法不再是靠硬件有多强,而是围绕着手机方面的文化作用有多大。
现在2千元左右的手机,尤其是Android手机,其实都已经硬件性能过剩,除非跑大型3D游戏。可又有多少人在手机上玩大型3D游戏呢?
一味比拼硬件对销售会有帮助,但帮助不大。我个人认为,只要能顺畅得跑起GPS导航软件的手机,就已经属于够用级别。其它的硬件上的性能提高属于冗余部分,有当然好,没有也影响不大。
下面,我从定价,文化,宣传渠道等3个方面将华为和小米做一些比较。
产品定价
小米的定价1999,华为手机中定价与其相当的是荣耀系列,大概市场价1800,都是CPU为1.5G左右的手机. 从参数比较上看不同点主要是小米为双核,内存1GB,而华为HONOR8860为单核机,内存512M。以100元的差价,消费者会选择谁?我想能掏1800元的人不会差那100元,所以大多会多掏100元选择小米手机。
如果用Ascend P1来对比,它这个2999的定价就比小米贵了不少。但同样是1.5G的双核CPU和1GB内存,使用起来性能其实相差不大。当然P1可能薄一些,“性感”一些。问题是国人要真想追求“性感”手机的话,为什么买你,为什么不买苹果?
想象一下一个美女在夜店掏出来一个华为手机,然后其它人清一色苹果,你觉得她会心里觉得好受么?所以,她为什么要买P1去追求所谓的“性感”?另外,性不性感不是你自己说的,是要由群众意识决定的。
小米的1999元定价实在非常高明!在同价格级别的手机性能无出其右。所以这也是为什么它一上市就能如此轰动!个人感觉这个价格造成的轰动效应和话题传播可是比华为手机载歌载舞的上市典礼有效的多。
而且,现在买智能手机的人,大多为白领人士或者技术人士,而这些人现在的城市平均收入大概为4000~6000左右,再加上日益高昂的物价,给手机的预算实际上不多。而2000元大概就是一个心理上的坎,2000元以下,会比较轻松就能购买,而2500元或以上,可能就要好好考虑一番了。
华为手机的上市典礼只是参加典礼的人爽了,用户和消费者没啥感觉,所以上市了就上了,没多少人知道。
所以,在定价方面,华为手机输了一筹。
渠道宣传
其实,我把华为和小米手机拉在一起是有些自做多情,因为华为根本不把小米放在眼里的。
以华为手机背后的财力和实力以及狼性,其目标是在国内干掉HTC,在国际上追上三星,争做手机业界第一。可是,在国内,小米还真是成为了华为如鲠在喉的小作坊。看是看不起它,可它每次10万台手机10分钟卖完,心理总是不太舒服。
华为手机的销售渠道的建立相对其它手机公司来说容易很多。与运营商在网络设备上的多年合作基础,使得为网络运营商定制及合作销售手机的渠道天然自成。这也是为什么,华为手机能如此快速就达到千万级别。
可是,也正是这个原因,使得华为手机缺少宣传和广告,华为的手机和消费者之间,始终存在运营商和代理商这一道沟渠。而华为骨子里的低调和冷感,使得对自身手机的宣传总是不到位。
说实话,如果我不是去电信办宽带,看了一下它们陈列的华为手机,我都搞不清楚华为智能手机的型号和种类。像我们这种算是电子业界的人士尚且如此,那些普通的消费者谁会知道华为手机的好在哪里?
所以,我认为买华为手机的人,如果不是在运营商那被赠送的话费诱惑所以购买的,那就是在手机卖场被巧舌如簧的销售噼里啪啦地催眠之下所以购买。
慕华为手机之名欣然前往手机卖场寻找购买华为手机的人有么?有!但我个人认为不多。
以个人经验为例,我所买的2部华为手机C8500和C8650+都是电信办宽带送的900元购物券买的。C8650+还要另外加90元,然后再加100元才送保护壳、贴膜和4G卡。
所以,秉着便宜能用的心态,俺买了华为手机,给家里老人用。
而小米手机呢,走的是完全不同的网络直销渠道。
从雷军后来的文章看,小米这一步其实这也是开初弱小无力的无奈之举。可反而走出了一条奇迹般的道路。
小米手机的话题性我就不多阐述了。你问问身边的同事有否听说过小米手机,我的同事10个至少有5个是听说过的。
简单地看看小米的论坛,你就会发现小米论坛的人气是多么得令人吃惊。
举例说明:一篇简简单单描述说怎么样调设置能令手机运行加快的帖子,竟然从晚上9点到第二天早上9点就有967页X10篇=9670篇回复。(帖子链接)
而华为的花粉论坛人气最多的两个论坛一个早上的帖子数是260和180篇,冷清呀……
因此也不难看出,小米手机靠的就是因为售价便宜和性能强劲所形成的话题性,吸引了众多人产生兴趣,进而通过论坛将人气聚集。然后通过人气的口口相传,形成了一种小米文化。
而且,就算是雷军本人,也低估了这股力量。
就如我前一篇所说,其2000元左右的定价,使的工薪白领阶层能够比较轻松地应付,就算是屌丝们,咬咬牙也能够负担得起。所以,10万台手机10分钟内卖完,我一点也不觉得惊讶。
而口碑相传的销售力量,是最好的商业销售模式。我的女同事,对手机不太懂,但她老公就帮她买了小米手机,她也跟同事宣传说用得不错,她不自觉间就成为小米宣传的一份子。
而且,小米现在在运营商销售渠道方面开始发力。
我觉得小米如果能把供应链的力度理顺加强,下半年进入千万销量是有可能的。
当然,小米手机在售后方面力度还不够,但他们也在着手解决。作为一家2年左右的手机公司,能做到这样实属不易。
在销售及宣传渠道方面,小米手机销量虽然比不上华为手机,但其受欢迎及话题性方面,完败华为!
文化
可能大家觉得我说华为手机的文化输了有些夸大其辞。
我再继续给大家分析一下,就从微博开始吧。
我们摘抄一下今天“华为终端”和“小米公司”的微博对比一下。
华为终端微博:
#智性感 全城热恋#“Ascend P1+豪华大礼包”,难以抵挡的双重刺激,引发了现场花粉的抢购热潮。Ascend P1新机品鉴活动微博直播告一段落,现场活动将持续至20:00,花粉们可前往西单大悦城继续参加本活动。
我在EOE上是首发了 因为我在那里经常问问题 我不是在打广告 CSDN也不错 就是我的积分一直不够我发问题的
源码发布地址:http://www.eoeandroid.com/thread-205014-1-1.html
产品下载地址CSDN :http://download.csdn.net/detail/zxciop110/4625423
目前项目已经完成 现在把我个人做这个项目的一些经验分享出来,公司目前就我一个人在做这个,比较苦逼,现在我就把项目分享出来今天分享的是从滑动首页到主页的功能 先从XML开始 一步一步来。
首先看一部分截图(后续发源码的时候会都看到的):
第一步:大家看到了前四张图片了吧 很多产品里面都有 就是第一次进入的时候有个指导页,OK废话不多说看怎么实现的 先看XML
定义一个XML文件 :
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:background="@drawable/image_on" android:layout_height="fill_parent"> <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent"> <ViewFlipper android:id="@+id/ViewFlipper01" android:layout_width="fill_parent" android:layout_height="fill_parent"> </ViewFlipper> <LinearLayout android:orientation="horizontal" android:layout_marginTop="300dip" android:layout_marginLeft="170dip" android:layout_height="wrap_content" android:layout_width="wrap_content"> <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:visibility="gone" android:id="@+id/image_open" android:background="@drawable/im_open_style" /> </LinearLayout> </RelativeLayout> </LinearLayout>
看到ViewFlipper了吧 不多说 去百度一下很多教程这里不是重点
定义好XML 看一下代码是怎么实现滑动4次进入主页的
package com.yzz.twan; import android.app.Activity; import android.app.ActivityGroup; import android.app.AlertDialog; import android.app.LocalActivityManager; import android.app.AlertDialog.Builder; import android.content.ComponentName; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.os.Bundle; import android.provider.Settings; import android.util.Log; import android.view.GestureDetector; import android.view.GestureDetector.OnGestureListener; import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; import android.view.Window; import android.view.WindowManager; import android.view.animation.AlphaAnimation; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.ViewFlipper; /** * ClassName:MainActivity Function: * TODO new page Reason: * TODO GestureDetector * @author weijinpeng * @version * @since Ver 1.1 * @Date 2012 2012-6-25 下午02:34:17 * @see */ public class MainActivity extends ActivityGroup implements OnGestureListener ,OnClickListener{ public ViewFlipper flipper; public GestureDetector detector; public ImageButton image_open; int count = 1; public static final int ANIMATION_TIME = 2000; GetDeviceStateActivity mDevice;//获取IP MAC //下面变量都是第一次启动需要的值 private static final String TAG = "SavingState"; final String INITIALIZED = "initialized"; private String someString; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.main); image_open = (ImageButton)findViewById(R.id.image_open); image_open.setOnClickListener(this); // image_open.setVisibility(View.VISIBLE); // SharedPreferences方式第一次启动页面 SharedPreferences myPrefs = getSharedPreferences(someString,Context.MODE_PRIVATE); boolean hasPreferences = myPrefs.getBoolean(INITIALIZED, false); if(hasPreferences){ Intent intent = new Intent(MainActivity.this, Animation_index.class); startActivity(intent); MainActivity.this.finish(); }else { someString = "some default value"; } Editor editor = myPrefs.edit(); editor.putBoolean(INITIALIZED, true); // editor.putString(someString, someString); editor.commit(); NetWorkStatus(MainActivity.this);//网络连接 // Log.v("wjp", "235345"); detector = new GestureDetector(this); flipper = (ViewFlipper) this.findViewById(R.id.ViewFlipper01); LocalActivityManager mActivityManager = getLocalActivityManager(); flipper.addView(addImageById(R.drawable.image_on)); flipper.addView(addImageById(R.drawable.image_two)); flipper.addView(addImageById(R.drawable.image_three_one)); flipper.addView(addImageById(R.drawable.image_three_four)); } private boolean NetWorkStatus(Context con) { // boolean netSataus = false; ConnectivityManager cwjManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); // Log.v("wjp", "cwjManager"+cwjManager); if (cwjManager == null) return false; NetworkInfo netinfo = cwjManager.getActiveNetworkInfo(); if(netinfo != null){ // return netinfo.isAvailable();//是否可用 return netinfo.isConnected();//检查连接上 } if (netinfo ==null ) { Builder b = new AlertDialog.Builder(this).setTitle("没有可用的网络") .setMessage("是否对网络进行设置?"); b.setPositiveButton("是", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { Intent mIntent = new Intent("/"); ComponentName comp = new ComponentName( "com.android.settings", "com.android.settings.Wireless.Settings"); mIntent.setComponent(comp); mIntent.setAction("android.intent.action.VIEW"); // startActivityForResult(mIntent,0); startActivity(new Intent(Settings.ACTION_SETTINGS)); } }).setNeutralButton("否", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { dialog.cancel(); } }).show(); return true; } return true; } // private void init() { // Intent intent = new Intent(this, MyTab.class); // startActivity(intent); // // // TODO Auto-generated method stub // //} /** * * addImageById:(Load picture) * TODO(New page) * TODO(这里描述这个方法的执行流程 – 可选) * TODO(ViewFlipper loading) * TODO(这里描述这个方法的注意事项 – 可选) * * @param @param imageOn * @param <a href="/index.html"http://www.eoeandroid.com/home.php?mod=space&uid=7300\"" target="\"_blank\"">@return</a> ImageView * @return View this * @throws * @since CodingExample Ver 1.1 */ private View addImageById(int acauzuo) { ImageView iv = new ImageView(this); iv.setBackgroundResource(acauzuo); // TODO Auto-generated method stub return iv; } @Override public boolean onTouchEvent(MotionEvent event) { // TODO Auto-generated method stub return this.detector.onTouchEvent(event); } @Override public boolean onDown(MotionEvent e) { // TODO Auto-generated method stub return false; } @Override public void onShowPress(MotionEvent e) { // TODO Auto-generated method stub } @Override public boolean onSingleTapUp(MotionEvent e) { // TODO Auto-generated method stub return false; } @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { // TODO Auto-generated method stub return false; } @Override public void onLongPress(MotionEvent e) { } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { if(e1.getX() - e2.getX()>120){ if (count<4){ this.flipper.showNext(); count++; if(count==4){ image_open.setVisibility(View.VISIBLE); } return true; } Intent intent = new Intent(this, MyTab.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); MainActivity.this.finish(); return true; } else if (e1.getX() - e2.getX()<-120){ return true; } return false; } @Override public void onClick(View v) { if(v.getId()== R.id.image_open){ Intent intent = new Intent(this, MyTab.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); MainActivity.this.finish(); } // TODO Auto-generated method stub } }
在这里重点讲三个地方:
第一个是SharedPreferences 记录第一次启动 如果是true就会直接跳转到主页。
SharedPreferences myPrefs = getSharedPreferences(someString,Context.MODE_PRIVATE); boolean hasPreferences = myPrefs.getBoolean(INITIALIZED, false); if(hasPreferences){ Intent intent = new Intent(MainActivity.this, Animation_index.class); startActivity(intent); MainActivity.this.finish(); }else { someString = "some default value"; } Editor editor = myPrefs.edit(); editor.putBoolean(INITIALIZED, true); // editor.putString(someString, someString); editor.commit();
第二个是如何让ViewFlipper滑动四次 我这里做了个判断,在这里只是重写了方法 在onFling写逻辑就OK了 当COUNT小于4的时候就会执行下一张图片 当大家看到COUNT=4的时候其实这里做了一个图片的隐藏 主要的目的是实现 在第四张图片上在加一个BUTTON按钮 可以滑动也可以点击按钮来实现进入主页
@Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { if(e1.getX() - e2.getX()>120){ if (count<4){ this.flipper.showNext(); count++; if(count==4){ image_open.setVisibility(View.VISIBLE); } return true; } Intent intent = new Intent(this, MyTab.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); MainActivity.this.finish(); return true; } else if (e1.getX() - e2.getX()<-120){ return true; } return false; }
OK 今天先到这里 如果晚上我还有时间我继续发
前不久在德国举行的国际超级计算大会(ISC)宣布了世界顶级的数据密集型处理系统。科学技术计算应用领域处理大数据问题的顶级超级计算机榜单名为Graph 500,每年更新两次;一次是在ISC,另一次是在一年一度的超级计算大会(Supercomputing Conference),2012年这届大会于盐湖城举行。
这份榜单始于2010年的ISC,对应于注重处理速度这个结果的Top500。Graph 500基准测试评估计算机在处理数据密集型分析应用时的性能,并且评估计算机的通信功能和计算性能。
这一挑战赛的名称来源于它所解决的问题的根源,名为“图形类”运算——这些算法是许多应用中分析工作负载的核心部分,比如网络安全、医疗信息学和数据强化等应用。
按照Graph 500小组(该小组得到了世界各地50余位高性能计算专家的支持)的官员说法,数据密集型超级计算机应用对高性能计算工作负载来说越来越重要,但是不适合为3D物理模拟而设计的平台。
他们声称,“目前的基准测试和性能指标无法提供关于超级计算系统适合数据密集型应用情况的有用信息。为了指导厂商设计旨在支持这类应用、帮助采购的硬件架构和软件系统,就需要一套新的基准测试。图形算法是许多分析工作负载的一个核心部分。”
由于起源于高性能计算领域,又与Top500榜单有着关系,Graph 500榜单上的系统并非企业系统,与注重性能的Top 500榜单有几个相似之处,因为设计时注重速度的许多超级计算机也具有相当强大的一些图形处理功能。
两款数据密集型系统并列第一,绝对遥遥领先于榜单上的其他系统。虽然Graph 500仍处于初期阶段(与历史悠久的Top500榜单相比),但我们预计更多的团队会提交系统,以便拿仍在完善中的Graph 500基准测试进行对照。
不妨先介绍两款顶级系统,它们在争夺世界上功能最强大的数据密集型系统这个头衔中打成平手。
第一名:米拉(阿尔贡国家实验室)
除了在今年的Top500超级计算机榜单上名列第三外,米拉(Mira)超级计算机还在Graph 500夺得头把交椅。
Graph 500的目的是想看看超级计算机能够为密集线性代数(计算密集型浮点)运算提供多高的性能。阿尔贡国家实验室称,米拉主要是为了为这类运算提供超高性能而设计的,因为这类运算与科学和工程应用高度关联。
计算机经常用来解决小的图形问题(比如说,为运货卡车车队规划最佳路线)。然而,图形问题会变得非常棘手,因为它们会扩展到更庞大的数据集(设想一下估计气候对小地区内城市经济的影响和评估气候对全国城市经济的影响之间的区别)。
管理阿尔贡领导力计算中心应用性能工程团队的Kalyan Kumaran说:“要是有在这几种运算方面性能超群的超级计算机,那么这一类非常有用的计算技术就可以运用到更广泛的领域。米拉所能处理的问题类型要比大规模科学模拟广泛得多。”
IBM蓝色基因/Q系统位于阿尔贡领导力计算中心(ACLF),它每秒能够处理1016次运算。阿尔贡国家实验室称,其目的是一旦完全投入运行,让米拉每年能够处理50多亿个计算小时。
Vesta是米拉的测试和开发系统,它在Graph 500榜单上名列第6。米拉在阿尔贡国家实验室的前身:IBM蓝色基因/P则排名第16。
并列第一名:红杉(劳伦斯利物莫尔国家实验室)
近期关于红杉(Sequoia)的重大新闻是它如今是世界上速度最快的超级计算机,在Top500榜单上力压群雄。然而,劳伦斯利物莫尔国家实验室强调,该超级计算机不仅仅是为了追求速度而制造的,还是为处理实际环境的数据密集型应用而制造的。
米拉位于阿尔贡领导力计算中心(ALCF),而红杉位于劳伦斯利物莫尔国家实验室,各自都达到了超过3500 GTEPS的分数。GTEPS指每秒访问的10亿边缘。
劳伦斯利物莫尔国家实验室有多款超级计算机入围今年的Graph500榜单,包括使用固态硬盘存储阵列来保存图形的几款超级计算机。利维坦(Leviathan)这款系统有一个含40核心的节点、1TB内存和12TB闪存,它是该实验室的另一款明星级大数据超级计算机。
美国核安全局管理员Thomas D’Agostino告诉劳伦斯利物莫尔Independent网站,“虽然红杉也许是速度最快的,但是它提供的底层计算功能却让我们对本国的核威慑力量更有信心,因为按照条约协议,武器储备有所改变,这是奥巴马政府核安全议程的一部分。红杉还代表了美国在高性能计算领域继续扮演领导地位,这是促进高质量工作和经济繁荣的技术创新的关键所在。
红杉有望让研究人员更全面地认识武器性能,特别是材料在极端压力和温度下的流体动力学和特性。尤其是,该系统将让整套高度解决的不确定性量化运算能够支持延长老化武器系统寿命的工作。
第三名:与IBM开发工程部门共同设计的Darpa Trial Subset
系统规格和性能方面远不如另外两款系统(节点数量分别是32768个和区区1024个)的是与IBM开发工程部门共同设计的一款国防高级研究计划局(DARPA)系统,名列第二,仅次于两家国家实验室打成平手的两个系统。
我们无法得知这款系统的详细信息,只知道它是Power 775,这是时钟频率在3.836 GHz左右的Power7 8C。
IBM开发工程部门有许多另外的系统,提交今年Top500考虑审查,包括两款iDataPLex系统,一款名列第175位(有10128个核心),另一款名列第213位,有7248个核心。
虽然有关这款大数据系统的详细信息寥寥无几,但我们完全可以设想IBM计算机旨在快速处理数据密集型军事和国防应用。至于排名第三的那个系统,我们倒是知道有关它的一些详细信息,不过该系统位于美国境外。
第四名:Oakleaf(东京大学)
富士通的Oakleaf-FX系统位于东京大学信息技术中心,它被认为是功能最强大的数据密集型超级计算机之一。
Oakleaf-FX是富士通公司的PRIMEHPC FX10超级计算机之一,它是为峰值浮点运算性能而设计的,同时也非常注重能效,据说整个系统的功耗只有140万瓦。
东京大学现在使用这台超级计算机处理许多数据密集型科研项目,包括生物学、材料学和航空航天等众多领域的科研项目。该大学去年表示,它之所以选择这台超级计算机,是因为它与富士通公司的K超级计算机兼容,而K超级计算机在Top500榜单上名列第二。
东京大学IT中心超级计算部门主任中岛研吾博士说:“PRIMEHPC FX10超级计算机系统(Oakleaf-FX)将有助于促进学术界和工业界的用户在各种类型的研究开发工作中取得进展。Oakleaf-FX将用于东京大学研究生院的高性能计算教育计划,旨在培养未来的计算科学家。Oakleaf-FX的性质决定了它的优先事项将放在大规模任务上。”
东京大学还拥有Graph 500榜单上的第四名:在东京工业大学全球科学信息计算中心有一个惠普集群平台。这个系统是一台性能强劲的数据处理系统,得益于1366个节点中每个节点都有三块英伟达特斯拉(Tesla)卡的配置。
想了解榜单的更多信息,包括前十强——包括位于阿尔贡国家实验室、布鲁克黑文国家实验室和劳伦斯伯克利国家实验室的更多“蓝色基因”和超级计算机,不妨浏览主榜单(http://www.graph500.org/results_june_2012)。