Utvecklande av träningsapp för ios 7
|
|
- Kristina Henriksson
- för 9 år sedan
- Visningar:
Transkript
1 TVE juni Examensarbete 15 hp 13 Juni 2014 Utvecklande av träningsapp för ios 7 Gustav Forslid Håkan Wieslander
2 Abstract Utvecklande av träningsapp för ios 7 Developing of workout app for ios 7 Teknisk- naturvetenskaplig fakultet UTH-enheten Besöksadress: Ångströmlaboratoriet Lägerhyddsvägen 1 Hus 4, Plan 0 Postadress: Box Uppsala Telefon: Telefax: Hemsida: Håkan Wieslander, Gustav Forslid Projektet gick ut på att göra en undersökning för att ta reda på hur en bra app är uppbyggd och vad folk är intresserade av för funktioner i en träningsapp. Denna undersökning skulle sedan leda fram till en app som hjälper användaren att motivera sig själv till att träna. För att programmera appar till Apples telefoner använder man sig av kodspråket Objective-C i programmeringsplattformen Xcode. Resultatet av undersökningen visade att användarvänlighet och enkel design var viktigast för uppbyggnaden av en app. Gällande intressanta funktioner för en träningsapp var statistikförande av träningen, exempel på övningar samt påminnelser om träning populära. Resultatet av projektet blev en app där användaren kan skapa olika träningspass samt se statistik över träningsutvecklingen. Handledare: Christoffer Karlsson Ämnesgranskare: Daniel Carlsson Examinator: Martin Sjödin ISSN: , TVE juni
3 Populärvetenskaplig sammanfattning Användandet av smartphones har ökat drastiskt i världen och med det även användandet av appar. Genom att användaren själv kan välja vilka appar denna är intresserad av, kan telefonen skräddarsys utifrån användarens intressen. Samtidigt har under de senare åren en träningstrend kommit och antalet svenskar som är medlemmar på gym ökat. Dock är trenden den samma överallt: efter ett tag som medlem slutar man att gå till gymmet. Kan man utnyttja det ökade app-användandet och skapa en app som hjälper gemene man att bibehålla sin träning? Projektet gick ut på att undersöka vad som konstituerar en bra app, hur denna är utformad och vad som motiverar folk till träning. Med denna information skulle sedan en träningsapp, som dels kan motivera samt fungera som bas i träningssammanhang, skapas. Informationen om hur den optimala träningsappen såg ut samlades in genom en undersökning. Här fick folk tycka till och ge exempel på allt från utformande av appar till nya spännande användningsområden för appar inom träningssammanhang. Appen utvecklades för Apples mobiltelefoner, iphone, med operativsystemet ios 7. Den skrevs i kodspråket Objective-C och på programmeringsplattformen Xcode. Appens innehåll fokuserades på att skapa en profilsida där användaren kan skapa sina pass, en statistiksida där användaren kan se statistik över sin utveckling och en sida för att fylla i och spara data från träning. 3
4 Innehåll 1 Introduktion Bakgrund Apple Applikationer Träning Projekt Frågeställning Uppgift Målsättning Teori Apputveckling ios Xcode Objective-C Träningsupplägg Metoder Inledande arbete och undersökning Meny Profilsidan Träningssidan Statistiksidan Resultat Undersökning Appen Meny Profilsidan Träningssidan Statistiksidan Diskussion Undersökningen Designen Användarvänlighet Svårigheter Buggar Slutsats Målsättning Undersökningen Optimering Utvecklingsmöjligheter
5 7 Appendix Meny h-fil m-fil Profilsidan h-fil m-fil Träningssidan h-fil m-fil Statistiksidan h-fil m-fil
6 1 Introduktion 1.1 Bakgrund Apple Apple är en av de största leverantörerna av mobiltelefoner i världen. Deras egna telefoner, Iphone, har blivit vida populära på grund av deras användarvänlighet. Apple har ett stort urval av applikationer (förkortas appar) som användare kan ta del av. Till skillnad från Androidbaserade telefoner har Apple ett eget apputvecklingssystem. De androidbaserade telefonerna använder sig av google som app-butik (Google Play) medan Apple har sin egen app-butik kallad Appstore. För att distribuera appar till Appstore behöver utvecklare vara med i Apples ios developer program. 1 Detta ger fördelen att apparna i AppStore ofta håller hög standard. Apparna till Apples telefoner grundar sig på kodspråket Objective-C Applikationer Sverige är ett av de länder, i världen, där störst andel av befolkningen innehar smartphones. Hela 78% av den svenska befolkningen hade en smartphone Begreppet smartphone innebär en mobiltelefon som både kan användas som handdator och för vanlig mobiltelefoni. Det alla smartphones har gemensamt är att de använder sig av appar. Genom att användaren själv får välja vilka appar den ska ladda ner har användaren en stor möjlighet att skräddarsy sin smartphone. Utbudet av appar har växt exponentiellt de senaste åren meddelade Apple att deras utbud av appar i Appstore uppgick till 1 miljon appar Träning I dagens samhälle har vi två sorters träning: styrke- och motionsträning. Man kan även dela in dessa båda i ytterligare två fack: viktminskande och viktunderhållande träning. Detta innebär att ordet träning har olika innebörd för olika människor beroende av vad de har för mål och intressen inom/med träningen. För varje år som går blir det mer och mer populärt för oss svenskar att bli medlemmar i ett gym var det 33% av den svenska befolkningen som var medlem på ett gym eller liknande fitnesscenter Projekt Frågeställning I dagsläget är det många i Sverige som har ett medlemskap på gym. Trenden är dock den samma överallt, efter ett tag som medlem slutar man gå till gymmet. Kan man med hjälp av en app motivera folk att fortsätta träna? Vad krävs av appen för att folk ska bli motiverade? Hur är en bra app uppbyggd? 6
7 1.2.2 Uppgift Projekter går ut på att undersöka hur en bra app är konstruerad och vad som, i en app, kan motivera folk att träna. Slutprodukten av projektet ska vara en app som kan fungera som motivation till träning och byggd efter de kriterier som definierar en bra app. Appen ska kunna föra statistik över användarens utveckling. En del fokus kommer att ligga i att användaren får bygga sin egen profil i appen. Denna kommer användas som underlag för delar av statistikförandet Målsättning Den främsta målsättningen med projektet är att få en större kunskap om utveckling och programmering av appar. I slutänden är målet att ha skapat en app som kan inspirera folk att dels börja träna samt att bibehålla motivationen att fortsätta träna. 2 Teori 2.1 Apputveckling ios ios är ett operativsystem från Apple, skapat för Apples mobila enheter. Operativsystemet har ett multi-touch gränssnitt, vilket innebär att användaren kan använda sig av olika handrörelser för att använda funktioner i telefonen. Exempel på detta är att dra över skärmen (swipe) för att navigera eller knipa på skärmen (pinch) för att zooma. ios är byggt på ett ramverk som kallas Cocoa Touch. Cocoa Touch gör det möjligt för apputvecklare att kunna använda exempelvis enhetens inbyggda accelerometer och de olika rörelsemönsterna på skärmen. 5 Operativsystemet är inne på sin sjunde utvecklarversion (ios 7), och appar som utvecklas idag till ios utvecklas med fördel till den versionen. Appar till ios är skrivna i kodspråket Objective-C Xcode För att programmera appar till ios behöver man programmet Xcode som Apple erbjuder gratis från deras AppStore. Programmet är speciellt utformat för att göra det så enkelt och överskådligt som möjligt för approgrammering. Programmet fungerar på så sätt att man har en storyboard där man kan få en visuell översikt över sin app. I storyboarden kan man designa sin app genom att välja olika funktioner man vill ha, t.ex så kan man lägga till knappar och andra funktioner till olika View controllers, som är ens sidor i appen. Det finns olika typer av View controllers som är specificerade att fungera för olika saker. Exempel på detta är Table View som är en sida med en tabellfunktion. Det finns också en Navigation Controller som gör det möjligt att navigera mellan olika sidor i appen. Allt kopplas sedan samman i ens klasser- och metodkoder som man programmerar och länkar till sina View Controllers. 7
8 2.1.3 Objective-C Objective-C är ett objektorienterat programmeringsspråk som primärt används för att skriva appar till ios. Språket är en utveckling på det vanliga C språket, där man har lagt till syntax för att definiera klasser och metoder. 6 Vanligtvis har man en källkod eller en klassfil där variabler och metoder definieras även kallad en headerfil (.h-fil). Man behöver också en metodfil (.m-fil) eller implementationsfil där man definierar vad metoderna ska göra. 7 Det som skiljer Objective-C från vanliga C är att man använder sig av syntax från smalltalk, som är ett annan typ av objektorienterat programmeringsspråk. Inom smalltalk språket använder man dig av meddelanden som man skickar till sina objekt. Till exempel om man ska skapa en sträng och ge den ett namn kan man skriva, NSString *newstring = [NSString stringwithformat:@ Namn ]; där stringwithformat är ett meddelande man skickar till sitt NSString objekt. Man ger alltså string objektet namnet Namn. En annan del av smalltalk är att alla variabler och objekt behandlas som objekt. Detta ger fördelen att man kan skicka meddelanden till allt man har skapat, vare sig det är en instansvariabel eller ett objekt Träningsupplägg Beroende på hur man vill lägga upp sin träning på gymmet så delar man in kroppen i olika delar. Detta ger fördelen att vissa muskelgrupper inte tränas fler eller färre gånger jämfört med andra muskelgrupper. Vanligt är t.ex att man kombinerar triceps med axlar och bröst samt biceps med rygg. Anledningen till detta är att tränar man t.ex rygg så kommer även bicepsen att jobba osv. Det är inte bara vilka muskelgrupper som man tränar som styr strukturen på ens gympass. Beroende på hur man vill bygga sin kropp så kan man även anpassa hur många repetitioner och uppsättningar man kör. Repetitioner kallas reps och innebär hur många lyft man gör. Uppsättningar kallas sets och innebär hur många omgångar man utfört sina reps. Vill man bygga en stor och explosiv kropp brukar man ofta köra färre reps men fler sets. Det vanligaste som även de flesta gyminstruktörer lär ut för en nybörjare är däremot att köra fler reps t.ex 12 med 3 sets. Detta upplägg ger mer uthålliga, men inte lika stora, muskler. 3 Metoder 3.1 Inledande arbete och undersökning Projektet inleddes med studier i Objective-c och användande av Xcode. Detta gjordes genom olika gratiskurser och guider på internet. Efter att ha fått en inblick i hur Objective-c fungerade inriktades studierna mer på Xcode och kodning som är mer väsentlig mot apputveckling. Den största delen av dessa studierna gick ut på att programmera olika typer av enkla appar från diverse guider på bland annat Youtube. 8
9 För att kunna göra en så bra app som möjligt genomfördes en undersökning där ca. 40 personer fick svara på diverse frågor om appar och träning. Urvalsgruppen för undersökningen var främst studenter i års åldern. Frågorna var av typen, Hur ofta tränar du på gym, Använder du någon typ av träningsapp i dagsläget, Vilka funktioner är bra i appar du använder och Vilken form av statistik skulle du vara intresserad av i en träningsapp. 3.2 Meny För att få en snygg meny användes en så kallad Slide out menu, alltså en meny som kommer fram från sidan av telefonen då användaren antingen drar ut den med fingret på skärmen eller trycker på Meny -knappen. För att få till en sådan meny behöver man använda sig av ett externt bibliotek, i detta fallet användes ett bibliotek som heter SWReveal. 9 SWReveal kommer med en.h-fil och en.m-fil med metoder som kan användas och implementeras till ens egna filer. Där finns till exempel metoder som används för att säga till telefonen att, när en knapptryckning eller ett rörelsemönster inleds ska menyn komma fram. Först kopierades SWreveal filerna in i projektet för att kunna använda dess funktioner. Därefter skapades en Navigation Controller som har hand om hur navigationen mellan appens sidor är kopplade och en Table View för att få en snygg meny i tabellform. Navigation Controllern och Table Viewn kopplades med ett reveal view controller -kommando så att dessa visas när en knapptryckning eller gest sker. För Navigation Controllern sattes identifikationen till front och för table view till rear. Detta ger att table view hamnar inuti Navigation Controllern och blir därför utseendet på menyn. För att konstruera menyn användes tre stycken View Controllers, en för profilsidan, en för statistiksidan och en som är startsida och sida där användaren kan starta sin träning. För var och en av dessa skapades en.h-fil och en.m-fil. I Table Viewn lades det till tre stycken labels som skulle fungera som knappar, beroende på vilken label man tryckte på skulle användaren komma till respektive View Controller som var kopplad till den knappen. I var och en av de skapade View Controllers skapades en navigation bar, på toppen av skärmen, där menyknappen placerades. För varje view controller som skapades implementerades en kod för att, vid knapptryckning på menyknappen, ska menyn komma fram; sidebarbutton.target = self.revealviewcontroller; sidebarbutton.action där siderbarbutton är namnen på menyknappen. Den översta kodbiten beskriver vilket mål som knapptryckningen kommer medföra, alltså att Navigation Controllern kommer anropas. Den undre kodbiten beskriver vilken metod som tillkallas vid knapptryckningen. Metoden som används kallas revealtoggle och är en av metoderna som kommer med SWReveal biblioteket. Metoden ger en snygg animerad utdragning av sidomenyn. 9
10 3.3 Profilsidan Profilsidan är grundstenen i appen. Här skapar användaren de olika passen och passens tillhörande övningar. Utan dessa går resterande funktioner ej att använda. Till en början skapades fyra stycken textfields, i dessa kan användaren skriva in namnen på de olika pass de vill ha. Till varje textfield lades det till en knapp med namnet create. För varje knapp skrevs det en metod som skapar en NSmutableArray. NSmutableArray är en array där man inte behöver specificera hur många objekt som ska ligga i denna. För att göra det så enkelt som möjligt lades passnamnet in på första platsen i respektive array. Därefter sparades arrayen och dess innehåll med hjälp av NSUserDefaults. Fastän man stänger av appen helt sparar NSUserDefaults informationen man lagrat. Simultant som det skapades en NSMutableArray hoppar appen in i en ny sida. På denna sida skapades 8 nya textfields. I dessa skriver användaren in namnen på de övningar denna vill lägga till i sitt pass. Även här har varje textfield varsin knapp med en metod som sparar de övningar som har skrivits in. I detta fall har knapparna döpts till save. För dessa knappar skapas det nya NSMutableArray för varje gång användaren trycker på knappen. Namnet på övningen hamnar på första plats i listan, och dessa arrayer lades till i den första array som skapades till det passet användaren lägger till övningar i. Anledning att namnet på passen och på övningar läggs till på första platsen i respektive array är för att man enkelt, i de andra sidorna, ska kunna veta vad användaren döpt allt till. För att inte användaren ska kunna av misstag ändra passnamn och övningsnamn så sker ytterligare en process vid tryck av create och save knapparna. De textfields där namnen skrivits in görs om till labels med samma text som det döpta passet, vilket innebär att de inte längre går att ändra namn på passet. Har användaren skapat 4 olika pass samt 8 övningar i respektive pass blir detta alltså 32 stycken olika labels samt 12 stycken olika knappar. För att förenkla kontrollen av dessa så användes ett system för att taga allt. Att ett objekt får en tag innebär egentligen att den får ett id-nummer. Dessa idnummer användes sedan för att kunna identifiera vad som skapats. Första gången användaren kommer in på profilsidan finns enbart ett textfield och en create knapp. Alltså har resterande textfields och knappar tagits bort med hjälp av if-satser och for-loopar som kontrollerar objektens id-nummer och tar bort det överflödiga. På grund av att användaren ska få bestämma hur många pass denna vill ha och för att appen tar bort överflödiga knappar, lades det till två extra knappar. Dessa knappar fick båda symbolen av ett plustecken, båda kopplades ihop så att tryck på dessa genererar ett nytt textfield och en ny knapp. Det första plustecknet reglerar möjligheten för användaren att skapa nytt pass och det andra reglerar att lägga till ytterligare övningar inuti passen. Sist skapades en knapp med namnet reset, denna fick en metod som innebar att användaren nollställde alla arrayer som skapats. Efter att ha tryckt på denna åtgår alltså profilsidan till den ursprungliga formen och ger användaren möjlighet att skapa nya pass med nya övningar. 10
11 3.4 Träningssidan Träningssidan är den första sidan användaren möter när appen startas. På träningssidan ska användaren kunna registrera hur många sets, reps och vilken vikt denna har använt. Det första som skapades var en stor knapp i mitten av skärmen med texten New workout, klickar användaren på denna ska denna kunna se sina skapade pass. New workout -knappen kopplades till en metod som hämtar de sparade arrayerna och går igenom vilka som har något innehåll. För att hämta den sparade informationen från appens minne användes standarduserdefaults. 10 Fyra knappar och en label lades till och antalet knappar som var synliga efter att användaren klickat på New workout bestämdes med hjälp av hur många arrayer som hade något innehåll. Knapparna döptes till namnen som låg sparade i arrayerna och kopplades till fyra olika metoder. Det första i de fyra metoderna var att sätta en text på labeln, denna text var namnet på passet. Efter detta skapades en label med namnet på övningen och tre textfields där användaren kan fylla i sets, reps och tyngd. Detta gjordes med en for -sats som gick igenom arrayen för passet och skapade så många labels och textfields som det fanns övningar i sparade. För att spara värdena i textfieldsen skapades en save knapp. Save knappen multiplicerade ihop värdena i de olika textfieldsen för de respektive övningarna och sparade produkten i arrayen för övningen. Denna arrayen sparades sedan över i arrayen för passet och allt sparades sedan i appens minne. 3.5 Statistiksidan För att kunna rita grafer i appen användes ett externt bibliotek som heter Core Plot. 11 För att implementera Core Plot i Xcode behöver man lägga till en mapp med ett antal.h-fil med definitioner som används för animationer och grafiskt utnyttjande av skärmen. Core Plot använder sig av ett ramverk som Apple tillhandahåller som heter Quartz Core som gör det möjligt med bildbearbetning. 12 Quartz Core länkades in så att det kunde användas till alla bibliotek. Efter att Core Plot var implementerat i projektfilen började den grafiska utvecklingen av statistiksidan. För att användaren skulle få en så enkel och snygg översikt som möjligt bestämdes det att användaren först ska komma till en sida med knappar som är döpta efter användarens pass. De olika arrayerna där användaren sparat sina pass hämtades från minnet och fyra knappar skapades. De fyra knapparnas text ändrades med hjälp av namnen på användarens pass. Detta gjordes med hjälp av if -satser som kollar om de hämtade arrayerna är tomma, var någon array tom så gömdes de knapparna. Användaren får alltså bara upp så många knappar som den har skapat pass. När användaren sedan klickar på en knapp ska det komma upp ett nytt antal knappar med användarens övningar. 8 knappar skapades och döptes på samma sätt med hjälp av de olika arrayerna. Nästa steg var att få fram en graf över värdena användaren lagt i arrayerna. 11
12 För detta skapades först en metod som kallades graph. Denna metoden skulle tillkallas för att rita en graf med användarens värden på skärmen. Det första i metoden var att lägga en View på skärmen som kan hantera en graf. Sedan skapades en tom graf som lades till på skärmen. För att kunna bestämma x- och y-koordinaternas räckvidd skapades ett utrymme för hur mycket plats den faktiska grafen får använda av Viewen. X-koordinatens räckvidd sattes till längden på den arrayen man ville plotta plus 1 så att grafen inte slutade i kanten av skärmen. Y-koordinatens räckvidd sattes till det maximala värdet i arrayen plus det maximala värdet delat på 10. Detta för att få en snygg y-axel som täcker in hela grafen plus lite till. För att ha några värden att plotta på grafen skapades en metod som tar ut data till plotten. I denna metoden fördes alla värden över från arrayen med övningen som användaren var intresserad av och över till en ny array. I den nya arrayen hade namnet på övningen tagits bort, denna array innehöll bara data. Core Plot använder sig av två metoder för att plotta datan, en som räknar ut hur många värden som ska plottas och en som tar fram datan för x- och y-koordinaten. Dessa metoder tillkallas automatiskt när graph-metoden körs. I den första metoden gjordes en räkning av hur många värden som fanns i arrayen med data. I den andra gjordes en if -sats som gick igenom x- och y-koordinaterna och plottade dessa. 4 Resultat 4.1 Undersökning Resultatet av undersökningen gav följande svar: (a) Är du i dagsläget medlem i ett gym? (b) Om du är medlem i ett gym i dagsläget hur ofta går du dit i veckan? (c) Använder du i dagsläget någon träningsapp? Figur 1: Statistiska frågor från undersökningen Om du använder en träningsapp i dagsläget vilka funktioner uppskattar du i dessa? 12
13 I princip alla svarade att den funktion som var mest uppskattad var någon form av statistikförande funktion. Många ville även ha push-up notiser som påminner dem att gå att träna, kaloriräknare samt tips på olika övningar. Vilken form av statistik skulle du vara intresserad av att kunna få fram i en träningsapp? På denna fråga var det fokus på två olika saker. En del fokuserade på sin vikt och ville då kunna se sin kroppsvikt i en graf samt kunna skriva in deras kaloriintag och räkna ut hur mycket kalorier de bränner. Den andra halvan hade fokus på den personliga utvecklingen. De önskade grafer för hur deras styrka i olika övningar har utvecklats, även en funktion som beräknade deras träningsfrekvens. Vilka funktioner skulle du bli motiverad att träna i en app? Även här var de svarande enade om att statistik var de absolut bästa sättet att bli motiverad. Många trodde även på träningsplanering där träningen schemalades veckovis. Som motivation kunde man använda sig av påminnande push-up notiser som skickades till användaren. Ett fåtal var intresserade i att appen skulle erbjuda tips på olika övningar. Hur är en bra app utformad rent användarmässigt? De svarande var eniga, de vill ha appar som är lättmanövrerade och enkla att använda. Gärna stora knappar och inte för många komplicerade funktioner. Några la även fokus på att designen skulle vara trevlig och höra ihop med operativsystemet. Finns det något mer som du skulle villja att din träningsapp innehöll? Denna fråga gav folk fritt tänkade och svaren var väldigt varierande. Träningsdagbok Stretching-tips Tips på hur man kan utveckla sig själv Använda den för löpning Samla poäng och tävla mot vänner Färdiga exempel på olika pass att dela upp kroppen i Förslag på näringsrik mat, recept Personligt schema 13
14 4.2 Appen Meny Det främsta resultatet av att skapa en användarvänlig app blev en slide out menu som går att nå från alla sidor i appen (Figur 2). (a) Meny indragen (b) Meny utdragen Figur 2: Jämförelse av startsidan i appen Profilsidan Första gången användaren kommer in på profilsidan får denna skapa sina pass (Figur 3). Figur 3: Profilsidan då inga pass är skapade Efter att användaren skrivit in namnet på sitt pass flyttas denna vidare till en sida där användaren kan fylla i namnen på sina övningar (Figur 4). 14
15 (a) Inga övningar tillagda till passet (b) Två övningar tillagda till passet och möjlighet att lägga till fler (c) Skapande av en tredje övning Figur 4: Efter att ett pass är skapat läggs övningar till i passet Efter att användaren skapat så många övningar som behövs trycker denna på spara och kommer då tillbaka till sidan för att skapa flera pass (Figur 5). (a) Ett pass skapat med möjlighet att lägga till ett till Figur 5: Profilsidan med skapade pass (b) Fyra pass skapade och profilen är full, möjlighet att rensa allt 15
16 4.2.3 Träningssidan Träningssidan är den första sidan användaren möter när appen startas, den går även att nå från menyn (Figur 6). Figur 6: Träningssidans första vy Efter att tryckt på New Workout kommer användaren till en sida för att välja pass (Figur 7). Figur 7: Val av pass att träna 16
17 När passet är valt kan användaren börja fylla i antal sets, reps och vikt denna har tränat med (Figur 8). (a) Här kan användaren fylla i vad denna tränat (b) Beskrivning av hur användaren fyller i värden på övningarna Figur 8: Sida för att fylla i under träningen Efter ett avslutat pass klickar användaren på save och träningen är slut (Figur 9). Figur 9: Avslutad träning 17
18 4.2.4 Statistiksidan På statistiksidan ser användaren hur träningen utvecklas. Det första användaren möts av är möjligheten att välja vilket pass denna vill se statistik över (Figur 10). Figur 10: Första sidan där användaren väljer vilket pass denna vill se statistik över Efter val av pass får användaren välja vilken övning som denna vill se statistik över (Figur 11). Figur 11: Val av övning användaren vill se statistik över 18
19 Slutgiltligen får användaren se en kurva över hur utvecklingen på vald övning ser ut (Figur 12). Figur 12: Kurva över träningsutvecklingen för en vald övning 5 Diskussion 5.1 Undersökningen Av de 42 personerna som svarade på undersökningen var det hela 31 personer som var medlemmar på ett gym. Detta speglar tyvärr inte verkligheten då det i Sverige enbart är 33% av befolkningen som är medlem på gym. Urvalsgruppen var studenter i års åldern, vilket förmodligen är en samhällsgrupp som tränar mer än andra. Detta är inte enbart negativt utan positivt i den aspekten att de som svarade redan hade stor vetskap om träning på gym. Det negativa blir att den målgrupp som söktes som inte tränade på gym men ville bli motiverade av appen inte fick säga sitt. Bortsett från om de inte tränade eller tränade så var resultatet bra. De svarande beskrev tydligt och klart vad de gillade och inte gillade i både vanliga appar och träningsappar. 5.2 Designen Designen av appen blev väldigt enkel. På de flesta sidorna har användaren enbart ett fåtal knappar att trycka på vilket gör helheten väldigt enkel på appen. Valet av färgkombinationer gjordes så att de skulle passa bra med Apples egna gränssnitt. Designen av menyn finns i flera andra appar vilket gör att användaren lätt kan förstå hur allt funkar. Knapparna gjordes tydliga, med bra kontrast mot bakgrunden, för att allt skulle bli så tydligt som möjligt. 19
20 5.3 Användarvänlighet Användarvänligheten återfinns främst i den meny som skapades. För att få funktionerna inuti appen att bli så användarvänliga som möjligt användes så få knappar som möjligt. Detta gjorde att navigationen mellan sidorna blev väldigt enkel. Tanken var att användaren alltid bara skulle vara ett knapptryck ifrån nästa steg. 5.4 Svårigheter Den främsta svårigheten med projektet var att använda sig av Objective-C och Xcode. Eftersom det inte fanns någon vana av dessa två innan projektets start behövdes mestadels av tiden läggas på att lära sig dessa. När projektet startade hade Apple nyligen släppt en ny version av sitt operativsystem, ios och många kommandon i Xcode hade uppdaterats. Detta gav svårigheter att finna lösningar till de problem som uppstod då de flesta lösningarna var till äldre versioner av Xcode och ios. Ett problem i själva utvecklingsstadiet var att använda taggar till textfields och labels. Problemet var att om två objekt fick samma tag blev den ena utan, vilket skapade problem att gömma dessa. Ett annat problem var användningen av Core Plot. De beskrivningarna som fanns för detta bibliotek var väldigt komplicerade och det tog lång tid att tolka hur det skulle användas. 5.5 Buggar I nuläget innehåller appen två buggar. Den första buggen inträffar i det fallet användaren skulle döpa alla sina pass till exakt samma sak. Då kommer appen lägga in alla övningar för alla pass med samma namn i det första skapade passet. Den andra buggen inträffar då användaren skapar ett pass utan att lägga till några övningar. Trycker sedan användaren på New workout och in på det tomma passet kommer appen att crasha. Båda dessa buggar kommer förmodligen aldrig användaren stöta på, då sannolikheten är låg att appen används på detta sätt. Det är på grund av tidsbrist som dessa buggar ej är åtgärdade. Vid officiellt släpp av appen skulle dessa behöva åtgärdas. Eventuellt kan appen innehålla andra buggar som ej upptäckts. 6 Slutsats 6.1 Målsättning Målsättningen för projektet var att få en större kunskap om utveckling och programmering av appar. Med hjälp av en undersökning har kunskapen om hur en bra app är utvecklad ökat. Detta kan användas som bas i vidare projekt. När projektet startade fanns inga förkunskaper om Objective-C och Xcode. Under projektets gång har dessa ökat drastiskt och resulterat i en fungerande app med 20
21 möjligheter för statistikförande, profilskapande och datasparande. Eftersom appen ej är publicerad för allmänheten är det svårt att säga om målet att skapa en motiverande app är uppfyllt. Det som går att säga är att appen som skapas är enkel och lättmanövrerad och har en möjlighet att föra statistik över träning. Dessa två egenskaperna var en stor del av vad undersökningen gav för resultat. 6.2 Undersökningen Det främsta resultatet vid sammanställningen av frågorna i undersökningen, i mån om vad folk gillar i appar, är användarvänlighet. De svarande var entydiga med att komplicerade funktioner och onödiga moment enbart gjorde dem mindre intresserade av att använda appen. Det beskrevs också tydligt att designen och färgvalet skulle vara trevligt och vissa tyckte även att det skulle följa operativsystemets design. I den andra delen av undersökningen frågades det om olika funktioner i en träningsapp som kunde hjälpa användaren att motiveras. Här var det olika former av statistik som var mest eftertraktat så som träningsfrekvens, viktkurva och styrkekurva. Många gillade även idéen att appen skickade ut s.k push notiser till användaren som påminde denna om att träna. 6.3 Optimering Det finns stora optimeringsmöjligheter i programkoden. För optimering av koden krävs dock ett stort arbete och mer kunskap, vilket på grund av tidsbrist ej har hunnits med. Vid en eventuell lansering av appen hade vissa delar av koden behövt förenklas eftersom appen drar onödigt mycket minne som det ser ut nu. 6.4 Utvecklingsmöjligheter För att utveckla appen ytterligare, utifrån vad undersökningen gav, skulle dels vara att lägga in en funktion som gör det möjligt för användaren att planera sin träning samt lägga till funktionen push-up notiser som kan påminna användaren om att träna. Man hade kunnat skapa ett poängsystem för användaren beroende på hur dess träningsutveckling har gått samt om användaren följer sin träningsplanering. Detta poängsystem hade man sedan kunnat följa online där användaren tävlade mot andra användare. En tredje nisch hade kunnat vara att fokusera på kost och kalorier. Där hade appen kunnat ha en kalorieräknare som dels räknade ut hur mycket kalorier användaren stoppar i sig och hur mycket den förbränner. Även att appen kunnat tipsa om nyttiga och nytänkande maträtter. 21
22 Referenser [1] Apple, Distribute (Hämtad 23 maj, 2014). [2] Svenskar använder smartphones mest (Hämtad 23 maj, 2014). [3] N. Ingraham, Apple announces 1 million apps in the App Store. 1-million-apps-in-the-app-store, Oktober (Hämtad 23 maj, 2014). [4] SCB, Personer år som på fritiden ägnat sig åt tränat på gym, träningscenter, fitnesscenter under de senaste 12 månaderna documents/tabell, (Hämtad 28 April, 2014). [5] Apple, cocoa touch frameworks. /ios/cocoa-touch.html, (Hämtad 21 April, 2014). [6] Apple, About Objective-C. documentation/cocoa/conceptual/programmingwithobjectivec/introduction /Introduction.html, (Hämtad 21 April, 2014). [7] Apple, Defining Classes. documentation/cocoa/conceptual/programmingwithobjectivec/definingclasses/ DefiningClasses.html#//apple ref/doc/uid/tp ch3-sw1, (Hämtad 21 April, 2014). [8] Wikipedia, Smalltalk (Hämtad 21 April, 2014). [9] John-Lluch, John-Lluch/SWRevealViewController (Hämtad 14 maj, 2014). [10] Apple, NSUserDefaults Class Reference. /Foundation/Classes/NSUserDefaults Class/Reference/Reference.html#// apple ref/occ/clm/nsuserdefaults/standarduserdefaults, (Hämtad 22 maj, 2014). [11] core plot, core-plot/core-plot (Hämtad 22 maj, 2014). 22
23 [12] Apple, Quartz Core Framework Reference. /reference/quartzcorerefcollection/ index.html, (Hämtad 22 maj, 2014). 23
24 7 Appendix 7.1 Meny h-fil #import SidebarTableViewController : (nonatomic, strong) NSArray m-fil #import "SidebarTableViewController.h" #import SidebarTableViewController - (id)initwithstyle:(uitableviewstyle)style { self = [super initwithstyle:style]; if (self) { // Custom initialization return self; - (void)viewdidload { self.view.backgroundcolor = [UIColor colorwithwhite:0.2f alpha:1.0f]; self.tableview.backgroundcolor = [UIColor colorwithwhite:0.2f alpha:1.0f]; self.tableview.separatorcolor = [UIColor colorwithwhite:0.15f alpha:0.2f]; @"statistics"]; [super viewdidload]; 24
25 - (void)didreceivememorywarning { [super didreceivememorywarning]; #pragma mark - Table view data source - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableview { return 1; - (NSInteger)tableView:(UITableView *)tableview numberofrowsinsection :(NSInteger)section { return [self.menuitems count]; - (UITableViewCell *)tableview:(uitableview *)tableview cellforrowatindex Path:(NSIndexPath *)indexpath { NSString *CellIdentifier = [self.menuitems objectatindex:indexpath.row]; UITableViewCell *cell = [tableview dequeuereusablecellwithidentifier :CellIdentifier forindexpath:indexpath]; return cell; - (void)tableview:(uitableview *)tableview willdisplaycell:(uitableviewce ll *)cell forrowatindexpath:(nsindexpath *)indexpath{ [cell setbackgroundcolor:[uicolor colorwithwhite:0.2f alpha:1.0f]]; #pragma mark - Navigation - (void)prepareforsegue:(uistoryboardsegue *)segue sender:(id)sender { NSIndexPath *indexpath = [self.tableview indexpathforselectedrow]; UINavigationController *destviewcontroller = (UINavigationController 25
26 *)segue.destinationviewcontroller; destviewcontroller.title = [[_menuitems objectatindex:indexpath.row] capitalizedstring]; if ( [segue iskindofclass: [SWRevealViewControllerSegue class]] ) { SWRevealViewControllerSegue *swsegue = (SWRevealViewControllerSeg ue*) segue; swsegue.performblock = ^(SWRevealViewControllerSegue* rvc_segue, UIViewController* svc, UIViewController* dvc) { ; UINavigationController* navcontroller = (UINavigationControll er*)self.revealviewcontroller.frontviewcontroller; [navcontroller animated: NO ]; [self.revealviewcontroller setfrontviewposition: FrontViewPos itionleft animated: 7.2 Profilsidan h-fil #import <UIKit/UIKit.h> #import ProfileViewController : UIViewController{ IBOutlet UIButton *plus; int x; int z; int y; int q; int p; int w; IBOutlet UIButton *create1; IBOutlet UIButton *create2; IBOutlet UIButton *create3; 26
27 IBOutlet UIButton *create4; IBOutlet UIButton *plus2; IBOutlet UIButton *reset; IBOutlet UIButton *save1; IBOutlet UIButton *save2; IBOutlet UIButton *save3; IBOutlet UIButton *save4; IBOutlet UIButton *save5; IBOutlet UIButton *save6; IBOutlet UIButton *save7; IBOutlet UIButton *save8; -(IBAction)plus:(id)sender; -(IBAction)create1:(id)sender; -(IBAction)create2:(id)sender; -(IBAction)create3:(id)sender; -(IBAction)create4:(id)sender; -(IBAction)plus2:(id)sender; -(IBAction)save:(id)sender; (weak, nonatomic) IBOutlet UIBarButtonItem (weak, nonatomic) IBOutlet UIBarButtonItem m-fil #import "ProfileViewController.h" #import ProfileViewController -(IBAction)plus:(id)sender;{ if (x<5) { UITextField *position = (UITextField*)[self.view viewwithtag: x-1]; 27
28 CGRect labelframe = CGRectMake( 20, position.frame.origin.y + 50, 189, 20 ); UITextField* textfield = [[UITextField alloc] initwithframe: labelframe]; textfield.borderstyle = UITextBorderStyleRoundedRect; textfield.text workout session"; textfield.textcolor = [UIColor lightgraycolor]; textfield.tag = x; [self.view addsubview: textfield]; switch (z) { case 2: create1.hidden=yes; create2.hidden=no; create3.hidden=yes; create4.hidden=yes; case 3: create1.hidden=yes; create2.hidden=yes; create3.hidden=no; create4.hidden=yes; case 4: create1.hidden=yes; create2.hidden=yes; create3.hidden=yes; create4.hidden=no; default: plus.hidden=yes; x = x+1; -(IBAction)plus2:(id)sender;{ if (y<13) { 28
29 UITextField *position = (UITextField*)[self.view viewwithtag: y -1]; CGRect labelframe = CGRectMake( 20, position.frame.origin.y + 50, 189, 20 ); UITextField* textfield = [[UITextField alloc] initwithframe: labelframe]; textfield.borderstyle = UITextBorderStyleRoundedRect; textfield.text exercise.."; textfield.textcolor = [UIColor lightgraycolor]; textfield.tag = y; [self.view addsubview: textfield]; switch (y) { case 6: save1.hidden=yes; save2.hidden=no; case 7: save1.hidden=yes; save2.hidden=yes; save3.hidden=no; case 8: save1.hidden=yes; save2.hidden=yes; save3.hidden=yes; save4.hidden=no; case 9: save1.hidden=yes; save2.hidden=yes; save3.hidden=yes; save4.hidden=yes; save5.hidden=no; case 10: save1.hidden=yes; save2.hidden=yes; save3.hidden=yes; save4.hidden=yes; save5.hidden=yes; save6.hidden=no; case 11: save1.hidden=yes; save2.hidden=yes; 29
30 save3.hidden=yes; save4.hidden=yes; save5.hidden=yes; save6.hidden=yes; save7.hidden=no; case 12: save1.hidden=yes; save2.hidden=yes; save3.hidden=yes; save4.hidden=yes; save5.hidden=yes; save6.hidden=yes; save7.hidden=yes; save8.hidden=no; default: y = y+1; if (q<21) { UITextField *position = (UITextField*)[self.view viewwithtag: q -1]; CGRect labelframe = CGRectMake( 20, position.frame.origin.y + 50, 189, 20 ); UITextField* textfield = [[UITextField alloc] initwithframe: labelframe]; textfield.borderstyle = UITextBorderStyleRoundedRect; textfield.text exercise.."; textfield.textcolor = [UIColor lightgraycolor]; textfield.tag = q; [self.view addsubview: textfield]; switch (q) { case 14: save1.hidden=yes; save2.hidden=no; case 15: save1.hidden=yes; 30
31 save2.hidden=yes; save3.hidden=no; case 16: save1.hidden=yes; save2.hidden=yes; save3.hidden=yes; save4.hidden=no; case 17: save1.hidden=yes; save2.hidden=yes; save3.hidden=yes; save4.hidden=yes; save5.hidden=no; case 18: save1.hidden=yes; save2.hidden=yes; save3.hidden=yes; save4.hidden=yes; save5.hidden=yes; save6.hidden=no; case 19: save1.hidden=yes; save2.hidden=yes; save3.hidden=yes; save4.hidden=yes; save5.hidden=yes; save6.hidden=yes; save7.hidden=no; case 20: save1.hidden=yes; save2.hidden=yes; save3.hidden=yes; save4.hidden=yes; save5.hidden=yes; save6.hidden=yes; save7.hidden=yes; save8.hidden=no; default: 31
32 q = q+1; if (p<29) { UITextField *position = (UITextField*)[self.view viewwithtag: p -1]; CGRect labelframe = CGRectMake( 20, position.frame.origin.y + 50, 189, 20 ); UITextField* textfield = [[UITextField alloc] initwithframe: labelframe]; textfield.borderstyle = UITextBorderStyleRoundedRect; textfield.text exercise.."; textfield.textcolor = [UIColor lightgraycolor]; textfield.tag = p; [self.view addsubview: textfield]; switch (p) { case 22: save1.hidden=yes; save2.hidden=no; case 23: save1.hidden=yes; save2.hidden=yes; save3.hidden=no; case 24: save1.hidden=yes; save2.hidden=yes; save3.hidden=yes; save4.hidden=no; case 25: save1.hidden=yes; save2.hidden=yes; save3.hidden=yes; save4.hidden=yes; save5.hidden=no; case 26: save1.hidden=yes; save2.hidden=yes; 32
33 save3.hidden=yes; save4.hidden=yes; save5.hidden=yes; save6.hidden=no; case 27: save1.hidden=yes; save2.hidden=yes; save3.hidden=yes; save4.hidden=yes; save5.hidden=yes; save6.hidden=yes; save7.hidden=no; case 28: save1.hidden=yes; save2.hidden=yes; save3.hidden=yes; save4.hidden=yes; save5.hidden=yes; save6.hidden=yes; save7.hidden=yes; save8.hidden=no; default: p = p+1; if (w<37) { UITextField *position = (UITextField*)[self.view viewwithtag: w -1]; CGRect labelframe = CGRectMake( 20, position.frame.origin.y + 50, 189, 20 ); UITextField* textfield = [[UITextField alloc] initwithframe: labelframe]; textfield.borderstyle = UITextBorderStyleRoundedRect; textfield.text exercise.."; textfield.textcolor = [UIColor lightgraycolor]; textfield.tag = w; [self.view addsubview: textfield]; 33
34 switch (w) { case 30: save1.hidden=yes; save2.hidden=no; case 31: save1.hidden=yes; save2.hidden=yes; save3.hidden=no; case 32: save1.hidden=yes; save2.hidden=yes; save3.hidden=yes; save4.hidden=no; case 33: save1.hidden=yes; save2.hidden=yes; save3.hidden=yes; save4.hidden=yes; save5.hidden=no; case 34: save1.hidden=yes; save2.hidden=yes; save3.hidden=yes; save4.hidden=yes; save5.hidden=yes; save6.hidden=no; case 35: save1.hidden=yes; save2.hidden=yes; save3.hidden=yes; save4.hidden=yes; save5.hidden=yes; save6.hidden=yes; save7.hidden=no; case 36: save1.hidden=yes; save2.hidden=yes; save3.hidden=yes; save4.hidden=yes; save5.hidden=yes; 34
35 save6.hidden=yes; save7.hidden=yes; save8.hidden=no; default: w = w+1; plus2.hidden=yes; -(IBAction)create1:(id)sender;{ create1.hidden=yes; create2.hidden=yes; create3.hidden=yes; create4.hidden=yes; plus.hidden = YES; save1.hidden=no; reset.hidden=yes; q=38; p=38; w=38; UILabel *label = [[UILabel alloc] initwithframe:cgrectmake(20, 90, 280, 30)]; UITextField *textfieldtext = (UITextField*)[self.view viewwithtag:1]; label.text = [NSString stringwithformat:@"\%@", textfieldtext.text]; label.tag = 100; [label settextalignment:nstextalignmentcenter]; [self.view addsubview:label]; for (int i = 1; i<x; i++) { UITextField *hidefield = (UITextField*)[self.view viewwithtag: i] ; hidefield.hidden=yes; y=5; CGRect labelframe = CGRectMake( 20, 180, 189, 20 ); UITextField *textfield = [[UITextField alloc] initwithframe: 35
36 labelframe]; textfield.borderstyle = UITextBorderStyleRoundedRect; textfield.text exercise.."; textfield.textcolor = [UIColor lightgraycolor]; textfield.tag = y; [self.view addsubview: textfield]; y=y+1; NSUserDefaults *defaults = [NSUserDefaults standarduserdefaults]; NSMutableArray *array1 = [[NSMutableArray alloc] init]; [array1 addobject:[nsstring stringwithformat:@"%@", textfieldtext.text]]; [defaults setobject:array1 forkey:@"array1"]; [defaults synchronize]; _rightsidebarbutton = self.navigationitem.rightbarbuttonitem = [[UIBarButtonItem alloc] initwithtitle:@"done" style:uibarbuttonitems tylebordered target:self action:@selector(done:)]; for (int i = 201; i<221; i++) { UILabel *label = (UILabel*)[self.view viewwithtag: i]; label.hidden=yes; -(IBAction)create2:(id)sender;{ create1.hidden=yes; create2.hidden=yes; create3.hidden=yes; create4.hidden=yes; plus.hidden = YES; save1.hidden=no; reset.hidden=yes; y=38; p=38; w=38; UILabel *label = [[UILabel alloc] initwithframe:cgrectmake(20, 90, 280, 30)]; UITextField *textfieldtext = (UITextField*)[self.view viewwithtag:2]; label.text = [NSString stringwithformat:@"\%@", textfieldtext.text]; label.tag = 101; [label settextalignment:nstextalignmentcenter]; [self.view addsubview:label]; 36
37 for (int i = 1; i<x; i++) { UITextField *hidefield = (UITextField*)[self.view viewwithtag: i] ; hidefield.hidden=yes; q=13; CGRect labelframe = CGRectMake( 20, 180, 189, 20 ); UITextField *textfield = [[UITextField alloc] initwithframe: labelframe]; textfield.borderstyle = UITextBorderStyleRoundedRect; textfield.text exercise.."; textfield.textcolor = [UIColor lightgraycolor]; textfield.tag = q; [self.view addsubview: textfield]; q=q+1; NSUserDefaults *defaults = [NSUserDefaults standarduserdefaults]; NSMutableArray *array2 = [[NSMutableArray alloc] init]; [array2 addobject:[nsstring stringwithformat:@"%@", textfieldtext.text]]; [defaults setobject:array2 forkey:@"array2"]; [defaults synchronize]; _rightsidebarbutton = self.navigationitem.rightbarbuttonitem = [[UIBarButtonItem alloc] initwithtitle:@"done" style:uibarbuttonitems tylebordered target:self action:@selector(done:)]; for (int i = 201; i<221; i++) { UILabel *label = (UILabel*)[self.view viewwithtag: i]; label.hidden=yes; -(IBAction)create3:(id)sender;{ create1.hidden=yes; create2.hidden=yes; create3.hidden=yes; create4.hidden=yes; plus.hidden = YES; save1.hidden=no; reset.hidden=yes; q=38; y=38; w=38; UILabel *label = [[UILabel alloc] initwithframe:cgrectmake(20, 90, 37
38 280, 30)]; UITextField *textfieldtext = (UITextField*)[self.view viewwithtag:3]; label.text = [NSString stringwithformat:@"\%@", textfieldtext.text]; label.tag = 102; [label settextalignment:nstextalignmentcenter]; [self.view addsubview:label]; for (int i = 1; i<x; i++) { UITextField *hidefield = (UITextField*)[self.view viewwithtag: i] ; hidefield.hidden=yes; p=21; CGRect labelframe = CGRectMake( 20, 180, 189, 20 ); UITextField *textfield = [[UITextField alloc] initwithframe: labelframe]; textfield.borderstyle = UITextBorderStyleRoundedRect; textfield.text exercise.."; textfield.textcolor = [UIColor lightgraycolor]; textfield.tag = p; [self.view addsubview: textfield]; p=p+1; NSUserDefaults *defaults = [NSUserDefaults standarduserdefaults]; NSMutableArray *array3 = [[NSMutableArray alloc] init]; [array3 addobject:[nsstring stringwithformat:@"%@", textfieldtext.text]]; [defaults setobject:array3 forkey:@"array3"]; [defaults synchronize]; _rightsidebarbutton = self.navigationitem.rightbarbuttonitem = [[UIBarButtonItem alloc] initwithtitle:@"done" style:uibarbuttonitems tylebordered target:self action:@selector(done:)]; for (int i = 201; i<221; i++) { UILabel *label = (UILabel*)[self.view viewwithtag: i]; label.hidden=yes; -(IBAction)create4:(id)sender;{ create1.hidden=yes; create2.hidden=yes; create3.hidden=yes; create4.hidden=yes; plus.hidden = YES; 38
39 save1.hidden=no; reset.hidden=yes; p=38; y=38; q=38; UILabel *label = [[UILabel alloc] initwithframe:cgrectmake(20, 90, 280, 30)]; UITextField *textfieldtext = (UITextField*)[self.view viewwithtag:4]; label.text = [NSString stringwithformat:@"\%@", textfieldtext.text]; label.tag = 103; [label settextalignment:nstextalignmentcenter]; [self.view addsubview:label]; for (int i = 1; i<x; i++) { UITextField *hidefield = (UITextField*)[self.view viewwithtag: i] ; hidefield.hidden=yes; for (int i = 201; i<221; i++) { UILabel *label = (UILabel*)[self.view viewwithtag: i]; label.hidden=yes; w=29; CGRect labelframe = CGRectMake( 20, 180, 189, 20 ); UITextField *textfield = [[UITextField alloc] initwithframe: labelframe]; textfield.borderstyle = UITextBorderStyleRoundedRect; textfield.text exercise.."; textfield.textcolor = [UIColor lightgraycolor]; textfield.tag = w; [self.view addsubview: textfield]; w=w+1; NSUserDefaults *defaults = [NSUserDefaults standarduserdefaults]; NSMutableArray *array4 = [[NSMutableArray alloc] init]; [array4 addobject:[nsstring stringwithformat:@"\%@", textfieldtext.text]]; [defaults setobject:array4 forkey:@"array4"]; [defaults synchronize]; _rightsidebarbutton = self.navigationitem.rightbarbuttonitem = [[UIBarButtonItem alloc] initwithtitle:@"done" style:uibarbuttonitems tylebordered target:self action:@selector(done:)]; 39
GYMKEEPER ANDREAS SÖDERSTRÖM
GYMKEEPER ANDREAS SÖDERSTRÖM 20120529 ABSTRAKT En post mortem på mitt ios-projekt. Utmaningen låg i att under 10 veckors tid sätta sig in i en plattform och programspråk jag aldrig använt förut. Jag har
Manual C3 BMS för Android-telefoner
- för dig som gillar ovanliga fåglar 2012-09-24 Manual C3 BMS för Android-telefoner Hur fungerar det? Larmsystemet består av en server och databas i Stockholm samt applikationen C3 BMS i telefonen. Trafiken
På sjön 2.0 Intern Guide för Android
På sjön 2.0 Intern Guide för Android På sjön 2.0 - Guide 1 Översikt Meny Eniro sök GPS position/ Kartorientering Dashboard 2. Meny Innehåller följande funktioner: Min profil/båt information (se 2.1) Mina
IdrottOnline-appen Du kan installera appen från Google Play store för Android och Appstore för iphone. Sök på IdrottOnline så bör den komma fram.
IdrottOnline-appen Du kan installera appen från Google Play store för Android och Appstore för iphone. Sök på IdrottOnline så bör den komma fram. Logga in och välj organisation När du sedan startar upp
5 genvägar till mer muskler
5 genvägar till mer muskler Idag verkar det som att allt som är större, snabbare och starkare är bättre. Normen är att gå allt mer mot det extrema. Det gäller allt från extra starka huvudvärkstabletter,
Lättlästa instruktioner för ipad ios8
Lättlästa instruktioner för ipad ios8 I samarbete med: December 2014 Lättlästa instruktioner för hur du använder en ipad med operativsystemet ios8. En ipad är en pekplatta. En pekplatta kallas också för
Sida 1 av 12. WSB Biodling. Manual V.1.1. http://www.wermdobiodlare.se
Sida 1 av 12 WSB Biodling Manual V.1.1 Sida 2 av 12 Översikt: WSB Biodling är en app som hjälper dig med olika saker inom biodlingen. Nyheter i denna version är möjlighet att skapa skötselkort och dokumentera
StoCKK Stockholm Center för Kommunikativt och Kognitivt stöd. Tips på timer-appar. Appar som hjälper dig hålla koll på tiden
StoCKK Stockholm Center för Kommunikativt och Kognitivt stöd Tips på timer-appar Appar som hjälper dig hålla koll på tiden Januari 2016 Timer-appar Många människor både vuxna och barn, personer med eller
Högskolan i Kristianstad. Designkoncept. Design av medietjänster för mobila enheter VT14
Högskolan i Kristianstad Designkoncept Design av medietjänster för mobila enheter VT14 Emma Axelsson, Mattias Johansson, Gustav Jacobsson & Emmy Ellemo 2014-03-28 Lite-version (Designkoncept 1) Introduktion
Copyright 2008 Pausit AB medföljer programvaran pausit. Pausit version 1.2 Användarmanual
Copyright 2008 Pausit AB medföljer programvaran pausit Pausit version 1.2 Användarmanual Välkommen! Med en liten insats kan du nå en stor effekt! Dagens samhälle och arbetsliv kännetecknas av krav på ett
Designspecifikation den 13 december 2007
Linköpings Universitet Designspecifikation Projektarbete Arkadspel Jimmy Dahl och Serdar Tovi TDP005 Projekt: Objektorienterade system 2007 Visualisering När spelet startas möts spelaren av en meny med
Så får du maximal nytta av Evernote
Så får du maximal nytta av Evernote 7 Anteckna på telefon och dator 7 Organisera projekt och idéer 7 Dela dina anteckningar. Så funkar den digitala anteckningsboken Evernote Glöm aldrig en bra idé! På
725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack
725G61 - Laboration 7 Implementation av ett API Johan Falkenjack December 13, 2013 1 Inledning Hittills i kursen har vi tittat på grundläggande programmering och grundläggande objektorientering. I den
Manual för Kalmar kommuns Nya intranät. piren.kalmar.se
Manual för Kalmar kommuns Nya intranät piren.kalmar.se Innehåll Inloggning och aktivering av ditt konto... 3 Inställning vid första inloggning... 3 Arbetsytan på Piren... 4 Hjälp... 4 Dina profilinställningar...
MBX Mobilapp. Inloggning. Mobilapplikationens huvudmeny. MBX Mobilapp - 2016
MBX Mobilapp MBX mobilapplikation finns både för Android och iphone, och gränssnittet är i princip detsamma på de båda plattformarna. I detta dokument används skärmbilder från Android. Inloggning För att
Classfronter Vägledning för Studenter (version 1.1)
Classfronter Vägledning för Studenter (version 1.1) 1. LOGGA IN. VÄLJA RUM/KURS 4 3. SKRIVA IN INFORMATION OCH ÄNDRA PERSONLIGA UPPGIFTER. 4 4. ANVÄNDA HJÄLP-SYSTEMET 5 5. LÄSA MEDDELANDEN. 5 6. DELTA
Lumbago - Förord. Välkommen till Journalprogrammet Lumbago.
Lumbago - Förord Välkommen till Journalprogrammet Lumbago. Vår förhoppning är att du ska få mer tid över för dina patienter och att du ska ha nytta av alla de effektiva funktioner som Lumbago erbjuder.
För support videos, webinstruktioner och mer information besök oss på www.thinksmartbox.com
Komma igång Grid 3 Svensk översättning av Leena Öberg på Picomed (www.picomed.se) För support videos, webinstruktioner och mer information besök oss på www.thinksmartbox.com Välkommen till Grid 3 ger dig
Projektrapport - Live commentary
Projektrapport - Live commentary Linnéa Åberg - la222pp Beskrivning Vision och översiktlig beskrivning Det är en applikation för den som vill skapa intressanta diskussioner för live event eller program
Projektarbete 2: Interaktiv prototyp
Projektarbete 2: Interaktiv prototyp Jonatan Hilmarch (Grupp 13) 880427-5595 hilmarch@skip.chalmers.se Kurs: Människa-Datorinteraktion TIG061 HT 2010 Projekt 1 - en tillbakablick Enligt projektets systemdefinition
Nallelek Lärarvägledning
NALLELEK - LÄRA MERA PROGRAM AB Nallelek Lärarvägledning NALLELEK... 2 1.1 Programmet... 2 1.2 Övningar som stärker förmågan att iaktta bilder och se detaljer... 3 1.2.1 Pedagogiska tips... 3 1.3 Kategorisering
4 proffstips för icloud
4 proffstips för icloud 7 Använd icloud som Dropbox 7 Automatisk nedladdning av appar och musik 7 Radera onödiga ios-dokument icloud Smartare icloud Apples molntjänst icloud känns ibland lite för enkel
Betyg E (med tvekan) : (= Eleven beskriver mest med egna ord hur man upplevt träningen)
Betyg E (med tvekan) : (= Eleven beskriver mest med egna ord hur man upplevt träningen) Utverdering det har gott bra med träningen. jag tycker att det var kul att träna och så var det skönt att träna.
Översikt. Inloggning i Skola24 Schema Artiklar Frånvaro Planering Omdöme Kontakter Skola24 MobilApp. Nova Software AB 1 (19) 502
Föräldrar i Skola24 Genom föräldrarollen i Skola24 kan föräldrar ta del av en mängd användbar information. En central databas gör det möjligt att med samma inloggning se information om flera barn även
Macromedia. Flash 8 Grundkurs. www.databok.se
Macromedia Flash 8 Grundkurs www.databok.se Innehållsförteckning 1 Börja arbeta med Flash 8...1 Användningsområden...1 Bekanta dig med arbetsytan...2 Scen och tidslinje...3 Lager...3 Bibliotek...4 Verktygsfältet
19. Skriva ut statistik
19. Skiva ut statistik version 2006-05-10 19.1 19. Skriva ut statistik Den här dokumentationen beskriver hur man skriver ut statistik från SPFs medlemsregister via Internet. Observera att bilderna är exempel
Flexibel meny i Studentportalen
Guide Flexibel meny i Studentportalen Via en flexibel meny kan lärare och administratörer skapa en menystruktur som består av menyblock och funktioner i valfri ordning. På så sätt kan menyn spegla kursens
Sammanställning av webbenkät december 2015
Sammanställning av webbenkät december 2015 Bakgrund I december 2015 bjöds kommuninvånare in för att vara med att påverka utvecklingen av kommunens digitala tjänster. Inbjudningar gick ut via webbplats,
ETT ÅR MED DIN TRÄNING
ETT ÅR MED DIN TRÄNING Bli både större, starkare & snyggare till nästa sommar! TEXT: JOACHIM BARTOLL FOTO: JASON MATHAS Sommaren är över och de flesta av oss ser höst och vinter som en utmärkt tid att
En liten introduktion till SLI Community
En liten introduktion till SLI Community Välkommen till SLI Community! Ta dig gärna lite tid och läsa igenom den här introduktionen (många sidor, men det tar inte många minuter) så tror vi att du enklare
Elisabeth Bejefalk IT-Assistent Avesta kommun
Elisabeth Bejefalk IT-Assistent Avesta kommun Du ska nu få lära dig hur du enkelt kan göra ett bildspel i PowerPoint. Utifrån det du snart har lärt dig kan du sen göra mer avancerade bildspel genom att
SCHOLA COMAI ELEV WEBBKALENDER / SCHEMA VERSION 1.1. [Skriv text]
20111206 SCHOLA COMAI WEBBKALENDER / SCHEMA VERSION 1.1 ELEV [Skriv text] Innehåll 1 Inledning... 3 1.1 Terminologi... 3 1.2 Teknisk kravspecifikation... 4 1.3 Behörigheter... 4 1.5 Start... 4 1.5.1 Grundinställning
Handledning för uppsatsadministratörer
Handledning för uppsatsadministratörer godkänna publicering och arkivering av uppsatser/examensarbeten i DiVA Från 31 augusti 2015 arkiveras alla uppsatser och examensarbeten elektroniskt via DiVA (HIG
Visionutveckling. Vision 80/20 för iphone. Manual Vision 80/20 för iphone. Version 2.5
Visionutveckling Manual Vision 80/20 för iphone Vision 80/20 för iphone Version 2.5 www.visionutveckling.se, Auto Attendant +46 8 788 09 99 Gärdesvägen 1, SE 444 31, Stenungsund, Sweden, Phone: +46 303
Fotbollsfinter Fotbollsmaskinen: väldigt Mått på maskinen:
Fotbollsfinter Efter att ha skrivit upp alla ämnen vi lärt oss under senaste veckan röstade vi och kom fram till att majoriteten ville fördjupa sig i hur man lär sig fotbollsfintar. Vi tycker att spela
Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)
Google Apps For Education
GAFE Google Apps For Education Manual för elev; Classroom, Drive, Mail mm INNEHÅLLSFÖRTECKNING 1. Google apps for Education... 2 Logga in med ditt gapp-konto första gången (elev)... 2 Vanligaste apparna...
Lära känna skrivbordet
Är det första gången du använder Windows 7? Den här versionen har mycket gemensamt med tidigare versioner av Windows, men du kan behöva hjälp med att få upp farten. Den här guiden innehåller praktisk information
Public. Sidnr 2012-06-28 1 (9) Coverage Dokument id Rev? T 16939-11 5.0. Datum. Tillhör objekt Telia Jobbmobil Växel
App för 2012-06-28 1 (9) iphone-app, Android-app och webbapp för Innehåll 1 Inledning 2 2 Visas "useruser" som namn? 2 3 App för iphone 3 3.1 App Store 3 3.2 Så ser iphone-appen ut 3 3.3 Funktionen "Överflyttning"
Hjälp vid användning av Geodataportalen
1(12) Hjälp vid användning av Organisation Postadress Besöksadress Telefon E-post Internet Lantmäteriverket 801 82 Gävle Lantmäterigatan 2 0771-63 63 63 support@geodata.se www.lantmateriet.se 2(12) Denna
Kom igång med Windows 8.1
Kom igång med Windows 8.1 www.datautb.se DATAUTB MORIN AB INNEHÅLLSFÖRTECKNING Grunderna i Windows.... 1 Miljön i Windows 8... 1 Startskärmen... 1 Zooma... 2 Snabbknappar... 2 Sök... 3 Dela... 3 Start...
Användarmanual konsult
Användarmanual konsult Innehållsförteckning 1. Registrera konto 2. Logga in 3. Fylla i kontouppgifter och prenumerationstyp 4. Byta lösenord 5. Inaktivera konto 6. Radera konto 7. Skapa profil 8. Editera
Thomas Padron-Mccarthy Datateknik B, Mobila applikationer med Android, 7.5 hp (Distans) (DT2014-54006-20132) Antal svarande = 18
Thomas Padron-Mccarthy Datateknik B, Mobila applikationer med Android, 7. hp (Distans) (DT0-006-0) Antal svarande = 8 Svarsfrekvens i procent =.7 Utvärderingsresultat Teckenförklaring Relativa frekvenser
Att komma igång med FirstClass (FC)!
Att komma igång med FirstClass (FC)! Vi har tillgång till FC genom vårt samarbete med folkhögskolor och därigenom med Folkbildningsnätet. FC kan användas på en dator på två sätt (dessutom kan du använda
Digitalt lärande och programmering i klassrummet. Introduktionsworkshop - Bygg ett akvarium i Scratch
Digitalt lärande och programmering i klassrummet Introduktionsworkshop - Bygg ett akvarium i Scratch Introduktion Scratch är en programmeringsomgivning utvecklad av forskare på Massachusetts Institute
INFORMATION FRÅN VITEC. Nyhetsbrev 3.56. Vitec Marknad/Webbplats/Kundservice
INFORMATION FRÅN VITEC VITEC Nyhetsbrev 3.56 Vitec Marknad/Webbplats/Kundservice VITEC Affärsområde Fastighet www.vitec.se infofastighet@vitec.se Växel 090-15 49 00 GÖTEBORG: REDEG 1 C, 426 77 V. FRÖLUNDA
Microsoft Windows 8 Grunder
WINDOWS 8 GRUNDER Inledning Mål och förkunskaper...5 Pedagogiken...5 Hämta övningsfiler...6 Del 1 1 Introduktion till Windows Grundläggande om operativsystem...7 Starta och avsluta Windows 8...8 Välja
- 1 - 3 Ovanliga Tips till ett Smalare Liv av Seif Fendukly 2012. Alla rättigheter förbehålls.
- 1 - - 2-3 Ovanliga Tips till ett Smalare Liv Av Seif Fendukly Användarvillkor I den här guiden presenterar författaren information om muskler, fysiologi och kostråd. All information presenteras enbart
Sätt att skriva ut binärträd
Tilpro Övning 3 På programmet idag: Genomgång av Hemtalet samt rättning Begreppet Stabil sortering Hur man kodar olika sorteringsvilkor Inkapsling av data Länkade listor Användning av stackar och köer
Föreläsning 3.1: Datastrukturer, en översikt
Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består,
Seriehantering. [En enkel guide för hur du som serieadministratör använder SVEMO TA.]
2013 Svenska Motorcykel- och Snöskoterförbundet Box 2314 600 02 NORRKÖPING Tel. 011-23 10 80 www.svemo.se Seriehantering [En enkel guide för hur du som serieadministratör använder SVEMO TA.] Innehåll Inledning...
Programmering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08
Programmering A C# VT 2010 Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Innehåll Hjälp och referenser... 3 Kap 1 Introduktion... 3 Steg för steg... 3 Kapitel 2 Variabler...
En handledning för studerande på Högskolan Kristianstad
Använda kurskonferenser i FirstClass En handledning för studerande på Åsa Kronkvist, augusti 2005 Innehåll Introduktion...3 Webbklient eller FirstClassklient?...3 Allt ligger online...3 Hitta rätt...4
Blogga med wordpress. Lina Tannerfalk Wiberg
Blogga med wordpress Lina Tannerfalk Wiberg Blogga med Wordpress Varför blogga i skolan? - öka antalet mottagare för elevernas arbete. - förmågan att kommunicera tränas och utvecklas. - otaliga användningsområden,
Coridendro ett verktyg för att grafiskt åskådliggöra incidensen av malignt melanom inom olika släkter
Datavetenskap Opponenter: Daniel Jansson Mikael Jansson Respondenter: Mats Almgren Erik Hansen Coridendro ett verktyg för att grafiskt åskådliggöra incidensen av malignt melanom inom olika släkter Oppositionsrapport,
Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP.
Laboration 1 Översikt 1. Att komma igång med laborationsmiljön a. installera Aptana Studio 3 b. Installera EasyPHP 2. Testa lite programmering a. Testa enkla uppgifter b. Testa automatiskt 3. Skapa inloggningsformulär
Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09
Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 1. Introduktion till webbprogrammering Webbprogrammering består av ett antal
5 genvägar till mer muskler
5 genvägar till mer muskler Idag verkar det som att allt som är större, snabbare och starkare är bättre. Normen är att gå allt mer mot det extrema. Det gäller allt från extra starka huvudvärkstabletter,
HexaFlip. Kravspecifikation
HexaFlip Kravspecifikation Dokumentversion 1.0 Martin Larsson marla316@student.liu.se Carl Lindwall carli914@student.liu.se Senast modifierad 2009 02 17 Sammanfattning Detta dokument skall ligga som grund
En liten introduktion till Community på GR-SLI
151112 En liten introduktion till Community på GR-SLI www.grkom.se/gr-sli 2 3 Innehåll Välkommen till Community!...4 Om Community...4 Hur du går med...4 Bekanta dig med Community...5 Händelser...5 Grupper
Användarmanual HOIF.org
Användarmanual HOIF.org HOIF.org 2013-05-21 37 sidor Användarmanual för HOIF.org Introduktion Det här är en manual till alla användare på hemsidan HOIF.org Hur får jag ett användarkonto? För att kunna
Fysiska aktiviteter FYSISKA AKTIVITETER. Zumba och Linedance
Fysiska aktiviteter Zumba och Linedance Vad innebar Vi träffas ett par gånger i veckan och dansar tillsammans med en instruktör. Hittills har vi testat att hålla kurser i både Zumba och Linedance. Vi dansar
RödGrön-spelet Av: Jonas Hall. Högstadiet. Tid: 40-120 minuter beroende på variant Material: TI-82/83/84 samt tärningar
Aktivitetsbeskrivning Denna aktivitet är utformat som ett spel som spelas av en grupp elever. En elev i taget agerar Gömmare och de andra är Gissare. Den som är gömmare lagrar (gömmer) tal i några av räknarens
Diagram. I detta kapitel lär du dig: m Diagrammets beståndsdelar. m Att skapa både inbäddat diagram och diagramblad. m Att ändra diagramform.
1 Diagram Med diagram kan du presentera information på ett effektivt sätt. Eftersom datan visas grafiskt så kan betraktaren ta till sig mycket information på en gång. Microsoft Excel har ett kraftfullt
Felsökning av mjukvara
KUNGLIGA TEKNISKA HÖGSKOLAN Felsökning av mjukvara Programmering av en NXT-robot Max Kufa [03/08-13] mkufa@kth.se Introduktionskurs i datateknik (II1310) Sammanfattning Syftet med laborationen var att
Post Mortem för Get The Treasure!
Post Mortem för Get The Treasure! Av: Emil Lindberg - Grupp 15 Vi skulle göra ett action multiplayerspel som spelades över nätverket. Vilket vi nästan lyckades göra. Tiden tog slut och programmerarna han
Låt ipad bli fjärrkontroll för din Mac
Låt ipad bli fjärrkontroll för din Mac 7 Använd ipad som fjärrkontroll 7 Perfekt för en Mac kopplad till tv:n 7 Fjärrstyr Macens program. ipad som fjärrkontroll låter dig styra både OS X-funktioner och
Handledning OnTag Digitala Scorekort
Version: 1.0 2014-10-07: 2014 evry.com Handledning OnTag Digitala Scorekort EVRY One Halmstad AB Sida 2 / 15 Innehåll 1 Inledning 3 2 Aktivering av tjänsten 3 3 Exportera slinginformation 4 4 Uppdatera
Språkäventyret. Mål. Verktyg. Inledande arbete
Språkäventyret Mål Sammanfatta hur jag gjorde spelet Språkäventyret på Fronter. Verktyg Fronters provverktyg Inledande arbete Fundera över dessa saker innan du börjar: 1. Vilken del av det centrala innehållet
Att använda bildhanteringsprogram, del 2
Att använda bildhanteringsprogram, del 2 Gå till Adobe Online (M) Markeringsram - (L) Lasso - (C) Beskärning - (J) Airbrush - (S) Klonstämpel - (E) Suddgummi - (R) Oskärpa - (A) Markering av bankomponenter
Guide till Lidingö stads app (Netpublicator) för digitala nämndhandlingar
1 (7) 2014-04-01 Guide till Lidingö stads app (Netpublicator) för digitala nämndhandlingar Det här är en guide till de olika funktionerna i Netpublicator. I appen Netpublicator finns en mer ingående lathund
ZoomText 10.1 Snabbguide Tillägg
ZoomText 10.1 Snabbguide Tillägg Detta tillägg till ZoomText 10 Snabbguide beskriver de nya funktionerna och andra ändringar som hör till ZoomText 10.1. För grundinformation som hur man installerar och
Slutrapport för JMDB.COM. Johan Wibjer 2012-06-03
Slutrapport för JMDB.COM Johan Wibjer 2012-06-03 Abstrakt Den här rapporten kommer handla om mitt projekt som har handlat om att gör en webb sida för ett personligt media bibliotek, hur jag har jobbar
Çrona Tid. Behörighetssystem. Copyright DataVara AB. Produktutveckling Morgan Klebom, Christian Elber, Hans Bäcklund, Thomas Palm
V Çrona Tid Copyright DataVara AB Produktutveckling Morgan Klebom, Christian Elber, Hans Bäcklund, Thomas Palm Handbok Lena Kragelund Omslag Studio Alice Ö Lilla torget 3, 441 30 Alingsås Telefon: 0322-67
Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.
Tentamen 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.00, sal E33 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel
Inledning. Att bli medlem
- Inledning Nedan följer en instruktion om hur man blir medlem på Vreta-Ytternäs hemsida och sedan en instruktion om hur man loggar in. Innan man kan logga in måste man registrera sig som medlem. Anledningen
RSI Road Status Information A new method for detection of road conditions
WP 5 Sida 1 av 15 RSI Road Status Information A new method for detection of road conditions Användarmanual för RSI WP 5 Sida 2 av 15 Användarmanual för RSI Om detta dokument Detta dokument är en användarmanual
Användarhandledning Rapportgenerator Version: 1.1
Användarhandledning Rapportgenerator Version: 1.1 Umefast AB 2008 www.umefast.se Innehåll 1. Rapportgenerator... 2 1.1. Syfte och avgränsningar... 2 1.2. Wizards... 2 1.3. Förutsättningar för arbete med
WINDOWS 8.1. Grunder
WINDOWS 8.1 Grunder EXCEL 2013 Grunder INLEDNING Mål och förkunskaper...5 Pedagogiken...5 Hämta övningsfiler...6 1 INTRODUKTION TILL WINDOWS Grundläggande om operativsystem...7 Starta och avsluta Windows
Skola24 för vårdnadshavare
1 av 11 Utbildningsförvaltningen Med start höstterminen 2015 använder Vaxholms stads skolor systemet Skola24 för schemapublicering och frånvarorapportering. Nedan finns information om hur du som vårdnadshavare
Skapa ett register över din grupp/klass
SYDSOL Handledning CW 2000-02-23 Skapa ett register över din grupp/klass Syfte: Att göra ett register i ClarisWorks och hantera olika informationer om en grupp/klass Pedagogens viktigaste uppgift är att
ENKEL INTRODUKTIO Du kanske länge har funderat vad alla begrepp som Wifi, surfplatta och app står för, kanske detta dokument kan lösa dina problem.
ENKEL INTRODUKTIO Du kanske länge har funderat vad alla begrepp som Wifi, surfplatta och app står för, kanske detta dokument kan lösa dina problem. Katarina Eriksson ipad ipad +Äldre=sant Enkel beskrivning
Struktur och innehåll Laboration 2
Laborationsanvisning Struktur och innehåll Laboration 2 Författare: Johan Leitet Version: 2 Datum: 2011-08-08 Inledning Till skillnad från laboration 1 som mest handlade om att komma igång med arbetsmiljön
Vis it. jquery jquery används lite överallt i appen på olika sätt. Det främsta användningsområdet är vid selektering och manipulering av HTML element.
Vis it Introduktion Vi har skapat den webbaserade appen Vis it som bygger på att användare kan ta bilder på och lägga upp sevärdheter via sin mobiltelefon. Dessa sevärdheter är positionsbaserade vilket
Laborationer i kursmomentet Datoranvändning E1. Laboration nr 5: Mer om FrameMaker
Sid 1 Laborationer i kursmomentet Datoranvändning E1 http://www.etek.chalmers.se/~hallgren/eda/ : Mer om FrameMaker 1996, 1997 Magnus Bondesson 1998 och 99-09-22 Thomas Hallgren 1 Introduktion I Laboration
Manual. Användargränssnitt
Manual Användargränssnitt 0 Innehållsförteckning ANVÄNDARGRÄNSSNITT... 1 1. MENYNAVIGERING... 1 2. BACKA-KNAPP... 2 3. GLOBALA FUNKTIONER... 3 4. PERIOD... 4 Avrundning... 4 5. FLERA FLIKAR SAMTIDIGT...
SmartgymS TRÄNA HEMMA PROGRAM SMARTA ÖVNINGAR FÖR ATT KOMMA I FORM - HEMMA! Effektiv Träning UTAN Dyra Gymkort!
S TRÄNA HEMMA PROGRAM 28 SMARTA ÖVNINGAR FÖR ATT KOMMA I FORM - HEMMA! Effektiv Träning UTAN Dyra Gymkort! Kom i form hemma Vi träffar många personer som tränar mycket och som är motiverade och som har
Inledning. Metod. Val av maskin. Vanliga funktioner som lätt blir fel
Inledning Studenterna i Id-00 har fått i uppgift att analysera vars en apparat. Vår grupp har valt att analysera en mikrovågsugn, Whirlpool MT 257, som finns på en studentkorridor på Michael Hansens Kollegium
Kommunikationsmöjligheter i Mondo
Kommunikationsmöjligheter i Mondo Denna guide går kortfattat igenom grunderna för de olika kommunikationsverktygen i Mondo och förutsätter en viss förkunskap av hur Mondo fungerar. De verktyg i Mondo som
OOP Objekt-orienterad programmering
OOP F6:1 OOP Objekt-orienterad programmering Föreläsning 6 Mer om klasser och objekt Hantera många objekt ArrayList tostring() metoden this Vi vill ofta hantera många objekt i ett program: OOP F6:2 public
Android-app Användarmanual 1.0
Android-app Användarmanual 1.0 Fokus på tillgänglighet Med Android-appen kan alla som använder en smarttelefon eller surfplatta med Android få enkel tillgång till en bildtelefon. Med appen kan du sen ringa
MyScore Mobil Manual 1 Senaste uppdatering: 2015/11/06 Fairdeal Group Sverige AB
MyScore Mobil Manual 1 Senaste uppdatering: 2015/11/06 Fairdeal Group Sverige AB Innehållsförteckning Inledning... 2 MyScore Mobile... 3 Viktigt om MyScore Mobile... 4 Installera MyScore Mobile... 5 Ändra
SEAPILOT s nya PREMIUM tjänst
SEAPILOT s nya PREMIUM tjänst I mars 2016 lanserades Seapilot PREMIUM. Det tjänster och funktioner som tidigare såldes som separata produkter och prenumerationer kommer nu att ingå i PREMIUM med flera
Appar eller mobilwebb? Vad är bäst för bibliotekets tjänster?
Appar eller mobilwebb? Vad är bäst för bibliotekets tjänster? Ahmet Kurt, NSB, juni 2011 Mobiltätheten exploderar bland befolkningen. Mobilen har man alltid tillgänglig, utan lång starttid. Just nu (2011)
Användarmanual Cartesia GEO Manager
Användarmanual Cartesia GEO Manager Support: 020-884884 E-mail: support@cartesia.se Innehåll Startsidan... 3 Tabeller... 3 Sök... 3 Lägga till en ny rad... 4 Kartfunktioner... 5 Street View... 6 Navigera
Space Invaders - Slutrapport
Projekt inda14 Sida 1 av 6 Space Invaders - Slutrapport A. Projektplanen Programbeskrivning Vi tänker göra en version av det gamla arkadspelet Space Invaders i java. Spelet går ut på att spelaren styr
2. Komma igång Skapa grupper och elever Skriv också ut sidan 13 så att eleverna har en snabbguide till programmet.
2. Komma igång Skapa grupper och elever Börja med att läsa texten nedan om hur man börjar jobba med programmet efter installationen. Skriv gärna ut sidan och ha bredvid dig tills du känner att du behärskar
Här kan du välja befintligt upplägg eller skapa ett nytt. Klicka på edit uppe till höger för att redigera och/eller skapat nytt.
Start-skärmen Här kan du välja befintligt upplägg eller skapa ett nytt. Klicka på edit uppe till höger för att redigera och/eller skapat nytt. Det grå kugghjulet indikerar att du är i redigeringsläge och
Steg 4 b. Molntjänster Onedrive Office 365 Windows 10. Mars -16 Liljedalsdata.se. Liljedalsdata Molntjänster En del av steg 4 Sida 1
Steg 4 b Molntjänster Onedrive Office 365 Windows 10 Mars -16 Liljedalsdata.se Liljedalsdata Molntjänster En del av steg 4 Sida 1 Molntjänster Molntjänster ger dig tillgång till en dator någonstans i världen
ÅGIT PRESENTERAR FILR SMIDIG OCH SÄKER FILÅTKOMST OCH DELNING
ÅGIT PRESENTERAR FILR SMIDIG OCH SÄKER FILÅTKOMST OCH DELNING Novell Filr är som Dropbox, men betydligt säkrare. Från och med nu kan alla anställda och studerande inom Ålands gymnasium arbeta med sina