BeMatrx 沒有推薦演算法。你會看到什麼,由一個再平常不過的事實決定:你追蹤了誰。你的動態牆就是你追蹤的人,加上你自己發的東西——最新的排在最前面。有人以為這是一個我們還沒來得及做的功能。恰恰相反。這是整個產品裡最深思熟慮的一個設計決定,而這篇,就是它完整的故事。
我們最初的那個問題
每個產品都始於一個問題,我們的是這個:在真實的城市裡,你會遇見誰,是由什麼決定的?答案是——沒有人決定,也是所有人決定。你會碰到鄰居,因為你們住在同一條街上。你會聽到朋友的近況,因為你們是朋友。你會知道廣場上發生了什麼,因為你剛好走過廣場。沒有排名,沒有分數。只有距離和關係,照時間排好。
畫 BeMatrx 第一版草圖的時候,我們把這段話寫在白板上,然後意識到:城市早在幾百年前就把這題解掉了,而且解得很漂亮。我們全部的工作,就是不要把它弄壞。
我們不是拿掉了演算法,是從來沒有做過
我在受訪時常用這句話,因為它是手邊最精準的一句。從第一張草圖開始,出現在你眼前的東西,就注定只是一件事的簡單函數:你追蹤了誰;負責排序的,也不過是時間這種一點都不神祕的東西——新的在上面。這不是抄捷徑,也不是事後被我們包裝成哲學的限制。
這是一個我們想要能夠坦然說出口的承諾:「我為什麼看到這個?」這個問題,你永遠答得出來。在 BeMatrx,答案永遠只有一句話。因為某個你選擇追蹤的人把它放在了那裡,而且是不久前才放的。
決定你看到什麼的,是什麼
一件事,只有一件:你追蹤了誰。那些你選擇想跟上近況的人——就像在真實的城市裡,要跟誰共度時間,完全由你說了算。當然,你自己發的東西也在那裡,因為那是你放上去的。名單到這裡就結束了。你住在哪裡,在 BeMatrx 裡分量很重,但它的分量和在真實城市裡是同一種:它決定你可能會遇見誰、你會走過哪些廣場、你推開咖啡館的門時誰看得見你。「在場」是你認識人的方式;追蹤,才是那個人出現在你動態牆上的方式。先有相遇,動態牆永遠只跟在你的選擇後面。
順序是時間,由新到舊,僅此而已。如果有什麼排在最上面,那是因為你追蹤的某個人,把它放上去的時間比底下所有東西都晚。聽起來是個很小的承諾。把它簡簡單單、一直到永遠地守住,就是整個設計。
一道有盡頭的動態牆
我要老實說這用起來是什麼感覺,因為它總是讓人意外。很平靜。它以你真實世界的速度慢慢填滿。而且它有盡頭:你跟上了近況,然後就結束了,就像一場愉快的拜訪自然而然走到尾聲。早期的居民告訴我,那份平靜需要幾天才習慣。然後它就變成他們最先提起的優點。
你在這裡蓋起來的東西之所以有重量,理由也一樣。工作上的升遷、一場選舉的結果、一段走進新階段的友誼:這些會落在選擇追蹤你的人眼前,並且帶著事情發生的那座城市一起。在一個小而刻意的系統裡,每個時刻都保得住自己的份量。
活的世界放在哪裡
在一篇談「沒有動態牆」的文章讀到這麼深的地方,接下來這句話可能有點出乎意料:我們從來不把 BeMatrx 當成任何東西的替代品。你手機裡的應用程式,各自都把自己被造出來要做的事做得很好,而活的世界爭的不是同一個小時。它想做的,是讓你的其中一個小時,真的生產出一點什麼。
老實說,我最喜歡的未來畫面,是兩邊一起運作的樣子。你在 BeMatrx 贏得了你那座城市的選舉,職涯跨過一個里程碑,你的咖啡館開幕了——然後這件事直接上了你的 Instagram 限時動態,因為你感到驕傲,朋友們也應該看到。活的世界的工作,是給你值得分享的東西。至於在哪裡分享,完完全全、開開心心地由你決定。
我們選擇的量尺
有盡頭的動態牆,照定義就代表你花在應用程式裡的時間更少。選它的時候我們就知道了。我們的量尺從來不是你停留了多久,而是你離開的時候,那裡還立著什麼:那份職涯、那座城市、那些你不在了會發現的人。這個選擇的代價,我們有耐心;因為它換來什麼,我們很確定。
更完整的想法——活的世界到底是什麼、這整個類別怎麼運作——在這一篇。至於一個意見這麼多的產品,怎麼會由一個不會寫程式的人蓋出來,答案在用 Claude Code 打造 BeMatrx 的故事裡。
活出你選擇的生活。這就是全部的承諾,也是全部的設計。