Update 4: Slow Pages Lose Users. At the Velocity Conference Jake Brutlag (Google Search) and Eric Schurman (Microsoft Bing) presented study data showing delays under half a second impact business metrics and delay costs increase over time and persist. Page weight not key. Progressive rendering helps a lot.
Update 3: Nati Shalom's Take on this article. Lots of good stuff on designing architectures for latency minimization.
Update 2: Why Latency Lags Bandwidth, and What it Means to Computing by David Patterson. Reasons: Moore's Law helps BW more than latency; Distance limits latency; Bandwidth easier to sell; Latency help BW, but not vice versa; Bandwidth hurts latency; OS overhead hurts latency more than BW. Three ways to cope: Caching, Replication, Prediction. We haven't talked about prediction. Games use prediction, i.e, project where a character will go, but it's not a strategy much used in websites.
Update: Efficient data transfer through zero copy. Copying data kills. This excellent article explains the path data takes through the OS and how to reduce the number of copies to the big zero.
Latency matters. Amazon found every 100ms of latency cost them 1% in sales. Google found an extra .5 seconds in search page generation time dropped traffic by 20%. A broker could lose $4 million in revenues per millisecond if their electronic trading platform is 5 milliseconds behind the competition.
The Amazon results were reported by Greg Linden in his presentation Make Data Useful. In one of Greg's slides Google VP Marissa Mayer, in reference to the Google results, is quoted as saying "Users really respond to speed." And everyone wants responsive users. Ka-ching! People hate waiting and they're repulsed by seemingly small delays.
The less interactive a site becomes the more likely users are to click away and do something else. Latency is the mother of interactivity. Though it's possible through various UI techniques to make pages subjectively feel faster, slow sites generally lead to higher customer defection rates, which lead to lower conversation rates, which results in lower sales. Yet for some reason latency isn't a topic talked a lot about for web apps. We talk a lot about about building high-capacity sites, but very little about how to build low-latency sites. We apparently do so at the expense of our immortal bottom line.
I wondered if latency went to zero if sales would be infinite? But alas, as Dan Pritchett says, Latency Exists, Cope!. So we can't hide the "latency problem" by appointing a Latency Czar to conduct a nice little war on latency. Instead, we need to learn how to minimize and manage latency. It turns out a lot of problems are better solved that way.
How do we recover that which is most meaningful--sales--and build low-latency systems?
如果你干的不开心 …
随着市场的发展,产品竞争越来越扁平化,产品的体验和价值越来越重要。在经济危机的大背景下,用户体验设计的作用更加凸显。用户体验设计的人才,也越来越炙手可热,企业对相关人才的需求在不断的加大。
可我们不得不承认,在中国,用户体验设计相关人才非常匮乏,积累十分薄弱。在人才的需求和供应之间,我们存在着巨大的缺口。不少大企业,虽然不断用加薪等手段提高待遇、雇佣猎头大规模扫荡,都依然难以补上这样的缺口,甚至连人才在哪里都没搞清楚。
因为:在这个行业,大多数从业者是感性的,大多数优秀的人才有着自己对于设计的理想和追求。单单靠钱,买不到他们。开心、做自己认为有意义的事情,很重要 …
关于开心招聘的说明:
6月开始,UCDChina会在每季度末推出“UCD开心招聘”专题,将我们认为值得推荐的企业和职位收集起来,向同行们推荐。
企业可以联系我们,申请被推荐。不过,在申请推荐之前请注意:
1》我们会侧面了解你的企业、团队、待遇等状况。如果判断出你的职位不值得推荐,你会遭到拒绝。
2》每推荐一次,收费1500RMB;超出3个职位,每职位加收300RMB。(税后)
3》接受你的交费,只代表你的企业和职位可以推荐。但,你的信息排什么样的位置、大小、如何展现,依然由我们根据可推荐程度决定。
4》当然,如果你的企业和职位很值得推荐,即使你没交钱,只要这个季度你在UCDChina发布过招聘信息,我们也会推荐。
5》联系我们:UCDChina@Gmail.com
-
PS:UCD开心招聘第1季
转载请注明出自UCDChina.com,谢谢。
InfoQueue has this excellent talk by Brian Goetz on the new features being added to Java SE 7 that will allow programmers to fully exploit our massively multi-processor future. While the talk is about Java it's really more general than that and there's a lot to learn here for everyone.
Brian starts with a short, coherent, and compelling explanation of why programmers can't expect to be saved by ever faster CPUs and why we must learn to exploit the strengths of multiple core computers to make our software go faster.
Some techniques for exploiting multiple cores are given in an equally short, coherent, and compelling explanation of why divide and conquer as the secret to multi-core bliss, fork-join, how the Java approach differs from map-reduce, and lots of other juicy topics.
The multi-core "problem" is only going to get worse. Tilera founder Anant Agarwal estimates by 2017 embedded processors could have 4,096 cores, server CPUs might have 512 cores and desktop chips could use 128 cores. Some disagree saying this is too optimistic, but Agarwal maintains the number of cores will double every 18 months.
An abstract of the talk follows though I would highly recommend watching the whole thing. Brian does a great job.
When Mena and I started working on Movable Type almost 8 years ago, one of the most delightful surprises in the project was how a passionate and creative community sprung up around the platform almost immediately. They even seemed to like the default name "Melody Nelson" we gave to the sample user that came with the application.1
It's great news for the entire Movable Type community, as this new project uses the same themes, the same templates, the same plugins and the same publishing engine as Movable Type. And since it shares the GPL license with MT, it's even a great way for these new developments to work their way back into the official versions of Movable Type itself.
The truth is, some of the greatest innovations in MT's history have come from developers that make their own distributions of Movable Type, bundled with their own plugins or templates. Our own Six Apart Services team has done that in the past when it was the independent company Apperceptive, and continues the tradition today by releasing much of its best work as a series of Open Source plugins. (You can follow Six Apart on Github to keep up with the latest.) Maybe some of that code will find its way into the Melody project in the future as well, completing the circle.
I can't wait to see what the independent community members who are the driving force behind Melody bring to the greater MT community in the future. While there aren't regular downloads for end-users yet, there's some promising first bits of code for developers to look at, and we'll watching the project closely. Six Apart is also proud to have our own Anil Dash join the board of the Open Melody Software Group, to play our part in helping contribute to this new effort from our community.
Distributed systems are not typically a place domain driven design is applied. Distributed processing projects often start with an overall architecture vision and the idea about a processing model which basically drives the whole thing, including object design if it exists at all. Elaborate object designs are thought of as something that just gets in the way of distribution and performance, so the idea of spending time to apply DDD principles gets rejected in favour of raw throughput and processing power. However, from my experience, some more advanced DDD concepts can significantly improve the performance, scalability and throughput of distributed systems when applied correctly.
This article a summary of the presentation titled "DDD in a distributed world" from the DDD Exchange 09 in London.
六月 2009 | ||||||
一 | 二 | 三 | 四 | 五 | 六 | 日 |
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |