DIY Android Apps: Empowering Masses to Brew their Own Flavor of Mobile Applications
Click here to load reader
-
Upload
ishan-abeywardena -
Category
Documents
-
view
215 -
download
1
description
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](https://reader038.fdocuments.us/reader038/viewer/2022100509/5695d4021a28ab9b029ff16c/html5/thumbnails/1.jpg)
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](https://reader038.fdocuments.us/reader038/viewer/2022100509/5695d4021a28ab9b029ff16c/html5/thumbnails/2.jpg)
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](https://reader038.fdocuments.us/reader038/viewer/2022100509/5695d4021a28ab9b029ff16c/html5/thumbnails/3.jpg)
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](https://reader038.fdocuments.us/reader038/viewer/2022100509/5695d4021a28ab9b029ff16c/html5/thumbnails/4.jpg)
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