0%

【淺談】模擬排課平台概念

前情提要

新的學期即將開始,又到了選課的季節,看到了這麼多人做了線上模擬排課的服務給大家使用,開心之餘也想來分享一些經驗。

大模擬排課時代

模擬排課功能

  • 每到選課的季節,提早幫自己規劃下學期的課表是大多數學生都會經歷的,可惜學校並沒有提供一個好用的排課系統,所以不外乎是在學校系統上看好想修的課程,再放到自製 excel 的表格當中,是個簡單且實際的方法。當然,這個流程再簡化就是能邊看課程邊加入自己的課表當中,如果能再配上一個不錯的介面就更棒了,這就是線上模擬排課最核心的優點——簡單、整合
  • 要做出這樣的平台需要兩個元素,一個方便操作好看的介面,和學校的課程資料,先說前者,在現在網頁、APP 蓬勃發展下入門的門檻的確不高,但是要能做到精準絕對也不是容易的事情,這邊指的精準簡單來說就是要做到好用,功能要能滿足大多數學生在排課上的「需求」,例如: 完善的搜尋功能、清楚明瞭的介面、好的使用者體驗(user experience)等,而要怎麼樣去了解到使用者的需求,簡單的方法就是把身旁的朋友抓來詢問,但是有可能會有同溫層的抽樣偏差,如果要深入一點了話,我推薦可以去修張永儒老師的使用者經驗與易用性評估課程,可以很深入的了解到這方面的知識。
    User experience
  • 再來就是要有學校的課程資料,個人取得的方法可以透過爬蟲,去爬下學校網站的資料,如果是單位了話則可以透過向學校單位申請的方法取得 API。這邊爬蟲要夠完整且盡量不能有錯誤,當然如果是寫給自己用的話就沒什麼關係。還有就是學校的課程資料是會更新的,所以要寫一個排程定期去爬下最新的資料,才能確保不會有臨時變更課程時間、課程內容的悲劇發生。
  • 有了好用的模擬排課功能大家自然就會使用,不過當然不能只有好用,好看也是很重要的!不過好險我們生在這個年代,在現代主義(Modernism)的思潮下,設計更重視功能性重要於裝飾性、少即是多(Less is More)的原則。就算不懂設計,也可以根據幾個小原則做出不錯看的介面,可以參考極簡主義(Minimalism)扁平化設計(Flat Design)這兩個原則,簡單來說就是畫面簡潔配色和諧

平台維護

  • 對一個程式設計師來說,能開發出一個工具讓大家使用是很有成就感的一件事,但是當功能越來越多要變成一個平台之後,就會需要多人一起開發維護,要怎麼跟別人合作,寫出一個可讀性高的程式碼也是一門學問,最常發生的就是為了求快寫出了難以維護的程式碼埋下技術債,關於技術債可以參考這篇工程師應該放心大膽地創造技術負債。當然還是鼓勵大家養成好的習慣,可以去看 Clean Code 這本書,或是去看 Google Style Guides,相信都會有很多幫助。
    Maslow's Pyramid of Code Review

其他功能

  • 除了模擬排課之外還有很多有趣的事情可以做,最常見的有考古題、課程心得、美食地圖等功能,後面就稍微分享一些想法。就以考古題、課程心得、美食地圖這三個功能為例好了,這些功能都是需要藉由群眾外包(crowdsourcing)來完成的,也就是讓使用者來上傳考古題、分享心得,最典型的群眾外包案例就是維基百科,一本集合大眾所完成的線上百科全書。
  • 這些功能最容易遇到的問題就是「大家都只想看,不想分享」,用社會學的角度來看就是所謂的搭便車心態(free rider problem),其根本原因也來說考古題、修課心得其實算是一種無形的財產,把他公開讓大家都可以取得後自己便失去的這個財產。從這個角度切入的話問題就很簡單,那就把這些無形的財產量化,量化成一種貨幣的形式,也就是引進使用者付費(User pays)的概念,透過獎勵機制的概念增加誘因。而這個概念也就是市場行銷學中所謂的遊戲化(Gamification)的概念,在非遊戲領域當中,採用遊戲的機制引導使用者進一步達成目標,例如透過每日登入獎勵、貢獻獎勵等。
    Gamification

大賭場

  • 這邊用大賭場純粹只是用一個聳動的標題。上面提到的貨幣機制在延伸下去了話可以試想要如何提高大家使用的誘因,接下來的想法就可以無限發散。一個大膽的想法就是在平台上開發遊戲,可以是簡單的一個小遊戲讓使用者可以上去遊玩,然後輸贏會有對應的貨幣獎勵機制,加入了一點賭場的概念,畢竟人類是好賭的XD,遊戲方面了話學校有孫春在老師的 數位娛樂與藝術專題 遊戲設計,不過雖然老師沒有限制用甚麼開發遊戲,但是大宗還是用 Unity 的居多。總之,遊戲這邊就可以發現無限的想像力,說不定未來還可以發展成線上梅竹賽(併校後不知道還會不會有梅竹賽就是),這邊就拋個想法,期待未來有一天可以看到類似的成果XD

總結

  • 模擬排課的功能通常只有在選課的季節才會被看見被使用,接下來在選課期間可以多加的推廣一下。交大其實沒有開甚麼網頁相關的課程,看到這麼多人願意自發的花時間學習並且開發工具讓大家使用是蠻開心的,期待之後會看到有更多好玩有趣的功能XD

文章同步至 Medium 平台