21,727 research outputs found

    Opportunities in Software Engineering Research for Web API Consumption

    Full text link
    Nowadays, invoking third party code increasingly involves calling web services via their web APIs, as opposed to the more traditional scenario of downloading a library and invoking the library's API. However, there are also new challenges for developers calling these web APIs. In this paper, we highlight a broad set of these challenges and argue for resulting opportunities for software engineering research to support developers in consuming web APIs. We outline two specific research threads in this context: (1) web API specification curation, which enables us to know the signatures of web APIs, and (2) static analysis that is capable of extracting URLs, HTTP methods etc. of web API calls. Furthermore, we present new work on how we combine (1) and (2) to provide IDE support for application developers consuming web APIs. As web APIs are used broadly, research in supporting the consumption of web APIs offers exciting opportunities.Comment: Erik Wittern and Annie Ying are both first author

    Bridging the Gap

    Get PDF
    School districts across the country are increasingly seeking out digital tools to support the work of educators, in the hopes of improving students' academic achievement. With the rapid emergence of this new market, many districts have been challenged by the task of identifying and procuring educational technology (ed-tech) products that match the needs of their educators and students.The NYC Department of Education's "Innovate NYC Schools" division, supported by a U.S. DOE Investing in Innovation (i3) grant, aims to address this problem, in part by promoting "user-centered design," an approach that puts the needs and preferences of products' intended users (in this case, teachers, students, and parents) front and center in the development and procurement of new technology.Bridging the Gap describes the design and implementation of three Innovate NYC Schools initiatives grounded in user-centered design theory:School Choice Design Challenge (SCDC),an effort to develop apps that would help students explore and narrow down their choices of high school.#SharkTankEDU events, during which ed-tech developers present a product to a panel of educators who provide feedback on the tool.Short-Cycle Evaluation Challenges (SCEC), a classroom-based, semester-long pilot of ed-tech tools intended to inform product development, as well as the ultimate procurement decisions of school staff.The report focuses on four phases of work involved in bringing ed-tech companies and the users of their products together: defining a problem; selecting users and ed-tech companies; implementing pilot-based initiatives; and evaluating products. It describes strategies used and challenges faced, and offers practical lessons gleaned from the experiences of the individuals who designed and participated in these efforts.

    Inviwo -- A Visualization System with Usage Abstraction Levels

    Full text link
    The complexity of today's visualization applications demands specific visualization systems tailored for the development of these applications. Frequently, such systems utilize levels of abstraction to improve the application development process, for instance by providing a data flow network editor. Unfortunately, these abstractions result in several issues, which need to be circumvented through an abstraction-centered system design. Often, a high level of abstraction hides low level details, which makes it difficult to directly access the underlying computing platform, which would be important to achieve an optimal performance. Therefore, we propose a layer structure developed for modern and sustainable visualization systems allowing developers to interact with all contained abstraction levels. We refer to this interaction capabilities as usage abstraction levels, since we target application developers with various levels of experience. We formulate the requirements for such a system, derive the desired architecture, and present how the concepts have been exemplary realized within the Inviwo visualization system. Furthermore, we address several specific challenges that arise during the realization of such a layered architecture, such as communication between different computing platforms, performance centered encapsulation, as well as layer-independent development by supporting cross layer documentation and debugging capabilities
    corecore