AB testing is a powerful tecnique that lets you gather metrics about different versions of a feature: it basically consist into displaying a number of different variations of it to your users and tracking the results to see which variation performed better.
An example? In an e-commerce system, you usually have an “Add to cart” button: have you ever though about the impact that single sentence has on your customers? What would sound better, between “Add to cart” and “Buy now”, for example? Copywriters away, you want data to tell you that!
This is why AB testing is important: you serve different versions of something, and track the results to improve the experience users have while using your application: for example, Google benchmarked 40 different shades of blue to find out how the rate of clickthrough would be altered.
While implementing various pieces of our Service-Oriented Architecture we, at Namshi, realized that a central notification service would have been very good in order to abstract the way we notify our customers and everyone in the company (ie. skype messages when a task is due a certain date).
We initially implemented all of this inside a Symfony2 bundle, but soon realized that we could abstract and generalize our implementation in order to extract it into a library for the public domain, and that’s how notificator was born.
This weekend I finally had the chance to
work a couple hours on the
library, which lets you integrate CampaignCommander
as (email) notification solution in your
I already had a proof-of-concept of this library since weeks, and it was already pushed to Github, but since I had no valid API account to do some integration tests, I could not really “publicize” it.
Right now I refactored the library and added a couple integration tests which are working flawlessy, so, in this post, I’m going to show you how easy it is to send emails with Emailvision’s solution directly from PHP.
Yesterday I bumped into a very handly utility to beautify JSON data directly from your command line.
As everyone knows, automated tests are great since they let you test a system without the need of proactively checking anything: you launch your suite and you get a feedback; moreover, systems like Jenkins or Travis-CI allow you to even forget about checking the status of a build since they can do all of this work for you: the problem, instead, happens when you need to run the tests locally, as you always need to check the shell to know whether the tests passed or not.
A solution would be to launch the tests and mind your own business, instead of having to check the CLI output, waiting for a notification that tells use about the tests’ result.
After launching a couple PHP User Groups in Italy (Rome and Friuli), I started to feel kind of lost here in Dubai, a place that gathers together lots of talents but doesn’t have that much of knowledge-sharing culture.
Given this and the pro-active involvement of some of my colleagues from Namshi, I really wanted to see some sort of community raise in this desert.
In my last post I wrote about integrating Twig into your legacy code with a really wild approach.
Today I came up with a better
solution that lets you take advantage
of Twig full features without any hack
partial tag I was
talking about in my previous post).
It might happen that you are working on a legacy code that is years old, with its own templating mechanism1 that doesn’t really allow you to take advantage of the benefits that a structured and object-oriented engine like Twig.
In this situations, when a complete replacement would cost too much to your organization, you can take advantage of a wild integration between this advanced template engine and your existing code.
When you think in terms of Service Oriented Architecture one of the tricky things is to decide how to organize your development workflow in order to develop architecture, not a single application: for example, how would you configure deployments (when you need to deploy part of your architecture, not just a web application) or push cross-service features to your SCM?