This year, I was fortunate enough to attend .concat() 2018, a user experience and web development conference hosted in Salzburg, Austria - the home of Mozart and setting of The Sound of Music - at FH Salzburg, the University of Applied Science. The University of Sunderland sponsored my attendance as part of my studies.
The conference ran two tracks which, unfortunately, meant that all of the talks clashed, and I was unable to attend a handful of presentations that had caught my attention, including those by Ursula Sarracini, Rasmus Lerdorf, and Estelle Weyl, among others exploring concepts such as accessibility, PHP, and maintaining legacy codebases.
Interweaved between the talks was evermore food (authentic Austrian food, this time), an endless supply of freebies, barista coffee, and beers. The day was rounded off nicely with a keynote presentation by the renowned Sara Soueidan, discussing a host of applications for SVGs in her talk: the
<svg> of .svg.
I had a great time at the conference, and I learned a great deal, too. I'd like to share some of what I learnt with you in this article. So, here are three things I learnt at concat() 2018.
Before attending the conference, I had some experience of the technical aspects of Progressive Web App (PWA) development. I'd implemented service workers for caching and offline support, theming, etc. But, I was not as well versed in the user experience and interface design aspects of PWA development.
Thankfully, Nicole Saidy stepped in to fill in the gaps in my knowledge. In her fast-paced talk: Designing Great Progressive Web Apps, Nicole talked through a checklist of tricks to ensure your progressive web app offers a great user experience.
Nicole rattled through some of the basic steps: app icons generated via Real Favicon Generator, and theming via
She then moved onto the more complex aspects.
One of the main attractions of a PWA, she explained, is the ability to operate offline. To leverage this, Nicole proposed an "offline-first" strategy. This can be achieved with a number of steps:
- Inform the user about the change in internet connectivity.
- When the connection is restored, provide a means to retrieve new content.
- If the PWA is data-heavy, provide a 'data-saver' mode.
- If the PWA offers content, provide the ability to download the content. Inform the user of file sizes if a download option is provided.
- Simple but effective: add an 'offline-mode' colour to the app. (To accommodate users with visual impairment, ensure other means to determine the offline state have been provided to the user - a label, for example).
Another interesting topic that Nicole touched on was Progressive Loading with an Application Shell Architecture - the concept of loading particular elements before the entire page loads.
With a 'traditional' website, everything is rendered immediately when the stylesheets, and other resources, have been loaded. Whereas, when leveraging the Application Shell Architecture, specific elements can be loaded earlier in the rendering process to create an impression of a faster loading website, even though the website hasn't actually loaded faster.
The best part of this effect, in my opinion, is the simplicity of its implementation. All you need to do is serve the applicable CSS via a
<style> tag at the top of the page. The rest of the website styles can continue to be served via a stylesheet. The browser will automatically prioritise the styles served at the top of the page, rendering them while the stylesheet loads.
You can see this effect used across multiple Google products, including YouTube and the Google search engine.
Nicole covered plenty more in her talk, including 'PWA audits', iOS-specific considerations, 'micro-interactions', and a detailed PWA checklist that you can use.
You can watch Nicole's full talk on YouTube via the link below.
That being said, the CSS Custom Properties spec looks a promising addition to the CSS language. Even better, it is fully supported in all modern browsers - you can start using it today.
If, like I was, you're wondering how on earth you can, then Mike Riethmuller has you covered. In his talk The Strategy Guide to CSS Custom Properties, Mike explored a host of ways in which you can use custom properties in your projects to improve the maintainability of your CSS.
At first, I feared that the new feature was an attempt to replace the variable functionality of pre-processors, such as SASS and LESS, but this is not the case. In fact, Mike explores how, and why, we can, and should, use both.
Concisely put, Mike argues that you should use pre-processor variables for theming, and CSS Custom Properties for values that will change within your media queries.
To learn the nitty-gritty of Mike's strategy, check out his full talk on YouTube below.
It's a fact: we all have biases. As software developers, UX designers, and the like, this inevitably effects the applications that we build. However, this fact is not ample justification to let our applications reflect our biases: we need to address them.
Nobody understands that more, it would seem, than Ivana McConnell. In her much-warranted, antagonistic talk, Your Algorithm is Not Neutral, Ivana explored the concept of exclusion in our applications. Ivana called out a host of companies who failed to address their biases, and who had in turn released applications into the wild that negatively affected the lives of their users.
From a Pure Gym application that assumed all users with the title 'Dr' were male, subsequently disallowing a female into the changing rooms, to apps like AirBnb and Nextdoor that allowed racial discrimination, and Snapchat providing users with racist filters: users are being excluded and actively discriminated against.
Products should empower users, not exclude them. So, how do we approach inclusive UX?
You can discover a series of steps to do so in Ivana's powerful talk on YouTube, embedded below.
In a similar vein, Jenny Shen explored how we can design across cultures in her humorous, yet undoubtably thought-provoking talk, Build Bridges, Not Walls. Design for Users Across Cultures.
Exploring what culture is, and why we should care, Jenny provided a series of unintuitive examples that illustrated how users in difficult cultures react to design decisions made by someone unfamiliar with their culture.
Though I could attempt to reference her examples, I would not do them justice and I implore you to watch Jenny's talk at your earliest convenience. You can do so below.
A consistent theme runs through both talks: you have a bias and you need to consciously take action to ensure your user does experience the implications of your unintended, natural bias, which impacts race, culture, gender and social conditions.
The Concat() 2018 conference was a memorable day: thought-provoking talks from a host of great speakers; high-quality local cuisine, and some of the best coffee I have ever had provided by an on-site barista; lovely attendees and, of course, a fantastic team.
I have so many takeaways to think about from all the talks I watched, and a backlog of talks that I missed to catch-up on. The points I have discussed in this post only scrape the surface of the ideas circulated throughout the day, and I recommend that you watch the talks yourself and, of course, sign-up for next year's ticket... (fingers-crossed).
And, in that vein…
The conference was a fantastic opportunity for me to explore Austria, having never visited the country before. Though historically known for salt mining - Salzburg translates directly to 'Salt Fortress' - and more recently known as the birthplace of the world-famous composer Wolfgang Amadeus Mozart and the setting of The Sound of Music, Salzburg has a lot more to offer.
Unlike many cities of the 19th century, Salzburg's buildings were spared knocking-down, thanks to a one-hundred-year period of economic neglect from the ruling Habsburg dynasty after the city joined Austria in 1816, ensuring the city was able to retain its distinctive appearance.
As a result, modern day visitors are able to experience picturesque architecture that is difficult to find in many other places in Europe. And, with Salzburg being surrounded by mountains and various other vantage points, there is ample opportunity to be awed.
Salzburg has quite the offering of delicious cuisine, and is also the home place of a number of delicacies, including Paul Furst's Original Salzburger Mozartkugel and the Original Sacher Torte, the latter of which is available at the Café Confiserie Sacher (who never pass on an opportunity to remind you that they are offering not just any Sacher Torte, but the Original Sacher Torte).
In addition to treats, there is no shortage of authentic food, including beef goulash, spinach dumplings, and frankfurter sausages. Even the coffee stood out. A common option in Salzburg is the Melange: a filter coffee served with milk, whipped cream and, in most cases, a chocolate treat. All the coffee I tried in Salzburg was even served with a small glass of cold water.
A short bus journey away from the city centre, in Grödig, there is a cable car that you can take to the snowy speaks of Untersberg mountain. Though the cable car usually costs €25 for an ascent and descent, you can ride it for free with a Salzburg Card.
We were able to climb the mountain on a particularly clear day, after a full day of snow, and were able to enjoy the scorching sun, endless snow, and unforgettable views of Salzburg, Watzmann mountain and, the German Bundesland of Bavaria.
Caption: Unintentionally 'deep' photo of me enjoying the view.
No description or photographs can do the experience justice. If you find yourself in Salzburg, Grödig or anywhere nearby, this is an unmissable experience.