主頁 > 軟體設計 > 2021年,我們 CSDN App做了什么?

2021年,我們 CSDN App做了什么?

2021-12-12 20:36:38 軟體設計

各位 CSDNer,我是CSDN App的產品負責人張遷,2021年我們做了什么?

在這一年其實我們做了很多,也舍棄了很多,所以想和你來聊一聊這個產品,

我想如果不是這篇文章你可能都不知道 CSDN還有個 App 吧?很慚愧,我們做的還不夠好,沒有讓我們的 App盡可能滿足所有人的需求,這是我們需要繼續努力的,從四年前我們正式上線第一個版本,到現在我們迭代到了 v4.20.0,按計劃今年還會有一個版本的更新,所以我們在 2021年度累計迭代 21個版本,看吧,這就是產品人的浪漫,連迭代的版本數都透露著“愛你”(諧音梗不扣錢),

這篇文章我會從 產品功能、性能優化、UI升級幾個方面來說說我們這 21個版本都做了什么,同時我希望你可以帶著下面三個小問題看完這篇內容,并將你的想法回復在評論區,對于合理的反饋,我想我們可以來單獨聊聊……

1、App內設計最爛的功能模塊是哪一個?

2、你覺得 App內哪一個模塊相對還不錯?

3、如果你是我,你最想在 App上實作一個什么功能?

在這之前,先說一個客觀存在的現狀,市面上大多數App為了能夠快速的迭代產品以及適應公司各業務的發展,都是使用 Native+H5+小程式 這種混合開發的模式,CSDN 也不例外,所以有的時候會發現提出的一個需求或 bug能夠快速的調整,那基本都是一些后端服務或基于H5/小程式的功能模塊;更新版本之后才有調整那就是原生開發需要發版解決,這種相對來說時間就會久一點,當然,作為程式員,相信你們也是能夠看出App內哪些是原生、哪些是H5和小程式,

OK 下面我們正式來聊一聊 App的 2021年做了什么?舉幾個例子來說一說:

每個人對美的認知都不太一樣,不能說孰好孰壞,但產品設計總歸要遵循一個簡單原則,無論是視覺體驗還是互動使用,簡單的才是好的,如果一個功能需要通過引導說明來向用戶解釋,那這個功能的設計一定不是最優的,并且一定是 UI圍繞著功能的,而不應該是苦思冥想一些功能去滿足一個炫酷的UI,

首頁

可能你們都有發現,首頁的內容會被經常調整,尤其是推薦流,在這個頁面我們要解決的是讓用戶快速瀏覽到自己感興趣的內容,并且能夠一直瀏覽到自己感興趣的內容,單說視覺層面,首頁導航條我們優化了樣式及選中狀態;對于資訊流逐步的優化了每條內容展示資訊元素、主次區分、封面尺寸、字體、字號、間距等資訊,我們希望資訊流是簡潔的,在瀏覽的時候不會覺得視覺疲勞,

我們堅持每次的功能調整一定是為了在某個場景解決了用戶的某個問題,功能上我們取消了首頁的自定義內容導航,這也是基于我們的推薦演算法逐步迭代讓我們可以在推薦流就可以滿足絕大部分用戶的需求,自定義是為了滿足用戶的個性化,當我們可以在一個面滿足的時候,就可以去除更多的冗余分類,新增的【熱榜】同樣是基于對我們現階段演算法的自信,讓更多用戶可以快速篩選出全站一個時間段內較為熱門的內容,降低用戶的篩選成本,

在【關注流】我們沒有粗暴的把關注人的所有內容直接羅列,而是進行過多次的分析和測驗,最終選定展示近7日的內容,并且對于關注的單個用戶也可以獨立展示內容,當你關注的用戶有內容更新時,關注流會有相應更新內容數量的提示,我們真的希望你關注的是對你有幫助的并且是你需要的,

首頁的所有改變呈現在版本更新里可能就是一句“首頁優化”,但背后卻是我們對演算法的上百次改進,對App性能的無數次調優,這才保證了我們每次推薦資料的準確性、穩定性、有效性,以及保證我們無論是視頻、直播、文章、動態等內容都可以做到點擊即可秒開詳情,

個人主頁

我們定義個人主頁是“人與人”之間的隔空對話,我們希望能夠更多的展示出被訪問者的“成就”和“能力”,所以我們在視覺上讓一些更為重要的資訊占據更多的區域,對簡介內容做了折疊并突出了你的成就資訊,我們相信相比簡單的自我介紹,資料更能說明一切,你所創作的內容也會被更有條理的分類展示,讓訪客可以對你不同的面都有所了解,

既然我們定義這個頁面是“人與人”的對話,那么我們也希望訪客和被訪問者之間產生一點共鳴,所以我們展示出了你的行業和所在地區(隱私資訊可關閉)以及你的興趣標簽,訪客視角可以看到與你有共同相關的點,我們希望通過這個“點”能讓更多的用戶之間可以連成線、鋪成面,希望在 CSDN你除了可以得到知識還能夠認識很多伙伴,

文章詳情頁

這個頁面可能是App內被用戶瀏覽次數最多的頁面,對于這個頁面的調整我們秉承著以閱讀體驗為最高優先級,去除了大量的冗余資訊,多次對文章排版布局進行樣式調整,并在詳情頁增加了快捷搜索、摘要分享、長按復制、稍后再看等實用小功能,盡可能的讓用戶可以在當前頁完成一些操作需求,并且加強了讀者對于內容互動的操作,對于文章本身,我們增加了來源標記、分享卡片;多次調整了相關推薦策略,對于作者,我們開放了移動端的文章打賞,讓你的內容有一些額外的認可,性能上我們對詳情頁進行過多次優化,即便是超長文章也能夠快速完成全文加載,作為技術社區“代碼”無處不在,我們在移動端也做了對代碼的兼容展示,讓你可以全屏閱代碼一鍵即復制,

每日一練

相信你在學習的路上也會產生迷茫,這個迷茫源于自我懷疑,懷疑對知識汲取的有效性,懷疑自己是否有真正的能力提升,系統性的提升可以通過實際專案來完成驗證,那日常學習的碎片化內容該如何來檢驗?這就是【每日一練】存在的意義,我們針對不同語言將一些高頻使用的知識點轉化成代碼練習,通過每日定量的任務來完成知識點的二次掌握,不積跬步,無以至千里;不積小流,無以成江海,相信即便每日僅用5~10分鐘來刷刷題,長時間的積累也會給你帶來很大的價值,

當然,我們也知道再有趣的學習都會是痛苦的,努力學習的人值得被獎勵,所以設立了每月排行榜并對榜單的Top用戶進行福利獎勵,目前已經有一大批用戶收到了來自【每日一練】的學習獎勵,

簽到

當我們說道簽到,你可能就想到“錢”,是的,我們要發錢,很干脆直接的發錢,當然,之前CSDN也做過一些類似的活動,可能大部分還是沒有很直接的給到一些可見的收益,尤其是簽到,一直被詬病,很多用戶都反饋簽到抽獎從未中過,不可否認我們在之前在一個功能上考慮太多的因素,成本、ROI、占用資源等等,在各種原因的影響下往往一個很好的功能就會變得很功利,這不是我們想要的,至少不是我們最初想要的,我們一直在探索怎樣更好的讓用戶用的爽,用的不反感,無論是今年開始的原力計劃在流量和金錢上的獎勵,還是碼住夏天的翻卡活動,亦或是增加的現金打賞等等,我們一直在嘗試,

原本的簽到,想必各位也都很清楚了,一直被你們吐槽,那么我們調整之后,從原來的連簽多天獲得抽獎機會,且不一定抽中什么,變成了每日簽到都會給到一定的現金收益,并且原力分提升還能夠得到10倍的簽到獎勵,雖然每日的獎勵額度不是很多,但絕對是市場上眾多產品中針對簽到發放獎勵較高的一個,現階段每日進入App-我的-簽到,點擊即可領取每日的現金獎勵,透露一下一年的簽到收益與CSDN年卡會員的費用相當,

當然對簽到的改動只是第一步,我們希望通過這一小小的嘗試來與你建立更多的連接,人生從來不像意想的那么好,也不像意想的那么壞,就像我們的一樣,雖然在你們眼中有很多槽點,但總還是會有一些可愛的地方,不是么~

小彩蛋:哪位同學發現了這個每日獎勵的規則么?

Blink

這是一個我們調整過很多次的模塊,很長一段時間內都沒有對Ta有一個明確的定位,所以在某個時期你們會發現這個模塊幾乎處于“放養”的狀態,我們也是希望在用戶自主的使用中發現這個模塊對于用戶的意義,現在我們發現了,我們從來不認為技術人需要的只有干貨,除了知識和作業我們還需要生活,這里就是所有用戶的動態,有學習、有生活,只要你愿意你可以在這里分享一切你想分享的內容(請遵守社區規范),有很多用戶跟我說只想看到技術干貨,不想在這里看到其他的內容,我們尊重用戶的使用習慣,你可以有選擇的瀏覽內容,但請不要用你的規則要求所有用戶,

有一段時間在Blink有很多用戶開始分享自己的生活,這其實讓我們受寵若驚,我們做的不夠好,但仍有用戶很認可的在這里分享,我們很感激,不過也有一些小遺憾,這些用戶往往會收到一些不友好的言論回復,對此我們深感抱歉,是我們沒有摸索并明確社區的方向,讓你們受到一些不好的體驗,對此,我們增加了對回復/評論的【舉報】功能,我們希望社區的氛圍是友善的、和諧的、平等的,一切分享都應該得到友善的互動,

功能上我們逐步完善了可以發布的內容型別,包含了文本、圖片、視頻、投票、PK等等,并且在功能邏輯上多次優化,本年度的最后一個版本,Blink會升級為【微社區】并新增同城模塊,我們希望在微社區你看到的是你關心的人的內容以及推薦的用戶動態,同時可以瀏覽不同城市下用戶的動態內容,世界那么大、城市那么多,不要偏愛于此,我們希望這里發生的事情可以和你有一點點的關聯,并且可以留下你發生的事情 ,畢竟大大的城市小小的我們,你的程式人生總歸需要留下一點點的足跡,

我們實作的功能遠不止這些,今年 App進入研發的需求200+,有一些被陸續舍棄,有一些會被繼續迭代,當然,我們的初心沒有變,繼續為用戶提供更好的、更有價值的服務,我們希望不僅僅只是在做一個功能,而是在滿足更多用戶的合理訴求,大廈從來不是一天建成的,但坍塌往往就在一瞬間,所以我們會很珍惜你們給到的信任與支持,接下來的一年中,我們希望可以慢一點,認真打磨好每一個有價值的服務,做一個有靈魂的產品,

在此也感謝我們移動端團隊的每一位成員:

運營-丁煥朗;

App研發-孟瑞瑞、鄧建東、蘭偉欣、馬占文、楊旭東、丁豪、郭武鑫、匡罡、王林彭、張震;

小程式研發-許章正、靳俊召、劉營、王天雷;

測驗-李秀秀、張凌宇、劉靜;

以及UED團隊的曹宏、孫維國、劉亞強,

感謝每位同學的負責和努力,讓我們的用戶都被善良以待,

以上……

另:歡迎各位點擊下載體驗 CSDN App/或掃碼下載

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/379485.html

標籤:其他

上一篇:博特電子-17屆智能車無線充電組恒功率方案

下一篇:HTTP協議請求

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more