Christian Heilmann

You are currently browsing the Christian Heilmann blog archives for June, 2018.

Archive for June, 2018

Developer Relations revelations: presenting at a conference is much more than your talk

Thursday, June 28th, 2018

This is part of a series of posts about the life as a DevRel person and how not all is unicorns and roses. You can read the introduction and the other parts of the series here.

So, today, let’s talk about giving presentations.

Chris and unicorn in oil
Artistic impression by Anke Mehlert (@larryandanke) what it looks like when I present

As this is a “warts and all” series of posts, I’ll cover the following aspects:

  • Preparing your presentation for various audiences
  • Frustrations and annoyances to prepare for – things that always go wrong
  • Getting ready to be on stage
  • Things to avoid on stage
  • Planning the follow-up
  • The weirdness of making it measurable

Public speaking is tough

Me, presenting

Giving a presentation, or even having to speak in front of a group is the stuff of nightmares for a lot of people. There are so many things that can go wrong and you have nowhere to hide as you are the centre of attention.

It is not easy, and it shouldn’t be. I’ve been presenting at hundreds of meetings and events over the last decade. Every time I go up on stage, I am scared, worried and my tummy imitates the sounds of a dying whale. I also hope against hope that I won’t mess up. This is normal, this is healthy, and it keeps me humble and – hopefully – interesting. Sure, it gets a bit easier, but the voice in your head telling you that it is not normal that people care for what you have to say will never go away. So that’s something to prepare for.

Now, there is a lot of information out there about becoming a great presenter. A lot of it is about the right way to speak, breathe and move. You can even cheat yourself into appearing more confident using Power Poses.

I am coaching people on public speaking. And I found out pretty early that “being a great presenter” is a very personal thing. The techniques needed differ from person to person. There is no silver bullet for you to instantly become a great presenter. It is up to you to find your voice and way of presenting that makes you most confident. Your confidence and excitement is what makes a presentation successful. To a degree this happens in equal measures.

It is great to see presenters admitting not being experts but sharing what got them excited about the topic they cover. Much better than someone faking confidence or repeating tired old truths that can’t be disagreed with.

When you look around on the web for presentation tips there is a lot of thinly veiled advertising for a course, workshop or books. Once you become a known presenter, you don’t even have to look. You get spam mail offering you magical products to give awesome presentations. Others offer you to create materials for your talks and style your slides.

Here’s the thing: none of that is making that much of a difference. Your slides and their form are not that important. They should be wallpaper for your presentation. In the end, you have to carry the message and captivate the audience, not read a deck out to them.

Except, it does make a difference. Not for your talk, but for everyone else involved in it.

Players two, three and four have entered the game

Now, as I already hammered home in the last post, as a DevRel person you are not representing yourself, but also a group or company. That means, that you have a lot more work to prepare a presentation. You need to juggle demands of:

  • Your company and colleagues
  • The conference organisers
  • The audience
  • People who later on will watch the video of the talk
  • Those peering over the social media fence to add their ideas to fragments of information regardless of context

Seperating from your company is tough but needed

Here’s the biggest issue. Technical audiences hate sales pitches. They also hate marketing. They go to a tech event to hear from peers and to listen to people they look up to.

As soon as you represent a company there is already a sense of dread that they’ll find a shill wasting their time. This gets worse the bigger your company is and the older it is. People have a preconception of your company. This could be beneficial “Cool, there is a NASA speaker at that event”. Or it could be a constant struggle for you having to explain that things your company did or other departments do aren’t your fault. It could also be a struggle for you when all you have from your company is marketing messages. Messages that are groan-worthy for technical people but sound great in the press.

Do yourself a favour and be adamant that you own your presentations. You don’t want to get into the stress of presenting a peer-reviewed “reusable slide deck” of your company.

Be proactive in writing and owning your talks. Make sure your company knows what you do and why your talk is a great thing for them. You are on the clock and you are spending their money. That’s why you can’t use presenting only to further your personal brand – something needs to come out of it. That, of course, is tricky to get right, but there are some ways to make it worth while – more on that later.

Helping conference organisers

Conference organisers have a tough job. They don’t only need to wrangle the demands of the audience and locations. They also are responsible for everything that happens on stage. Thus it is understandble that they want to know as much as possible about your talk before it happens. This can get weird.

I often get asked for insipirational, cutting edge talks. In the same sentence I’m asked to deliver the slides months in advance. This is impossible unless you keep the talk very meta. Blue-sky, meta talks don’t help your company or your product. They advocate yourself as a visionary and an important voice in the market, which is good for the company. But tough to explain to the product teams how it affects their work.

In any case, it is a great idea to make the lives of conference organisers easier by having things ready for them. These include:

  • A great title and description of your talk
  • A description of the skill level you expect from the audience
  • An up-to-date bio to add to their materials
  • A few good photos of you
  • Your name, job description, company
  • Ways to connect to you on social media
  • Things you published or resources you maintain

These make it easier for the conference to drum up excitement about your talk and yourself. This can mean the difference between speaking to an empty or full room at the event.

Many events will want slides in advance. I tend to not do that as it limits me and often I get inspiration on the flight there. The only exception is if the event offers translation and especially sign translation. Then I provide slides, extensive notes that I will stick to and a list of special terms and what they mean. It is not fun when you talk about databases and the audience looks confused as the translator talks about kitchen tables.

Making it easier for the audience

I am a firm believer that you should separate yourself from your slides to deliver a great talk. I also realised that this often is wishful thinking.

You will hear a lot of “best practices” about slides and not having much text on them but set the mood instead. That’s true, but there is also a benefit to words on slides. Of course, you shouldn’t read your slides, but having a few keywords to aid your story help. They help you in your presentation flow. They also help an audience that doesn’t speak your language and miss out some of the nuances you add to your talk.

If your slides make at least some sort of sense without your narration you can reach more people. Most conferences will make the slides available. Every single time I present the first question of the audience is if they can get the slides. Most conferences record you and your slides. A sensible deck makes the video recording easier to understand.

When you considered all this, you can go on stage and give the audience what they are looking for. The next thing to tackle is stage technology.

Things that go wrong on stage

Ok, here comes trouble. Stage technology is still our enemy. Expect everything to go wrong.

  • Bring your own power adaptor, remote and connectors but don’t expect there to be a power plug.
  • Don’t expect dongles to work with long cables on stage
  • Don’t expect to be able to use the resolution of your computer
  • Learn about fixing resolution and display issues yourself – often the stage technicians don’t know your OS/device
  • Expect to show a 16:9 presentation in 4:3 and vice versa
  • Expect nothing to look on the projector like it does on your computer
  • Use slide decks and editors/terminals with large fonts and high contrast.
  • Don’t expect videos and audio to play; be prepared to explain them instead
  • Do not expect to be online without having a fallback solution available.
  • Expect your computer to do random annoying things as soon as you go on stage.
  • Reboot your machine before going up there
  • Turn off all notifications and ways for the audiences to hijack your screen
  • Make sure you have a profile only for presenting that has the least amount of apps installed.
  • Expect your microphone to stop working at any time or to fall off your head getting entangled in your hair/earrings/glasses/beard
  • Expect to not see the audience because of bright lights in your eyes
  • Expect to have terrible sound and hearing random things in the background and/or other presentations in adjacent rooms
  • Expect any of your demos to catch fire instead of doing what they are supposed to do
  • Have a lot of stuff on memory sticks – even when your machine dies you still have them. Be sure to format the stick to work across operating systems
  • Expect to not have the time you thought you had for your talk. I normally plan for a 10 minute difference in each direction

I’ve given up on trying high-tech presentations because too much goes wrong. I’ve tried Mac/Keynote, PC/Powerpoint, HTML Slides and PDFs and still things went wrong. I started prefering to have my slides shown on a conference computer instead of mine. At least then I have someone else to blame.

My main trick is that I have my slides as PowerPoint with all the fonts I used on a memory stick. I also have them as a PDF with all animations as single slides if even that will not work out. Be prepaired for everything to fail. And if it does, deal with it swiftly and honestly.

Getting ready to be on stage

Before going on stage there are a few things to do:

  • Announce on social media where and when you are presenting and that it is soon
  • Tell your colleagues/friends at the event where you present and that people may come and talk to them right after
  • Take some time out, go to a place where people don’t pester you and go through your talk in your head
  • Take a bio break, crossing your legs on stage is not a good plan
  • Check that your oufit has no malfunctions, drink some water, make sure your voice is clear (lozenges are a good idea)
  • Take some extra time to get to the room you present. I normally tend to sit in the talk before and use the break in between presentations to set up
  • Stock up on swag/cards and other things to immediately give to people after the talk.
  • Breathe, calm down, you’re ready, you got this

DevRel stage etiquette

Congratulations you made it. You’re on stage and the show must go on. There are a lot of things not to say on stage, and I wrote a whole post on the subject some time ago . In this current context of DevRel there are a few things that apply besides the obvious ones:

  • Don’t over-promise. Your job is to get people excited, but your technical integrity is your biggest asset
  • Don’t bad-mouth the competition. Nothing good comes from that
  • Don’t leave people wondering. Start with where the slides are available and how to contact you. Explain if you will be at the event and where to chat to you
  • Turn off all your notifications on your phone and your computer. You don’t want any sensitive information to show up on screen or some prankster in the audience post something offensive
  • Have a clean setup, people shouldn’t see personal files or weirdly named folders
  • Don’t have any slides that cause controversy without your explanations. It is a very tempting rhetoric device to show something out-of-context and describe the oddity of it. The problem is these days people post a photo of your slide. People without the context but a tendency to cause drama on social media then comment on this. You don’t want to get off stage, open your phone and drown in controversy. Not worth it.
  • Make it obvious who you work for. As mentioned earlier, this can be a problem, but you are there for this reason.
  • Show that you are part of the event by mentioning other, fitting talks on subjects you mention. This is a great way to help the organisers and help other presenters
  • Don’t get distracted when things go wrong. Admit the error, move on swiftly. It is annoying to witness several attempts of a tech demo.
  • If there is a video recording, make sure it makes sense. Don’t react to audience interjections without repeating what the context was. Don’t talk about things people on the video can’t see. When I spoke at TEDx the main message was that you talk more for the recording than the people in the room. And that applies to any multi-track conference.
  • Make sure to advocate the official communication channels of the products and teams you talk about. These are great ways to collect measureable impact information about your talk.

Things that happen after your talk

Once your done, there will be a lot of immediate requests by people. So make sure you have enough energy for that. I’m almost spent right after my talks and wished there were breaks, but you won’t get them.

Other things on your plate:

  • Use social media to thank people who went to your talk and to post a link to your slides using the conference hashtag.
  • Collect immediate social media reactions for your conference report
  • Tell people if and where you will be (probably your booth) for the rest of the conference
  • Find some calm and peace to re-charge. You’ve done good, and you should sit down, have a coffee or water and something to eat. I can’t eat before my talks, so I am famished right after

How do you know you were a success?

From a DevRel point of view it is hard to measure the success of presentations. Sure, you have impressive photos of rooms full of people. You also have some very posititive tweets by attendees and influencers as immediate feedback tends to be polarised. But what did you really achieve? How did your talk help the team and your product?

This is a real problem to answer. I always feel a high when on stage and at the event but a day later I wonder if it mattered to anyone. Sometimes you get lucky. People contact you weeks after telling you how much you inspired them. Sometimes they even show what they did with the information you told them. These are magical moments and they make it all worth while.

Feedback collected by the conference is to be taken with a grain of salt. Often there is a massive polarisation. As an example, I often have to deal with “Not technical enough” and “Too technical” at the same time. Tough to use this feedback.

One trick to make it worth while for your company and measurable is to have short-URLs in your slides. The statistics on those with the date attached can give you an idea that you made a difference.

Fact is that somehow you need to make it measurable. Going to an event and presenting is a large investment. In time, in money and also in emotional efforts. It is a great feeling to be on stage. But also remember how much time and effort you put into it. Time you could have spent on more re-usable and measurable DevRel efforts.

Developer Relations revelations: Conferences are a lot of work

Tuesday, June 26th, 2018

This is part of a series of posts about the life as a DevRel person and how not all is unicorns and roses. You can read the introduction and the other parts of the series here.

So, today, let’s talk about conferences and attending them as a DevRel person.

Lanyards on my door

As an attendee conferences are amazing. You watch great talks, you can vote with your feet which ones to support. You can network and meet like-minded people. And – at good conferences – you have enough to eat, drink and you even might catch a cool party. It is a great way to get out of the office, be proud of your work or get inspired to do better. It is a welcome distraction from the daily grind and thus you love putting a lot of time into it.

Conferences for DevRel folk aren’t time-out – at all

As a DevRel person, conferences aren’t a distraction. They are part of your job. Whilst other people put extra effort in to enjoy them the fullest, you need to make sure you pace yourself not to burn out. Having a four hour sleep following an after-party is a lot less fun when you have to be on stage next morning or run a booth.

As a DevRel person conferences means 100% work. Of course, you might give a talk or workshop – I will cover that in the next post. You also might have booth duty. And even if that’s not the case, your job is to represent your company and to keep your eyes open for opportunities.

These could be

  • Covering the conference on social media. It is a nice thing to do for the conference organisers and it is a great idea to be part of the buzz
  • Conversations with influencers.
  • Talking to interesting company representatives to get workshop or collaboration opportunites.
  • Watching a talk by a colleague or friend to give them feedback.
  • Checking what the competiton is doing .
  • Eavesdropping on conversations and what currently makes your audience tick.
  • Taking notes and photos and collecting leads to add to your conference report
  • Talking shop with peers and competitors.
  • Shooting videos with interesting people
  • Showing demos on your computer
  • Helping people with problems with your products on their computers
  • Explaining people how to play with your systems
  • Dis-spell myths about your products or your competitors’
  • Give out swag and collect cool swag from others to add to your laptop

This all takes time, and effort, and a lot of concentration. You don’t sit back and enjoy the show – you are reporting on it and are part of it.

Here’s the thing: you get paid to be there. So you need to make it count for the people who sent you and make it measurable.

And that can be exhausting. It is especially exhausting when you don’t want to come across as pushy and on the clock, but be an attendee instead.

Loose lips cause Twitter Drama

Conferences are a chance for attendees to let their hair down and have fun with like-minded peers. Of course, the same can apply to you and it makes sense to be part of the fun crowd. But, whatever you say and how you behave is very much on the record. You’re not at an event – you are in the limelight.

Again: as a DevRel person at an event you are never off the record.

And the record spans much further than the event you are currently at. The bigger and more important your company is, the better headlines any of your mistakes make. We love to throw dirt at successful companies and people – that’s what all gossip magazines are about. And tech magazines beholden to clicks as revenue are not far from those.

A glib remark, a tasteless joke, some banter about your competition – easy to do at an event. And fun to do – everyone does it. But you aren’t everyone and you are not a stand-up comedian who succeeds with witty public outrage.

Fact is, as a person working at the event, you can not be part of indiscretions like that. It probably is even up to you to call these things out – in person, right at the event.

The reason – aside from the obvious – is that as a DevRel person of a hot company or product people repeat what you say. A lot of people are far too enthusiastic to do so. And what happens is that context gets lost. What was good natured fun at an event or a joke on your slides can turn nasty on Twitter for weeks after. You will be misquoted as attacking a competitor. You will come across as badmouthing your company. In a time where tech news outlets get away with quoting tweets quoting you as a source, that can last for years. Every time I am quoted as a “Microsoft engineer on Twitter” I get a small freak-out.

You have to watch how you behave and what you say as how you come across reflects on your company. And context does not protect you.

A classic trick interviewers love to do is an agreement trap. They trying to get you to agree with them when they say something bad or unproven about your competition. You need to be on your toes to not agree. Instead be adamant explaining that you don’t know about this and have nothing to add.

You do represent your company – for better or worse

People also love to bait you to get information that is speculation about your company. They bring up things your company has done in the past or does in departments far away from your influence.

They ask for very simple, true-ish, statements. Statements that make great soundbites. You need to be on your guard to deflect these arguments and not fall into the trap of being recorded as making assumptions. This would mean colleagues of yours will not only have to deal with accusations. They will have to deal with accusations backed up by a company representative. It is very tempting to shut aggressive people up my telling them what they want to hear. But there are consequences. As a DevRel person it is not uncommon that you have to prove the worth of your position to the company every few months. This won’t help.

You need downtime – but it is hard to come by

These things get a lot trickier when you are jetlagged, sleep-deprived, hung over, dehydrated and your head is full of a dozen things you need to cover at the event. Whilst not all these factors should ever be a thing, a mix and match is not uncommon, depending on your outreach strategy.

Be aware that as soon as you are visible, you will have people come to you and ask for your attention. This is a great thing, but it also needs moderation. You need to take breaks to stay lucent and helpful to people’s needs, and you can’t do that for a whole event. You also need a lot of patience as people are prone to asking you the same questions dozens of times at the same event.

Skipping talks

I’d love to see every talk I am also interested in at events, but I am not a conference participant – I am part of it. It also can get weird. Often I sit in a talk I am interested in, but I can’t see it. As people see me as an expert they keep asking me during the talk if I agree with the current points. Often points that are beyond my grasp or I heard for the first time. As a DevRel person you’re a source of confirmation for people. This is not the time to learn. You are better off watching the talk recording later. Unless, of course, the presenter is a someone you want to support or a competitor you need to watch.

I started to use talks as a chance to go back to my hotel room or a quiet room (if the conference offers those – PLEASE DO!). I fall flat on my face, groan a bit and maybe take a 15 minute power nap. I also do other things like answering emails that would otherwise pile up. I change the shirt that is not too comfortable after my talk or shows sweat stains. In any case, I try to do nothing at all and have a quiet room without people for a while to find my Zen again. You need to do this, too. It’s basic work practice and even factory workers have breaks defined by law – take yours.

When you skip some talks and go out you can come back in the breaks to network much more refreshed.

Creature comforts – drinks and food

It is quite tough to feed a herd of humans with things everyone is happy with and can consume. Especially without breaking the budget of your event. Catering is hard and expensive. I applaud every conference organiser that gets it done even half-arsed. I have massive respect for the people serving food and making sure everything stays in order.

That said, if you work on conferences, things get tricky. Lunchbreaks are a great opportunity to start chats and talk to people. Yet, talking whilst eating is tough. If the conference provides access to food before the mad rush, take advantage of that. Have a bit of food beforehand and work the room with a drink later on instead. That way you can talk to people having their break without covering yourself and them in crumbs.

Alcohol, of course, is a tricky subject. Know your limits, or just don’t drink. I learned that a glass of water with ice cubes and a lime works. You can carry it like a cocktail and it gets you in with the drinking crowd without all the ill effects and deflects peer pressure. But hey, up to you, just remember what I wrote earlier about being on the record.

It is in any case a great idea to try to live a tad healthier than people who come to party. I carry nuts and fruit and make sure I use the gym when I can in the evenings and the mornings. It is also a great opportunity to wipe your memory and get into the next day with a fresh start.

The conference end isn’t the end of your work

Once the conference finished, your collation job begins.

  • You collect all unused swag, pack it up and mail it back to the office (or haul it yourself)
  • You write your reports
  • You follow up with leads and type in dozens of emails from business cards
  • You send out information about your talk or workshop to the audience or the attendees.
  • You answer conference demands like your slide deck
  • You collect and sort your receipts for expense reports
  • You answer enthusiastic tweets and emails people sent you – it is not good to keep happy people waiting
  • You remind people you met about your conversations.

All this you need to do this as soon as possible, as the longer you wait, the more you forget. This means you also need to have some energy left for these task.

So, why do it?

Given all this work you may wonder why we bother covering that many events. Well, there are lots of great parts, too. The network you accumulate with peers and conference organisers is worth a lot. Anything to make it easier for you to get invited helps. It also helps your company a lot when they know about lots of different conferences to see which ones make sense to sponsor. And a chance encounter with engineers of a certain company at an event is often a great foot in the door for collaboration. Often I managed to get access to companies that way that sales and marketing people failed to do for years. The peer-to-peer IRL network of engineers and designers is a powerful access point.

In any case, I just wanted to list the needs and demands a dedicated DevRel person has at events. I hope this helps you prepare. I also hope that some people consider this when they tell you – once again – how easy your life is hanging out at events all the time.

Developer Relations revelations: not all is glamour and fun

Monday, June 25th, 2018

I spent this morning at a photoshoot. A photographer dragged me all over Berlin Mitte to take photos of me holding my phone and pretending to communicate. The reason is an essay about “Jobs of the Future” for a German finance magazine. Me, I am a “Developer Relations Person/Developer Evangelist/Developer Advocate” and this is baffling to people with “normal” jobs. I’ve done this for a long time and quite some time ago I wrote the Developer Evangelism handbook.

Don't fall in love, fall in coffee...

It is flattering to see how something that niche gets mainstream attention. It is also frightening to me. The explosion of DevRel opportunities in the last years is amazing. But often I am disappointed. The idea of companies hiring DevRel people in junior positions is odd. People with no company history or product involvement being DevRel is against everything I described.

DevRel is a great opportunity for engineers to move from delivering the product to helping it to become a bigger success. We’re not sales people and we’re not marketing. We’re communicators inside and outside the company and our main task is to make it easy for developers to do their job. That needs in-depth technical knowledge and company experience. That means dealing with the needs of marketing, management and recruiting and translating those to events and team communication. It also means – to a much larger degree – to ensure that the developer’s needs inside and outside the company are communicated in an understandable and actionable manner to the company.

What annoys me a lot more though is that by painting DevRel as a job disconnected from engineering, developers lose respect. And often people don’t get just how much stress, effort and unsatisfactory agreements working in DevRel is.

On the surface, DevRel sounds like a great job. Other people do the work, all you need to do is to present it in social media, at conferences and in blog posts. It also looks incredibly glamorous. You travel all over the world. You stay in hotels all the time. You get paid to go to conferences other people have to beg their managers to get tickets for. You hang out with higher-ups in the company. You always have the coolest new swag and inside information.

Now, I have been doing this job for quite some years now, and it is important to also explain the problems with this job. I don’t want to discourage people from pursuing this idea. But I also want to talk a bit about the things that frustrate, depress and endanger you when you work in DevRel . And I want to explain how some of these things that looks shiny and great can turn exhausting and drain a lot of energy. I’ve encountered burnout and frustration and depression and with every high comes a massive low. So, maybe this will help some of you avoid these.

Over the next few days I will cover a few of the concepts of DevRel and what dark and annoying things you should be prepared for:

New Skillshare course: Introduction to Machine Learning: Using Artificial Intelligence

Tuesday, June 19th, 2018

I am chuffed to announce that my first Skillshare course is going live today! The course is online and comes with a free two month subscription to Skillshare. You can watch it by following this link: http://skl.sh/christian or tapping on my nose in this still:

Chris Heilmann giving his course

Under the title “Introduction to Machine Learning: Using Artificial Intelligence” I have recorded about an hour of materials to get you familiar with the topic of AI.

This is not a hard-core Machine Learning and data science course and I invite anyone with an interest in the topic to participate.

You don’t need to be a developer or data scientist. Instead I wanted to create a series of videos for anyone interested in AI. Consider it a head-start without the hype or complexity other resources on the topic.

In about an hour of simple lessons, you’ll learn about a few of the use cases of Machine Learning and how to apply them to your day-to-day products.

The list of lessons is as follows (video length in parenthesis):

  • Introduction (1:44)
  • What is Machine Learning (5:25)
  • How We Teach Machines (5:48)
  • Machine Learning to Help Humans (5:28)
  • Tools for Machine Learning (3:44)
  • Visual Uses (7:54)
  • Speaking Human (6:07)
  • Audio & Video (6:32)
  • Personalizing Your Machine Learning (5:08)
  • Ethics of Machine Learning (5:32)
  • Machine Learning & Creativity (4:33)
  • Final Thoughts (0:32)

My big idea about this course is to entice you to be creative with the different machine learning/AI offerings out there. Artificial Intelligence is the next evolution in computers and human/machine interaction and I think it is high time to democratise it. For years online portals, personal mobile devices and microphones in our houses have recorded our data. A lot of good has come out of this, like virtual keyboards that learn from our usage patterns or voice recognition that isn’t guesswork.

However, only a few companies use this information to build intelligent, responsive interfaces for our users. In order to take the creepiness out of AI, we should all do this. Human interaction has been recorded for quite a while, isn’t it time we also get much better interaction across the board based on this data?

In this course, I will show how Machine Learning allows for automatic image detection and labelling, facial recognition and using it in an ethical fashion and how to provide interfaces that allow humans to type or say full sentences instead of learning interaction models that are outdated.

The course is available for all Skillshare users, or if you aren’t one yet, you can follow this link skl.sh/christian for two months of free access – more than enough time to finish this course and others.

Artificial Intelligence for more human interfaces

Sunday, June 10th, 2018

Artificial intelligence is the hype we’re knee-deep in at the moment. Everybody says they use it. Some says it will make the world a better place, others worry that it is the first sign of the end of the world.

AI isn’t only for a few, big, technical players

And most are technically correct. Most also miss the mark. It isn’t abut delivering one killer product around AI. Instead we should consider integrating it into what we already do. In this article I want to point out some facts about the use of AI and what fuels it. And what we could do to make all interfaces better with these insights.

There is a limited space for personal assistants in our lives. We don’t need every system to be our J.A.R.V.I.S or Star Trek’s ubiquitous “Computer…”. I also doubt that every interface is replaceable by a “personal assistant”. But we can learn a lot from them. Simplification and making sensible assumptions, for starters.

I will offer quite a few resources in this post. If you don’t want to open them one by one and prefer them with a short explanation, I put together a notes section with all of them.

Flawed user input shouldn’t be the end

Wouldn’t it be great if the interfaces we use were be a bit more lenient with our mistakes? What we do on the web is often limited compared to what operating systems and native interfaces offer. How often do you get stuck because a search interface expects perfect keywords? How often are you lost in a navigation that Russian-doll-like opens more and more options – neither applicable to your query – the more you click it? How many passwords have you forgotten because the form requests it in a special format that doesn’t allow special characters?

We have the power with deep learning and already harvested information to create some very human friendly interfaces. Interfaces that add extra information to work around barriers people have.

Visually impaired people benefit from image descriptions. People with cognitive impairments benefit from being able to ask simple questions instead of clicking through an animated tree of options. Seeing someone who doesn’t like computers ask Siri a question and getting a result is great. So was seeing elderly people play Wii tennis. They played it because they swung a racket instead of pressing confusing buttons on a controller. The point is that we have the power to allow humans be humans and still interact with machines as we taught machines about our flaws. An erroneous entry in your product isn’t a dead end. It is an opportunity to teach an algorithm how things go wrong to help them out.

Interfaces can make sensible assumptions what we did wrong and fix it instead of telling us to use the correct words. Interfaces that don’t assume humans think in keywords and filters but in words and metaphors.

This already happens in the wild. Take Google Maps for example. Did you know you can enter “How far am I from the capital of France” and you get a map as the result?

Google maps result showing how to travel to paris

The system found you on the planet, knows that the capital of France is Paris and gives you all the info how to get there.

Spotlight in OSX understands “my documents larger than 20 pages” and shows you exactly that. It parses documents where the owner is you and that are 20 pages or larger. No need to do Unix-style size flag, five click interactions or complex filtering interfaces.

The next users expect this to work

I never did this before I researched my talks and this post. But people who don’t have the burden of knowledge about IT systems that I have are using language like that. Especially in an environment where they talk to a computer instead of typing things.

Image catalogues are another great example. The amount of images we create these days is huge. And we stopped interacting with them right after we took the photo. Back in the days when it was harder to post online we uploaded photos to Flickr, gave them a title and tagged them. As the system was not clever enough to find information based on the image itself, this was the only means for us to find it weeks later.

Nowadays, we expect any photo search to be able to understand “dog” and find photos of dogs. They neither have alternative text saying “dog” nor tags, and yet search engines find them. This even works for more generic terms like “picnic” or “food”. And this is where Deep Learning worked its magic.

The problem is that only a few interfaces of well-known, big companies give this convenience. And that makes people wonder who owns information and where they know all these things from.

Unless we democratise this convenience and build interfaces everywhere that are that clever, we have a problem. Users will keep giving only a few players their information and in comparison less greedy systems will fall behind.

The other big worry I have is that this convenience is sold as “magic” and “under the hood” and not explained. There is a serious lack of transparency about what was needed to get there. I want people to enjoy the spoils but also know that it was paid for by our information and data. And that, of course ties in directly to security and privacy.

AI isn’t magic only a few players should offer and control.

AI is nothing new, the concepts go back to the 50ies. It is an umbrella term for a lot of math and science around repetition, pattern recognition and machine learning. Deep learning, the big breakthrough in making machines appear intelligent just became workable. Today’s chipsets and processors are powerful enough to plough iteratively through massive amounts of data. What took days in the past and a server farm the size of a house can now happen in a matter of minutes on a laptop.

If you want a very simple explanation what Machine Learning is, CGP Grey did a great job in his “How Machines Learn” video:

At the end of this video, he also explains one thing we all should be aware of.

The machines are watching

Watching robot
Photo by Florian Ziegler

Machines are constantly monitoring everything we do online and how we use hardware. There is no opt-out there.

As soon as something is free, you pay with your interactions and data you add to the system. This shouldn’t be a surprise – nothing is free – but people keep forgetting this. When Orwell predicted his total control state he got one thing wrong. The cameras that record all our actions aren’t installed by the state. Instead, we bought them and give our lives to corporations.

Just imagine if a few years ago i’d have asked you if it’ll be OK to put a microphone in your house. A microphone that records everything so a company can use that information. You’d have told me I’m crazy and there is no way I could wire-tap your house. Now we carry these devices in our pockets and we feel left out if our surveillance microphone isn’t the newest and coolest.

However, before we don our tinfoil hats, let’s not forget that we get a lot of good from that. When the first smartphones came out less enthusiastic people about the future sniggered. The idea of a system without a keyboard seemed ludicrous.

They were right to a degree: typing on a tiny screen isn’t fun, especially URLs were a pain. We built systems that learned from our behaviour and an amazing thing happened. We hardly type in full words any longer. Instead the machine completes our words and sentences. Not only by comparing them to a dictionary. no. Clever keyboards learn from our use and start to recognise our way of writing and slang terms we use. They can also deal with language changes – I use mine in English and German. A good virtual keyboard knows that “main train” most likely should get a “station” as the next word. It also knows that when you type a name it gives you the full name instead of having to type each letter.

Convenient, isn’t it? Sure, but in the wrong hands this information is also dangerous. Say you type in your passwords or personal information. Do you know if the keyboard you downloaded sends it to the person you intended exclusively? Or does it also log it in the background and sells that information on to a third party?

Are machines friends or foe?

Robot watching
Photo by Florian Ziegler

By using other people’s machines and infrastructure, we leave traces. This allows companies to recognise us, and accumulates a usage history. This leads to better results, but can also leak data. We should have more transparency about what digital legacy we left behind.

One blissfully naive stance I keep hearing is “I have nothing to hide, so I don’t care if I gets recorded”. Well, good for you, but the problem is that what gets recorded may be misunderstood or lacks context. A system that adds a “most likely context” to that can result in a wrong assumption. An assumption that makes you look terrible or even gets you on a watchlist. It then becomes your job then to explain yourself for something you never did. Algorithmic gossip you need to work with.

And that’s the big problem with AI. We are sold AI as this all-solving, intelligent system devoid of issues. But, no – computers can’t think.

AI can’t replace a thinking, creative human and can not magically fill gaps with perfect information. It can only compare and test. AI doesn’t learn in a creative fashion. It makes no assumptions. AI has no morals and ethics, but – used wrongly – it can amplify our biases.

In other words, AI accelerates how humans work. For better or worse. Machine Learning is all about returning guesses. We don’t get any definitive truth from algorithms, we get answers to our questions. AI can answer questions, but it is up to us to ask good questions – generic questions yield flawed results. Untrained and limited data leads to terrible and biased AI results. It is very easy to get either wrong deductions or false positives. AI is as intelligent and good as the people who apply it.

And this is where the rubber meets the road: what do we want AI to do and how do we use the information?

Take for example an API that recognises faces and gives you the results back. Microsoft’s Cognitive Services Face API gives you a whole lot to work with:

Face API data

  • Face rectangle / Landmarks
  • Pose (pitch/roll/yaw)
  • Smile
  • Gender/Age
  • Type of glasses
  • Makeup (lips/eye)
  • Emotion (anger, contempt, disgust, fear, happiness, neutral, sadness, surprise)
  • Occlusion (forehead/eye/mouth)
  • Facial hair (moustache/beard/sideburns)
  • Attributes: Hair (invisible, bald, colour)

Any of these could be used for good or bad. It is great if I can unlock my computer or mobile by looking into a camera rather than typing yet another password. It is great if I can find all photos of certain friend in my photo collection searching by name. It is also important to know if the person I am interacting with is really who I think they are. Uber, for example, rolled out a system that face-verifies a driver and customer before they enter the car.

But where does it end? There is a service that detects the ethnicity of a person from a photo and as much as I wreck my brain, I can’t think of a non-nefarious, racist use case for this.

Let’s use AI for good

Talking to robot
Photo by Andreas Dantz

Many companies are right now starting programs about ethical AI or AI for good and that is superbly important. The great speed and ability to work through huge and messy datasets quickly with a deep learning algorithm has many beneficial applications. From cancer research, to crop analysis, fraud prevention and defensively driving vehicles, there is a lot to do.

But all this smacks a bit of either science fiction or a great press headline rather than production-ready solutions. I think that in order for them to work, we need to educate people about the day-to-day benefits of intelligent systems. And there is no better way to do that than to have machines work around the issues we have simply by being human.

Humans are an interesting lot:

  • We are messy and prone to mistakes
  • We forget things and filter them by their biases
  • We are bored when doing repetitive tasks
  • We make more mistakes when we are bored
  • We have a non-optimised communication, with lots of nuances and misunderstandings. Human communication is 60% not about the content. Our facial expressions, our body language, how much the other person knows about us, the current context and the intonation all can change the meaning of the same sentence. That’s why it is so hard to use sarcasm in a chat and we need to use emoji or similar crutches

Computers aren’t human and don’t have the same issues:

  • They make no mistakes, other than physical fatigue
  • They never forget and don’t judge
  • They are great at tedious, boring tasks
  • They are great at repeating things with minor changes on iterations till a result is met
  • They have a highly optimised, non-nuanced communication.

This is a great opportunity. By allowing humans to be human and machines to get the data, discover the patterns and return insights for humans to vet, we can solve a lot of issues.

The main thing to crack is to get humans to give us data without being creepy or them not knowing it. Building interfaces that harvest information and give people a benefit while they enter information is the goal. This could be a fun thing.

Quite some time ago, Google released Autodraw. It is a very useful tool that allows artistically challenged people like me to paint a rough outline and get a well-designed icon in return. I can draw two almost circles with a line in between and autodraw recognises that I want to paint some glasses.

How does it know that? Well, lots of work and shape recognition, but the really clever bit was that even earlier, Google released Quickdraw, a game to doodle things and teach a computer, what – for example – glasses look like.

Genius isn’t it? Create a fun interface, make it a game, let people enter lots of flawed solutions, point a deep learning algo at it and find the happy medium. Then give it back to the community as a tool that does the reverse job.

Recaptcha is another example. By offering people who have forms on their web sites a means to block out bots by asking users to do human things, Google train their AI bots to recognise outliers in their datasets. Recaptcha used to show hard to read words which were part of the Google Books scanning procedure. Later you saw blurry house numbers, effectively training the data of Google Streetview. These days it is mostly about street signs and vehicles, which points to the dataset being trained in Recaptcha that helps self-driving cars.

Re-using data captured by big players for good

Companies like Google, Facebook, Amazon, Microsoft and Twitter have a lot of data they harvest every second. Many of them offer APIs to use what they learned from that data. Much more data that we ourselves could ever accumulate to get good results. And this is just fair, after all, the information was recorded, it makes sense to allow the developer community to do some good with it.

These AI services offer us lots of data to compare our users’ input with. Thus our users don’t need to speak computer but can be human instead. We can prevent them from making mistakes and we can help getting around physical barriers, like being blind.

Our arsenal when it comes to building more human interfaces is the following:

  • Natural language processing
  • Computer Vision
  • Sentiment analysis
  • Speech conversion and analysis
  • Moderation

Understanding human language

Dealing with human language was one of the first issues of building interfaces for humans. Probably the oldest task on the web was translation. This moved deeper into Natural Language Processing and Language Detection. Using these, we can allow for human commands and finding out tasks by analyzing texts. Any search done one the web should allow for this.

Getting information from images

When text wasn’t cool enough, we added images to our web media. Often we forget that not everyone can see them, and we leave them without alternative text. This is where machine learning steps in to help turning an image into a dataset we can work with.

This happens under the hood a lot. Facebook adds alternative text to images without alternative text. When you see a “image may contain: xyz” alt attribute, this is what happened there. This is also a clever phrasing on their part not to be responsible about the quality. All Facebook claimed that it may contain something.

Powerpoint has the same. When you drag a photo into PowerPoint it creates an alternative text you can edit. In this case, the world’s best dog (ours) was recognised and described as “A dog sitting on a sidewalk”. And that he was.

Automated generated alternative text in Powerpoint

There is a fun way to play with this on Twitter using Microsoft’s services. The other day I saw this tweet and for the life of me I couldn’t remember the name of the celebrity.

When my colleague added the #vision_api hashtag in an answer, the Vision API of Microsoft’s Cognitive Services explained that it is Ed Sheeran.

Vision API recognising photos by using #vision-api in Twitter

The API analyses images, converts text in images, recognises handwriting and finds celebrities and landmarks. All in a single REST call with a huge JSON object as the result. The object doesn’t only give you tags or keywords as a result. It also creates a human readable description. This one is a result of running the keywords through an NLP system comparing it to other descriptions.

Getting sentimental

Sentiment analysis is a very powerful, but also prone to wrong interpretation thing we can do. Finding out the sentiment of a text, image or video can help with a lot of things. You can navigate videos by only showing the happy parts. You can detect which comment should be answered first by a help desk (hint: annoyed people are less patient). You can predict when drivers of cars get tired and make the car slower. Granted, the latter is not for the web, but it shows that any facial change can have a great impact.

My colleague Suz Hinton created a nice small demo that shows how to do emotion recognition without any API overhead. You can check it out on GitHub.

Speak to me – I will understand

There’s no question that the Rolls Royce of AI driven interactions is audio interfaces. Audio interfaces are cool. You can talk to your computer in a hands-free environment like driving or cooking. It gives computers this Sci-Fi “genie on demand” feeling. There is no interface to learn – just say what you want.

Of course there are downsides to these kind of interfaces as error handling can be pretty frustrating. A magical computer that tells you over and over again that it couldn’t understand you isn’t quite the future we wanted. Also, there is a limitation. A web interface can list dozens of results, a voice reading them all out to you – as a sighted user – is a stressful and annoying experience. Visually, we are pretty good as humans to skim content and pick the relevant part out of a list. As audio is linear on a timeline that doesn’t work. Any search done with a personal assistant or chatbot that way returns a lot fewer results – in most cases one. In essence, using a voice interface is the same as hitting the “I feel lucky” button in Google. You hope the one true result returned is what you came for and not something paid for you to get.

That said, for accessibility reasons having voice recognition and a voice synthesizer in apps can be useful. Although it is much more useful on an OS level.

There are APIs you can use. For example, the Bing API set offers a “text to speech and speech to text”: API. This one can read out text with various synthesized voices or recognise what the user spoke into a microphone.

The big let-down of audio recognition is if the system isn’t clever and only reacts to a very strict set of commands. Another one is if you have an audio file that contains domain specific knowledge. When a web development talk covers tables we’re not talking about things to eat on. There are systems in place you can use to teach your system special terms and pronunciations, like LUIS. This one has a visual interface to define your commands and also an API to use the results.

There is much more to conversational UIs than this, and my colleague Burke Holland did a great job in explaining it in the Smashing Magazine article Rise of the conversational UI.

The last annoyance of audio recognition (other than it being disruptive to people around you) is when your accent or idioms are not understood. This is when training the machine for your own needs is necessary. There are Speaker recognition APIs that allow you to read to the machine and it learns what you sound like. You can use similar systems to filter out noises that interfere. For example, we worked on a voice recognition system at airports that had dismal results. After feeding the system eight hours of recorded background noise from the terminal and telling it to filter those the results got a lot better. Again, what we considered a showstopper, collected as a bunch of information and recognised by a machine became a quality filter.

Things people shouldn’t see

The last thing I want to cover for us to use in our interfaces are moderation systems. Some things are not meant to be consumed by people. Computers don’t need counselling once they saw them – people should. Known illegal and terrible content can be automatically removed right after upload without anyone being the wiser. Of course, this is a huge “who watches the watchmen” scenario, but there are things that are without a doubt not sensible to allow in your systems. Known hashes of imagery of child pornography or killings are part of moderation APIs and prevent you from ever hosting them or seeing them.

With great power…

There is to me no question that AI is the next iteration of computing and production. It is happening and we could allow people to abuse it and cry out, or we could be a good example of using it sensibly.

AI can be an amazing help for humans, but it does need transparency – if you use people as data sources, they need to know what and where it goes. When people get information filtered by an algorithm, it should be an opt-in, not a way to optimise your advertising. People need to have a chance to dispute when an algorithm tagged or disallowed them access.

I hope you found some inspiration here to create interfaces for humans, powered by machines. Which is the future I want, not machines empowered by humans as involuntary data sources.

More reading / Learning