E-commerce: SaaS, open source o custom, quale equilibrio?

Chissà settembre. (da Flickr)

Definire il tipo di software per il sito e-commerce è una delle scelte strategiche fondamentali da mettere in atto quando si pianifica lo sviluppo di un sistema di vendita on-line.
Linkomm sviluppa da quindici anni soluzioni e-commerce; in base all'esperienza passata in questo articolo vengono suggerite alcune linee guida per la scelta della migliore soluzione.


Tipologie di software per l'e-commerce

Ma quante soluzioni possibili ci sono?

Essenzialmente  le soluzioni possibili sono di tre tipi: software SaaS, Open Source o custom.

  • Nel primo caso SaaS significa Software as a Service: si utilizza un sistema di vendita esistente, si crea su di esso un proprio negozio nel quale inserire i propri prodotti per la vendita; è una soluzione chiavi-in-mano, non c'è bisogno di intervenire dal punto di vista software, le possibilità di personalizzazione sono alquanto limitate. Shopify è un esempio di questa categoria
  • Nel secondo caso il software Open Source sviluppato da una comunità di sviluppatori viene installato su un server ed utilizzato per creare il sito e-commerce; lo sviluppo può essere effettuato in-house se ne si hanno le competenze o affidato ad una agenzia software. Le possibilità di personalizzazione sono superiori rispetto al punto precedente; è necessario comunque un lavoro di programmazione sul codice esistente. La maggior parte delle piattaforme conosciute cade sotto questa cartegoria; per questo vengono riconosciute come piattaforme 'standard' e di seguito verrà utilizzata per definirle il termine 'standard/os'
  • Nel terzo caso "custom" il software è realizzato appositamente per il sito; anch'esso è installato su un server. Può essere sviluppato da zero oppure può essere una piattaforma esistente personalizzata. Le possibilità di personalizzazione sono massime rispetto ai punti precedenti.
Non si deve confondere il tipo di software con il tipo di licenza; mentre nel primo tipo (SaaS) non si parla di licenza software ma di affitto di un servizio, nei due restanti casi il tipo di licenza del software deve essere determinato; è possibile sia che sistemi open source vengano integrati da parti sviluppate come software proprietario, sia che software 'custom' sviluppati a partire da software proprietario possano essere rilasciati con licenza open source.

La portabilità tecnica del software per ecommerce.

Uno dei motivi che influenzano la scelta è spesso la portabilità; si tende a sostenere che il software standard/os sia più portabile, ovvero che una volta creato il sito ecommerce sia facile 'trasportarlo', ovvero darlo in gestione/sviluppo ad una azienda diversa da quella che l'ha creato.
  • Per quanto riguarda SaaS, la portabilità è esclusa; solo il sito e la realtà aziendale ospitanti possono gestire e fare funzionare il sito
  • Per quanto riguarda le piattaforme standard/os, questa è la soluzione che garantisce la migliore portabilità nelle condizioni di base, cioè quando il software è utilizzato as is per la produzione del sito di vendita. Quando è invece integrato da software sviluppato da una azienda non è detto che diventi trasportabile. In certi casi vengono addirittura creati accorgimenti da sviluppatori che ne permettano solo il funzionamento all'interno della realtà che l'ha sviluppato impedendone di fatto la portabilità.
  • Le soluzioni custom partono più svantaggiate per la portabilità essendo per definizione il software meno conosciuto rispettoa quelle standard/os. E' tuttavia possibile richiedere a chi commissiona il software il livello di portabilità della soluzione adottata, livello definito dalle tecnologie e dal tipo di codice adottato, dalla presenza o meno di sistemi di criptazione del codice, dal suo livello di descrizione e dalla presenza di una documentazione per lo sviluppo da parte di terze parti.

Ma quanto sono diffusi questi sistemi ecommerce? quali vengono più utilizzati?


Utilizziamo i dati di builtWith 2016:
A livello mondiale:


WooCommerce è la piattaforma ecommerce di Wordpress e rappreenta il 39% del totale; Magento prende il 6% del totale come versione Community (mentre l'Enterprise ha numeri molto piccoli; ricordo che il costo annuo è di 18000$), Shopify il 5%,
A livello italiano si evidenziano oltre ai precedenti prestaShop, osCommerce, Zen Cart.


Quando usare SaaS

Questo tipo di soluzione è adatta per siti ecommerce piccoli e veloci, limitati nel numero di articoli, utenti e fatturato. La personalizzazione possibile è minima rispetto alle altre; spesso non è possibile collegare basi dati esterne quindi ogni articolo va caricato a mano.
Caratterizzati da una immediata possibilità di essere online, questi sistemi potrebbero essere utilizzati per testare il mercato o avviare una piccola attività; non sono adatti a sistemi ecommerce di dimensioni medio grandi.

Queste le soluzioni SaaS più diffuse:

Ecommerce PlatformLogocosto mensilevalutazione
Shopify Shopify $9 10 / 10
Bigcommerce Bigcommerce $29.95 9.5 / 10
Volusion Volusion $15 8 / 10
Big Cartel Big Cartel $0 8.5 / 10
3dcart 3dcart $19.99 8 / 10
(da ecommerce-platforms.com)

Custom o open source?

Abbandonando la soluzione SaaS, confrontiamo ora le due restanti per capirne i punti di forza.
Vediamo alcuni dei fattori che possono aiutare nel discriminare la scelta di un tipo di piattaforma, tenendo conto che in qualche modo sarà quasi sempre necessario lo sviluppo di codice per adattare una piattaforma di partenza.
Anche nello sviluppo di una piattaforma custom il percorso è simile: nessuno si sogna di sviluppare una piattaforma da zero; tipicamente si parte da una base esistente (che spesso ingloba anche funzioni fornite da terze parti open source, per esempio un editor HTML) sulla quale vengono eseguite modifiche e nuove implementazioni per ottenere il sito ecommerce desiderato dal committente.
Quindi, in ogni caso, l'agenzia che pubblica il sito inserirà del codice per modificare una base.
Nel caso di piattaforme standard/os questo intervento potrebbe essere minimo, quando non sono necessarie particolari personalizazioni, o intenso; in questo caso è necessario che chi svilupp ail codice abbia una profonda conoscenza della piattaforma di base.
Anche nel caso di piattaforme custom, si dovrà verificare il livello di conoscenza della piattaforma da parte degli sviluppatori; il massimo si può naturalmente ottenere quando la piattaforma sia stata direttamente sviluppata dall'agenzia che propone il sito ecommerce. In questo caso si ha la garanzia di poter intervenire in qualsiasi aspetto della piattaforma.

da papalo ripartirò, via Flickr



La personalizzazione

La personalizzazione è un aspetto fondamentale per aumentare il tasso di conversione, ovvero il numero di persone che entrate nel sito effettuano effetivamente un acquisto.
Nel tempo si sono susseguite tre fasi:
  1. in un primo tempo ognuno creava un sito ecommerce secondo proprie idee, spesso improvvisando in un mondo ancora acerbo per le vendite online
  2. con il diffondersi dei grandi player tipo Amazon, molti siti si sono uniformati allo stesso tipo di esperienza di acquisto, trasformandosi in cloni di Amazon; le grandi piattaforme standard/os sono andate in questa direzione
  3. ultimamente si tende invece a differenziare l'esperienza di acquisto personalizzandola, proprio per riuscire ad erodere margini su questi grandi player che hanno conquistato ran parte del mercato
Più il livello di personalizzazione è spinto e più ci si deve rivolgere a software custom sviluppato ad hoc per la piattaforma di vendita.
Analizzando i trend negli ultimi anni non c'è dubbio: alti valori di conversione alle vendite si ottengono con forti personalizzazioni dell'esperienza di acquisto.
La personalizzazione dell'esperienza di acquisto deve incidere sia a livello di prodotto che a livello di utente in modo da poter far riconoscere univocamente nel mondo ecommerce quel particolare sito e non uno qualsiasi dei tanti siti di vendita. I fattori di successo di una vendita online sono legati a quelli dell'azienda stessa; più si riesce a trasferire online l'unicità dell'azienda meglio si comporteranno le vendite.
Per riportare una esperienza banale: non tutti i siti di vendita sono adatti ad avere un oggetto chiamato carrello; eppure quasi sempre lo hanno. Un sito di vendita di auto può forse avere un carrello? Semanticamente e fisicamente l'auto nel carrello non ci sta.
Allo stesso modo un sito d'arte squalifica i suoi beni se li fa inserire in un carrello, che evoca più un supermercato per beni dozzinali che un negozio d'arte.
Questi piccoli esempi servono a comunicare come già questa variabile, cioè il fatto di chiamare 'carrello' la zona in cui vengono raggruppati gli ordini, potrebbe essere un limite nella scelta di molti software per i quali l'uso del termine carrello diventa imperativo, oppure nei quali cambiare questo termine e la grafica correlata significa mettere mano a molte righe di codice, cioè a costi elevati.
Porto come esempio il sito www.bimbiallaria.it che ha adottato, per il carrello, una grafica più consona allo stile del sito; questa piccola personalizzazione grafica deve poter essere effettuate per consentire di veicolare l'immagine prevista.
Il livello di personalizzazione di una piattaforma è uno dei fattori principali da prendere in considerazione nel definire quale tipo di software utilizzare.
Le piattaforme open source offrono un livello di personalizzazione limitato rispetto a quelle custom, per definizione; inoltre è necessari auna profonda conoscenza della piattaforma (lato codice) per effettuare le modifiche richieste.
Conviene scegliere una piattaforma standard/os quando si vuole offrire una esperienza di acquisto standard, mentre è meglio utilizzare una piattaforma custom quando anche l'esperienza di acquisto che si vuole proporre all'utente la si vuole customizzata.
Se si adotta una piattaforma open source le modalità di acquisto saranno quelle previste dalla piattaforma; difficilmente le si potrà cambiare. Questo significa che il sito ecommerce 'assomiglierà' a tutti quelli costruiti con la stessa piattaforma. Per certi versi questo è un fattore positivo, in quanto porta l'utente verso una esperienza di acquisto già nota; per altri aspetti invece  impedisce quell'esperienza unica che si vuole ottenere attraverso un sito originale.

L'aspetto SEO / marketing

Un aspetto non secondario da considerare riguarda la promozione delle piattaforme, in particolare rispetto alla loro indicizzazione sui motori di ricerca.
Vanno evidenziati gli aspetti relativi alla ottimizzazione del codice con il quale vengono generate le pagine e quelli relativi ai contenuti del sito stesso; negli ultimi anni si è verificato uno spostamento dell'importanza dall'ottimizzazione in-page verso i contenuti in generale del sito.
  • Rispetto ai contenuti in-page, cioè alla modalità con la quale vengono visualizzati i prodotti e le categorie di prodotto, si registra in genere una minore flessibilità delle piattaforme standard/os rispetto a quelle custom; per esempio l'implementazione di dati strutturati secondo schema.org risulta a volte più difficilmente implementabile sulle piattaforme standard/os
  • Rispetto invece all'inserimento di contenuti specifici per la promozione del sito, cioè articoli discorsivi o blog, va detto che le piattaforme open source fanno quello per cui sono nate, ovvero ecommerce, e non si occupano delle pubblicazioni di contenuti come i classici CMS, mentre quelle custom possono essere realizzate con una o più sezioni espressamente dedicate ai contenuti (approfondimenti / blog / magazine ).
Un aspetto da non sottovalutare riguarda la modalità con la quale vengono generati gli indirizzi (URL) delle pagine ed i riferimenti ai contenuti.
Per quanto riguarda gli URL, difficilmente la loro struttura può essere cambiata nelle piattaforme open source; la struttura è importante per quanto riguarda l'indicizzazione delle pagine essendo il loro URL di fondamentale importanza per l'ottimizzazione.
Il riferimento ai contenuti diventa invece importante quando si voglia utilizzare il link alla pagina come elemento di promozione su altre piattaforme; ad esempio inserendo l'URL del prodotto da pubblicizzare su facebook. In questo caso il fatto che vengano utilizzati correttamente il titolo, l'immagine principale, il testo della pagina nel box riportato su facebook dipende dall'implementazione che il sistema prevede per opengraph; lo stesso si dica per i dati inseriti su altri siti o social network. Su una piattaforma custom sarà sempre possibile intervenire per gestire correttamente questi dati, mentre su una piattaforma stamdard/os l'intervento potrebbe essere più complesso o impossibile.
In genere una piattaforma standard/os ha funzionalità che tendono a ricadere esclusivamente nell'ambito ecommerce/vendite, mentre richiede l'integrazione di software di terze parti per quanto riguarda la promozione e il marketing.

Il collegamento con basi dati esistenti

Se il sito ecommerce appartiene ad una realtà esistente deve interfacciarsi ed integrarsi con una base di anagrafiche / crm / prodotti / fatturazioni presente e funzionante.
Esistono molti plugin sviluppati ad hoc per le piattaforme standard/os; tuttavia essendo sterminato il numero di gestionali presenti, si deve ogni volta intervenire per costruire il giusto plugin/codice per interfacciare l'ecommerce con le basi dati esistenti.
Mentre le soluzioni custom prevedono, di default, l'interfacciamento costruito appositamente per le realtà esistenti quelle standard/os richiedono un lavoro di adattamento della struttura della piattaforma sui sistemi presenti. Per piccole realtà il problema potrebbe essere non rilevante, mentre per realtà di medio-grande entità potrebbe essere uno dei colli di bottiglia principali.
La piattaforma custom permette di adattare il business online con quello esistente, mentre la soluzione standard/os tende a fare esattamente il contrario, adattando la situazione esistente a quella online che diventa la guida con la quale organizzare i dati.
Per grandi moli di dati e transazioni potrebbe non essere possibile o conveniente una migrazione su piattaforma standard/os.

Backend

Mentre nelle piattaforme custom il backend può essere costruito su misura per chi deve utilizzare la piattaforma, lo stesso non capita sulle piattaforme standard/os.
In questo caso infatti esiste un backend funzionante di base; ogni modifica ad esso deve essere costruito con una buona conoscenza del codice ad un livello ancora più complesso rispetto a quello di generazione delle pagine pubbliche. Quando possibile ci si affida a plugin; quando ciò non è possibile si deve prevedere un intervento per inserire nella struttura esistente i cambiamenti voluti; a volte non è possibile o conveniente stravolgere completamente la logica di inserimento/gestione dati per ottenere il risultato voluto.

Hacking

Questo è un aspetto controverso che può essere visto da due punti di vista opposti.
Le piattaforme standard/os hanno alle spalle un gran numero di sviluppatori che scoprono le vulnerabilità e al più presto rilasciano le patch per la sicurezza; è vero d'altro canto che essendo in gran numero sono più appetibili da parte di eventuali hacker che si trovano con molti più bersagli a disposizione. per questo è necessario che le piattaforme standard/os siano periodicamente revisionate e aggiornate, pena il cadere prima o poi vittime di attacchi.
Le piattaforme custom sono meno bersagliate, essendo in numero minore e non standardizzate; tuttavia se il codice viene prodotto da programmatori inesperti può essere soggetto ad attacchi mirati.
Ricordo per inciso lo scandalo internazionale dei Panama papers, milioni di documenti privati 'fuggiti' da server privati; banalmente la causa era stato l'utilizzo di una vulnerabilità di una piattaforma standard/os che non era stata aggiornata all'ultima versione.

Aggiornamenti.

Direttamente collegato con il paragrafo precedente c'è il capitolo manutenzione / aggiornamenti.
Un software di vendita deve essere aggiornato; non può rischiare di essere attaccato facilmente o avere buchi di funzionamento. Per questo è necessario pianificare sin dall'inizio gli interventi di manutenzione periodica, collegati all'assistenza sull'uso dell apiattaforma.
I sistemi standard/os rilasciano periodicamente le versioni aggiornate; questo purtroppo può rappresentare un potenziale problema, una vera mina vagante che nei quindici anni di esperienza sull'ecommerce si è visto spesso deflagrare.
Si verificano infatti due condizioni che di fatto bloccano il funzionamento del sito:
  1. il software sviluppato dall'azienda che è intervenuta sul codice della piattaforma standard/os non è compatibile con la nuova versione della piattaforma. In questo caso se l'aggiornamento della piattaforma è automatico (molti siti offrono piattaforme automaticamente aggiornate all'ultima versione) il sito si blocca e richiede un nuovo intervento da parte dell'azienda che ha sviluppato i cambiamenti. Se l'aggiornamento non è automatico si è in condizioni ancora peggiori: non si può aggiornare la piattaforma, esponendola ai tentativi di hacking che si faranno via via più frequenti nel tempo.
  2. il sistema di hosting della piattaforma aggiorna i servizi di base (per esempio php e mySql) e la piattaforma standard/os non è compatibile con questi sistemi. Anche in questo caso il sito si blocca ed è necessario un intervento per sistemare il software, intervento che non è detto sia breve o semplice.

Il mito della riusabilità del codice - licenze

Uno dei miti da sfatare riguarda il riutilizzo del codice delle piattaforme standars/os. Quando si tratta di mettere mano alla piattaforma per modificare il codice esistente, o per inserirne di nuovo, il ruolo dell'agenzia che lo implementa è fondamentale. Al di là del tipo di licenza con il quale viene rilasciato (normalmente dovrebbe essere lo stesso della piattaforma di origine, ma questo non sempre è garantito) non è detto che il codice venga scritto e commentato in modo da poter essere utilizzato da altri programmatori; a volte, addirittura, si arriva a tecniche di criptazione per difendere il particolare codice creato. La portabilità e modalità di scrittura del codice vanno definite prima dell'implementazione; in particolare andrà previsto il livello di commenti e spiegazioni che dovrà essere presente nel codice.
Viceversa, nulla vieta che con l'accordo dell'agenzia che sviluppa il codice la piattaforma custom non possa essere rilasciata in modalità open source, o comunque in una modalità che renda il committente in grado di riutilizzare il codice presso terze parti.




Nel tentativo di cercare una conclusione: cosa scegliere?

Non è una guerra di religione; ci sarà sempre chi difende una scelta a discapito dell'altra.
Dopo anni di utilizzo di varie piattaforme l'azienda per cui lavoro, Linkomm, ha deciso di utilizzare principalmente piattaforme custom derivate da anni di esperienza, sufficientemente testate sul campo per garantire stabilità e sicurezza da una parte, possibilità di personalizzazione e variazione nel tempo dall'altra.
Il successo di una piattaforma ecommerce non può essere disgiunto da un dialogo continuo con l'azienda che fornisce il sistema di vendita; la consegna del sito funzionante non è un punto d'arrivo, è un passo intermedio necessario nella strategia globale di ottimizzazione delle vendite online, al quale seguono altri passi per accompagnare il sistema di vendita facendo colloquiare chi conosce clienti e prodotto con chi cura il marketing e il funzionamento online.

Uno dei parametri fondamentali è comunque relativo alla  personalizzazione del sito ecommerce: più è semplice e standard senza richiedere interventi, più è consigliata l'opzione standarad/os.

Uno dei parametri che ritengo più importante, tuttavia, non è un parametro tecnico: è la qualità dell'interlocutore che realizza la piattaforma ecommerce.
Piuttosto che scegliere una tecnologia penso sia meglio scegliere una azienda qualificata, la quale saprà, con tecnologie open source o custom, offrire il prodotto necessario a chi vuole generare vendite online.
La verà scelta è sull'azienda che sviluppa il sito, non sulla licenza con cui è rilasciato il software.

Linkografia


saas
http://ecommerce-platforms.com/articles/top-6-ecommerce-platform-reviews-2012-shopify-volusion-bigcommerce-magento-bigcartel-3dcart

Elenco SaaS
http://www.giovannicappellotto.it/8052-scegli-la-miglior-soluzione-e-commerce-per-il-tuo-business-le-soluzioni-saas/


Link di riferimento
http://www.opencart.com/
http://www.oscommerce.com/
http://www.zen-cart.com/
http://www.prestashop.com/
http://www.magentocommerce.com/
http://spreecommerce.com/
http://virtuemart.net/
http://www.ubercart.org/
http://www.zeuscart.com/
http://www.cubecart.com/
http://www.afcommerce.com/
http://www.tomatocart.com/
http://www.ownmyshop.com
http://kharedi.in/tips-to-building-a-successful-online-store
http://www.kharedi.in/how-to-start-an-online-store
http://www.iqecommerce.com/
http://www.nopcommerce.com

Allegati

Allego un'immagine di un subnetwork che evidenzia i collegamenti tra piattaforme di ecommerce e siti che ne parlano, utile per avere un panorama dell'argomento in rete:



Iscriviti alla newsletter