Category: Kanban

Kanban og multimediedesign

Mit masterprojekt på IT-Vest i “IT og Multimedier” handler om at bruge kanban pædagogisk på multimediedesigneruddannelsen. Kanban-metoden er udviklet af Toyota omkring 1950. Kanban betyder tavle med tegn på. Scrum-udviklere bruger ofte et whiteboard eller en opslagstavle til at visualisere projekter i et antal faser, der leder frem til “job done”.

Som underviser har jeg brug for et system, der kan visualisere og evaluere en arbejdsproces. Denne blog er min research på vej mod udvikling af en hypermedieløsning – en kanban der kan bruges på uddannelser.

  • Hypermedieopslagstavle?

    Hypermedieopslagstavle?

    Fra papirt til hypermedie - QR på stickit note.
    Fra papir til hypermedie – QR på stickit note.

    Sp.: Kan man lave en opslagstavle med links?

    Sv.: QR!

    Et webcam eller et godt DSLR kamera kan tage billeder af opslagstavlen – og distribuere via www.  Og sådan kan en almindelig opslagstavle forvandles til et hypermedie… fx ved at  linke direkte til arbejdsdokumenter, regneark, præsentationer mv. i Google Docs.

    I praksis kan man klistre QR på en huskeseddel eller et kartotekskort. Her er et link til nogle PHP QR classes, der kan anvendes på en webserver.

    QR kan indeholde små tekster eller informationer om:

    • Hyperlinks til www
    • Vcard (visitkort)
    • Geolocation
    • Telefonnummer
    • etc.
    Herunder er mit visitkort:
    QR Per Thykjær Jensens vcard
    QR Per Thykjær Jensens vcard

     

  • iPad og Android specifik CSS

    iPad og Android specifik CSS

    Mobilenheder og specifik CSS / HTML

    Fordelen ved at kode i HTML5 er at man ikke skal ud i versionering af operativsystemer til de forskellige platforme. Med HTML5 kan man skrive en kode, der udnytter de mobile enheders muligheder, Her et par kilder til styling af tablets og smartphones:

    En kanban webserver skal kunne betjene mange platforme, enheder og operativsystemer.
    En kanban webserver skal kunne betjene mange platforme, enheder og operativsystemer.

    iPad

    Fra CSS Tricks stammer denne kodestump:

    @media only screen and (device-width: 768px) {
      /* For general iPad layouts */
    }
    
    @media only screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:portrait) {
      /* For portrait layouts only */
    }
    
    @media only screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:landscape) {
      /* For landscape layouts only */
    }

    Iphone

    Her er en oversigt over iPhone specifik kodning i HTML, CSS og PHP.

    Android

    Så vidt jeg kan se er den bedste måde at style Android at lave et CSS ud fra device-max width / height::

    // target mobile devices
    @media only screen and (max-device-width: 480px) {
        body { max-width: 100%; }
    }
    
    // recent Webkit-specific media query to target the iPhone 4's high-resolution Retina display
    @media only screen and (-webkit-min-device-pixel-ratio: 2) {
        // CSS goes here
    }
    
    // should technically achieve a similar result to the above query,
    // targeting based on screen resolution (the iPhone 4 has 326 ppi/dpi)
    @media only screen and (min-resolution: 300dpi) {
        // CSS goes here
    }

    Eller direkte i HTML (ex fra stackoverflow.com):

    <link rel="stylesheet" media="only screen and (max-device-width: 480px)" href="css/mobile.css" type="text/css" />
    <link rel="stylesheet" media="only screen and (-webkit-min-device-pixel-ratio: 2)" href="css/mobile.css" type="text/css" />
    <link rel="stylesheet" media="only screen and (min-resolution: 300dpi)" href="css/mobile.css" type="text/css" />

    Se også David Calhouns blogindlæg om mobil-specific styling. David mener, at nogle Android browsere er begyndt at kunne bruge den iPad specifikke HTML / CSS.

    #Bogen om “HTML5 spil” (husker ikke præcis titel; men den kommer snart…) siger noget lignende. Her understreges, at det kun er iPad der får en webside til at ligne en app; mens Android fremviser websiden i et browservindue.

  • Er Scrum nødvendig i dette projekt?

    Er Scrum nødvendig i dette projekt?

    Min arbejdskanban på indersiden af en skabslåge.
    Min arbejdskanban på indersiden af en skabslåge.

    Spørgsmål: Hjælper Scrum eller er det en klods om benet?

    Svar: Scrum er en metode blandt metoder. Kanban kan principielt anvendes i mange udviklingsmetoder. Men Scrum har bragt kanban på banen. Scrum er altså kun et eksempel på implementering af kanban. Måske er projektets essens nærmere at udvikle en mere visuel platform, der kan bruges til planlægning og evaluering af en multimedieproduktion.

    Og dog: scrum får alligevel en betydning for den bagvedliggende logik i databasen. Måske. Det skal vist fintænkes.

  • Forskellen på uddannelse og industriel produktion

    Forskellen på uddannelse og industriel produktion

    Breügel alkymist
    Breügel “Alkymist” – selv om det vistnok ikke lykkedes alkymisterne at lave guld, så har videnskaben lært meget af deres eksperimenter (fosfor, alkohol, krudt mv.) En uddannelse liger et laboratorium, hvor man eksperimenterer og prøver at lære noget af sine erfaringer.

    Uddannelse og industriel produktion ligner ikke hinanden. Industriel produktion handler om at færdiggøre produkter og at få dem ud på markedet. Uddannelse handler om at prøve sig frem. Om et projekt lykkes eller ej er ikke det vigtigste. Det vigtigste er at lære noget af erfaringen.

    En kanban er beregnet til industriel produktion. Men på multimediedesigneruddannelsen har vi brug for et program, der kan bruges til planlægning og registrere hvordan en kreativ udviklingsproces forløber (og ja: programmering er en kreativ disciplin…)

  • Native HTML5 Drag and Drop – HTML5 Rocks

    Native HTML5 Drag and Drop – HTML5 Rocks – her er (endelig) en grundig introduktion til “drag and drop” med HTML5 og JavaScript. Artiklen forklarer de forskellige eventlisteners, og giver konkrete eksempler på, hvordan de bruges.

  • Af “Specialiseringen i interaktionsdesign og multimedier”

    Af “Specialiseringen i interaktionsdesign og multimedier”

    Studieordninger er kedelig læsning – så her er Ajstrup strand i sensommeren 2012.

    Citater fra studieordningen for specialiseringen i interaktionsdesing og multimedier:

    (more…)

  • Kanban i San Francisco

    Billedet er fra en rejse til San Francisco i 2010 med Erhvervsakademi Aarhus. Vi besøgte en virksomhed, der systematisk anvendte stick-it notes som planlægningsredskab. Problemet ved denne metode er at man ikke kan se sine vægge eller flytte sedlerne når man fysisk er et andet sted. Omvendt er det praktisk at alle kan se hvad der foregår.

    Kanban i San Francisco 2010
    Kanban i San Francisco 2010
  • Wireframe

    Wireframe

    Modulær opbygning: Hver story er reelt sin egen lille kanban. Sprints har følgende tilstande:

    • Active – gul
    • Waiting – grå
    • Verify / Test – rød
    • Done – grøn

    Når alle sprints i en story er “done” farves den grøn. Eller en anden passende farve.

    Tegnet med Inkscape.

  • Kanban til kanban-projektet

    Opgaver I gang Venter / test ok
     Afhandling  find litt.
    MySQL / PHP / CRUD
     Drag and Drop Research
    Droppet pga. kompabilitet m. ældre browsere.
     DIV Dummy
    HTML / JS gebid
     Modulært design kanban – u8
    Koncepttest (nov.)
    kl + ko mgl
    Vælg litt.
      Database (MP) uge 8
     PHP Uge 8 – scaffold
     WordPress PlugIN
    Mob / Web – u8
    Kontakte vejleder  
     Skema afsendt d. 7.11.12
    OK 20130118
    Vejleder: N-
     Info om mastermodulet
    Studieordning
    Scrum som ER
    HTML5 test
     AP (MLH=ok)
    PF 0.1
     Wireframe 0.1
     Mob HTML5 research
     Problemformulering

  • Research drag and drop

    “Drag and drop” (D&D) er alfa og omega når en GUI skal være intuitiv. D&D er en oplagt digital metafor, når vi skal efterligne et whiteboard. D&D er mulig i HTML5. Det er en relativt ny standard, og derfor må man forvente, at forældede browsere får problemer. Med D&D kan vi udvikle et interface på nettet med en funktionalitet, der minder om noget vi kender fra skrivebordsmetaforerne i OSX, Windows – eller Linux / Unix verdenens mangfoldighed af Windows Managers: Gnome, KDE, Ratpoison, LXDE, etc.

    Det ser ud til at jQuery kan fyre en funktion af, når man dropper en dimmer et bestemt sted fx en firkant eller noget andet. ActionScript, Lingo etc. har noget, der minder om det her, nemlig “collision detection”.

    Dette eksempel gør noget lignende.

    Eksemplet “Drag and Drop To Columns” bruger et billedes position ved “drop” til at skabe strenge til databasen. Denne kode virker umiddelbart fornuftig som basis for mit projekt. Funktionen looper gennem arrayet af UL tags og laver en liste:

    /*
            Preparing data to be saved
            */
            function saveDragDropNodes()
            {
                    var saveString = "";
                    var uls = dragDropTopContainer.getElementsByTagName('UL');
                    for(var no=0;no<uls.length;no++){       // LOoping through all <ul>
                            var lis = uls[no].getElementsByTagName('LI');
                            for(var no2=0;no2<lis.length;no2++){
                                    if(saveString.length>0)saveString = saveString + ";";
                                    saveString = saveString + uls[no].id + '|' + lis[no2].id;
                            }
                    }
    
                    document.getElementById('saveContent').innerHTML = '<h1>Ready to save these nodes:</h1> ' + saveString.replace(/;$
    
            }

    Principielt burde denne funktion (modificeret til at loope gennem DIV-tags med en passende ID) kunne sætte en variabel – og en variabel må igen kunne overføres til en database via en sendeknap og GET eller POST.

    denne side er to eksempler på “send” med JS og Json:

    function save(type){
            var table_content;
            table_content=REDIPS.drag.save_content('table1',type);
                    if(!table_content){alert('Table is empty!');}
                    else if(type==='json'){window.open('/my/multiple-parameters-json.php?p='+table_content,'Mypop','width=350,height=260,scrollbars=yes');}
                    else{window.open('/my/multiple-parameters.php?'+table_content,'Mypop','width=350,height=260,scrollbars=yes');}}
                            if(window.addEventListener){window.addEventListener('load',redips_init,false);}
                    else if(window.attachEvent){window.attachEvent('onload',redips_init); 
            }

    GetElementsBy…. findes i disse varianter:

    getElementById
        getElementsByName
        getElementsByTagName
        getElementsByTagNames
        getElementsByClassName
        getElementsBySelector
        getElementsByAttribute
        getElementsByAnything

    Json kan mao, fange værdier fra DOM.

    Bemærk denne detalje – her fyres funktionen af efter drag:

    <script>
    $( "#draggable" ).draggable();
    $( "#droppable" ).droppable({
        drop: function() {
            alert( "dropped" );
        }
    });
    </script>

    En anden vej kunne være at få Json til at sende variable til PHP – i stil med dette:

    document.getElementById("lname").innerHTML=obj.employees[1].lastName

    Løsning: jeg forestiller mig, at værdierne fra loopene lægges ind i skjulte formfields via JS. Når denne form “submittes” via PHP gemmes positionerne i MySQL DB.

  • Første primitive Kanban

    Her er den første primitive Kanban i html. Prototypen kan ikke overføre data til databasen. Man skal kunne gemme sit arbejde. Denne kanban virker i en webbrowser på Windows / Mac / Linux platforme.

    Men drag and drop fungerer ikke på en iPad. Ny problemstilling:

    • drag and drop på mobile enheder.
    Kanban
  • Scrum – set som database

    Hele Scrum-processen kan anskues som et ralationsdiagram. Principielt kunne den bagvedliggende database programmeres ud fra denne oversigt.

    Scrum som relationsdiagram
    Scrum som ER-diagram
Enable Notifications OK No thanks

We use cookies - more information

Multimusen.dk will set a few cookies from Doubleclick, Google and the Social Media plugins they ay set some cookies. Some of my pages use APIs - such as YouTube, LinkedIn, Google Fonts, Google Maps, Mapbox, Spotify, Jetpack, Twitter, Facebook &c.. Such plugins may set the odd cookie.

Close