Domanda

Sono uno studente di informatica progettazione di un progetto e ho iniziato a chiedermi che cosa sono buoni esempi o software, o anche hardware che sono toeing la linea tra l'essere ricco di funzionalità con buone caratteristiche utilizzabili per gli utenti regolari e di essere troppo intimidatorio per nuovi utenti. Inoltre qualcuno potrebbe consigliare qualche buon consiglio / libri per la progettazione di applicazioni di buona qualità che sono ricchi di funzionalità, ma non "gonfio"?

È stato utile?

Soluzione

  

"rendere tutto il più semplice possibile, ma non più semplice." - Albert Einstein

     

"La perfezione non si raggiunge quando non c'è più nulla da aggiungere, ma quando non c'è più niente da togliere." - Antoine de Saint-Exupéry


Non sto cercando di essere irriverente, ma queste citazioni sono davvero il miglior consiglio. La semplicità del design dovrebbe essere il tuo obiettivo. Non che il raggiungimento di semplicità è facile! Al contrario, è molto difficile, ma è possibile.

Prova a pensare a cose un po 'diversamente. Piuttosto che

  

Quante cose posso aggiungere prima che questo diventi gonfio?

try

  

Quali sono il minor numero di caratteristiche e gli elementi posso includere pur fornendo un'esperienza superiore per i miei utenti?

Altri suggerimenti

Ecco una buona serie di diapositive da una presentazione sul tema: salvare la principessa 2.0 .

Il primo ordine del giorno deve solo essere tenuta l'applicazione facile da usare. Oltre a ciò, tutto quello che posso dire è, attenzione alle caratteristiche di scrittura di un utente immaginario:. Assicurarsi che qualcuno in realtà ha bisogno prima di iniziare la codifica

Come una risposta diretta alla tua domanda: praticamente qualsiasi prodotto Microsoft. Sto mostrando il mio pregiudizi qui, ma Microsoft ha una forte tendenza a mantenere la loro base di codice, e aggiungere funzioni sulla parte superiore di funzioni fino a che la funzionalità originale della app è quasi perso sotto cumuli di CRUD maturato.

Guarda MS Word, per esempio; mentre si può ancora solo aprirlo e iniziare a digitare, Dio non voglia, se si desidera rinumerare una sezione del documento, lasciando da solo il resto. Il cielo non voglia, se si desidera generare un indice che include riferimenti a un appendice. Questo genere di cose è una cosa che è di rigore per Word Processor, e Word supporta, semplicemente sostiene in un modo che non si può ottenere fatto senza un manuale, diverse tazze di caffè, e bende per fermare l'emorragia da sbattere la testa sulla scrivania.

Microsoft non è sola in questo modo; questa cosa tende ad accadere tutto il tempo, con tutti i tipi di prodotti; ma sono tra i peggiori trasgressori, che ho trovato.

1: Che cosa fanno gli utenti hanno bisogno e vogliono, e

2: Quali caratteristiche avrete tempo per implementare

?

La tua domanda è piuttosto generale. Quali caratteristiche costituiscono gonfiare? Questo tipo di dipende dal fatto che si sta scrivendo uno scanner antivirus, un sistema operativo o di un elaboratore di testi.

Non c'è una chiara barriera tra "buono" e "troppo". Tuttavia, dipende da cosa si vuole fare.

Se si sta sviluppando uno SDK, vi consiglio di dividere l'implementazione in diversi piccoli librerie (e non solo una grande libreria SDL, v'è il nucleo SDL, SDL_Mixer, SDL_Image, ecc.)

Se si sta sviluppando un'applicazione, tenere un sistema modulare-based e un meccanismo di plug-in. In questo modo, le nuove caratteristiche possono essere aggiunti più facilmente e gonfiare può essere più facilmente rilevata.

Si può arrivare a un punto in cui si aggiungerà nuove funzionalità alcuni si considerano "grande" e altri "gonfiare". In caso contrario, l'applicazione può raggiungere un punto che alcuni chiamano "feature-poveri" e altri si chiamano "appena sufficiente".

Questa non è una citazione esatta, ma l'idea era qualcosa di simile a questo:

  

Un pezzo di software è perfetto non quando non c'è più nulla da aggiungere, ma quando non c'è più nulla da togliere.

In sostanza, il più semplice e to-the-point è un software, meglio è.

Per ottenere esempi di buona progettazione del software, dare un'occhiata a programmi che sono popolari oggi. applicazioni di Google sarebbe un bel posto dove guardare. Skype forse. Eh, anche StackOverflow. :)

Se si vuole intimidatorio, andare per il mondo del CAD. Check out per esempio, Blender . Questo è un software freeware progettazione 3D. Valido strumento mi è stato detto, ma l'interfaccia utente ha così tanti pulsanti / pannelli / menù / etc. che rende coniglietti bambino piangere. Purtroppo non posso dire se questo sarebbe un buon esempio di un'interfaccia utente "cattivo". 3D progettazione è un molto processo complesso e tutti quegli strumenti sono probabilmente nel posto giusto. Ma è sicuramente intimidatorio. :)

Una progettazione dell'interfaccia utente cattivo può essere trovato spesso con il software propieritary che viene fornito con l'hardware propieritary. Purtroppo non posso dare alcun esempio dalla parte superiore della mia testa.

tendo sempre a progettare i miei progetti in modo che essi sono solo scheletri che sono come estendibile possibile. fattori limitanti sono le prestazioni, la complessità o di terze parti-limitazioni.
In questo modo si potrebbe aggiungere funzionalità aggiuntive dopo aver terminato la struttura di base. Un utente potrebbe anche aggiungere le sue caratteristiche necessarie.

Questo probabilmente non funziona molto bene per GUI-applicazioni che dovrebbero avere una buona usabilità senza molta configurazione, ma sto attaccando bene con questo approccio per quelle librerie che sviluppo. (Sono utilizzati da altri programmatori che desiderano avere un pezzo altamente modifable di software)

Non è molto difficile sviluppare un'applicazione / lib che è gonfio con le caratteristiche. Ma è quello di sviluppare un app che potrebbe essere facilmente estesa da altri sviluppatori / utenti per soddisfare le proprie esigenze.

Sviluppare un ampio sistema di plug-in in modo da aggiungere e togliere roba in qualsiasi momento. Problema risolto. Se solo che era così facile come scrivere codice spaghetti. ;)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top