Capitalizing on App Development Tools and Technologies
Total Page:16
File Type:pdf, Size:1020Kb
Capitalizing on App Development Tools and Technologies By Kenneth J. Luterbach, East Carolina University and Kenneth R. Hubbell, Ingersoll Rand University ©Association for Educational Communications and Technology 2015 Abstract of app development tools and technologies invites consideration along multiple paths, some Instructional developers and others creating of which are evident in the following questions. apps must choose from a wide variety of app Does everyone have essentially the same development tools and technologies. Some app conception of an app? What benefits accrue to development tools have incorporated visual those who learn to develop apps? What costs programming features, which enable some drag do those learners incur? Should everyone and drop coding and contextual programming. learn to develop apps? What similarities and While those features help novices begin differences exist among app development tools? programming with greater ease, questions arise Is there a particularly good app development about the overall utility of visual tools for app tool? Is there an authoring tool that enables development. Analyses and comparisons of developers to create apps for both desktop and app development tools and technologies would mobile platforms? Is there a particularly good make their advantages and disadvantages app development tool for creating instruction? apparent, enabling instructional technologists Answers to those questions will provide to make informed decisions about tool selection. insights into how educational technologists may Toward that end, this work generated a new capitalize on app development tools. fram ework for comparing app development Some scholars and commentators assert tools. The criteria that comprise the framework that everyone should engage in computer were then used to compare multiple authoring programming in order to develop computational tools and technologies for creating apps. thinking ability (Grover & Pea, 2013; Three app development tools, namely Corona, Resnick, 2012; Prensky, 2008; Wing, 2006). LiveCode and MoSync, emerged as particularly Computational Thinking (CT) is regarded as noteworthy for their utility and flexibility, and essential for literacy, which puts CT on the same because they are free of monetary cost or have a level of importance as reading, writing and free version. arithmetic. Essentially, the claim is that a literate Keywords: app development tools; citizen must have developed sufficient CT computational thinking; instructional apps capacity (including, for instance, abstraction, echnological changes to development information representation and algorithm tools continually present challenges and design) to solve a wide variety of problems that opportunitiesT for instructional technologists and arise in many disciplines (Abelson, Turbak, others. Presently, the availability of a wide variety Morelli, Martin, & Wolber, 2012; Grover & Pea, 2013; Wing, 2006). Importantly, designing 62 TechTrends • July/August 2015 Volume 59, Number 4 and implementing a variety of computer opening it with the mere touch of a finger. programs develops CT. Work to enhance the Though apps run in accordance with operating CT capacity of the general populace continues system software, system software is not regarded through initiatives such as the federally funded as an app. In addition to those views of apps, dissemination of instructional materials for App developers bring additional perspectives that Inventor to promote computer programming provide a more complete conception of apps. as an activity for everyone (Abelson, Turbak, Some app developers may even wonder at times Morelli, Martin, & Wolber, 2012). App Inventor whether to conceive of a website as an app. is a visual programming tool in which the For a robust view of apps, it is helpful to developer drags, drops and connects visual distinguish between web apps and native apps. In blocks to create a computer program. In a the early 1990s, when World Wide Web servers related initiative, faculty and students in the and browsers (clients) first appeared, websites Department of Computer Science at Wellesley delivered content. Users clicked on hyperlinks College, boosted by messages from President to read text; look at images; listen to audio; and Obama and myriad celebrities, seek to engage view videos. Soon developers sought to enable ten million people in one hour of coding user interaction through web pages. Through (Wellesley College, 2013). a Common Gateway Interface (CGI), web page There is a growing base of literature that and website developers began to present forms documents early efforts to teach development that users completed. Such functionality lead, of web apps (Hsu & Ching, 2013; Martin, for instance, to online shopping and banking, Pastore, & Snider, 2012) and diffuse augmented to blogging, to crowdsourcing in wikis, and reality development software (Holden, 2014; to virtual frog dissection for learners. Over Martin, Dikkers, Squire, & Gagnon, 2014), time, the technologies for user interaction on but literature on particular app development the web became more sophisticated and some tools and processes is still lacking. Missing are standardization occurred. In this light, it is analyses and descriptions of general-purpose possible to write an app with web technologies, development tools and a framework for namely HyperText Markup Language (HTML), comparing tools. This article seeks to address Cascading Style Sheets (CSS) and JavaScript. those gaps. First, this article ensures a shared In addition, through standardized libraries definition or conception of apps. Second, this of JavaScript code (e.g., jQuery, jQueryUI article discusses the motivation for learning and jQueryMobile), developers of web apps to develop apps. Third, this article provides a can include functionality created by others. framework for comparing app development For example, a JavaScript developer can use tools and technologies and compares twelve a jQuery function to animate an object or a such tools and technologies. jQueryUI object to implement a progress bar. Developers leverage the functionality available Conceptions of Apps in code libraries through an Application Programming Interface (API), which defines For breadth of understanding, it is beneficial the syntax required to incorporate a feature in to bring multiple perspectives to the conception the code library. of apps, which is actually a one-syllable A developer of a web app may wish to use abbreviation for applications, as in computer functionality in a code library to develop an applications or computer programs. One valid interactive instructional story or game, for in- conception of an app is that it is a computer stance. Such a developer may use Undum (un- program downloaded from an app store or dum.com), which is a framework for interactive service, which runs on a mobile device, typically fiction using web browser (client-side) technol- a handheld device with screen size approximately ogy. Similarly, Vorple (Vorple-if.com) is a li- 3” by 5” (phone size) or about 6” by 8” (tablet brary of JavaScript routines for implementing size). Less common today are computer apps interactive fiction. Developer tools for creating for wearable devices, such as wristwatches and web apps include text editors (e.g., Notepad, eyeglasses. One may also conceive of a program TextEdit, Sublime Text) and software dedicated running on a desktop or laptop computer as to web page development (e.g., Adobe Dream- an app. An app is a computer program of weaver, Microsoft FrontPage). direct benefit to users. An app may help a user The use of web technologies for deploying complete a task or entertain a user. Apps are apps is effective in many cases and offers often interactive, which require user input, but considerable platform independence. That is, in the case of an app to play music in a radio a well-tested and refined web app will function format, the app requires no interaction beyond in a web browser running under Mac OS, Volume 59, Number 4 TechTrends • July/August 2015 63 Microsoft Windows, Linux, iOS, Android and Can Experience API (see SCORM.com for more other operating systems, although web browsers details) enables organizations and institutions (e.g., Chrome, Firefox, Internet Explorer, Opera to track individual student performance. Of and Safari) are not equally effective. App the more than 1000 APIs (more than 200 in development for universal deployment through the education category according to one API web browsers requires testing across multiple tacking service, http://www.programmableweb. devices (including different versions of the com/apis/directory/1?apicat=Education), devices), distinct operating systems (including certain ones are available only in particular different versions of operating systems) and four development environments and only for specific or five popular web browsers (including different target platforms (e.g., web browsers, iOS devices versions of web browsers). Data gathering and Android devices). As evident in the section and usage metrics available through services on comparing app development tools, multiple like Google Analytics are another benefit to authoring tools are available to developers of developers of web apps because the data enable native apps. Some authoring tools restrict tracking of all devices through a single record set. the development of native apps to a particular In some cases, one disadvantage of implementing platform (e.g., XCode