Figure 2 - uploaded by Manuel Fähndrich
Content may be subject to copyright.
Source publication
Mobile devices are becoming the prevalent computing platform for most people. TouchDevelop is a new mobile development environment that enables anyone with a Windows Phone to create new apps directly on the smartphone, without a PC or a traditional keyboard. At the core is a new mobile programming language and editor that was designed with the touc...
Context in source publication
Context 1
... central program repository in the cloud manages all programs and analyzes them for privacy concerns and code duplication. Figure 2 shows different aspects of the TouchDevelop code editors, including a listing of a complete program. Each screenshot captures the entire screen of a smartphone. ...
Citations
... However, multiple explorations into alternative, keyboard-less methods of code manipulation have been conducted. Research has investigated the use of gestures [38], touch inputs [46,49,62], and voice-or speech-based input [4,11] for programming. These studies demonstrate a consistent effort to move beyond traditional text-based coding by leveraging different interaction modalities to make programming more accessible. ...
We introduce the concept of code shaping, an interaction paradigm for editing code using free-form sketch annotations directly on top of the code and console output. To evaluate this concept, we conducted a three-stage design study with 18 different programmers to investigate how sketches can communicate intended code edits to an AI model for interpretation and execution. The results show how different sketches are used, the strategies programmers employ during iterative interactions with AI interpretations, and interaction design principles that support the reconciliation between the code editor and sketches. Finally, we demonstrate the practical application of the code shaping concept with two use case scenarios, illustrating design implications from the study.
... • BPMN-Tool [84] • Buchmann et al. [22] Sketching Calico [62] Sketching CEL [53] • CollabTouch [46] Sketching DSL-comet [102] Geolocated User repr. Epidosite [54] • FlexiSketch [106] Sketching HoloFlow [90] AR Horus Method [2] Sketching icebricks [12] • López-Jaquero et al. [56] • Ma et al. [59] • Metaphore [88] • MicroApp [31] • MobiDev [89] Sketching • Pounamu/Thin [112] • Puzzle [26] • Sá et al. [85] Sketching Socio [78] • Text TouchDevelop [95] • YinYang [65] • Tools from app stores Astah* UML Pad [6] • Database Designer [50] • DrawExpress [29] Sketching • While graph-like diagrammatic notations are the norm, there are some exceptions. In particular, MicroApp [31], Puzzle [26] and YinYang [65] share a peculiar graphical style that consists of jigsaws representing concepts to be assembled following a specific logic. ...
... Textual syntaxes are often discouraged for mobile devices due to the small size of their screen. However, Epidosite [54] and TouchDevelop [95] have tailored textual editors for letting novice programmers write scripts on mobile devices. The former has a focus on IoT devices, and the latter enables developing small general-purpose apps. ...
... MicroApp [31] and Puzzle [26] are similar to Epidosite, but instead of scripts, the users compose jigsaws that may use web services, domotic services and native services of the mobile. TouchDevelop [95] also provides access to web services, but it does not support interaction with IoT devices. Internal interaction. ...
Modelling is central to many disciplines in engineering and the natural and social sciences. A wide variety of modelling languages and tools have been proposed along the years, traditionally for static environments such as desktops and laptops. However, the availability of increasingly powerful mobile devices makes it possible to profit from their embedded sensors and components (e.g. camera, microphone, GPS, accelerometer, gyroscope) for modelling. This has promoted a new range of modelling tools specially designed for their use in mobility. Such tools open the door to modelling in dynamic scenarios that go beyond the capabilities of traditional desktop tools. For example, modelling in mobility can be useful to design smart factories on-site, or to create models of hiking routes while walking along the routes, among many other scenarios. In this paper, we report on a systematic mapping study to identify the state of the art and trends in modelling on mobile devices. The study covers both research papers and modelling apps from the Android and iOS stores. From this analysis, we derive a classification for mobile modelling tools along three orthogonal dimensions, discuss current gaps, and propose avenues for further research.
... An approach of co-located collaborative block-based programming [33] has been developed for exploring block-based programming in a cross-device environment consisting of digital tabletops, mobile tablets and laptops. Furthermore, an approach in TouchDevelop [34] focuses on a merge algorithm which is conflict free, thanks to reasoning on changes at the level of AST [35]. Moreover, extending Alice Framework, there is work that enables interaction and collaboration among students [36]. ...
The increasing need for programming tasks performed by non-programmers has resulted in various end-user development tools. In this context, visual programming is currently the prevalent paradigm. However, comprehensive collaboration facilities are missing, although necessary, especially in the domains such as teaching and learning. In this paper, we present an integrated workspace supporting collaborative visual programming. Our system allows end-users to easily cooperate on shared visual programming projects. Peer roles, access and edit privileges for project items are supported. Additional features include: personal project items, toggling live syncing during editing and viewing peer action history. Finally, the workspace's supported collaboration models are discussed.
... Prior research has examined multi-device programming in mobile contexts. Tillman et al. [56,57] introduced TouchDevelop, a mobile programming environment powered only by touchscreen interactions on the phone. Nguyen et al. [44] explored a similar approach for on-phone debugging. ...
... Our study provides insight into understanding the role of mobile programming tools in practice. Prior research targets how mobile programming can be enhanced with novel touchbased interfaces for the cumbersome nature of text entry on mobile phones [56,57], and cross-device techniques for supporting programmers across multiple mobile devices while stationary [22]. Here, we find that a mobile work experience designed around microproductivity can not only help programmers continue their work on-the-go, but also instill comfort in pausing work unexpectedly. ...
There has been considerable research on how software can enhance programmers' productivity within their workspace. In this paper, we instead explore how software might help programmers make productive use of their time while away from their workspace. We interviewed 10 software engineers and surveyed 78 others and found that while programmers often do work while mobile, their existing mobile work practices are primarily exploratory (e.g., capturing thoughts or performing online research). In contrast, they want to be doing work that is more grounded in their existing code (e.g., code review or bug triage). Based on these findings, we introduce Mercury, a system that guides programmers in making progress on-the-go with auto-generated microtasks derived from their source code's current state. A study of Mercury with 20 programmers revealed that they could make meaningful progress with Mercury while mobile with little effort or attention. Our findings suggest an opportunity exists to support the continuation of programming tasks across devices and help programmers resume coding upon returning to their workspace.
... As of January 2017, there were 2,200,000 apps in the Apple App Store [8]. By the end of December 2017, there were reported 3,500,000 apps in Google Play [9]. is means that there are many alternative apps to perform a given task, so users are supposed to choose the best app, motivated by several facts like ease of use, low learnability curve, or low time consumption [10]. ...
With the rise of mobile devices and the high number of instant messaging applications available in the stores, it is necessary to evaluate the usability of such applications to provide a more satisfying user experience. To this end, this paper presents a methodical usability evaluation of instant messaging applications both in iOS and Android platforms. A predefined evaluation was used, which was created to detect the main usability issues of mobile applications, regardless of the device used and the evaluated applications. Consequently, two methods were used: the keystroke level model and the mobile heuristic evaluation. Also, the results suggest that the main problems of this type of applications are difficulties in performing tasks (some of them were not agile nor easy to complete), lack of element cohesion (some icons and buttons did not follow the style of the operating system, bad translations, and too much information on the screen), problems with the user interface (pop-ups overlapping the status bar, clipped elements, sometimes the interface did not rotate, and, in other cases, the interface changed considerably when the device was rotated), and lack of information about privacy and security features. Finally, based on the results, we propose a set of recommendations that will be helpful for developers of this kind of applications.
... Synthesizer [Teitelbaum and Reps 1981], Scratch [Maloney et al. 2010;Resnick et al. 2009], and TouchDevelop [Tillmann et al. 2012]- reduce the amount of unstructured text used to represent programs, relying on blocks and other visual elements to demarcate structural components of a program (e.g. a conditional with two branches, and a function with an argument and a body). Operations that create and manipulate structural components avoid classes of errors that may otherwise arise in plain text, and text-editing is limited to within well-formed structures. ...
We present a structure-aware code editor, called Deuce, that is equipped with direct manipulation capabilities for invoking automated program transformations. Compared to traditional refactoring environments, DEUCE employs a direct manipulation interface that is tightly integrated within a text-based editing workflow. In particular, Deuce draws (i) clickable widgets atop the source code that allow the user to structurally select the unstructured text for subexpressions and other relevant features, and (ii) a lightweight, interactive menu of potential transformations based on the current selections. We implement and evaluate our design with mostly standard transformations in the context of a small functional programming language. A controlled user study with 21 participants demonstrates that structural selection is preferred to a more traditional text-selection interface and may be faster overall once users gain experience with the tool. These results accord with Deuce's aim to provide human-friendly structural interactions on top of familiar text-based editing.
... The majority of these organizations furnish the app designers with the information and a few simple analyses on them. There is a wide assortment of dependability and execution issues that can be comprehended by building apparatuses and approaches that mine such operational information (past work has scarcely touched the most superficial layer of such an issue by taking a gander at the server side of mobile applications than the customer side [25]) ...
There has been a huge development in the utilization of mobile devices throughout the most recent couple of years. This growth has led to millions of the software application in the mobile applications. As per the current estimate, there are hundreds of thousands of mobile app developers. In this paper discuss present and future research trends with various stages in the software development life-cycle: requirements like functional and non-functional, design and development, testing, and maintenance and the evolution of the software engineering in the mobile applications. And the various life cycle models are used for various method based on the risk, security issues, and resources. While there are several non-functional requirements based on the mobile application in this paper we focus on resources and security. In this paper, we discuss the security issues of software engineering for the mobile application. And for each phase of the life cycle, we discuss recent advances and the challenges in the current work and the chances for the advances in the future in the Mobile applications.
... pure adjustments of smart objects imply the corresponding convenience and directness) and the experience of end-users. There are approaches which provide more than one skill level based on the experience of the end-user such as TouchDevelop [7] and Tynker [8]. Furthermore, TouchDevelop provides templates with different kind of programs, so the end-users choose the most appropriate for their development process to avoid starting programming from scratch. ...
The Internet of Things is based on ecosystems of networked devices, referred to as smart objects, effectively enabling the blending of physical things with digital artifacts in an unprecedented way. In principle, endless automations may be introduced in the context of daily life exploring the numerous opportunities offered by the deployment and utilization of such smart objects. However, in practice the demands for such automations are highly personalized and fluid effectively minimizing the chances for building commercially successful general‐purpose applications. In this context our vision is to empower end‐users with the appropriate tools enabling to easily and quickly craft, test and modify the automations they need. In this chapter we initially discuss a few possible future scenarios for automations relying on smart objects. Then, we elaborate on the visual tools we currently develop, followed by a brief case study using the tools. Finally, the potential of publishing such automations in typical digital markets is considered.
... Since there are so many apps for the same purpose in the mobile markets, users have too many alternatives to choose and therefore they are quite critical about how an app works. Users like simplicity to complete tasks and ease of learning or less time consumption [14][15][16], so they probably will choose the best app. ...
Nowadays, instant messaging applications (apps) are one of the most popular applications for mobile devices with millions of active users. However, mobile devices present hardware and software characteristics and limitations compared with personal computers. Hence, to address the usability issues of mobile apps, a specific methodology must be conducted. This paper shows the findings from a systematic analysis of these applications on iOS mobile platform that was conducted to identify some usability issues in mobile applications for instant messaging. The overall process includes a Keystroke-Level Modeling and a Mobile Heuristic Evaluation. In the same trend, we propose a set of guidelines for improving the usability of these apps. Based on our findings, this analysis will help in the future to create more effective mobile applications for instant messaging.
... TouchDevelop, for instance, was designed to ease writing programs on touchscreen devices (e.g. smart-phones) for use on touchscreen devices by creating a new programming language [14]. Another approach has been to develop hybrid solutions allowing the tablet to work in concert with a desktop IDE. ...