The quest for (Developers) Paradise

As the event site is located in the beautiful, but during off season quite remote, city of Opatija, we decided to start our #roadToDevParadise on Sunday. There were no convenient flights to surrounding regional airports like Rijeka or Pula off season, so we planned our trip via Zagreb.

Turning our journey into a community event itself, the integers Fabian Schmengler, Cristina Pisca and myself joined Tobias VogtMatthias Kleine, Nils Preuß, Simon SprankelChristoph Aßmann and Benjamin Heuer at Munich Airport, continuing on the same flight to Zagreb. There, we hired a small bus and headed to our final destination.

The serpetine way down from the surrounding mountains to the bay of Opatija was impressive and eye-opening. Arriving at the conference hotel, most of the attendees were “upgraded” to deluxe rooms, located in a new part of the facility, which consists of several differently themed buildings. We finished the day enjoying Croatian food next to an overwhelming view of the Opatijan bay.

Hackathon, official opening and some more impressions

On Monday morning, approximately 45 attendees set themselves up for the Hackathon, well organized by Damian Luszczymak.
From my perspective as a frontend developer, there was “only” one relevant topic. But it was one with a huge impact on daily work with Magento 2 and thus of big importance.

Improving static content deployment

Jisse Reitsma wanted to approach the Magento 2 implementation of static content deployment and try to improve its overall performance. As this is a vital part of the way how Magento 2 prepares its frontend components to be displayed and it involves an almost insane amount of file system operations, its impact on performance during the development process is more than just significant.

It turned out that, in a context of the functional implementation itself, very little could have been done for improvement. The team mainly ended up in adding additional flags to be used as CLI parameters in order to provide more control over the items to be included in the deployment. So, for instance, if you are only working on LESS files, you don’t actually need to process HTML, JavaScripts, images, translations, and so on.

As a result, there are currently two pull requests pending at the Magento 2 repository:

Static deploy flags
Check for MD5 changes when deploying static content

Getting some backgrounds on Opatija

In the afternoon we took the opportunity to join a guided tour, organized by Inchoo. We learned that Opatija is a rather young city, originally implemented (pun intended) by the Austrians as a climatic spa & resort for the wealthy in the late 19th century. Although the weather was pretty unusual for beginning of the Optijan summer (when you mostly have a very quiet sea, little precipitation, cosy temperatures and sun, sun, sun…), it was a nice place to stay with its beautiful and winding waterside promenades and tiny bays. Spoiler: you can also find the Croatian walk of fame there…

Eat all the chocolate!

One thing we learned pretty quickly about our hosts: the Inchoo team knows how to throw parties! Without going too much into detail I would just like to point out that we were presented with a 4+ meters long wall of chocolate, showing the event logo and various nerdy scenes. There were even tiny hammers provided to help breaking up the installation in more bite-sized chunks. In addition, there were thousands, no millions, of chocolate-made shot glasses for tasting one of the many local liquor specialties. Oh, and there was a chocolate fountain, too!

Back on track

Returning back to business on Tuesday turned out a bit tougher than expected – considering the previously consumed amount of…chocolate. But day one of the official agenda started really nice and offered a ton of interesting insights, talks and thoughts. As I am a frontend developer, I would like to leave details about day one to the many of my fellow backend colleagues (except for Tobias – you know why 😀 ) and simply point out integer_net’s backend developer Fabian Schmengler who held a talk about porting a complex extension to Magento 2.

He also announced the release of a free version of our extension IntegerNet_Solr this year.

To git reset –hard our buzzing minds, Inchoo managed to setup the second official party in the evening. It was pretty legendary, the entire community was in good spirits and I met a lot of interesting people to share ideas and thoughts with.

I am not alone!

That pretty much sums up the overwhelming feeling I got on Wednesday, the second conference day.

Digging into the mysteries of Magento 2 frontend workflow was a winding and quite bumpy road. Listening to Hrvoje Jurišić talking about Magento 2 CSS preprocessing was kind of a revelation to me. It was astonishing to see him presenting more or less a clone of an internal presentation I held a couple of weeks ago on our local Magento meetup – leading to the exact same conclusions and concerns. And funnily enough, he came up with the same term “Prepreprocessing” (or “Pre2processing” as for my personal flavour) that I use to describe Magento’s approach.

Up to that talk, I was struggling with questions like

Are my personal conclusions based on the right assumptions?
Are my interpretations valid?
Are my concerns objectively or are they driven by subjective habits or biases?

But at the latest when the following QA and discussion kicked in, all those self-concerns pretty much vanished in a second. The more people & colleagues I speak to, the more I am sure about the fact that there is something wrong in the way Magento is approaching its new frontend workflow. And I am more and more confident that the community of frontend developers will strike its own paths if no significant changes will be made. This process has already started with projects like Snowdog’s  Magento 2 Blank Theme using SASS.

I will not render any judgment here and technical details are up to following posts, but it is up to Magento to set up the right conditions to satisfy frontend developers’ (and customers’) needs in order to keep them on track – in terms of having them use best practices from a Magento perspective; in terms of contributing to a robust, flexible and intuitive framework.

At this point, I don’t know how the story develops (who could?), but for a start, I have to point out Ben Marks’ work as an evangelist. He really throws himself into the line of fire and takes our first shots. We have the feeling that he is listening and understanding our concerns. How does it evolve? Only time will tell!

The talk without a topic

Another talk I would like to point out is a non-technical one. It was again Ben Marks who had the guts to raise the open question for “any complaints about Magento 2” to the audience. The following QA was very disciplined and supportive. Here is a list of the major aspectes mentioned, tweeted by Ben himself afterwards.

How does it wrap up

After two great days of inspiring talks and discussions, there was (of course) a third official party, again with a different flavour. You people at Inchoo are crazy! The mood was great and people were obviously having fun.

Personally, I met a lot of interesting people, got very helpful insights and I loved to find so much understanding and shared concerns/thoughts about the work I…no, we as frontend developers are supposed to do in Magento 2. From now on, I am optimistic that even if Magento should not offer improvements, the community will find, provide and share solutions.

And that feels good!

My colleague Fabian has also written a report about Developers Paradise from the perspective of a back-end developer with more details about the different talks.

Sandro Wagner

Autor: Sandro Wagner

As a trained media designer with a strong focus on frontend development and CMS integration, Sandro Wagner has worked for different leading web agencies and clients, both national and international.
At integer_net, he develops frontend designs for Magento stores, holding the corresponding Magento certificate.