Mittwoch, 4. Mai 2022

Beyondtellerrand 2022 Düsseldorf

After the involuntary hiatus of the last years, it was once again time to join btconf in Düsseldorf!!

The tireless Marc Thiele once again put together a very promising line up and considering the last times
I expected this one to be a blast as well (no pressure (™)).

At the time of writing the videos are not online yet, once they are uploaded I will add links to them. In the meantime you can check out earlier talks on their youtube channel.

Warm-Up at Wacom

Like, I think the last time in 2019, the lovely people at Wacom did host the traditional Sunday evening Warm-Up. This time though in their new fancy gallery. Apart from free drinks and tapas we got to enjoy the first talk of the conference.

Chicken Sexers, Plane Spotters, and the Art of Sketching - Mike Jelinek

The title seems a bit odd at first but soon enough Mike did enlighten us. The term "Chicken Sexers'' describes people that are able to tell the difference between male and female chicklets. That is something that seems impossible at a first glance after all all chicklets look awfully alike. Nevertheless there exists a special zen school in Japan where a master teaches you to distinguish them by simply letting you make a decision and then telling you if it was correct.

This is a concept called unconscious learning where you do learn to perform a certain task but without actually knowing how you do it. Yes this sounds very weird but it seems to be a thing. In the same way "Plane Spotters" did learn to recognize if an approaching plane did carry bombs or not. Seemingly slight variations in how a plane did change direction or react to maneuvers do allow for this distinction but without a chance to put a finger on it.

After this Mike did elaborate a bit more on the neuro-scientific background of this phenomenon touching on cognitive maps, convergent and divergent thinking as well as externalization of thinking which I will try to summarize.

During our day we receive a lot of unstructured chaotic data which our brain subconsciously processes and somehow structures resulting in cognitive maps. These maps allow us to approach tasks in a new way but we cannot access them willingly.

What we are used to is convergent thinking which means we focus on a certain task and try to tackle it in a logical and structured way. Basically how we learn to perform our day to day tasks throughout our whole lives.

Divergent thinking on the other hand uses cognitive maps to give us new and creative insights on a task or a situation. To tap into this it helps to do something else like going for a walk, start to cook or let your mind wander in some other way e.g. sketching which brings us back on topic.

Actually this is nothing completely new, we all know the effect when we are stuck with something, put it on the side and suddenly when doing something completely unrelated we get a new idea because we let our mind take advantage of cognitive maps. This also shows that our cerebral regions are not as separated as we thought for a long time, instead all areas of the brain are connected to each other which explains that motoric stimulation can help with intellectual tasks.

The term of externalization of thinking on the other hand describes how it helps us to visualize the things we work on. A simple example here is when we write down a complicated calculation or when we think about furnishing an apartment how we draw a plan, cut out pieces of cardboard to move around.

To sum it up, Mike took us on a short excursion into neuro scientific discoveries of the last years and how these can help us to actively work and improve on our creative skills. After all creativity is not something that is merely gifted to one by genetics but a skill that can be honed and crafted.

As a last topic we discussed how already available tools like AI or VR can help us with this. VR can be a highly efficient tool to visualize things and this helps us to externalize our thoughts or where AI can be used to assist us with unconscious learning. An example he brought in was art in general. It is very hard to decide why some art is good while others are not. It is very similar to the "Chicken Sexers", some authority decides if your decision is right or wrong but without telling you why. So you could train an AI on some forms of established are which then in turn can categorize other art and thus educate you on this aspect.

I would say this was a good start for this year's btconf. An interesting topic presented in a refreshing way by someone who not only clearly knows what he is talking about but also shows his passion for the topic at hand.

Monday (Day 1) 

Back at the capitol! Things again start to feel as they used to. Nerds bustling around the slightly surreal lighting and Tobi Lessnow already in action on his turntables. For those not aware Tobi is THE btconf dj being at every event and famous not only for his unstoppable enthusiasm but also for incorporating snippets of the talks into his music.





Programming Playgrounds - Linda Liukas [Talk Profile Web Twitter Insta]

Linda is a children's books author who tries to teach not only the basics of computers but also IT and the internet in general in a new and creative way suitable for younger children.

But she doesn't stop there, she teaches children using all kinds of new and interesting ways and tools so children can learn what algorithms and boolean logic are but in a much more intuitive way.

A basic premise in her work is the attempt to reconnect creative thinking and imagination with logic and scientific analysis. For this it is important to have what we call poetry in spoken languages also in the world of programming languages. Also she explains how important it is for children to learn things with all their senses and not just from a textbook. Examples were a play where she was playing the computer processor that was commandeering the children who "were" the ram or hard drive or other things. Or simply using candies to teach a simple bubble sort. That way the understanding gets ingrained into the children much better and they memorize it very strongly.

A more advanced example was to let them create a youtube video, including planning it, creating tags and subtitles. So they learned each step and also what it is for and then could recognize e.g. where on youtube different algorithms were used (recommendations or typing predictions). All this is also meant to help children not to adopt our views and especially fears of technology but let them experience it without bias sso they can enjoy and utilize as good as they can.

There were many more stories in this talk which I can't all mention here but one was very fascinating as it emphasized a different aspect of creativity and computers. Mushrooms can act like a kind of semiconductor, so there are people trying to programm fields of mushrooms and utilize their natural sensors e.g. reacting to the behavior of animals around them. So it might be able to use programmed mushroom networks to monitor the state of forests. BAAMM!!!

If I was to summarize a main take away from this talk then it would be: Do not be afraid to be creative, think outside the box and see the world with the eyes of children.

All this is very hard to describe in such a summary and I am afraid I will not be able to do justice to her. So once the video of the talk is up, I recommend watching it.

The Big Picture - Tim Kadlec [Profile Web Twitter]

Websites use images to convey emotions to the users and create a kind of connection with them. This means they are an important part of any online presence.Tim took us on a tour about image loading and performance implications in modern web design.

To determine the performance of a website you can use various kinds of metrics. One that was new to me is LCP (Largest Contentful Paint) which determines how long the largest (in this context meaning “most important”) part of the content takes to be painted. Usually these are images, either as background or as content e.g. showing a catalog item..

Having a short load time on such assets is important but often they are among the last items to be rendered.

Tim explained a few techniques to increase this performance and also gotchas and caveats of each which I am trying to sum up here.

Due to the fact how browsers work (loading js, css, html, executing js, parsing css etc) images defined as background images only in css the information that an image has to be fetch is only available very late to the browser and it is even later that the browser can know the image needs to be rendered.

A way to work around this is to tell the browser that we know this image exists and is important. A first start is to use the preload tag inside a site’s header section. That way the url is known to the browser way sooner and it can be loaded sooner, or rather could. But because there are lots of other resources like css/js and maybe other images the browser can’t decide which one is more important.

This is because the tag does not convey any information regarding priority. You can try to move the tag up in the header section but this is causing all sorts of other issues without helping much.

So in come priority hints, a rather new feature available in Chrome based browsers that allow to indicate to the browser that this resource should be considered a bit more important than it normally would.

For regular images there is a different common issue for delayed loading. Many js libs use a lazy loading mechanism which usually involves setting the src attribute of an image at runtime. So the browser has no chance of preloading anything until the corresponding js code is fully downloaded and executed.

Here the new loading attribute can be used to define eager or lazy loading on markup level and let the browser handle it: Markup is your friend!

After this Tim gave a comprehensive overview over the different default loading priorities applied by the various browsers and how things like viewport or connection speed can affect these.

But we were not done yet. There are still examples where all the above still does not give you the speed boost for your LCP that you would expect. This can stem from using a different domain to host your images than the one your website is hosted on, e.g. when you are using a hosted image service.

In this case the browser opens a new connection to that domain once it has decided it has to load that image which again takes up quite some time. To avoid that you can use a rewrite mechanism to use urls relative to your domain in the markup and have that path then being redirected to your external service. For the browser this is transparent and can use the same connection.

In traditional on premise setups this happens with something like an nginx performing the rewrite. When you want to be more cloud based this is usually not an option. Edge Computing to the rescue!!!

What is Edge Computing? In a nutshell (and probably highly over simplified) Edge Computing allows you to run js code on CDN hosts, meaning you can rewrite the urls directly on the CDN node closest to your customer that also handles the delivery which sounds very neat.

On a closing note Tim examined the issue of performance measurement in general. Most tools are built on tools made by Google satisfying metrics created by and for Google. And also LCP is a metric only available in Google based browsers.

In order to have similar performance measurements in other browsers you can employ javascript techniques which Tim showed us a few examples of. More important is the realization that you need to verify your performance measurements in all browsers and not only in Chrome.

To paraphrase Tim: It is WEB performance, not Chrome performance.

As you can see from this wall of text, it was a rather detailed talk touching on a lot of topics and at least to me was not only very informative but also made the tech nerd in me smile.

(Lunch-Time Session) What We Can Learn from Hacking Multiplayer Games: Understanding and Cheating in Distributed Systems - AOE Group [Web Twitter Insta]

This was a short but very nerdy talk about what kind of attacks you can or at least in the past could use to change the behavior of a computer game beyond the expected boundaries. It started out by changing files of an old solo rpg game to change the attributes of your character and then moved over to scanning the network traffic of a server based multiplayer game to understand how that can be modified to actually inject data.

Afterwards he explained how some people created explicit cheat challenges for people to find a way to complete specific tasks in a game and later on he even created one himself.
Apart from learning new and creative ways to analyze systems this has also more “serious” benefits. All these techniques can and actually are used when targeting commercial websites and other large scale applications. So it is important to always look at your architecture, your protocols, your apis not only considering use cases, performance or maintainability but also security. Always ask yourself “How could this be abused?” and make sure to never blindly trust user input.

Bag of Spanners - Léonie Watson [Talk Profile Web Twitter]

Léonie Watson is a remarkable woman. I heard her speak at a UIConf a few years ago, also about the topic of accessibility, and it was a great talk. So I was kinda hyped about this one and I was not disappointed.

It was a bit of a pity though that she could not be at the conference in person but instead dialed in from home. Which in turn shows her dedication.

As it turns out this was not so much a regular talk but rather an excursion on how different levels of accessibility on websites impact the experience for screen reader users.

At the start she emphasized the importance of accessibility tools and how every developer and ideally also designer should know about and how to use them. An interesting tool in this context is the accessibility tree created as a logical structure by your browser analog to the DOM as it can help you understand how your website is represented towards screen reader users.

After this she showed us various examples of button or navigation mark ups at first in a minimalistic version rather unusable for screen reader users which then were refined more and more into complete working and accessible markups. It was really interesting for me to actually hear how the audio presentation did differ from the visual one, something that is very hard to anticipate when your perception is already biased by what you see.

Very much worth watching.



Graphic Storytelling - Noma Bar [Talk Profile Web Twitter Insta]

I seriously can’t describe the content of this talk. Noma “simply” gave us a looong tour through all his work of the last 40 years as a graphical illustrator and story teller. His images usually have two, three or even more twists in it that you only recognize over time.

Just watch the talk and be swept away or check out one of his many books.


Everything Breaks at Scale - Sacha Judd [Talk Profile Web Twitter]

Now what could this talk be about? Our guesses were from resilience in highly distributed web architectures to layout paradigms for overly complex website content. Boy, did we go off base there.

A quick summary would be: “Why do people get into conspiracy theories and why do they stick with them?”

Disclaimer: I am not totally sure I was able to follow all her reasoning but will try to repeat them here to the best of my ability. Should anyone notice something wrong or objectionable, please let me know.

For starters there are different kinds of conspiracy theories. From people who believe the government is out to get them to those who indulge in RPF (Real Person Fiction) meaning they make up or believe in made up stories about e.g. actors. A popular example seems to be the rumor that the cast from Lord of the Rings did actually have more than just a good time making the movies but also that secret affairs did start which are still ongoing and kept hidden for all those years.

What is it that makes such groups attractive to people? For one thing, it gives a sense of community, people with a common interest that over time become more and more your friends.

Another appeal of these groups seems to be a common nostalgia for earlier and simpler times where everything was at a smaller scale.

What comes with that is also common purpose. It is your “mission” to unveil whatever the subject of your specific theory is and maybe even save the world. And as a result the positive feedback and encouragement lets our body create dopamine which can turn into some kind of addiction.

So people need to create ever more and new content which receives more and more positive feedback the more far fetched the claims and proofs seem to be.

Conspiracy theorists may seem like harmless idiots at times, but ever since the march to the capitol of the US it is evident that they are dangerous.

But what should be done? What can be done? Here Sacha, in my opinion, made a bold move by asking for regulations and law enforcements. This seems contradictory to the usual plea for a free and accessible internet but her argument is that like with all forms of media, like newspapers, radio, television, there was a need for regulation.

But not only governments are required to take action. The large companies providing platforms for people to connect must accept their responsibility and not simply claim that they are just providing a platform and can’t be held accountable for the content. She calls this the “Illusion of Neutrality”. Something companies like Facebook, Telegramm, Google and so on have been clinging to since the dawn of time. Partly because their only metric of success is to grow and grow without taking into account what effects their ecosystems have on society.

Would that be enough? Clearly, no! We have to educate ourselves but especially our children to defy misinformation and manipulation.

The more often you hear/see/notice a claim or statement the more real it becomes for you. To counter that one should not just accept claims they hear but fact check them to make sure it is actually true the very first time you come across them. Also make sure it comes from a reliable source and to top it off, do your own research, challenge things. So in the end you can make informed decisions and have a solid base for your opinions.

If we manage to teach that to the generations to come we have a change to make this world a better place.

The Positives of Saying No - Cabeza Patata [Talk Profile Web Twitter Insta]

Cabeza Patata is a 3D modeling studio consisting of the married couple of Katie and Abel, who despite being a rather small company did work with several global players as their clients.

In their talk they took us on a tour about the ups and downs of their career, especially about the things they found saying “no” to did indeed help them regain not only control of their company but also their lives.

What is important to mention here and what they also did stress is that these were things that did work for _them_ in their current situation. It is not meant as an entrepreneur blueprint.

No to Representation Agencies

A representation agency is a company negotiating with potential clients on behalf of an artist and of course that company takes a chunk of money from the budget as their fee. Depending on the percentage that might actually not sound too bad considering they protect you from a certain hassle. But it does not stop there. There are also Advertising Agencies and Production Companies that might work together or approach you on their own.

So with each further company/person in between the actual percentage of the budget the artist gets becomes smaller and smaller. To make it worse in many cases it is not even transparent to the artist who is taking how much or how big the initial budget even was.

At a certain point Cabeza Patata decided to not buy into this system anymore and terminated the cooperation with their agencies. This meant going out on a limb for them as it was not clear how they will get in touch with new customers.

As it turned out their presence on social media was helping with that and shortly after separating from the agencies they did land a large scale project with Google.

No to being a traditional production company

The usual course of action after completing your first large projects is to grow and try to get even larger projects so you can grow more and so on and so on.

Abel and Katie found that this whole situation once the first big paycheck arrived did cause them quite some mental stress and distress. So they took a step back and realized that by staying small they were able to work more efficiently and have more direct and better communication with their clients.

No to the pressure of a permanent location

It is a common perception that having your own office means you made it as compared to a start up in a shared office space. So they did rent an office space trying to be accessible to the neighborhood in order to connect with them.

What did happen though was that the felt either like acting as tour guide when people came in or when they tried to focus on a project and thus closed their doors felt like shutting people out.

So there was no option that made them happy until they took a trip to the canaries and realized how much happier they were and that they could work from there. Living in a small rented apartment they started to work wherever they felt like it.

No hiding behind screen

As 3D modelers they spent most of the time working on digital projects but what actually got them into the field was the fun in making real things.

So they returned to their original values and started making real things again, learning new crafts. Allowing them make new art in other forms like stop motion movies or have their 3D models printed to then paint them which then in turn can be digitized again.

Basically do not get too comfortable with what you are doing, take a step back and/or learn something new and you might be able to enrich your business.

No to ponzi schemes

When the idea of crypto art took off Capeza Patata was approached to also auction their art over the various platforms.

As they did not really understand the concept in the first place they decided to first learn more about the system. It turns out that in contrast to the regular fine arts market the crypto art scene is purely based on speculation, lacking the cool down phases of the traditional market (a collector buying something to actually have it so the artwork is not available anymore). Those who participate actively brag a lot about how much money they make to make the concept appealing to others to join in.

It resembles a pyramid scheme where it is very likely that only the first few to enter will actually make money while the majority will lose their investments. So joining in would mean they would be making money on the back of others which just was not acceptable for them.

This combined with the inherent fluctuation of crypto currencies made this a highly unattractive idea. Adding in the fact that they had been insulted for not wanting to use said platforms sheds a very bad light on crypto art in general.

No to being secretive

There is no use in keeping your knowledge and experience to yourself. So they started to hold workshops, teach at various occasions and finally opened their own school where people can learn from them by using their own libraries for textures etc.

All of this did help the two to be not only happier but also more successful with their business.

Tuesday (Day 2)

Scaling CSS Layout Beyond Pixels - Stephanie Eckles [Talk Profile Web Twitter Insta]

Nothing to start a day like good ole nerd talk!!

In the early days of web design (or rather in the times when that hardly existed), fixed pixel sizes were fine as we had only a very limited set of screen resolutions and ratios and no mobile devices to support. Compared to today it was a very finite set of possible client settings.

Nowadays the opposite is the case and there is an almost infinite number of combinations out there defining the context in which our content is engaged with.

Steph’s topic revolved around intrinsic and adaptive design or rather how this can be achieved using modern css techniques.

To illustrate the differences she presented examples with old and new css directives in place illustrating how modern techniques can improve the layout of a website.

Since it does not make much sense to describe the different examples here I can just recommend watching the video. Maybe at 80% speed ;-) The talk covered the usage of functions like clamp, min, max, fit-, min-, max-content, grid, gap padding and margin as well as various types of units like viewport-height, frame ratio or character.

All of these allow for use with design token to further improve maintainability. If your day job or hobby requires you to do any kind of css, I highly recommend this talk.

Lost in Translation - Manuel Matuzovic [Talk Profile Web Twitter]

Hands down my favorite talk of the conference. Don’t get me wrong, the others were all great too, but this one was awesome! Funny, insightful, meaningful and it made you contemplate.

Manuel is working as an accessibility consultant so his job requires him to check websites and how accessibility can be improved which results in him reading a lot of awful code.

What he realized over the years is that most issues do not stem from complex frameworks like react but from simply bad html. One of his standard examples is a button that is not created using the semantic button element but instead a div that is styled to look like a button.

This omits semantics which are important for screen readers like Léonie Watson pointed out in her talk on the previous day.

In a lot of cases websites only consist of a few very basic tags instead of taking advantage of the full set of available semantically meaningful tags which often is also caused by designers not being familiar with how html works and the developers not being able to properly translate the design into a meaningful document structure..

What is even sadder though is that also websites of professional developers sometimes do not use proper tags despite the fact that these people HAVE to know about them which can only lead to the conclusion that they simply do not care about accessibility.

But with ARIA everything is fine again, right? I mean, what could go wrong with ARIA? Maybe, apart from slapping it on like gravy on dry turkey roast.

ARIA tags are often used incorrectly removing semantics or resulting in re-adding existing behavior of the proper html tag. So it is important to understand html and only resort to ARIA tags if there no native equivalent.

But why is it that html is often used in such a bad way? Isn’t html simple? Isn’t that what everybody is saying? Yes they are and no it is not!

Html has a simple syntax, opening and closing tags, maybe text in between and then optional attributes. BAAM, done!

The thing that is not simple is adding the proper semantics to a document for which you first need to understand the structure. This means not only the structure of what is visible in the design but also the logical structure behind it, that what a screen reader should use to navigate in an efficient way.

There are actually not a few more aspects covered in this talk but once again I have to tell you: Go and watch the video! You will have not only a few laughs but you will learn even more. If you can only watch one of the talks (which would be a shame and I would urge you to change that) then it should be this one!

Exclusive Design - Vasilis van Gemert [Talk Profile Web Twitter]

Despite the title we are of course talking about inclusion here. Though Vasilis follows a kind of different school of thought here.

Originally he tried to follow four simple principles. Consider all contexts your content is viewed,  be consistent, prioritize content and add value instead of nonsense. All of which sounds pretty reasonable. But upon further tinkering with it he started to question those principles.

In order to consider all contexts, should not first know all contexts? So that principal should be something like “further studying”. And if we do not know all contexts then maybe the other principals are not set in stone as well, so he wondered what happens when you do the opposite. Break with conventions, prioritize individuality over content and add nonsense?

To be quite honest I do not exactly recall all the reasoning on this part so I might have gotten some things here and you better double check the talk. But I am fairly sure I got the outcome correct.

To start investigating what contexts there are, Vasilis did work with blind people and watched them using websites to see what works for them and what doesn’t. His examples were a bit devastating. In one case a website was using ARIA tags all over the place and semantic tags to represent hierarchies which resulted in about 80 headline elements and 150 links. Making the site so complex that it was unusable for someone with a screen reader, especially people that do not use them on a daily basis, like artists.

What he did was the opposite of the things we heard so far during this conference. Creating a very very limited version of the websites without any semantic information but only very limited elements and structure. And this did help the users as many of them did not even understand why information like “navigation” or “headline 2” were read out to them.

This illustrates a different kind of problem. A lot of people invested in accessibility have a strong technical inclination, those of them who are blind use screen readers extensively and they know very well how to use them and what the information presented to them means. Many other blind people do not have that background and/or the desire to get acquainted with it. So maybe we have to adjust yet again to also include these people and break with conventions.

Something very cool that he made in the progress of this research are animations with audio descriptions. Turns out you can make the screen reader make something like sounds or even giggle. Which makes it more entertaining for the users.

Another thing Vasilis did talk about is how his students were creating devices or mechanisms to help people with specific disabilities performing certain tasks. One example concerns a friend of his who can only use one hand and has very limited control over it. So typing on the keyboard is very very hard for him and takes a long time because every time he has to move his hand it shakes uncontrollably and he needs a while to get it stabilized. A pretty smart solution was a different way to input letters. Instead of typing each single letter as usual a letter can be created by typing 2 letters that then get combined.

It sounds counterintuitive at first but is rather smart. There is only a block of 6 adjacent characters that is used. So he can keep his hand in a stable position and just use his fingers to type the different combinations which in turn is pretty quick. So by prioritizing individuality and adding (seemingly) nonsense. The situation has improved.

There were a few more examples illustrating his mind set so if this sounds interesting, have a look.

(Lunch-Time Session) A Blueprint to Working Happily in a Creative Team - awork [Web Twitter]

Unfortunately I did not get all of this talk as it was not clear when exactly it was supposed to start, so I was a bit late.

What I took from it, is that currently the work market is strongly in favor of knowledge workers, so people like us.

Creative people are a limited resource in the market and companies are searching and hiring more and more. On the other hand, about ⅔ of knowledge workers consider quitting their jobs in order to find more happiness.

All numbers here rely on a survey of 1000+ people from the German speaking countries conducted by awork.

So the question at hand is “What makes people happy?”.  Also according to afore mentioned survey the things mentioned the most are:

  • reconciliation of private and professional live
  • attractive salary
  • trust within the team
  • clear structures and goals
  • freedom to make decisions and take responsibility

This means that companies need to take these points into consideration in order to be considered a good place to work and keep talented people. On the other hand, we knowledge workers are in a position of power to push towards a shift in how we want to work in the future and should not ignore this opportunity.

Returning to Your Maker Roots - Aarron Walter [Talk Profile Web Twitter Insta]

Without the intention to sound mean or condescending, this was a talk about coping with midlife crisis.

The more one’s career progresses, the more time you spend doing things other than what brought you into the field in the first place. You end up being more in meetings and organizing things instead of actually “making” things. Which is not necessarily a bad thing but sometimes it can be good to get back to what you initially had a passion for.

During the pandemic Aarron had a few realizations. One was exactly the points mentioned above. He was highly invested in his job and at a point noticed that a lot of his time was spent on overhead.

At one point he decided to step away from his job to “reduce bullshit” and focus on more substantial things. It was then when he realized that he had pretty much nothing outside his job, no hobbies, no interests and this turned out to not be a great place to be in.

What did help him was to remember the things that motivated him in the first place and reignite his ambitions to learn things, to make things.

Also due to the restrictions being in place during the pandemic he learned to cherish fewer but deeper relationships, e.g. with his family, over shallow ones that he used to have with all kinds of people. So again focusing on the basis the essentials did help him come to terms with himself.

After a while he got to talk with a friend about all these things and in the end they started hosting their own podcast “re:considering”. Together with a third friend they interview all kinds of people and talk about changes in life and how to cope with them.

If Not Now, When? Turning Your Passion Project into a Reality - Geri Coady [Talk Profile Web Twitter Insta]

During her childhood Geri got to know two sisters from Japan who were her first contact with Japanese culture. They became friends and Geri became fascinated with Japan. Unfortunately after a year the girls had to move back to Japan but Geri’s fascination remained and even grew.

It took her 20 years to finally be able to travel to Japan and even though it was a great experience once the trip was over she felt a deep void as she had now achieved what she was working on for so long.

It was then when she stumbled across an internet challenge: “What could you do with 100 days of making”

The idea was to make something every day for 100 consecutive days. For Geri this ignited a new spark and so she started to make Japanese themed illustrations, one each day for 100 days, which she published online calling it “100 days of Japan”.

The feedback she got was very positive and many were asking if she would release these illustrations as print so they could buy them. After contemplating this for a while Geri decided to take this opportunity and open a side business.

Along her way she had a lot to learn in order to make her business successful or even survive and her main learnings are what she shared with us during this talk.

The first issue she identified was that it is important to keep your passion alive. Once your hobby becomes a business there is the danger of losing the joy of what you are doing. So you need to be able to take a step back and refocus on why you are doing this in the first place.

From the financial side she did lay some ground rules for herself. She would define a strict budget of what she would spend on materials, storage and so on while playing it safe so she would not risk losing more money than she could afford.

As a web designer she was able to use her own skills in creating her website but had to learn quite a few new skills, some related to business, some more to logistics. Being a business owner you need to expand your skill set so you cope with day to day tasks.

When the time came where she was able to finally open her business she decided to go for a double release day: Taking her website live and having her own stand at a Japanese themed convention nearby. It did sound like a great idea but became one of the most crushing experiences in her life.

First of all she had no experience of what a good location for a stand was so ended up in a bad spot where not many potential customers showed up, also she was not really prepared what such a stand should look like or simply how everything was supposed to work. But the biggest issue was that this was simply the wrong audience. Almost everyone was looking for mangas or animes and respectively branded goodies of these. Everything Geri had to offer was based on Japan and Japanese culture in general and so had no affiliation with what the customers were looking for.

So sales were way way lower than she ever anticipated and of course the feedback was devastating for her. After this she turned to a friend running their own business for advice on how to deal with this. After a while she realized that it is okay if not everyone out there is totally sold on your idea from the start. It is completely normal that it takes a while until you know your audience and also until your audience gets to know you.You have to believe in yourself and your product and eventually others will as well.

This did help her keep on going and finally Geri Draws Japan took off becoming a successful side business.

During the course of this she did learn a few other valuable lessons. Competitors are not necessarily enemies even though they are selling to the same audience they can be some of your biggest fans. Don’t be afraid to reach out to people you admire as that can result in great collaborations.

Don’t be afraid to go out of your comfort zone, explore new ideas and keep learning. If you want to start (either the business itself or something new related to it) then don’t overthink it. Just do it but start small and once you grow so much that you can’t handle it alone do not be afraid to outsource or delegate tasks.
But most importantly make yourself aware that you are running a real business.

Being someone who does not really fancy the idea of becoming a business owner I can’t really relate to the topic but I felt that Geri has had a lot of experience there and think that should you consider starting your own business or maybe are already in the process this talk should be on your watchlist.

More Than Answers – Designing for Questions and Provocations - Jude Pullen [Talk Profile Web Twitter Insta]

Being a creative designer who did work for various companies Jude has a lot of experience building creative solutions to improve people’s lives. Some of which he shared with us during this talk.

I will try to summarize the basic concepts but you should really watch the video as I don’t think I can capture the whole spectrum properly.

His first story was indeed very touching as it was about Kyle, a young man who wanted to be a hairdresser but since he was born with a deformed hand this dream was just not meant to happen.

Jude started to work with him to understand what the limitations were and what Kyle would have to be able to do in order to work in his dream job. It took a while and several iterations but finally Jude presented Kyle with a kind of prosthetic that basically had two mounted combs which could be aligned differently to either let the hair flow through them or to lock it in. That way it was possible for Kyle to hold up the hair and cut it properly.

It was very moving when Jude asked Kyle to be his first customer to get a haircut.

Another project was a radio globe. A small plastic globe mounted on a speaker and with a small sight that could be moved up and down over the globe. When you turned the globe and put a country into the sight the speaker started to play a radio program from that country. The whole kit was 3D-printable and so everyone around the world could build one.

The last project was the Good Air Canary. Based on the method of the first miners to carry a canary bird with them to see if the air is still breathable Jude created a sensor device linked to mechanical canary that gave feedback once the CO2-level rose too high.

As written above, best watch the video as that will explain things so much better than I can.


So this was the end of the first post(?)-pandemic  beyond tellerrand conference and I have to say it still feels like it did before. Great spirit, awesome speakers and Marc as usual makes everyone feel welcome. He even includes his family giving the whole event a personal touch.

It was great to be back and I can only recommend this conference to everyone.

Donnerstag, 6. Juni 2019

UIKonf 2019

A mere two weeks after my last conference I find myself at yet another one. One I have not been to before and also with a different focus than my usual ones. UIKonf in the history-charged German capital Berlin. UIKonf is an iOS-only conference, so this is new territory for me in terms of technology (Swift, Apple ecosystem) and also mindset (mobile, Apple ecosystem ;-)). 

So you might wonder “Why?” especially since I am more of an Android guy. The reason why I decided to visit a mobile conference is that a few months ago I transferred to a different team inside my department at “Süddeutsche Zeitung” which is responsible for building the SZ News Apps for iOS and Android. So I am now officially an app developer, even though I do not have much of a clue yet (shush… don’t tell my boss).

The reason why I chose this particular conference was that it was among those recommended to me by my new colleagues. UIKonf was recommended to me by my lovely colleague and iOS expert Lisa Berle as one with a good reputation in the iOS community. Even though she has not been there yet herself she decided to tag along meaning that I would not be alone among the Apple disciples ;-)

The conference features quite a range of side events. While Monday and Tuesday are the main conference days where all the talks are taking place there are additional workshops on Saturday and Wednesday (some are free, some require extra payment). Also happening on Wednesday is the unconference with lab coding sessions and more. Sunday has a variety of socialising events in the early afternoon ranging from a bike tour over a boat ride to museum visits and the kick-off party in the evening where it is also possible to register for the conference days.

For time and budget reasons we decided to skip both workshop days and only attend Sunday to Tuesday. Lisa chose the 3.5 hrs walking tour while my lazy self settled for a boat ride on the Spree. The boat tour took us up and down the river past different government buildings and other sights like the museum island for a good 1.5 hrs. As there was still quite some time left until the kick-off party I decided to visit the Brandenburg Gate and Alexanderplatz on my own.


The kick-off party took place in the wonderful beergarden of James June where we met up with three nice chaps from Dresden who Lisa met at the walking tour. We enjoyed our evening with good food and a few drinks.

Day 1

Before moving on to the talk themselves I wanna give a short overview over all the big and little things I noticed in the run-up. 

The first and foremost fact to mention is the speaker lineup. The organizers decided to have an all female speaker list for this year. I am aware that this is a polarizing topic but I appreciate the effort made by the organization as to make a statement and hopefully incent more women to speak at other conferences. Important fact here: The conference was fully booked and it seemed to me that there was a higher percentage of women than at other conferences (though it could be that all iOS conferences are like this).

What struck me as a bit odd was that even though some speakers had been posted on the website for quite a while the topics of the talks had not been published until shortly before the conference and there were no abstracts at all. So buying the ticket was very much like the proverbial pig in the poke.

Two screens on both sides of the stage showing the text “Live transcription” reminded me about btconf two weeks before where all talks received a live transcriptions as well. At btconf the service was provided by White Coat Captioning. I asked in a tweet if it could be Andrew doing the captioning again and got a very quick reply that it was indeed the same company but a colleague of Andrew as he was already booked for another event. Funny how an intended joke can hit that close to home ;-)

The greeting by the organizers focused mainly on things regarding the schedule and facilities, making sure everyone had all the necessary information but had also enough room for a heartfelt welcome. Germafficiency for the win :-D

There was one thing though that annoyed me immensely. It was the first time at a conference where I noticed people using their coats, caps, bike helmets etc. to reserve seats during the whole day. Very classy guys.. next time why not bring towels.

We had lots of breaks, only coffee in the morning but lunch breaks were pretty long but that way everyone had time to eat without haste and in the afternoon we got ice cream sandwiches!!

The sponsors brought lots of goodies. MyTaxi even had 3 talks/workshops hosted on a boat just next to the location each day as a semi parallel track. The swag bag did contain not only the UIKong shirt and stickers but also a reusable coffee mug, a webcam cover, a mytaxi discount coupon and a notebook.

But now let’s cut to the chase...

Kaya Thomas - Inclusive and Accessible App Development [@kthomas901,] <video>

A11y is an ever present topic at almost all conferences nowadays. But still too many sites and apps are lacking it. An aspect that other talks usually brush over though is the difference between a11y and inclusion. A11y features help to not exclude people but actual inclusion usually needs something more. Kaye used a good example: If a gym installs a ramp it uses a11y to allow wheelchair access but it is not automatically inclusive as there are likely still some issues when actually using the equipment.

Kaya also gave an exhaustive overview of available a11y tools and elements that can be used with examples. She also mentions that there are more things to consider than “just” ui elements but also that also users with a slow connection can be excluded if you rely on a huge bandwidth. A lot of those points reminded my about the talk of Charlie Owen at btconf, like including your users or some external QA authority to get more input on where your app might not be inclusive enough yet.

All in all a good talk covering the basics of a11y considerations plus a bit extra.

Shannon Hughes - Detangling Gesture Recognizers [@whattherestime4,] <video>

This talk described the issues Shannon and her colleagues had when porting an application from MacOS to iOS using a rich set of gestures as shortcuts for a lot of operations.

As an introduction Shannon illustrated how different gestures are recognized using state machines. Debugging such gesture recognizers can be very tricky though especially when several recognizers are involved. Usual mechanisms like breakpoints do not work as they derail the timing setup.

Shannon describes their efforts and learnings in an extremely seasoned and also entertaining way. I highly recommend watching the video. The way she explains what bugs they encountered, what fixes they tried and why they failed is very diverting.

In the end the found out that too many gesture recognizers were active at the same time and had to reduce the amount in some way. In the end they created their own state machine, to define what gestures are recognizable at what time. 

This is a good example how a few seemingly small bugs can lead down a rabbit hole and force your hand into overhauling your architecture. Really good talk, interesting topic and a great speaker.

Glenna Buford - Rolling your own Network Stack [@glennersboofy,] <video>

From the topic of the talk I was not sure what to expect. In a nutshell Glenna presented her approach to a lean and reusable networking layer inside an app without using 3rd party libraries.

The first approach simply an UrlRequest created from a string, classic network session etc. This got refined more and more by adding encapsulation and abstraction techniques. In the end she had different classes containing all the required data to access a specific endpoint and operation classes to be used with those. 

If you are into Swift programming techniques you might wanna check this one out.

Nataliya Patsovska - Declarative Presentations [@nataliya_bg] <video>

Another topic that can mean almost anything ;-) and TBH I am not quite sure I totally got the point.

Nataliya took us on a refactoring tour where she started from a completely synchronous program flow and turned it more and more into an asynchronous one using futures. As far as I understood the idea was to have rather generic classes that take futures and completion handlers as declarative arguments instead of having the traditional code flow.

This resulted in a code structure where the developer does not need to know when to check for what conditions or how to react to them but simply can define it by using an appropriately named handler/future parameter. This was emphasised by making use of Swift’s type system to make sure the classes are used in the intended way.

To me it felt like this was more suitable for designing SDKs or libraries so provide the developer with clearer interface. When you do that in the actual business logic there seems to be not too much benefit unless you have a lot of similar structured code portions that can be abstracted more easily that way. It might also benefit you during refactorings but I am not sure reworking existing code into such a structure in the first place is worth it. If you create a new application though it could be interesting to try this route.

But I gotta say, whoever does live coding that even just remotely involves XCode is either very brave or a madman ;-)

Kristina Fox - Internationalizing your App [@krstnfx,] <video>

When you say i18n people immediately go for translations. Which is in a way correct but there is more to it.

Different regions can also mean having a different currency or regional differences like what an icon can mean or what associations are triggered by certain colors, screen orientation or units of measurement.

To find out about these differences user research is the main information source. If you gather that information yourself it is often useful to interview people at their workplace or even at home, places they feel comfortable at. Otherwise they tend to overthink their answers and the result is less authentic/natural. Another option are cultural consultants that can assist you with their expertise.

The second part of the talk focused on implementation aspects of i18n, like how to extract strings into a localizable and parameterizable format. How to use formatters to accommodate currency or time zone differences or the usage of start/end as opposed to left/right.

Ellie Shin - Mockolo: Efficient Mock Generator for Swift [@ellsk1] <video>

Here we have a highly technical talk. At Uber Ellie’s team was challenged with the task to generate a vast number of mocks at build time. Existing frameworks/libraries like OCMock, Sourcery or Cuckoo all had some drawbacks like need to subclass NSObject, use objc annotations or were simply too slow for the use case.

So what do we do in such a case? Correct, we build a new one from scratch ;-) Ellie explains the different steps they took to create Mockolo and what problems they encountered during this.

The topic was rather interesting but for me it did not contain much information to be used in daily work life. I mean, when will you need to write a code generator? Alas I have to say the talk itself was very hard to follow as it was very uninflected and a lot of complex information kept pouring in at a steady pace. But if you are into the technical details of Swift code generation this might just be what you are looking for. 

Julie Yaunches - Consistency Principle [@julieyaunches,] <video>

Never heard of that, no clue what it could mean. So I was curious what was coming down the pike.

During the life time of any application we all face the same challenges. The team maintaining the app changes, technology evolves and libraries get abandoned. So over the time you decide to swap certain parts of your application out for other things. But that hardly ever goes down smoothly or even atomically. So suddenly you end up having different libraries in your network layer essentially doing the same thing but you do not have the time to complete the transition. The same thing then happens maybe at the UI layer or somewhere in your business logic.

This kind of vertical duplications and inconsistencies is always a pain and of course we do not want them but in reality we often end up stuck in such a limbo due to non technical restrictions like time or budget.

So here Julie introduces the term of the Consistency Principle stemming from the accounting world into the IT landscape. In accounting you have several ways you can do your bookkeeping and the consistency principle tells you to stick to one method throughout a book and not mix bookkeeping styles. That sounds very sensible and plausible. 

But what does that mean in regard to the aforementioned examples? I think here is where she lost me and also other people I spoke to afterwards. Because if you apply this logic par for par it would mean NOT to change to a new library or abstraction pattern. Or maybe it means, if you do it, then only if you can finish the swap?

What came then instead were things like, make sure you encapsulate your application layers so that the business logic only has minimal knowledge of your network layer etc. But that is software architecture 101. So I fail to see the correlation between the initial problem description and the proposed solution. Maybe someone can enlighten me about it.

Lisa Dziuba - How to Market Your Mobile App [@lisadziuba] <video>

I gotta be honest, for me the term “marketing” is just.. well.. it just gives me the heebie-jeebies. But it is a very important aspect of a successful app and so we all should have at least a basic understanding about it, so we know where to start and what to ask people about if we need to get involved with it.

As a start Lisa defines the basics of user research, the term of a persona and what it is used for. Once you understand what your potential audience looks like you can start to think about what the USP (unique selling point) of your app would be to the different groups.

Subsequently Lisa gave a detailed overview of the different marketing methods one can use to promote and sell an app. It starts by communicating your app launch on all relevant channels like social media, publications or platforms like Product Hunt. Then we have direct sales mechanics, free marketing like influencers or viral marketing and then of course paid marketing.

Sally Shepard - Swift to Hack Hardware [@mostgood] <video>

Final talk of day 1. Hardware hacking talks are usually very interesting as they show you how you can break out of the usual confines we all get so comfortable in way too quickly.

Sally drew my interest right out of the gate by structuring the talk such as if we were new employees at a fictional cat bank :-D To really get the joke behind this, better watch the video. 

The project at hand was having money box to report what coin was deposited and what the total balance is. For this she setup a RaspberryPI with Swift-Arm and SwiftyGPIO to allow using weight sensors to determine the actual coin size. This also involved having analogue to digital signal converters and lots of other nerd stuff! 

Then on the server side she went for Kitura as a Swift cloud platform to provide data to the apps.

And here the talk took an unexpected turn (at least for me it was). After talking about all the different parts involved in the project, I was expecting to see the final result. But instead Sally switched her focus to something different but also important: the future of Swift

In summary it was an appeal to all of us to help the community grow and improve. Special mention was given to the Swift Evolution Process and its importance to the community and how we all can contribute to it (spoiler alert, it was not the last time we heard about that :-O)

So this somewhat left me in an emotional limbo. I appreciate the significance of the Swift community and its processes but I also wanted to see the kitty money bank do its job ;-)

Day 1 roundup

Pewh.. 9 talks in one day. Quite a lot to take in. Overall I must say that first day did not impress me that much. There were some really good and interesting talks and in total it was okay just not that great. But we have another whole day to hopefully blow our socks off!!

Monday evening at UIKonf features the so called Ambassador’s Dinner. Here an ambassador organizes a table at a restaurant so that nonlocals can just tag along without the hassle of finding a place for dinner on their own. This time there were like 6 different ambassadors where people could sign up. Lisa and I decided to go rogue though and had a nice stroll along some remnants of the Berlin Wall and the famous district of Kreuzberg to find some food along the way.

Day 2

Füsun Wehrmann - From Heroic Leaders To High Performing Teams [@fuesunw] <video>

Starting talk of the second day usually features a tough and slow crowd. But Füsun was definitely not impressed. We did get to enjoy an invigorating and entertaining talk that softened the start of the day.

We started off with a short travel to IT past, about things like how companies were structured or what the expected behavior at work was. She drew comparisons between now and then, how things changed in our working environment and technologies.

What happened when a project went haywire? Some expert got tossed into the maelstrom to save the day. Pretty often that approach just hit a brick wall and everything went south. Especially with changes like agile processes and self organized teams this approach is a recipe for disaster.

From here on Füsun outlined an alternative approach on what modern teams can do to increase their chances of success. This covers topics like customer and people centricity, shared leadership or collaborative mastery. 

All of this is already rather well-known but Füsun manages to illustrate the benefits and synergies in a fascinating way which IMO makes watching this talk worthwhile.

Erica Sadun - Swift 5 Strings [@ericasadun]

Erica Sadun, a name I never heard before, which probably shows how little I now about the Swift ecosystem. She is highly involved in the Swift Evolution Process and worked on several language proposals. But more importantly: She.. is.. a blast!!!

Seriously, this was one of the most entertaining talks I had the pleasure to listen to in a long while. She is very enthusiastic and funny and manage to carry me along for the full distance. So even if you do not care too much about Swift or programming at all, I recommend watching this talk simply for the entertainment value.

Edit: It seems this is the ONLY talk not available as video. This sucks BIG time!!!

Okay, back on topic. As the title says, this is about strings. Exciting, isn’t it? No? Well, give it some time. With a simple but effective C example Erica shows why using strings as control structures is a bad idea. There is hardly anything the compiler can do to spot errors and so the results are often undesirable. She substantiates this with the example of a date format string that yields several issues from wrong casing to i18n deficits. 

ExpressibleByStringInterpolation to the rescue!!! Or if you want it a bit more nerdy: SE-0228. This feature in Swift5 allows you to create extension to the existing string interpolation mechanism. The really great thing about this is, that those extensions can have typed parameters. 

This gives an immense boost in regard to compile time safety and abstraction. Since this are regular extensions you can add all kinds of logic into the interpolation code which is really powerful. Erica shows a lot of different examples of varying complexity. 

For me this was hands down the best talk of the conference, even though Erica labeled herself as the opening act for Ellen Shapiro ;-)

Ellen Shapiro - Kotlin/Native [@designatednerd,] <video>

Wait.. what?? Kotlin on iOS?? Yeah baby!!!!

But let’s start at the beginning and an hint for everyone going to watch the talk: Play it at like 80% speed otherwise your ears might fall off because, boy, she <i>does</i> talk fast.

There have been different approaches to try to have only one implementation for the different app platforms, like Xamarin or have Swift code run on Android. All of these attempts have severe drawbacks and turned out to be impractical. Many of these issues are unlikely to be resolved anytime soon as the parties that could do so usually have no incentives for it (e.g. lack of Java bindings for Swift).

Kotlin on the other hand was created by Jetbrains which has a strong interest in Kotlin being in as many places as possible.So it is also possible to compile Kotlin into LLVM code to be run on iOS devices. WOOOOOOOTT!!!!

The main part of this talk is Ellen talking about how she created a multi-platform project with Kotlin. I can’t give an adequate summary here, so better watch the talk and be ready for a verbal overkill ;-)

Alaina Kafkes - A11y-oop - Adding new Accessibility Features to not-so-new Apps [@alainakafkes] <video>

Another a11y talk but this time about how to add a11y features to an existing app. More specifically how Alaina und her colleagues added night mode to the Medium app.

I found it rather unfortunate that the talk consisted solely of slides explaining in prose what classes were added/modified for what purpose but not a single line of code. This made the whole talk very hard to follow and so I did not pick up on anything in this one.

Neha Kulkarni - Advanced Colors in iOS [@nehapundlik] <video>

Before this talk I was wondering what exactly could be advanced in colors ;-)

With P3 the IPhoneX supports a wider color space than its predecessors that use the standard RGB color space (ok, this sounds advanced ;-)) Sadly this is about the only thing related to P3, apart from how to use it in a color picker, in this talk. I would have liked to hear something more about P3 and the implications of its usage.

In the second part, Neha described how you can use semantic names and proper name spacing to improve maintainability of your apps. She also points out the importance of proper communication between e.g. design and development by using the correct names consistently and sticking to agreed names and naming schemes.

Lastly she emphasized that when choosing colors for your app or website you should try to have good contrasting, avoid color combinations that are hard to distinguish or simply painful to look at and that not only colors alone but also the combination with symbols can help to improve your app (kind of cycling back to a11y).

Anne Cahalan - Promises in iOS [@northofnormal] <video>

Swift has a variety of promise libraries. Anne gives an introduction to promises using PromiseKit with basic operations and elaborates on the implications to coding and mindset that come with switching to asynchronous programming.

At the end stands a short comparison of various promise libraries like Google Promises, BrightFutures or Hydra and a lookout regarding Async/Await.

If you are familiar with Promises you can probably skip this one, for others this can be a good starting point.

Julia Roggatz - Muse Prototype Challenges <video>

And yet again I was at a complete loss regarding this talk title. Will she be musing about challenges in prototyping. Are there challenges when prototyping a muse? I guess so, cause I would not have a clue how that should work.

Of course none of that. Muse is a prototyping tool Julia helped to developed at a research facility [@inkandswitch]. The whole presentation was held using Muse, which I thought was a nice touch.

At the start this seemed like a mundane product presentation and to some extend it was definitely a kind of advertisement. But once you look beyond that you see a new concept for creative working.

The tool allows you to nest so called boards infinitely. A board can contain various kinds of elements as well as free hand sketches and texts. It only work when using the Stylus which is a kind of exclusion (interesting counterpoint to all the a11y focused talks) but the idea was to see what a Stylus driven interface can look like and what you can do with it.

So I think this more an attempt in a kind of paradigm shift towards a new way of working which sounds interesting, even though I am definitely not the target audience. Another twist is that there are no menus or working modes (e.g. you select a drawing or eraser tool so define what the next click will do) instead you use additional touch gestures to change the behaviour of the pen or even the angle at which you hold it. 

So this could be interesting for designers or other creative people that would like to create something like a graphical mind map where you can include all kinds of documents or media.

Kate Castellano - What to expect when you are templating? Clue’s approach to Backend Driven UIs [@katecastellano] <video>

This was actually the only backend focused talk of the two days. The problem at hand is something every app has to solve if it does get data from a server.

How to create a reusable and maintainable architecture to send data about entities to display to your apps. The idea shown here is to define building blocks of your elements that can be reused to create new layout elements. Each block is described as a json element with a type. The apps know how to display each element and so you can control from the backend what the UI of your apps looks like.

That way it is easy or even mandatory to have the same names and definitions on all platforms, allowing more consistent experiences for users and developers. Also you can add new elements without breaking old apps but need to be aware that those might lack data then.

This is very similar to the way we built our apps at Süddeutsche Zeitung, so it was interesting to see, that others came to basically the same solution.

Lea Marolt - Mobile && Me == It's Complicated [@hellosunschein] <video>

I spent quite some time thinking about how to describe this talk. The best I could think of is some kind of “Coming of Age” for software developers.

Lea talks about her first experiences in software development and how she became more and more practised. Then after a while she felt a lack of meaning in her job and decided to build things in the real world. During that time she realized what aspects are easier when building software and found a new appreciation for the profession.


Looking back at the whole event I do have a rather positive impression. A good location, logistics worked out well and the organizers made you feel welcome. Some of the talks were a bit of a let down though but a few really stuck out. But 539€ for two days might be a bit steep for some.

If you are looking for a place for an exchange with other iOS enthusiasts UIKonf is definitely worth considering.