Author: Per Thykjaer Jensen

  • 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…)

  • Vælg RAW

    Nogen gange kan RAW redde dagen. Her er nogle skitsebilleder fra Munch-udstillingen på Aros i Aarhus. JPG filen mister en masse nuancer.

    Farverne og eksponeringen kan rettes fra RAW i programmer som Rawtherapee (Linux) eller lignende. Efter at have arbejdet med farverne kan billedet gemmes som .PNG eller noget andet browseren kan læse.

  • 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
  • Kanban – bør være en tabel

    En kanban er pr. definition en tabel. Men virker drag-n-drop med tabeller. En hurtig test på W3Schools bekræfter det.

    Test på W3Schools – en kanban er en tabel med et antal kolonner.
  • Drag and drop research

    Det er relativt enkelt at lave en drag and drop i HTML5. Kanban-designet kan nemt implementeres; men hvordan gør man løsningen persistent? Her er et hack der ser lovende ud.

  • Udvikling af Scrum-Kanban

    Her begynder notater til udvikling af en Scrum-Kanban. Formålet med projektet er at udvikle en Kanban, der kan køre som et plugin i WordPress. Dels for at arbejde teoretisk med IT-projektstyring – og dels for at prøve  muligheder med HTML5 og CSS.

    Koden herunder stammer fra W3Schools og den laver den basale funktionalitet; men løsningen er ikke persistent. En persistent løsning bør kunne udvikles via PHP og MySQL. Sprints er:

    1. Gemmefunktion – overfører data til databasen via POST.
    2. Udvikling af ER
    3. PHP
    4. Database
    5. Integration med WordPress API
    <html>
    <head>
    <style type="text/css">
    #div1 {width:350px;height:70px;padding:10px;border:1px solid #aaaaaa;}
    #div2 {width:350px;height:70px;padding:10px;border:1px solid #aaaaaa;}
    #div3 {width:350px;height:70px;padding:10px;border:1px solid #aaaaaa;}
    .divX  {width:350px;height:70px;padding:10px;border:1px solid #aaaaaa;}
    </style>
    <script>
    function allowDrop(ev)
    {
    ev.preventDefault();
    }
    
    function drag(ev)
    {
    ev.dataTransfer.setData("Text",ev.target.id);
    }
    
    function drop(ev)
    {
    ev.preventDefault();
    var data=ev.dataTransfer.getData("Text");
    ev.target.appendChild(document.getElementById(data));
    }
    </script>
    </head>
    <body>
    
    <p>Drag the W3Schools image into the rectangle:</p>
    <div id="div2" ondrop="drop(event)" ondragover="allowDrop(event)">Backlog</div>
    
    <div id="div2" ondrop="drop(event)" ondragover="allowDrop(event)">Todo</div>
    
    <div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)">Done</div>
    
    <img id="drag1" src="img_logo.gif" draggable="true" ondragstart="drag(event)" width="336" height="69">
    
    <div id="QQ" class="DQ" draggable="true" ondragstart="drag(event)">
     Drag Queen
    </div>
    
    </body>
    </html>
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