Forprosjektrapport for bacheloroppgave i data og informasjonsteknologi Gruppe 5 Anders Minde Dørum, Eirik Odden Solberg, Patrick Ingeberg og Torbjørn Magnus Brandrud
Prosjektmedlemmer: Anders Minde Dørum, s236314 Eirik Odden Solberg, s236366 Patrick Ingeberg, s236303 Torbjørn Magnus Brandrud, s236329 Prosjektside: http://student.cs.hioa.no/~s236366/bachelorpros jekt%20itavisen/ Intern veileder: Aiko Yamashita, Førsteamanuensis https://www.hioa.no/tilsatt/aikyam Oppdragsgiver: itavisen http://itavisen.no Kontaktperson: Ansvarlig redaktør Trond Bie Email: trond@itavisen.no Tlf (US) : 415-235-4457 Nyhetsapplikasjon for IT-Avisen Sammendrag IT-avisen er en nettavis som dekker nyhetssaker relatert til IT-verdenen. Vi har fått i oppdrag av redaktøren å utvikle en applikasjon for ios og Android. Denne applikasjonen skal hovedsakelig ha samme funksjon som nettsiden, men med noen forandringer tilpasset smarttelefoner. Dagens betingelser IT-avisen har vært en nettavis som har levert nyhetsartikler innen it-verdenen i over 20 år. Nå ønsker de å utvikle en nyhetsapplikasjon som kan utvide brukergruppen deres, og gjøre nettsiden mer tilgjengelig. Fra deres perspektiv er det derfor hensiktsmessig å få en gruppe studenter til å gjøre gratis utvikling for dem, da en betalt aktør kan vært kostbart. Applikasjonen er en slags videreføring av nettsiden men noen tilleggs funksjoner, og det er derfor lett for eksterne aktører å utvikle applikasjonen. 1
Mål og Rammebetingelser Applikasjonen skal presentere IT-avisens nettside, http://itavisen.no, på en profesjonell og korrekt måte. Applikasjonen skal være tilgjengelig for både ios og Android, og den skal ha noen nye funksjoner, blant annet Push varsler og promotering av nye artikler, Twitter, Youtube og Facebook. Det ønskes også at applikasjonen skal være rask, og gi verdi for kunden som de ikke får av nettsiden alene. Samtidig som vi utvikler vil noen studenter fra Westerdals renovere nettsiden, og derfor er det også viktig at vi kommuniserer med de, slik at det blir samsvar i designet. Foreløpig skisser av brukergrensesnittet finnes nederst i dokumentet. Teknologier og behandling av dokumenter: - Rammeverket vi vil benytte oss av er Scrum hvor vi jobber i iterasjoner (sprinter) underveis med daglige møter. - Dokumentasjon føres underveis til sluttrapporten og lastes opp i felles mappe for gruppen i Google Disk. Sluttrapporten/dokumentasjon ferdigstilles i Microsoft Word. - Applikasjonen skal utvikles for ios, Android og Windows Phone. - Front-end utvikles i HTML, CSS og JavaScript. - Brackets vil bli benyttet som teksteditor. - Adobe Phonegap (Apache Cordova) vil bli benyttet som utvikler rammeverk. Rammeverket gjør det mulig for oss å utvikle applikasjonen til alle tre plattformene ved bruk av programmeringsspråk i front-end nevnt ovenfor i motsetning til spesifikk plattform APIs. - Benytter Basecamp for å kommunisere med oppdragsgiver da han befinner seg i San Francisco. - Toggl benyttes til prosjektstyring. Løsninger og alternativer Vi skal utvikle applikasjonen i Phonegap (Apache Cordova), slik at vi kan dekke både ios, Android og Windows Phone, da vi ser på det som for mye jobb å sette oss inn i 3 ulike plattformer og fordi kun en plattform ikke vil være en optimal løsning for applikasjonen. Vi har også tenkt til å benytte rammeverket AMP for å øke hastigheten på innlasting av siden. Tjenesten Basecamp er planlagt å bli benyttet som kommunikasjonstjeneste mellom oss og 2
oppdragsgiver. Vi vurderer også å implementere Ionic rammeverket for å hente ut flere plugins som kan gjøre applikasjonen mer optimal. Applikasjonen vil benytte seg av enten en database som backend levert av klapp.no eller RSS. Oppdragsgiver er fortsatt usikker på hvilken løsning han ønsker å benytte seg av og derfor er ikke dette blitt bestemt ennå. Database som løsning vil gjøre at vi henter ut artiklene/dataene direkte fra databasen til applikasjonen. Vi må derfor ved denne løsningen sette opp en kobling mot databasen til klapp.no. RSS som løsning er derimot et XML dokument bestående av de siste artiklene fra itavisen.no. Denne XML filen er koblet opp mot databasen og blir derfor generert fra databasen med de siste nyhetene dersom oppdateringer foretas. Hvis oppdragsgiver velger å gå for RSS løsningen skal vi benytte oss av YQL (Yahoo! Query Language), som er lignende SQL, til å få ut data fra XML dokumentet. Analyse av virkninger Som sagt har vi valgt å gå for Phonegap som er en cross-plattform løsning. Vi har også tatt med i vurderingen å benytte oss av Xcode og Android Studio, men har gått bort fra det da vi ser på Phonegap som et bedre alternativ tidsmessig. Vi vurderte det som for stor oppgave å utvikle to eksterne applikasjoner, i ulike språk. Organisering: Vi startet tidlig med planlegging, da det er nødvendig å fastsette tidspunkter vi møtes for å jobbe i gruppe. Vi har valgt å bruke Toggl for å få en oversikt over tidsbruken i de ulike fasene av prosjektet, for å holde styr på hva vi jobber med og til hvilken tid. Dette kan hjelpe i dokumentasjonen underveis av prosjektet og vil bidra til å gjøre arbeidet mer strukturert 3
Risikovurdering Hva kan gå galt Sannsynlighet Konsekvens Løsning/Forebygging Henting av artikler for applikasjon Middels Høy Vi har to muligheter, enten å hente artiklene gjennom databaseaksess, eller RSS feed. vi har enda ikke blitt enig med arbeidsgiver om hvilken teknologi vi skal velge. RSS har sine begrensninger til historikk i applikasjonen, mens database krever at vi får tilgang til databasen noe det ikke er sikkert vi får tilgang til. Sykdom Lav Middels Konsekvensen av sykdom avhenger av alvorlighetsgraden, og hvor langvarig den er. Kortvarig sykdom vil ikke påvirke prosjektet i nevneverdig grad, mens langvarig og mer alvorlig sykdom kan føre til forsinkelser og utsettelser av milepæler. Feilslått planlegging Lav Middels Vi har planlagt milepæler for prosjektet, og forsinkelser/utsettelser her kan føre til at vi ikke rekker å fullføre alle punkter, eller må gjøre endringer i kravspesifikasjon Tap av data Lav Høy Vi prøver å ha alle de nyeste dokumentene på hver våres PCer, og har i tillegg alt lagret i skytjenesten til Google. sannsynligheten for at all data skal gå tapt er derfor minimal. 4
Arbeids og fremdriftsplan Foreløpig skisse av Gantt-diagram for prosjektet: Forklaring til Gantt-diagram: Fase Varighet Beskrivelse Planlegging og forarbeid 03.01.2017-13.01.2017 planlegging av tid, prioriteringsliste, sette oss inn i ulike teknologier vi skal benytte. Grensesnitt/Design 16.01.2017-10.02.2017 Utvikling av grensesnitt og utseende på applikasjonen, innebærer å benytte skisser fra planleggingsfasen til å utvikle en visuelt god app. Utvikling 13.02.2017-07.04.2017 Hele utviklingsperioden sett under ett. Database/RSS (Sprint fase 1) 16.01.2017-10.02.2017 Hente ut artikler fra itavisen sin nettside, enten ved bruk av RSS eller ved databaseaksess. 5
Implementering av kategorier (sprint fase 2) Notification/Push-varsler (sprint fase 3) Reklame (sprint fase 3) Testing (sprint fase 4) 13.02.2017-03.03.2017 Implementere en kategori side der brukeren kan velge artikler basert på kategori, og stikkord. Dette skal utvikles som windows tiles, dvs. ruter som inneholder de ulike kategoriene. 06.03.2017-10.03.2017 Legge til push-varsler slik at brukeren får oppdateringer på når nye artikler kommer. 13.03.2017-17.03.2017 Synkronisere reklame fra nettsiden til applikasjonen, dette innebærer å sette seg inn i teknologien som ligger bak, og implementere denne funksjonen. 20.03.2017-07.04.2017 sluttføring av applikasjon, og enhetstesting, samt brukertesting av applikasjonen. Dokumentasjon 10.04.2017-24.05.2017 Selve rapporten skrives, her har vi satt av ganske mye tid da vi mener at rapporten er en stor og viktig del av bachelorprosjektet. Her inngår dokumentasjon av prosessen og valg vi har gjort. 6
Skisser Hjem skjerm med nyhetsfeed. Tilgang til siste nytt, kategoriene og innstillinger. Visning av en enkelt artikkel med mulighet for deling nederst. 7
Kategori side i applikasjonen hvor man kan velge å komme inn på en enkelt kategori. Her er deleknappen på en artikkel trykket og brukeren får mulighet for å dele via ulike tjenester. 8