MageTitans 2017 was held in Austin, where music is home.
Unlike the Magento Imagine event, MageTitans is an event for developers, so it is focused on providing information to help developers keep up-to-date on the platform and ecosystem. This event really should occur over three to four days due to the volume of information that is available. Most of the talks had some immediately-usable information or it was clear that we would probably bump into many of these topics sooner or later. There was quite a variety of talks, everything from how to execute a successful design to down-in-the-weeds coding direction and tips from Magento core developers and staff. Speaking of them, the Magento staff were very active, helpful and approachable.
There was also a good selection of presentations from regular, front-lines developers who had interesting and innovative solutions. The price of this event is amazingly affordable for such tremendous content. If you are a serious Magento developer you really should attend this event.
I got a lot out of all of the talks, here are some of the highlights:
Rob Long – PayPal – Mobile Checkout
PayPal has stats from millions of transactions in scores of countries and currencies. The obvious trend is that mobile traffic is hot, but conversion is not; about a 2% less conversion rate on mobile, compared to desktop. The advice is to get rid of unnecessary steps and actions. Part of the solution is to streamline express checkout – Users should be able to check out with three clicks. Offer more payment choices such as PayPal Credit (a financing offer, which typically might be available if the order is > $99, the vendor gets paid up-front, PayPal takes the risk). Apple Pay will be available Nov. 17 via Braintree. Also via Braintree, Bitcoin and Venmo are already available. Braintree has all the usual credit card options, plus risk and fraud conversion, PCI 3.0-compliant hosted forms to offload the PCI responsibility.
Alex Paliarush – Magento – The Magento 2 Developer Experience
Gave great information on how to best get up to speed with Magento 2. He shared how he works, what tools used, and some shortcuts and tips to make it easier, including how to create an M2 Composer project, shared configuration files (this is a new feature with Magento 2.2), the software stack (using Docker can be a problem for maintaining containers and debugging, hIs preference is Virtual Machine + Vagrant), using the phpStorm IDE which has lots of useful features, and there also is a Magento plugin that adds extra features to phpStorm.
Alan Kent – Magento – Deployment Configuration
Talked about deployment configuration. The git repo needs to have a composer.json and composer.lock file, should not have the vendor directory. With Magento 2.2 the goal is to have zero downtime deployments; compilation and web asset generation have been moved to the Build & Bundle from the Deploy step. New storefronts can be added through the config.php (app:config:dump) or via the admin. env.php is a file intended to be environment-specific (local/dev/prod). Once set, changes to env.php are locked from the admin. Redis or Magento Varnish can be set up via the command-line.
The “Before” party, the guys from Classy Llama take on Jenga.
Peter Mintchev & Danielle Mundle – Magento – Successful Design Process
Quite an interesting talk about how to execute a successful redesign.
Concept – Deliver a measurable value. What are the goals? Goals must be externally measurable, which could be a challenge.
- Define goals for each design feature
- Be inclusive, invite subjective feedback early in the process
- Use objective processes like testing to finalize and resolve conflicts
- Follow up and track success
Design Elements – The design process can be segmented into these phases:
- User Experience Design – The complete path of a journey
- Interaction Design – Screen-level tasks and interactions
- Interface and Visual Design – Final appearance from all elements from form fields to product images
Sometimes the process gets derailed. What happens when you as a developer get dropped from communication in the middle of the process? – Start asking questions…
Josh Warren – Creatuity – Integrating with ERPs, the example was Microsoft Dynamics ERP
Complex synchronization of customers and orders that uses Rabbit as a go-between. Architecture is:
Task Layer / Service Layer (requests are accepted and parsed) / Connection Layer (connection logic) / Data layer – Manager that manages the process, Extractor that pulls data and uses a mapper to map fields, Transform class does data transformations.
Max Chadwick – Something Digital – Cacheing
There are several types of cacheing to consider. Somehow there is this thought in the Magento community that cacheing does not equal performance. Max was out to dispute that meme.
- Magento 2 has built-in cache busting via static asset deployment (but it could be more flexible)
- Magento 1 has extensions that do this
- Magento’s built-in merge JS/CSS feature is bad for browser cacheing because it creates a new hash (do not use this feature)
- Be very careful with caching HTML documents. There is no way to invalidate them.
- Operates on files in transit from the client and the server (e.g. a CDN)
- Used with static assets
- Providers: Cloudflare, Cloudfront (Amazon), Akamai, Fastly (Magento Enterprise Cloud Edition provider), Section.io
- In Magento 2 you can use Varnish as a reverse proxy (included in CE as well as EE)
- In Magento 1, this is EE only although there are extensions available (e.g. Redis or Varnish + Turpentine extension)
- Strip query params the server doesn’t need (e.g. gclid)
- Easy to mess up. Monitor your hit rate!
- He has started an open-source project that records all the query params for various search and marketing services which aren’t needed for cacheing
Igor Melnykov – Magento Software Engineer – Writing Good-Quality Extensions
The case for automated testing; if you’re not writing tests you have a tech debt. Types of tests: Functional / Integration / Web API / Unit. Igor gave great direction on how to create modules that work both in CE and EE.
Tom Robertshaw – Meanbee – Progressive Web Apps
A progressive web app is a website that is installable on the client side and handles going offline gracefully. The two big browser tech updates that make this possible are Service Worker and Web App Manifest. The minimum pieces needed are HTTPS, Service Worker, Event Handler. This will be a difficult tech transition; lots of consideration needs to be done regarding cacheing assets, search, performance.
Jake Johnson – MageDx – Extension to Facilitate Customer Support (https://magedx.com/)
In beta, this extension is to be used by extension authors, some features are:
- Integrated knowledgebase embedded into Magento configuration screen
- It submits diagnostics message that comes to your email (the service shown was helpscout.net)
- Lots of info provided like installed extensions, customize reporting of specific fields, exceptions, server environment
Paul – Klevu – Natural-Language Search Technology
Enter natural-language phrases in QuickSearch. Has context-sensitive search, self-learning, using data to optimize queries, and builds domain knowledge the longer it is used.
A Magento extension to allow login to the admin from a live image via mobile device
“Ivan Talyika“ – Magento – Magento 2 GraphQL API
Open-source project allows you to write queries in a query language for GraphQL. There is a YouTube video available, search for “Announcing GitHub GraphQL API”.
Joseph Maxwell – Swift Otter – Continuous Integration for Magento 2
Demoed a continuous integration system for Magento 2 that does a build, runs tests, uploads and deploys with zero downtime. It does the build offline and creates an artifact which is then deployed. Looks to be very promising to speed up and troubleshoot Magento 2 deployments.
Conclusion and Observations
Since this was only the second MageTitans event in the US, it is still growing and adapting. I attended the first event last year which was great, and this one was bigger (more sessions) and more varied, reflecting the dynamic and growing nature of the Magento ecosystem. The improvements in the event that I would suggest include: 1)make it a day longer to allow a bit more time and offer more value for those of us traveling from afar; 2) firm up the event schedule earlier (I wanted to attend a B2B presentation but the schedule was set too late to alter travel plans, so I missed that one), and; 3) add a brief description to the agenda so it is easier at the event to determine which talk to attend.
Thanks go out to the sponsors as that is necessary for an event of this type. The vendors here all have solid offerings and were interested in talking to participants. MageTitans is a very worthwhile event and helps build a stronger, more robust community.
Sponsors for this Event
Headline Sponsor – PayPal
Premier Gold (After Party) – MageMojo
Gold Sponsors – ShipStation, Nexcess
Silver Sponsors – TaxJar, Akeneo, Vertex
Event Partners – Wagento, Space48
Community Supporters – Subscribe Pro, Netalico, Commerce Hero, Magetraining, Magemail, Groovejar
Giveaway Supporter – Chalet Market
And finally, great support and participation from the Magento team. I will be coming back!