產品vs程序員:你知道www是怎麼來的嗎?

產品vs程序員:你知道www是怎麼來的嗎?

精彩回顧

我是一個explorer的線程

我是一個殺毒軟件線程

我是一個IE瀏覽器線程

比特宇宙-TCP/IP的誕生

Unix、Linux、Windows三大帝國集團發表《關於比特宇宙推進經貿合作的聯合聲明》的消息很快傳遍整個比特宇宙,位置偏僻的NextStep帝國也收到了這條消息。

NextStep帝國掌管著許多人類的文檔數據,但是人類一直只能通過磁盤拷貝在比特宇宙的帝國間進行文件傳輸,效率極低。Steve是NextStep帝國政府的高級產品經理,《聯合聲明》發表的消息一傳來,他敏銳的發現這是一個巨大商機。很快,Steve召集研發部門進行需求宣講,由首席程序員Tim牽頭著手來實現通過因特網來進行文檔傳輸。

不過讓Steve沒有想到的是,項目還沒啟動就傳來消息:已經有其他帝國搶先推出了文件傳輸協議——FTP。沒想到被別人搶了先機,項目只好終止。

☆ 重新出發 ☆

沒過多久,Steve發現,這個FTP雖然好,但還是不方便:帝國管理的文本文件居多,最好可以直接瀏覽,不用下載後再打開。更重要的是,我的這些文檔之間有很多互相引用,要是能夠在瀏覽的時候,能夠自動點擊把引用的文檔打開,那就太方便了。

思來想去,說幹就幹,這回不能再讓別人走在前面去了。

第二天,Steve召集研發部再次開會,進行新的需求宣講,兩個功能:

1、實現文本文檔在線瀏覽,無需下載再打開

2、實現關聯文檔點擊自動打開

Steve:給你們一個星期,下週我要看產品演示哈

Tim:······

收到需求的Tim當天下午就召集研發小組進行需求評估和技術方案討論。

Tim:實現第一個需求倒是簡單,我們用FTP下載後,然後直接給打開展示就可以了。關鍵這第二個需求,你們有沒有什麼思路?

研發組Jerry:首先得想個辦法標記一下哪些地方是引用其他文檔

Tim:標記?好想法!

Peter:有了!咱們在文檔中插入特殊的標記把引用文檔的關鍵字包裹起來,標記裡面寫上關聯的文檔地址,點擊的時候自動把這個文檔下載打開。但是在展示的時候,就只展示文字本身,標記就不要展示了,看起來就發現不了。

Tim:等等,有點繞,你能簡單畫一下嗎?

Peter:喏,就像這樣:

產品vs程序員:你知道www是怎麼來的嗎?

Tim:贊!好點子,就這麼幹!

☆ 一週之後 ☆

Steve:怎麼樣,小夥子們,可以看下效果了嗎?

Tim:Jerry和Peter過來下,給產品大大展示下咱們的成果。

Jerry:好嘞,大佬看著哈,先收入賬戶,密碼,然後···

Steve:等一下,幹嘛要輸入賬戶密碼?

Peter:因為文檔是用FTP傳輸的,需要賬戶密碼登錄啊。

Steve:這我不關心,我們以後的業務是要面向比特宇宙所有帝國,都能公開瀏覽我們的文檔,你整這太麻煩了,必須改!

Tim:先不說這個,先看功能演示吧。

Jerry:好了,現在進來了,看吧我們用圖形化的窗口界面直接在線可以瀏覽文檔,不需要再下載到磁盤打開。

Steve:嗯,不錯,文檔關聯跳轉呢,給我看看。

Jerry:你看好了,你看到這個“泰迪”下面有下劃線嗎,這是可以點擊的,人類一點我們就自動給下載泰迪對應的文檔給展示出來了。

☆ 需求變化 ☆

Steve:嗯,整體看來還不錯哈!不過我過來找你們除了看功能演示,還想通知一下,帝國除了文本文檔,還有很多圖片文件,你們迭代一個版本,把圖片加到文檔裡面一起展示哈,下個星期就要。

Tim:啥?需求咋說變就變。

Steve:這不很正常嘛,加油,我看好你們。

下午,研發部會議室開始討論新的產品需求。

Jerry:這Steve也太過分了,說改就改,說要就要。

Tim:哎,忍忍,誰讓人家是老大,咱們得聽啊。別光顧著抱怨,要把圖片和文字一起展示,你們有什麼思路沒?

Jerry:沒有思路。

Peter:我倒是想到了一個,之前咱們文檔關聯跳轉不是用的標籤嗎,咱們圖片也可以繼續這個思路,用

產品vs程序員:你知道www是怎麼來的嗎?

Tim:嗯,看來這個標籤大法好啊!就這麼幹!等下,為了節省空間,就用縮寫吧!

☆ 需求再變 ☆

幾天後,Steve又來到研發部。

“產品大佬,這還沒到一週呢,別催哈”,Tim過來招呼。

“額,不是催你們,是和老闆商量了一下,緊急追加兩個新需求”,Steve拍拍Tim的肩膀。

“啥?又有新需求?”,Peter和Jerry放下手中的活,圍了過來。

“嗯,就是要支持一下圖文排版,可以指定文字的分段、字體、字號大小、顏色、對齊這些,讓人類閱讀起來視覺感受更舒服,哦漏了一個,圖片也要支持大小和對齊”。

“這也太多了吧!”Jerry表示抗議。

“確實有點多,時間上也會給你們延後一點的,嘿嘿”,Steve齜牙笑著。

“這個我們得回去技術評估下,時間還不能馬上給你,明天給你消息”,Tim答覆到。

“不行,下午下班前得給我,我明天一早就要給老闆做這個月的排期彙報了”,Steve不肯退讓。

“行行行,那我們抓點緊”,Tim有點不爽了。

☆ 技術評估 ☆

午休過後,Tim再次召集大家開會。

Tim:大家有什麼想法嗎?

Jerry第一個發言:大哥,咱們還是應該強硬點,別什麼需求都接。

Tim:再讓他一回,下次我可不會這麼輕易答應了,先說說眼前的事情吧!

Peter:繼續發揚標籤大法!

Tim:嗯,我的第一反應也是標籤。

Peter:段落用,居中對齊用

Tim:段落太長了,就縮寫用

。字體、字號、顏色這怎麼弄?

Peter:放在段落

裡面的屬性吧,我來總結一下,現在的版本是這樣子了:

產品vs程序員:你知道www是怎麼來的嗎?

Tim:我感覺我們的文本文檔裡面標籤數量都快超過文本內容本身了。

Peter:現在咱們這已經不能算是普通文本文件了,有很多其他信息在裡面

Tim:不算文本文件,那叫什麼?

Peter:要不叫超級文本文件,哈哈!

Tim:這名字太中二了,叫超文本文件吧,HyperText,你覺得怎麼樣,Jerry?

Jerry:嗯,挺好,我沒意見。

Tim:專心點啊,咱們在工作呢!

Jerry:老大,我在想另外一個問題,關於文件下載這一塊兒。

Tim:文件下載怎麼了?有什麼問題?

Jerry:Tim,這個FTP感覺用起來不爽,不僅需要賬戶密碼,還需要建兩個連接,一個控制通道,一個數據通道,甚是麻煩。

Tim:嗯,確實是,怎麼,你有什麼新的方案嗎?

Jerry:我想重新弄一套協議,定製開發,專門用於咱們這套系統傳輸文本文件,哦不,是超文本文件。

Tim:好的,傳輸協議這事兒就交給你了!另外,標籤的事情就由Peter來負責,你們各司其職,互相配合,下班前把開發計劃排一下給我。

☆ 排期之爭 ☆

“這是我們新的開發計劃,你請過目,昨天下班時候想找你結果發現你已經走了”,Tim把開發計劃交給了Steve。

“納尼,這麼點功能你們竟然要一個月?”,Steve簡直不敢相信自己的眼睛。

“這次改動有點多,為了後面擴展新功能,我們要重新設計架構···”

“這個技術細節我不管,這些功能之前你們已經做過一段時間了,又不是從頭做,15天,我只能給你們15天時間”,Steve砍價很兇。

“15天肯定做不出來,你這太誇張了”,這一回Tim並沒有直接答應下來。

“加加班嘛,不就趕出來了”,Steve露出了熟悉的微笑。

“我給的時間已經都是算了加班的了”,Tim還是不肯就範。

“好吧,那我讓一步,20天,最多20天,這個月底必須得給老闆演示,不能再少了”,Steve的語氣一下強硬了起來。

“唉,好吧,只能加班加點趕了。”,Tim終於還是同意了。

☆ 996 ☆

研發部進入緊急開發模式,開始了996的工作時間。

“產品一張嘴,開發累斷腰啊”,Jerry向Peter抱怨著。

“你呀,少抱怨,我覺得這項目還是很有意義的,反正我是成就感很大”,Peter倒是不太在意。

“圖樣圖森破,生活不止眼前的代碼,···”,沒等Jerry說完,Peter回到工位繼續忙活去了。

產品經常變需求,我們的標籤不能想一個是一個,得重新整體架構設計,考慮擴展性。Peter索性把文檔內容全部用標籤來描述:

<code>文檔頭部:/<code><code>文檔正文:/<code><code>文檔頭部裡面還有文檔的名字:/<code><code>文檔段落:

/<code><code>換行:
/<code><code>段落居中:/<code><code>······/<code>
產品vs程序員:你知道www是怎麼來的嗎?

而另一邊,負責超文本傳輸協議設計開發的Jerry,抱怨歸抱怨,抱怨完還是認真研究起來:

首先不要兩個通道,FTP太複雜了,咱就弄最簡單的請求——響應模式,控制信息和數據信息在一個通道中完成,但是要明確的分開。

有了,用2個換行符,把頭部和正文數據分開。像這樣:

產品vs程序員:你知道www是怎麼來的嗎?

這天,Tim來到Jerry工位,Jerry給Tim講解了自己最新的設計。

“嗯,確實簡單了不少,但是你要留點擴展性,這產品經理經常加需求,變需求,不能寫的這麼死,需要靈活一點”,Tim提了些建議。

“可以舉例說明下嗎?”

“比如你看啊,對文件不一定是下載,也可能有上傳功能,或者修改功能,你不能只有下載,雖然簡單但擴展性太差”。

“咱不就是做個文檔在線瀏覽嗎,怎麼會上傳修改這些呢?”,Jerry還是不太理解。

“今天只是瀏覽,說不定下次就還要修改,上傳呢,產品經理誰說的準!”

“行,我明白了,我再仔細琢磨琢磨,謝謝老大的建議”。

“嗯,加油,有什麼疑問可以隨時找我交流”。

Tim走後,Jerry開始重新審視自己的設計:

看來得加動詞來描述操作類型,用GET表示下載,用POST表示上傳,用DELETE表示刪除······

文件類型以後可能也會多元起來,得加類型字段進行描述,就用Content-Type來表示吧

還有,考慮的再完善,以後可能還是會改,我得給協議也編一個版本號,便於以後的兼容。

產品vs程序員:你知道www是怎麼來的嗎?

☆ 月底了 ☆

很快到了月底,演示前一天,Tim再次召開會議。

Tim:明天就要給領導演示了,你們都推進的怎麼樣了,把最新的情況給我說一下。

Peter:老大,我對超文本文件格式進行了重新設計,這是我的手冊。我給這套規範取了一個新名字:

超文本標記語言——HyperText Markup Language,簡寫HTML。可以實現對文字、圖片的展示和排版,完美的實現Steve提的需求。Tim:嗯,非常棒,Jerry,你呢?

Jerry:我的新的文件傳輸協議也弄好了,就定名成超文本傳輸協議:HyperText Transfor Protocol,簡寫HTTP。專注於傳輸HTML文件以及相關的其他文件。Tim:好,我總算放心了,大家最後再Check一下,明天的演示不要出岔子。

第二天,演示非常順利,效果讓領導不斷稱讚,Tim和他的團隊這段時間的付出總算得到了領導的肯定。

幾天後的月總結會上,Steve向帝國國會演示了這個產品,並在會議上決定向比特宇宙正式發佈,其他帝國只需按照HTTP協議規範和HTML語言規範就可以發佈&瀏覽文檔,還公佈了項目中產品的正式名稱:

使用HTML語言規範編寫的文檔:網頁

提供網頁的機構:網站

負責網頁瀏覽的機構:瀏覽器

☆ 後續 ☆

很快,這一套標準得到了越來越多的響應者,無數帝國的企業開始盯上了這塊市場,競爭激烈。

沒多久,以IE公司、Chrome公司、Firefox公司為首的幾家企業,逐漸瓜分了瀏覽器市場。其中IE公司在Windows帝國集團擁有眾多分店,市場佔有率最高。而Chrome公司和Firefox公司則在Linux帝國、Windows帝國、OS X帝國都開拓了市場。

網站市場的競爭同樣激烈,而笑到最後的是Apache、Tomcat和nginx幾家巨頭。由於Windows帝國制度的管控,這幾家跨國集團都重點發展自己在Linux帝國集團的實力,曾經敗在Windows帝國集團的Linux集團憑藉Web業務的發展,打了一個漂亮的翻身仗。

越來越多的帝國用上了HTML網頁技術,並用HTTP連接,而使用這套技術構建的網絡也有了一個新的名字:World Wide Web——萬維網。

未完待續·······

彩蛋

夜已深,一個黑影出現在IE瀏覽器公司的代碼區,準備寫入一條JMP指令,劫持IE的首頁。沒想到有人快他一步,目標位置已經被修改。沿著JMP跳轉的方向望去,竟然是···

欲知後事如何,請關注後續精彩:

《瀏覽器主頁鎖定之戰——IE:我太難了》

產品vs程序員:你知道www是怎麼來的嗎?

原創不易,歡迎評論留言轉發,動動手指給我力量吧

產品vs程序員:你知道www是怎麼來的嗎?
產品vs程序員:你知道www是怎麼來的嗎?產品vs程序員:你知道www是怎麼來的嗎?


分享到:


相關文章: