En oversikt over defensiv design

Over hele nettet, når som helst, går noe galt. Det er ikke et problem vi tar lett, men det skjer fortsatt! Nei, jeg er ikke her for å snakke om vår overhengighet av tredjepartsverktøy eller IE6 (spesielt), jeg er her for å snakke om problemstillinger på nettstedet, og hvordan du kan unngå dem.

Av og til er disse feilene små synlige glitches, som oppstår som følge av mismanaged kode; eller i mange andre tilfeller, Internet Explorer. Andre ganger kommer de ut fra den naturlige aldringsprosessen til et nettsted og den stadig voksende samlingen av sider. I denne artikkelen skal vi utforske verden av nettstedbaserte hikke og hvordan vi kan sikre at våre nettsteder ikke blir assosiert med falskhvalen!


Introduksjon

I de senere år har vi lagt mye arbeid som en industri, og følger emnene som får mye oppmerksomhet. Fasjonable emner inkluderer lydhør design, brukeropplevelse, psykologi og smarte ord som vi bruker daglig som HTML5 og CSS3. Likevel, mens dette skjer, blir en av de grunnleggende delene av nettstedet eierskap, vedlikeholdsprosessen, sjelden mye oppmerksomhet. Det er sentralt for brukervennlighet, det er kritisk å designe, og uten det ville nettsteder være et rot. Likevel, når det gjelder å redusere feilforhold, faller mange nettsteder (enda mindre, enklere å vedlikeholde dem) ganske kort av merket.


Hva er Defensive Design?

Bekjempelse av disse onde kreftene, enten de er feil eller gjenoppbyggende feil, er en pågående kamp som ikke kan vunnes over natten. På samme måte som Ash fra Evil Dead-franchisen, tar vi uendelig opp til handling med våre trofaste kode motorsager og bug bashing boom-sticks for å redde dagen. Prosessen med rengjøringssteder og å sikre at de er så brukervennlige som mulig refereres til som defensiv design.

I hovedsak er målet vårt å støtte våre nettsteder i vanskelige tider, rense de feilene som er relatert til tapte filer eller utilgjengeligheten av ressurser, sikre at våre layout gjør hva de skal, hjelpe brukeren til å fullføre handlinger og unngå å kaste besøkende inn i en flaskehals av forvirring. Defensiv design handler så mye om å redusere brukerforvirring som det handler om å iterere feil ut av systemet.


Hvorfor gjør denne saken?

Gitt at de fleste av Internett-brukere er dødelige, er det uklokt om de problemene som geek superhelter er i stand til å krysse med letthet, og vi må passe på å unngå å forårsake unødig stress. Besøkende er temperamentsfulle skapninger som kan dike ditt nettsted på jakt etter et enklere å bla gjennom alternativet ved å lide en for mange feil. Hvis du kan gi et nettsted som laster raskt, fungerer effektivt, håndterer feil (så godt som man kan forvente) og unngår at brukeren blir blokkert med veibeskyttelse, øker du sjansene for suksess. Tross alt er en glad og tilfreds bruker mer sannsynlig å forbli en kunde!


Legacy of the Lost

Hvis det er en ting jeg ikke kan stå, er det påtrengende på nettet. Når ting går alvorlig galt, kan det sette deg av å besøke nettstedet i utgangspunktet; eller hvis du hyppig domene regelmessig, plager å komme tilbake senere. I denne moderne alderen av 24/7 global internettilgang; problemer som nedetid, manglende ressurser eller påtrengende nettsteder som klager fordi brukeren ikke har JavaScript aktivert eller Flash tilgjengelig på deres iOS-enhet, bør ikke likevel skje. Så la oss se hvordan du kan redusere disse problemene.


Serveravbrudd

På et eller annet tidspunkt har vi alle oppdaget serverrelaterte uhell. Hvorvidt det er nede på DNS-problemer, overstyrer din tildelte båndbredde, nedetid for vedlikehold, eller en enkel funksjonsfeil som har resultert i Twitter-falskhvalen. Det er den typen feil vi ikke har råd til å ignorere, fordi med mindre vi gjør noe, blir nettstedet utilgjengelig for alle, s som er ganske skummelt tanke!

Vurder følgende:

  • Backup religiøst: Dette er en enkel vurdering, men det er den mest kritiske. Fil korrupsjon, data tap og mer kan skje (til deg!), Og de som ikke sikkerhetskopierer, har mest å miste. Du bør hvis ikke noe annet utføre denne handlingen på en ukentlig eller månedlig basis.
  • Frakoblet tilgang: Selv med tilgjengeligheten på internett så utbredt som det er, kan vi ikke forvente at brukerne våre har tilgang til våre webområder 24/7. Forsikre deg om at sidene dine fungerer hvis en tilkobling går tapt, slik at nedlastinger og frakoblet tilgang kan hjelpe dem med terminalt ustabil tilkobling.
  • Bruk en CDN: Innholdsleveringsnettverk er fantastiske. De cache ting som trenger å gjenta og de kan redusere båndbredden kostnader. Hvis du ikke vil lide en feil på grunn av at verten erklærer at du har brukt all din båndbredde, kan dette sikkert hjelpe dine nettsteder.
  • Status Sider: Hvis du tar ned et nettsted for vedlikehold, bør dette bare gjøres i ekstreme situasjoner. Når en planlagt eller planlagt nedetidstid oppstår, la brukerne vite poengsummen og gi en statusside med tidsrammer og fremdriftsrapporter.
  • Sosiale oppdateringer: Sosiale nettverk som Facebook og Twitter har blitt utvidelser av våre egne nettsteder. Derfor, hvis ideen om backup-hosting ikke er din ting, og du ikke trenger et 100% oppetids sikkerhetsnett), sørg for at du holder besøkende oppdatert med tweets og kommentarer..

Manglende ressurser

Den fryktede 404-feilen har blitt en del av vår kultur, med stort sett alle steder som lider en på et eller annet tidspunkt, og hver bruker har møtt en i sin tid online. Dette kan inneholde en kobling til et bilde som er forsvunnet siden omformingen, eller en side som ikke lenger eksisterer i arkivene. Sørg for at du søker og ødelegger disse ødelagte dyrene og løser vanlige brukeroppfordrede feil.

Vurder følgende:

  • Søke og ødelegge: Å håndtere manglende sider eller filer begynner med jakt ned gremlins med jevne mellomrom. Du kan få øye på dem når du klikker gjennom sidene dine, eller du kan se på verktøy som Analytics-pakken eller automatiserte feilsøkere som Xenu Link Sleuth.
  • Informasjonsarkitektur: Hvis det er en-ting designere er skyldig i, er det ikke å opprettholde sine nettsteder 'arkiver og tillater gamle sider å falle i disrepair. Hvis du redesigner et nettsted eller gjør noen signifikante oppdateringer, må du kontrollere at de døde koblingene omdirigeres riktig til deres nye plassering.
  • Tredjeparts lenker: Dette er en av de viktigste årsakene til link rot. Hvis du kobler til andres nettsider og de velger å redesign (eller våren ren), kan linker til sider fordampe. Mens vi ikke kan tvinge andre til å følge vår ledelse, vær forberedt på å slette døde koblinger eller omplassere deres plassering.
  • Brukeropprettede feil: Elske dem eller hate dem, brukeren dikterer reisen rundt et nettsted. Hvis en besøkende forsøker å få tilgang til sider som ikke eksisterer ved å lage en skrivefeil, vil det oppstå feil. Vennlige nettadresser og omdirigeringer kan bidra til å unngå dette, som kan overvåke trafikkloggene dine for feiltrender.
  • Vennlig 404 Sider: Som vi alle vet, er standardmeldingene for nettleservilkårene ikke veldig vennlige. De fleste vil ikke forstå hva en 404 feil er, ikke si, hvordan du løser det. Ved å bygge tilpassede feilsider kan du peke dem i riktig retning og gi noen nyttige råd.

Teknologi som ikke støttes

Mens språk som HTML har gitt en åpen, for det meste kompatibel måte å sikre at vårt arbeid fungerer for alle, har andre teknologier ikke vært så heldige. I noen tilfeller er problemet nede på adopsjonsnivåene i et proprietært system, i andre; Det er bare ned til det faktum at saken vi stoler på, kan deaktiveres. I alle tilfeller har vi ikke råd til å ignorere problemene dette kan forårsake.

Vurder følgende:

  • Vokt dere for Flash: Mens HTML5 bidrar til å gi en god løsning på dette problemet, er Flash ikke så populært som det pleide å være. Med Adobe-kuttutvikling fra mange håndholdte enheter og iOS som ikke har noe å begynne med, er det nødvendig med grasiøst nedverdigende alternativt innhold.
  • Ikke-påtrengende skript: Vi har blitt avhengige av JavaScript. Utover den herlige overraskelsen, at skripting ikke måtte brukes til ondskap (anti-høyreklikkskript) og den galne suksessen til jQuery, er vi nå avhengig av det daglig. Bare vær sikker på at de uten den kan bla gjennom nettstedet også.
  • Bildealternativer: Et bilde kan si 1000 ord, men for synshandikappede eller en søkemotor, kommer det til å være omtrent like nyttig som en sjokolade tekanne. Forsikre deg om at alle bildene inneholder alternativ tekst, er viktig hvis du vil bli beskyttet mot slike bruksproblemer.
  • Besøkendes tilbakemelding: Vedlikehold av et nettsted er en tøff jobb, fordi i de fleste tilfeller er bugs utilsiktede bivirkninger som vi ikke klarer å legge merke til før de går i live. Oppfordre brukerne til å fortelle deg om de oppdager feil eller feil, da de sannsynligvis vil finne ting du vil savne helt.
  • Dokumentformater: Defensiv design handler ikke bare om patching-kode. Det er også viktig å sikre at filene dine fortsatt er synlige i fremtiden. Alltid tilby flere formater for tekst og multimedia, og vær ikke redd for å oppgradere valget når du oppgraderer et nettsted.

Bærekraftig Layouts

Det ser ut til at mange webdesignere hemmelighet lurer på deres ektefeller, huddled foran sine dataskjermer, og gir deg øye ser på lydhør webdesign og tenker på hvor mye de er i pixel love. I denne designalderen er det bare fornuftig å dekke noen av problemene vi trenger for å forsvare våre bilder mot.


Responsive Fleksibilitet

Defensiv design handler ikke bare om de åpenbare feilene som irriterer brukerne for å tegne sine datamaskiner et fint varmt bad. Det krever at vi tenker utenfor boksen og prøver å unngå slike vanlige klager, som kan ødelegge et oppsett eller gjøre et design ubrukelig. Det er mange generelle problemer knyttet til den estetiske siden, som kan løses med litt sunn fornuft.

Vurder følgende:

  • Unngå Device Design: Vi lever i en tid der alle typer verktøy brukes til å få tilgang til våre nettsteder. Fra tabletter til fjernsyn, telefoner til PDA-er, må vi sørge for at våre nettsteder jobber på så mange plattformer som mulig. For å redusere problemer, gjør nettstedet ditt lydhør, det hjelper virkelig.
  • Passende multimedia: Lyd og video kan gi ekstra lag av dybde til nettstedet ditt og bidra til å skildre innhold i et mer engasjerende miljø. Hvis du tilbyr slike funksjoner, må du sørge for å tilby transkripsjoner for de som mangler muligheten til å bruke media eller mangler båndbredde.
  • Utskriftsvennlig: Det kan sjokkere noen av dere, men folk skriver fortsatt sider! Ja, for alle de tre brennende massene, vil du sørge for at du tilbyr et utskriftsvennlig oppsett som vil trimme bort alle de ting som er ubrukelige og ikke-funksjonelle på papir: som reklame og navigasjon.
  • Inkonsekvent utsikt: Hvordan folk opplever nettstedet ditt, kan variere avhengig av hva de bruker til å surfe på nettet. For å unngå at oppsett bryter på enheter som telefoner som støtter tipping av innhold i stående og liggende modus, må du sørge for at du bruker mediaforespørsler til å justere etter behov.
  • Forvirrende objekter: Understreke tekst og farge det blå er aldri en god ide hvis objektet ikke er en klikkbar lenke. I tillegg er det å ha en mulighet for å forvirre brukere å skjule en klikkbar lenke mellom en stor masse tekst. Sørg for at besøkende kan identifisere hvor de trenger å klikke neste.

Kryptererstøtte

Nettlesere har blitt bane av mange designers liv. Vi tilbringer dager å sette kode inn i et vakkert format, bare for å tilbringe flere timer, frustrerende påtalende med nettleseren som ikke vil gjøre som det blir fortalt. Hvis du er designeren, vil du kanskje si "til helvete med det", men hvis du er bruker og du følger samme filosofi, er det en besøkende du har mistet for en synlig feil.

Vurder følgende:

  • Popularitetsregler: Hvis et nettsted skal tåle tidstesten, må det sikre at det fungerer blant de ulike nettleserne som er tilgjengelige for brukerne. Test alltid nettstedet ditt innen de vanligste (Chrome, Firefox, Safari, Opera) og de irriterende (Internet Explorer).
  • Ikke støttet kode: Når du arbeider med språk som SVG som lider vedvarende blandede nivåer av støtte, må du sørge for at du inkluderer relevante alternativer. Dette kan kreve at et annet språk (som VML for IE6-8), men det er verdt innsatsen for å unngå manglende funksjoner.
  • Webstandarder: Mer av en god praksis enn noe annet, det betaler utbytte for å validere koden du skriver og skille struktur, stil og oppførsel. Ikke bare vil det bidra til å redusere sannsynligheten for at kodefeil oppstår, det vil også hjelpe deg med å opprettholde sider med relativ letthet.
  • Arvsstøtte: Vi har allerede nevnt behovet for å teste i populære nettlesere, men hvis du bruker Internet Explorer, vet du at hver versjon oppfører seg som en helt annen nettleser. Sørg for at du opprettholder en støttesyklus for gamle nettlesere (hvis det er nok folk som bruker dem).
  • Broken Scripts: Hvis du bruker skript for server-side, må du passe på feilmeldingene som kan pop-up på brukerens skjerm hvis noe glir i koden. Det ville være mer nyttig for skript for å sende deg noen feilrapporter generert og gi en vennligere brukerfeilmelding.

Tilgjengelighetsbehov

Mens brukeropplevelsesdesign ser ut til å være hogging mesteparten av herligheten med hensyn til å få kodere og designere like glade for hvordan de skal holde kundene fornøyde, blir det ofte i mange tilfeller lett å komme seg under teppet. Det er en skummelt statistikk at flertallet av nettsteder i dag fortsatt er utilgjengelige, og dette må endres. Spesielt som slike problemer kan blokkere en hel demografisk fra nettstedet ditt.

Vurder følgende:

  • Bare tekst Situasjon: Å sikre tilgjengelighets legitimasjon krever innsats, men en god start er å sikre at alt faller tilbake til et tekstalternativ som kan leses av skjermlesere. Last ned tekstbrowseren Lynx og se hvordan nettstedet fungerer i et ekstremt miljø.
  • Sympatisk design: En av grunnene til at nettstedene pleier å mislykkes for å hjelpe brukerne med å oppnå mål er fordi vekten pleier å være på glansfulle visuelle. Når du styrker nettstedet ditt, kritiserer og rettferdiggjør alt på siden, fjerner eller forenkler det som ikke klarer å gjøre jobben jevnt.
  • Nyttige alternativer: Tilgangsmessige brukere har en tendens til å ha en lavere margin for feil i stedet for defensivitet. Hvis noe ikke klarlegges, kan det gjøre en kritisk del av et nettsted helt ubrukelig. Hvis du kan tilby mer enn én metode for å oppnå en nødvendig oppgave, gjør du det!
  • dokumentasjon: Når ting går galt, vil besøkende kreve svar, de vil ikke føle at de er alene og hjelpeløse. Hvis nettstedet ditt er ganske komplisert, eller hvis du gir en web-app, må du sørge for at du dokumenterer alle funksjoner og gir nyttige hjelpemidler for å løse feil.
  • Usability Testing: Når du starter et nytt nettsted eller en tjeneste, er muligheten for feil å forekomme ofte større fordi store deler av eiendommen ennå ikke er satt gjennom sine skritt. For å stryke ut de første feilene, invitere beta-testere og foreta standard brukervennlighetstest som standard.

Redusere inngangsfeil

Mens estetikken til nettstedet vårt er viktig, sier det seg selv at problemer knyttet til skjemainngang og sideinteraksjon ofte er det mest skadelige for brukeren. Vi kan komme seg unna med et nettsted som ikke ser best ut i IE6, men hvis en besøkende ikke engang kan bruke et kontaktskjema uten feil, kan du også slå deg inn i brukbarhetspolitiet for å bli arrestert uten kausjon. Å håndtere innspørsmål kan virke skummelt, men som du nå oppdager, handler det egentlig om å tenke når det gjelder praktisk.


Intelligent tilbakemelding

Datamaskiner er ikke veldig smart, la oss være ærlige. Når det gjelder webutvikling, er det nærmeste vi kan få til å gi intelligent tilbakemelding, å undersøke hva brukeren gjør, og prøv å lage en prediksjon basert på hvordan andre har brukt tjenesten. Prinsippet bak denne teknikken er enkelt: Hvis du kan identifisere hvor feil ofte oppstår, kan du hjelpe brukeren ved å tvinge dem til å ta ekstra forsiktighet.

Vurder følgende:

  • Automatisk gjennomføring: Som søkemotorer har bevist, kan folkets kraft redusere potensialet for stavemåte. Hvis du gir et nettstedbasert søk, hjelper brukerne med å finne det de leter etter ved å foreslå potensielle kamper og forhåndsvisninger for hva de har skrevet så langt.
  • Auto korrektur: Hvis du har brukt mye tid på å se på YouTube eller Facebook-kommentarer, er du sannsynligvis allerede redd for fremtiden for det engelske språket. Når du ber om data, kan du prøve å fikse vanlige stikkord og være tilgivende for caps-lås og mellomrom i ting som kredittkortoppføring.
  • Feil understreker: Når du ber brukerne om å angi en bestemt type informasjon, vil det skje ulykker fra tid til annen. Enten du bruker JavaScript eller en server-side-løsning, eller begge hvis du vil ha maksimal kompatibilitet, må du huske å påpeke nøyaktig hvor problemet ligger!
  • Brukerbekreftelse: Noen ting som en besøkende forplikter seg er viktigere enn andre. Endring av et profilbilde for eksempel er ikke så bekymringsfullt som å betale for noe. I tilfeller der det ikke kan gis feil, ber brukere om å sjekke oppføringene i en innleggsside.
  • Alert Meldinger: De største feilene oppstår ofte på et øyeblikk, som å klikke på feil knapp. Hvis et nettsted har en sletting (eller annen kritisk) -funksjon som kan være katastrofal hvis feilaktig aktivert, spør alltid brukeren om å bekrefte handlingen. Spesielt hvis det ikke er noen angrekkeknapp.

På sideassistenter

Mens det er nyttig å gi brukerne noe tilbakemelding under innspillingsprosessen, er det også fornuftig å gi ytterligere støtte til brukerne for å hjelpe dem å forstå hva som kreves av dem før de påbegynner dataregistrering. Mens intelligent tilbakemelding fokuserer på å spotte og løse feil når og når de oppstår, hjelper assistenter å forklare prosessen bedre for å unngå at det skjer i utgangspunktet..

Vurder følgende:

  • Datasnarveier: I de senere årene har det vært en økning i antall nettlesere og produkter som tilbyr automatisk gjennomføring og hjelpemidler for å sikre at nøyaktig skjemafylling finner sted. Kontroller at skjemainngangene dine har passende ID-er som disse produktene vil gjenkjenne.
  • Innholdsvisning: Dette er en veldig enkel rute for å sikre at brukerne ikke gjør feil. Alt du trenger å gjøre er forhåndsfelt felt med en standardverdi som forsvinner ved klikk eller dataoppføring, og gir en beskrivende forklaring på hva feltet krever (ikke bare en etikett).
  • Link Whitespace: Spesielt på små skjermer er feilaktig klikk ganske vanlig. Hvis du har store fingre og prøver å tappe med presisjon på et lite objekt, er det fornuftig at du kanskje savner markeringen. Sørg for at koblinger har egnet hvite plass for å unngå ulykker (som sletting).
  • Selektiv inngang: En av tingene jeg beundrer om rullegardinmeny (velg) menyer og boksene, er at de begrenser muligheten for feil ved å velge, uten at brukeren trenger å skrive inn en bestemt verdi i en boks. Hvis du kan bruke disse i stedet for tekstoppføring, gjør du det.
  • Digitale skilt: Mens formfylling tar opp en stor del av inngangsfeilspektret, kan dårlig kvalitetskoblinger også gjøre feil hyppigere. For å unngå å sende brukere til en side (eller nettsted) de ikke hadde til hensikt å nå, merket koblinger på riktig måte og unngå mystery kjøttnavigasjon.

Forsinket korreksjon

Som vi har sagt tidligere, skjer feil og uansett hvor mye hjelp du gir en bruker, vil de alltid finne en måte å enten ignorere dine nyttige tips eller forårsake en feil som setter dem i en hakke av en situasjon. Som sådan, i tillegg til datapostprosessen før og etter, er det viktig at besøkende kan endre sine detaljer, fortryke feilaktige handlinger og få mulighet til å "hjelpe seg" når det er mulig.

Vurder følgende:

  • Angre tiltak: Når vi gjør en feil som å trykke på en sletteknapp og ignorerer varselet som ber oss om å bekrefte en handling, føler vi umiddelbart skyld, sjokk og frykt for at vi har mistet dataene for alltid. Tilbyr en tilbakestillingsknapp for å gå tilbake til en tidligere tilstand for å unngå permanent tap.
  • Standard tilbakestiller: Når brukere får muligheten til å konfigurere noe, synes de å ha en tendens til å leke med grensesnittet eller funksjonaliteten og lære av prøve og feil. På grunn av denne beundringsverdige surfingfunksjonen, bør du la standardinnstillinger bli gjenopprettet fra en økt eller en mal.
  • Post-Production: Hvor mange ganger har du registrert deg for noe, bare for å finne ut at du har gjort en feil på skjemaet, og nå kan det ikke synes å rette opp situasjonen? I stedet for bare å blokkere oppføringsfelt, la brukerne endre (og om nødvendig verifisere) og rette ut problemer de oppdager.
  • Tilbake knapp: Hver nettleser har en, og vi bruker det regelmessig. Tilbakeknappen har blitt den ultimate angrepsfunksjonen for webgenerering. Nettsteder som blokkerer denne knappen, unntatt i tilfeller der transaksjoner som betaling kan gjenopplive, må stoppe og la dette verktøyet gjøre jobben sin.
  • Kontaktinformasjon: Når alt annet feiler og det oppstår feil, vil brukerne kunne komme i kontakt med å rapportere problemet. Hvis du ikke har en kontaktmetode (eller verre, ikke overvåk den), sørg for at du løser denne situasjonen, da det vanligvis er den siste porten før en besøkende forlater nettstedet ditt.

Den uendelige historien

Hvis du snakker med en programvareutvikler, vil en ting de uunngåelig fortelle deg at ingen produkt, uansett hvor enkelt det er, er 100% feilfritt. Den andre noen gjør det påstand, en bruker klarer å bryte programmet, selv om det er så enkelt som "hei verden". Uunngåelig kan du ikke forsvare nettstedet ditt mot de pågående problemene i et enkelt swoop. Etter hvert som nettstedet ditt utvikler seg, må du fortsette å revidere og reparere mens du arbeider for å sikre at det som var her i dag ikke er bra i morgen!

Sannheten er at vi lever i et digitalt univers som er infested med linkrot, manglende innhold, ødelagt og foreldet kode, og situasjonen ser bare ut til å bli verre. Selv om det ikke er mye vi kan gjøre om nettstedene den gangen glemte, kan og bør du forbedre situasjonen for brukerne. Ta deg tid til å sjekke nettstedet ditt, se tilbake gjennom disse arkivene, fortsett med tester på tvers av nettleseren og aldri ta noe for gitt, spesielt fordi brukerne vil kritisere deg for alvorlige feil.

Når det gjelder kundeservice, kan du bli tilgitt for å ha feil i produktene dine, uansett hvor hardt du prøver, kan det gå galt. Men ikke ta det som et tegn å gi opp og la feilene fortsette å komme, så det er hvordan du håndterer dem som betyr mest. Hvis du jobber raskt for å løse et problem, vil besøkende trolig føle seg bedre om deg og ditt nettsted. som du belønner deres tilbakemelding med rettelser i stedet for å straffe dem med fortsatte feil. Men hvis du ikke gjør nettstedet ditt defensivt, kan du tydeligvis miste besøkende, og det er ikke noe noen av oss burde være villige til å bosette seg på.