Dasher—a data entry interface using continuous gestures and language models
UIST '00 Proceedings of the 13th annual ACM symposium on User interface software and technology
GNOME: An introductory programming environment based on a family of structure editors
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
VL '96 Proceedings of the 1996 IEEE Symposium on Visual Languages
The Cornell Program Synthesizer: a syntax-directed programming environment
ACM SIGPLAN Notices
Experiences using tablet PCs in a programming laboratory
CITC5 '04 Proceedings of the 5th conference on Information technology education
ACM Computing Surveys (CSUR)
The Greenfoot Programming Environment
ACM Transactions on Computing Education (TOCE)
ACM Transactions on Computing Education (TOCE)
The Scratch Programming Language and Environment
ACM Transactions on Computing Education (TOCE)
Semantics of concurrent revisions
ESOP'11/ETAPS'11 Proceedings of the 20th European conference on Programming languages and systems: part of the joint European conferences on theory and practice of software
The future of teaching programming is on mobile devices
Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education
Teaching programming on a mobile device
Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education
Touching factor: software development on tablets
SC'12 Proceedings of the 11th international conference on Software Composition
Cloud types for eventual consistency
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
TouchDevelop: app development on mobile devices
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
It's alive! continuous feedback in UI programming
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
SmartSynth: synthesizing smartphone automation scripts from natural language
Proceeding of the 11th annual international conference on Mobile systems, applications, and services
RefactorPad: editing source code on touchscreens
Proceedings of the 5th ACM SIGCHI symposium on Engineering interactive computing systems
GROPG: a graphical on-phone debugger
Proceedings of the 2013 International Conference on Software Engineering
Proceedings of the 2013 International Conference on Software Engineering
Game programming by demonstration
Proceedings of the 2013 ACM international symposium on New ideas, new paradigms, and reflections on programming & software
How to study programming on mobile touch devices: interactive Python code exercises
Proceedings of the 13th Koli Calling International Conference on Computing Education Research
Devices and services meet mobile development
Proceedings of the 2013 ACM workshop on Mobile development lifecycle
Lessons from a web-based IDE and runtime
Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation
A resource integration approach for HTML5 mobile applications
Information Technology and Management
Hi-index | 0.00 |
The world is experiencing a technology shift. In 2011, more touchscreen-based mobile devices like smartphones and tablets will be sold than desktops, laptops, and netbooks combined. In fact, in many cases incredibly powerful and easy-to-use smart phones are going to be the first and, in less developed countries, possibly the only computing devices which virtually all people will own, and carry with them at all times. Furthermore, mobile devices do not only have touchscreens, but they are also equipped with a multitude of sensors, such as location information and acceleration, and they are always connected to the cloud. TouchDevelop is a novel application creation environment for anyone to script their smartphones anywhere -- you do not need a separate PC. TouchDevelop allows you to develop mobile device applications that can access your data, your media, your sensors and allows using cloud services including storage, computing, and social networks. TouchDevelop targets students, and hobbyists, not necessarily the professional developer. Typical TouchDevelop applications are written for fun, or for personalizing the phone. TouchDevelop's typed, structured programming language is built around the idea of only using a touchscreen as the input device to author code. It has built-in primitives which make it easy to access the rich sensor data available on a mobile device. In our vision, the state of the program is automatically distributed between mobile clients and the cloud, with automatic synchronization of data and execution between clients and cloud, liberating the programmer from worrying (or even having to know about) the details. We report on our experience with our first prototype implementation for the Windows Phone 7 platform, which already realizes a large portion of our vision. It is available on the Windows Phone Marketplace.