Come gestire le funzionalità legacy in conflitto con la nuova funzione

6

Sto lavorando su un video player ben noto (conosciuto anche dai clienti che lo usa per un po '). Recentemente abbiamo scoperto che il motore di disegno (ddraw) è deprecato in Windows 8 e 10 e sceglie una soluzione moderna per sostituirlo.

Il problema è che una funzionalità completamente diversa e apparentemente secondaria sta influenzando l'usabilità del nuovo lettore video. In effetti, il programma ha il suo tema e utilizza il disegno Non client per personalizzare il bordo delle finestre di dialogo per adattarlo al tema. Ora ho notato che il disegno non client interferisce con il rendering dell'immagine. Fondamentalmente, quando il focus della finestra cambia, l'area del video potrebbe lampeggiare .

Quindi ho le seguenti opzioni:

  • Mantieni entrambi così come sono e diventa lampeggiante quando cambi messa a fuoco.
  • Disattiva il disegno non client, impedendo così il verificarsi di flash. Ma gli utenti noteranno che il bordo della loro finestra di dialogo sembra nativo
  • Continua a lavorare per avere il meglio di entrambi i mondi. Il problema è che questo sviluppo non sta generando denaro, ma è più dal lato della manutenzione.

Quindi, cosa dovrei prendere in considerazione prima di scegliere una di queste opzioni?

Modifica
Per deprecato intendo che la versione attuale del software non mostrerà video su Windows 10. Questo è un rompicapo. Mentre i clienti si spostano verso Windows 10, dobbiamo fornire la nuova funzionalità.

    
posta UmNyobe 23.03.2016 - 16:05
fonte

1 risposta

3

Innanzitutto, in genere i tuoi utenti non sono interessati ai tuoi problemi tecnici. Vogliono un software funzionante, nient'altro. Nota inoltre che solo perché ritieni che una funzione non sia importante, i tuoi utenti potrebbero avere un'opinione diversa a riguardo.

In secondo luogo, se puoi permetterti di spogliare qualsiasi funzione da un software in una nuova versione dipende dal tuo modello di business e dalla relazione commerciale con i tuoi clienti. Se i tuoi clienti hanno acquistato una versione specifica del tuo programma e garantisci il supporto di tale famiglia di versioni (forse i tuoi clienti hanno un contratto di manutenzione) dovresti evitare di escludere qualsiasi funzionalità dal programma, potresti imbatterti in problemi legali.

Tuttavia, quando esegui un passaggio di versione principale, che in genere non è supportato da un contratto di manutenzione, o i tuoi clienti non hanno un contratto di manutenzione, o il tuo modello di business è completamente diverso (forse il tuo software è gratuito e la tua azienda fa il denaro con la pubblicità), quindi non sei legalmente in una situazione in cui devi mantenere qualsiasi caratteristica viva. In una situazione del genere devi considerare se rimuovere una funzione o modificare qualcosa nell'interfaccia utente potrebbe rendere così infelici alcuni dei tuoi utenti che la prossima volta che sceglieranno un video player ne sceglieranno uno da un altro fornitore.

Se, ad esempio, alcuni dei tuoi utenti vedono questi flash, o sono stati usati per i bordi personalizzati e li hanno graditi, potrebbero pensare "hey, la nuova versione 3.0 del foo player è cazzata, proverò la versione 4.0 del bar player invece che supporta il bordo personalizzato ", la tua azienda potrebbe perdere denaro. Ma se conosci il mercato, sai che non ci sono altri software alternativi che supportano la funzione e sei relativamente sicuro che i tuoi utenti non noteranno nemmeno la modifica, quindi potresti correre il rischio e rimuovere la funzionalità.

    
risposta data 23.03.2016 - 17:23
fonte

Leggi altre domande sui tag