I have an idea…

People I’m working with are well aware that this year, since I have discovered Behat and the concept of BDD (Behavior Driven Development), I’ve been crazy about it. The experience of being a Product Owner for a company using Sylius as their eCommerce framework was enlightening.

The idea of speaking the same language as the programmer, the QA, the business representative and the computer, itself, made my eyes shine.

Anyway, the idea I have been thinking about the last days is to use Behat together with Selenium to create the video documentation of a product.

Why?

Because I have realized the best way to illustrate a bug happening on a website is to start VLC or Jing to capture the desktop screen while clicking buttons or links.

And then it struck me: if a bug is not a bug, then the video I have created to demonstrate that could easily serve as a documentation for future reference – if someone decides to report again the same issue.

While I was trying to demonstrate someone they have misunderstood a feature because they do not have the entire context, I thought about doing an effort and create such video documentation for all features we have, so we can prevent this kind of effort.

Then, I soon realized we already have this video documentation for Sylius and for our customized version of it, but it’s available only when the build server is running a job and if you connect with VNC to it.

So, why not using Behat together with Selenium, recording the output in a mp4 video and post it to Youtube, so that everyone interested in something could do a search and see how something is supposed to work before reporting a bug?

How?

From the technical point of view, I have this in mind:

  • for the tests based on Selenium already, there could be a trigger that saves the output of XVFB to a mp4 file
  • the name of the file shoud be somehow related to the feature file / scenario it is running
  • the job is successful, the output should be then uploaded to Youtube and classified based on the feature file information
    • semantic name based on the scenario / feature
    • description containing all the steps
    • a subtitle for the movie describing what’s happening in the video at a certain moment
    • maybe a video soundtrack of the current step read by a TextToSound system – why not?

Issues

So far, I have the following questions:

  • how do I save the output of XVFB in a mp4 file?
  • how can I put a subtitle over the XVFB output in sync with that’s happening on the screen? should Behat send through Mink some meta-data that Selenium is hovering over the image?
  • is is easier to render an audiofile, separately, with a “before step” hook and then somehow insert that a some points over the video?

Why?

Because the effort put in writing some good feature files can pay off multiple times:

  • it helps the business to have a better overview about what’s going to be developed and it ensures the expectations are set the right way, on both sides
  • it helps the programmer with a clear map of what he has to implement
  • it helps the QA to see how to confirm the implementation is correct
  • why not help the user to actually see how the system is supposed to behave – rather than read a documentation?

România anului 1996

Urmăriți clipul de mai jos:

Descrierea acestuia de pe Youtube (© Associated Press):

Romanian President Ion Iliescu faces the toughest challenge of his political life when his country goes to the polls Sunday for the second round of presidential elections.

A private poll released Wednesday gave his centre-right rival Emil Constantinescu a slight lead.

Iliescu is warning Romania’s poorest voters that a victory for Constantinescu would return the country to pre-Communism inequality.

Romanian leader Ion Iliescu arrived smiling for a live debate hosted by a private TV station in Bucharest.

But the latest polls show that his chief rival the centre-right leader Emil Constantinescu has taken lead.

Iliescu, a former communist who has run Romania since the overthrow of communist dictator Nicolai Ceausescu, faces a run-off on Sunday against Constantinescu.

The former university lecturer and his Democratic Convention have promised to speed up privatisation and restructure Romania’s ageing industry.

They’re pledges which have proved popular with many voters — especially urban ones.

The inhabitants of Bucharest live among the socialist heroic architecture of the Ceausescu era.

But an already poor country has progressed little since the end of communism.

Corruption and declining living standards have eroded Iliescu’s support during his seven year stint in power.

Shopkeepers like 50-year-old Adrian Neagu complain high taxes make it almost impossible to make a living.

SOUNDBITE: (Romania)
A. I will vote for Mr Constantinescu because I trust he will change something
Q. Why?
A. Like I’m paying 500 dollars (U-S) for a shop of 18 square metres. I think it will be better with the Democratic Convention in parliament and with Mr Constantinescu as president.
SUPER CAPTION: Adrian Neagu, 50-year-old shopkeeper

But out in the countryside it’s a different story.

Iliescu is trusted by Romania’s peasant farmers who see him as a guarantor of stability and prosperity.

SOUNDBITE: (Romanian)
In my opinion in these four years I hope Iliescu will stabilise the country. However, all the peasants are pleased with Mr Iliescu because he gave us land and saved us from unemployment and I hope that in the future things will get even better.
SUPER CAPTION: Gheorghe Tanase, 50-year-old peasant farmer

Iliescu’s claim — denounced as a sign of desperation by Constantinescu — that his rival would turn the clock back to the time when peasants were virtual serfs has not fallen on deaf ears.

SOUNDBITE: (Romanian)
Constantinescu wants to bring back the big landowners.
SUPER CAPTION: Gheorghe Olaru, 68-year-old peasant farmer

Romanians are faced with a choice between a man who seems to represent the old certainties, and another promising a fresh start for their country.

And its not just Romanians who are watching this election. Foreign investors whose cash could help pull Romania out of its backwardness will also be studying the results with interest.

Ce diferență între traducerea Associated Press și ce zice de fapt cel intervievat… niște diferențe de nuanță care maschează cât de jos era poporul român în vremurile acelea, mai ales din punct de vedere intelectual:

Buticarul zice că el plătește 500$ chirie, pe când traducerea e în taxe.  Ce treabă avea sula cu prefectura?

Și țăranul, zice că Iliescu le-a dat șomaj, pe când traducerea zice că i-a scăpat de șomaj.

Genul ăsta de clipuri ne trezesc la realitate când ne întrebăm de ce o ducem așa prost. pentru că acum 10-15-20-25 de ani aceasta era imaginea mentalului colectiv și nu ai cum, fără educație, să ajungi în altă parte decât unde suntem noi acum.

Via Aurelian Galice

Despre compromis

Nu prea cred în coincidențe, dar azi s-a întâmplat ca wallpaper-ul recomandat de aplicația care se ocupă să-mi facă laptopul mai frumos să-mi recomande următoarea fotografie de ecran:

All Who Love are Blind

 

Mi s-a părut o coincidență foarte interesantă, care m-a motivat să deschid repede blogul să scriu două vorbe despre subiectivism, despre compromis și despre alegerile pe care le facem.

Observ uneori cum o anumită perspectivă pe care o ai, ca individ, e contrazisă de trecerea timpului. Fie că e vorba de oameni, de lucruri, de gânduri sau de sentimente, ceea ce “iubești” se poate dovedi peste timp doar un compromis indus de sine.

Case

 

Am trecut recent pe lângă un ansamblu rezidențial construit prin 2009. Poziționat nu tocmai într-o zonă centrală, nu tocmai frumoasă și cu o priveliște nu tocmai… interesantă, nu am putut să nu observ vopseaua care se cojea de pe ornamentele unor balcoane. Și m-am întrebat: oare cei care au fost îndrăgostiți de locul ăla și și-au investit o bună parte din venituri următorilor 30 de ani într-o locuință acolo, și-au dat oare seama între timp de compromisul făcut? Oare se mai simt fericiți cu asta?

Recent m-am mutat dintr-o garsonieră într-un apartament nou. Un preț bun, o zonă decentă, un compromis OK. În plină perioadă de acomodare, am avut timp berechet să reflectez asupra fostului loc unde am spus „acasă” în ultimii 3 ani și nu am încetat să nu mă întreb: oare ce mi-a plăcut atât de mult mie la locul ăsta încât am stat 3 ani acolo?

Cât de ușor am trecut peste compromisul gratiilor de la geam, venite la pachet cu poziționarea de la parter? Cum m-am înțeles cu mobila aia nu tocmai nouă al cărei miros de vechitură ajunsese să se imprime în hainele purtate mai rar? Cum am putut ignora așa ușor patul ăla care cam scârțâia sau ușa care troncănea?

Da, știu, îmi plăcea la nebunie tabloul care domina camera sau poziționarea la doi pași de zonele de interes, dar totuși: mi-au trebuit 3 ani ca să spun „gata, până aici, vreau altceva”? Love blindness.

Orașe

Când m-am mutat în București, nu-mi mai încăpeam în piele de fericire. Adoram sentimentul pe care mi-l oferea orașul ăsta. Iubeam să merg pe stradă și să fiu atent la oameni, să mă pierd în mulțime fără să cunosc pe nimeni și să iau străzile la pas.

Azi, după ce i-am învățat zonele, străzile, restaurantele, unele baruri, parcurile, muzeele, gara, aeroportul, bulevardele, după ce l-am văzut în timpul verilor caniculare, al iernilor cu troiene, al toamnelor triste și posomorâte sau al primăverilor nevrotice, 5 ani mai târziu, mă-ntreb: cât de mare a fost compromisul pe care l-am făcut cu orașul ăsta și cât mai durează până când îmi iau zborul?

Cât o să-i mai suport aglomerația de dimineață de la metrou, străzile mereu în lucru, pline de praf, construcțiile gălăgioase și oamenii tot mai absorbiți de tumultul cotidian? Cât timp o să mai fiu îndrăgostit de București și cât timp o să-i mai spun acasă? Cât de departe va merge compromisul ăsta? Ultima dată mi-au trebuit 18 ani să-mi iau zborul. De data asta, cât de repede o să spun stop compromisului?

Joburi

Aici nu mă pot plânge. Am o toleranță scăzută la joburi unde nu-mi găsesc locul. În 5 ani de zile de București am schimbat 5 joburi. Însă în ultimii 2 ani, am luptat serios pentru a contrazice trendul și a rămâne pe poziții.

Dar întrebarea rămâne: cât timp se menține vălul pe care-l pune iubirea peste ochii tăi? Cât timp se menține povestea frumoasă și unde îți dai seama de mărimea compromisului pentru a pune punct și a o lua de la capăt?

Sau nu e chiar totul despre a o lua de la capăt și despre a face compromisuri? E și despre acceptare și asumare? Probabil că am lipsit de la lecția asta.

Despre independența personală

„Și am așteptat-o să vină acasă de la muncă să-mi calce și mie o cămașă, să pot să plec (…)”

Am auzit recent propoziția de mai sus într-o discuție de tip „small-talk” în care un tip povestea altceva mai interesant, dar ca să facă o trecere de la o idee la alta, a folosit o introducere de genul ăsta.

Moment în care mintea mea s-a oprit din a-i mai urmări firul poveștii și am început să-mi pun alte întrebări în minte.

Persoana în cauză împarte apartamentul cu prietena cu care e împreună de câțiva ani (+3). Nu vreau să fac judecăți de valoare cu privire la relația lor, însă nu pot să interiorizez ideea că a fost nevoit să aștepte pe cineva să ajungă acasă pentru a-i face serviciul de.. a-i călca o cămașă 😐

Poate că eu sunt o persoană prea independentă, dar nu mă simt deloc confortabil să-mi leg existența, la acest nivel, de altcineva.

E ok să lași pe altcineva să facă unele lucruri în locul tău (cusut, gătit, curățenie, chiar și călcat haine) atât timp cât alternativa e externalizarea și nu soluția aleasă din principiu.

Pe cuvânt, nu-i chiar așa greu să pui mâna să-ți calci o cămașă, nu?

Nici luna asta nu am făcut (tot) ce mi-am propus

Că dacă făceam, vă povesteam despre cât de mișto arată CV-ul meu acum sau despre cum poți folosi Google Docs într-o manieră în care nu te-ai gândit până acum.

Și nu mai lăsam în draft un articol „Tu cât timp acorzi lucrurilor care chiar contează?” în care să-mi plâng de milă cât de mult alerg în gol pentru chestii fără valoare.

Better luck în aprilie 🙂