Mobile 6 2016 - Ohio University · Development - iOS • Based on a computing language called...
Transcript of Mobile 6 2016 - Ohio University · Development - iOS • Based on a computing language called...
App DevelopmentMobile Media Innovation Module 6
MobileMediaModule• TheMobileMediaModuleisdesignedasatwo-week,broad-basedstudy
onthemobilelandscapethatcanbeappliedinmanycourses.• TheprogramwasimplementedatOhioUniversity’sScrippsCollegeof
CommunicationtosupportourScrippsInnovationChallengeandtobuildknowledgeofthemobilelandscapeacrossourcommunicationcurricula.
• Forimplementation,webroughtinanexpertinmobiledevelopmenttoteachinfourexistingclassesovertwoweeksinSpring2013.Facultyteachingthoseclassesbecamethestudentsandbuilttheircapacitytoteachthematerialinsubsequentsemesters.
• By“hackingthecurriculum”usingthe“modulemethod,”wewereabletoreachmorethan500studentsinonesemesterwithnewmaterial.
• Formoreinformation,contactDr.MichelleFerrier,associateprofessor,E.W.ScrippsSchoolofJournalism,[email protected].
MobileMediaInnovationModules
• Part1:FundamentalsofMobile• Part2:AudienceandUsage• Part3:SocialandMobile• Part4:MobileandJournalism• Part5:mCommerce andMonetization• Part6:AppDevelopment
Ideas&IntellectualProperty
• Ideas– Everyonehashadanideaforanapp– Isanyonewillingtosharetheirappideas?
• IP- IntellectualProperty– Somethingyoucancopyrightorpatent– Uniquelyoriginal– Yourapp’s‘secretsauce’
Design- Wireframes• Wireframes- Tools– Whatisawireframe?
• Awireframeislikeablueprintforyourapp.Itprovidesaskeletonofyourapp.Keycomponentsofawireframeare:– Layoutofscreens– Hierarchy– Relationshipbetweenelementsonthescreen– Userinteraction
• Whataresometoolsusedtocreatewireframes?– Omnigraffle– Balsamiq– PenandPaper!
Design- Wireframes
Design• Design- Tools– Photoshop
• CreatedbyAdobe• Industrystandard(Since1988)• Initiallycreatedasaphoto-editingtool• Photoshopisnowaverb
– Sketch• QuicklyreplacingPhotoShopinsomecircles• Lightweight• Madespecificallyforwebandmobile• Easytouse• Lessexpensive
Development- iOS• Basedona
computinglanguagecalledObjectiveC
• XcodeisthenameoftheIDE(IntegratedDevelopmentEnvironment)
• NewlanguagereleasedbyApplecalledSWIFTwillalsoallowdeveloperstocreateapps
• IncludesiOSsimulatorfortestingapps
Development
Development- Android• BasedontheJava
computinglanguage• UsestheEclipseIDE
(IntegratedDevelopmentEnvironment)
• Includesdocumentation,samplecodeandAndroidsimulatorformostAndroiddevices
Development- Windows• UsesMicrosoft’s
ASP.netlanguagetopublishapps
• IncludesVisualStudioExpressIDE(IntegratedDevelopmentEnvironment)
• Containsmultipleemulatorsfortesting
Development– OtherTools• Appcelerator
– LeadingopensourceSDKforcross-platformmobiledevelopment
• PhoneGap– Opensourceframeworktocreatemobileapps
• Corona– Crossplatformdevelopmentframeworkforcreatingmobile
apps
• Theseplatformsareusedtocreatehybridapps• Theyallowyoutopublishformultipleplatformsusinga
single,non-nativecodebase.• Mostlybasedonweb-basedlanguages(HTML,CSS,Js)
OtherImportantTerms• NativeApplication-Anmobileapplicationdevelopedona
specificlanguageforaspecificplatform.
• HybridApplication-Anappthathascross-platformfunctionalityandiscreatedusingalanguageotherthanthenativelanguage.
• OpenSource- Softwarewho’soriginalsourcecodeisavailableforfreeandmaybemodifiedandredistributed.
ProjectManagement• WaterfallMethod– Moretraditionalstyleofprojectmanagement.Asequentialdesignprocessinwhichprogressisseenasaflowing,steadilydownwards(likeawaterfall)throughthephasesofConception,Initiation,Analysis,Design,Construction,Testing,Production/Implementation,andMaintenance.
• AgileMethod– Agroupofsoftwaredevelopmentmethodsbasedoniterativeandincrementaldevelopment,whererequirementsandsolutionsevolvethroughcollaborationbetweenself-organizing,cross-functionalteams.
WaterfallMethod
WaterfallMethod• Pros
– Longerdesignandplanningstageallowsformorepotentialforeseeablebugavoidance.
– Emphasisondocumentationreducesmiscommunicationandemphasizesaccountability.
– Designpassesthrougheasilyunderstandableandexplainablephases.
• Cons– Impossibletopredicteveryminuteproblemduringpre-
production.– Clientsmaynotknowexactlywhattheywantthefinal
productorfeaturelisttobeuntiltheyseeaworkingprototype.
– Designmustadapttothetechnology.
AgileMethod• Pros
– Workingsoftwaretopresenttoclientsearlierinproduction– Clientscanvisualizefinalproductmorequickly(andmakechanges
asnecessary).– Short“time-boxes”keepfocusontheshorttermgoals.– Minimalbugsattheendofeachiteration.
• Cons– Canbeinefficientinlargeorganizationsorverylargeprojects.– Clientresistancetonon-traditionalmethod(hardertotrack
milestones).– Hardertoadapttooffsiteoroffshoreteammembers.
Agileterms• SCRUMMaster- Thepersonaccountableforremovingimpedimentsto
theabilityoftheteamtodeliversprintgoals/deliverables.• ProjectOwner- Primaryauthoroftheuserstories,ownstheproduct
backlog,prioritizesthestories,writesacceptancetestsandacceptsworkcompletedbytheteam.
• Backlog- Anever-evolvinglistofproductrequirements,prioritizedbythecustomer(orcustomerrepresentative),thatconveystoanagileteamwhichfeaturestoimplementfirst.
• Sprint- TheuninterruptedperiodoftimeduringwhichanAgiledevelopmentteamperformswork,mostcommonly1-4weeksinlength,atwhich,theteamdeliversa“potentiallyshippable”product.
• Stand-Up-Ashort,daily,all-handsmeetinginwhichmembersofanAgileteamaddressthreequestions:– Whatdidyougetdonesincethelaststand-up?– Whatwillyoudobeforethenextstand-up?– Whatimpediments standinyourway?
MilestoneTerminology
• Prototype- Anearlysampleorreleaseofaproductbuilttotestaconceptorprocess.
• Build- Acompiledversionofaprogram.• Pre-Alpha- Allactivitiesperformedduringthesoftwareprojectbeforetesting.SomecontractswillrefertothelastmilestonebeforeAlphaas“Pre-Alpha”.
• Alpha- Releasestageinwhichallessentialfeaturesareplannedandwillbeaddedinthenearfuture.Nonewfeatures/contentcanbeaddedtothedesignatthispoint.
MilestoneTerminology
• Beta- Releasestageinwhichallfeaturesarecompleteandwherebugfixingismostimportant.
• ReleaseCandidate(RC)- Abetaversionwithpotentialtobeafinalproduct,whichisreadyunlesssignificantbugsemerge.
• GoldMasterCandidate(GMC)- Alsoreferredtoas“Releasetomanufacturing”orRTM.Asoftwareproductthatisreadytobedeliveredorprovidedtothecustomer.
Prototyping
• WhyPrototype?– Fast– Cheap– Easy– Workoutmajorproblems– Getteamonthesamepage– Workoutbugs– Motivate!
• http://youtu.be/iA5MVUNkSkM
OtherImportantTerms• MinimumViableProduct(MVP)- Aversionofanew
productwhichallowsateamtocollectthemaximumamountofvalidatedlearningandcustomers,withtheleasteffort.Itisastrategytargetedatavoidingbuildingproductsthatcustomersdonotwant,thatseekstomaximizetheinformationlearnedaboutthecustomerperdollarspent.
• Iteration- Theactofrepeatingaprocesswiththeaimofapproachingadesiredgoal,target,orresult.Multipleiterationsarecreatedtocreatethefinalproduct.Thinkofiterationslikedrafts.
AppStoresSpecifics&Promotion
AppStoresSpecifics&Promotion
• AppleAppStore– Closedandnotopentointerpretation– MustbearegisterediOSdeveloper($99/year)– Reviewrulesandguidelines– Appshouldnotreplicatefunctionalityofnativeapplications
– Shouldneverusethecameraormicwithoutauser’spermissionorknowledge
AppStoresSpecifics&Promotion
• AppleAppStore– MustincludeIconandupto5screenshots– Descriptionoftheapp– Takes5– 10businessdays
AppStoresSpecifics&Promotion
AppStoresSpecifics&Promotion
• GooglePlayStore– MustincludeIconandupto5screenshots– Descriptionoftheapp– Descriptionofcontentrating– Approvalcanbeaquickas24hours
AppStoresSpecifics&Promotion
• Google- Pros– Freedomofeditorialcontent– Virtuallyinstantappapproval
• Google– Cons– Fragmentation– lotsofdifferentdevicestodevelopandoptimizefor
QuickDiscussionQuestions
• Ifyouweredevelopinganapp,whatkindofdevelopmentwouldyouuse?Nativeornon-Native?Why?
• Whattoolwouldyouusetodesignyourapp?PhotoshoporSketchandwhy?
• Whenlaunchingyourapp,whatplatformwouldyoulaunchonfirst?AndroidoriOS?Why?
DiscussionQuestions• ArticleI:“HowMuchDoesItCostToDevelopAnApp?”• Was8-10weeksfasterorslowerthanwhatyouexpectedto
designanapp?
• Did$120-150Ksurpriseyouintermsofprice?
• Ifyouhadafairlysimplehalf-completeproject,butadeveloperwasunabletocompletetheproject,howwouldyouattempttocontinuetheproject?
• http://thenextweb.com/dd/2013/11/24/much-cost-develop-app-true-expense-starting-scratch/#!o49L7
DiscussionQuestions• ArticleII:“WhatYouNeedtoKnowBeforeYouBuildaMobileApp–
BesidesCode”
• Whataresomewaysyouwillknowthatyourideaisagoodone?
• Ifyouweregoingtobuildanapp,wouldyouapproachinvestorsorfundityourself?Why?
• Whatistheonethingthatsurprisedyoumostaboutbuildinganapp?
• http://seriousstartups.com/2014/04/15/build-mobile-app-besides-code/