文/何勝輝
近年來,筆者在參與一些稍具規模的群體性活動(如大學同學畢業十周年聚會、單位組織的登山、羽毛球比賽等)時,經常發生因相關信息不完全且組織者和參與者無法進行有效溝通而最終導致原本可以順利進行且讓各方面都滿意的聚會活動變得要么辦的不盡如人意,要么流產的情況,令人深以為憾。有感于此,經過反復思考,設計出一個供聚會時使用的活動信息發布共享、組織者和參與者相互溝通并協同決策的系統,以期為人們組織活動提供便利。
設計一個聚會協同決策系統,該系統的每個用戶都可發起活動和設定活動各項信息,系統需為其他用戶提供參與活動的入口。在一個活動里,每個參與者的選擇情況都應實時顯示給活動內其他用戶,每個參與者在發起人限定的時間范圍內都可對原先的選擇進行調整,調整結果也要實時顯示給其他會話內用戶。發起人可根據情況需要在一定時限內隨時對自己之前設定的活動信息進行調整,發起人可對該活動參與者做出選擇的時間予以限制并隨時調整該限制,發起人可以對該活動的參與者進行各種管理;系統為所有用戶提供發送消息相互溝通的功能;系統設置評價機制,為用戶提供通過具體的活動進行相互評價的功能;系統還應考慮一定的隱私保護。

圖2
用于創建一個活動。需要設定活動標題、活動詳情、活動圖片(上傳活動參考圖片,非必填,為保證上傳和顯示效果,需對圖片大小長寬進行控制)、報名截止時間、決策截止時間(報名截至時間要晚于當前時間,決策截止時間要晚于報名截止時間)、是否公開(選擇公開或者匿名,決定活動是否在活動列表顯示)、人數限定、活動起始時間(活動起始時間要遲于決策截止時間)、活動類型(分為“選項”、“方案”兩種)等信息。
如選擇活動類型為“選項”,則需進一步添加若干條選項的標題、選項內容(一般為多條)、是否單選(若是為單選,否則為多選)等信息。

表1
如選擇活動類型為“方案”,則需進一步添加若干條方案的標題、詳情、開始時間、結束時間、活動地點、是否單選(若是為單選,否則為多選)等相關信息。
“選項”和“方案”的區別在于“選項”可以相對自由的組合各種條件供用戶選擇,而“方案”格式相對規范,但也基本包含了要發起一個活動需要讓潛在的參與者所了解的各種信息。
對系統內各位用戶發起生成的活動進行列表展示,針對不同活動的活動狀態,展示方式也會有所區別:還沒有開始的活動高亮顯示、已經過期的活動就暗灰色。另外,活動列表還需要提供篩查、排序功能,可以方便用戶通過活動主題、參與人等關鍵字進行活動查詢,以是否過期等狀態信息進行篩選,或根據發起時間、報名截止時間等條件進行排序。
2.3.1 我發起的
作為一個活動的發起人擁有對該活動的全部管理權限,可以取消、決策該活動,修改、刪除該活動全部信息,對參與該活動的成員進行管理(踢人、設置或取消該活動管理者)和發送系統內消息。
2.3.2 我管理的
一個活動的參與者在被該活動發起人授予該活動管理者權限后,就具備了決策該活動,修改該活動全部信息,對參與該活動的成員進行管理(踢人)和發送系統內消息的權力,但他不能取消該活動,也不能踢該活動的發起人和其他該活動的管理者或取消該活動的管理者。
2.3.3 我參與的
作為一個活動的參與者,可以參與選擇各“選項”和“方案”,供活動組織者決策。還可以接受各種消息,并給其他該活動參與者發系統內消息。
評價是針對具體活動的,且是雙向的。因為每個用戶即可能是一個活動的發起人也可能是一個活動的參與者,當他是一個活動的參與者時,他就給發起他參與的活動的用戶評價;反之,如果她發起了一個活動,那他就接受其他參與了他發起的活動的參與者對他的評價。
評價從兩個維度出發,一是人品,另一個是能力。一個用戶發起一個活動后,其他參與者對他進行評價,既要看他是否組織好了這個活動(能力)也要考量他是否認認真真的用心在辦這個活動(人品)。如圖2所示。

圖3

圖4
消息中心分為“我發出的”和“我收到的”,其中“我收到的”包括來自系統(活動臨近報名截止時間或決策截止時間的提醒、踢人提醒、活動內容修改提醒等)和來自他人,消息要能夠關聯到具體的活動(每個用戶都是在進入一個活動后才能夠有對該活動的其他參與者發消息的接口)。一條消息包括題目、內容 、發送時間和所屬活動等相關信息。如圖2所示。
如圖3所示。
如圖4所示。
如表1所示。
一個軟件是否有價值,必須要投入實用并接受用戶的檢驗。目前該軟件已經完成了系統設計工作,并在圈子內的朋友們共同努力下開發出了基于微信公眾號技術的測試版本。在內部測試過程中,發現了不少問題,還需要進一步的改進和優化。筆者力爭早日完善該系統,使其盡快正式上線,為大家提供服務。