Twinfield storing 4-9 januari 2018

Helaas begint het jaar voor Twinfield met de nodige storingen. Op 4 januari gaf ik al via Twitter dat het genereren van een PDF-factuur ruim 30 minuten duurde:

Twinfield reageerde daar erg vlot op en gaf ook binnen een uur aan dat alles weer op volle snelheid zou moeten functioneren:

Zo'n snelle reactie zonder toelichting waarom Twinfield zo traag reageerde geeft mij als programmeur niet veel vertrouwen. Ik vraag me dan al snel af of er ├╝berhaupt naar de oorzaak van de vertraging is gezocht.

Een paar dagen later blijkt ook wel dat Twinfield hier waarschijnlijk niet heel goed naar gekeken heeft. In de periode van 4 t/m 9 januari klagen namelijk meerdere gebruikers over de traagheid. Inmiddels toont Twinfield ook binnen het dashboard hier een melding over:

De snelheid op het accounting cluster is langzamer dan u gewend bent. Wij werken aan een oplossing.

Twinfield

Naast bovenstaande melding is tijdens het werken in Twinfield ook goed te merken dat het systeem niet stabiel draait. Zo zien wij regelmatig de volgende┬á´╗┐500-meldingen:

Deze issues komen met het einde van 2017 en het 4e kwartaal op een vrij ongunstig moment. Hopelijk weet het Twinfield team het probleem snel op te lossen. En hopelijk geven ze dit keer ook goed aan het wat het probleem precies was en hoe dit in de toekomst voorkomen gaat worden.

Update 11 januari 2018

Inmiddels zijn we 2 werkdagen verder en helaas heb ik nog niks van Twinfield vernomen. Tijdens het werken in Twinfield komen er echter nog wel zeer regelmatig fouten voorbij, bijvoorbeeld:

An error occurred on the server. Always include the following error reference when you report this error: 11/01/2018 P92376.

Twinfield

Twinfield storing 29 en 30 oktober 2017

Op 29 oktober zag ik toevallig op Facebook een melding van Twinfield voorbij komen over een storing:

Twinfield zegt op 29 oktober om 17:39:

Op dit moment is de Twinfield webdienst niet beschikbaar, het is niet mogelijk om in te loggen. We werken hard aan een oplossing, excuses voor het ongemak.

Voor veel Twinfield klanten kwam deze storing niet op het juiste moment i.v.m. de verwerking van de 3e kwartaal btw-aangifte. Ik was daarom wel benieuwd naar hoe Twinfield dit verder zou afhandelen. Later op de avond geeft Twinfield via Facebook meerdere keren aan dat er hard wordt gewerkt aan oplossing:

Twinfield zegt op 29 oktober om 20:18:

Hallo Inge en Geke, we zijn er met man en macht aan bezig. Het is een erg lastig probleem. Wanneer we iets kunnen melden, dan doen we dat direct. Excuus voor het ongemak.

Op dit moment geeft Twinfield al wel aan dat het een ‘erg lastig probleem’ is. Ik vind het dan altijd wel jammer dat er niet bij vermeld wat het precies zo lastig maakt. Er is blijkbaar wel geconcludeerd dat het lastig is, maar wat maakt het dan precies zo lastig?

Voor zover ik kan zien heeft Twinfield om 21:35 een laatste update gestuurd via Facebook:

Twinfield zegt op 29 oktober om 21:35:

Hi Ellen, ik hoop het, maar ik durf er nog niets over te zeggen. Het is erg lastig op te lossen, begrijp ik van de collega’s, die er hard aan werken. Excuus!

De volgende update via Facebook is de volgende ochtend:

Twinfield zegt op 30 oktober om 11:19:

Update 10:00u – Tijdens het onderzoek van het probleem hebben we een ongewone hoeveelheid verkeer gedetecteerd naar de Twinfield-webdienst. Als voorzorgsmaatregel hebben we Twinfield online boekhouden niet beschikbaar gemaakt. Er wordt hard gewerkt aan een oplossing. Onze excuses voor het ongemak!

Na een hele avond (en nacht?) hard werken is er een ongewone hoeveelheid verkeer gedetecteerd naar de Twinfield-webdienst. Persoonlijk vind ik zo’n update wel vrij mager als je de avond daarvoor meld dat er hard wordt gewerkt aan een oplossing.

Twinfield zegt op 30 oktober om 17:07:

Update 16:00u – Op dit moment kunnen we bevestigen dat onze storing het gevolg is van een ddos incident gericht op Twinfield. Door een aantal webservers werd een ongebruikelijk grote hoeveelheid data op Twinfield afgevuurd. Zoals eerder gemeld hebben we de webdienst uit voorzorg offline gehaald. We hopen snel weer online te zijn. Excuses voor het ongemak.

In mijn beleving staat ‘ongewone hoeveelheid verkeer’ wel enigszins gelijk aan ‘ddos incident’. Wat dat betreft vind ik deze update na 6 uren dan ook wel vrij minimaal.

Twinfield zegt op 30 oktober om 18:03:

We zijn blij om u te informeren dat de Twinfield webdienst weer online is.

Zoals gezegd kunnen we bevestigen dat de ongewone toename van het dataverkeer het gevolg is van een ddos-incident (distributed-denial-of-service). Zoals eerder gedeeld, hebben we de webdienst offline gebracht als een voorzorgsmaatregel, en op dit moment is er, buiten de onderbreking van beschikbaarheid, geen andere impact op klanten geïdentificeerd.

Op dit moment is het niet mogelijk om in te loggen op Twinfield online boekhouden via onze website op http://taxnl.wolterskluwer.com. Om toegang te krijgen tot het systeem gebruikt u onze beveiligde loginpagina https://login.twinfield.com.

Onze teams hebben gewerkt met standaardprotocollen om de webdienst zo snel mogelijk weer beschikbaar te maken. We beseffen dat deze situatie u tijdens een cruciale tijd heeft beïnvloed en we verontschuldigen ons voor het ongemak.

We blijven de activiteit rondom de webdienst volgen en informeren u uiteraard opnieuw als we opnieuw ongewone activiteit detecteren.

Om 18:03 kreeg ik per e-mail bericht dat de Twinfield webdienst weer online is. Wat ze hier precies bedoelen met ‘gewerkt met standaardprotocollen’ is me niet helemaal duidelijk. In ieder geval fijn dat de Twinfield webdienst weer online is.

Twinfield zegt op 31 oktober om 15:08:

Zoals u wellicht weet hebben we de afgelopen 48 uur te maken gehad met een ddos-incident (een ddos-incident is een poging van een onbekende partij om een online dienst te overweldigen met dataverkeer uit meerdere bronnen, waardoor de online dienst onbereikbaar wordt). Uit voorzorg hebben we de Twinfield webdienst offline gehaald en maatregelen genomen waardoor we de webdienst gistermiddag weer online hebben gebracht. Onze excuses voor het ongemak.

Het ddos-incident is externe activiteit die buiten onze controle valt. We hebben dit incident aan de juiste autoriteiten gerapporteerd. Naast de onderbreking van onze dienstverlening is er geen andere impact op klanten geïdentificeerd. We hebben tot nu toe geen bewijs voor penetratie van, inbraak in of vernietiging van klantgegevens. We blijven de activiteit rondom de webdienst volgen en nemen contact met u op als we ongewone activiteit detecteren.

Bij dit bericht vraag ik me af wat voor maatregelen er dan precies zijn genomen. Ook vind ik het jammer dat ze niet vermelden aan welke autoriteiten het incident is gerapporteerd. Verder begrijp ik ook niet wat Twinfield precies wil zeggen met de zin: “Het ddos-incident is externe activiteit die buiten onze controle valt.”.

Ik heb zelf gelukkig geen hinder gehad van de Twinfield storing, maar vind het wel jammer dat Twinfield niet duidelijker communiceert. Hopelijk gaat Twinfield bovenstaande zaken nog ophelderen en kunnen we in de toekomst zonder al te veel issues met Twinfield blijven werken.

Twinfield usability en API

Sinds een jaar gebruiken we bij Pronamic het online boekhoudsysteem Twinfield. Met dit pakket zou je eenvoudig online je administratie moeten kunnen beheren. In dit bericht zet ik daar mijn vraagtekens bij, is Twinfield wel zo eenvoudig en gebruiksvriendelijk?

Ik moet hierbij vermelden dat ik erg weinig doe met Twinfield. Ik gebruik Twinfield voornamelijk voor het opvragen van facturen en het controleren van betalingen. Toch zie ik enorm veel verbeterpunten bij deze eenvoudige handelingen. In dit bericht kort een aantal verbeterpunten.

Inloggen

Om in Twinfield in te loggen moet je naar de pagina https://login.twinfield.com/ surfen. Ik ken deze URL in principe uit mijn hoofd, maar ik type hem zelden met ‘https’ ervoor. Als je echter naar http://login.twinfield.com/ surft krijg je de melding: “De wachttijd voor de verbinding is verstreken“. Zou het zo lastig zijn om http://login.twinfield.com/ netjes door te linken naar https://login.twinfield.com/?

Zodra je uiteindelijk het inlogformulier voor je hebt begint de voglende uitdaging. Je moet een gebruikersnaam, wachtwoord en een omgeving invoeren. De gebruikersnaam en wachtwoord zijn erg gebruikelijk, maar waar dient ‘omgeving’ voor? Het zal vast een doel hebben binnen Twinfield, maar ik vind het een onnodig extra veld.

Deze problemen zijn in principe eenvoudig te verhelpen door de login URL en de logingegevens op te slaan binnen je webbrowser. De ontwikkelaars van Twinfield zouden dit echter ook kunnen vereenvoudigen. Met de kreet “Snel starten en overal toegankelijk” op hun website zou je dat wel mogen verwachten, want snel Twinfield starten is mij nog niet gelukt ;).

Navigeren

Als ik vervolgens ben ingelogd en een factuur wil bekijken klik ik in het hoofdmenu op het item “Facturatie”. Ik krijg zodra ik met mijn muis over dit item ga keurig een ‘pointer’ cursor te zien. Door de ‘pointer’ cursor krijg ik het idee dat dit item linkt naar een pagina “Facturatie”, maar dit blijkt niet zo te zijn.

Zodra ik op dit item klik opent er niet een nieuwe pagina, maar sluit het zojuist automatische geopende submenu. Dit terwijl het submenu de enige manier is om naar een pagina te navigeren is.

Als je veel met Twinfield werkt zul je wel snel gewend zijn aan het feit dat hoofdmenu items niet bruikbaar zijn. Voor de gebruikers die minder regelmatig met Twinfield werken is dat toch minder gebruiksvriendelijk.

Bladeren

Waar ik me nog het meeste over verbaas is dat je binnen Twinfield niet direct vanuit het hoofdmenu lijsten met gegevens kunt opvragen. Vanuit veel webapplicaties ben ik gewend dat zodra je op een hoofd menu item klikt je direct door gegevens heen kunt bladeren. Zo kun je in WordPress in het hoofdmenu klikken op “Berichten” en krijg je direct de meest recente berichten te zien:

Waarom kan ik binnen Twinfield niet via het hoofdmenu een overzicht met crediteuren, debiteuren, facturen, bankafschriften, etc. tevoorschijn toveren? Data opvragen binnen Twinfield moet blijkbaar beslist via allerlei onhandige zoekformulieren. Zo moet ik voor het bekijken van de laatst verzonden facturen naar “Opvragen” onder het menu item “Facturatie” gaan en vervolgens het volgende formulier invullen:

Als ze nou eens onder het hoofdmenu item “Facturatie” meteen de meest recente facturen weergeven zou me dat enorm veel tijd besparen. Hetzelfde geldt ook voor allerlei andere objecten zoals crediteuren en debiteuren. Eenvoudig een overzicht naar voren halen en daardoor heen bladeren zit er bij Twinfield naar mijn idee niet in.

Permalinks

Permalinks zijn denk ik de basis van elke goede webapplicatie. Alle data binnen een webapplicatie moet naar mijn idee bereikbaar zijn onder een unieke permanente link. Gelukkig beseffen veel ontwikkelaars wereldwijd dit en is data steeds vaker terug te vinden onder een unieke permanente link.

Bij Pronamic werken we met allerlei webapplicaties. Je kunt daarbij denken aan de webapplicaties van 37signals (Basecamp, Highrise, etc.) en het Pronamic intranet met alle klant- en projectdata. Alle data binnen deze webapplicaties zijn via een unieke URL op te vragen. Ik merk dat we deze URL’s intern steeds vaker gebruiken, zo linken we in e-mails, chats en andere applicaties naar gerelateerde data.

Helaas is data binnen Twinfield nog lang niet altijd goed onder een unieke permanente link beschikbaar. Dit terwijl ik juist regelmatig naar administratieve data in Twinfield wil linken. Zo zou ik bij vragen over data binnen Twinfield een collega kunnen mailen met een link naar de betreffende data.

Conclusie

Ik denk dat Twinfield qua usability nog flink aan de weg moeten werken. Administratief gezien zullen bepaalde dingen vast en zeker handig opgezet zijn. Voor iemand die echt eenvoudig en snel zijn administratie wil doen lijkt Twinfield mij minder handig. Ik denk dat voor mensen zoals mij hippen en moderne webapplicaties zoals MoneyBird veel fijner werken.

Gelukkig heeft Twinfield ook een API beschikbaar gesteld. Het is dus mogelijk om Twinfield data via een eigen applicatie op te vragen en gebruiksvriendelijker weer te geven. Ik heb op Google Code: https://code.google.com/p/twinfield/ wat meer informatie over deze API gepubliceerd. Naast dat heb ik ook een aantal experimentele PHP 5.3+ classes ontwikkeld waarmee bepaalde Twinfield data is op te vragen.

Dummy code

<?php

namespace Pronamic\Twinfield;

$twinfieldClient = new TwinfieldClient();

// Inloggen
$result = $twinfieldClient->logon($username, $password, $organisation);

// Kantoren opvragen
$offices = $twinfieldClient->getOffices();

// Zoeken
$finder = $twinfieldClient->getFinder();

$search = new Search();
$search->setType(Search::TYPE_DIMENSION);
$search->setPattern('*');
$search->setField(Search::FIELD_ALL_CODE_OR_NAME);
$search->setFirstRow(1);
$search->setMaxRows(Search::ROWS_ALL);

?>

Ik wil dit te zijner tijd verder gaan ontwikkelen en het opvragen van bepaalde data in Twinfield vereenvoudigen. Wellicht zijn er vervolgens ook mogelijkheden om andere PHP applicaties te koppelen aan Twinfield. Zo is er volgens mij veel interesse in een stabiele Magento Twinfield koppeling.