Sto lavorando a un prodotto che richiede una grande quantità di interazioni con diversi fornitori di dati esterni. Questi fornitori di dati utilizzano un numero di standard (principalmente basati su xml) che sono tutti regolati e concordati. Alcuni di questi standard non sono eccezionali e possono essere aperti all'interpretazione.
Ora, una volta ogni tanto, alcune fonti di dati decidono di differire solo un po 'da questi standard, il che significa che la mia applicazione mostra un errore quando l'utente prova a connettersi a loro - tuttavia - molti prodotti concorrenti sembrano essere meno preoccupati per la correttezza, e semplicemente entrare in modalità quirks per ottenere qualcosa di lavoro. Dal punto di vista dei miei clienti, il mio prodotto fa schifo perché non può fare X, ma il prodotto concorrente può, e quando provo a contattare l'origine dei dati per farli risolvere i loro problemi, o non ottengo una risposta, arrivo a parla con una persona non tecnica che non ha idea di cosa sto parlando, o il tempo di implementazione sulla correzione è semplicemente molto lungo.
Per come la vedo io, ho 2 opzioni:
- Stare fermo e rischiare di perdere clienti, o
- Fai stranezze e hack ad hoc per le fonti semi-compatibili (che dovrebbero quindi essere supportate)
Ho cercato la precedenza storica per il modo in cui gli altri hanno gestito questi problemi (ad esempio, la battaglia tra Firefox e IE, dove alcuni siti semplicemente non funzionavano in FF perché il sito conteneva errori o costrutti non standard) , ma senza molta fortuna nel trovare qualcosa di sostanziale.
Riguardo all'opzione 1, penso che sia chiaro che se questa è la strada da percorrere, in qualche modo devo far capire all'utente che il problema è dalla parte della fonte, senza diventare troppo tecnico, il che può risultare complicato. / p>
Per quanto riguarda l'opzione n. 2, devo considerare anche l'enorme costo di mantenimento sarà che io ho più di 50 fonti hackerate e strane in modo diverso, per non menzionare il sovraccarico nel bizzarro bug-report che è destinato a venire. Inoltre, abbracciando i capricci io stesso sarei parte del problema di tutti quelli che non rispettano gli standard.
Qualcuno ha qualche esperienza con una situazione come questa? Quali sono le cose principali da considerare qui? Ho trascurato qualcosa?
[Aggiorna] Dopo aver letto i commenti qui ho deciso di dare qualche altro contesto. Sto lavorando per un piccolo team (3 sviluppatori, circa 10 persone in totale) che gestiscono un prodotto in una grande coorporazione (1k + dipendenti). Il nostro prodotto è una suite spaziale (si pensi a google maps) con un sacco di flussi di lavoro specifici per il dominio. I miei problemi principali sono con i server WFS / WMS che usano gli standard OGC ( link e link rispettivamente). Questi standard sono un labirinto di parametri opzionali, open-for-abuse e definizioni open-for-interpretative specificamente per quanto riguarda i valori predefiniti (beh, questa è comunque la mia opinione). Ora, se guardi oltre gli standard, nel mondo dei dati spaziali hai anche molti altri problemi come proiezioni errate, geometria autointersecante e molto altro ancora:)
Come ho affermato, siamo una squadra piuttosto piccola, ma poiché il nostro nome aziendale è piuttosto ampio, i nostri clienti si aspettano che gestiremo tutto in modo abbastanza professionale - beh, alcuni clienti comunque.