• No results found

NoteIt iOS App

N/A
N/A
Protected

Academic year: 2020

Share "NoteIt iOS App"

Copied!
44
0
0

Loading.... (view fulltext now)

Full text

(1)

Gurjeevan Bains, Waylin Wang

Advisor: Dr. Lubomir Stanchev

(2)

Table

of

Contents

Abstract 2

Background/Motivation 2

Introduction 5

UserStories 7

SwiftVs.ObjectiveC:OurChoice 9

FirebaseBackground 10

Quarter1Goals 11

Quarter1ProgressReport 12

Quarter2Goals 14

WeeklyProgress 16

Architecture 22

IndividualContributions 37

TechnicalDifficultiesFaced 38

Conclusion 39

FutureGoals 40

(3)

Abstract

Miscommunicationisacommonstrugglethatmanystudentsfaceintoday’s world,despitethe significanttechnologicalprogressthatwehavemade.With NoteIt,weaimedtosolvethisissue, byallowingstudentstojoingroupsbasedoffofthecoursesthattheyare enrolledinduringthe currentquarter.Withintheapp,theycansend andreceivemessagesandeventsfromeveryone elseinthegroup,orpostprivatereminderstothemselves.Communication canrangefrom assignmentclarificationtoexampreparationtips.Overallthedevelopmentoftheapplication wentrelativelywell,despitesomeroadblocksalongthe way.Weweresatisfiedwiththeprogress wemadeandplanoncontinuingtoworkonitafterthequarterends, byaddingevenmore

functionalitytoit.

Background/Motivation

(4)

thatthewholeideaofusingseparateapplicationsforsettingreminders andinteractingwith classmatesisinefficient.

Inaddition,moststudentshavebetweenzeroand twocontactsinanygivencoursethat theyareenrolledin.Assumingtheyhaveacommonquestion,thosestudentswouldbeoutof luck,withnoothercontactsinthecourse.However,accordingto PsychCentral,collegestudents spendabout“eighttotenhoursperday”ontheir cellphones.Bybeingabletoreceivehelpand getquestionsanswereddirectlyontheirsmartphones,students willbelesslikelytoforgetabout theirhomeworkassignments,andmorelikely tounderstandassignmentspecificationscorrectly. Inaddition,weplanonintegratinga“community”aroundeachcoursebeingoffered.Bythiswe meanthatweplantohavedifferentgroupstylechatsbasedoffofthe coursesthatstudentsare currentlyenrolledin.Thiswouldhelpeliminatetheawkwardnessstudentsmay feelwhenasking forarandomclassmate’scontactinformationduringthefirstfewdays ofthecourse.

(5)

​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

Whenweaskedthesamegroupof30 studentswhethertheywouldusethismobile application,anastounding26outofthe30students(87%)saidthattheywould indeeduseit.A mobileapplicationwouldbemucheasiertouse,asaquestioncouldbeasked totheentireclass withafewtaps.Webelievethatthese twofeaturestogetherwouldprovideanincredible

(6)

Reallywhenitcomesdowntoit,wewanted ourseniorprojectto bedirectlybeneficialto ourpeersatCalPoly.Wedidnotwanttosimplymimicanalready existingapp,butcreate somethingofvaluethatwecouldbeproudof;somethingCalPolystudentscould stillbeusing5 to10yearsdowntheline,wellafterour graduationdate.Thereis absolutelynothingthatoffers thiscombinationoffeaturesonthemarket,whichis whatwillmakethe developmentofthisapp soexcitingandchallenging.

Introduction

WedecidedtogoaheadanddevelopourapplicationontheIOSplatform.Wespenta considerableamountoftimedebatingbetweendevelopingtheapplicationonIOSversus Android,andafterdoingsomeresearchandtaking ourownpersonalmotivesforcreatingthe applicationintoconsideration,feltthatthiswasthebestchoice.Accordingtoastudydoneby Nationwide,53%ofusersintheUnitedStatesuseAndroidphoneswithonly44%usingiPhones. However,amongstcollegeagedstudents,65%use iPhones,withonly 35%usingAndroid

phones.DespiteAndroidholdinganedgewiththeUSmarketasawhole,we feltthatsinceour applicationwasgoingtobeusedbycollege studentsandpossiblyhighschoolstudents,we wouldcapturealargeraudienceby developingtheapplicationonIOS.

(7)

havingasmallerinitialtestgroupwasnottoobig ofadownside.Wealsocametotheconclusion thatwewouldratherhaveitworkingon oneplatformcompletelyratherthanpartiallyon

multipleplatforms.Ultimately,theAndroidimplementationis somethingwewill completeata laterdate.

Asfarasdeliverablesgo,thereareseveralthatwehaveplanned,toensurethatthe projectisbeingcompletedinatimelymanner.Sinceneitherofushaveanymobileapplication developmentexperience,ourfirstdeliverablewillbea simplehomescreen,thatasksforthe student’slogincredentials,orallowsthem toregisterfortheapp.

Thenextbigdeliverablewilladdingthecurrent quarter’sclassofferingstotheappso thatstudentswillbeabletoselectwhichcourses theyareenrolledin. Thismaybesomewhat difficult,aswewillnotbeabletogetastudent’scourseinformationdirectly fromtheCalPoly site,sowewillhavetofindsomeotherwaytogetthisinformation.​​Allofthis willbeaddedtoa NoSQLdatabaseandwillbeupdatedonce atthebeginning ofeachquarter.

(8)

Thisisjustaroughoutlineofwhatweplan ondoing.Asadisclaimer,wemaydecideto addnewfeatures,modifyexistingones,orremovethem altogetherifwedecide thatthereisa betteralternativeavailable.

User

Stories

1. Asastudent,Iwanttobeableto askquestionsaboutassignments andclasslogistics,and receiveresponsesintheformofreplies,​​so thatwhenIwon’tbeconfusedor

(9)

2. Asastudent,Iwanttohavetheabilitytoaddanddeletecourses, toaccountforcourses thatIhavedroppedandadded afterthequarterhasbegun.

3. Asaninstructor,Iwanttobeabletosendoutremindersaboutclass changesinamore speedyfashionthanemail,sothatmystudents willbemorequicklyinformedofchanges. 4. Asastudent,IwanttobeabletogivetipstootherstudentsonthingsIfoundusefulin

completingassignments,sothatnootherstudentisstuckfeelinglost inthecourse. 5. Asastudent,Iwanttobeabletocreateanaccountandregister, sothatmypreferences

andcourseswillbesaved.

6. Asastudent,Iwanttheaddcoursesscreen tofeaturethecurrent quarter’scourses,sothat Icancontinueusingthe application,quarterafterquarter.

7. Asaninstructor,Iwanteventstohaveastudent’s userIDattachedtoit,sothatIcan addressthestudentinprivateviaemail,ifthereisneed forfurtherdiscussion.

8. Asaninstructor,Iwanttheaddcoursesscreen togivetheability toenrollfordifferent sectionsofthecourse,sothatIcanbesuretoaddressthedifferent sectionsofmycourses appropriately.

9. Asastudent,Iwanttheeventsscreento listeventslistedfrom soonesttofurthestdue date.

10. Asastudent,Iwanttheability tomakeevents publicorprivate 11. Asastudent,Iwanttheabilitytodeleteeventsthat Ihavecreated.

12. Asastudentandinstructor,IwanttheeventsscreentorefreshinrealtimesothatIdonot havetoreloadthescreenmyselfwhen Isuspectthat eventshavechanged.

(10)

Swift

Vs.

Objective

C:

Our

Choice

UpondecidingtodevelopourapplicationontheIOSplatform,wehadadecisiontomake inregardstowhichprogramminglanguagewewoulddevelopitin.Ononehand,therewas ObjectiveC,whichisthelanguagethathasexisted sincethedawnof IOSdevelopment,andon theotherhandtherewasSwift,anewlanguage thatApplewaspushing forIOSdevelopersto beginusing.

Afterdoingsomeresearchwefoundthattherewereseveraladvantages thatbothSwift andObjectiveChadoveroneanother.Forstarters,SwiftrunsmorequicklythanObjectiveC, andinfact,fasterthanC++.Inaddition,Swift usestheLLVMcompiler, whichisusedby modernlanguagessuchasPythonandScala,andis morefriendlytodevelop on.Swiftalsogot ridoftheuseofpointers,whichalsomakesit“safer”todevelopon. UnlikeObjectiveC,Swift supportsAutomaticReferenceCounting,whichhelpstopreventmemoryleaks,and allowstothe developertobemoreproductive.Ontheotherhand,ObjectiveC,beingmuchmoremature,has manymoreestablishedconventionsthanSwift,beingonlyafewyearsold.Onecouldalsoargue thatObjectiveCismorefriendlytolearn,with themyriadoftutorials availableonlineforit.

(11)

overall.Theskillsetit’dprovideuswithwouldbe morebeneficialthanthe extraworkwe’dget donewithObjectiveC.

Firebase

Background

Wehadseveralchoicestochoosefromwhendecidinghowto hostourapplication’s databaseandhandleuserauthentication.UltimatelywefoundthatFirebaseprovided uswitha widevarietyoffeaturesthatwouldnotonlycomeinhandyinthenearterm,butalsoasourapp scalestothousandsofusers.Wealsoconsideredgoing withAWSmobile,but feltthatitwas gearedmoretowardslargerenterprisemobileappsratherthanonesonasmallerscalelikeours.

Oneofthebiggestreasonswechosetogo withathirdparty hostingplatformratherthan ourowninfrastructurewasbecauseofscalingand efficiency.Wesimplydonotknowhow quicklythisappwilltakeoff,andhavingto orderandmaintainhardware becausewechoseto hostthesiteonourownwouldnotserveasthebestuseofourresources.Inaddition,wefound thatFirebasehadeverythingthatweneededandmore,forafractionofthe initialcostthatit wouldbeforustocreateourownsmalldatacenter,asitspaymentsystem isbasedonusage.

(12)

applicationinordertoprovidethebestvaluefor studentsandprofessors.This tiesinwithits crashreportingsystem,whichcanbeusedtogrouptogetheruserswhofacesimilarissuesin ordertosendautomatednotificationstothoseusers,or getabetteridea ofthedemographicsof thoseaffected.Italsofeaturesarobustauthentication systemthatwouldotherwisetakeupto monthstodeveloponourown.Thisauthentication systemfeaturesthesamesecurityusedin GoogleSign-In,meaningthatweasdeveloperscanleveragethemanpower ofthousandsof Googleemployeesinsteadofusingourowntime andresources.Overall,wefoundthatFirebase wouldallowusasdeveloperstofocusondevelopmentofnewfeaturesratherthanhavingto manageinfrastructure.Especiallyfortheshortamountof timethatwehadtodevelopthis application,thiswasitssellingpoint.Hadwehostedourownserveranddevelopedourown authenticationsystem,wewouldnothavecompletednearlyas muchaswewere abletodoby usingFirebase.

Quarter

1

Goals

● LearnthebasicsofSwiftdevelopmentinordertogetabetterunderstandingofwhatwe willbeabletoaccomplishwithinourtimeline

● Decideonwhetherwe willhosttheapplication ourselvesoruseathirdpartyhosting platform

(13)

● CompleteadetailedlistofuserstoriesandUI diagramsthatwillgive usagoodidea abouthowourapplicationwilllookandbehave

● Completeworkontheregistrationandloginscreen ● Havetheschemafor ourdatabasecompleted

● Addincapabilityto listthecoursesthat aloggedinuserhasenrolledin ● Decideonanicon fortheapplicationaswellasa nameforit

● Addtheabilityto removecoursesfromtheapplicationthatyou arepersonallynot interestedinbeingingroupsfor

● Beginworkonthe calendarscreen,whichwe arestilldecidingonanappropriatelayout for

Quarter

1

Progress

Report

Duringthefirstquarterofourseniorproject,wehavemetallofthe goalsthatweset forthatthebeginningofthequarter.Ourmaingoalsduringthesepastfew monthsweretotest thewaters,inthesensethatwewantedtomakesurethatwehadthepiecesnecessaryinorderto createthisapplication.Forone,weneededtobe surethatwehad accesstoeitherstudents’ portalsoralistingofallcourses.Ouroriginalgoalwastohavestudents signintotheapplication withtheirCalPolycredentials,butwerealizedthat doingsowasnot possiblewithoutmonthsof planningandapprovalsthatwedidnothavethetimetogothroughfor theproject.Sowe

(14)

Wealsogotourinfrastructureintactduringthis quarter.Wedecidedtousefirebaseto hostourapp,andproceededtosetupuserauthentication, andgotthedatabasesetupforit.We thenmadeUIsketchesforwhatwewantthevariousscreensoftheapplication tolooklike.After thatwecreatedtheusecasesfortheapplicationthatwewillcontinueto updateduringournext quarter.

Atthispoint,webegantoactuallywork ontheapplicationitself.Thisentailedfirst creatingtheloginscreen,andthenworkingonallowinguserstoaddcoursestheywereenrolled in.Thesechangeswerethenplacedintothereal timeNoSQLdatabasethat ishostedonFirebase.

Thusfartherehavenotreallybeenanychanges toourplansfor theapplicationexceptfor thefactthatwearenotusingCalPolyauthenticationforuseraccounts.We donotanticipateany futurechangestoourfinalgoalfortheapplicationatthispointeither,but thisisofcourse

subjecttochange.

Sofar,Gurjeevanhasworkedontheparsingscripttogetallofthedatafrom

schedules.calpoly.eduandintotheFirebaseDatabase.He alsoworkedon highlightingofcourses onthecourseadderpageandthepushingof thisdataontothe FirebaseDatabase.Waylinworked onsettingupourFirebaseinstance,theuser registration/login,andondisplayingcoursesonthe courseadderpagefromthefirebasedatabase.Webelieve thatasateam wehaveworkedwell.

Ourplanforwhenweworkontheprojectnextremainsthesame.We stillwantthisapp tobeadaptedbyCalPolycampuswide.Thisiswhat wouldmaketheappmostusefultoall.With eachstudentusingit,everyonewiththeappwill benefit.Thiswillget themostnumberof

References

Outline

Related documents

The total suction head is equal to the static height or static submergence (in feet) that the liquid supply level is above the pump centerline, less all suction line losses

The substance or effect of the decision or order appealed from is the ISSUANCE on August 19, 2020 to Kyle Johnson, of a Site Permit (renovation and addition to single family

Becoming a registered Apple Developer is free, but if you want to test your Apps on an actual device (you do) and submit them to the App Store, you need to pay an annual developer

Product - Mobile as a Disrupter Mobile iOS App Mobile HTML Mobile Android App iPad . iOS App Tablet HTML

Substation  and  switchyard  structures  are  used  to  support  the  above  grade  components  and 

The app’s Settings screen is used to configure VoIP, export system configurations and eventlogs, upgrade the app, and view information about the device, local project, and

BIOCHEMICAL CHARACTERIZATION OF THE MALARIA PARASITE PLASMODIUM FALCIPARUM CLPB HOMOLOGUE PFCLPB1 LOCALIZED TO THE

chinesis Lam on type 1 diabetic disease and investigate the molecular and histological mechanism of its action .many parameters was investigated , Fasting