[轉載]騰訊聯合創始人張誌東:微信團隊對社會化的重要性缺乏敏感

http://www.sina.com.hk/news/article/20161031/5/46/2/%E9%A8%B0%E8%A8%8A%E8%81%AF%E5%90%88%E5%89%B5%E5%A7%8B%E4%BA%BA%E5%BC%B5%E8%AA%8C%E6%9D%B1-%E5%BE%AE%E4%BF%A1%E5%9C%98%E9%9A%8A%E5%B0%8D%E7%A4%BE%E6%9C%83%E5%8C%96%E7%9A%84%E9%87%8D%E8%A6%81%E6%80%A7%E7%BC%BA%E4%B9%8F%E6%95%8F%E6%84%9F-6481609.html?cf=hp

演講全文:

感謝小龍的邀請,今天過來參加WXG(註:微信事業群)的會議,談一下我對公司的產品對社會影響上的一些思考。

我兩年前離任公司管理層, 不再參與公司的業務,除了學院(註:騰訊學院,騰訊公司內部分享平台)的事務之外,我主要有兩個關注點,其一是公司的公益產品,其二就是公司產品對社會所造成的影響。微信是關注最多的產品, 因為它對社會深層次的影響最大。

向 WXG 的同事們致敬

8月份看到了公司發佈的2季度財報,公佈了微信的活躍用戶過了8億。這是很重大的里程碑,我這裏想向WXG的同事們表示敬意。

向微信團隊的產品精神致敬。

微信團隊把握住了移動時代的開啟,在5年多的時間里,團隊一直在堅持克製和優雅;在商業化上,團隊也在堅持優雅自然之道,在大型組織里,在商業化過程中同時堅持理想,尤其不易,大家做的很棒,為小夥伴們的5年如一日的堅持而自豪。

向微信團隊的技術精神致敬。

在優雅的產品背後,必然有著無數技術團隊的智慧和汗水。比如每年的除夕夜,全國人民一起歡度春節,高峰時間,用戶一分鍾就可以在微信里收發10億條消息,拆開2000萬個紅包,用戶給技術團隊開年第一天就送份見面禮—-先來一次海量技術考試。因為技術團隊的無數努力,微信才可以給8億的用戶提供值得信賴的服務。

社會化的巨大挑戰

致敬之後,我想談談挑戰。這個挑戰,還不是產品、技術、或者商業化的挑戰,而是社會化的挑戰。微信過了6億用戶,我感覺就已進入了一個對社會影響的深水區。這和1億的時代已存在巨大的差異。

1.挑戰一:“老鳥時代” VS “菜鳥時代”

1億用戶的時候,那些是在互聯網上久經考驗的人群,網絡用語可以稱之為“老鳥”, 他們從PC時代就開始使用互聯網,他們的特點是眼明手快,經曆過網絡上形形色色的洗禮,具有很強的信息辨別能力和自我保護能力。 對於“老鳥”來說,優秀的互聯網產品,就能很好的滿足他們的需要,讓他們的生活如魚得水。

但微信發展到6億用戶之後,用戶群開始接近中國總人口的社會的複雜度了,三四線城市、中老年用戶、縣城用戶、農村用戶,移動網絡對於他們是驟然打開的新世界,他們基本上是互聯網上的“小白兔”或“菜鳥”, 缺乏PC時代的互聯網的洗禮,自我保護能力也比較弱。

在PC互聯網時代,“老鳥”們已經習慣了網絡的虛擬性,QQ卡通頭像,nickname等等,虛擬和現實之間,有著天然區分感的鍛鍊過程。而微信從誕生第一天起,就是一個基於手機通信錄的“真實世界”,“菜鳥用戶” 和“小白兔用戶”嚴重缺乏對互聯網的辨別和自我保護意識。

相信微信團隊的同事們,已經對這樣的變化,有了很多實戰的經驗。我這裏提一個希望,希望年輕的同事們,除了產品思維之外,還要大力強化“社會化”思維。將社會各人群和階層的複雜性,作為主要的研究課題。 對這種變化還要更加敏感。

這裏舉幾個社會化的思考視角。

思考1:對“人際過載” 的思考

在PC時代,有一個理論說 sns社交的人際寬度是150人。也就是說,人們的精力可以處理150人左右的人際關係,會讓人感覺愉快而不至於過載。微信在4年前,朋友圈做出了一個很精妙的產品設計,讓朋友圈很巧妙的融合在手機IM之中,拓寬了150 這個數字限製,朋友圈也獲得了高速的成長。

然而,隨著用戶基數擴大,人際關係的複雜度也在急劇擴大。原有的巧妙設計,也已面臨很大“人際過載”的社會問題。

很多人際關係廣泛的商務人士,已經遇到 “過載”的尷尬。見過一些過千人朋友的重度用戶,幾乎每隔幾分鍾,朋友圈就有新Push下來;也見過一些朋友,因為朋友圈的人數過多過雜,變得小心謹慎,不敢說真話甚至不敢發朋友圈。

微信雖然已有一些自定義的分組及權限管理的措施,但還是不夠優雅,並未能很好解決這個問題。人際過載會帶來很大的壓迫力,需要微信團隊,更多從社會角度層面的思考和創新。

思考2: 對“內容過載” 的思考

公眾號是微信一個重大的創新,給用戶帶來了前所未有的內容獲取和服務獲取的體驗,也給內容供應者和服務供應者帶來了一個全新的生態。微信認證、原創標識、閱讀打賞,等重要的配套創新,體現了團隊對內容生態的思考和探索步伐。

我在訂閱十來個訂閱號的時候,每日一條推送的體驗是很愉快的。但是,當我有大幾十個,上百個訂閱號的時候,我就陷入了 “內容過載”。

過載讓人產生不愉快的感受,紅點密集讓人產生焦慮和失控感。 貪多是人性的弱點,雖然微信早就有右劃退訂的功能, 但依然不足以體驗平衡,用戶還是很容易被人性的弱點帶入坑裡。 微信這裏還需要更多友善的創新, 幫助用戶擺脫這種不愉快處境。

思考3: 小白兔的免疫思考

因為微信的公眾平台, 內容的傳播速度和傳播的形態, 有了很巨大的改變。 優質誠信的公眾號,獲得了很不錯的發展,這對內容業界是很好的基礎設施。

公眾平台的火爆, 也有許多的公眾號運營者, 本身並無足夠內涵,只是利用人性的弱點來運營。 如何幫助小白用戶在過程中提升鑒別能力, 這是一個很重要的課題。

舉個例子,我有文化水平不低的長輩,但他們依然還是網絡“小白兔”。在親人的微信群裡,長輩們經常轉發一些明顯誇張的養生文章。他們還會說,“這是微信上說的。”

這句話是什麼意思? 這些“小白兔”在辨識一個公眾號的信用上,遇到困難。公眾號名字可能叫做“ XX健康之寶”或者“ YY養生之道”。

在用戶1億的時候,問題不尖銳,老鳥具有很強的辨識能力;但到了8億用戶的時候,即使有了企業認證,有了舉報和處罰,但依然遠遠的不夠。這個公眾號背後,信用有多少,信用能否可視化? 能否讓“小白兔”在他的文章里一眼就能識別?

在洶湧的數字化社會的大潮中, 如何能幫助“菜鳥”和“小白兔”們,不會被劣幣誤導,如何讓他們正向的增強數字化時代的常識,提升免疫能力,如何能避免劣幣驅逐良幣 ? 這是特別需要我們關注的問題。我們的公眾號增長的很快,在增長速度的背後,我的解讀是:這裏的責任重大。

思考4: 故障和社會恐慌

作為社會基礎設施,最近兩年來,微信的幾次技術故障,造成了用戶“恐慌”,好幾次都還是PR團隊在微博、微信公眾號上發公告的傳統形態。我們還沒有做到,在產品UI上對用戶進行1分鍾的安撫。

打個比方,我們去銀行櫃員機取錢, 遇到銀行系統故障,若櫃員機能提示, 已知系統故障,正在修復, 稍後將恢復服務。用戶會很淡定。若櫃員機上,什麼也不說,就顯示登錄錯誤,那將會讓用戶造成恐慌,會害怕存款被盜。

微信作為一個早上起床笫一個點擊的國民應用,有幾個場景如,登錄故障、群故障、朋友圈故障、支付故障,用戶容易受到驚嚇。會比銀行卡失效更恐慌,更容易 “懷疑人生”。會焦慮而恐慌,不斷關機重啟,甚至刪掉App重裝。

雖然我們有很優秀的技術團隊,也已經實現了系統的各層面的多級健壯性,但故障總是難免的,需要我們把故障的透明告知,作為特別重要的產品體驗來設計和演練。目前還不夠自動化,還有不少環節依賴運營來反應。很多時候,技術團隊和運營團隊,估計故障人數是1%,總想看看能否很快修復,而耽誤及時告知。這種思維,也反映了我們對社會化視角的敏感度還不夠到位。

2.挑戰二:人性的弱點 VS 數字化時代

數字化時代會放大很多倍人性的弱點。(這裏推薦兩個有趣的小視頻,大家可以在youtube 上搜素一下Guiding hands 以及 social media guard)一家人在一起吃飯,卻各自低頭看手機,這已是移動時代很常見的情況。

刷存在感, 也許可以算是一種人性的弱點, 尤其在數字化的時代。 而我們的產品,可以如何更溫暖一些? 比如提示一下 “您今天手指已經劃了1000下,建議放下手機去關心下家人”?

人性有很多與生俱來的弱點,社會也存在很多既有的矛盾和問題, 這些不是我們的產品帶來的; 但人性的弱點, 會在數字化時代信息過載時, 產生急劇共振, 從而放大對社會的影響。我們必須要仔細地去觀察社會,不斷的反思和自我批判。我們需要用智慧和創新, 去幫助社會降低這些陣痛和代價。

3.挑戰三:社會化視角的遲鈍Bug

外界媒體人對微信比較有好感,批評會較為客氣,這容易讓團隊產生錯覺,容易讓我們自我感覺過於良好,而事實上,我們還有不少蠻遲鈍的Bug。

例如, Mac 微信2.0版本發佈距離1.0版本隔了整整一年。足足一年的時間,一些很容易修改、但給人很不便的東東,團隊是視而不見。比如在27寸屏幕上,字體小而勞神累眼;比如,每次網絡斷一下,重現掃碼登錄後,空空如也的沒有了上下文。這些東東本是幾天功夫,就可以解決的疾苦,團隊卻忙得顧不上,為了憋大招,白白讓用戶眼巴巴的等待一年。

例如,微信消息的導入導出能力, 還不如20年前小龍做的Foxmail Client。 對16G以下的手機用戶,經常遇到存儲緊張,微信遲遲沒有提供一個PC工具,讓用戶很方便從手機 dump 出某個時段的老數據。 微信的大群很熱鬧,每天產生大量的看過就可以丟棄的東東, 大群共用一個循環存儲空間, 和其他消息隔離空間, 16G的用戶出現存儲滿的鬱悶也許就可以減少。 但估計我們的產品團隊, 人人都是64G/128G的手機, 感受的不夠強烈。

這樣的特性,產品團隊告訴我,“他們早有計劃,只是沒有放在高優先級,在版本排期容易被其他更急的功能所延誤,上面這些特性需要若干時間會完成 ”,公眾號平台也有不少同類的遲鈍例子。

一方面,我們年輕的團隊都很敬業,每天很忙碌,忙的不可開交。另一方面,好些幾天功夫就可以緩解的民間疾苦,我們卻又是顯得很不夠敏感。

我個人的感覺, 團隊這裏存在一些對 “社會化”的重要性缺乏敏感的Bug。我們年輕的總監們,更喜歡長時間的憋大招,渴望打造出令業界驚歎的特性,而對於這些短週期、技術含量不高的民間的痛點,總監們會被各種任務、各種原因而延誤很久很久。

小龍早上的關於敏捷精神的分享非常好,我很讚同。在團隊成長變大,分工變細了之後,同事們容易沉浸在自己忙碌的工作中,即使看到其他部門的產品毛病,也容易因為跨部門跨團隊,而表達的太溫柔,太一團和氣,這會讓我們失去敏捷的力量。

微信團隊從5年前十來人的小分隊,迅速發展為過千人的大型團隊,如何保持小團隊的敏感,保持敏捷,需要在座對骨幹同事有更多跳出來的精神。

期待:產品精神+社會化視角+批判精神

微信團隊,在我看來,一直是一個充滿銳氣,很善於獨立思考的團隊。在用戶達到8億的時候, 期待微信團隊的年輕同事們,提升對社會性的敏感度, 希望微信內部,也有更強的內部批判精神。

電影《蜘蛛俠》 里有句台詞提到,“能力越大,責任越大(With great power comes great responsibility)”,借這個台詞比喻一下,微信將會發展為數字社會的基礎設施, 做一個很好的產品,做一個很酷的產品, 這個理念對於微信團隊來說,已經不足夠。

8億用戶之後,其社會複雜度已是無前人經驗可借鑒的深水區, 除了上面說的場景之外,還必然會有更多更深遠的數字化社會難題接連浮現,微信團隊面對社會化的挑戰,會比5年前從零開始創業的挑戰更大,責任也更大。

期待微信團隊除了產品精神之外,融入更多的社會景深視角,放下團隊已經取得的成就感,心態歸零,在創建產品天地和業界生態的同時,還需要我們更多的智慧和更多的創造力,去緩解社會數字化大潮中的陣痛,成為真正靠譜和溫暖的基礎設施。

Median of Two Sorted Arrays

There are two sorted arrays nums1 and nums2 of size m and n respectively.

Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).

Example 1:

Example 2:

唉,搞咗好耐都系做唔出
#solution1
Median of Two Sorted Arrays

#solution2

Longest Substring Without Repeating Characters

Given a string, find the length of the longest substring without repeating characters.

Examples:

Given "abcabcbb", the answer is "abc", which the length is 3.

Given "bbbbb", the answer is "b", with the length of 1.

Given "pwwkew", the answer is "wke", with the length of 3. Note that the answer must be a substring, "pwke" is a subsequence and not a substring.

longest substring without repeating characters

https

#reference
http://blog.csdn.net/wzzvictory/article/details/9015155
https://www.digicert.com/ssl.htm

#asymmetric encryption
asymmetric encryption

#how https communicate

Server Browser Communication

  1. Browser connects to a web server (website) secured with SSL (https). Browser requests that the server identify itself.
  2. Server sends a copy of its SSL Certificate, including the server’s public key.
  3. Browser checks the certificate root against a list of trusted CAs and that the certificate is unexpired, unrevoked, and that its common name is valid for the website that it is connecting to. If the browser trusts the certificate, it creates, encrypts, and sends back a symmetric session key using the server’s public key.
  4. Server decrypts the symmetric session key using its private key and sends back an acknowledgement encrypted with the session key to start the encrypted session.
  5. Server and Browser now encrypt all transmitted data with the session key.

nginx subrequest

#main request & subrequests
>main request:HTTP requests initiated from the client side
>A subrequest is an abstract invocation for decomposing the task of the main request into smaller “internal requests” that can be served independently by multiple different location blocks, either in series or in parallel
>the communication of location blocks via subrequests is limited within the same server block (i.e., the same virtual server configuration)
#Variables with the same name between a parent request and a subrequest will generally not interfere with each other
location /main {
set var main;  echo_location /foo; echo_location /bar;  echo "main: var”;
}

location /foo {
set var foo; echo "foo: var”;
}

location /bar {
set var bar; echo "bar: var”;

}
====================================
 curl 'http://localhost:8080/main' foo: foo bar: bar</div> <div>main: main</div> <div><b> </b></div> <div><b>Exception: </b><b>Shared Variable Containers among Requests </b></div> <div><b> </b></div> <div>location /main { set var main;
auth_request /sub;
echo “main: var"; }  location /sub { set var sub;
echo “sub: var";</div> <div>}</div> <div>================================</div> <div> curl ‘http://localhost:8080/main’
main: sub
#build-in variables in subrequest
>sensitive to subrequest
args</div> <div>uri
echo_request_method</div> <div>>main request onlyrequest_method