We regularly attend WebCamp conference in Zagreb due to amazing content and organization. This year was special—we had a speaker from Mono, our designer Mihael Tomić. Although all the talks this year were great, because of the nature of this post, we’ll single out the ones we found most interesting.
Paradigms - which is best?
Before we start talking about paradigms, we have to define what paradigm is. According to Anjana Vakil, in our context, a paradigm is a pattern or an example of something. She presented a couple of paradigms such as imperative programming, object-oriented programming, functional programming, and declarative programming.
Each of these has its own unique set of rules:
- Imperative programming: follow my commands in the order I give them and then remember the state.
- Object-oriented programming: keep your state to yourself, receive my messages and respond as you see fit.
- Functional programming: mutable states are dangerous, pure functions are safe, data goes in, and data comes out.
- Declarative programming: these are the facts, this is what I want, and I don’t care how you do it.
Someone might ask himself, which of these paradigms is the best. To give an answer to this question, you have to define what kind of problem you are trying to solve. In other words, it is a matter of matching up the problems with the best paradigm for solving it. Neither of these paradigms will solve all the problems.
A chance for event sourcing and CQRS
A talk called Year with eventsourcing and CQRS started with Miro Svrtan‘s (TicketSwamp) presentation of how applications were written in the old days - mixing HTML code with the server side code in one file (which resulted in so-called spaghetti code) - and then with MVC. But as complexity increases, we might find ourselves in a situation where MVC does not fit our needs.
On the example of a simple issue tracker, he gave the definition of event sourcing as recording the changes and bringing out the state from applying those changes. When we are talking about the CQRS, the main idea behind this pattern is creating the data whenever it is required, instead of doing many select operations or looking for it.
If you ever decide to go with event sourcing or CQRS, that doesn’t mean the whole application has to be based on these two, you can build only small part of your application based on it.
Safer Web with Rust
After presenting some fun facts about a nightmare in programmers life (an island and a man called Null), Stanko Rusendic introduced us to the features of Rust language. What makes this language so special is the fact that it has the control and performance of a low-level language but at the same time abstractions of a high-leveled one.
When we are talking about disadvantages of this language, Stanko has mentioned slower learning curve and slower development cycle.
Turning zero to hero - a story about empty states
Our designer Mihael Tomić talked about turning those awful empty screens into a valuable part of user experience. By asking ourselves three key questions related to empty states —where, what and how?— we can enhance user engagement, user productivity, and product usage.
We found out that empty states should be fast, simple and personal. If our illustration can communicate brand, we achieved a win-win situation—we connected delight with functionality.
AI - never closer than now
The exploding volume and speed of data growth has made it challenging to get the right information when we need it. As Christoph Rumpel from Liechtenecker said, this is where chatbots jump in to make our lives easier - by giving us precise information. Christoph explained that chatbots have to take context of the whole conversation into account while analyzing our request before they give us adequate responses.
How to design for open-source - a story of WordCamp logotype
We all know that WordCamp Europe plays a significant role in the WordPress community. A fellow Croatian designer, Lucijan Blagonić, was part of the design team for WordCamp Europe. As a team member, he was involved in rebranding process under open-source “constraints”. He showed us how volunteering and contributing to open–source projects will get you the opportunity to work on challenging projects you might not have otherwise.
CSS Grid (really) changes everything
Listening to a keynote on CSS Grid by Morten Rand-Hendriksen (LinkedIn and Lynda.com) was a pleasure. A great introduction to the new way (or another paradigm shift) of web layout. Now implemented in all major browsers, CSS grid started a revolution.
Think about it: responsive, flexible, pure CSS grid layouts, independent of document source order, that allow us to treat the browser as a true design and layout surface. Morten showed us practical examples of using CSS grids and came to a conclusion: CSS grid is here to stay—and you can use it right now!
Using frontend as an animation platform
To show us how animations aren’t just a fancy way of showing and hiding menus or page transitions, Mario Novoselac guided us through animation principles from the Walt Disney era to modern environments. We saw awesome examples of animations in the digital world and learned about modern tools and frameworks for creating beautiful experiences.
See you next year WCZG!
All in all, this was again one of the best conferences of its type and format in the region, no matter if you are a developer or a web designer. Looking forward to WebCamp 2018!