关注移动 Web w3ctech 再次启航

据悉,以“Mobile Changes the Web”为主题的W3Ctech专题会议(w3ctech.com/2012),将于2012年6月16日在北航会议中心举行。本次专题会议的演讲嘉宾来自Adobe、百度、豆瓣、图灵教育,嘉宾将与大家分享基于移动互联网的最新技术与实践。

众所周知,伴随智能移动设备的大量普及,App时代已经来临,移动互联网已经成为整个 IT业最前沿的领域。然而,技术、平台、设备及标准的多样性,也对Web Apps的开发提出了前所未有的挑战。移动互联网领域的这些“壁垒”,除了增加商业成本之外,也为桌面应用到移动应用的迁移构成了障碍。

HTML5 及一系列最新Web标准的推出,有助于改变这种高开发成本的现状。Web Apps相比客户端软件具有无法比拟的优势,逐渐成为移动应用程序的主流。在此大背景下,面向 Web Apps 的开发框架如雨后春笋层出不穷。作为中国的前端工程师,如何迎接移动互联网大潮的来临?如何选择适合的Frameworks?如何建立精简且高效的标准化体系?这些便是本次交流会分享的主题。

W3Ctech是一个旨在促进标准化Web开发的公益平台,本次将携手W3C中国共同为前端开发工程师呈献精彩的分享,共同探讨移动互联网时代的Web标准与实践方法。

新版 iPhone5 会长这样吗?


传言iPhone5将采用液态金属一体机身,而这种材料将会使整个机身更轻更薄。据此,一名叫做Jon Fawcett的设计师又发布了一些iPhone5的概念图。Jon Fawcett设计的iPhone5厚度仅为7mm,有一个4英寸的宽屏触控显示屏。而且,这款手机拥有1000万像素的后置摄像头,500万像素的前向 摄像头,可用于视频聊天。此外,这款iPhone5还有一个包含纵向和横向模式的四通道扬声器。

尽管Jon Fawcett并不是苹果的设计师,但是他的的概念图还是让人眼前一亮,看一下吧。

此外,新版的iPhone5也可能会支持NFC,配备A5X处理器和1G RAM内存(和New iPad一样),拥有强劲的四核图形处理器。关于iPhone5的传言从来没有间断过,好在,苹果应该会在今年6月的世界开发者大会上正式发布关于iPhone5的消息。

via Mashable

雅虎宣布CEO汤普森及董事长博斯托克辞职

北京时间5月14日消息,雅虎今天正式宣布CEO汤普森(Scott Thompson)将辞去CEO职位。此前学历因“造假门”被媒体热炒,汤普森遭到了公司大股东的逼宫。

雅虎正式宣布汤普森辞去CEO职位
雅虎正式宣布汤普森辞去CEO职位

雅虎全球媒体主管莱文索恩(腾讯科技讯配图)
雅虎全球媒体主管莱文索恩

雅虎此外宣布,公司全球媒体主管罗斯-莱文索恩(Ross Levinsohn)将担任临时CEO,弗莱德-阿莫罗索(Fred Amoroso)将担任新董事长。雅虎现任董事会主席罗伊·博斯托克(Roy Bostock)已经同意退出董事会。

阿莫罗索在声明中表示:“董事会对这些调整及对与Third Point的和解很满意,并深信这些举措对股东最为有利。”

汤普森现年54岁,于今年一月开始担任雅虎CEO。他是雅虎不到三年内被辞的第三位CEO。

用户体验设计的五项原则

如何设计出具有优秀用户体验的产品是交互设计师始终面临的一道难题,“好的产品设计一定是建立在对用户需求的深刻理解上”这句话被许多设计师视为设计的天条;至于在设计中如何发现并深刻理解用户的需求,并由此设计出具有优秀用户体验的产品,阿里巴巴的UED团队在多年的产品设计实践中总结出重要的五项原则。

1. 同理心

所谓的同理心通俗说法就是换位思考。设计师在设计产品时要能够做到换位思考,体会用户的立场和感受,并站在用户的角度思考和处理问题,把自己置身于相关的用户场景中,理解用户的行为特点和行为差异。

在我们阿里系网站,淘宝网站上面主要是C类用户,淘宝的很多设计师自己本身就是C类用户,他们会更加容易把握和理解C类用户的需求,以此来指导产品的设计。这一点对于我们B2B的设计师来说即是面临的困难也是一种机遇,因为B2B的设计师很难从自身获得足够的B类用户经验也就无法很好的把握和理解B类用户的需求,所以我们团队就更加强调设计师的同理心、换位思考能力。我们会要求设计师在平时多注意积累用户经验,熟练的使用自己的产品,模拟B类用户进行相关操作,也会经常让设计师走出去把用户请进来等各个渠道和用户研究的手段让设计师可以全方位深入的了解用户需求。使得我们的设计师可以很客观、深入和全面的了解用户以及相关需求,也就避免了依赖自身经验和主观臆断的闭门造车。

记得在我上大学学习《无障碍设计》课程的时候,为了体验和理解腿部残疾人士对于乘坐车辆的需求,我会把自己的腿绑在一起或者坐在轮椅上,真实体验腿部残疾人士上车时的场景。我想有过这种体验的设计师为腿部残疾人士设计产品的时候,肯定会在设计中充分考虑到残障人士的真实需求了。

同理心是用户体验设计的基础,只有这样设计师才会对用户需求把握的越透彻,设计出越贴心的产品。当我们的用户看到产品时会说:“这就是我想要的”,我想这应该就是最好的用户体验设计了。

同时需要说明的是同理心不是万能的,也不都是准确的,更灵活的运用和效果的产出,一方面需要设计师长期的产品设计经验的积累和对用户长期深入的接触和理解;另一方面需要设计师对用户数据和用户行为的分析再加上相关的用户研究的方法的使用。

2. 简洁就是好的

简洁不等于简单,它是在设计师深刻理解用户需求的基础上,根据用户的操作行为、信息架构等因素深思熟虑后的用户交互界面,界面不是产品功能的简单 “堆砌”和界面信息的杂乱“摆放”;是一个满足了用户特定需求、具有流畅操作、赏心悦目的界面。

记得在前几年很多网站的注册页面中,排列了许多需要用户填写的必填或者选填的表单,显得页面特别的繁琐和复杂,其实这些都不是用户想要的,用户需要一个页面上只有简单的一道两个必填的项目,可以让用户以最快的速度完成相关表单的填写,以便尽快的完成网站的注册的简洁页面。但是我们却基于保存用户资料数据、商业和运营的考量,设计出一个复杂的注册页面,强迫着用户做着对于用户来说没有意义的事情。

再看看现在网站的注册页面基本上只有很少的几个简单需要用户填写的注册信息,甚至有些网站为了让用户更加快捷的完成他的目标,取消了注册环节,真正的方便了用户。

简洁就是好的,本质上是让设计师了解一般用户在单个页面只会有一个主任务和主流程,因此不要用其它次要因素或是繁复的视觉元素来打扰他的视觉注意力,干扰他的判断,越简洁,用户的使用感受越佳,这样对于用户体验来说就是好的。

3. 把决定权还给用户

要让用户知道产品的决定权是在用户自己手中的,不要和用户抢夺控制权,要谨慎的帮助用户做一些决定,很多时候还是要让用户自己进行判断,并进行操作。

很多时候网站出于商业、营销等层面的考虑,会帮助用户做决定,会引导用户做一些他所不愿意或者反感的事情。这些举动严重干扰了用户的操作进度和用户目标的完成。

例如在SNS网站中,当用户编辑完一篇内容顺利发布后会出现发布成功页面,该页面自动跳转到已发文章列表页面。但是一些用户其实发完是想看该文章的详情页面,以了解回复或者留言情况,还有一些用户是想再次编辑一篇新的文章,还是少部分用户希望回到首页。所以系统自动跳转到已发文章列表页面就让很多用户感觉到不便,让用户产生很差的使用体验。其实我们可以在发布成功页面不做任何跳转,在给该页面上添加几个用户可能要去的页面链接。这就是要把决定权还给用户。

把决定权还给用户,是体现了对用户的尊重,让用户知道产品是掌握在用户自己手中,产品只是辅助用户完成他之前设定需要完成的目标或任务,只有这样才是给用户带来尊重感、安全感,给产品带来很好的使用体验。

4. 帮助用户做一些事情

用户在使用网站的时候,很多地方我们是可以帮助用户完成一些事情,这个就可以让用户更省心更有效率的完成他需要达到的目标。互联网用户相对于传统行业的用户来说,网站更容易收集用户的相关数据和用户使用网站的行为轨迹。这样就有助于我们了解用户,帮助用户做一些事情。比如在下单页填写物流信息的时候时很多用户不知邮政编码,通过用户填写的省市区系统可以自动完成填写大致的邮编,让用户顺利完成注册。但帮助用户必须有个度,不能过多也不能太少。

例如某网站用户在商品购买成功后会有个购物成功的页面提示,通过数据分析与用户调查,发现绝大部分的用户此时会希望看到订单详情,看订单的受理情况。于是当购物成功的页面生成后,系统将自动跳转到订单详情页面,帮助客户完成这一点击。

但并不是说这一做法是不变的,随着时间和环境的改变,如果发现订单详情页面的点击量下降,而继续购物和寻找其他商品的点击量变大,这些数据所能反映出来的信息是用户不希望直接跳转,这时就要考虑把自动跳转页面取消。

另外,如果卖家在发布产品时要选择类目,如果以前多次发布过相关的类目,现在再发布时,系统会根据他以往的发布情况直接给出他要的类目,与此同时再给他一个选择全部类目的入口,便于卖家快捷地发布商品。

帮助用户做一些事情,其实就是充分利用网络系统的一些运算、速度上的一些优势辅助用户在网上完成相对复杂一些的任务,可以让用户快捷、方便的完成任务。

5. 用户也是不断的成长

我们的用户的使用经验也会随着互联网行业和网站的发展而发展,用户的经验也是在不断的积累中,也在不断的接受新的事物和新的交互方式。所以不要用静止的眼光看待用户,不要把用户想的太笨,也不要把用户想的太聪明。

例如在一般网站的文字段落中都会有超文本链接,其表现形式一般使用区别于旁边普通文字的颜色外加下划线的形式表示。之前会有设计师认为也许这样的表示用户会不知道该处是一个超文本链接,所以会在旁边给予专门的提示文字告诉用户该处是超链接,其实随着互联网不断深入到人们的日常生活中,各个网站基本都使用该标准的超文本链接样式,用户已经熟知了这一样式和交互模式,如果在链接旁再加上文字说明,反而会阻碍用户阅读的完整性。

同样也不也要把用户想的很专业很聪明,网页技术人员通常对网页代码、服务器等技术问题非常熟悉,所以也想当然的认为用户也是同样知道这些技术。当用户输入了错误的网站时,页面会显示“404”错误,这个对于普通用户来说就会很困惑,用户不知道这个代表了什么错误,这个又意味着什么。会猜测是不是网络故障,是不是页面出现问题。这时如果我们把“404”错误,换成“该页面不存在”等说明,用户就可以清晰的明白出现了什么问题。这样实例充分说明了不好把用户想的太聪明,都是互联网资深用户。

最后要说一点的是:在设计中任何一个产品都不可能满足所有用户的所有需求,即使前期做过大量的调研和准备工作,新的产品上线时还是不可能做到百分百的功能齐全,可以先上线50%的功能,但是这部分的功能的体验是好的,之后通过实际运行中获得的用户数据和反馈不断优化升级,互联网产品文化就是Beta版文化。用户体验设计的实质就是一个产品不断优化的过程,没有最好,只有更好。

9 个重量级的云计算(PaaS)平台

随着云计算技术的发展,PaaS(平台即服务)越来越受到开发者的青睐,PaaS供应商也如雨后春笋般出现。

所谓PaaS实际上是指将软件研发的平台作为一种服务,并提供给用户。用户或者企业基于PaaS平台可以快速开发自己所需要的应用和产品。同 时,PaaS平台开发的应用能更好地搭建基于SOA架构的企业应用。PaaS作为一个完整的开发服务,提供了从开发工具、中间件,到数据库软件等开发者构 建应用程序所需的所有开发平台的功能。

本文整理了近几年发展迅速的9款PaaS产品,希望能够对你选择应用开发部署平台有所帮助。

1.  Microsoft Windows Azure

Windows Azure是微软的云计算平台,其主要目标是帮助开发者开发可运行在云服务器、数据中心、Web和PC上的应用程序。开发者能使用微软全球数据中心的储存、计算能力和网络基础服务。

Azure服务平台包括了以下主要组件:Windows Azure;Microsoft SQL数据库服务、Microsoft .Net服务;用于分享、储存和同步文件的Live服务;针对商业的Microsoft SharePoint和Microsoft Dynamics CRM服务等。

2.  Google App Engine

Google App Engine 是Google提供的服务,允许开发者在 Google 的基础架构上运行网络应用程序。Google App Engine 应用程序易于构建和维护,并可根据访问量和数据存储需要的增长轻松扩展。使用 Google App Engine,将不再需要维护服务器,开发者只需上传应用程序,它便可立即为用户提供服务。

通过 Google App Engine,即使在重载和数据量极大的情况下,也可以轻松构建能安全运行的应用程序。该环境包括以下特性:

  • 动态网络服务,提供对常用网络技术的完全支持
  • 持久存储有查询、分类和事务
  • 自动扩展和载荷平衡
  • 用于对用户进行身份验证和使用 Google 帐户发送电子邮件的 API
  • 一种功能完整的本地开发环境,可以在您的计算机上模拟 Google App Engine

3.  VMware Cloud Foundry

Cloud Foundry是VMware的一项开源PaaS计划,使用各种开源开发框架和中介软件,来提供PaaS服务。开发者可以通过这个平台来建设自己的 SaaS的服务,不用自行建设和维护硬体服务器和中介软件。由于Cloud Foundry采用开源的网站平台技术,所以开发者的应用程序也可以任意转移到其他平台上而不受限于PaaS的平台。

目前Cloud Foundry可以支持多种开发框架,包括Spring for Java、Ruby on Rails、Node.js以及多种JVM等。Cloud Foundry平台也提供MySQL、Redis和MongoDB等数据库服务。

4.  Force.com

Force.com是企业云计算公司Salesforce.com的社会化企业应用平台,允许开发者构建具有社交和移动特性的应用程序。另 外,Force.com还提供了有助于在云上更快建立及运行业务应用程序的所有功能,包括数据库、无限实时定制、强劲分析、实时工作流程及审批、可编程云 逻辑、实时流动部署、可编程用户界面及网站功能等。

Force.com支持Apex编程语言,开发者可以基于UI层面编写数据库触发器和程序控制器。

5.  Heroku

Heroku是一种提供Ruby语言服务的云计算应用平台,为开发者进行网络编程提供全新体验。目前,除了Ruby外,该平台还支持Node.js、Clojure、Java、Python和Scala等语言。

Heroku构建在Amazion AWS之上,该平台采用了Ruby on Rails 的网络开发框架,客户只需在本地计算机设置一个Ruby Gem(Ruby语言的程序包管理器),就可在Heroku云中部署和运行应用程序。客户可以直接从浏览器中访问和编辑自己的代码,也可以添加相关语言的 插件。Heroku平台在程序开发上可让开发者得到与本地计算机相同,甚至更好的体验。

6.  Amazon Elastic Beanstalk

Elastic Beanstalk为在Amazon Web Services云中部署和管理应用提供了一种方法。该平台建立如面向PHP的Apache HTTP Server和面向Java的Apache Tomcat这样的软件栈。开发人员保留对AWS资源的控制权,并可以部署新的应用程序版本、运行环境或回滚到以前的版本。CloudWatch提供监测 指标,如CPU利用率、请求计数、平均延迟等。通过Elastic Beanstalk部署应用程序到AWS,开发人员可以使用AWS管理控制台、Git和一个类似于Eclipse的IDE。

7.  Engine Yard Cloud

Engine Yard的特色是提供一个Ruby on Rails的技术栈,其中包括Web服务器、应用和数据库服务器,同时提供一个Rails优化的Linux发行版。开发者可以通过Engine Yard的仪表板来进行环境配置、应用程序部署和监控。

8.  Engine Yard Orchestra

Engine Yard在去年收购了PHP应用开发平台Orchestra,为PHP开发者提供了部署PHP应用到云中的服务。开发者可以使用流行的PHP框架构建应用程序,并可以通过Git或Subversion进行部署。

9.  CumuLogic

CumuLogic主要面向Java开发者,提供了一个运行应用程序,并能够将应用迁移到云上的平台。通过CumuLogic提供的部署和管理应用的管理层,开发者能够轻松部署移动、HTML5、Web或企业应用。

Via Infoworld