How do you imagine telcos in 50 years’ time?That's the question we posed to our colleagues yesterday at 10 am before they set to work for 31 hours in order to come up with one or more cutting-edge projects in the field of mobile communications.

The results not only met our expectations, but exceeded them. In this edition we made use of beacons and a Software Defined Radio (SDR) in order to explore the participants’ creativity to the fullest and to make use of the benefits of these devices for hacking.

There were lots of ideas and more than 15 very interesting projects, but in the end the winners of the 27th edition of HMU were:

In the Product category, the winning project was Emotisonos by Carmen, Andrés, Pablo, Víctor and Carlos, which consisted of creating voice filters to use when calling.

Suso, Stefan and Laura lifted the trophy in the Geek category with Goal to the Future, a project with a Raspberry Pi and a camera to get a replay of foosball's goals.

Challenging everything is in our DNA, which is why we are even going as far as to challenge the rules of the telco sector by developing projects that are at the forefront of technology and that will surely set the trend in the market. Congratulations to the winning teams and to all the participants! We will soon find out which projects become reality.

The 26th edition of Hack Me Up came to a close with a final in which the voting was very close, with a total of 13 projects submitted. This edition, which began at 10am yesterday, drew to an end after 31 hours of non-stop coding in our Madrid office located on Gran Vía.

As always, there was no lack of pizza and energy drinks. An early morning coffee and then down to work. Over 30 people took part in this event which was eight hours longer than usual in order to enable us to move forward with one of our key business points: our customers’ experience with the service we offer.

With plenty of good ideas and innovative projects, both in the Geek and Product categories, the two winning projects were:

Product: The winning project, Don't waste money, don't waste time, by Ramiro R., José A. and Alejandro V., consisted of a way to filter spam calls and to call 902 numbers via VozDigital, among other functionalities.

Geek: Don't show me the money, by Carlos P., Ignacio M., Emanuela M. and Sergio G., won the Geek award for creating a new payment system for the whole team to use at lunch time in the office.

Congrats to both of the winner teams! Now it's time to know which projects of this HMU will become a reality, in order to improve our products and services everyday. We'll keep you posted on this.

Juanma Jiménez, Alejandro Velasco, Wiljan Arias and I were very enthusiastic about the idea of creating a simple and useful app. We knew the Apple Watch users would interact with the device just for a few seconds, so any information on the screen should be always accessible in a quick and easy way. For a first version of .Tuenti, bringing all the mobile account information to the Apple Watch met our requirements, for example to solve a use case such as having updated information from VozDigital minutes, data, or the expiration day of your tariff. All this information would be available on your wrist.

Besides the .Tuenti Apple Watch App, we have created a Glance. A Glance is a supplementary way for the user to view relevant information from the app. We designed and implemented the Glance in a way customers could have a look at the account information quickly in just one screen.

For sure we will continue bringing more functionalities to the Apple Watch. Apple just announced a new watchOS 2 on the WWDC 2015 and we are currently investigating how we can integrate with Apple Watch more closely here at .Tuenti. For us, for you, this is just the beginning...

All good things must come to an end. The final phase of this edition of our programming contest has finalized today at our Madrid office far exceeding our expectations. But it couldn’t be any other way, considering that this was the most difficult of the five so far.

The 10 Tuenti Challenge 5 finalists came in yesterday to meet the team, so we received them by celebrating with a barbecue at our CTO’s home, as is the Tuenti style.

In spite of not having finished the 20 problems that we initially posed in the first phase, they are the top 10 challengers, those that have solved the largest number of problems and with better code quality. As expected, we were impressed by the technical quality of the workshops and interviews we shared with them all throughout the day. The formative workshops were:

Delta, by Luis Peralta, CTO.

Building a VoIP Service using mobile WebRTC, by Pedro Álvarez, Lead Software Engineer.

Tuenti Architecture, by Jesús Bravo, Lead Software Engineer.

RM Cycle in Tuenti, by Jose Plana, Senior SRE Engineer.

As a finishing touch to this meeting with our finalists, they received different prizes. And as of just a few minutes ago, we have announced the final ranking. The podium is taken by:

Albert M.

Josep R.

José C.

The following are the rest of the participants who also reached this second phase:

Iván M.

Oriol C.

David A.

Enrique J.

Angel P.

Sonia M.

Carlos B.

We have been left speechless. This edition has been enormous and we are extremely grateful to the more than 2,300 registered participants, the almost 900 participants that solved at least one problem, the top 50, the top 10, and the champions for having made all of this possible. Thank you very much from everybody on the Tuenti engineering team! And to all of those who didn’t make it to our office today, we hope to see you next year. See you at the #TuentiChallenge6, mates!

604,800 seconds, 226,246 lines of code —this is more than a new line every 3 seconds—, 2,342 participants, 2,395 problems solved —nearly a hundred lines per participant, and per solved problem too!—, 1,687 problems solved correctly… but you want more details.

Participants

839 people passed the first challenge, but only 1 made it to the 19th one. Nobody was able to solve the last 2 problems during the contest this year, making it probably the toughtest one so far. There were three stoppers —problems with less solvers that the next one—. Kudos to you if you were one of the participants that didn’t hit the skip button when you faced challenges 12, 13 and 15.

Number of solvers per problem

The number of correctly solved problems is not as big as the amount of solved problems, since most problems included several incorrect solutions. The problems with the biggest fail rate were challenges 12, 11 and 17 (this last one only had 2 submissions).

Percentage of correctly solved problems

Time spent

The average time to solve each problem varies from nearly 2.5 hours (problem 18), to nearly 29 hours (problem 17). The average time invested per problem has been around 12.5 hours.

Average time spent per problem (in minutes)

Languages used

Most used ones can be seen here, but in total 28 different programming languages were used to solve, at least, one problem. The languages used to solve just one problem were AutoIt, AWK, Lua, OCaml, Pascal, TCL and even the esoteric language Aheui.

Not all languages were equally popular as the challenge evolved, as you can see in the following graph:

The evolution of most popular languages in the first 8 problems (percentage)

Lines of code

The shortest code —not considering those oneliners in problems that just echoed the solution— is a solution to the first problem in 2 lines of Python. The largest solution has a total number of 3396 lines of C# code, to solve problem 3, including external code that adds support for bignums.

Here they are the total number of lines by each language.

Total number of lines per language

Top 50 participants’ choice of language

Out of the 28 programming languages, only 12 were used by the 50 winners of the first phase.

If you didn’t make it this year, you may want to upgrade your tool belt with some new fancy languages from this set!

Top 50 selection of languages (percentage)

Average lines of code per solution and language among top 50

An interesting metric to measure the efficiency of a language is the number of lines needed to solve a task. As this may vary largely due to both problems and solvers, we have measured this metric among the top 50 winners. You can see both total number of lines per language and the average lines of code per solution and language.