Wil je jouw shop ook als een WooCommerce App aanbieden? Dat kan makkelijker en voordeliger dan je dacht!
Al weer een tijdje geleden sprak ik een oud cursist. Hij wilde mij bedanken voor de cursus ‘e-Commerce PowerClass’ die hij in 2016 had gevolgd. Deze cursus -die inmiddels niet meer wordt gegeven, maar waarvan de content nog terug te vinden is in eCommerce Seriously en WooCommerce – in Detail– had hem geïnspireerd tot een complete verandering van zijn aanpak. En sinds die verandering was zijn webwinkel in omzet en omvang gegroeid.
Hij vertelde mij ook, dat dank zij deze cursus hij nu het budget had om een app voor zijn winkel te laten ontwikkelen. Toen ik voorzichtig informeerde hoeveel deze ontwikkeling hem had gekost, vertelde hij mij dat hij voor apps voor zowel Apple iOS als Android ongeveer 7000 euro had gekost.
In mijn optiek moest hier sprake zijn van bedrog. Want een app ontwikkelen die direct contact kon leggen met een WooCommerce shop kon in mijn optiek nooit zo duur zijn. Zelfs niet als je deze op twee verschillende platforms laat ontwikkelen. Maar toen hij mij -op mijn verzoek- de specificaties liet lezen, kon ik niet anders dan concluderen, dat voor de oplossing die hij aangeboden had gekregen hij geen cent teveel had betaald.
Het probleem was echter, dat de oplossing niet de meest efficiënte was. En voor mij was dit toch een reden om speciaal voor jou eens op een rijtje te zetten, wat er allemaal bij komt kijken – en wat er allemaal niet strikt noodzakelijk is – bij de ontwikkeling van een WooCommerce App webwinkels.
WooCommerce – Hoe kan je er mee praten?
Het probleem van de app bouwer was, dat deze er absoluut geen kijk op had hoe WooCommerce nu eigenlijk met een app kon praten. Wat hij dus deed, was vanuit zijn WooCommerce app direct contact maken met de database van WooCommerce en heel veel functionaliteit die WooCommerce heeft met betrekking tot de controle van gegevens, opnieuw nabouwen. Lijkt mij persoonlijk niet het leukste project, maar bovendien is het een uren-vreter met grote kans op fouten.
Want WooCommerce heeft ook een zogenaamde REST API. REST staat voor REpresentational State Transfer en voor jou is dit eigenlijk totaal onbelangrijk, wat dit wil zeggen. Maar heel erg gesimplificeerd, het is een manier, waarop een programma op afstand informatie van een ander programma op kan vragen. Of nog simpeler, het is de ’taal’ waarmee jouw app aan je webwinkel kan vragen ‘Welke producten heb je in de categorie …’.
Wanneer de app bouwer had geweten van deze REST API had hij zijn ontwikkeltijd met minimaal 80% kunnen bekorten.
No REST for the wicked
Je moet het zo zien. In WooCommerce voeg jij je producten toe. Om WordPress zo flexibel mogelijk te maken, maakt WordPress daarbij gebruik van een nogal specifieke opslagstructuur. Vraagt een bezoeker dat product op, dan gaat WooCommerce zoeken naar al die gegevens.
Gelukkig hoeft de gemiddelde programmeur niets te weten van de manier waarop WooCommerce gegevens opslaat. Dit wordt afgevangen door een zogenaamde ‘API’, een ‘Application Program Interface’. Als programmeur hoef ik dus niet door allerlei tabellen te graven, maar kan ik gebruik maken van deze API. Vraag ik als programmeur een product met een bepaald ID op, dan worden alle andere velden er automatisch bijgezocht.
Alleen lokaal
Nu is het nadeel van de WooCommerce API dat deze maar één taal spreekt. PHP. En je kan deze API alleen aanroepen vanuit dezelfde host waarop de website staat. Wil ik bijvoorbeeld mijn WooCommerce koppelen aan een extern point of sale systeem, dan lukt dat niet zomaar. Ook koppelen met een app gaat niet zomaar, omdat apps nu eenmaal een andere taal spreken.
Dat probleem is echter zo oud als de computerwereld zelf en daar zijn allerlei oplossingen voor bedacht. Eén van die oplossingen kijk je nu naar: Jouw Internet browser. Want het maakt niet uit, of je nu op Windows, Linux, MacOs, iOS of Android kijkt: Jouw browser begrijpt mijn pagina, omdat er afspraken zijn gemaakt, hoe de informatie moet worden gedeeld.
Zoiets kan ook met WooCommerce. En die koppeling die er gemaakt kan worden wordt ‘REST’ genoemd. Er zijn afspraken gemaakt over een bepaalde manier waarop vragen worden gesteld, en op welke manier deze vragen moeten worden beantwoord.
En hierdoor kan jouw WooCommerce app ‘praten’ met WooCommerce, zonder half WooCommerce nagebouwd had hoeven te worden in de app.
Leuk, maar ik ben geen techneut. Wat kan ik hiermee?
De manier waarop een app met je winkel praat zal je mogelijk weinig interesseren. Hoeveel tijd en geld het je gaat kosten en wat de risico’s zijn als het misgaat waarschijnlijk wel. En dat is precies datgene wat je moet weten op het moment, dat je gaat praten met een eventuele app ontwikkelaar. Op het moment dat jij precies weet wat je wilt, kan je namelijk de prijs enorm omlaag krijgen.
Laten we dus eens kijken, wat nu precies je mogelijkheden zijn. Maar om te beginnen, waarom zou je eigenlijk een app willen?
Redenen om een eigen shopping app te hebben
Waarom zou je eigenlijk een app willen hebben? Als het goed is, is jouw thema responsive en toont het goed op alle devices. Kan een app daar nog iets aan toevoegen, of is het eigenlijk alleen maar een hype. Laten we eens kijken naar 3 goede redenen om een app te hebben.
- Wanneer je een app hebt, heb je een extra kanaal waarlangs je gevonden kan worden. Sommige mensen browsen app stores net zoals ze het internet browsen. Ze zoeken op hun favoriete sleutelwoorden en als ze iets vinden, installeren ze mogelijk die app.
- Hier nauw mee verbonden: Wanneer je niet je webwinkel maar iets anders ‘leading’ laat zijn in je app, wordt je app wellicht aantrekkelijker om down te loaden. Zie het zo. Stel, je hebt een webwinkel met kookboeken. In plaats dat je je webwinkel naar voren brengt als ‘webwinkel met kookboeken’, bied je een app aan met een recept van de dag of de week, afhankelijk van hoe frequent je iets toe kan voegen.
In deze ‘receptengids’ voeg je een extra optie ‘Shop’ toe, waar mensen in de webwinkel komen. Je doelgroep heeft dus eigenlijk jouw webwinkel gedownload als een ‘uitbreiding’ op iets anders. - Op het moment dat iemand jouw webwinkel bezocht heeft, is er geen enkele garantie dat hij terug zal komen. Installeert iemand jouw app, dan wordt dit een onderdeel van het beperkte aantal ‘favorieten’ wat er op zijn telefoon opgeslagen kan worden. De kans dat iemand terug zal keren naar je winkel is zo vele malen groter.
Meerdere platforms
Het eerste probleem wat je hebt, is dat -wanneer je een app wilt laten ontwikkelen- je met meerdere platforms te maken krijgt. Wanneer je je uitsluitend tot de belangrijkste platforms beperkt, zal je voor zowel Android als iOS een app moeten laten ontwikkelen. Dat is dus twee maal geld uitgeven om ongeveer hetzelfde te bereiken.
Pak je het liever voorzichtiger aan en laat je het liever eerst voor één platform ontwikkelen, onderzoek dan wat het meest populaire mobiele/tablet platform onder je klanten of site bezoekers is. Kijk ik bijvoorbeeld in mijn Google Analytics statistieken voor WordXPression, dan zie ik dat 13% van de bezoekers Android gebruikt, 10% gebruikt iOS. Niet een echt significant verschil en indien ik een app voor WordXPression zou maken, zou het goed zijn om allebei de platforms tegelijk te ontwikkelen.
Cordova
Daarnaast bestaat er de mogelijkheid, dat je jouw app in ‘Cordova’ laat ontwikkelen. Cordova is een ‘vertaalprogramma’ (vroeger meer bekend onder de naam PhoneGap), waarmee je met HTML, JavaScript en CSS toepassingen kan ontwikkelen die worden ‘vertaald’ naar native iOS of Android apps.
Hier gelden echter een aantal grote ‘maars’ De belangrijkste ‘maar’, is het feit dat Cordova een soort ‘grootste gemene deler’ van mogelijkheden met je mobiele OS gebruikt. Er zijn dus mobiele functies die gewoon niet ’toegankelijk’ zullen zijn, omdat niet all onderliggende platforms (je kan met Cordova nog meer platforms bereiken) deze functies ondersteunen.
Een tweede grote ‘maar’ is, dat in de praktijk ontwikkelaars liever in Kotlin of Java (de talen voor Android) of XCode (de taal voor Apple iOS) werken, dan een ‘bovenliggende taal met minder mogelijkheden’ gebruiken.
React Native en Flutter
Het nadeel van Cordova en omgevingen die hiervan zijn afgeleid, is dat deze in vergelijking met ‘native apps’ trager zijn. Er is echter ook een aantal oplossingen die ook hierin tegemoet komen. Zoals bijvoorbeeld ‘React Native’ en ‘Flutter’.
Beide oplossingen bieden een soort ‘gulden middenweg’ tussen volledige native apps en ‘emulatie’ apps, zoals apps gebouwd met Cordova.
Bij een mobiele app is 80% van het processorgebruik direct gerelateerd aan de grafische interface. Ofwel de manier waarop het beeld wordt opgebouwd. En met zowel React Native en Flutter is het zo, dat voor dat grafische deel direct het operatingsystem van de onderliggende telefoon wordt aangesproken, terwijl er voor de ‘logica’, de ‘business rules’ gebruik gemaakt wordt van ‘virtuele code’.
Hierdoor zijn apps gemaakt met React Native of Flutter bijna net zo snel als echte native apps, maar hoef je slechts éénmaal die app te ontwikkelen.
Maar waarom moet ik dit weten?
Deze technische discussie is opnieuw niet echt interessant voor jou. Wat wel interessant is om te weten, is dat het niet per se waar hoeft te zijn dat de kosten voor een nieuwe app ‘de kosten voor één app maal twee’ hoeft te zijn. Het kan voordeliger.
De distributie
Maar stel nu, dat je een WooCommerce app hebt laten ontwikkelen. Die zal je nu ook nog bij je doelgroep op de mobiel of het tablet moeten krijgen. Wat je hoogstwaarschijnlijk al lang gemerkt hebt, is dat het met een app niet zomaar ‘Download en installeer’ is. Apps worden via een gecontroleerd distributiekanaal aangeboden. Voor iOS is het de AppStore, voor Android is het Google Play.
Je zal er dus op de één of andere manier voor moeten zorgen, dat jouw app in die app shops komt. Hoe doe je dat?
Allereerst is het belangrijk dat zelfs nog voor je je app laat ontwikkelen, je eerst onderzoekt, of de app hier sowieso wel in zou kunnen komen. Want beide app shops hebben een lange lijst van niet toegestane onderwerpen voor apps.
Wanneer je niet zeker bent, of je idee geschikt is voor een app, is het altijd verstandig eerst contact op te nemen met Apple of Google, voordat je de app laat ontwikkelen.
Houd er ook rekening mee, dat Google en Apple andere regels hanteren. Het is bijvoorbeeld heel goed mogelijk, dat je voor Google Play wel een app voor je shop kan hebben, maar voor de Apple App store niet. In dat geval zal je een keuze moeten maken, of je slechts één platform wilt ondersteunen, of toch maar helemaal geen app.
Het developer account
Als aanbieder van een WooCommerce app heb je een developer account nodig. Dat kan een eigen account zijn, of het account van de ontwikkelaar van je app. Meestal zal de ontwikkelaar van je app aanbieden om de app via zijn account te publiceren. Dat lijkt handig, dan hoef jij al die acties rond het publiceren van de app niet zelf te ondernemen.
Toch schuilt hier een gevaar in. Want beide app stores behouden zich het recht voor een account te verwijderen, indien een gepubliceerde app zich niet aan de richtlijnen houdt. Upload jouw developer voor een andere klant iets wat ‘niet door de beugel kan’, dan riskeer je dat jij ineens je distributiekanaal kwijt bent. Het is dus verstandiger om je eigen developer account te maken en daar je app te publiceren.
Dat is overigens niet gratis. Omdat de prijzen door de loop der jaren heel wat malen zijn aangepast, noem ik geen bedragen, maar globaal kun je zeggen, dat je voor een Google developer account éénmalig een bedrag betaalt, ongeacht hoeveel apps je gaat publiceren. Voor een Apple developer account betaal je voor iedere app een bedrag wat ongeveer 3x zo hoog is als wat je Google moet betalen.
Maar in beide gevallen blijven de bedragen laag genoeg om het aantrekkelijk te houden. Op de hele ontwikkeling en marketing van je eigen app zijn de kosten voor de app shops maar een marginaal onderdeel.
Functionele aspecten van een WooCommerce App
Tot nu toe hebben we hoofdzakelijk gekeken naar de technische aspecten van een WooCommerce App. Maar wanneer je zo’n app zou ontwikkelen, wat zou je er dan in willen hebben?
Natuurlijk. Je wilt je producten verkopen. Dus je wilt je producten erin hebben. Dat mag duidelijk zijn. Ik heb een aantal voordelen genoemd die pleiten voor het ontwikkelen van een app, maar een app heeft ook enkele nadelen.
Het maakt niet uit hoe groot jouw website is in ‘aantallen pagina’s’. Of jij nu één of één miljoen pagina’s op je website hebt, bij een snel hostingaccount zal de bezoeker nauwelijks het verschil merken.
Bij apps maakt het wel een groot verschil hoeveel je ‘er in wilt stoppen’. Want alles wat jij niet online hebt staan, zal in jouw app ‘meegecompileerd’ moeten worden en maakt je app groter. En hoe groter je app, hoe waarschijnlijker het is, dat bij ruimtegebrek je gebruiker de app zal deïnstalleren.
Je wilt dus dat je app vrij ‘bare bones’ blijft. Voor specifieke zaken kan je nog steeds -binnen of buiten de app- online pagina’s op je website laden.
Betalen
Betalen met een app is een verhaal apart. Kies je voor ‘in app aankopen’, dan leg je jezelf eigenlijk enorme beperkingen op. Allereerst is het aantal betaalmethoden wat ‘in app’ kan worden aangeboden nogal beperkt, maar veel belangrijker is, is dat het een kostbare betaalmethode is.
Naast een transactietarief betaal je ook een percentage over het totale bedrag.
Wat veel gebruikelijker is, is dat de betaalmethoden van je webshop gewoon door de WooCommerce app gebruikt worden, direct door het laden van de check out pagina, of door de ‘betaallink’ die naar je betaalprovider gaat ‘af te vangen’. Betaling vind dus zelf buiten de app plaats.
De WordXPression WooCommerce app
De meeste webwinkel apps zitten grotendeels hetzelfde in elkaar. Je hebt een beginpagina met daarop een aantal ‘rubrieken’ waar je in de winkel heen kan gaan. Het kan allemaal eigenlijk heel simpel. En dat is precies wat de WooCommerce App die WordXPression aanbiedt is. Simpel. Maar wel op maat.
Door kleur, font en logokeuze kan de app helemaal in jouw huisstijl worden gemaakt, maar door gebruik te maken van een aantal standaardcomponenten blijft de app toch heel betaalbaar.
De app ‘spreekt’ REST met jouw WooCommerce shop. En dat wil zeggen, zat jouw app ook ’toekomst bestendig’ is, want de REST interface met WooCommerce zal zo snel niet wijzigen.
Beperkingen
Laten we gelijk eerlijk zijn. De keuze voor REST zorgt ook dat je WooCommerce shop bepaalde beperkingen heeft. Met standaard WooCommerce zal de app probleemloos werken, maar wanneer je specifieke plugins gebruikt mogelijk niet.
Eén van de problemen waar ik in de praktijk tegenaan liep is met multi currency plugins. Plugins die het mogelijk maken de prijzen op je site in meerdere valuta te tonen. Het probleem met dit soort plugins is namelijk, dat deze de prijs wel aanpassen op de site zelf, maar de data niet aanpassen in de REST interface. Multi currency werkt dus niet.
Hetzelfde geldt voor Composite products. Omdat de Composite products plugin heel wat aanpast in de structuur van producten, maar niet in de REST interface, zal ook dit niet goed werken.
Dit is overigens geen fout in de WooCommerce app, maar een fout in de manier waarop de Composite products plugin is ontwikkeld. Voor de ‘multi currency plugins’ geldt eigenlijk hetzelfde verhaal. Wanneer de plugin niet alleen de gegevens op het scherm, maar ook in de REST interface aan zou passen, zou er geen vuiltje aan de lucht zijn.
Een tweede beperking kan de performance van je website zijn. De WooCommerce App leest via REST de gegevens op je website. En omdat al die HTML niet nodig is, leest hij die gegevens eigenlijk best heel snel. Maar bij een trage server toch niet snel genoeg. Een snelle website is dus een eerste vereiste voor een goede response in de WooCommerce App.
Interesse in een WooCommerce App voor jouw webwinkel?
De WordXPression WooCommerce app is een goed betaalbare manier om een WooCommerce App voor jouw webshop te krijgen. Wil je meer weten, dan kan je hier verder lezen. Wil je weten of de WordXPression WooCommerce App ook mogelijk is voor jouw WooCommerce shop, neem dan gewoon contact op. Dan maken we een bel- of Zoom afspraak om de mogelijkheden door te nemen.