DIY Android Apps: Empowering Masses to Brew their Own Flavor of Mobile Applications

4

Click here to load reader

description

Traditionally, Android app development is a highly specialized field reserved only for software engineers and programmers. However, the massive demand for customized apps has led to the democratization of Android app development through the concept of ‘Visual Programming’. Visual Programming is a concept which allows nonprogrammers to build powerful application using logical building blocks. It can best be explained as constructing a jigsaw puzzle using fitting virtual puzzle pieces. Each of these puzzle pieces are blocks of code which form complete complex programmes when assembled logically.One of the leading visual app development platforms, at present, is the App Inventor (AI2) platform developed by the Massachusetts Institute ofTechnology (MIT), US. The first generation of MIT App Inventor had a local developer environment where users could download the programme onto their computers to develop applications offline. The second generation of App Inventor or AI2 does not have a downloadable developer environment. Harnessing the power of the cloud, AI2 provides a comprehensive web-based app development platform for customizedAndroid app development. Anyone with a Gmail account can quickly setup an AI2 account at http://ai2.appinventor.mit.edu/. Among the benefits of the new webbasedAI2 platform, users can develop apps any time, anywhere with various internet enabled devices. Devices such as tablets and phablets can easily be used to develop apps on the go. However, a larger screen is recommended for a richer development experience. The current AI2 version only supports Google Chrome and Mozilla Fire Fox browsers.

Transcript of DIY Android Apps: Empowering Masses to Brew their Own Flavor of Mobile Applications

Page 1: DIY Android Apps: Empowering Masses to Brew their Own Flavor of Mobile Applications

Seediscussions,stats,andauthorprofilesforthispublicationat:http://www.researchgate.net/publication/281372526

DIYAndroidApps:EmpoweringMassestoBrewtheirOwnFlavorofMobileApplications

ARTICLE·MAY2015

READS

39

1AUTHOR:

IshanSudeeraAbeywardena

33PUBLICATIONS24CITATIONS

SEEPROFILE

Availablefrom:IshanSudeeraAbeywardena

Retrievedon:14November2015

Page 2: DIY Android Apps: Empowering Masses to Brew their Own Flavor of Mobile Applications

17

DIY Andr oid Apps:Empowering Masses to Brew their Own Flavor of Mobile Applications

By Dr. Ishan Abeywardena

Technology Tracking

The Android operating system iscurrently dominating the smart phone andtablet market. The Free and Open Source(FOSS) frameworks and ease of use hasmade Android the most sought after OSfor use by manufacturers. Withthousands of apps available through theGoogle Play store, Android provides afeature rich experience to the user and hasan app for just about anythingimaginable.

The exponential growth of the smartphone and tablet markets over the pastfew years has caught the attention ofmany sectors including governments,industries and educators. As a result,Mobile Business, Mobile Learning andMobile Government have become some ofthe fastest growing sectors takinginformation and services to a globalmarket through mobile devices. This hasgiven rise to a massive demand forvarious customized apps resulting inbusinesses and services investingheavily in custom mobile applications.

Another key factor contributing to thepopularity of mobile applications is therich interaction between the user and thesoftware. Up until recently the concept ofuser interfaces (UI) was used to designthe interface between the human user andthe software application. However, theinteraction with the UI was limited tovisual and occasionally auditory. Devicessuch as a mouse, touchpad and akeyboard were used to interact with theUI. With the advent of the mobile deviceand touch screens, the focus has shiftedfrom UI to UX which provides a richer

experience to the user. With UX design theuser is able to touch the componentsdisplayed on screen, use gestures such aspinch, get feedback as auditory messagesor vibrations, use speech to text to issuevoice commands and use the inbuilt camerafor visual inputs. This has revolutionizedthe way apps are built. Furthermore, UXcan easily cater to impaired users makingapplications more accessible.

Traditionally, Android app development isa highly specialized field reserved only forsoftware engineers and programmers.However, the massive demand forcustomized apps has lead to thedemocratization of Android appdevelopment through the concept of‘Visual Programming’. Visual Programmingis a concept which allows non-programmers to build powerful applicationusing logical building blocks. It can best be

explained as constructing a jigsaw puzzleusing fitting virtual puzzle pieces. Each ofthese puzzle pieces are blocks of codewhich form complete complex programmeswhen assembled logically.

One of the leading visual appdevelopment platforms, at present, is theApp Inventor (AI2) platform developedby the Massachusetts Institute ofTechnology (MIT), US. The firstgeneration of MIT App Inventor had alocal developer environment where userscould download the programme onto theircomputers to develop applications offline.The second generation of App Inventoror AI2 does not have a downloadabledeveloper environment. Harnessing thepower of the cloud, AI2 provides acomprehensive web-based appdevelopment platform for customizedAndroid app development. Anyone with aGmail account can quickly setup an AI2account at http://ai2.appinventor.mit.edu/. Among the benefits of the new web-based AI2 platform, users can developapps any time, anywhere with variousinternet enabled devices. Devices such astablets and phablets can easily be used todevelop apps on the go. However, a largerscreen is recommended for a richerdevelopment experience. The current AI2version only supports Google Chromeand Mozilla Fire Fox browsers.

The Designer view of AI2

Page 3: DIY Android Apps: Empowering Masses to Brew their Own Flavor of Mobile Applications

18

The AI2 platformrevolves around two mainconcepts which are theDesigner and BlocksEditor. The designerprovides a work spaceresembling the screen ofa mobile device forbuilding the UX of theapplication. Developerscan drag and dropcomponents such asbuttons, labels, textboxes, images, date-timepickers, and list pickersetc. to design the UX onscreen. The followingimage shows the designerview of an AI2 project.

The Viewer area displaysthe screen visible to the end user on his/her mobile device. The Palette holds thevarious components which can be used inthe design of the application. There areseveral drawers in the palette which are (i)User Interface – visual components todesign the look and feel of theapplication; (ii) Layout – placeholderswhich allow the components to be alignedas required; (iii) Media – components foraudio, video and multimedia; (iv) Drawingand Animation – components fordesigning interactivity and games; (v)Sensors – components to use variousinbuilt sensors of the mobile device suchas accelerometer and orientation sensor;(vi) Social – components to access andinteract on social media; (vii) Storage –components for using the persistentstorage in the device and externaldatabases; and (viii) Connectivity –components to access Bluetooth andother applications installed on the device.The Components pane displays thecomponents which have been used in theapplication; the Media pane shows theexternal resources such as images whichhave been uploaded; and the Propertiespane provides access to editableproperties for each component.

The Blocks view is used to buildthe programme using visualbuilding blocks.

The developer can drag and drop variousindividual blocks from the Blocks pane tobuild compound blocks which performvarious tasks. For example the followingcompound block changes the text ofLabel1 to “Hello World!” when Button1 isclicked. The logic reads when Button1 isclicked set the text of Label1 to HelloWorld!. The blocks provide a very highlevel form of programming. As such, theysomewhat follow the rules of Englishgrammar in terms of building the logic i.e.if you can explain a particular activity inEnglish, the blocks can be designed thesame way.

The Built In blocks provide a largecollection of blocks such as control

structures, logic operators, mathoperators, text manipulation, listmanipulation, custom colors, variablesand procedures. Using the Blocksavailable for a particular component,coupled with the Built In blocks,complicated apps can be developedrapidly with minimum technical expertise.

Another cool feature of AI2 is the abilityto debug your application live. There arethree methods of live debugging whichare (i) using an Android device and WiFiconnection; (ii) using the emulator; and(iii) using an Android device with USBcable. Once live debugging is setup, thedeveloper can see the application takingshape in real-time on the Android deviceor the emulator. This allows theapplication to be tweaked continuouslyuntil the expected effect is achieved.

More information on live debugging canbe found at http://appinventor.mit.edu/explore/ai2/setup.html .

Blocks view of AI2

Compound block

Page 4: DIY Android Apps: Empowering Masses to Brew their Own Flavor of Mobile Applications

19

Finally, once you have developed theapplication to your satisfaction, AI2provides you with the feature ofdownloading the .apk file to be sharedwith your potential users or to beuploaded onto Google Play. You can alsodownload the project file as a .aia file tobe distributed to colleagues or studentsso that they can build upon your work.

Overall the AI2 platform provides acomprehensive solution for developingand distributing Android mobileapplications. One of the key benefits ofthis approach is that anyone can developAndroid applications regardless of theirtechnical/programming knowledge. Sincethe AI2 platform writes the necessary

code in the background based on theblocks you create, the applicationsdeveloped are relatively error free when itcomes to programming code. However,the developer has to build the logic of theapplication using the blocks correctly. AI2has features which assist in buildingsound logic blocks.

The Commonwealth of Learning (COL)through the Commonwealth EducationalMedia Center for Asia (CEMCA)organized a three day hands-on workshop

Live debugging adapted from http://appinventor.mit.edu/explore/ai2/setup.html

on Educational App (Android)Development Toolkit for Teachers andLearners at the Kulachi Hansaraj ModelSchool (KHMS), Delhi, India from 18th to20th March 2015. This workshop was thefirst Training of Trainers (TOT) workshoporganized by COL and CEMCA oneducational app development.Furthermore, COL is in the process ofdeveloping a toolkit which can be used toconduct these workshops by anyoneanywhere.

Dr. Abeywardena is the Director, International Academic Relations Division at theOpen University of Sri Lanka, Colombo. He can be reached atishan[dot]abeywardena[at]gmail[dot]com

CEMCA offers internship to graduate and post-graduate students to gain work experience in the area of CEMCA’s field of competenceand enhance their academic knowledge through practical work assignments. Internships are available for 2-6 months, and shouldbe part of the learning and development plan of the candidate. For details visit Knowledge Management page at CEMCA Website.

Internship Available