(Advarsel: Man skal nok være lettere teknisk interesseret for at få noget ud af dette indlæg, eller for bare at gide læse det.)
Dette indlæg er en fortsættelse til "Befri din webshop", hvor jeg gennemgik argumenterne for valget af VTL som template sprog til EasyFlow platformen.
Når man bruger VTL som sprog, er det nødvendigt at lave et objekt hierarki der sætter brugeren/udvikleren i stand til at udtrække de data der ligger i systemet.
Node og nodetyper
EasyFlow er lidt anderledes end andre webshop systemer, i sin måde at håndterer data på. De fleste andre har faste definitioner af hvilket felter en side eller en varer indeholder. EasyFlow ligner i højere grad Umbraco eller SiteCore fordi det understøtter struktureret data. Hvor man selv bestemmer hvilket felter sider og produkt m.m. skal indeholde.
I EasyFlow kaldes de forskellige datadele for noder og hver node er skabt ud fra en nodetype, der bestemmer hvilket felter noden indeholder.
Reelt set giver node begrebet i EasyFlow, nogenlunde samme frihed som en relations database, begrebet er dog noget mere tilgængeligt for ikke programmører og passer bedre til modellering af sites.
Ovenstående skærmbillede viser redigeringsvinduet for nodetyper.
Udtræk af data og sprog baseret udvikling
For en del tid siden så jeg et foredrag med Martin Fowler og en anden fyr, der talte om sprog baseret udvikling, som en programmeringsstil. Ideen stammede fra en observation om at programmeringssprog i modsat til menneske sprog ikke huskede kontekst. Og at dette gjorde programmeringssprog unødvendigt kluntede at formulerer sig i. Dette illustreres bedst ved et eksempel: Hvis man f.eks. skal bestille en is, kunne man bruge flg. Sætning:
En is med en kugle jordbær, en kugle chokolade og en kugle vanilje.
I et programmeringssprog, vil dette typisk formulerer a la flg.
Var is = new Is();
is.TilføjKugle("jordbær");
is.TilføjKugle("chokolade");
is.TilføjKugle("vanilje");
Men hvis man i stedet lod metoden TilføjKugle returnere en reference til objektet selv (this), så kunne sætningen formuleres meget mere elegant:
Var is = (new Is()).TilføjKugle("jordbær").TilføjKugle("chokolade").TilføjKugle("vanilje");
Sprogbaseret udvikling egner sig rigtigt godt til VTL, fordi der er nemt at lave et objekt hierarki der understøtter udtræk af data.
Derudover har sprogbaserede udtræk, den fordel at det spiller ekstremt godt sammen med en editor der understøtter intellisense og errorhighlighting. Jeg har desværre ikke fundet en rigtigt god kode editor endnu, det eneste jeg kunne finde var nogle baseret på JavaScript som understøttede syntaxhighlighting.
Så det ender nok med at vi bliver nødt til at skrive vores egen i Flex. Det er målet at redigering af VTL skal være en ligeså lækker oplevelse som at redigerer C# i Visual Studio med Resharper. Jep, ambitionerne er tårnhøje, men vores Flex mand er også dygtig så mon ikke han klarer den.
Så er det på tide at kigge lidt på koden til feedet, den endte med at se som flg.:
01: <webgains>
02: #foreach( $node in $nodeRepository.GetByNodeType("Standardvare") )
03: #if ($node.IsSoldOut == false)
04: <product>
05: <product_id>$node.ProductCode</product_id>
06: <product_name>$node.Name</product_name>
07: <description>$node.GetProperty("Kort Beskrivelse").Value</description>
08: <category>#if ($node.Parents.OfNodeType("Brand under Type").Count > 0)
$node.Ancestors.OfNodeType("Køn").Item(0).Name > $node.Ancestors.OfNodeType("Type").Item(0).Name#end</category>
09: <price>$node.Price.Replace(",",".")</price>
10: <extra_price_field>$node.DiscountPrice.Replace(",",".")</extra_price_field>
11: <deeplink>#if ($node.Urls.Count > 0)$node.Urls.Item(0).Absolute#end</deeplink>
12: #set( $stortBillede = $node.GetProperty("Stort billede"))
13: <image_URL>#if ($stortBillede.HasValue)$stortBillede.Url.Absolute#end</image_URL>
14: <brand>#if ($node.Ancestors.OfNodeType("Brand").Count > 0)$node.Ancestors.OfNodeType("Brand").Item(0).Name#end</brand>
15: <availability>in stock</availability>
16: <delivery_time>1 day</delivery_time>
17: <delivery_cost>0</delivery_cost>
18: </product>
19: #end
20: #end
21: </webgains>
Linie 02: NodeRepository bruges til hente en liste af alle noder af typen Standardvare og iterer over dem.
Linie 03: IsSoldOut bruges til at sikre at kunne varer der er på lager kommer med i feedet.
Linie 05: Varer nummeret skrives i feedet
Linie 06: Varens navn udskrives
Linie 07: Tekstfeltet kort beskrivelse hentes og skrives til feedet
Linie 08: Udfra hvilket noder varen ligger under skrives køn og type f.eks. Kvinder > Håndtaske
Linie 09: Prisen skrives og fordi det er et krav til feedet, så erstattes komma med punktum
Linie 10: Rabatprisen skrives
Linie 11: En url til selve varen skrives
Linie 13: En url til et billede af varen skrives
Linie 14: Mærket på varen skrives
Det var både hurtigt og nemt at skrive koden, ligesom jeg også tror at når næste feed skal implementeres, så vil det også foregå rigtigt hurtigt.
Selvom det er smart at kunne implementerer forskellige feed formater hurtigt. Så er den mest kræftfulde anvendelse af VTL uden tvivl at den sammen med Webservices kan bruges til at udvide hvordan et EasyFlow-baseret site opleves af besøgende. Man kan f.eks. udvikle flg. blog, forum, auktion, udlejning etc. Oven på EasyFlow løsning.
Overfor slutbrugeren vil udvidelser virker som en fuldstændigt integreret del af shoppen, ikke noget fedteri med iframes etc.
I de næste indlæg vil jeg prøve at gennemgå hvordan man udvikler ny funktionalitet ovenpå EasyFlow. Det må også snart være på tide med en status på vores outsourcing projekt og så er der også at Photoshop plugin som er ved at være klar.
Hvis du skulle være interesseret i at prøve beta'en af den nye platform, så kan skrive til mig på plu@easyflow.dk så sender jeg fluks et login retur.
(Advarsel: Man skal nok være lettere teknisk interesseret for at få noget ud af dette indlæg, eller for bare at gide læse det.)
For mig som udvikler er en af de mest irriterende mangler ved standard webshop så DanDomain, Scannet og os selv EasyFlow, at man ikke kan få lov at kode videre på dem.
Så selvom man har evner er det ikke muligt lige at kode den feature eller det layout, der skal til for at gøre ens shop eller site bliver helt perfekt.
Men det skal være slut, for et par dage siden fik jeg opgaven at lave et data feed til en af vores konsulent kunder, og i den forbindelse besluttede jeg at det er på tide at EasyFlow får et template sprog.
Det første valg jeg skulle træffe, var om jeg skulle bygge mit eget sprog eller finde et eksisterende som jeg kunne udvide. Jeg tænkte tilbage på kompiler konstruktion på universitet, og indså hurtigt at det ville være alt for omfattende at skrive sit eget sprog. Så jeg var altså tvunget til, at finde et eksisterende sprog som jeg kunne ændre så det passede ind i EasyFlow system.
EasyFlow er bygget på Microsofts .Net teknologi, så det var oplagt at kigge på hvordan andre systemer der er baseret på .Net havde implementeret deres template sprog. To af de Content Management systemer der har mest succes i .Net verden er SiteCore og Umbraco.
Begge bruger XSLT som template sprog, og en af grundene til det er at .Net platformen indeholder en XSLT motor, som gør meget af arbejdet for en. Det er også nemt, at udvide med egenudviklede .Net funktioner.
Dette gør XSLT til oplagt kandidat, men enhver der har prøvet arbejde med XSLT ved også at det ikke er en smertefrit. Til bestemte opgaver er XSLT unødigt kluntet og besværligt.
Dette er ikke fordi at skaberne af sproget ikke har tænkt sig om, snarer tværtimod. Sagen er den at XSLT er bygget til at kunne transformere meget store dokumenter (flere 100 mb). For at kunne gøre dette hurtigt, er det væsentligt at de forskellige linier/blokke af XSLT kan behandles parallelt. Så arbejdet kan fordeles ud over flere kerner og processorer.
Jeg arbejdede engang på et projekt i forbindelse med kommune sammenlægning, hvor vi skulle konvertere sags journaler. Havde XSLT ikke været så let at paralleliserer, så havde det været ubrugeligt for os.
Men når man bruger template sprog til at vise websider, så er evnen til parallel behandling typisk i ligegyldig. I stedet vil man havde et sprog der er så let og simpelt som muligt, man har ikke tid kluntet og besværlig syntaks.
Så jeg måtte ud at lede et andet sprog, der var lettere og mere intuitivt at bruge.
En af de væsentligst nyere platforme indenfor webudvikling, er Ruby-on-Rails. Det er et genialt framework, der ved at gøre simplere og hurtigere at skrive webapplikationer.
I lyset af Ruby-on-Rails' succes er der lavet adskillige Rails inspirede frameworks, til de forskellige platforme. Java har Groovy on Grails, Python har Django osv. og på .Net platformen har vi Castle og ASP.Net MVC.
Specielt Castle projektet er interessant i forbindelse med template sprog, for det bruger et sprog der hedder VTL. Sproget er skrevet til at være let og simpelt at bruge og lærer. Hvilket betyder at sproget et meget lille ordforråd og kan læres på omkring en 30 minutter, hvis man er vant til at programmerer.
Sproget er faktisk så simpelt, at jeg ville tro at det også er nemt at lærer selvom man ikke kan programmerer. Det eneste man skal gøre er at læse guiden til sproget, også skulle man være kørende.
Måden man udvider sproget, så det kan snakke med EasyFlow løsningen er ganske simple. For VTL gør det muligt at eksponerer almindelige .Net objekter, som efterfølgende kan manipulerer via VTL.
Indtil videre er jeg meget tilfreds med VTL, det har vidst sig både hurtigt at arbejde med og at udvide.
I næste indlæg vil jeg vise koden til data feedet og samt hvad man mere kan bruge VTL i EasyFlow.
Vi står overfor at skulle ansætte en ny udvikler. Vi havde umiddelbart tænkt os, at ansætte en dansker som så skulle havde fast arbejdsplads på vores kontor på Nannasgade i København.
Men nu har vi fået et specielt attraktivt tilbud. Vi har fået mulighed for at hyrer en eller flere Vietnamesiske udviklere , igennem en rigtigt god samarbejdspartner. Det eneste vi skal betale for løn og husleje. Så der er ikke noget overhead i form af profit, til en lokal projektleder.
Som det ser ud nu, er det meget meget billigt, cirka en tredje til fjerde del af hvad en dansk udvikler koster.
Det eneste problem, er at jeg indtil videre , kun har haft negative erfaringer med at bruge programmører fra lavlønslande. Faktisk kan jeg næsten ikke kan kalde dem negative, for mit firma har tjent en god skilling på at redde kuldsejlede outsourcing projekter.
Så hvorfor skulle vi kunne gøre det bedre? Det er heller ikke sikkert, at vi kan, men vi vil i hvert fald gøre det anderledes. Det er væsentligt at sige, at er klar over at vi bliver nødt til at gå til denne opgave, med en relativ stor ydmyghed. Selvom vi mener, at vide en hel del om software udvikling, så kender vi intet til Vietnamesisk kultur.
Den model jeg pt. Har i tankerne, er at bruge et princip om at ingen af os må outsource opgaver som vi ikke selv kan løse. Samtidigt er vi selv(i den danske afdeling J) 100% ansvarlige for kvaliteten af de udførte opgaver, samt kommunikationen med evt. eksterne kunder. Alle opgaver der afleveres til kunder, skal først testes af den danske opgavestiller, før de afleveres til kunden.
Jeg håber at dette kan gøre at vi undgår den situation, som jeg har set flere gange med outsourcing projekter. Hvor man for sent opdager fejl og uhensigtsmæssigheder i det outsourcede arbejde.
Ideen er at vi dagligt skal gennemgå alt gårsdagens kode, for at sikre at der ikke er nogle misforståelser imellem den vietnamesiske udvikler og den danske krav stiller.
Jeg havde tænkt mig at vi skulle arbejde efter Scrum processen, specielt princippet om Sashimi tror jeg er smart i vores tilfælde. Princippet går i alt sin enkelthed ud på at en opgave først kan betragtes som lukket når den er kørende og testet i et integrationsbuild.
Jeg vil rigtigt gerne hører din mening om setup'et, er der nogle faldgrupper jeg har overset? Er outsourcing overhovedet en god ide? Vil vores kunder reagere negativt, på at vi outsourcer eller vil de se det som en fordel?
I går var jeg med til Arctic Evening der er et koncept hvor startups kan komme og pitche deres ideer overfor venture kapilister og andre startups.
Det var en rigtigt god oplevelse, at være med til. Der var utroligt mange spændende folk der har gang i en masse fede projekter. Man kunne ikke undgå at havde mere energi med derfra, end man havde da man ankom.
Det blev også til et gensyn med en medstuderende fra DTU, der er i gang med at lave en super sprød social gaming platform til iPhone
Jeg mødte også en gammel bekendt, der var med i Hoist der ser også rigtigt lovende.
Der var rigtigt fedt at se de forskellige pitches, ideerne var rigtigt gode og de forskellige talere var stort set alle super til at formidle deres budskab. Faktisk er jeg ret sikker på at jeg selv, havde klart det værste indlæg.
Jeg stod og fablede om Photoshop integration, iterative processer og værdien af et platform uafhængigt komponent marked. Om en bedre fordeling af opgaverne imellem kommunikationsfolk og webudvikler. Om hvordan vores produkt udover at gøre udviklingen væsentligt billigere også nærmest automatisk medføre et bedre resultat. Om platform-as-a-service og Freemium modeller.
Der var et tydeligt udtryk af ligegyldighed i stort set alle tilskuernes øjne. Det ramte dem overhovedet ikke.
Hvad gik galt? Tænkte om som gal, på vej hjem i bilen. Jeg har leveret snesevis præsentationer af vores produkt, til designere, reklamefolk, udviklere, bestyrelse m.m. og de var alle uden undtagelse gået rigtigt godt, men denne gang floppede jeg totalt. Tidligere havde jeg haft en powerpoint at holde mig til, her var det bare nogle få minutters tale uden powerpoint.
Så slå det mig, og det gjorde faktisk lidt ondt. For jeg blev så ærgerlig over den kæmpe chance, jeg lige havde forsplidt.
Jeg skulle bare havde sagt at vores produkt kunne spare dem for 50 % af deres udviklingsomkostninger.
Så havde alle lyttet. Sagen er langt de fleste publikummer var iværksættere, der enten havde brugt eller søgte penge til at udvikle en webbaseret tjeneste. Hvis jeg havde fortalt dem, at de kunne spare halvdelen så havde deres øre været sylespidse. Så havde de tænkt hvordan eller kan det nu også passe, men de havde været interesserede og trøstige for at få mere at vide om os og vores produkt.
Så næste gang jeg skal tale for folk der har kendskab til processerne i webudvikling, så siger jeg bare at vores produkt gør at de kan lave eller få lavet deres ting på den halve tid og til den halve pris.
Derudover skal jeg havde noget erfaring i at tale til større forsamlinger, men mon ikke et medlemskab af JCI kan hjælpe mig på vej der.
Hvad vi bygger ?
I EasyFlow har vi igennem længere tid, arbejdet intenst på at bygge et værktøj, der sætter folk i stand til at bygge komplette websites, uden at skrive en eneste linie kode. Det er vores mål, at man kan bygge alle typer sites, via løsningen.
Derfor har vi også planer om, at åbne vores API så andre kan udvikle applikationer og komponenter til det.
Værktøjet er henvendt imod professionelle, så kravene til fleksiblitet og grafisk frihed har været meget store.
Hvor langt vi er ?
Det første live site, lavet 100 % uden kode er færdigt, og kan ses på www.schiller.dk (Kunden mangler dog stadig at lægge lidt indhold ind)
Der er lavet et par video, der viser nogle af de grundlæggende principper i vores løsning:

Vi har stadig en del arbejde der skal laves, applikationen er langt fra stabil og heller ikke så brugervenlig som den bør være. Men det grundlæggende er på plads.
Hvordan kan jeg være med ?
Det første beta login, er blevet sendt ud. Og dem der har skrevet til mig, vil få tilsendt deres logins over de næste par uger.
Hvis du kunne tænke dig, at prøve vores løsning, så skriv mig en mail på plu@easyflow.dk.
I går holdt vi stiftelse møde for vores nye bestyrelse, vi har aldrig haft en professionel bestyrelse før, så det bliver en stor omvæltning for os.
Lige meget hvor professionelle vi selv mener at være, så er jeg sikker på at vi alle har godt af at skulle stå til ansvar overfor nogle andre, der hjælper os med at holde fokus. Det er nemlig rigtigt svært, at havde næsen så langt nede i driften af virksomheden som vi har, samtidigt med at holde fokus på de langsigtende mål.
Udover at hjælpe med selve styringen af virksomheden, har vi også været super heldig at få nogle bestyrelsesmedlemmer der er utroligt kompetente og erfarne, samtidigt supplerer de forskellige medlemmers områder hinanden rigtigt godt.
På mødet var der er en rigtigt god stemning, til at starte tog vi en kort introduktionsrunde. Hvor hvert medlem fortalte kort om den selv. Jeg må indrømme, at efter denne runde, havde jeg en rigtigt, rigtigt god mavefornemmelsen.
Bestyrelses medlemmerne er:
- Finn Geisler - Formanden og købmanden
- Sam Steffensen - Konceptmanden med masser international erfaring og netværk.
- Martin Grønbæk von Haller - IT-Advokaten der har været med i webbranchen siden starten.
- Boye Hartmann - Forretningsudvikler og kapital fremskaffer extraordinaire.
- Martin Moos - Den kreative, der kender alt til hvordan Photoshop og dets brugere virker.
Herefter aftalte vi papirgange for hvordan bestyrelsen løbende holder sig orienteret. Og fast satte datoer og temaer for årets bestyrelsesmøder.
Herefter snakkede vi lidt om hvilket udfordringer vi har på produkt udviklingsfronten.
Det var super konstruktivt, jeg glæder mig virkeligt til vores første bestyrelsesmøde. Selvom der er en del arbejde i forbedredelsen til det.
Jeg startede for noget tid siden, en tråd hvor jeg ærgrede mig over hvor mange af de helt små webshops, der har aldrig rigtigt bliver til noget på pga. for små opstartsbudgetter.
Formålet var at finde ud af om der var interesse for et gratis for iværksættere koncept, og hvordan betingelserne for sådan et koncept skulle se ud.
Ud fra tråden, blev vi i EasyFlow enige om at det var en rigtigt god ide, som vi ønskede at prøve af. Der var ikke rigtigt nogen modvilje, imod at gøre det til at krav, at iværksætteren skulle sørge for Dankort betaling på shoppen, samtidigt blev det fastsat at shoppen var gratis indtil der var en månedlig omsætning på 5000 kr., eller der er gået et år.
I første omgang, for at prøve konceptet af, giver 100 webshops gratis til iværksættere på Iværk08. Det har allerede resulteret i en del mails, fra folk der ikke kunne komme til messen, men rigtigt gerne vil havde en gratis webshop. Fedt med den forhåndsinteresse.
Det er vores håb at besparelsen bliver investeret i markedsføring, design, dankort etc. for på den måde at øge chancen for at det bliver en succesfuld webshop.
F.eks. hvis man ikke selv kender en webdesigner, kan man med fordel købe en af vores designpakker. Et almindeligt design koster 5.000 DKK, og udarbejdes af en vores professionelle design partnere.
På messen vil det være muligt at møde en af vores designpartnere, nemlig Martin Tygsen som mange sikkert kender fra Amino. Martin har yderligere indvilliget i at udlodde en design pakke i vores messe konkurrence.
Den næste version af EasyFlow hedder 2.3, og er et lille skridt på vejen imod vores ambition om at lave den optimale webshop løsning.
Den primære nyhed i EasyFlow 2.3, er at administrationssystemet, er blevet opgraderet væsentligt. Der er sket flg.:
Hjælpetekster indbygget i brugerfladen:
Da jeg startede med, at lave webshops havde jeg svært ved, at se hvorfor Scannets Webshop havde så stor succes. Noget jeg i øvrigt ikke var ene om, se f.eks. her, men efterhånden som jeg snakkede med forskellige brugere, så fandt jeg frem til at systemet, opleves som værende utroligt let og kraftfuldt. Det kunne jeg ikke forstå, da systemet ud fra et udvikler synspunkt, virkede noget gammeldags. Men det er jo ikke udviklere, der køber og bruger webshop løsninger.
Efter at havde prøvet adskillige Scannet demoshops, indså jeg at systemet er genialt specielt for førstegangsbrugeren, fordi hjælpeteksterne er indbygget i brugergrænsefladen. Hvilket gør at brugeren, bliver taget i hånden og guidet igennem de opgaver der skal udføres.
Inspireret af dette har vi indbygget hjælpetekster direkte ind i brugerfladen, så EasyFlow er blevet væsentligt lettere at komme i gang.

Hjælpetekster i brugerfladen, er ikke en rose uden torne, og for avancerede brugere kan de ofte få systemer til at sløve og klodsede. Derfor har vi lavet et faneblad, uden hjælpe tekster, men ekstra info.

I den næste version, bliver det muligt at rette data direkte i dette faneblad, på en lækker Excel -lignende måde.
Nyt vindue system
Det har altid været muligt at åbne flere vinduer i EasyFlow's administrations system. Men tidligere har der været, nogle problemer omkring hvornår de åbne vinduer vises og skjules.
De er nu løst, ved at lade vinduerne, være implementeret direkte i Explorer vinduet. Udover at løse problemet, ser de nye vinduer rigtigt lækre ud.

Inddeling i faneblade
Tidligere har administrations modulet, været baseret på en enkelt træ kontrol, men da der rigtigt mange muligheder, er der også mange ikoner. Dette har gjort systemet komplekst og svært at overskue.
Derfor har vi opdelt træet i faneblade, hvori de forskellige dele af systemet er logisk grupperet. På denne måde, er systemet blevet meget mere overskuelig.
Preview som navigeringsmetode
Et andet problem, ved træ kontrollen, er at man nogle gange har svært at se sammenhængen imellem træet og websitet. For at gøre dette lettere har vi indført en Preview fane, så sammenhængen bliver åbenlys og det er hurtigt at se hvordan de ændringer man har lavet, ser ud på sitet.

I en fremtidig version, vil det være muligt at rette data direkte på sitet, lidt a la SiteCore, Secoja, Monosite etc.
På trods af de nævnte nyheder, er det mest spændende ved version 2.3 faktisk det der sker under motorhjelmen. Her ligger nemlig fundamentet til de næste version, der både byder på design- og funktionalitets frihed.
Så har jeg endelig fået taget mig sammen til at oprette en Amino-blog. Der er så mange tanker og ideer der bare må ud og blive delt med resten af verden. Jeg håber på så meget dialog som muligt, ser frem at få udvidet min horisont, samt måske at jeg kan være med til at udvide din.
Men før jeg kommer med ideer og meninger ad libitum, er det kun fair at du få lidt at vide om mig og firmaet EasyFlow.
Hvem er Peter Lundsby
Jeg er 31 år gammel, bor på Nørrebro, medejer af EasyFlow og jeg brænder for at lave god software. Hele mit uddannelses- og arbejdsliv har drejet sig om konstruktion af software. Rent fagligt er jeg uddannet Civilingeniør med speciale i IT.
Men teori er som bekendt ikke nok, derfor jeg brugt 5 år som freelance konsulent i forskellige store danske virksomheder. Her har jeg indtaget mange forskellige roller såsom udvikler, projektleder, arkitekt og teknisk ansvarlig. Det har været nogle utroligt lærerige år. Det fantastiske ved at være hyret ind som ekspert, der skal videregive en masse viden og erfaring, er at der næsten altid flyder ligeså meget viden den anden vej. Og så har gagen bestemt også været tilfredsstillende.
Undervejs er det blevet til længere ophold hos: Københavns lufthavne, BankInvest, PKA, KMD og BRF.
På teknologi siden, er jeg stor fan af Microsofts .Net teknologi. Efter min mening tilbyder denne platform de bedste muligheder for udvikling af stabile og skalerbare web løsninger.
Mht. udviklingsmetodikker, tror jeg primært på den agile tænkegang, er stor tilhænger af XP og Scrum. Programmering er bare sjovere, med en røvfuld unittests til at man er på vej imod målet, og ikke væk fra det.
Selvom XP er fantastisk, tror jeg stadig på de traditionelle design dyder, som ansvardrevet design, patterns, MVC og lagdeling.
Lidt om EasyFlow...
EasyFlow er et lille firma med den store ambition at lave det optimale webshop-system. Vi har eksisteret i 5 år, og sidder i dag på en mindre del af markedet.
Men vi har nogle ting i støbeskeen, der markant vil skubbe grænsen for hvad man kan med et standard webshop system. Igennem flere år har vi lyttet til kunder og programmeret på livet løs, nu er vi ved at være klar, så i 2008 lancerer vi vores bud på hvordan et standard shop system, bør skrues sammen.
Jeg kan desværre ikke komme med detaljer endnu, men forvent designfrihed og fleksibilitet taget til ekstreme højder.