Understanding the Needs of Novice Developers in Creating Self-Powered IoT

Context-Aware ComputingDesktop 3D Printing & Personal FabricationCircuit Making & Hardware PrototypingSoftware Engineers & DevelopersMakers & DIY Enthusiasts

Document Title

Understanding the Needs of Novice Developers in Creating Self-Powered IoT

Document Information

  • Subject Area: Human-Computer Interaction (HCI), Internet of Things (IoT), Sustainable Computing
  • Keywords: Novice developers, energy harvesting, battery-free computing, sustainability, IoT, self-powered systems, developer support, interactive systems

Research Background and Issues

  • Identified Problems or Challenges:

    • Traditional batteries and wired power sources cannot meet the demands of future IoT applications.
    • Although energy harvesting technologies have great potential, novice developers find it challenging to apply these technologies in practical system development.
    • Novices lack core practical knowledge when working with energy harvesting technologies, leading to frustration during the development process.
    • The "expert blind spot" issue: experienced developers may fail to recognize the difficulties novices face when learning in this domain.
  • Importance of the Problem:

    • With the rapid growth of IoT devices, self-powered systems are a crucial pathway to overcoming energy challenges. They not only help reduce maintenance costs but also lay the foundation for sustainable computing and sensing.
    • Supporting novices in learning and practicing energy harvesting technologies can promote the large-scale adoption of these technologies.
  • Research Motivation and Related Work:

    • Existing studies focus on hardware and software development for energy harvesting systems but lack guidance and tool support tailored to novices.
    • Previous research has proposed platforms (e.g., Flicker, BFree, Battery-Free MakerCode), but these are primarily designed for experienced developers.
    • This study aims to uncover the needs and challenges of novices in developing self-powered IoT systems through research on physical prototyping.

Solution

  • Research Methodology:

    • Designed and conducted a two-day guided physical prototyping experiment involving eight novice developers and one expert to complete two IoT tasks.
    • The experiment included basic circuit testing, programming guidance, system debugging, and measurement and optimization of energy harvesters.
  • Proposed Solution:

    • Developed a customized energy harvesting evaluation platform comprising hardware circuits and toolchains. The platform supports various energy harvesters and their related applications (e.g., solar panels, piezoelectric components).
    • Provided example programming code and basic simulation tools to simplify functionality for novices.
  • Innovations:

    • Conducted an in-depth exploration of the gaps in novice developers' needs when working on energy harvesting IoT development, revealing required assistive features and offering design insights for energy harvesting tools tailored to novices.
    • Emphasized strategies for dynamic adjustments to unstable energy conditions, supporting the integration of simulation with physical circuits to help developers build more feasible systems.

Research Outcomes

  • Specific Findings:

    • Identified two major challenges faced by novices in developing energy harvesting IoT systems:
      • The gap between concept and practice, such as measuring the power of energy harvesters and understanding the charging and discharging mechanisms of capacitors.
      • The need for tool support, such as capacitor value calculators, optimization strategy prompts, and energy harvester simulation tools.
    • Proposed functional recommendations for designing energy harvesting tools, such as providing real-time energy logs and dynamic adjustment suggestions.
  • Comparative Advantages over Existing Solutions:

    • Focused on the practical needs of novice developers, addressing the lack of beginner-oriented guidance in existing platforms.
    • Proposed a series of educational and tool design approaches to make energy harvesting technologies more accessible for practical IoT system applications.
  • Experimental or Evaluation Results:

    • Novices generally demonstrated a high level of understanding of the principles of energy harvesting technologies but faced challenges in practical applications.
    • With expert guidance, developers were better able to complete the two tasks and gained insights into the relationship between energy harvesting hardware and environmental variables.
    • Highlighted the need for optimization strategies, as developers tended to add more harvesters rather than reduce system energy consumption when energy input was insufficient.
  • Limitations and Future Directions:

    • The current experiment did not address intermittent computing scenarios caused by real power outages. Future research should explore novices' capabilities in such scenarios.
    • The study focused solely on novice developers; future work could expand to developers with varying levels of experience and broader application scenarios.
    • Mobile or wearable self-powered IoT systems were not covered, which may require optimization for factors like size and weight.

Conclusion and Design Implications

  • Educational Efforts:
    • Enhance university courses on energy harvesting embedded systems by incorporating hands-on projects to familiarize students with relevant knowledge.
  • Feature Design:
    • Provide energy simulation tools, real-time logging features, and example code to shorten the learning curve for developers.
  • Optimization Support:
    • Offer optimization guidance or strategy prompts and record system dynamics to help developers identify opportunities for improvement.
  • Avoiding Complexity:
    • Minimize the risk of "feature bloat," focusing on simplifying the novice development process without omitting critical information.
  • Modular Support:
    • Support modular and plug-and-play hardware designs to reduce the time developers spend on connections and testing.

This study provides an analytical framework and design guidelines to support novice developers in creating self-powered IoT systems, driving improvements in related tools and technologies.

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/papers/chi/147080/2024

AdRecommended

Learn AI Coding at CodeNow

open_in_newOpen DOI Link
DOI: https://doi.org/10.1145/3613904.3642576
At a Glance

Paper Snapshot

fact_check
dataset
Source
CHI
calendar_month
Year
2024
emoji_events
Award
No award tagged
group
Authors
4 authors
sell
Subtopics
Context-Aware Computing, Desktop 3D Printing & Personal Fabrication, Circuit Making & Hardware Prototyping
work
Professions
Software Engineers & Developers, Makers & DIY Enthusiasts
article
Content Status
Full text indexed
hub
Related Papers
10 related papers