Pages (41) « Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Next »

也谈《产品设计与用户体验》马化腾

最近,网上疯狂流传一个PPT,题目为“产品设计与用户体验”。据说,作者是腾讯马化腾。

至于是不是马化腾本人,是不是又一次病毒式营销,当看完PPT后觉得并不重要,重要的是他对互联网产品开发作了很好的归纳,值得我们学习。

对于我来说 印象最深刻的是两个点:一是他非常看重“高端用户的口碑影响力”。二是“少即是多的、无所不用其极”的理念。对比同类产品 如163邮箱,之所以用户的流失,我想也算是原因之一。

点击下载

如何上传大文件(原创)

我是网易邮箱的忠实用户,5年了。但前段时间需要给朋友发送一封超大邮件,不得不改用了QQ mail,QQ mail 的用户体验做得很好。腾讯QQ mail 大附件上传分为两种方式:

第一种通过标准的html中<input type="file">控件上传。

第二种通过activex控件上传。

为什么不完全使用activex控件呢?

答案是:某些浏览器不支持activex,比如firefox,只能按照标准组件上传(当然也可以开发插件,但与IE的机制完全不同)。另外,IE的安全级别提高后也可能屏蔽activex。


QQ2009 界面技术(DirectUI)

DirectUI界面库 取名自微软的一个窗口类名“DirectUIHWND”,意为Paint on parent dc directly。即子窗口不以窗口句柄的形式创建,只是逻辑上的窗口,绘制在父窗口之上。微软的“DirectUI”技术广泛的应用于Window XP系统,Media Player播放器,即时通讯工具MSN Messager。

传统的window界面,是用户窗口的层次排列,这种方式有很多局限性。目前的开发环境我们可以很快的使用win32控件构造出标准的干净的界面,但是我们同时也会立刻意识到如果我想像界面更加漂亮,更加炫一点就比较麻烦了。Windows控件提供的Custom-Draw/Ower-Draw技术局限太多,基本上没有透明等效果支持,同时控件布局方面也比较古板。

DirectUI界面库使用XML来描述界面风格,界面布局,使用脚本语言(如vbscript,javascript,lua)等来作为界面元素和程序逻辑的交互。从这方面来看,DirectUI界面库可以看成是一个迷你的微软WPF,mozilla XUL,或者Adobe的Flex,这些平台代表的应用程序的发展方向,同时也有很多相似的架构,比如多采用类似XML的方式描述定义界面,使用脚本语言(xul使用javascript,flex使用Action Script)来作为控制界面元素并和程序逻辑之间交互。DirectUI 界面库采用相似的设计,使用xml描述界面,同时使用javascript,或者vbscript来作为界面和逻辑的粘合。在控件设计方面,DirectUI界面库更多的融入了XUL,WPF,Flex等控件设计理念,并没有一味的照搬window标准控件,以期望其成为一款真正使用实用的界面库。

这种界面库设计的最大的好处在于可以很方便的构建高效,绚丽的,非常易于扩展的界面。国外如微软,国内如腾讯,百度等公司的客户端产品多采用这种方式来组织界面,从而很好的将界面和逻辑分离,同时易于实现各种超炫的界面效果如换色,换肤,透明等。 DirectUI 界面库旨在满足客户端界面快速开发的需要,同时融入业界前沿的皮肤技术,为用户创建更加高效,专业的界面。

其他特性:

* 使用xml配置界面控件布局

* 使用脚本(vbscript, jscript)控制控件属性,响应事件

* 使用xml描述界面风格

* XML语法简单,易于学习和掌握

* 基于Win32 API,没有framework依赖。

* 支持改变皮肤色调

* 支持大多数控件透明,包括子窗口透明

* 支持png, bitmap, gif, ico图片格式。支持带透明通道的png图片

DirectUI在微软内部使用的很广泛了,为什么不公布出来呢?估计有三点原因:

1. 最初写这套框架的人太牛了,根本没写什么注释文档,又经过一堆牛人一通乱改,估计能看懂和用好的人不多。发布出来,大家一看原来微软的代码也可以这么乱,对Vista的信心更是大跌。

2. DirectUI只是一个UI框架,没有什么数据库,网络,WebSerivice支持,更别说同MFC,ATL集合,甚至可能冲突,为了顾全MFC的地位,WTL都可以牺牲,DirectUI更别说了。

3.DirectUI是C++开发的,这是什么时代了还用C++开发,有了多快好省的DirectUI,谁还用.NET开发客户端程序,同微软的发展战略不一致呀。

QQ空间游戏基地FLASH小游戏数据交互探秘

今晚很郁闷,QQ空间游戏太让我失望,“小羊捉小虫”好不容易逃到了1600多分,没得到保存,一开始以为是我网络原因,再次登录好不容易又逃到了1800多分,又没有保存,个老子!

分析分析这个该死的游戏!

1、QQ空间的游戏保存与QQ或QQ空间的登录,其实并没有太大的关系,它只是获取了一个uin也就是一个QQ号码而已。

2、当用户的按下"游戏开始"时,gameFlash会加载http://isdimg0.qq.com/qzone/flashgames/com/xxx.swf,这个FLASH很重要,是游戏数据传送的核心,代码比较少,主要是用于向服务器和接受发送数据。代码中定义了一个JSON处理对象,进行了一些跨域的判断,代码就不公布了,我们要和谐


PHP实现异步处理利器-Gearman

通常,多语言多系统之间的集成是个大问题,一般来说,人们多半会采用WebService的方式来处理此类集成问题,但不管采用何种风格的WebService,如RPC风格,或者REST风格,其本身都有一定的复杂性。相比之下,Gearman也能实现类似的作用,而且更简单易用。

一个Gearman请求的处理过程涉及三个角色:Client -> Job -> Worker。

Client:请求的发起者,可以是C,PHP,Perl,MySQL UDF等等。

Job:请求的调度者,用来负责协调把Client发出的请求转发给合适的Work。

Worker:请求的处理者,可以是C,PHP,Perl等等。

因为Client,Worker并不限制用一样的语言,所以有利于多语言多系统之间的集成。

甚至我们通过增加更多的Worker,可以很方便的实现应用程序的分布式负载均衡架构。


Pages (41) « Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Next »