If you read my last blog, you’ll know that Microgaming is about to release a brand-new version of our poker software, which we have codenamed ‘Prima’. In that blog, I talk about how the software has been built from the ground up to be more suitable for the future, more secure, simpler and faster.
In the next couple of blogs in the lead up to the launch, I want to go into more detail about those claims. What exactly does ‘more secure’ mean, for example? And what about ‘more suitable for the future’?
But first, an analogy.
Amsterdam is the beautiful capital of the Netherlands. Much of Amsterdam is below sea level and the inhabitants have learned to control the abundant water with a system of dams, waterways and bridges. Because the land was so swampy and unstable, buildings were set on wooden piles driven deep into the ground.
Today, houses set alongside the canals are among the most desirable buildings in the city, attracting prices in the millions of euro. However, every prospective owner first pays for a survey of the building’s foundations. Because building a house on wooden piles is all well and good, until oxygen and water mix and those piles start to rot… No owner wants to purchase a house where this has happened, and the building literally begins to tilt sideways – the foundation repairs can run into millions, perhaps doubling the price of the building you bought.
With our new poker client, we have lifted the whole house up and replaced the foundations.
Our old download client is built in C++. C++ is an ancient programming language, having first appeared in 1985 (for nerd context, this was the same year that the Sinclair C5 and Windows 1.0 were launched).
Over 33 years, C++ has been built on repeatedly, and as a result has become enormously complex. Complexity makes it difficult for developers working in a team to understand each others’ code. With that comes the potential for human error, and ultimately bugs. The net result? Software that is slower to develop, and less reliable.
Entire categories of bugs exist in C++ that don’t exist in more modern programming languages – in particular, memory management bugs which can be both a stability and security risk. C++ is also very desktop and Windows-centric, making it difficult to adapt to today’s devices, especially mobile phones and tablets.
With our new client, we have moved on, and are using modern, cross-platform technologies. For the first time ever, we can develop a feature once, and release it to all supported devices at the same time.
Building from the ground up might seem like a mammoth task, but it has its advantages. In addition to getting rid of some of the enormous complexity that existed in our old client, we’ve been able to reconsider some of the fundamental design decisions that were made many years ago, and evaluate those in the context of poker in 2018. We know so much more about user experience and the behaviour of poker players now than we did in the past, and we’ve been able to build every feature with that in mind. We’ve also been able to build in some bonus features that would be very challenging in our old client, but almost trivial in the new one, such as Ultra HD graphics. These improvements manifest in numerous small ways in the new client, and the overall impact is poker software that is easier to navigate, more intuitive to play, and more enjoyable.
Of course, none of this is going to be good enough if we simply fall behind because we’re not able to move quickly. Replacing the foundations is not the only thing we have done to improve the way we develop poker software – we have also taken a good, hard look at the way we do things. We have changed our development methodology from a loosely-interpreted version of Scrum to LeSS, with the aim of improving our productivity and eliminating waste. We’ve implemented best-practice techniques throughout the whole development lifecycle, including greater use of automation (especially in testing and deployment), more transparency (our customers are invited to sprint demos so they can see the progress of new features while still in development), closer collaboration between the product owner and the development team, and more.
Designing software is always an interesting challenge. As a designer, a common pitfall is to specify huge, complex software that accommodates every possible use case. A great example of this is the original design of our bet slider. Imagine you bet 20, your opponent raises to 100, and you type 300 into the betting box. The bet slider in our old client can work in any of these ways:
- 1 – You call the 100 and raise 300, to a total of 400
- 2 – You raise to 300
- 3 – You raise to 420 (20 bet + 100 call + 300 raise)
Somebody thought this was a good idea, back in the day (who ever wants it to work like option 3?)
To deal with this, we have adopted principles from Eric Ries’ Lean Startup concept. In the past, we would design new features to accommodate everybody, but now we will design a feature that we think is viable, release it to market quickly, and test it. If people like it, we’ll build on it, taking into account their feedback. If people don’t like it, we’ll drop the feature or deprioritise any further development of it. (This is why we have built a feedback mechanism into the client, which players can use to send feedback directly to the team).
The first release of our new client is a Minimal Viable Product (MVP). We’ve made some educated guesses about what was important and what adds value. This has meant we’ve dropped some features that might be controversial – like chat, the tournament lobby, and the Bad Beat Jackpot. Upon release, we’ll measure the success or failure of the new client very carefully, and adapt our roadmap to ensure that we deliver what is important to players, with a healthy amount of innovation mixed in.
All-in-all, the new Prima client represents a new beginning for Microgaming poker. It doesn’t have every bell and whistle, or every possible feature. But we have solid, modern foundations on which to build, and the pace of development and innovation is about to increase significantly as a result of all the hard work we have put into ‘doing things smarter’.
While other poker providers struggle with the same legacy issues we have been battling for years, we are finally leaving them behind. We are throwing off the shackles of the past. We feel liberated, and excited, and can’t wait to see what you think.
Prima launches the week of the 23rd July.
Alex Scott (@AlexScott72o) is Head of Product (Network Games) at Microgaming, which operates the MPN and Indian Poker Network, and provides poker services to Adjarabet.
Any opinions contained in this blog are the personal views of the author only, and not of any other person or organisation.