Upper part of the Kvarner Bay This year, for the first time since 2013, a “Summer Edition” of the Developers Paradise conference took place, this time organised by Inchoo in Croatia. The untypically fickle April for this region weather foiled the “fun in the sun” part of the slogan, but the “lots of code and fun” part was fully satisfied, so that all participants rated it as a success. Integer_net was present with three delegates, Cristina Pisca, Sandro Wagner and Fabian Schmengler.

After a long journey and extending the group on the stations Munich and Zagreb, we arrived Sunday afternoon in Opatija. The Developers Paradise started on Monday, so we could brace ourselves for it, which was necessary to survive the following days.

Many delegates shared their travels under the Twitter hashtag #RoadToDevParadise, following the example of #RoadToImagine. The farthest travelled came from New Zeeland, Canada and Brazil, but the majority of the about 250 attendees was from all over Europe, from Portugal to Russia, from Norway to Bulgaria.

The conference took place in the Milenij Hotel “4 Opatijska Cvijeta” (4 Opatijan Flowers) and all attendees were housed there. It is located nicely by the water in the bay of Opatija and delivered first class service.

Hackathon

On Monday the preliminary agenda started with a Hackathon for about 40 attendees, organized by “Hackathon Shaman” Damian. Groups of 3-5 developers worked on various projects related to Magento 2. Our topics: Static Content Performance Improvement and Magento 2 on ReactPHP.

Both projects showed one thing in particular: Where the boundaries of possibilities (still) lie. Reducing file system access during static content deployment was not possible in the way we hoped, also replacing the Request and Response objects with data from the ReactPHP event loop.

But still some optimizations for static content deployment were made and are already implemented as Pull Request: Additional parameters to choose which files to generate, and a checksum to detect existing but changed files.

To replace the Request and Response classes, the interfaces are not yet matured enough and on many places the core bypasses these interfaces. Magento Lead Architect Anton Kril assured that they are aware of this and will work on it, but we should not expect anything before version 2.4. My team of developers from Evozon eventually implemented a workaround using changes directly in $_GET, $_POST and $_SERVER. Unfortunately we could not get to the actual optimizations that would use the strength of ReactPHP. So bootstrapping Magento only once for all requests and reset any request specific state will be a possible project for an upcoming Hackathon.

Other topics to be highlighted: Admin Menu Manager allows reorganzing the admin menus according to personal preference, Reviews API implements the API for ratings and reviews, which was still missing in the core (Pull Request material), EAV Cleaner was ported to Magento 2.

Opatija

Those who did not attend the hackathon or allowed themselves a free hour, could take part in one of the guided tours through Opatija. There we learned that Opatija was founded in the 19th century as health resort for the Austrian aristocracy, which is still recognized in the architecture. Also, that according to recent measurement, the largest Croatian island is not anymore Krk, but Cres – but it’s mainly inhabited by sheep. It was an informative and entertaining tour, but too much to reiterate it here. Just that: The history of Opatija is full of tragic love stories.

In the evening, the pre party in the hotel basement followed. Despite a DJ with a feeling for crossovers like a brick, the athmosphere was cheerful. People were happy to meet known faces, some for the first time in person, and it was always possible to retract to the hotel lobby for undisturbed conversation.

Tuesday: Talks, Talks, Talks

Without mercy, Tuesday followedd, packed with conference agenda from 9 to 18. Thanks to Katarina from Inchoo there was a Mage::run in the morning to wake up, and contradicting all forecasts, sun was coming out for that.

A big compliment to Inchoo for the frictionless organisation of the rest of the day as well. Since there was only one track, all talks from start to end were well-attended (quality and topic selection could have played a role as well).

Fast forward with Tweets

  1. Max Yekaterynenko of Magento with little known facts and trivia from the history of Magento 2, starting with the first announcement by Yoav Kutner at the first Developers Paradise 2010.
  2. Gabriel Somoza on best practices for Magento 2 and modern PHP development in general. Unfortunately this talk had more content than available time. But the complete slides are already online.
  3. Next was my own presentation about our approach for porting the IntegerNet_Solr extension to Magento 2. If the previous speaker overruns time, this can happen: 😉

    Well, one or two seemed to liked it:

  4. Peter Samoilov of Aheadworks reported the (re)construction of their Magento 2 team. This offered quite interesting insights in the world of the big extension providers. Seemingly, good PHP developers without Magento experience often are more suited for Magento 2 than good Magento 1 developers without experience in other PHP frameworks.
  5. Atwix CTO Yaroslav Rogoza presented a fireworks of benchmaring numbers.
  6. During the SEO and cat content Talk by Joni Kautto I allowed myself a rest, since I am not that into the topic.
  7. Then, Peter Jaap Blaakmeer gave a comprehensive and useful overview over the usage of Composer. Although most of the attendees were already basically familiar with the topic:
  8. Bill Curtis of Sweet Tooth explained the Web API of Magento 2. A very technical topic, but understandably presented. The “search criteria” are also interesting for developers who do not work with the web API:
  9. Marco Lopes of Session Digital showed with a practical example how Behavior Driven Development and Domain Driven Design leads to better code.
  10. Then, right fit after these three very technical talks, Ignacio Riesco:
  11. Mauro Lorenzutti on the Why and How of CMS integrationen in Magento (WordPress and Typo 3). This was interesting to me, since the requirement of Typo3 integration is a common one in Germany.
  12. Nils Preuß took a close look at the import in Magento 2 and shared his results:
  13. Magento Lead Architect Anton Kril shared unpublished technical details of Magento Enterprise 2.1, especially regarding the staging feature, which seems to be really useful, in contrast to the staging feature of EE 1.x.
  14. Oleksii Bedzir of Vaimo set out to teach us EVERYTHING about load testing in half an hour. Actually he really was able to impart many practical information. I am eagerly awaiting publication of the > 50 slides!
  15. And finally, a shining light of the Magento community, who does not even work with Magento anymore. Guido Jansen delivered an entertaining presentation on cross cultural website optimization, with interesting user statistics of the different countries where Euroflorist operates.

All talks were video recoreded and will published soon – together with the slides!

Gadgets! After dinner the event continues almost seemlessly with the next party in a bar near the hotel. Perfect to intensify the networking from the coffee breaks or just to party. Thus, the night was long. Note: Developers still can talk about nerd topics at 5 in the morning after much beer.

Wednesday: Talks, continued

Accordingly, on Wednesday, not everybody made it in time for breakfast, me included. The first presentation slot with Ivan Chepurnyi was a bit ungrateful, especially for a topic like indexing. Sorry, Ivan, I would have loved to see it.

  1. Hrovje Jurisic tackled the topic of CSS preprocessing in Magento 2 and hit a nerve with that. Read more in the review of my frontend colleague Sandro
  2. Then Ben Marks. Ben Marks does not need a topic. After a short introduction, he gave control to the crowd, with the question “What do you not like about Magento 2?”. And yes, one or two things came together, so Ben could fly home with a suitcase full of notes once more.
  3. Branko Toić had a topic for hosters and sysadmins: HTTP/2 is here and we should use it! Even though the performance benefits with Magento 2 are not as good as expected, for unknown reasons.
  4. Another talk from the house of Session Digital, by Norbert Nagy, introduced the internals of the new Full Page Cache in Magento 2.
  5. Jisse Reitsma have many tipps for a performant setup, under the meaningful title “Running Magento 2”.
  6. Talesh Seeparsan introduced the OWASP top ten and showed how to avoid these security exploits in your Magento code. A topic, every developer should be aware of.
  7. Benno Lippert explained Product Information Management tools and when to use them.

The visit to the “Adrenaline Park” that was planned for the afternoon had to be canceled due to the weather, so as plan B a wine tasting and a visit to the casino was offered. We rather skipped that to get some rest and get to see a bit more from Opatija, where the sun came out again for a while. The event should culminate in a third party this night.

Thursday: Through snow and ice

At least four people showed up for a final Mage::run (Bartek, Daniel, Peter Jaap, you rock!)

For me at least, it was time to get ready for checkout, then, as the taxi to Zagreb departed at 9:30. In the meantime, winter seemed to have started inland, so the way home led us through all kinds of humidity.

Unfortunately we missed the closing panel discussion for these reasons, it seems to have been quite interesting.

My Conclusion

After my first Developers Paradise in 2013 on Mallorca, I had high expectations, and I have to say they were exceeded:

I would sign this quote again. Inchoo not only managed to make the Developers Paradise to a top conference for developers, due to a fireworks of talks, but also to create a good environment altogether, despite of the unplanned weather. One or two slips may be forgiven…

And so I could meet new interesting people, also those who only existed as Twitter avatar in my world until then, although I already knew a good amount of attendees personally, other than in 2013.

Other new insights

  • Croatia is worth a visit
  • If you buy a luggage scale online, pay attention to the unit of measurement
  • Anton Kril is not only not Alan Kent, but also a great ventriloquist
  • Jisse Reitsma does not live in a palace
  • Eastern Germans click flower ads more often than Western Germans and not even Guide Jansen knows, why
  • Load testing already has been done in the 17. century. With ships.
  • Don’t engage in “Slide Trolling” against somebody who has the second to last talk. It will fire back.

On that note, I am looking forward to sequels in the next years!

Fabian Schmengler

Fabian Schmengler ist Diplom-Informatiker und Magento Entwickler bei integer_net. Seine Schwerpunkte sind Backend-Entwicklung, Konzeptionierung und Test-Automatisierung. Seit 2011 ist er Magento Certified Developer, seit 2014 Magento Certified Solution Specialist.