21,727 research outputs found
Opportunities in Software Engineering Research for Web API Consumption
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
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
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
- …