Figure 6 - uploaded by Manuel Fähndrich
Content may be subject to copyright.
Expressions are inserted in a token-based, calculator-like editor. Besides integers, arithmetic and Boolean operators, the lower half of the calculator buttons offer commonly-used properties. 

Expressions are inserted in a token-based, calculator-like editor. Besides integers, arithmetic and Boolean operators, the lower half of the calculator buttons offer commonly-used properties. 

Source publication
Conference Paper
Full-text available
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...

Citations

... • 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. ...
Article
Full-text available
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]. ...
Conference Paper
Full-text available
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. ...
Conference Paper
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]. ...
Article
Full-text available
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. ...
Conference Paper
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]) ...
Article
Full-text available
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. ...
Chapter
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. ...
Article
Full-text available
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. ...
... TouchDevelop [61] has several modes, from a classic blockbased view through a hybrid view to a mostly text-based representation. The hybrid view includes elements from classic structure editing and frame-based editing; some fields are free text entry like our text slots, while others are similar to the choice slots or code completion, with a grid-based touchoriented restricted list of selections. ...
Article
Full-text available
In introductory programming teaching, block-based editors have become very popular because they offer a number of strong advantages for beginning programmers: They avoid many syntax errors, can display all available instructions for visual selection and encourage experimentation with little requirement for recall. Among proficient programmers, however, text-based systems are strongly preferred due to several usability and productivity advantages for expert users. In this paper, we provide a comprehensive introduc- tion to a novel editing paradigm, frame-based editing – including design, implementation, experimentation and analysis. We describe how the design of this paradigm combines many advantages of block-based and text-based systems, then we present and discuss an implementation of such a system for a new Java-like language called Stride, including the results of several evaluation studies. The resulting editing system has clear advantages for both novices and expert programmers: It improves program representation and error avoidance for beginners and can speed up program manipulation for experts. Stride can also serve as an ideal stepping stone from block-based to text-based languages in an educational context.