Databaser – del 1

Når man skal lage en database, for eksempel til en webside, da må du forstå strukturen og hvordan alt er bygd opp. Ellers vil det troligvis ikke fungere så som du vil at den skal gjøre.
I dette innlegget skal jeg gi et enkelt eksempel på hvordan man planlegger og setter opp en database. I neste innlegg vil jeg vise hvordan man i prakis kan gjøre dette. Det kommer jeg til å illustrere ved å bruke en lokal server som er satt opp ved hjelp av XAAMP. Men først, planlegging og design.

 

Use case

Du skal lage en webside hvor man har mulighet å leie hytter for ferien sin. Brukeren skal kunne se alle de forskjellige hyttene og de skal kunne få oversikt over pris og hvilke datoer de er tilgjengelige. I tillegg ønsker man en kalender som viser hvilke perioder det er fullbooket respektive ledig.
Som eiere av bedriften vil man ha muligheten for å se statistikk og man ønsker nødvendig informasjon fra leietakeren for å kunne ha noen garantier ved utleie.
Mye av dette er data som trengs å lagres og for det bruker man oftest en database. Utfra gitt use case kan vi nå bruke informasjonen til å skissere opp et forslag på struktur.

 

Database struktur

En database struktur er oppbyggd ved hjelp av tabeller, kolonner og rader. Litt så som en vanlig tabellstruktur er byggd opp i Microsoft Office pakkene. Har du for eksempel jobbet endel i Excell så har du garantert også hørt tales om nøkler. Når det gjelder databaser er det to nøkler som er viktige å huske på; Primærnøkkel og fremmednøkkel. Og hva er det?

 

En primærnøkkel er en unik nøkkel, med et unikt verdi. I en tabell vil hver rad ha sin egen nøkkel som knytter all informasjon som er lagret i kolonnene som tilhører den spesifikke raden. To primærnøkler kan ikke ha samme verdi og det skal de heller ikke. Ta for eksempel et fødselsnummer. Det numret er unikt for hvert enkelt menneske og som aldri vil være likt hos noen annen. Typisk sånn informasjon ville vært egnet å ha som primærnøkkel. Man kanskje også bruke mobilnummer, epostadresse, eller brukernavn. Hvis inget av de er et alternativ for tabellen du setter opp kan du bare gjøre primærnøkkel til et sifferverdie og som automatisk settes og økes ved hver gang en ny rad opprettes i tabellen (første rad begynner med primærnøkkel 1 og så fortsetter det).

En fremmednøkkel er en nøkkel som kobler to tabeller sammen og det er vanligvis fra en primærnøkkel fra en annen tabell.
For eksempel; Du jobber i et stort selskap med flere avdelinger. Her vil man vite hvor mange mennesker som jobber i en spesifikk avdeling. Troligvis vill det finnes en tabell med ansatte og det vil finnes en tabell med avdelinger. Avdelinger vil kanskje ha primærnøkkel som sifferverdi og i ansattabellen vil primærnøkkelen troligvis være ansattnr. For å knytte de sammen så settes for eksempel ansattnr som en kolonne i avdelinger, og vice versa. Primærnøkkel fra respektive tabeller blir da fremmednøkkel i hver deres tabell. Eller så skaper man ytterligere en tabell hvor man setter både ansattnummer og avdelingsnummer som primærnøkler.
Et bilde som viser hvordan en egen tabell har blitt lagd for å koble avdeling og ansatt tabell sammen

Her ser dere et eksempel på hvor man oppretter en ny tabell for å lage strukturen enklere når man skal hente ut informasjon om hvilken avdeling respektive ansatt jobber i.

 

Dette er viktig å huske på! Dersom man bruker disse nøklene feil så kan man ødelegge for hele strukturen.

 

Skissering av database struktur

Ofte når jeg skissert opp en database struktur så har jeg brukt Creately, eller også draw.io. Her er vel draw.io sneppet vassere må jeg si men for dette eksemplet har jeg bruket Creately. For å skissere opp velger man det som heter Database diagram,  og start med blankt dokument. Deretter legger du inn tabellene du ønsker.

Det jeg pleier å gjøre først er å skrive opp alle objekter som man ønsker å lagre informasjon om. Det vil si enten fysiske ting som personer, eller abstrakte ting så som reservasjoner. Deretter lager jeg en E/R modell. En E/R modell står for «Entity/Relationship» og egner seg best når man skal avklare hvordan og av hvem databasen skal brukes for. Det visualiserer databasens funksjon og oppbygging og det er ofte den første visualiseringen man gjør i designprosessen.

For dette use case vet vi at vi trenger tabeller for;

  • Leietaker
  • Hytte
  • Reservasjon
  • Reservasjon kalender
  • Betaling

Når dette er gjort begynner jeg med process nr 2, det vil si det å lage et logisk skjema. Det første jeg gjør er å skrive opp alle tabellene jeg har, deretter hvilke kolonner de skall innholde.
Dette gjør jeg enten via penn og papir eller i et Word dokument, funker det og 😀

Når det er gjort, passer jeg på å markere både primærnøkler og fremmednøkler. Primærnøkler med et understrek og fremmednøkler med en *.

 

LEIETAKER (Leietaker_id, Fornavn, Etternavn, Adresse, PostNr*, Epostadresse(UNIQUE), Telefonnummer)

 

Da det er slik at en tabell ikke skal ha mer enn en primærnøkkel så kan man for eksempel ta i bruk nøkkelen UNIQUE som står for unik. Dette er for eksempel dersom man vil ha informasjon av kunden som epostadresse, noe som skal være unikt for hver person. Dersom man inte setter slik info som unik kan noen annen bruke seg av din epostadresse.
Her kan man også velge å trekke ut postkode i egen tabell hvor postnr er primærnøkkel og sen linket som fremmednøkkel i leietaker tabellen. Da sikrer man seg også at riktig postnr tilhører riktig adresse (da postnr vil være primærnøkkel og unik).

 

STED(PostNr, Poststed)

HYTTE(Hytte_ID, Navn, Antall rom, Pris, Beskrivelse, Antall personer)

RESERVASJON (Reservasjonsnr, Leietaker_id*, Hytte_ID*, Antall_personer, Fra dato, Til dato, Kanselert, Betalt, Dato*)

RESERVASJON_KALENDER(Dato, Fra dato, Til dato, Reservasjonsnr*)

BETALING(Betalings_id, Leietaker_id*, Reservasjonsnr*, Fornavn, Etternavn, Kortnr, Utløpsdato)

 

Betaling kan man selvføleglig sette opp på flere måter, dersom man vil gi kunden flere betalingsmuligheter for eksempel. Da kan det være lurt å dele opp i flere tabeller. Dersom noen vil betale med faktura og noen med kort.

 

Resultat

Databasediagram med tabeller som leietaker, hytte, reservasjon, reservasjonskalender, betaling og poststed

Den skisseringen som jeg viser som et eksempel kan man forklare som et logisk skjema. Et logisk skjema er en utvidelse av en E/R modell, som bygger på samme prinsippet, bare det at primærnøkler og fremmednøkler ikke er satt.
Slik som i illustrasjonen kan dere kanske se at relasjonen mellom tabellene har linjer med forskjellige ikoner på slutten. Disse er attributer som sier enten en-til-en, mange-til-mange eller en-til-mange. Det vil si at for eksempel «Reservasjoner» kun kan være knyttet til en leietaker, mens en leietaker kan utføre mange reservasjoner. Det skaper en relasjon som er en-til-mange. Disse sammenhengstypene som visualiserer relasjonen mellom tabellene er kalt «kråkeføtter».
Dersom det er slik at to tabeller har en relasjon som er mange-til-mange begge veier så er det alltid best dersom den relasjonen splittes og opprettes igjen via en ny tabell som linker dem sammen. Av å gjøre det på denne måten unngår man også reundans (dobbeltlagring).
Man gjør også så kalt normaliseringer hvor man ser på primærnøkkelen og undersøker hvorvidt alle kolonner er funksjonellt avhengig av hele primærnøkkelen, og ikke bare deler av den.

Slike konverteringer gjørs når man lager et logisk skjema av en E/R modell. Håper det gav litt mening 🙂

Når det gjelder løsningen her og illustrasjonen så kan man kan selvfølgelig utdype dette litt mer beroende på hvor mye informasjon man vil lagre og sen plukke ut men her har dere ihvertfall fått en liten innblikk og en forklaring på hvordan man planlegger og skisserer opp en database struktur.
Til neste gang vil jeg vise dere hvordan man kan ta dette i bruk i prakis på en webside.

 

PS. For oss studenter så har Deli-De-Luca kaffen nå gått opp til 18 kr, istedenfor 15.

 

Har du husket 9.mars?

Så bra, for da er det på tide for årets Åpen dag på Høgskolen! Funderer du på å studere eller er litt nygjerrig, kom inn og ta en kikk. Det vil være masse forskjellige stand fra de ulike studiene og det vil være miniforelesinger og rundturer for de som vil.

Bilde på studenter fra åpen dag på høgskolen i Oslo og Akershus

På websiden for hioa vil du finne mer informasjon om hva som skjer under dagen og hvor det skjer.
For..det er akkurat på HiOA det skjer. Kanskje ikke hver dag, men ofte, og fremforalt imorgen 😀

Ifjor holdt jeg et foredrag og jeg stod på stand for Anvendt Datateknologi. Iår vil jeg være på plass men mest for å mingle. Kose meg med min Deli de Luca kaffe (som bare koster 15 kr som student ) og sjekke ut litt interessante miniforelesinger. Sen selvfølgelig må jeg på forelesing selv også, i mitt eget fag, hehe.

 

 

Så, hvor befinner jeg meg i studiene?

Som en update vil jeg skrive at jeg studerer master i universell utforming av informasjon & kommunikasjonsteknologi. (eng: Universal Design of ICT). Hittil har jeg gått kurser som;

Til forskjell fra bachelor hvor vi hadde tre fag parallelt, er det kun nå et fag av gangen. Det gjør at hvert fag blir veldig intensivt men samtidig litt enklere å holde styr på.
Ihvertfall når det gjelder innleveringer, for når man har tre fag parallelt er det lett å blande de litt sammen. :p
Allerede nå har vi fått vår første oppgave hvor vi skal programmere med Python, OpenCV og PyCharm, noe som er helt nytt for meg.

Det vi skal gjøre er å lære oss hvordan man kan programmere for ulike interaksjonsmuligheter, bortsett fra vanlig mus eller tastatur. Det vil si for eksempel det å røre muspekeren og utføre museklikk kun ved bruk av håndbevegelse, ansiktsuttrykk eller hvorfor ikke ved hjelp av tegnspråk, for å nevne noen eksempler. Utover det finnes masse andre funksjonaliteter man kan ta i bruk for visuel anerkjennelse, så vår første oppgave dekker egentlig kun et bruksområde, men jeg må si at det er et veldig spennende et 🙂

Når vår oppgave er klar vil jeg skrive et innlegg og dele vår erfaring av det. Forhåpentligvis har jeg lært meg noe og vil da kunne dele det videre 😀
Det vil ikke skje om noen dager for å si det sånn men vent sisådær en måned så vil det nok ha kommet opp noen rader eller to 😉

 

Anyhow, frem til dess vil det komme litt oppsummering av åpen dag imorgen og det vil også komme noen innlegg om databaser blant annet, så hold utkikk 🙂
Hej då (norsk: Ha det) 😀

Lyst å ta noen spennende kurs i sommer?

Høgskolen i Oslo og Akershus tilbyr sommer kurser for de som enten ikke får nok av studiene ellers, som kanskje vil heve kompetansen sin innenfor et spesifikk område, eller som bare rett og slett vil oppholde seg i Oslo en sommer 🙂

De kursene som tilbys er;

 

Mange interessante  kurser og veldig nyttig å få med seg hvis man driver med noen form for teknologi. Jeg skal selv se om jeg får til å gå på noen av de. Siden jeg allerede studerer universell utforming, (eng: Universal Design) og har vært borte i medisink teknologi, vil jeg troligvis gå for kurset innenfor Data Analytics.

Data Analytics handler i stort sett om at man undersøker og analyserer store mengder av data, eller datasett, deretter ser man etter et mønster og finner konklusjoner på hva som fungerer best. Enten for å optimalisere sine digitale platformer ut mot kund, eller for å kunne bekrefte sine hypoteser innenfor forskning for eksempel. Google Analytics er et eksempel på et slikt verktøy som mange i dag bruker. Her vil man for eksempel kunne analysere data som kommer inn fra sin webside eller app, og videre vil man da bruke de dataene for å få innsikt i sine brukeres behov. Det vil til slutt nytte både for deg som eier produktet og for kunden som da forhåpentligvis får en bedre opplevelse.

Som sagt, veldig spennende etter min mening 🙂

 

Det aller beste med kursene er at de ikke koster noe særlig, 1000:- for et kurs. Dessuten sies det være med utrolig dyktige og kjente foredragsholdere innenfor bransjen. Hvilket er helt konge! Og en kjempe mulighet:)
Det er intensive kurser på fire uker, fra slutten av juni til slutten av juli og alt er på engelsk.
Frist for å søke er 1.mars!

 

Gå gjerne inn på linkene og ta en kikk vettja 😀
(OBS! Sidene er på engelsk)

Master i Universal Design of ICT

Det heter min nåværende utdanning her på HiOA. Dette innebærer at når jeg er ferdig så vil jeg ha mer ekspertise på hvordan man lager teknologi tilgjengelig for flest mulig. Vi ser blant annet på brukervennlighet, tilgjengelighet og aksess. Vi lær oss hva man bør tenke på tidlig i utviklingsfasen og vi lær oss hvordan man evaluerer allerede eksisterende system. Brukeren er i stort fokus, spesielt for de mennesker som oftest kommer litt i skyggen av «folk flest». Vi ser på hvordan mennesker med funksjonshemminger og nedsettelser opplever dagens teknologi, hvilke utfordringer de har og hva vi som teknologer kan gjøre for å underlette dems hverdag ved bruk av teknologi. Vi ser også på design og vi ser på interaksjon mellom menneske og maskin. På masternivå går vi mer i dybden og vi gjør mer research, både gjennom å se på andres verk og gjennom å utføre vår egen. Vi sammenligner, vi stiller spørsmål, og hvis man har flaks kanskje man til og med finner et svar. Oftest leder det da videre til et nytt spørsmål, men det er slik forskning er 🙂 . Så samtidig som det er tidskrevende, litt frustrerende og en tålmodighetsprøve, er det veldig interessant. Spesielt hvis man finner et mønster eller en eventuell løsning på en problemstillingman har eller haft 🙂

 

Alle bør ha samme rettigheter

Det prates endel om menneskelige rettigheter om dagen og teknologi er ikke et unntak. Loven om universell utforming går under diskrimineringsloven her i Norge og når det det gjelder rettigheter innenfor teknologi ser man også på kulturer, religion og kjønn. En IT-student her på høgskolen holdt idag en forelesing blant annet om kvinner og teknologi og hvor det faktiskt, selv her, kan oppleves som diskriminerende. Mye av dagens teknologi er utviklet av menn og mye av behovene som oppfylles er sett fra en mans perspektiv. Det er selvfølgelig ikke deres feil, det er ikke det jeg vil ha sagt. Jeg mener bare at det er desto viktigere at det kommer inn fler kvinner inn i den her bransjen så at vi også er med å påvirker fremtidens teknologi. At perspektivene blir utvidet og at alles behov blir sett og møtt. Selv om vi ikke er i mål på likestilling så bor vi ihvertfall i et av de landende som kommet lengst, så her finnes flere muligheter enn på mange andre steder runt om i verden. Derfor bør vi også sette et godt eksempel og vise hvor fantastiskt bra teknologi vi lager sammen, menn og kvinner 🙂 .
Innenfor mange områder oppleves brukere med funksjonshemminger eller nedsettelser som en minoritet av befolkningen, dette til tross for at statistikken mener noe annet. Det mange glemmer bort at innenfor den her kategorien faller også alderdom. Når man blir eldre vil det være stor sannsynlighet for at man får forverret syn, hørsel, motorikk og minne. Det vil si at våre tidligere evner vil få en nedsatt funksjon. Dette er ikke en minoritet av befolkningen. I følge statistikk kommer vi til å leve lenger og mange eldre vil bruke teknologien minst like mye som vi gjør idag, om ikke til og med mer.
Er det innefor å si at det ikke er nødvendig å tenke på den her «minoriteten» når man skal utvikle et system? Vil det ikke være lønnsomt tror dere?
Men fremfor alt, hadde ikke du selv syntes det vært diskriminerende om du var den personen som ble utelatt, som ikke fikk tilgang til information på lik linje som andre?

Det tror jeg.

 

Designe for alle == Gunstig for alle

I følge den lille research jeg rukket å gjort har det også vist seg på flere brukertester at universelt utformede websider for eksempel har vært like gunstige og brukervennlige for alle parter. Det har også vist seg være en økonomisk vinning, ihvertfall for de som tatt dette i betraktning tidlig i utviklingsfasen. Jeg har også hørt om flere som nevnt skrekkhistorier om store økonomiske tap på grunn av at de ikke tenkt på dette.

Så selv om dette høres ut som en selvfølge for mange så er det ikke det. Derfor må budskapet spres videre. Det må til kunnskap og det må læres ut videre. Ikke bare på grunn av økonomiske grunner uten for at vi alle har samme verdi og ingen fortjener å bli utelatt. (unntatt Trump..)

 

 

Takk for meg, hei!

 

 

Når ting ikke helt blir som man tenkt seg

Rett før jul var det full fokus på eksamen, sen helt plutselig ble det jul. Det ble nyår og nytt år hvor alt gammelt skulle bort og inn skulle det nye.
Det var løfter og det var såå mye energi og motivasjon infor det nye året, og man gledet seg. Nå?

Nå er jeg bare drit stressa over alt som jeg egentlig skulle ha gjort i juleferien og allt som jeg burde ha begynt med nå i starten av året. Mine planer i juleferien var å lese nyttige bøker, jeg skulle lage en egen portfolio for å ha klar til å søke jobb med. Jeg skulle være aktiv med trening når jeg endelig hadde litt tid til det, men hva skjedde..
Jo jeg sov i stort sett ti timer hver dag, jeg fant min beste posisjon i sofaen og der ble jeg, mye av tiden ihvertfall :p Jeg trente ikke noe uten isteden «unnet» jeg meg masse sjokolade, julmust, ja i praktisk taget alt unyttig jeg kunne få tak i og tenkte at; Dette er jeg verdt.
Så etter nesten to ukers ferie ble jeg så slapp at motivasjonen bare sank, min kondisjon ble alldeles meg ikke bedre og ikke ble hverken noen bok lest eller portfolio laget.
Det eneste som økte under de to ukene var vekta, haha…og skønhetssøvnen :p

Når da det nye året kom..da kom angsten. Angsten for at jeg ikke fått gjort noe som helst av det jeg planlagt, at energin min nå helt plutselig var så lav at tanken på å begynne skolen igjen..uff..den var tung.
Så den ferien som jeg følte var så velbehøvelig for å kunne komme tilbake med enda mer energi, den ble motsatt.

 

Å komme tilbake

Jeg har slitit endel med å komme tilbake. Skolen føles veldig tung, selv om det fortsatt er veldig interessant.
Før juleferien gikk jeg et kurs som heter Universal Design of Interactive Systems hvor jeg la ned mye tid og energi i et prosjekt vi gjorde. Nå etter jul får jeg beskjed om resultatet og den bare..BOOM..in your face, you suck!
Jeg er nok ikke den første som forventer et resultat men som sen viser seg til å bli noe helt annet. Jeg trodde at jeg gjort en god jobb og jeg trodde at det jeg hadde lagt ner meg i skulle synes, men aj så feil man kan ha.
Dette vil jeg ikke si økte min motivasjon akkurat, men jeg bestemte meg for å be om en begrunnelse for å finne ut hva det i så fall er som jeg gjort «feil» eller ikke godt nok.
Det er noe vi har rett til hvis man lurer på hvorfor man fått den karakteren man blitt tildelt.
På hioa går man bare inn på lenken her; https://begrunnelse.hioa.no/ , fyller ut brukernavn og passord, deretter hvilket kurs osv man sikter til.
Det kan være greit å vite, hvis noen opplever detsamme som jeg gjør nå.
Før jul skulle vi også velge hvilket masterprosjekt vi vill jobbe med nå fra og med våren til neste år.
Vi skulle gjøre tre valg med første, andre og tredje prioritering.
Jeg satt lenge før jeg bestemte meg, jeg begynte lage en plan og jeg tenkte ut hva jeg eventuellt ville evaluere eller designe på nytt. Alt dette tok sin tid og mine valg ble registrert ganske så seint. Jeg var innenfor dealine såklart men når nye året kom så fikk jeg beskjed om at jeg ikke gjort noe første valgs prioritering :/ Dette resulterte i at jeg fikk min tredje prioritering og det var ikke noe jeg hadde planlagt for å si det sånn, haha. Følelsen ble ikke detsamme som å få en uventet dårlig karakter men jeg hadde lagt en plan for mitt første valg, så skuffelsen ble der uansett.

 

Alt som alt, det første 2017 har lært meg er akkurat det; at ting ikke alltid blir som man tenkt seg.
Hva jeg kan gjøre med det, eller gjøre åt det, det å andre siden bestemmer jeg selv. Utifra det må man også se på hva man faktiskt KAN gjøre og hva man kan påvirke. Hvis ikke, dropp det.
Ta då et dypt andetag, akseptere situasjonen og gå videre.

Det meste ordner seg alltid, og detsamme gjelder garantert her :).
At jeg slappet så mye av i ferien er bare å innse at jeg trengte det. Det kroppen sa til meg var å ta en ordentlig brake og forhåpentligvis vil det gi utslag for det nå fremover. At energien min sakte men sikkert øker og dermed kunne gi full gass med en herlig positiv innstilling igjen 🙂

 

Studier innenfor Data våren 2017

 

For meg

Året begynner med et kurs som heter Research Methods and Research Ethics. Skal jeg være helt ærlig så føler jeg ikke at dette kurset er noe for meg, men vi får se, kanskje blir jeg positivt overrasket 🙂 .
Læreren vi har vet jeg er veldig god så kanskje han inspirerer meg til å endre mening om emnet 🙂 . Første innlevering er på fredag og da skal jeg skrive en refleksjon om emnet i seg. Så vi får se hvor mye rader jeg får ihop, haha.
Under våren vil jeg skrive litt mer om kursene jeg går og hva de innebærer. Det vil kun være to kurs dette semestret før mitt masterprosjekt drar igang så utover det vil jeg også skrive litt om tidligere fag jeg haft og jeg vil også poste endel happenings fremover 🙂

 

For første klassinger

 

Anvendt datateknologi

Dette semestret vil dere komme dypere inn på PHP og hvordan man bruker det i web.
Dere vil få kunnskap i Databaser og hvordan man bruker SQL og dere vil få en innblikk i hvordan man planlegger og hva man bruker for metoder når det gjelder systemutvikling.
Personligen syntes jeg at dette semesteret var mest gøy, så gled dere 😀 hehe.

 

Informasjonsteknologi

Detsamme gjelder for dere med en dypere kunnskap i PHP og SQL. Dere vil ikke ha Systemutvikling som et obligatorisk fag uten her vil dere isteden få dypere kunnskap i Java programmering.
Ta godt være på den kunnskapen. Å være god i Java fører godt med for å si det sånn. Jeg angrer at jeg ikke tok den sjansen og våget meg på det, for uansett om du skal holde på med front-end, back-end eller for eksempel apputvikling, så er det mye Java.
Jeg tok apputvikling i tredje året og der fikk jeg jobbe veldig, veldig hardt for å henge med, og det grunner seg mest i at jeg ikke hatt Java fra før.
Så følg med, lær dere mye. Har hørt at det kan være vanskelig i starten, men antar at det er litt som matte. Når man skjønt logikken, så skjønner man utregningen 🙂

 

Dataingeniør

Dere vil i dette semester få kunnskap i Databaser og SQL, akkurat som de andre studiene og dere vil få dypere kunnskap i Java i faget Programutvikling.
Det dere vil ha dog som ingen av de andre studiene har er Matematikk 1000. Noen har sagt at dette kurset var vanskelig, noen har sagt det motsatte så her er det vel individuellt på hvor flink man er i matte. Jeg har ikke gått kurset selv og er i tillegg super dålig i matte så derfor har jeg ikke noe særlig råd å gi, mer enn; lykke til 😀

 

 

For andre klassinger

 

Anvendt Datateknologi

Det som er nytt for meg er at det nå er et obligatorisk kurs som heter Testing av programvare. Dette er noe vi savnet når jeg gikk der så det vil jeg si er veldig bra at det kommet som et obligatorisk fag.
Testing er veldig relevant kunnskap i den her bransjen. Noe annet jeg kan se er også at man kan velge et praktisk IT-prosjekt som valgemne, hvilket man også tidligere savnet i studiet.
For å være ærlig så vet jeg veldig lite om hvordan faget er lagt opp men det skal jeg prøve å finne ut av. Høres utrolig spennende ut ihvertfall 🙂
Ellers er det Informasjonsarkitektur som obligatorisk fag og andre valgemnen er Programutvikling (rekommenderes) og Operativsystemer (her kreves hardt arbeid, mye informasjon å ta inn på veldig kort tid).

 

Informasjonsteknologi

Datanettverk og skytjenester, og Operativsystemer er obligatoriske fag. Jeg har dessverre ikke noe kjennedom til det første kurset men det andre har jeg tatt og der kreves som sagt hardt arbeid for å følge med. Hvis det er samme lærere som jeg hadde så er han utrolig flink. Han legger også opp alle forelesinger på video hvilket gjør at man også kan sitte hjemme etterpå og gå gjennom forelesingen på nytt. Dette var utrolig nyttig.
Det er mye man skal lære seg og derfor kan det være tøfft å få med seg alt i forelesningen. Valgemnene er veldig utbredt her så her bør man kanskje tenke litt hvilken retning man vil gå, eller hva som intresserer en mest.
Vil du bli en hardcore programmerer vil kanskje C og C++ være noe, er du interessert i brukervennlighet og design vil kanskje informasjonsarkitektur være noe, osv.

 

Dataingeniør

Dette semesteret vil det ikke være noe valgemner uten kun obligatoriske fag. Fysikk og kjemi, Datanettverk og skytjenester og Operativsystemer. De to førstnevnte kursene har jeg dessverre ingen kunnskap om, den tredje har jeg nevnt i studiet ovenfor.

 

 

For tredje klassinger

 

Dette semestret er det jo bachelorprosjektet som gjelder og der har jeg kun et tips; god planlegging!
Det føles kanskje nå som dere har all tid i verden men vipps så er dere der med en måned igjen og masse ting som fortsatt må gjøres.
Lag en god plan, arbeid etter Scrum metoden eller ihvertfall etter en smidig metodikk. Det pleier fungere bra når man er mange som arbeider sammen i et stort prosjekt.
Last ned Github Desktop om dere ikke allerede har gjort det såklart og va ikke redd for å be om hjelp. Om det gjelder utbytte av kunnskap eller ved brukertesting eller hva det nå må være. Folk er mer behjelpelig enn hva man tror iblant 🙂

Med det sagt, så håper jeg dere fått en bra start på det nye året og at dere er klare for nye utmaninger 😀

Stegvis tips i webutvikling

Når du skal utvikle og designe en webside er det mange ting man bør tenke på men man utgår ofte utfra to ting;

Brukervennlighet og Tilgjengelighet. Men hva er det?

 

Brukervennlighet

Kort forklart handler mye om brukerens tilfredshet. Oppfyller websiden brukerens behov?

 

Tilgjengelighet

Får brukeren tilgang til all informasjon på en god og enkel måte.

 

De her to termene er mye brukt i Universell utforming, men hva betyr de i prakis?

 

Når det gjelder brukervennlighet finnes det mange teorier, prinsipper og rekommendasjoner på nett. Eksempel er  Jakob Nielsens heuristiske design prinsipper eller Don Norman’s design prinsipper.

 

STEG 1 – Bestem innhold og lag en skissering

 

Hva er brukerens mål med nettsiden?

Hva ska den innholde? Hva er det som skal formidles? Hva ska første side presentere? Meny, hvor mange kategorier og underkategorier?

Farger – Hvilke farger skal brukes på nettsiden?
Sen lager du en skissering eller en lo-fi prototype. 

 

STEG 2 – Lag et første utkast og gjør en heuristisk evaluering

 

Når du har lagd et første utkast på nettstedet ditt, da kan du begynne evaluere og eventuelt brukerteste. I denne steg i prosessen kan du godt gjøre dette selv som utviklere eller designere. Tips er å gjøre en heuristisk evaluering og svare på de her spørsmålene;

 

  • Er websiden enkel og intuitiv?

– Unvik unødvendig mye informasjon eller visuelle elementer.

 

  • Er informasjonen forståelig?

– Bruk ord eller fraser som er kjent for brukerene. Hvis ikke -> gi god forklaring

 

  • Er nettstedet konstistent?

– Ikke bruk forskjellige type ord men som leder brukeren til samme sted.

– Sjekk så at navigeringen fungerer likt. Det vil for eksempel si at ikke noen elementer er utformet som en knapp men at den ikke går å trykke på eller at en link er markert men den fører deg ikke noe sted, men at en annen link gjør det

 

  • Se til at du hjelper brukeren på veien

– Både når det gjelder feil som kan oppstå på websiden (hvis brukeren må fylle i et obligatorisk felt etc)

– Gi beskjed til brukeren hvor den befinner seg på siden (ved hjelp av en sti (breadcumb)

 

  • Responsive design

– At nettstedet ditt ser bra ut uansett skjermstørrelse. Dette forventes idag!

En side som ikke ser bra ut på smarttelefon for eksempel kan være forødende for siden din.

 

Allt det nevnte over dreier seg mye om brukervennlighet (user experience) mens når det gjelder tilgjengelighet, da må vi se på andre funksjoner i tillegg.

Tilgjengelighet er viktig for at alle mennesker skal få lik tilgang til websiden, selv de med funksjonshemminger eller nedsettelser.

 

Når det gjelder tilgjengelighet må man tenke på mennesker som kanskje ikke har samme evner eller ferdigheter som folk flest. Det kan være alt fra manglende syn, hørsel eller motorikk. Derfor er det viktig å sjekke at nettstedet faktisk oppfyller de kriterier som kreves for at de skal ha samme tilgang og samme gode opplevelse som alle andre.

For å forsikre seg om dette kan man ta hjelp av WCAG 2.0 (Web Content Accessibility Guidelines) som blant annet er utviklet av WC3 som dere sikkert har kjennskap til eller hørt om.

 

 

STEG 3 – Sjekk tilgjengeligheten

 

Noen nevnte kriterier fra tidligere nevnte er det samme som må oppfylles i WCAG 2.0 men det er noen flere som også er ekstremt viktige for tilgjengeligheten.

 

  • Tastatur funksjonalitet

– Det vil si at brukeren enkelt kan navigere seg runt på siden kun ved hjelp av tastaturet.

– Noen tag elementer i HTML 5 har dette automatisk innebyg som for eksempel <nav>, <form> eller <button> men for noen må dette settes manuellt ved hjelp av en tabindex. Enkleste er å bruke de elementene som har dette innebygd i browseren dersom det er mulig.

Viktige å huske på er at man tydelig lager en markering på hvor brukeren befinner seg ved hjelp av å sette en focus i css og med en tydelig farge.

 

  • Kontrast

– i WCAG 2.0 finner dere et minimumkontrast som dere kan måle ved hjelp av en så kalt kontrast kontroll. (finnes gratis på internet, som for eksempel Contrast Checker)

 

  • Zoom

– I tillegg til en responsive design skal det også kunne gå å zoome in nettstedet ditt til 200% uten at informasjon forsvinner.

– Her er det viktig at man ikke setter en fast størrelse på teksten, det vil si med px. Sett heller en prosentuell størrelse.

 

  • Struktur

– Bruk headings (h1,h2,h3) til overskrifter og <p> til paragrapher. Viktig her er at de er i en logisk rekkefølge.

 

  • Førse brukeren med alternativ tekst

– Dette gjelder alle bilder eller illustrasjoner du bruker på websiden. En alternativ text setter du gjennom tag alt =»forklaring» i din <img> tag.

 

  • Kompatibel

– Gjør en sjekk at websiden ser bra ut på alle browsere, dette er nemlig ikke gitt at det gjør.

– Er den kompatibel med Java, Javascript dersom du bruker det?

– Vil den fungere med en skjermlesere?

 

STEG 4 -Brukertest

 

Beste måten å finne ut om siden din er brukervennlig og tilgjengelig er til syvende og sist ved hjelp av brukertesting. Brukertest betyr at du gjør en test av siden din på aktuelle brukere. Husk at vi alle er ulike og har ulike preferenser, så selv om du syns at websiden oppfyller alle kravene på brukervennlighet og tilgjengelighet, så betyr det ikke at alle andre syns det også.
For å sjekke tilgjengeligheten bør du gjøre et brukertest som involverer de menneskene som for eksempel har funksjonshemminger eller funksjonsnedsettelser. (motoriske, sensoriske eller kognitive)

Et brukertest kan settes opp ved hjelp av ulike målinger.

Det kan først være ved hjelp av et spørreskjema, eller en undersøkelse. Eller det kan være direkte på en test med brukerinnvolvering. Det er det sistnevnte som er det aller viktigste.

Her lager du noen oppgaver som den skal fullføre på siden din og du kan måle den, enten ved å ta tiden på hvor lang tid det tar for brukeren å fullføre oppgaven, eller hvor mye feil den eventuelt gjør på veien til å fullføre oppgaven.

Du kan også ved hjelp av en Eye-tracker få resultat i hvor brukeren fokuserer mest på siden. Rør seg blikket mye frem og tilbake, er det ofte fiksert kun på et spesifikk sted eller ser man en konsistens i hvordan brukeren navigerer seg på siden.

 

STEG 5 – Gjør om – gjør rett

Sett sammen resultatene og se på hva som eventuelt kan forbedres på websiden din.

Gjør om denne prosess dersom det er mye som på en måte «feiler» med brukervenneligheten og tilgjengeligheten

 

 

STEG 6 – Oppfyller siden alle kriterier

Før du lanserer siden, sjekk om den oppfyller nivå A-AA i WCAG 2.0. (med noen unntak, sjekk Difi.no for mer info)

Fra og med 2014 sier loven at alle nye websider riktet mot det offentlige skal være universellt utformet og da bør websiden oppfylle nivå A-AA. (2021 for eksisterende løsninger)

 

Andre tips

 

Et bra eksempel på en webside som er universelt utformet er Funka sin hjemmeside.

 

Opprettholde det sosiale når du studerer IT

Jeg vet at alle ikke er like på dette området. Noen er ikke så sosial og vil ha det sånn og det er selvfølgelig greit det og. Dette rikter seg mer mot de som faktisk liker det sosiale og vil ha det sånn.

Jeg er en av de. Egentlig.

Det er veldig lett å bli for lat for sosialisering. Når man går, spesielt data studier, kan det bli at man jobber veldig mye alene. Noe som faller seg ganske så naturlig hvis det er individuelle prosjekt. Derimot kan det bli sånn selv i gruppe prosjekt. Det opplevde jeg ihvertfall. Fleksibiliteten med å studere IT er fantastisk i den forstand at man kan sitte omtrent hvor som helst og jobbe og for min del er det mest hjemmenfra. Iblant til og med utomlands 😉 hehe
Man kanskje har lang reise til og fra skole eller man kanskje jobber endel ved siden av studiene, som gjør at den fleksibiliteten passer en perfekt.
Jeg ble veldig komfortabel og er det litt fortsatt. Tenkte at det i verste fall finnes Skype eller Google Hangout, eller Facebook. Noe som resulterte i at jeg sosialiserte meg mindre og mindre..selv om jeg egentlig i bunn og grunn er veldig sosial og liker å henge med folk.

Helt plutselig begynte jeg å føle meg litt alene og da bestemte jeg meg for å prøve å endre på det. Jeg bestemte meg for å fortsette med den fleksibiliteten og jobbe mye hjemmenfra men isteden ta meg an oppdrag for skolen. Hjelpe til med åpen dag, hjelpe til med konferensdagen for jenter og teknologi og andre ting. Noe som både var morsomt og utfordrende. Nå følte jeg at jeg både fikk fylt opp kvoten for sosialisering men også at jeg vokste mer som person i tillegg. Det har vært altfor mye å gjøre samtidig mange ganger, men jeg angrer ikke et sekund at jeg tok de valgene. Det har gitt meg så mye nå i ettertid.

Derimot angrer jeg et valg og det va å ikke melde meg på en studentforening. Det å ha noe til felles bortsett fra studiene, hvor man kanskje går på morsomme events etc.

Det har jeg gjort noe ved idag, og har nå meldt meg på en studentforening for ølbrygging. Nå gleder jeg meg veldig til å, både få lære meg å brygge selvfølgelig men også det å få dele et interesse sammen med andre 🙂

tips er å definitivt gå med i en forening eller starte opp en selv dersom dere ikke finner noe som passer dere. Tror de aller fleste høyskoleutdanninger har det. Ønsker dere å kanskje jobbe for skolen, bidra som studentassistent for eksempel, ta i kontakt med enten en av forelesene deres eller ledere for instituttet deres.

 

Brukeropplevelse og brukervennlighet

Brukeropplevelse (User Experience) og Usability (Brukervennlighet)

Brukeropplevelse er ekstremt viktig når det gjelder webb, eller alle typer systemer egentlig. Det har ganske mye å si hvis brukeren din opplever frustrasjon eller fornøyelse. Men hvordan vet man at det er brukervennlig?
Mange mennesker har forskjellig utgangspunkt, bakgrunn, erfaring eller behov, hvilket gjør det vanskelig å lage noe som passer for alle.
Det vi kan gjøre som webbdesignere og webbutviklere for eksempel er å se på design prinsipper eller retninglinjer for universell utforming.
Når det gjelder User Experience så finnes det et selskap som heter Nielsen Norman Group som skriver veldig mange bra artikler om akkurat dette.
De sier seg selv være ledende på det feltet og gjør mye forskning basert på brukertesting blant annet. Reel data med andre ord 🙂

Via linken her kommer du til deres nettsted
Nielsen Norman Group

Usability.gov er også et nettsted som lister opp forslag når det gjelder forbedring av brukeropplevelse.

 

WCAG (Web Content Accessibility Guidelines)

WCAG er noe man hører ofte når det gjelder universell utforming (eng: Universal Design). WCAG innholder ulike standarder og retninglinjer for at vi skal kunne lage nettsted tilgjengelig for folk flest, noe som i utgangspunktet er veldig bra.
Derimot kan de oppleves som veldig generelle og litt utfordrende når det gjelder å tolke de forskjellige.
WCAG 2.0 er lagt opp med 4 hoved prinsipper, under de finnes de forskjellige retningslinjene med ulike nivåer. I følge norske loven skal nettsteder som rikter seg mot det offentlige oppfylle level A og AA, og det er forholdsvis tydelig. Det som er mer uklart er hva som må oppfylles i de forskjellige nivåene og kan føre til at noen tolker disse feil.
Står mye om det på nettet og det er faktisk litt ironisk at dette er et problem. At noe som skal føre til høyere tilgjengelighet og forsovet brukeropplevelse, ikke er brukervennlig for oss som skal designe ut etter de.
Så her håper jeg på en forandring fremover.
Imens bruker jeg andre kilder i tillegg, som blant annet Nielsen Norman Group og Don Norman’s design prinsipper .
Difi.no skriver de også endel om universell utforming og tilgjengelighet.

Litt tips på veien ihvertfall 🙂

Nå skal jeg i vei på en gjesteforelesing som handler om bruker mangfold. En person som kommer fra Toronto og skal forelese for oss her på HiOA. Dette blir spennende 🙂

 

 

 

Webprosjekt

I første semester på både IT (Informasjonsteknologi), Dataingeniør og Anvendt Data, tar man ett kurs som heter Webprosjekt. Siden et par år tilbake er det fantastiske Anthony Gianoumis som holder kurset og nå er det står fokus på at nettsider skal være tilgjengelig for flest mulig. Som jeg nevnt tidligere er kalt Universell Utforming. Dette området driver også Anthony og forsker innenfor. Så for guds skyld alle studenter som går det kurset nå…lag ihvertfall et nettsted som er responsive. Det er et minimumkrav idag. Med responsive mener jag at nettstedet skal se bra ut på alle plattformer (iphone, tablet) og alle oppløsinger på skjerm (13″,14″,15″..)
Andre viktige ting og tenke på er at dere har bra kontraster i forhold til tekst og bakgrunn, eller andre elementer i forhold til hverandre. Det vil si at dere ikke bruker en lys tekstfarge på en lys bakgrunn. Velg ikke en for liten fontstørrelse, dersom dere gjør det, se til at brukeren får valget og endre det selv. Konstistens i navigering er viktig. Hvis det er en og samme funksjonalitet på nettstedet, skal den også opptre på samme måte hele veien. Dersom du skal referere til linker, gjør det tydlig og ikke bruk «les mer» eller «trykk her». Vær tydelig i teksten!.

For å se til at nettstedet blir responsive så setter du dette i CSS (det vil si i stylesheet’en din).

@media only screen and (max-width: 500px) {
body {
background-color: lightblue;
}
}

Dette for eksempel sier at når browser vinduet blir mindre enn 500 px så vil bakgrunnsfargen bli blå. Alt du setter innenfor body vil da bestemme hvordan nettstedet vil se ut når vinduet er under 500.

Se på et eksempel her gjeldende Media Query.
http://www.w3schools.com/css/css_rwd_mediaqueries.asp

Iphone for eksempel sin media query er;
@media only screen
and (min-device-width : 320px)
and (max-device-width : 736px){
// your style goes here
}

Isteden for å ha allt i et og samme stylesheet kan man også gjøre det slik at man bruker flere forskjellige stylesheet til ulike oppløsinger og roteringer (det vil si landscape eller portrait).
https://developers.google.com/web/fundamentals/design-and-ui/responsive/#css-media-queries

W3C Schools har også bra forklaringer og eksempler på hvordan man lager responsive design.
http://www.w3schools.com/css/css_rwd_mediaqueries.asp

En Meny som følger med på nettsiden

Dersom du vil lage en meny som følger med når brukeren scroller ned på nettsiden så finnes det et triks for det via CSS.

#meny {
width: 30%;
positiion:fixed;
}

position:fixed. Der har du trikket. Fixed betyr at elementet er plassert i forhold til nettleservinduet.
Når det gjelder posiisjon av elementer finnes det flere forskjellige typer, fixed, relative og absolute. Vil du vite forskjellen mellom dem går du inn på linken nedenfor;
https://css-tricks.com/absolute-relative-fixed-positioining-how-do-they-differ/

Det va alt for nå 😀

 

Over and out and back again

Herrejisses..nå var det lengesiden jeg skrev her. I begynnelsen av sommeren var det full fokus på bachelor og sen når den endelig var ferdig så var det bare rett på jobb og deretter full jobbing hele sommeren. Bachelorprojektet gikk forholdsvis bra og vi endet opp med en B i karakter, så det får jeg være nøjd med :).

Erfaringen jeg har kring bachelorprosjektet var positivt. Det var faktisk digg og bare ha en ting og fokusere på (hvertfall når det gjelder studier). Ellers hadde jeg andre morsomme ting på gang samtidig også. Som vanlig. Jeg pleier altid og ta på meg mange ting. Liker det i stort sett, det kommer helt an på hvor bra det går 😀 hahaNoen ganger sklir det litt ut, jeg blir enorm stresset og får litt småpanikk..men det går seg altid til. Det er noe som jeg tror man får lære seg å håndtere helt enkelt. Både når det gjelder studier, jobb eller annet. Vær ikke for mye tidsoptimist uten tenk heller at det tar lenger tid enn hva det gjør :p God planlegging og disiplin på seg selv er det som gjelder. Da får man mye gjort 🙂

I vår søkte jeg master (takk være vår underbare instituttledere på skolen) og i juli fikk jeg beskjed at jeg kommet inn på studiet. Jeg var ikke helt sikker i begynnelsen på om jeg skulle takke ja eller ikke. Følte vel litt at jeg var klar med skolen egentlig, emn så tenkte jeg..æsj..jeg prøver meg på det og 😀

Så nå har jeg begynt på masterstudie i Universal Design of ICT og skal (troligvis :p) studere i to år til. Det betyr at bloggen min faktisk fortsetter, hvilket jeg ikke vær så sikker på først. (derav min inaktivitet her)

Så..fremover vil jeg skrive litt om det jeg faktiskt studerer nå. Jeg kommer til å gi dere tips på forskjellige ting og råd i forhold til løsninger eller studier generellt.

Ha det gott så lenge ;D