ORCID Identifier(s)

0000-0002-7450-1874

Graduation Semester and Year

2017

Language

English

Document Type

Thesis

Degree Name

Master of Science in Computer Science

Department

Computer Science and Engineering

First Advisor

Christoph Csallner

Abstract

This study compares and contrasts the application development pattern on Microsoft’s mobile application development platform with leading version control and social coding sites like Github. TouchDevelop is an in-browser editor for developing mobile applications with the main aim to concentrate on ‘touch’ as the only input. Apart from being the first of it’s kind platform, TouchDevelop also allows users to upload their script directly to cloud. This is what makes this study interesting, since the API data of the app has never been studied before to follow social coding standards or version control techniques. Till today, all major IDEs, e.g NetBean, Eclipse etc have plugins to connect to social coding sites like GitHub, BitBucket etc. The same can be said about version control. To upload or sync one’s code to cloud, we need a third party software like TeamFoundationServer or SourceTree connected with the physical editor on your machines. TouchDevelop however, let’s you directly upload your script to cloud without the help of these tools. This makes it very easy for developers to do a direct version control and follow the social coding standards. This study facilitates the theory that TouchDevelop can use this particular feature to it’s advantage and become one of the leading mobile application development platforms. So far, studies have concentrated on the unique feature of this app, which is using ‘touch’ as the only input, and, the moving the traditional mobile app development from an editor to directly developing apps on a physical mobile device, like, touch tablets, touch mobile phones. There are no studies which study the version control available in the TouchDevelop IDE, and the ease with which one can access their scripts and scripts of other users. Also, TouchDevelop allows users to comment, like and review scripts, which is in lieu with today’s social coding practices. Looking at TouchDevelop from this perspective has not been done yet, and this study concentrates precisely on that.Our study has come up with patterns and trends on the way TouchDevelop apps are implemented and stored. We have studied the relation between comments and reviews and the updates of existing scripts by different users. This has given us empirical proof that TouchDevelop has been operated as a version control tool as well. Our studies are confirming the hypothesis that this editor can be used to directly access and practice social coding protocols without additional third party softwares. If this feature of TouchDevelop is taken advantage of, this IDE becomes one of its kind to directly employ version control without using any plugin or any other third party tool. This can be further extended to apply continuous integration on cloud, which would definitely make TouchDevelop even more alluring, with respect to DevOps. This helps in TouchDevelop acting as more than just a training tool, and actually being used professionally with increased usage, scripts and projects. For almost over two decades now, we have increasing presence of social media in our lives. This has given birth to a new trend of collaboration and coding when it comes to software development. A lot of leading products today are open sources and their data is publicly available to manipulate or study. We know that professionals are working with strict version control systems in place like Github/TFS. This means that nothing gets committed without going through a version control mechanism in the software development cycle. Almost every leading or medium size software firm uses some form of social collaborative platform and does version control through them. There are various new aspects to this style of programming, which has been addressed in this work. As we are moving forward with more diverse software and increasing ease of access via cloud,developers are changing their methods and practices to accommodate the versatile needs of changing development environnments(deployment in cloud). A culture of shared testing on social coding sites and continuous integration of software via the same platforms has become the norm. This study revolves around mining and observing data from TouchDevelop. TouchDevelop is an app development platform on mobile devices. With an increase in mobile devices becoming the prevalent computing platform, TouchDevelop came together with a simpler solution to making mobile apps as opposed to the traditional practice of first developing an app on an independent editor and then connecting a simulator to test the app. The platform is devised with only touch input in mind and caters to those who want to develop apps using symbols (like jump operation, roll operation for games) and precompiled primitives(existing libraries) as opposed to the traditional programming style where developers use a desktop/laptop based studio IDE tethered with a mobile simulator to test their apps. This study brings together two ideas completely different and still in sync with each other. Studies have shown that touchDevelop makes it very easy for an app developer to simulate their code directly on a mobile phone emulator. It short circuits the entire procedure of first writing the code on a desktop/laptop based studio IDE and then testing it on an emulator. There are 20,700,000 scripts already running on the touchDevelop platform. These scripts are all open sourced and we have studied this data to relate the concept of social coding with the new platform. The data analysis of the REST APIs showed us trends which were strikingly similar to the social coding sites like Github and had similar functioning as that of Version Control. In this study, we go through different trends and patterns to contrast and draw parallels between the leading version control platforms (Github, for this study, in particular) to TouchDevelop. Our study found that maximum updates were received by the scripts that were updated between 5 to 10 times. We found outliers with a script updated 25 times, found 200 comments. We did a similar study for reviews, we found scripts updated 15 times received maximum reviews, up to 8000 reviews. We also looked at the types of web abstract syntax tree available for different scripts. We found different nodes, and their comparison with most reviewed and most commented scripts. We found how different nodes varied between these scripts. We also found the user platform distribution and the distribution of physical devices used mostly for the scripts made on TouchDevelop. We also found the top ten most popular users of TouchDevelop, their maximum reviews received, maximum comments received, showcase scripts if any. We noticed TouchDevelop has 249,976 users, 700,000 base scripts (which can be called projects here), 198,765,900 updated scripts. The study on Social Coding for Github studies the project-project network, in a similar pattern as the script-script project we created for our study. We also found the different user platform distribution for showcase-scripts, their physical devices and their cumulative positive responses.

Keywords

TouchDevelop, Surveys, Microsoft, Shivangi, Social coding

Disciplines

Computer Sciences | Physical Sciences and Mathematics

Comments

Degree granted by The University of Texas at Arlington

27192-2.zip (2769 kB)

Share

COinS
 
 

To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.