InfoQ Homepage Presentations Software Loves Languages (On Passion & Product)

The next QCon is in New York, Jun 24 - 26, 2019. Join us!

Software Loves Languages (On Passion & Product)



I'm going to kick off today's presentation with a quotation. So this is a quote that I've been pondering since about early 2014. That would be almost five years now. It's from a figure that's kind of controversial, comes in and out of favor. Let's see what this quote is. So this is a Kanye quote. He was interviewed, BBC 1 with Zane Lowe. He said, "Remember when you would see future movies, and everything was in the sky? That's the internet." Now think about it. In "The Jetsons," people would push a button and get food. We could do that. They could talk to people with a video phone. We can do that. So the internet is this house in the sky. If you think about "The Jetsons," the future life that they had, and you think about the cloud, how people are living in the clouds; we live in the clouds, in a manner of speaking.

So really, I feel like Kanye nailed this one back in 2014. If we think about the vision for the future that we used to have, and we think about other visions of the future that we've seen portrayed in movies and in literature, this dystopian future where, okay, people are engaging in the clouds, but their physical spaces are kind of deteriorated. You look at "Elysium," an example of where things were very separated. Things were split between the haves and the have-nots, and we think about the clouds and how that connects with our real-world spaces.

What Will Those Products Communicate?

The point here with this group of people, with all of us, is that each of us is building tools and environments for humans to use. Now that might be APIs. That might be software libraries. That might be infrastructure. That might be apps. That might be games. Now all of these are places that humans inhabit, that humans use. So the big question for each of us and the thing that I hope we can explore today as we spend some time together is, what will your products communicate to the users? What kind of values, what kind of thought and care will you communicate? And then to think about the Marshall McLuhan idea of, "The media is the message," or, depending on if you look at which translation, "The media is the massage." What are these products going to do to your users?

I'd like to visit that a little bit today and think about some physical spaces and some physical products that you can liken to the things that you're building, the things that you're creating, the things that you're promoting. How are these experiences going to affect humans? And are we taking the proper care and are we engaging with those questions in a thoughtful way?

I'm going to show you some pictures. And this is the part where you all get to communicate back with me. Give me your thoughts. So here's a picture of an environment, okay? When you think about this environment, two questions: what is this space built for, and what do you feel like the creators of the space had in mind? Any thoughts?

Participant 1: Money.

Elias: Money.

Participant 2: Entertainment.

Elias: Entertainment. Money and entertainment. Yes?

Participant 3: Focus.

Elias: Focus. They want you focused on one thing, one place.

Participant 4: Distraction.

Elias: Distraction. Yes?

Participant 5: They want you to stay in there.

Elias: There's some captivity, right? They want you to stay in there. They don't want you to leave. They don't put clocks on the walls. They don't have any exterior windows where you can see what time of day it is. So those are all great concepts. And if you think about what are some of the digital analogs to that, think about there are certain apps. You know, maybe Fortnite might be like this for a younger generation. Or YouTube, where they keep you focused. They have the incentives to keep you there for as long as they can because the longer you are there, the more value they can extract from you.

Here's another image. I love tiny houses. My family's too big for tiny houses, but I want to be in a tiny house one day. When you look at this and think about, okay, what did the creators have in mind and what is it communicating?

Participant 6: It's almost trying not to be there at all, isn't it? Wooden signs, there's glass, trying to be invisible.

Elias: Yes. That's a great point. It's absolutely trying to blend into its surroundings. Large windows. You can see the outside. It's really lovely. Other thoughts?

Participant 7: Efficiency.

Elias: Efficiency. They are using just about every square inch for some purpose. Other thoughts?

Participant 8: Portability.

Elias: Portability.

Participant 9: It's on stilts.

Elias: Yes. It's on stilts. Definitely.

Participant 10: Uniqueness.

Elias: Uniqueness. It's a very unique design, isn't it? I think it's lovely. Other thoughts about it?

Participant 11: Beauty.

Elias: There's beauty, yes. They took time to think about. It could have been a very utilitarian design, but they wanted to make it beautiful. So if you think about what are some digital equivalents of this, I think about some apps that I've used like Calm or Headspace. Those are great examples of things where every detail is for a purpose. You can tell that the creators of those apps took a lot of pride and care in what they were constructing for the user. That's another example.

Here's a picture. If you have been attending this track, you might think about Sri's presentation about parks. This is a park and what do you think about the people involved with this space and what kind of things are communicated by this space?

Participant 12: Forgotten.

Elias: It's forgotten. Yes, neglected. It has all the right pieces. All the right pieces are there. It functionally is a playground and some very determined youngsters could probably play here. But it is also communicating certain things about the people that are in charge of it; whatever agency or department hasn't made this a priority. It's very clearly communicated.

In thinking about that and thinking about, okay, digital spaces, you've probably used some APIs that maybe felt like this. Maybe you've got some dependencies in your applications that maybe are like this. You look at the commit graph and maybe it hasn't been touched since 2010 or something. And it's still got all the pieces, but there are security vulnerabilities and there are other things. So the people involved are giving you some insight or communicating some things to you.

Here's another example. This one took me a while to figure out, but this is a clock. And this clock is cool because it glows in the dark. But there's something missing. It's really cool that this clock glows in the dark, but they missed something. So in missing that, what does that tell you about the people that made it? What does it tell you about the clock? What is this communicating to you?

Participant 13: They like to work during the day.

Elias: Yes. They made a cool clock that works great in the day.

Participant 14: They had a cool new tool to play with.

Elias: Yes. Yes. They had a cool thing. And they just tossed it onto their product and like, "Hey, we've got a great clock. Wouldn't it be cool if it were glow in the dark?"

Participant 15: Thinking of practical jokers.

Elias: Practical jokers, maybe. Yes.

Participant 16: Yes, they were trolling.

Elias: Yes. Maybe they were trolling. Yes, it's true.

Participant 17: Or it wasn't really tested.

Elias: Yes, it wasn't really tested. They didn't take into account how people would actually use their product. They had a list of features that they wanted to get in, but they didn't actually test it out. So there are probably some digital equivalents that you can think of, maybe apps or maybe uses of algorithms where it's like, "Okay. This is really cool. We've got this cool new tool," or, "We've got this cool new process. Everybody says we should be using the Blockchain. We've got to use the Blockchain,” or whatever it is. We've got to use this cool thing that everybody's using, but does it really work? Do you have the right pieces in place? You learn something about their process, too. It's very clear that testing it in the dark was not part of their process.

How Do We Build a Better, Happier Future?

So all of these are examples of ways that we can engage with this question. How do you and I engage with building a better and happier future? That's one way of saying, "How do we avoid a tech dystopia?" That's something I think we all agree would be a bad thing. That's something that it takes conscious effort to not drift toward that.

Now that I've talked to you for a while, I'm going to tell you a little bit about myself. So my name is Isaac Elias. I'm the VP of engineering at True Link Financial. Here are a couple of fun pictures of our team. We have a good time. We're a group of fun-loving people that try as much as we can to not let working in finance make us boring. So that's us. And a little bit about True Link Financial and how True Link Financial fits into this idea of building products with love and care. True Link Financial, we serve many different groups, but we focus specifically on older adults and their financial needs, people with special needs and their families, whether they have specific needs, as well as people who are recovering from addiction.

If you think about how finance can be really difficult for people in these situations and how they oftentimes need help and support from their communities and how we can build financial tools that really help them and really make a huge difference, because if you think about larger banks and if you go into a large bank and you say, "Hey, I need some tools to help out with my father who has Alzheimer's," they might look at you and be like, "Well, do you want a checking account or do you want a savings account?" That's all they've got. But the tools needed to help prevent fraud, to help them to have maximum independence, that's the type of thing that we do. So as we do that, we have to think very carefully about all the different use cases. We have to think very carefully about the technology that we choose.

That's helped me to form a way of thinking about these different problems and products as a VP of engineering. One thing that we love to show off is our customer support satisfaction scores. So this is kind of just to say, we, I think, are doing a really good job of this. The potential investors, they honestly will tell our co-founders, "Are you guys lying? You really have to be sure that this is actually true if you're going to put up numbers like this." And it's actually true. Not to hype it up too much, but I will- this is from the people who have had to call customer service. People that had to call customer service to get a problem fixed will then give us these scores. And all the people that haven't called customer service, you would imagine, have at least this good an impression of us. The products that we build do what they do really well, and our customer support folks are really great.

How did we do this? How did we start with a very small team and build a financial services company that serves these really difficult situations and do it at such a high degree of excellence? I believe that we've always kept in mind who we're serving. Our co-founders, when they built the company, they had in mind their own grandparents. They wanted to build something that would benefit the people that they loved.

The Five Love Languages

And so I wanted to bring some of the learnings that I've had just in life and apply that to product. So here's the five love languages, as originally created by Gary Chapman, and adapt that toward product. Here you see the five different love languages and we'll talk through each of them. Some you've got to twist it a little bit to make it apply to technology, but we'll check that out.

But before we get to those, I want to touch on something that's really important. Something that I think this track has done a good job of explaining well, is that we can't mistake customer obsession with love. Being obsessed with the customer isn't the same thing. There are things that you can do. I use the example of romcoms. Romcoms show that people can be obsessed and people can put a lot of effort into winning somebody over, but I wouldn't call it love. It's borderline stalking a lot of times.

So principles that can help you to not cross over from, "Oh, I really want to help and serve this person," to crossing over into creepy stalkerville. Always, you should think about treating people like people, and not like objects or targets. When you think about creating a feature and you think about some of those earlier examples of, okay, here's a casino. And we're making these people very comfortable and we're giving them things that we believe they want, but for what purpose and to what end?

Another thing is- another shout out to Danielle with seeking consent and transparency. How do you always make sure that somebody is opting in to the things that you are designing for them? And another thing that helps me think about this is that as I've thought about this topic and read different things, bell hooks gives some great principles to keep in mind, is that love is linked to freedom, that you should have respect for what people are trying to do with their lives. Your tools should engage with helping them to do what they want to do, and not be solely linked to what you want them to do. So that's important for products. You can also use that for your every-day lives. Parenting, too. I have three kids and this is something that I keep in mind all the time. There are things that I want, but also I have to have respect for the agency and the self-determination of those that I love.

Words of Affirmation

Now that we've gotten good and philosophical, let's talk about technology and products. So one of the love languages that a lot of people respond to is words of affirmation. Take a second and think, "Okay. There are words that make up my product. What types of words are people getting from my products, from my documentation, from the error messages that they get?" Here's an example of some words of affirmation that just make me happy all the time. When you're booting up Slack, they could put just about anything up, but they put up things like this. "Have a great day at work today." And that's really cool, but then they give you the ability to add your own custom messages, your own custom affirmations, your own custom-like greetings, which I think is, of all the things that a company like Slack could be doing, they put effort into little delightful things like this. And so think about your products, your services. How can you introduce little moments where a customer will just say, "Man, these are really nice, really thoughtful people building these products for me." How can you do that?

Here's another example that I found. I don't know if this is still that way, but Twitter for a while had some really great validation text, where they're giving you some affirmation on the first form. "The name looks great." How do they know it's great? Do they have some kind of ranking system where some of them aren't great? No, I think they probably just tell everybody it's great. But even when there's not a valid email, they could just say, "Invalid." They could tell you, "You screwed that up. It's invalid," but they used some softer kinder language, didn't they? They said, "It doesn't look like a valid email." That's a nice choice.

Then they tell you your password is okay, which is kind of implying that you can make it better. And then they put some helpful text around the username, to not worry. You can change it later. So they're telling you something very functional, but they're using a positive framing, a nice way to say it. That's a good example of words of affirmation.

So, once again, think about how you can choose the words and the text and the instructions in your products and in your services to affirm people, to help build them up, and to show them that you care about them as a person and not just like, "Okay. Here's the instructions. Here's the functional things you need to know." How can you put a little bit more humanity and love and care into what you're building?

Physical Touch

The next thing: physical touch, that's not going to apply to most of those, but there are some ways that we engage with people that can get really to the core of who they are. One is their data. How you engage with people's data, that is kind of their digital persona. Also, notifications. Think very carefully about how you're going to show up on somebody's lock screen or show up on somebody's watch, get that little tap-tap on their wrist. Each of us should be very careful and thoughtful about how we use the permissions that we're given.

Here's an example that I found of an app that seemed to not be doing a great job. So here's Duolingo. They were sending out notifications basically every day at about 4:00 p.m. and saying, "Hey, you need to work on this." That really turned people off. "Okay. You're telling me that I'm messing up and you're giving me these notifications every day. And when I tap this notification, it doesn't do anything helpful. It just opens up the app." So think about what are some ways that you could engage in a different way, in a more helpful way? And think about, "Oh, can I very easily turn these off? Are these notifications easy to turn off?" So these are all kind of thought experiments for, “Okay, how can I be more careful, be more respectful in how I am providing notifications?”

Another example, a better example, Apple has, in a lot of ways, made privacy a huge selling point on a lot of their services and a lot of their products when they go to war with the FBI and say, "We're not going to unlock this person's phone." And when they decide to do that, they are showing their customers what's important to them. They're saying, "We draw a hard line and say, 'We are going to advocate for you and nobody's going to make us move,'" which is a pretty cool thing for a company to say. Also, in challenging their peers, other companies then have to step up and say, "Well, we'll do that too," or maybe they don't. Maybe they say, "Well, if the FBI comes calling, sorry. We're going to turn over your data to them." So think about that in the things that you're building and the way that you're engaging with data. And think about the different partnerships that you're involved in building.

With a lot of these things, you may have these thoughts of, "Well, these decisions are made much above my head." But as we've seen with things like last week with Google's walkout, each of us has power. Each of us has a voice that we can lend in speaking up and saying, "Hey, I don't think this is right," or, "Hey, if everybody knew about this, they probably wouldn't be okay with it." So another example of when a company probably didn't have bad intentions, but it definitely had some unintended consequences, Strava released a heat map, which is a cool idea that somebody had. Somebody said, "Hey, we're going to take all this data about where people are working out and we're going to create a heat map and we're going to show where people are doing their workouts."

What they did is they inadvertently showed off the secret locations of bases that U.S. military members were at, which is not good. That's bad enough. But then, the way that they exposed the data was such that you could then take those heat maps and extract from that data who had been stationed there, which is even worse. So it's an idea where they released a product that seemed like a cool idea, that showed kind of the vastness of their data, which is kind of a cool flex, say like, "Hey, we've got all these millions of workouts or whatever." But they put their users' safety and security as a secondary consideration. And that's something that each of us probably never wants to grapple with, giving that impression to our users that, "Oh, your safety and security is secondary." So think about that as different things, different products, or different integrations come across your team, like, "Okay. How could this be used in ways that would harm my users?" And Kat gave a great talk about thinking about that just a little bit ago.

Acts of Service

Another love language is acts of service. So service is kind of the way that I look at a lot of the software that we write, and a lot of the things that we work on is how we create value, is that somebody needs something done. We can create services or we can create code that gets it done. And that's really why people pay us to do what we do. So there are different ways that you can show people that you care.

One thing that I've always appreciated, one of the first APIs that I ever worked with, and sorry if you can't read that, but this is an example from Stripe's API Documentation. So Stripe's API Documentation is so excellent because they make it super easy to pick along the top which language you're using and they'll even do things like put your API keys into the copy-pastable example. You can just copy it, paste it into your terminal, and it will work. So that's an example of like, "Oh, we could just provide you with generic documentation examples."

But what they did was they took it to the next step and said, "Hey, we're going to make it easy to choose a language. We're going to make this page dynamic. Pick your language. And we're going to provide you with real examples that will work with your API in it." And so they took some of the complexity of getting up and running using their API and they made it super easy, which I really respect and I think is a great example for all of us, that if you are writing in documentation or if you are creating a basic how to use my library. Or, here's an example; if you're making a boilerplate example of using your library, what does it look like and how easy is it to use?

Another example of complexity and helping your customers to get past it. This is a graph that takes a little bit of explanation, but this is one of the things that I'm really proud to look at. So I've been with True Link Financial since around June of 2015. So that would be the first tick mark there. And this is a chart that shows our daily telephone calls that we get to our support line. So the blue line is daily support calls. That line, as we've increased users, has gone up and up and up. And people need help with all sorts of different things. But because of the cleverness of our product managers and because of the hard work of our engineering team, we have kept the red line, which represents people actually talking to humans, pretty low.

Now, when I was going through this talk with other folks, they were like, "Oh, well, I hate it when I want to talk to a human, but I can't." And I thought about that. I'm like, "Well, if you needed to talk to a human, you probably would just hold on and still talk to a human.” We would see the red line go up, except people would just be more angry because they had to wait longer. But the fact that the red line stays constant and people are actually able to complete the task and get the thing done that they needed to get done is really us building a really robust phone system where you can call in, get your balance. You can call and make a transfer. You can call and find out information about your bank account, you can get that information really in a simple way where if you had to navigate a very complex phone tree, you wouldn't put up with it. You'd just hit zero to go to a representative.

So the fact that we've been able to keep the times when we have to connect to a representative down pretty low means that we are doing a couple of things. We are making sure that the phone tree works and works well. We are making sure that our good friends in the customer support team aren't overloaded and feeling stressed out about all the calls that they have to take all the time. So there, we're serving both customers really well and it's something that I'm really excited about. So we build software that helps to manage complexity and give people the things that they need. We're doing an act of service.

Receiving Gifts

The next thing is around receiving gifts. Well, basically, if you're human, you like to receive gifts. And so thinking about what people want and trying to come up with ways to give them what they want before they even ask it is a pretty cool thing that we can do. There are different tools that you can use from a software point of view, where you analyze people's usage patterns and you say, "Okay. What are people most trying to do? What's taking people the longest?" And trying to make their lives easier. So there was a thing that when I was using GitHub, I always wished, "Man, it's pretty tough when I push a branch and I'm going to make a pull request," I was sort of like, "Man, okay. I've got to go to the site. I've got to navigate to the pull request screen, but there wasn't a button there. And so I've got to go to the branch. And I've got to find the button to create a pull request." So it was kind of a complicated thing.

But then, I saw something really cool. I don't know when this shipped, but it's a very cool thing where they put this little URL there. And so when I'm in my text editor, I can CMD+click on this little link there and it will make a pull request for me. I saw that and I was like, "That's amazing." It's something I never even asked for. I never even said, "Hey, make a pull request. It takes me eight seconds, but I wish it took me two." But they put it in there. And I was like, "They gave me this nice little gift." I made such a fuss about it to my engineering team. They were like, "Bro, you're so lazy." But I was super excited. So if you didn't know about that, now you know. And it was just the thing that showed up. I don't know how much work it takes to put that little message after the push, but it was a nice little thing that they did. And I really appreciate it. And so that's an example of something where somebody found that, decided to make it, and it really made my day.

Quality Time

Another one of the love languages is around quality time. Being present is something that humans really appreciate and is a way to show love and concern. One thing that they teach in some startup schools and Y Combinator especially is that you should get out of the building. If you want to know what your customers want, you've got to get out of the building. You can't sit inside the building and just think about them. You've got to actually engage with them. So there are different ways that you can do that. One thing that we do at True Link Financial is our product folks and a lot of our different teams will go to conferences. They engage with our customers and they have these listening sessions. It's wonderful and so they are really in tune with, “Okay, what features are most important? What are some partnerships we should look at doing?” They are really in tune with what our customers want.

Another way to do it, and this is an example of where, as engineers, it's really great when you can look at what other people inside your company are doing. Go sit by the folks who are working the phones and doing customer support, or if it's people doing email support, maybe go sit with them and see what questions they're getting most often. What things are people asking for? So sit with folks, see what their workflow is like, and you'll be in a good place to show them appreciation and create things that are going to make their lives easier. Tide-alongs are a huge tool that we utilize that really helps us to help optimize people's workflows and create things.

There was this thing that I did that, for me, was not that big of a deal, but some of our customer support folks used to have to copy and paste addresses and copy and paste email addresses a lot. And when you're copying and pasting using a mouse, it sometimes gets messy. And I said, "Oh, well, you can put a little button there that will just copy it, just a little copy to clipboard. That's an easy thing." And they were like, "You can do that?" I'm like, "Yes, I can do that." That was just such a game changer and they loved it. That was when I was pretty early at the company and people thought I was a wizard. It was super great.

So yes, just little things like that, that if I hadn't been there watching them do their work, I would have never known. And they would have never thought to ask for that, "Oh, can you put a copy to clipboard button there?" When those things come together, really cool things happen. So that's being present. Being present is really worth a ton when it comes to showing people that you care and you love them and you want to make their workflow and make their days better.

Often, like I said, you might think, "I'm just one person," but each of us has power to advocate for the type of future that we want to see. You want to see a better and happier future. So think about that. Think about, "How can I communicate to the people, using the things that I build, my love and concern for them?" We all have our own sphere to work in. My wish for each of you is that you can utilize your power, utilize your skills to show people how much you care. This is one of my favorite quotes from "The Last Jedi", that that's how we're going to win. We could have spent a lot more time talking about dark patterns that we've seen. But really, the best way is to think about the type of amazing future that we all want to build, and we can all work toward getting there.


See more presentations with transcripts


Recorded at:

Mar 01, 2019

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p


Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.