Spredte tanker om en LayoutManager

Skrevet - Saturday, October 11th, 2008 kl. 20:19 | Kategori - * Kodning

Efter at have lavet det første vindue med træk-og-slip funktionalitet, begynder en nagende udfordring at trænge sig på… layout. Jeg kan til en hver tid sige om et givent layout løser mine egne behov, men når jeg ser hvordan andre folk bruger de samme programmer, skiftevis korser og undrer jeg mig. Men dybest set er problemet – hvordan tilfredsstiller jeg 95% af alle typer brugeres behov uden at jeg samtidig fremmedgør halvdelen? Den der klassiske med: “Hvis man designer et program så enhver idiot kan bruge det, er det kun en idiot, der vil bruge det”. Pointen er at alt efter om brugeren er muse- eller keyboard-minded skal layoutet være forskelligt.

For at tage musebrugeren først. Her skal de elementer, der skal trækkes imellem være placeret tæt på hinanden og i naturlig rækkefølge. For tastaturbrugeren er det mere vigtigt at tab-orderen er sat i forhold til hans arbejdsgang. Man kan sige at det burde være muligt at løse begge ting, men der er et par andre ting, der spiller ind. Vi har lavet nogle forholdsvis store ikoner til de forskellige objekter – det er informationstunge objekter, som gerne skal vise meget information uden at overskueligheden tabes. Samtidig kan der være frygtelig mange af dem. Vi sigter efter at for en given gruppering, må der max vises 20 på skærmen. Når vi så viser 4 linjer tekst + et par små ikoner pakket pænt ind per objekt – så løber vi ret hurtigt tør for plads, hvis det ikke skal være alt for gnidret. På det skærmbillede vi arbejder på nu, har vi fire grupperinger af data – det vil sige omkring 80 objekter på skærmen samtidigt.

Alt efter virksomheden, som skal bruge applikationen, kan antallet i de forskellige grupperinger dog variere kraftigt. Derfor blive det vigtigt at de forskellige elementer er dynamiske. Indtil videre står de i fire kolonner fra venstre mod højre. Afgrænsning/filtrering er placeret længst til venstre, derefter de objekter, der skal fordeles, derefter de samleobjekter, de kan fordeles på – og endelig længst til højre en oversigt over de objekter, der er fordelt på et givent samleobjekt.

Så kom jeg til at tænke… hvad nu hvis (som regel, starten på en masse arbejde…) man godt nok puttede de forskellige lister i en Grid, men så lod en hjælpeklasse om at opsætte Rows, Columns, og tilhørende -Spans? Jeg tror umiddelbart, at det ville kunne virke – problemet bliver at lave et interface, som en gennemsnitlig bruger kan finde ud af… Valget ligger lidt mellem fleksibilitet og ease-of-use. Den første fordrer, at brugeren frit kan vælge alt (med direkte frastødende layouts til følge hos enkelte brugere – I ved hvem I er…) og at definere et par presets eller fire, som man kan vælge imellem, som hver især er optimeret til en given skare af brugere.

Feed | Trackback |

Post a Comment