• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 9
  • Tagged with
  • 9
  • 9
  • 6
  • 5
  • 4
  • 3
  • 3
  • 3
  • 3
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Perception and effects of implementing Kotlin in existing projects : A case study about language adoption

Sundin, Emil January 2018 (has links)
The Kotlin programming language has seen an increase of adoption since its launch in 2011. In late 2017 Google announced first-class support for Kotlin on the Android platform which further popularized the language. With this increase in popularity we felt it was interesting to investigate how Kotlin affects the developer experience. We performed a case study to see how Java developers perceive the Kotlin language, and how it meets the requirements of these developers. To gather the developer requirements and their perception of Kotlin we performed two sets of interviews and rewrote parts of their codebase. The first set of interviews identified developer requirements and the second set of interviews showcased the Kotlin language and its potential use in their codebase. The results show that Kotlin can meet most of the developer requirements and that the perception of Kotlin is positive. Kotlin’s ability to be incrementally adopted was a prominent feature which reduced the inherent risks of technology adoption while providing them the ability to further evaluate the language. The expressiveness of a programming language has previously been found to be a prominent factor of language adoption. In this study, we identified the expressive nature of Kotlin as a major factor of its adoption potential.
2

Game developer experience : A cognitive task analysis with different game engines

Flomén, Rasmus, Gustafsson, Micaela January 2020 (has links)
Context: Today there are a lot of different kinds of game engines to choose from, but is one of these engines more suitable for a developer with a beginners' experience in game development? Objective: This is something we explore in order to help teachers choose a suitable engine for teaching game development to beginners.In this study, two teams of two persons each compare two of these engines, Godot and Unity. Method: We conducted a study, consisting of six iterations, to observe the development of a prototype game using the two engines. We collected data during the development of the game using a think-aloud protocol and a questionnaire, and after the development using a questionnaire that included the SUS scale for assessing the overall usability of the game engines. Results: The Godot engine have been focused on completing their documentation and the documentation is somewhat directed to more experienced developers. In comparison the Unity engine got more solutions outside of the documentation and also got their own special guides towards beginners.Although Godot engine got a more simpler GUI which will be easier at first but as the tasks became more difficult this became more of a disadvantage and some solutions were not found easily among the documentation. In comparison the Unity engine got more menus and can seem a lot to a beginner but became to be more helpful the harder the tasks became and even though most solutions were not found among the documentation, there were enough information from other sources to solve all problems with an easy search.Neither of the engines provided with a lot of helpful information within the tool, although the Godot engine had some cases where the tool would let the developers know a certain component was needed. Conclusion: Our main conclusion is that Godot is a good entry point into game development but as the tasks gets more difficult students would need the teacher’s help in order to solve the tasks as easy as with Unity. In contrast, Unity starts more difficult but as tasks gets more difficult Unity have more solutions online, which makes it more suitable if students are to develop on their own.\\This study is rather small with only four participants and this limits the results, for future studies it would be best to have more participants. Keywords: Cognitive task analysis, game developer experience, Godot, Unity, game engine, usability
3

Defining and Evaluating Design System Usability for Improved Developer Experience

Wirstad Gustafsson, Ella January 2021 (has links)
The recent growth of the software industry has drawn attention to strategies aimed at improving collaboration within the development team. Shown to frequently encounter dilemmas associated with cross-disciplinary work are User Experience designers and software developers, whose effective collaboration are essential for the success of the development process. Design systems have evolved as a response to the demand for efficient collaboration as a collection of reusable patterns and documentation used to establish a common language within software development teams. The popularity of using design systems within software development projects has grown rapidly in recent years, but little research has yet been conducted on its usability in development work. The goal of this thesis is to study design systems from a developer perspective, and evaluate its ability to facilitate the collaboration within software development teams. By building upon previous work on developer experience, this study proposes a method for assessing design system usability from a developer perspective. In this study, participating software developers were tasked with implementing user interface design in code with the help of a design system, followed by interview questions based on the Cognitive Dimensions Framework. Thematic analysis was used to analyze the data. Results provide insights into design system usability and developer experience. Findings include aspects of design system usability in general, such as the importance of developers' autonomy and flexibility of the system, as well as implications from the tested method in particular, such as the relevance of context of implementation. The results implicated an inherent dilemma of approaching design system development through conventions and best practices rather than with a systems theory and systems thinking perspective. / Senaste tidens tillväxt inom mjukvaruutvecklingsindustrin har resulterat i ett ökat intresse för att effektivisera samarbetet inom utvecklingsteamet. Två yrkesgrupper som påvisats stöta på dilemman associerade med multidisciplinärt arbete är de som designar och utvecklar mjukvara, vars samarbete är avgörande för utvecklingsprocessens framgång. Designsystem har vuxit fram som ett svar på en ökad efterfrågan på effektivt samarbete som en samling återanvändbara mönster och dokumentation som syftar till att etablera en gemensam vokabulär och inom mjukvaruutvecklingsteam. Trots att användandet av designsystem inom mjukvaruutveckling har ökat under de senaste åren har inte mycket forskning gjorts på dess användbarhet i utvecklingsarbetet. Denna uppsats syftar till att studera designsystem från ett utvecklarperspektiv, och utvärdera dess förmåga att facilitera samarbetet inom mjukvaruutvecklingsteam. Genom att ta avstamp i tidigare forskning kring utvecklarupplevelse föreslår denna studie en metod för att bedöma användbarheten och utvecklarupplevelsen av ett designsystem. Deltagande mjukvaruutvecklare fick i denna studie i uppgift att implementera gränssnittsdesign i kod med hjälp av ett designsystem, följt av intervjufrågor baserade på ramverket för Cognitive Dimensions. Tematisk analys användes för att analysera data. Resultaten ger inblick i användbarhet och designsystem i allmänhet, så som vikten av utvecklarens autonomi och systemets flexibilitet, samt implikationer från det testade design systemet i synnerhet, så som implementationskontextens relevans. Resultaten antyder att det finns svårigheter med att närma sig mjukvaruutveckling med designsystem genom konventioner och god praxis snarare än med ett systemteoretiskt perspektiv.
4

The ‘boring’ but important part of our work : A Case Study on Developer Experience Enhancements for Technical Documentation

Rasmussen, Hannes January 2024 (has links)
IST is a company that develops software for the education sector. The company's growth has led to inconsistency in its software suite, negatively impacting user and developer experience. User interface components such as buttons and forms vary in design and implementation across their services, making it challenging for users to navigate and for developers to maintain. To improve this, IST has started a project to switch to a different front-end architecture, known as micro-frontend, which will need to be accompanied by technical documentation. This project is referred to as ‘CommonUI’. Reading and contributing to documentation, especially for software, is indicated by existing literature to be perceived unappealing by developers. This thesis aims to explore developers' attitudes toward documentation and proposes Developer Experience-oriented features. The method process involves a literature review, semi-structured interviews and identifying themes using thematic analysis. The findings reject the hypothesis that developers find documentation unappealing, indicating that most developers view engaging with documentation positively, motivated by altruism. Key themes identified from the interviews include the need for examples, up-to-date, concise text, and easily findable documentation. Proposed features to improve the Developer Experience include interactive component examples, integration of documentation with design specifications, dynamic presentation of code from source files, mechanisms for user feedback, text limitations, and enhanced search functionality.
5

Developer Experience of a Low-Code Platform: An exploratory study

Dahlberg, Daniel January 2020 (has links)
In recent years, low-code development has become increasingly popular, enabling developers to write less code and focus on the objective. However, while proven efficient, little attention has been given to how developers experience working in these development environments. This is significant as providing unpleasant experiences could reduce the benefits of low-code platforms by leaving the developers unhappy. As such, this study aims to gain an understanding of developer experience in low-code environments. The study was conducted with an IT-company recently specialized in low-code solutions, where participants were chosen based on having prior experience with low-code development. This ensued in interviews with six low-code developers as well as a project leader. Main positive experiences found were, feeling more productive, improved customer relations, focus on the objective, shared developer understanding, and quick learnability. Key negative experiences found were, having work constrained, limited freedom and creativity, inadequate documentation, and overview, and having poor and unsafe teamwork capabilities. To the best of my knowledge this is the first study to explore developer experience in low-code development environments and stands as groundwork for future studies in low-code developer experience.
6

ChatGPT as a Software Development Tool : The Future of Development

Hörnemalm, Adam January 2023 (has links)
The purpose of this master’s thesis was to research and evaluate how ChatGPT can be used as a tool in software developers’ daily work activities. In order to do this, the thesis was conducted in two phases, the initial exploration phase and the data collection phase. In the initial exploration phase, five senior-level developers were interviewed about their day-to-day work, opinions of generative AI, and the profession of software developers as a whole. From these interviews, a theoretical foundation for software development was formed, categorizing the daily work tasks of a software developer into either coding, communication, or planning. This theoretical foundation was then used as the basis for the tasks and interviews used during the data collection phase. In the data collection phase, seven developers, ranging from students to industry veterans, were asked to complete a set of representative tasks with the help of ChatGPT and afterward participate in an interview. The tasks were based upon the theoretical foundation of software development and aimed to serve as representative tasks that software developers have to do in their day-to-day work. Based on the tasks and interviews it was found that the use of ChatGPT did in fact help make software developers more effective when it came to coding and planning-based tasks, but not without risk since it was shown that junior developers trusted and relied more on the answers given by ChatGPT. Although ChatGPT showed a positive effect, the tooling still needs improvement, since the developers had trouble with the text formatting when completing communication-based tasks, as well as them expressing a desire for the tooling to be more integrated. However, this desire was not unexpected, since all of the developers involved showed interest in working with generative AI tooling for work-related tasks in the future.
7

Evaluation of the Effectiveness of Implementing a UI Library in FinTech Applications / Implementing a UI Library in FinTech Applications : An Evaluation of the Effectiveness

Hallberg, Emil January 2021 (has links)
Implementing new technology into a complex software developing environment comes with many challenges in terms of code, user interface design, and developer experience. It is well-established that the pressing demand for security and regulations within financial technology makes it even more essential to implement new technologies with care and minimised risks. This work aims to determine the effectiveness of such implementations. Specifically, it evaluates the effectiveness of implementing a UI library in a FinTech application to find the most suitable approach. In this context, a UI library defines as a robust set of user interface components available in one place and a FinTech application as an application in financial technology with complex developing infrastructure. In order to successfully evaluate the effectiveness of implementing a UI library in a FinTech application, a thorough literature survey was performed to identify decisive factors relating to code quality, user interface, and developer experience. In a case study in which a FinTech company served as an example, a solution consisting of their product and UI library was developed. The solution was tested by collecting data from code evaluation, questionnaires, and interviews. The result shows that the solution has higher code quality, fulfils the FinTech UI requirements, and perceived as an improvement of the development infrastructure.  On this basis, the utilised methodology and the recognised factors in this work should be taken into account to identify the most suitable approach when implementing a UI library in a FinTech application.
8

Designing for Programming Without Coding : User Experience of Mobile Low-code Software

Korczak, Anna January 2023 (has links)
In our progressively digitized world, the escalating demand for software solutions intensifies the need for proficient developers. Low-Code Development Platforms (LCDPs) present a promising approach to address this necessity, empowering individuals without traditional programming skills to create software applications. However, despite their potential, these platforms are often not accessible or intuitive for non-professional developers. This research examines the design of LCDPs, with an emphasis on enhancing the user experience for non-programmers. By investigating the usability of LCDPs and designing a prototype based on the findings, my aim is to contribute to the ongoing discussion about the democratization of software development and to propose enhancements that could make LCDPs more user-friendly, inclusive, and usable across devices. The research involves a combination of literature review, interviews, prototype development, and user testing, providing a multifaceted perspective on the topic. Moreover, it discusses potential implications for the design of LCDPs, as well as for the broader field of interaction design.
9

Optimizing Developer Experience: Component Playground Integration in Software Development

Engberg, Tilda January 2024 (has links)
The component-driven approach in software development has become a favored approach when developing web applications. Developing and maintaining components are central when using the component-driven approach and it has a lot of advantages. On the other hand, developing and maintaining the components within an Integrated Development Environment can be challenging due to the lack of a visual overview of the components in extensive projects. A component playground could address this issue through its features such as implementing components in isolation that could make the development more efficient and productive in different areas. With that said, it can improve the Developer Experience which is also an understudied area.  This project aims to investigate how a component playground affects the Developer Experience focusing on component creation, development workflow, and overview of the component library. Furthermore, how the integration of a component playground in the Software Development Life Cycle affects the Developer Experience. The chosen methodology was primarily user tests of an implemented web application with the component playground Storybook integrated into it. Besides the user tests, a literature review and interviews were made to support the results of the user tests. The data from the user test were used to answer the research question and the four hypotheses of this project. The results from the user test showed that the overall Developer Experience and the overview of the component library were improved using a component playground, especially for less experienced developers. It also showed a strong indication of improved component creation and more efficient development workflow.  To conclude the Developer Experience is improved by using a component playground. However, it is important to analyze each project and developer's needs. Future research could explore a component playground's long-term effects in real projects. Furthermore, there is a lack of how to measure Developer Experience which could also be investigated.

Page generated in 0.0809 seconds