跳到主要內容

簡易檢索 / 詳目顯示

研究生: 羅菲奇
Rifqi Alfaizi
論文名稱: Enhancing Software Usability through User Onboarding in GeekyNotes
指導教授: 鄭永斌
Yung-Pin Cheng
口試委員:
學位類別: 碩士
Master
系所名稱: 資訊電機學院 - 資訊工程學系
Department of Computer Science & Information Engineering
論文出版年: 2025
畢業學年度: 112
語文別: 英文
論文頁數: 57
中文關鍵詞: 使用者導覽可用性軟體工程師GeekyNotes軟體知識管理工具
外文關鍵詞: User Onboarding, Usability, Software Engineers, GeekyNotes, Software Knowledge Management Tool
相關次數: 點閱:88下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 現代軟體應用程式,尤其是為技術使用者(如開發人員)設計的系統,通常功能豐富且相對複雜。雖然這些應用程式非常強大,但其複雜性可能會帶來可用性上的挑戰,特別是對於初次使用者而言,在缺乏足夠引導的情況下面對不熟悉的介面,容易感到困惑與挫折,並增加學習的時間。在許多情況下,使用者可能會因此放棄這些軟體,轉而尋找更簡單的替代方案。因此,解決複雜軟體中的可用性挑戰,對於改善使用者體驗、提升使用者留存率與整體產品成功而言,是非常關鍵的。
    本研究探討使用者導覽(User Onboarding)對提升 GeekyNotes 可用性的成效。GeekyNotes 是一款為協助軟體工程師記錄與組織程式碼相關知識而設計的知識管理工具,可支援記錄變更故事、設計原由、除錯洞見以及結構性表示等資料。使用者導覽是指透過清晰、有引導的方式,向新使用者介紹關鍵功能與操作流程的過程;也可以被定義為教導使用者如何有效率地操作與導航應用程式,使他們能夠快速達成目標並理解產品價值的過程。為了改善初次使用者的體驗,GeekyNotes 特別設計並實作了一套使用者導覽功能,包含空狀態提示(empty states)、工具提示(tooltips)以及逐步教學(step-by-step tutorial)。
    為了研究使用者導覽對提升 GeekyNotes 可用性的效果,本研究設計了一項介於兩組的實驗,參與者為兩組軟體工程師:一組使用有導覽功能的 GeekyNotes,另一組則使用無導覽功能的版本。兩組皆完成一系列以任務為基礎的可用性測試,並透過任務完成時間、成功率以及系統可用性量表(System Usability Scale, SUS)分數來衡量他們的表現、效率與滿意度。研究結果顯示,使用者導覽功能能顯著提升複雜軟體的可用性與使用者體驗,尤其是在初次使用階段。本研究對人機互動領域提供了新的貢獻,並為開發者導向工具的導覽策略提供實務上的啟發與建議。


    Modern software applications, especially those designed for technical users such as developers, often come with feature-rich complexity. Although powerful, complex software applications could present usability challenges, particularly for first-time users who encounter unfamiliar interfaces without sufficient guidance. Such challenges can lead users to confusion, frustration, and increased learning time, and in any case, users will abandon the software applications and try to seek simpler alternatives. Addressing usability challenges in complex software applications is crucial to improving user experience, retention, and overall product success.
    This study explores the effectiveness of user onboarding in enhancing the usability of GeekyNotes, a software knowledge management tool built and designed to help software engineers document and organize knowledge around codebases, including artifacts like change stories, design rationales, debugging insights, and structural representations. User onboarding—a process that introduces key features and workflows to new users in a clear, guided manner. User onboarding is also defined as the process of teaching users how to navigate and use an application effectively and efficiently so they can achieve early success and understand the product’s value. To improve the first-time user experience, a set of user onboarding features were designed and implemented directly into GeekyNotes, including empty states, tooltips, and a step-by-step tutorial.
    To investigate the effectiveness of user onboarding to enhance the usability of GeekyNotes, between-subjects experimental studies were conducted involving two groups of software engineers: one used GeekyNotes with user onboarding features, and the other group without user onboarding features. Both groups completed a series of task-based usability tests, and their performance, efficiency, and satisfaction were measured using task completion time, success rate, and System Usability Scale (SUS) scores. The results show that user onboarding significantly enhances the usability and user experience of complex software applications, particularly during the first-user phase. This study contributes to the field of human-computer interaction and offers practical insights for enhancing the onboarding strategies of developer-focused tools.

    Abstract i Table of contents iv List of figures vi List of table vii CHAPTER 1 INTRODUCTION 1 CHAPTER 2 BACKGROUND AND RELATED WORK 5 2.1 Software Usability 5 2.2 Challenges in Complex Software 6 2.3 User Onboarding: Definitions and Concepts 8 2.4 User Onboarding Patterns 9 2.4.1. Empty States 9 2.4.2. Walkthroughs 10 2.4.3. Coachmarks 11 2.4.4. Completion Meters or Checklists 13 2.5 User Onboarding and Its Impact on Usability 13 2.6 GeekyNotes 15 2.7 Related Work 16 CHAPTER 3 PROBLEM DESCRIPTION & ANALYSIS 19 3.1 Research Objectives 21 3.2 Research Questions 21 CHAPTER 4 USER ONBOARDING IMPLEMENTATION 22 4.1 Objectives of the User Onboarding Design 22 4.2 Selected User Onboarding Patterns 22 4.2.1 Empty States 23 4.2.2 Step-by-Step Walkthrough 23 4.2.3 Tooltips 24 4.3 Technical Implementation 25 4.3.1 Frontend Implementation 25 4.3.2 Backend Implementation 27 CHAPTER 5 RESEARCH METHOD 28 5.1 Research Design 28 5.2 Participants 29 5.3 Instruments and Tools 29 5.4 Procedure 30 5.5 Data Analysis 30 CHAPTER 6 USABILITY EVALUATION AND RESULTS 31 6.1 Study Design and Procedure 31 6.2 Task Performance Results 32 6.2.1 Task Success Rate 32 6.2.2 Task Completion Time 33 6.3 SUS Score Analysis 35 6.4 Qualitative Feedback 35 6.4.1 Experiences from the User Onboarding Group 36 6.4.2 Observations from the Control Group 36 6.5 Discussion 37 CHAPTER 7 CONCLUSION 39 BIBLIOGRAPHY 40 Appendix A: Usability Testing Script 42 Appendix B: Observation Form 43 Appendix C: SUS Questionnaire 44 Appendix D: Additional open-ended questions for experiment group 45

    [1] O’Brien, M. (2014). Information Seeking & Documentation as Communication: A Software Engineering Perspective. Communication & Language at Work, 3(3), 26–37.
    [2] Intercom. (2016). The on-boarding problem.
    https://www.intercom.com/blog/the-onboarding-problem/
    [3] Hulick, S. (2014). User onboarding: Designing better first-time experiences. https://www.useronboard.com
    [5] ISO 9241-11:2018. (You can write: "According to ISO 9241-11, usability includes effectiveness, efficiency, and satisfaction...")
    [6] Nielsen, J. (1993). Usability engineering. Academic Press.
    [7] Krug, S. (2000). Don't make me think: A common sense approach to web usability. New Riders.
    [8] Brooke, J. (1996). SUS: A quick and dirty usability scale. In P. W. Jordan, B. Thomas, I. L. McClelland, & B. Weerdmeester (Eds.), Usability evaluation in industry (pp. 189–194). London: Taylor & Francis.
    [9] Norman, D. A. (2013). The design of everyday things: Revised and expanded edition. Basic Books.
    [10] Cooper, A., Reimann, R., & Cronin, D. (2014). About face: The essentials of interaction design (4th ed.). Wiley.
    [11] Balboni, C. (2016). What is user onboarding? Appcues.
    https://www.appcues.com/blog/what-is-user-onboarding
    [12] Babich, N. (2017). Designing empty states in UX. UX Planet.
    https://uxplanet.org/designing-empty-states-in-ux-4d3f312dbf76
    [13] Caffrey, A., McAllister, M., & Robinson, J. (2016). Evaluating the effect of structured onboarding on user performance in educational software. International Journal of Human-Computer Studies, 92, 1–12.
    [14] Harms, J., Lukosch, H., & van Diggelen, J. (2019). Designing onboarding experiences for complex enterprise systems. Journal of Systems and Software, 156, 94–107.
    [15] Dey, R., Oney, S., & Myers, B. (2020). Exploring onboarding in professional developer tools. Proceedings of the ACM on Human-Computer Interaction, 4(CSCW), 1–25.
    [16] Appcues. (2016). User onboarding best practices.
    https://www.appcues.com/blog/user-onboarding-best-practices
    [17] Garousi, G., Garousi-Yusifoğlu, V., Ruhe, G., Zhi, J., Moussavi, M., & Smith, B. (2015). Usage and usefulness of technical software documentation: An industrial case study. Information and software technology, 57, 664-682.
    [18] Cheng, Y.-P., et al. GeekyNote: a technical documentation tool with coverage, backtracking, traces, and couplings. in Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Companion Proceedings. 2020.

    QR CODE
    :::