1 Concurrent Processing in Cloud-based AppInventor Development Environment Carlton McDonald, School of Computing and Mathematics, University of Derby. Abstract AppInventor (AI) has recently become the language of choice for learning to program. How suitable is it for teaching undergraduates? How efficient are the programs that are developed with AI? Is it likely to replace Andoid development with the Android Development Tools? How can AI Apps be made to execute as efficiently as Possible? AI is an innovative approach to learning to program and has reduced typical development time by 90%. This paper examines the reasons for AI’s popularity as a first programming language, the inherent inefficiencies and the way in which the lack of threads can be overcome. Programming History: From Mathematicians to novices Programming has traditionally been the domain primarily of computer science graduates and mathematicians. In the late 1990’s Visual Basic (VB) attempted to make programming more accessible to non graduates with limited success. The emergence of cloud-based IDEs [5] has presented greater accessibility to programming anywhere, from desktops, laptops and to a lesser extent mobile browsers. Google’s AppInventor (AI) for Android developed a loyal following but was taken over by MIT in January 2012, it is still in beta but has provided an opportunity for novices to be more productive in producing Android Apps than traditional Android application development. Why is AppInventor suitable for novice programming? Is it suitable for commercial products? What are the limitations of the product and how efficient are the Apps produced by AI? Language learning is much easier if one is able to live in the country and converse in the language that one is attempting to acquire. Learning to program is no different. Students that learnt to program in assembler couldn’t do much homework, were not very productive due to the volume of code (and its relative complexity). High level Languages, like Algol and Pascal, fared little better. This is because, on a whole students learned to program usually at institutes of learning. By the time students could afford their own computer on which to develop programs in their own time, get immediate feedback on attempts to write code, without going to the place of learning the amount of software being written for that platform in commercial circles was limited to a few multinational organisations. Very little development took place on PCs. JavaScript changed all of that. JavaScript although not regarded as a structured, strongly typed, or object oriented language has enabled many applications (we stopped calling them programs by the late 1990’s) to be written by just about anyone with a browser environment available to them. Ten years ago it would have been an innovative approach to learning to program if the interactive development environment (IDE) that students were introduced to consisted of a browser and a JavaScript development Environment (such as Aptana Studio). The browser environment is still relevant because it is now the case that more people access the Internet through a mobile device than through desktop computers. The academic view that a good language for learning to program must be Object Oriented may not be the best view of learning to program. Perhaps the best language to learn to program in is the one that allows the learner to express themselves on the device that is available to them and develop required apps. Why is AppInventor suitable for novice programming? AI is an environment developed for those learning to program “who have never programmed before”, [7]. MacKellar used AI as part of a Health IT undergraduate course. AI requires its users to design storyboards