Først en advarsel, sidder du og surfer med en ældre browser, så er det muligt at du ikke får det fulde udbytte af denne artikel...

Det er jo privilegeret at få et "Go!" på ens ideer. Opgaven gik i korthed ud på at implementere en talebobbel som man kan taste noget tekst i, opgaven blev defineret som : Et baggrundsbillede, med tekst på.

Den er forholdsvist hurtigt klaret, tegn en tom talebobbel, sæt den som baggrund i et p tag og skriv teksten ind i tagget. Men det giver bare ikke den største frihed. Jeg har for ikke længe siden læst en artikel om figurer i CSS så jeg foreslog kunden at jeg løste opgaven alene ved hjælp af CSS.

Kunden er også en god ven, så det gjorde det nok lidt lettere, her er processen der blev brugt som "proof of concept".

p.talebobble {
  background-color: #FFF;
  background: url('/wp-content/uploads/tanke2.png');
  width: 231px;
  height: 111px;
  text-align: center;
  padding-top: 66px;
}

Og så skrive "At tænke sig" i et p tag der benytter css klassen "talebobble" så ender man med noget lignende :

At tænke sig...

 

som nok kan forbedres stadig

Jeg foreslår en løsning som er rent css baseret, det får som sådan ikke den store betydning for dig, det gør det bare mere fleksibelt. Her er hvad jeg tænker :

Der skal bruges en bobbel, og de små bobler der leder ned til "tanken"

der skal bruges en p tag til at omslutte. Lige som i ovenstående og så skal der tegnes en ramme om tagget, den skal have runde hjørner, meget runde, og som på tegningen giver vi den også noget box shadow.

p.boblen {
	position: relative;
	width: 200px;
	height: 100px;
	text-align: center;
	line-height: 100px;
	margin: 10px 23px 20px 15px;
	background-color: #fff;
	border: 8px solid #666;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	border-radius: 30px;
	-webkit-box-shadow: 2px 2px 4px #888;
	-moz-box-shadow: 2px 2px 4px #888;
	box-shadow: 2px 2px 4px #888;
}

p.boblen:before, p.boblen:after
{
	content: ' ';
	position: absolute;
	width: 0;
	height: 0;
}

At tænke sig...

Godt begyndt er halvt fuldendt - dette er både fundament for en talebobbel og en tankebobbel, så er der de små bobler, der leder ned til tanken, eller en lille snip der leder ned til talen.

Her skaber en ny klasse, da vi gerne vil opnå begge variationer, det er netop en del af fleksibiliteten i forhold til en tegning :

p.tanke
{
	width: 130px;
	line-height: 100px;
	-webkit-border-radius: 108px;
	-moz-border-radius: 108px;
	border-radius: 108px;
}

p.tanke:before, p.tanke:after
{
	left: 10px;
	top: 70px;
	width: 40px;
	height: 40px;
	background-color: #fff;
	border: 6px solid #888;
	-webkit-border-radius: 28px;
	-moz-border-radius: 28px;
	border-radius: 28px;
	-webkit-box-shadow: 1px 3px 6px #999;
	-moz-box-shadow: 1px 3px 6px #999;
	box-shadow: 1px 3px 6px #999;
}

p.tanke:after
{
	width: 20px;
	height: 20px;
	left: 5px;
	top: 100px;
	-webkit-border-radius: 18px;
	-moz-border-radius: 18px;
	border-radius: 18px;
}

Prøver igen med en

<p class="taleboblen tanke">At tænke sig...</p>

At tænke sig...

 

Så har den fået tankebobbel form, men det ser ikke rigtigt ud synes jeg, en talebobbel skal pege mod den største del af indholdet, så jeg vil lave 2 klasser "left" og "right" som hhv er float left og right... Og så lave en tanke-l for left, så er default right som vi ser ovenfor altså meningen at den skal flyde ud til højre som :

At tænke sig...

Og vi kan nu gentage processen og skabe en venstre tanke, som den vil se ud når den flyder ud til venstre og derfor har en "hale" den modsatte vej. Så vi genbruger boblen, og det eneste der ændre sig er placeringen af de 2 små tankebobler "halen".

 

p.tanke-l
{
	width: 130px;
	line-height: 100px;
	-webkit-border-radius: 108px;
	-moz-border-radius: 108px;
	border-radius: 108px;
}

p.tanke-l:before, p.tanke-l:after
{
	left: 70px;
	top: 70px;
	width: 40px;
	height: 40px;
	background-color: #fff;
	border: 6px solid #888;
	-webkit-border-radius: 28px;
	-moz-border-radius: 28px;
	border-radius: 28px;
	-webkit-box-shadow: 1px 3px 6px #999;
	-moz-box-shadow: 1px 3px 6px #999;
	box-shadow: 1px 3px 6px #999;
}

p.tanke-l:after
{
	width: 20px;
	height: 20px;
	left: 95px;
	top: 100px;
	-webkit-border-radius: 18px;
	-moz-border-radius: 18px;
	border-radius: 18px;
}

At tænke sig...

Den er ikke som sådan responsive, den kan heller ikke bruges til meget andet end 3-4 ord på een linie (line-hight: 100px) men f.eks som her til lige at "fremhæve" noget tekst - det var også det opgaven gik ud på.

Det var tankeboblen, jeg vender tilbage med taleboblen.

Selve metoden stammer fra en artikel jeg læste engang af Craig Buckler - jeg har ledt efter den igen, men fik desværre ikke sat den under mine bogmærker, jeg vil lede videre og opdatere denne artikel med et relevant link hvis jeg finder den.

Sikkerhed på nettet er ikke kun et spørgsmål om ikke at surfe pornosider, men også om at styrke ens egen hjemmeside (hvis man har en naturligvis) - denne artikel vil tage udgangspunkt i at det har du (læseren)...

Du har valgt design, du har en host, et lækkert domæne og du har fundet markedets dygtigste og billigste udvikler til at løfte opgaven...

Lad os sige at WordPress er valgt som grundlag, f.eks. lige som denne side... Det første "man" gerne gør som nyslået ejer af et domæne med hjemmeside cms er at finde en masse plugins som kan gøre livet sjovere, lettere i nogen tilfælde også...

Og så naturligvis fylde noget interessant indhold på... Hvis man laver en "out of the box" wordpress installation - så er der lige et par småting man bør rette til...

1. Log ind på dit webhotel/server og find din .htaccess fil - den bør være synlig, men nogen få hosts har jeg oplevet skjulte .htaccess - den er der, blot ikke synlig - og det er noget snavs for du har brug for den i andre sammenhænge også - men inden du tænker: øv jeg har valgt den forkerte host - gå lige ind i din backend i WordPress og til Indstillinger->Permanente Links - ændre indstillingen, det er fuldstændigt ligegyldigt lige nu hvilken du anvender (der ikke er default) - gem ændringer og check din FTP klient igen...

Har du nu en .htaccess fil ? Jeg antager "ja" 🙂 åben denne fil - og tilføj disse linier :

<files wp-config.php>
  order allow,deny
  deny from all
</files>

Grunden til dette er at din wp-config.php indeholder dine databaseoplysninger - og kan man (af andre veje) kompromitere din server, så kan man også komme til dine data - herunder kundeoplysninger...

2. Sørg for at din server er sat til sikre filrettigheder

2. a Skift alle directories til 755 - det betyder at ejeren af directory (det er din konto) kan læse, skrive og udføre opgaver i det directory, alle der tilhører den gruppe som ejer tilhører - det kan sagtens være flere brugerkonti - kan læse filer og udføre opgaver - og alle andre har samme rettigheder - udføre opgaver betyder dybest set blot kan skifte directory, liste filer (hvis ikke det er forbudt via andre kanaler)... Det vigtige her er at INGEN andre end ejeren har rettigheden "7" - der betyder at de også kan skrive - det er enormt vigtigt faktisk - en del hoteller - jeg har set dette i gamle dage på BlueHost - sætter som standard alle directories og filer til 777 - og det er uhyre "farligt" - da det betyder at "alle" kan skrive til serveren, og det er vi på ingen måde interesseret i, får nogen held til at kompromittere serveren, og lægge en fil op - kan man få alle mulige problemer... Så directories - laveste sikkerhedsniveau - 755.

2. b. Skift alle filers rettigheder til 644 - her fjerner vi lidt rettigheder i forhold til directories - for vi er ikke interesseret i at filer af sig selv om man så må sige kan udføre opgaver, som ikke er initieret gennem webserveren...

"6" betyder ejer har læse og skriverettigheder - kan rette i filen. "4" betyder at gruppen og offentligheden kan kun læse...

Er man iøvrigt tilfreds med sin template - alle php filerne der viser ens hjemmeside kan man sagtens skifte til 444 - for de filer - er det et købt, downloadet eller standard tema som twentysomething - så skal man være opmærksom på at det ikke kan opdateres - men er det ens eget tema - så styrker man sin site ret meget ved at skifte til 444 som rettighed... Jeg holder dog altid styles.css på 644 - da jeg ofte lige tweaker lidt på styles...

3. Fjern adminbrugeren, dette er en standard sikkerheds anbefaling - og du har højst sandsynligt ikke en bruger der hedder "admin" - men har du en sådan - så går du ind i din backend, finder "Brugere" og "alle brugere" - vælg at redigere "admin"...

Det første vil være en god ide er at skifte email da den adresse sikkert skal bruges til en ny administratorkonto, så skift email til "test@example.com" og opret så en ny bruger...

Dette vil være din administrator bruger - denne bruger kan ALT på din side - sørg for at denne bruger har et vildt svært, langt, umuligt at gætte password - det bedste du kan gøre er at anvende en "random password generator" og så naturligvis notere den ned et sted - en fil på din computer er OK - men bedre er en fil på din USB nøgle...

Nu har det hidtil været sådan at WordPress blev angrebet ved forsøg via "admin" brugeren, men en åbenhed i WordPress gør at der er åbnet op for at man kan gætte den nye adminbruger - nemlig ved at undersøge hvem der udgiver indlæg på siden - rigtigt mange blogindlæg har et link til forfatter - men linker til brugernavn ikke navne på brugeren, så er det MyAdmin - så er linket til forfatter : din_blog_url/author/MyAdmin og det er jo noget skidt  - for så begynder angrebene jo bare på "MyAdmin" i stedet for som før "admin".

Man kan i sit tema slå linkfunktionen fra - så det blot er navnet der bliver vist - det er forskelligt fra tema til tema hvor man gør det - men det vil nok være i filen single.php og det er muligt at det er funktionen "get_the_author()" man skal kigge efter... denne funktion skal så enten ændres til "the_author" eller overrides...

Men man kan komme udenom på en lidt enklere måde - nemlig opret en bruger - "skribenten" - og tildel denne bruger "bidragsyder" - så kan du selv når du er logget ind som administrator stadig skrive indlæg, bare husk at tildele dem til brugeren "skribent" - brugeren "skribent" oprettes med en fuldstændigt vandvittig stærk password - evt. gå ind på denne side og tast en vilkårlig tekst, og et password - jeg brugte

3000KopperKoldKaffe

i det tilfælde, og fik :

IM0BQPlI49d+g37v9ug+3pnCV7XD+xewdh4WvUBNEsGri5kUgIyvYGJl7wz3rGSB2ZBhgxlOai0=

det er et stærkt password - trust me 😉 men da "skribent" aldrig logger på, styrken ligger i det password der anvendes i krypteringen, ikke selve krypteringen - du kan evt. kopiere mit resultat taste mit password (passphrase) ind i password - du behøver ikke taste i confirm, og så trykke "decrypt" - så skulle du gerne få min oprindelige tekst... En hacker skal altså gætte din passphrase, din oprindelige lange lange tekst, samt den krypteringsmetode der er anvendt inden de kan forsøge at komme ind på din side... og logger de på som "skribent" - har de ikke nogen rettigheder på din side alligevel, for "skribent" er jo blot en bidragsyder - som iøvrigt efterfølgende kan degraderes til subscriber...

4. Installer et firewall plugin, eller monitor plugin i det mindste - jeg benytter WordFence det har den fordel at det sender mig en mail når noget har brug for at blive opdateret, det kan vise mig hvor geografisk mine besøgende kommer fra - jeg har en del besøgende fra Kina og Ukraine - det er ikke videre sandsynligt at de vil mig noget godt -  da jeg jo kun skriver på dansk og må formodes at jeg kun har læsere i norden i det mindste...

WordFence tillader mig så at blokere enkelt IP adresser, midlertidigt eller permanent, samt hele netværks grupper - som lande specifikke IP ranges... Men der er helt sikkert mange andre plugins der kan gøre et lige så godt job...

5. Tag backup, tag backup hver gang du ændre i designet, tag backup hver gang du poster et nyt indlæg - og tag jævnligt en backup (hver 2. 3. måned) af alle filer på hele sitet - download din backup - eller smid den på en dropboks, bare få den væk fra samme server som dit site ligger på - det er sket mere end een gang for mig at jeg har mistet en hel række sites fordi min host mistede en harddisk - idag med cloudhosting bør det ikke ske, men better safe than sorry - tag backup...

Jeg har mit eget automatiserede cron job, men jeg ved at der er en del ganske udemærkede backup plugins som dels tillader dig at gemme kun database - det er jo det eneste der er nødvendigt når du lægger et ny indlæg eller retter et, der tillader at tage backup af dine templatefiler (det vil oftest være de du ændre i, om du ændre noget programmeringsmæssigt - og endelig at sende hele sitet som zippet fil til dropboks...

Jeg vil nu altid anbefale også at downloade - fil for fil til en mappe på din computer via FTP - engang imellem...

6. Hold din installation opdateret - hvis du bruger et standard eller købt tema (downloadet) og vil lave om på det - så lav et såkaldt "child theme" - de temaer du ikke selv skaber har en tendens til at blive opdateret ind imellem, og hvis du ikke har et childtheme - så ryger dine rettelser lige i vasken og du kan starte forfra (eller lave en backup restore) - alternativt kan du undlade at opdatere - men hvis det er for at lappe et sikkerhedshul - at man opdatere temaet - så er der en rigtig god grund til at opdatere, og ikke mange gode grunde til ikke at gøre det...

Samme gælder naturligvis dine plugins - hvis du har behov for at rette i et plugin (det har du sjældent) så er det bedre at lave en fork, og skabe din egen kopi af det plugin, tilpas headeren og så arbejd med den, frem for at risikere at dit plugin mister alle dine geniale tilføjelser - jeg vil dog anbefale at beholde det oprindelige plugin som en inaktiv kopi - hvis der laves rettelser der har med sikkerhed at gøre - er det meget troeligt at du har brug for de rettelser også...

Når det så er sagt - hvis du har inaktive plugins (Hello dolly) som aldrig bliver brugt - hverken for at holde rede på rettelser i din fork, eller for det tilfælde at man en dag skulle få brug for... slet dem - de udgør en reel sikkerheds risiko - jo mere kode din side består af jo flere huller har den garanteret - så kode du ikke anvender - væk med det...

Det var sikkerhed for denne gang - men et emne der ikke er færdigt herved - jeg vil vende tilbage med mere om sikkerhed...

 

[fb]

Det skal være unikt og bare sige kapaow når folk kommer ind på forsiden, der skal være noget shop og så de sædvanlige ting med kontaktformular, blå nuancer... Men det skal helst ikke ligne for meget alle andre sider på nettet.

Det er en ret gennemsnitlig kravspecifikation, man kan jo så starte med at bede om et budget, men det er sjældent til at få heller - det er jo mig der er udvikleren så jeg må sige hvad det skal koste...

Det sker faktisk (sikkert overraskende for mange) at vi som udviklere bliver mødt med ovenstående "kravspecifikation", og umiddelbart efter : Hvad koster det ?

Og her starter så gerne en ørkenvandring for ingen penge, for det jeg mener siger kapaow og er unikt er jo ikke nødvendigvis det samme som det du finder unikt, smukt og med stor kapaowværdi...

Faktisk er min erfaring at det meget sjældent er tilfældet, jeg har et eksempel - det er lidt en idle ting, så når jeg ikke har andet - eller drikker min kaffe - så laver jeg noget design, og har jeg en kunde i pipeline, så er det gerne dem der er prøvekluden - de designs jeg laver er jo gerne noget jeg synes er lækkert, i nogen tilfælde endda "nyskabende" - som for nyelig da jeg lavede en WordPress template (theme) baseret 100% på twitters bootstrap framework, kun for sjov...

Nåmen klienten (sælgeren) kontaktede mig (for at yderligere udskyde bestillingen) - og jeg tilsendte et design baseret på dette bootstrap theme, samt 2 andre udkast... Og der får jeg så en værdifuld oplysning, nemlig at slutbrugeren synes at vand er beroligende... Der er, skal jeg indrømme, ikke meget vand i hverken min bootstrap udgave, eller de 2 andre... Faktisk er de nok forholdsvis tørre "rene" om man så må sige, ikke æteriske - men estetiske - her er det jo igen det der findes i mit hoved, da det er umuligt at få "brugbar" oplysning ud af klienten...

Jeg ved allerede hvordan denne opgave vil udvikle sig - nemlig at klient og slutbruger er enige, på et grundlag lignende :

b(ruger): Altså jeg kan jo godt lide rindende vand, det er så beroligende...
s(ælger): Ja det vil jeg give dig ret i, jeg fortæller udvikleren at det skal være med rindende vand.
b: Ja der skal jo naturligvis også være betaling med Visa og MasterCard - samt andre almindelige korttyper.
s: Naturligvis skal der det - kortbetaling: plus x,xxx.- Kr
b: Og altså - helt ærligt, lang lang de fleste af de hjemmesider jeg kommer til - de ligner jo hinanden, det skal vi for alt i verden undgå.
s: Ja det må jeg give dig ret i, der er alt for lidt nytænkning, men der har vi et helt unikt koncept - unikt design: plus x,xxx.- Kr
b: Ja altså det er jo vigtigt at vi kan holde et budget også, jeg er nok klar over at tingene ikke er gratis, men det skulle jo helst heller ikke trække hele mit års overskud ud...
s: Nej det er klart, altså vi har kontakt med nogen rigtigt dygtige designere og udviklere, de befinder sig i Thailand, og det er nogen helt andre priser her - unik ud af design: minus xxx.- Kr
b: jamen det lyder som om vi er enige så, jeg forventer at vi er online engang i næste uge - da jeg allerede har bestilt avisreklamerne...

Sælger ringer så til mig, og siger - det er en vildt god kunde... fremadrettet... der vil komme massere af arbejde fra denne kunde... Så du må give mig en rigtig god pris... Det er vildt vigtigt at vi kan komme så langt ned som muligt...

Jo - plejer jeg at sige - men hvad drejer det sig om ? Jo altså der skal laves et vildt fedt design, det skal sige kapaaow...

Mnjaaa - jeg prøver altid at komme med et bud på en pris - men mirakuløst kommer der efter tilbudgivning altid noget tillæg - er det muligt at have oversættelse i den løsning - ja det er det - det tager kun 5 minutter - uden beregning... Hvad med facebook integration (efter et par dage) - ja det er også muligt - det tager kun 5 minutter...

Efter noget tid er timelønnen halveret, ved hjælp af "det tager kun 5 minutter" opgaver...

Men dagen oprinder - man skal præsentere slutbrugeren for et produktudkast, herunder design - og det er så der den første hurdle skal overkommes - for sælger har ikke tidligere nævnt rindende vand for undertegnede - så slutbruger er mildt sagt noget skuffet, ikke så meget som en dråbe vand...

Der er ikke nogen Dankort Visa betaling - ingen har fået vidregivet til slutbrugeren at det kort kræver en aftale med NETS/PBS - og den type aftaler koster penge og tager tid, det er ikke ordnet på 5 minutter, og PayPal samt alle andre betalings gateways tager tid, der er kun banktransfere, stort set eller "pr. efterkrav" som kan implementeres øjeblikkeligt.

Dette kan man forsøge at fortælle, primært sælger - men sælger ønsker sjældent at komplicere verden for slutbrugeren, så de glemmer ofte den type detaljer (dette gælder iøvrigt også om man forhandler direkte med slutbrugeren) - ud fra en "hvor svært kan det være" filosofi...

Derudover mangler der minimum 12 undersider, det er ikke noget du har fået materiale på for det er jo "standard" (det kan være handelsbetingelser, kontaktoplysninger o.s.v.)

Det ender næsten altid med at kunden kan "se potentialet" og "jo vi er på vej" - og så kommer : "men"...

Man skulle ikke tro det - men det lille ord, på kun 3 bogstaver - vil være det der uden tvivl halvere din timeløn, for nu har kunden pludseligt en nærmest glasklar forventning og kravspecifikation, og den minder på ingen måde om den oprindelige opgave beskrivelse, og har intet at gøre med den side du gav (bindende) tilbud på...

Og du kan være rimeligt overbevist om at du er nødt til at ansætte en velrenomeret designer, du får brug for en del nætter til at udvikle de special funktioner som også andre udviklere har udviklet, men tager 7-800 US$ for at du kan bruge.

Jeg har haft en sælger som i ramme alvor fortalte mig at : som jeg ser det er det ikke noget svært, bare lige... (Og så en atomreaktor - med indbygget fusions kapacitet), det hænder - når jeg møder den type udmeldinger, at jeg siger : OK - jeg laver rammen, så kan du udvikle den der atomreaktor - nu det ikke er så svært, og kun tager 5 minutter...

Jeg ville ønske, at specielt sælgere havde respekt for min profession, og sørgede for at spørge ind til kundens ønsker, og skrive dem ned - en kravspecifikation bør være den største del af arbejdet ved at lave en hjemmeside, ikke "trial and error" samt endeløse diskussioner frem og tilbage om dette og hint efter arbejdet er påbegyndt...

Resultatet i den sidste teknik (af nogen i ramme alvor kaldet scrum - fejlagtigt iøvrigt, det kan blive en anden artikel) - bliver ofte at du ender med at udvikle gratis, at kunden ender med et resultat som nok kan det meste af det han/hun forestillede sig, men på ingen måder lever op til drømmen, at sælgeren allerede er videre, og at ingen er rigtigt tilfredse - for du ved at du har afleveret noget som, givet tiden og frem for alt økonomien - kunne have været fedt, nu har du af tidnød (og nødvendigheden af en indkomst) sprunget over hvor gærdet var meget lavt i nogen tilfælde...

En anden ting er at kunde beslutter sig for en ny hjemmeside - enten sprit ny, eller "blot" modernisering af en ældre model, men hvis tiden mellem planlægning og aflevering bliver for lang - så er min erfaring at så mister projektet drive og kunden mister interessen... Og igen bliver resultatet at ingen er tilfredse...

Ingen føler sig snydt - det er bare uden "kapaow effekt"

Jeg vil lige afslutningsvis sige, jeg har en enkelt gang haft et yderst veldefineret projekt, det var med skriftlig og visuel kravspecifikation, sælgeren vidste præcis hvad kunden ønskede, og jeg gav en pris - bestemt ikke i den billige ende, sælgeren (et bureau) slog en latter op - jeg tænkte nå det var nok alligevel i overkanten, så jeg planlagde "det er muligt at jeg har misforstået opgaven" talen - men sælger kom mig i forkøbet og sagde du kan godt lægge minimum 25% på den faktura, dem får du brug for - tro mig...

Han havde ret, og den dag idag vil jeg sige det var svært som ind i helvede, men det var sjovt, det var lærerigt og det var et fantastisk samarbejde... Selv om kunden endte med at være umulig at tilfredsstille, det var hverken vores eller sælgerens skyld - er min påstand...

[fb]

Det sker at man på amino, eller andre freelance netværk ser opgavebeskrivelser i stil med : Jeg har et helt unikt koncept, det er så nyskabende og revolutionerende at jeg kun kan løfte sløret en lille smule, men jeg kan sige at det har et enormt potentiale.

En del af dette unikke koncept er så næsten altid, du udvikler - du bruger tid, kræfter og "skype in-call" penge på at udvikle en kopi af dba.dk eller en ny "lever en håndværker til døren og tiden" side...

Det mest interessante er altid at denne type opgave givere altid forventer et budget estimat, et tilbud, en bindende kontrakt - og meget ofte er den bindende kontrakt at du får 5% af et overskud, som opgøres efter første års drift...

Når jeg ser den type opgaver (nu om dage) - så trækker jeg på smilebåndet og klikker videre - det er bestemt ikke umuligt at jeg netop har forpasset muligheden for at være medejer i den næste facebook, eller google... Men sandsynligheden er i den grad minimal...

Her er et par tanker om "hvorfor" :

1. Ideen er meget sjældent original, eller unik

Langt det meste af det vi ser og bruger på internettet er videreudvikling af et allerede kendt system, facebook var ikke unikt da det kom frem, faktisk bygger det blot på en platform der allerede eksisterede - men deres senere udvikling, samt specielt evnen til at markedsføre og trendsætte har gjort det til det gigantiske monster det er idag - 10 år efter den oprindelige ide blev undfanget - som intet har at gøre med det facebook vi kender idag, og om facebook overlever 10 år mere, vil det garanteret ikke være at genkende fra idag.

2. De er ikke eksperter

Oftest vil den type opgave givere ikke selv vide hvad det kræver at udvikle deres tanke til system, og kravsspecifikationen vil være : det skal sige kapaow (se et senere indlæg om den type kravsspecifikationer) - det skal være let at bruge, det skal være logisk og det skal frem for alt være nyskabende...

Men meget sjældent vil de jo netop forklarer - HVAD det er der skal være nyskabende og revolutionerende, da det jo er en guldgrube som de ikke kan løfte sløret for...

Er din kunde ikke indstillet på at lave en kravsspecifikation som du rent faktisk kan bruge som arbejdsplan, så er der kun een ting at gøre - løb...

3. Penge er sjældent nok

Jeg kender meget få, om nogen, udviklere - der tænker i penge, langt de fleste udviklere, har lært deres fag gennem at kode, kode og så kode lidt mere - nørder (som jeg i alt beskedenhed henregner mig selv til) - har haft fingrene i stort set alle former for programmerings sprog og teknikker der findes - selv startede jeg med COMAL og FORTRAN, har sidenhen haft fingrene i også eksotiske sprog som Prolog

Men det er de færreste udviklere der ikke aner hvad deres arbejde er værd, så lad være med at forvente vi arbejder gratis... Jo hvis jeg virkelig bliver præsenteret for et spændende, veldokumenteret og frem for alt åbent koncept - så er jeg en nørd og vil arbejde i døgndrift "for free" blot for at se projektet lette fra jorden...

Og jeg har da gennem tiden haft fingrene i flere open source projekter, og vil uden tvivl fortsætte med det.

Konklusion

Mit råd, hvis du som udvikler støder på den type projekter, hvor du bliver tilbudt ejerskab frem for kravspecifikation, og hvor det hele er så hemmeligt at du kun får drypvise forklaringer, er : Lad være...

Du vil ganske  enkelt oftest sidde med bedre ideer i skrivebordsskuffen, og der er altså noget "muggent" ved mennesker der er villige til at give dig en ejerandel, i et projekt de ikke er villige til at fortælle dig detaljerne i, specielt hvis det er mennesker der aldrig har mødt dig og hvis eneste kontakt med dig er sket gennem et socialt netværk...

Træk din yndlings "kanin" op af skrivebordsskuffen, pust støvet af den og arbejde videre på det koncept, i langt de fleste tilfælde, vil min påstand være, vil det bedre kunne betale sig...

[fb]

linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram