Hi I'm James. And I'm Anthony. And this is Words and Numbers. How are you doing, Ant? I'm doing well, James. What do you know? Actually, before we get started, I should tell people that if you're interested in any of the things we talk about today, be sure to click on the top right hand portion of the screen. You'll see a little I there. And if you click through, you'll find some of our sources and our data. But today, the sources and data are going to be about all kinds of stuff, right? Creative destruction and automobiles and horses and buggies, all these good things. And I kind of got started thinking about this just recently. When I went out and I bought a car, and you know, it's been a lot of years since I've bought one, probably 10 or so. And I thought to myself as I was buying the car, this is probably the last car I'll ever buy that I drive. Right. And then I started to think, you know, this might actually be the last car I ever buy. And that leads us to some pretty, it leads us to some pretty interesting things to talk about today, doesn't it? Am I ever going to own a car again? Yeah, that's a good question. I don't know. I would go so far as to say you might, you might own one more. But I think that's it. I think what we're going to see, I mean, if you look around, one of the things that the economists like to look for is is idle capital, you know, stuff that people have invested lots of money in that sits around not doing anything. Because if you can find some idle capital, and then figure out how to make it not idle, all of a sudden you get more productivity without investing any more money. And cars are an interesting example of that. Yeah, right. Very few things that I own cost more and are useless. Right. So the average number is people, people use their cars about 5% of the time that they own them. 95% of the time that asset is sitting there doing nothing. Yeah, that comports pretty well with what I observe on a day to day basis, right. But when you think about it, this idea that A, I might not own cars at all, or B, and somewhat before that, I might never drive a car again, it kind of points us to the role that technology plays below the surface on a day to day basis in our lives, right. Because maybe the biggest change in in American even world life in the last 100 years or so was the switch from horses and buggies to automobiles. Right. If you think about all the things that came along with that, all the other secondary things that were changed and impacted, it's really quite something when you think about it. And we might be poised for that kind of change again. Yeah, and I don't think people understand the magnitude of that change.  But there are tens of thousands of jobs associated with that, right. It's not just the people who breed the horses or care for the horses. It's the people who make the leather equipment. It's the the people who shoe the horses. It's the guy down to the street sweepers who sweep up after them, right. In fact, in New York City, there was an entire, you know, set of jobs for people who would come along and pick up the dead horse carcasses from the street and get rid of them, right. All these jobs completely gone with the with the advent of the automobile.  Turns out no. No, apparently not. And I don't know how these things go. But at least looking at old pictures, I never see a license plate or a VIN number stamped on the horse. So if your horse dies, nobody's looking, you just walk away, right. Who's going to know that it was your horse? Right, abandoning a horse carcass. That's just fantastic. But you know, when we think about it, this is the great quintessential example, right. But as I thought about this sort of thing the other day, there are all kinds of other ones, smaller ones, you know, and I was I was led to remember how ubiquitous blockbuster video was once upon a time. Right. Now, absolutely gone. There were 9000 blockbuster stores. 9000. Crazy, right? And then as as if by magic overnight, utterly replaced by things like streaming services and red box. And you think about this a little more. And there was an entire industry devoted to the repairing of typewriters. Yes, well, obviously, those guys are all out of work now. Photo developing shops. People young people won't remember this. But there was a photo developing hut in every parking lot of every shopping center in the United States once upon a time.  Right. And when you think it through, right, these things all disappeared for perfectly good reasons. They became unnecessary. People didn't want them. I mean, you could still get photos developed, but not to the degree that it once was. There are still places you can go and rent a DVD family video comes to mind pretty quickly. But there there are a drop in the bucket compared to what once was available, right? Technology comes changes things and we adapt. And in the bargain, we're actually happier and better off for it. One of my great, one of my favorite examples is travel agents.   Orbit really? Well, whatever it is you use, right? I'm a Southwest. I kind of booked.  I direct, I book directly with the airline. Right. But you know, but this is, this is happening right now in the news. One of the big things going on is retailers across the country are shutting down retail stores. And what's going on largely a lot of people, myself included, will go to the retail store to look and see to pick up the product I'm thinking about buying. But when I'm ready to buy, I don't buy from the retailer, I buy from Amazon or eBay. Yeah, no, I do exactly the same thing. And retailers are really feeling the pinch. And you start to wonder what's going to go into those spaces that the retailers are walking out of, right? They're not all going to be restaurants and bars. But they will be something. And that's going to be interesting. But, you know, when we think about these things, typically our mind goes to the latest thing, right? And the latest thing is, is Uber and the disruption that that's had on taxi cab services in city after city across the United States. And what do you see, right? You see local governments coming down hard on Uber and Airbnb fits here too, in order to protect, to protect industries that pre exist Uber. And what does that mean? Well, that means they're protecting their friends who they've regulated and given medallions to and permission and on and on and on. But now we're at the very strange place in time, where even Uber is likely to be destroyed in its current incarnation, right? Because if driverless cars hit the road and Uber's got them on the streets of several American cities already. When driverless cars hit the road through Uber, Uber has itself undermined its own business model, right? Yeah. And it goes even further than that. It's not just it's not just Uber, you're going to see changes in how car loans are made because fewer people are going to need cars. They'll just be out there and when you need one, you summon it and it comes. So there's going to be fewer car loans, there's going to be people building houses without garages, for example. Yeah. No, right now, I mean, I don't think people realize this, but automobile loans are the third biggest kind of loan in the banking industry in the United States right now, after mortgages and student loans. So the entire banking industry is likely to be upended in some meaningful way when we all stop purchasing cars. But then it goes further than that, because once we're all in self-driving cars, DUI laws, for example, become kind of superfluous, right? And it's not just a DUI laws, but think about it, there are industries of legal services, social services, and law enforcement that have all grown up around the existence of those laws. And all of a sudden, all those jobs are going to start to disappear. Yeah, that's right. And I think that's one of the salutary benefits of a driverless society. There will be no more problems brought about by drivers. Not to say there won't be problems, there will be, but they won't be brought about by drivers. Yeah, I agree with you, but I'll make a prediction as to how this is going to go down, going back to your point about how government protects the businesses that are there now. What's going to happen is with the driverless car, there's going to be far fewer DUIs, and so all of a sudden you're going to get police out of work. We don't need as many as we did before, the social workers out, the lawyers are losing clients, all of this. So I guarantee you, what's going to happen is going to come in the name of public safety. The law is going to require that the person who's in the car, not driving it, just sitting there, this is a self-driving car, the person who's in the car may not have a blood alcohol above the DUI level. Why? Because it might happen that the person would be required to take control of the car. Now, that we can see right now, 20 years from now, that's no longer the case. The technology will be so advanced that the driver won't be able to take control, and yet I guarantee you that there'll be pressure for that law to remain just to protect those jobs. I'm actually more interested for obvious reasons in thinking about all the benefits here, right? Thinking about not having to find parking in a major American city, right? Never having to wait in a traffic jam. I'd rather think about these things because my mind typically goes that way when I think about technological advance, but I think ultimately and sadly, you're right. Government will find a way to keep its thumb on the scales here, and it will likely make things worse rather than better. And it's able to do that because we can all point to the jobs that we're going to lose. I just made a prediction of three. I know I'm right. Three industries are going to lose significant numbers of jobs because of driverless cars. We can see the jobs that are going to disappear. What we can't see are the jobs that are going to appear because of the new technology. And those jobs are going to be better. They're going to be more numerous. They're going to be more lucrative than the jobs that disappear. The difference between them is we can't anticipate what they are because we can't anticipate how entrepreneurs are going to find interesting ways to use the new technology. If you want an example, go back to the era of the horse when the automobile was first invented and ask someone to imagine all of the businesses that will arise because of the replacement of the horse with the car.  It's just completely foreign. And yet look at all the teenagers we employ to work the windows through drive in McDonald's simply because of the car. Right. And if we can't, and this is what people should remember, if we can't legitimately predict what will happen, government regulators can't either. That's absolutely right. And so when we ask them to regulate to protect these jobs, we're literally asking them to do something that they are completely incompetent to do. Not because they're dumb, but because it's just not possible. And on that happy note, that's all we've got time for today. Thanks for watching this episode of Words and Numbers. And feel free to leave a comment or God help me. Click the subscribe button below. Come on back every Wednesday at about noon, give or take, because you know how these things go for a brand new episode. I'll see you next week. Can't have a good one. See you next week, James.


I was always a maker and a tinkerer. When I was at the Media Lab, I started exploring this idea of how to put the power of engineers in the hands of artists and designers. A few years ago, I started developing little bits. Little bits are electronic modules with each one specific function. Light, sound, motors, and sensors. Cloudbit is a very tiny little Linux computer, and the cloud platform itself leverages a variety of tools. Our open source developer API is available for anybody to use, and you can write your apps on any platform. And we've seen really great projects from developers working on Microsoft Azure. Our schematics and board layouts are all open source. We have a public GitHub repo that you can go in and see all our designs. This is really great, especially for educators who want to expose their students to what's going on underneath the hood. We held a steam summer camp at the Microsoft flagship store. It was a great way for kids to come and learn about little bits and be inspired by the things that you could do with science, technology, engineering, art, and math. The Little Bits community started out with people posting their inventions online, and now we have 315 worldwide community chapters and 60 school chapters. People have posted 3,000 inventions to our website and even people sending in new bit ideas. We're all about fun and being creative, and kind of hidden behind that is the fact that you're actually learning. We want to encourage a world of creators, of inventors, of contributors because this world that we live in, this interactive world is ours. So go ahead and start inventing.


What's up, cutie gang? It's me, Girain, and you are watching Artifacts, the cool stories behind the cool stuff here I can't take dream. And today's item is... Oh my god, dang! What is that? Have you ever seen that before? Yes, you have. It's a poster. But what is so special with this poster? Well, it's a collector poster, especially printed for the Comic-Con San Diego in 2019. For those who don't know, Comic-Con is a massive convention. Well, thousands of people congregate to celebrate pop culture. You know that type of big event that used to exist like 50 years ago? Or maybe the last one was in 2019. I don't know, it was a very long year. And it's been signed by the cast. There you have the wonderful Amelia Rose Blair, but also Pascal Langdale, the legendary Brian Deckert, and last but not least, me in the role of Marcus. Or maybe I'm lying because this person is way more handsome than I am and his name is Jesse Williams. And as you can see, even I've found that David Cage signed it right here. Fun fact, the 2019 Comic-Con in San Diego was the first time Jesse Williams and Brian Deckert met in real life. So you're going to tell me thank you, Giraffe, for literally just describing exactly what was in this poster. But wait a minute, there's a twist. You thought this artifact was a unique piece? No! I have a secret stash of them. And you know what? I have a marker and I'm going to sign them. Or maybe I should not sign them and make sure we give them away for you. That sounds way better. If you like the idea, leave a comment down below. And we'll see what we can do. See you next time. Kisses again.


The Adventures of Frank Race, starring Tom Collins. The war changed many things, the face of the earth and the people on it. Before the war, Frank Race worked as an attorney, but he traded his law books for the cloak and dagger of the OSS. And when it was over, his former life was over too. Adventure had become his business. The Adventures of Frank Race. Race for the adventure of three on a mat. A rainy night in Bordeaux. It was late, and the chill had become his insistence of the tone of a nagging woman. But I didn't care. It was only a few seconds from the bar debris, the hostel of Goodlicker and interesting patrons. Here I was to meet Mark Donovan, and I stopped just short of a door. Someone was running toward me. I caught the figures of two men. One of them had been hit. He lurched into my arms. Let me go! Let me go! Here, let me help you. Come on, we better get inside the bar, Race. Mark, will you have people like Kidman? It's Charles Borden, your prop, and our Borden is Frank Race. Hello, Race. How badly you hurt? If I could just sit down. Here is a table, Race, but a wall. Well, that tears it. What's the matter? They followed us in here. Come on, just ease yourself into this chair. Where are they? They are the three guys in the game with a gun in their hand. Do you remember Bergman and Intermezzo?  Well, here was another one. The same honey-colored look, same expression about the eyes. A kind of woman to turn a man wistful and introspective. And she stood at the end of a bar with a gun in her hand. Some girl, all right. Who is she? I don't know. Well, looks like we're going to find out. She's coming over here. What about that wound, Borden? Well, there's some pain, but I think I'm going to be all right. Could I have a cigarette? You're going to need a doctor. He'll get you to one of us and you'll have a rest. Here's a light. How would you take a light off that tooth? Three on one match. Are you superstitious? Only that it may burn my fingers. Here you are. Thank you. Would you mind if I sat down? Well, obviously you're an exponent of the fate of complete. My name is Mariva Tell. It is my intention to take this man out of here. But why? What do you have against me? As if you did not know. Why don't you put that pistol away? You're not going to alarm people into calling the police. I'm not afraid of the police. I don't imagine you're afraid of anything. But strong arm methods aren't going to get you anything here. Borden's been hurt. I'm going to see to it that he gets to a doctor without interference. I have three men with me. Each of them is thoroughly capable at this sort of thing. I shall give you about 30 seconds to decide. But you should be sensible. She made every word she said. I couldn't let her take Borden. The gun she'd laid on the table was the only weapon she showed. And I sensed that this was the instant to make a plan. I shifted my hands to the underside of the table and peed. Borden! Get out of here! Raise the gun! Watch it! Come on. It's better. It's about time you come out of it. Well, I had my choice and just as soon as not. You've got a nasty cloud on the sconce. How do you feel? I'm like a dying duck in a thunderstorm. What happened to Borden? Well, even tonight he got away. You started quite a pranagan, you know? Yo! It seems so every guy in the joint took it as a voice no signal to start slugging the guy next to him. Where are we now? In the back room of the joint. I give the Gentimes quite a pitch about being innocent sightseeing Americans, so they don't know all they're seeing. Want to get up? I think it better. Give me a pull. Head pretty bad, huh? You know, I've had gear more care for you, Mom. But I've got to get something straight, Marcus. So I'm going to try concentrating. What did you locate, Borden? One of them hotels on the list. The guy is scared, Ray. That's why I left a metro pole without no forward in the address. But he was willing to come and see me? Well, I told him who you was, and it'd act me in tenderness. It sent you over. He got down right eager. When will you jump with that girl and her boyfriends? I don't know. Three or four blocks from here. You know, I still don't get the reason for it. Do you? I have the slightest idea, Mark. But I'm going to do my best to find out. George Shields, Paris representative of the Acme and Davenport Company, looks startled when I told him when I dropped into his office. Why, for Pete's sake, Ray, do you mean that you don't know the story behind this affair? When Dan Carlson called me for the case, I'd been in New York just two hours after a flight from Trinidad. I don't know. He said I'd get the load on from Borden. If Borden is coherent enough to give it to you, he was treasurer for the fund. What fund? European Children's Relief. Better than half a million pounds. You see, Borden had turned it over to a committee of three in London. The Countess d'Artois, Gilbert Evans, the diplomat and Phil Gaynor, the American broker. Who was to know that Gaynor had just gone broke and would embezzle the money? He produced the signatures of D'Artois and Evans for the fund. Signed it himself, and that was that. That's particularly pathetic because of the crop failures throughout the country. The kids are going to be in desperate need of that relief fund. Do you know of a woman by the name of Marie Vartell? No, should I? In one way, yes, but probably better off the way you are. I'm going to Bordeaux and look for her. Marie Vartell, huh? So you would like to know who she is, monsieur? Why? She's very beautiful. Does it seem unreasonable that a man should seek information about her? Marie Vartell, no. Monsieur, men used to pray by that name in this country. Ah, then she must have been with the underground during the occupation. In Bordeaux, monsieur, Marie Vartell was the unequaled. Well, tell me, who can I find her? If I try to tell you that, I would be wasting your time. I do not know, monsieur. It was the same way in other places. Many knew of Marie Vartell. None would say where she could be found. But finally, at the expense of 50 American dollars, I got the lead I wanted. It is you. It occurred to me, Miss Vartell, that I didn't think to mention my name the other night. Oh, your flame mentioned it during the fight. Mentioned it at the top of his voice. Your cold rays. You don't seem at all surprised to see me. I gave up being surprised every year ago. Well, won't you come in? Thank you. Marie Vartell. You must have been a pretty youthful member of the underground. I was 17. You've been asking questions. People talk because they seem fond of him. What did you want, Reyes? What made you shoot Charles Borden? What made me sh... You're loving at me. I'm completely serious. The next time I see him, Reyes, I intend to kill him. But why? Tell me why? Borden has been custodian of a fund subscribed by the people of your country for the children of Europe. He reported that it had been embezzled. The equivalent of two million of your dollars. Two million dollars intended for children. We fought for things like that during the war race. And I have information that Charles Borden has that money himself. In cash. It all shaped up as pretty much of a puzzle. My job was to get back that money. For the sake of Acme and Demnerty and the kids of Western Europe. So I felt I was getting a definite break when Borden called me that afternoon. I've tried several times to get in touch with you, Reyes. I've been in Paris. How are you feeling? More of a physician. Borden, we haven't had a chance to talk, but I wish you'd tell me if you know anything concerning the whereabouts of that money. Why, it's a London race. I sent it to my brother there. You... But I thought the money had been stolen. It was stolen, but I got it back. Look, Borden, I seem to be all mixed up about all this business. I'd better see you and talk to you. Sooner the better, Reyes. I'd like to share my worries with you. And perhaps my safety. He gave me the address of a hotel nearby, and I went there at once. I found him in a dressing gown. He's left arm in a sling. I've got something new to fret about now. I have a feeling that someone listened in on our phone conversation just now. That could be rough on my brother. What about your brother? Well, he's Dr. Jonathan Borden. Perhaps you've heard of him. Yes, the literary authority. Yeah, that's right. You see, he's in London doing a work on the life of Charles Dickens. I sent him the money simply because I had to get it off my hands. Borden, would you mind briefing me on something? If the money was embezzled, how did you happen to have it? Through a fluke. You see, I'd been suspicious of Phil Gaynor. When he made his move, I was right behind him. I happened to catch up with him in a hotel room in Lyon.  Gaynor had stepped out, so I just carried the bag away. It's been like having a time bomb in your possession. All right. What do you want me to do? Race, six attempts on my life have been made in the past four days. I realize now that I may have placed Jonathan in the same position. He isn't well. He's with the Marines in the South Pacific and he suffered wounds that left his heart in pretty bad shape. I wish you'd go to London and take over. I'm worried about Jonathan. In London, I found Dr. Jonathan Borden in the midst of a puzzled mood and an upset flat. He stared at me when I mentioned the money. Half a million pounds. Then that explains this very cryptic note I received from Charles. Here, listen to what he wrote. I'm sending you the money in charge of Doty for heaven's sake, take good care of it. What would he mean by that? I haven't received any money and why would he do a thing like that? Why don't he just turn it over to the French police? I'm afraid your brother isn't in what we like to term a normal state of mind. Oh? He's been attacked and harassed continually for several days. He's been under drugs for a gunshot wound. Oh yes, yes. I realize he's in trouble. That's why I'm packing to go to France and I'd like you to go with me, Mr. Race. Dr. Borden and I reached Bordeaux late that night. There was no rain, but the city lay soggy in the grip of a heavy fog that had drifted in from the Atlantic. We went straight to Charles Borden's hotel. Funny. He doesn't answer. Was he usually a heavy sleeper? Well, not as a rule, but if he's been receiving drugs... Let's try the door. Well, he's asleep all right, but... I caught the impact of it at the same time. It was in the twist of Charles Borden's head in the grotesque stretch of his body beneath the bedding. Charles Borden was dead. Someone had cut his throat. We'll return to the adventures of Frank Race in just about one minute. Back to the adventures of Frank Race. Looking at what was left of Charles Borden suddenly left me weary and depressed. A man I'd been trying to protect, murdered. Whatever the reasons, this was one kaleidoscope of crime that assumed too many shapes for me. I needed straightening out on it. So I... went back to the offices of the Acme Indemnity in Paris and caught George Shields in the verge of taking a client to lunch. You know Gilbert Evans, don't you, Race? Never met, but I remember the name. You served on the committee of the Children's Welfare Fund, didn't you, Mr. Evans? That's right. A very unfortunate business. I cannot be curious about something, Mr. Evans. How was it that Field Gainer was able to persuade you to sign that welfare fund check with such a large amount? Anything. My name on that check was a downright forgery. I see. And how about the Countess d'Artois? Was her signature a forgery, too? Well, that I can't say. You might ask her. Emily Countess d'Artois. She came down to greet me and fill me something as it looked as though it might decide to stop clinging at any moment. She was quite a dish and well aware of it. I'm told you came to see me about Field Gainer. That's right. Do you know Field? Not at all, but I'm doing my best to remedy the situation. You're an American. Yes.  You'll do in any language.  Did Gainer forge your name on that check, too? No. No, I signed it. I thought Field was all right then. Is it important? Frankly, I don't know. You ask a question here and there, and possibly you learn something. Or it may be a waste of time.  Well, that sounds like something we should drink, too. What would you like? I'd say this atmosphere calls for absence. Come on. Compliment it. I think I'll have to say it. She had plenty of firepower and the effect wasn't what you'd call unpleasant. The way she manipulated that figure had me making metal passes until the absence turned me into the physical type, at which point I reached for the woman. At the time I let go, in spite of the absence, I had this girl pretty well tapped. It was a surface that simmered, but with a core that operated at 32 degrees Fahrenheit. Why do you look at me like that? I'm trying to figure an angle. It's an at-erase, suffering from an inferiority complex. No, it's not a threat about me. I've been a market before and had buyers. But you know...  I could like you a lot. From my point of view, I could like you a lot. For myself alone? Have another drink, darling. You'll be happier without those suspicions. Maybe you're right. I guess we can have fun without being soulmates for a while anyway. You wouldn't feel again, or weren't you rather fond of each other? Should I say yes? What do you take me for?  Careful, Countess. Your past is showing. I suppose you can take him and leave him. Yeah. Same way I feel about you. I don't think I'm going to be too badly good.  It was almost as soon as I left her place that I got the feeling of being tailed. I went for a couple of blocks, and then as I was about to cross an intersection, a cab swung to a stop at the curb in front of him. You've had enough time for schooling.  Don't try being clever. Unless you want to start out with a split in your skull. He had no sense of humor. And since this condition went with a pair of eyes like lead pellets, I repressed and imposed to be flipped. Besides, he had two other similar personalities with him. So I became a passenger and headed up in a cheerless looking room over a vacant shop. Now Ace, maybe you'd like to tell us where we can find that money, huh? If I don't, I suppose we're going to play games. We can be friends if you want it that way. But friends do favors for each other, no? What happens if I give you a fast, handsome answer that turns out to be a dud? You will still be here. We will merely come back and discuss it with you again. Who gave you the idea you could get this information out of me? Where is the money, Ace? Let's see now. What can I tell you to postpone this buffeting I am due to receive? After all, there's always a chance the cavalry might arrive. Maybe this will stir your thoughts. So it is. We found it in your hotel room in Bordeaux in the pockets of a jacket. I remembered it when he said that. I picked it up in Charles Borden's room while his brother and I had been waiting to the police. My lethargy, I'd forgotten about it. Where, Ace? Well, didn't you check on her with the express office? Since we could not provide the name of the person to whom it had been issued, they would give us no information. Could I say it? You mentioned my name, didn't you? Well, it should prove I had nothing to do with him. Not at all. You could have used another name. Yes, I could, couldn't I? All right. Where do we go from here? Ways that money, Ace. I sent it to London. So, you sent it to London. We'll try again. We'll go on trying. Ways the money. There was only one way out for me. I gave him another snappy answer and I leaned into it. I came out of it looking into the brown eyes and honey-colored hair of Marie Vartell. I took a second or so to lick the dryness from my lips. Then managed to grin up at her. She smiled back at me. It was faint, but it was a smile. How do you feel, Ace? You keep rough company, baby. All right, Ace, on your feet. We let him alone, Menart. My instructions were for you to follow him. Nothing else. Menart, one more bit of play like that and I'll set your head to ringing with his pistol.  I should take that trigger away from you. So? And will you try now? No. Then get out of here. You have a way with it, baby. Dear, let me help you up. Thanks. Maybe you have two ways with it. You aren't very big, are you? I don't like men to touch me, Grace. Well, this is purely in gratitude, baby. And that... was that in gratitude, too. I... think it started out that way. You're free to go if you like, Grace. Tell me something first. Are you on the level with this Joan of Arc business? Joan of Arc?  What good would it be for me to say? All right. You don't understand why you don't concentrate on Philip Gaynor, the man who got away with the money in the first place. Gaynor is dead. Dead? How do you know? See for yourself. She handed me a piece of cut-out newspaper datelined London three days before. I told her the finding at the corpse of Philip Gaynor a London businessman of American citizenship and mentioned the details concerning his embezzlement of the welfare fund. According to the account, none of the money had been found in his body. I wish I did see him. Wonder how he died. I would say he was murdered. Wouldn't you?  More fog in a three-day hangover. And how's your noggin, by the way? No, my hake's just about let him. I'll be okay. Two clouds inside of a week. Next time, how about ducking a little quicker? What did you find out at the express office? I just mentioned the name Borden and they told me all. But there was no dawn. Well, just the shipment of books. That mean something? Not at the moment. Maybe it's the condition of my head. Yeah. Just a second. Here, Dr. Jonathan Borden. Thanks. Hello, Doctor.  I wish I could say yes. Everything seems to be just as muddled as before. Yes, yes. They called up with me this morning after going to London and back. A lovely centennial edition of Charles Dickens. Any significance? There is. I haven't sensed it. By the way, why was I without the name of Vartel? Marie Vartel. You sound perturbed. A little. It occurs to me that we should get you back to London as soon as possible. Marie Vartel. The most provocative unknown quantity in the case. Marie Vartel. Marie Vartel. Come on, come on, Grace. Wake up, will you? Come on. Hey, John, time to get down for dinner. Dinner? I haven't been sleeping that long. You've been corking all over ever since that guy fought? Dr. Borden. Yeah, I remember. Said something about a set of books. Dickens. I wonder what... Mark. Yeah, what's the matter? I've got the books. Dickens. I've got it. Come on.  Yeah.  Well, it's too late to turn back now, isn't it? We have already broken and entered. Great. What next? We have a case of books on the table. All right. Somebody opened them for us. Oh, they have already went through them. Find David Copperfield. Let me see. David Copperfield. David Copperfield. Here it is. You're looking for doldering nothing in it. Look. I think you're repeating mistake that was made before, Marcus. Being too hasty. Unless I'm very wrong, these... You see, this is one of those editions where the pages have to be slit. So slit? A brand new thousand-pound note. Oh, Lake. Looked a book of slaughterware. I thought I heard someone in this room. I hope you'll forgive us, but we're rather anxious to check this little matter. The money? You found the money? Yes. Now we must see that it gets to the proper authorities. Well, naturally, I'll take care of that. Why should you? Well, for one thing, it's in my position. I also happen to be Charles Borden's brother. As my friend here would say, in a pig's eye you are. What do you mean? I'm talking about the authority on Charles Dickens. As such, you'd have known what Charles Borden meant when he mentioned Dodie. That happens to be the pet name David Copperfield's first wife had for him. No, you're not Dr. Borden, but you're his killer. You moved in and murdered him when you learned he was being given custody of the money. You feel gainer? Yeah, and don't reach for a gun, Bust. I already got one in the mitt. Yes, but you can let it drop to the floor. You heard me? Let it drop. Come in, Countess.  Ah, queen of clubs. What's our next move, Phil? Well, we can't very well take these two with us, can we, darling? And we can't very well have them yapping at our heels when we go. It's really quite simple.  You take one, I take the other. Well, race, at least we've seen the wild. Sea boardo and dime. Is that it, Countess? Let's get it over with, Phil. All right. Ready? Now! Oh! It's a good thing I was curious enough to follow you here, race. Marie Vartell. You will see that the money goes where it should. Won't you, race? Yes, but you're leaving? I think that might be a discrete move in the car, don't you? You'll stay in Bordeaux? But why? Well, because if you're here, I'll come back. So hang around, baby, so I can see you again. The Adventures of Frank Ray, starring Tom Collins with Tony Barrett as Mark Donovan comes to you from Hollywood. Others heard in tonight's cast were Gene Bates, Gerald Moore, Jack Carrington, Michael Ann Barrett, and Paul Dubin. This series is written and directed by Buckley Angel and Joel Burcott. The music is composed and played by Ivan Dittman. Be sure to be with us again this time next week for another dramatic chapter in The Adventures of Frank Ray. Mark Gilmore speaking. This is a Brucells production.


Hello, everyone. It's almost lunchtime. I hope you enjoy your day so far. Is it good? Okay, so you've heard a lot today about progressive web apps about the benefits they bring and the tech stock they're using and Probably a lot of you already tried your hands with progressive web apps, right? it's always fun to try a new tech with your Personal project a side gig a demo here and there But actually when it comes to big business to big commercial implementations we sometimes get a little bit shy in Implementing progressive features and this talk is aimed exactly at overcoming this shyness I hope to give you some ideas and some procedures that you can take back to your teams to your organizations and really kickstart your progressive web app journeys over there Me and my team we recently went through a few progressive web app migrations and By migration I mean that we were modernizing and implementing progressive features on Existing websites the ones that already have an existing tech stack and an active audience and From even though each of these projects was slightly different two common things that I noticed were that firstly Restructuring an existing website is much more difficult that writing anything from scratch. It can be even overwhelming So it's really good to have some structure and some process you can stick to and secondly Implementing progressive features is much more a question of a right mindset than anything else Of course knowing the ins and outs of technology does help a lot But you really need to be in a proper zone to think in a way your users would think when they're using your app to make their Their experience really delightful and these are two things I'm going to talk about today exactly It's the process and the mindset of a progressive web app migration So progressive web apps as you know focus on delivering a delightful web experience to the users These are still web experiences at all and very often organizations already do have some web presence out there This means that we as developers we very rarely have the luxury of starting from a blank page We rarely can or actually should start from scratch And with existing websites and their complexities, there is no boilerplate There are no generators already made starter kits that can guide you in the right direction from the beginning There is an art to deciding how to tackle progressiveness in those apps And in art you often go with your gut feeling right, but as the same goes the best Improvisations are the ones that are well prepared beforehand So it's better to be well prepared. It's good to have a structure to follow a well-established process keeps you your project on track helps you enormously in Keeping in touch with your stakeholders throughout the project and also actually sometimes keeps you sane in the ups and downs of the project In my case the process usually looks as follows I Strongly believe that any project starts with a coffee because no coffee means no productivity So here we go the project starts with a coffee. Of course, I can admit this might be a personal preference So if you have a different thing to start go with that one but anyways after you had a coffee or whatever it gives you a kick you start with the Analyzes step in this step you look carefully at your current website and your resources To get the proper understanding of your starting point a good analysis also gives you a very good reference point that you can compare to After the implementation is done Next we rarely have the luxury of implementing everything at once because our resources are limited So you need to prioritize and the cool thing about progressive web uptake is that it's not really a monolithic technology It's very modular concept. So you can often pick and choose what to implement and also in what order Once the priorities are set It's good to stop for a moment and prepare yourself by choosing the right tools It's important to remember that you don't need always to write everything from scratch You're not alone. There are tools and libraries that can help you So don't reinvent the wheel look for your proper tools before implementation Then of course, there's time to execute your plan. This is where all the fun happens and Last but not least, this is a sometimes overlooked step Measure and evaluate it gives you both a nice summary of what you achieve throughout your project But also a starting point for the next iteration if the one is going to happen this is a very simple timeline but Talking about it and raising the awareness about those steps Will make it clear from the start with your team and stakeholders What's the process should look like and it will allow you to avoid some misunderstandings some possible misunderstandings in future So let's follow it step by step step one analyze By analyzing your website, I mean you should get the Quantitative but also qualitative snapshot of your current situation We really start from scratch as I told you so it is crucial to understand your standing point Before you add new layers of complexity to your site And even if you're actually starting a project from start from scratch You will eventually find yourself iterating over it over and over again and each of these iterations should start with a proper analysis And the tool that is tremendously helpful in analyzing a website is of course the lighthouse If you haven't tried it yet, which I doubt Lighthouse is a Chrome extension and a command line tool that runs over a hundred audits on your site to identify how you can improve your app's performance accessibility and well overall progressiveness in recent Chrome It's also integrated directly into the Chrome DevTools so you can run an audit directly in Chrome When you run lighthouse You on your website It gives you back a report and a score that summarizes different aspects of your website for you And this it does not only list all the items. It's checked but also gives you proposals on how to fix them and Links to further resources in case you want to learn how to actually do that So just by running this tool you can learn a great deal about how to make your site more progressive Now The very small feature in the lighthouse report that I like to point out is this download button It will it allows you to save the generated report To be used for later I found it very useful to run the report and save it for later at the beginning of my project But also later periodically to observe, you know and enjoy the progress I'm making But also to watch out for possible regressions throughout the project So it's really nice not to only check your score, but actually save it in some right place to use for later Once it's downloaded you can actually use the viewer the lighthouse viewer to display it in a in a browser tab again And from there You can also share it and export it to different formats for example PDF And this is very useful if you want to share your report if your stakeholders that might not be you know Techie people they might not understand how to open the dev tools and I really encourage you to do so Sometimes we tend to stick to the technical parts of our project and not really communicate all the instant outs of Upcoming migration with people that should be informed on the business side and lighthouse report actually is a great Center point that can guide you through this discussion with the business people Of course lighthouse gives you a comprehensive overview of your site, but there are more tools that you can use There's the network panel in the chrome dev tools the security panel that can run audits for you there's page speed insights web page test and most of those tools actually allow you to save the traces from your audit and A snapshot of your data so you can make use of that later It would be good to make a habit of saving those audits at each milestone of your project Things that you might be interested in recording are performance of course both load as rendering performance Resource sizes numbers of requests security and the memory usage such Audit will inform your strategy going forward But also potentially can allow you to find some low-hanging fruit You know some small improvements that you can fix easily without much development effort But that would lead to big gains and better overall healthiness of your website Okay, so let's say we made the proper audit of our site. We know Exactly where we're standing now. It's time to prioritize So here's a good message to you Progressive web app is it's not the monolithic technology It's rather a set of concepts and they are highly modular here You can see a concept of bringing your app offline the concept of notifications the concept of credential management and so on and for most of those items you can tackle them independently and You can tackle them one at a time and introduce the gains from each improvement as a progressive enhancement For your users, you don't need to go after all of them immediately because then this can be just overwhelming and too complex on a bigger scale project projects You can be really strategic about your choices and make it all aligned with the business need of your project Rather than just tick boxing a set of rules So, how do we decide where to start? I? Would say start at the beginning Before you start adding new features you need to ensure what I personally call progressive web app readiness I think it is worthwhile to call it out here because no amount of progressive features will solve unresponsive cluttered Junkie or unfriendly website So before you add new complexity to your site you want your site to be as lean smooth working and optimized as reasonably possible before you add a burden of new features in Particular here where the audit you saved is really handy Based on your audit outcome. You might look into the areas like the ones mentioned here and probably these are all good old friends There's nothing new in there, but this moment when you decide you really want to invest in a PWA is great Moments to stop for a moment Check those things out and fix them if they went off track throughout the previous lifecycle of your application The cool thing is sometimes really small steps can bring you really big gains and let me show you an example Sometime ago, I was working on the women tech maker org site And I was doing exactly that I was preparing it for some progressive web app features Here you can see the network panel from before the migration happened what I did here I just sorted the assets by size and just by looking at the tip of that list It immediately gave me some Some targets for optimization Here the two biggest requests made were for you to pay PI and the hero image you see on the home page So now what what would happen if you optimized those? As for the hero image it covers the full header area, right? So it needs to be as big as the viewport, but it doesn't need to be bigger than that So I just created a few versions of that file that Are appropriate for a smaller viewport? I added few breakpoints to my CSS and with this few lines of code bum I got 21% less Image them download on the medium-sized page. That's a huge impact for for a single optimization like this And this is just by optimizing a single image and you can go much farther than that, right? Second optimization was about replacing The more complex or more demanding assets with their smaller smaller counterparts so Here you can see on the screen two examples first one refers to that side API File that we were downloading before these days is not needed to use the API YouTube API file For just displaying the video on the page you can do it equally well with iframe and the iframe is a non-blocking way of getting this video to play on the On the side, so I could just bum remove it entirely and I gained 400 kilobytes this way Just by you know replacing a single line in my HTML The second optimization similarly you were using low-dash library But we're using just a few functions of it so we could use the low-dash core instead of full low-dash This brings us from 24 kilobytes to four kilobytes, which might not be that big game like overall But those optimizations do it up over time so what I try to say here is that In the most this moment where you go for a progressive web app It's a good moment to stop for for a while and see if this type of Non-optimal behavior appears on your side and fix it The third example here is about browser caching because once I made sure I'm not Making too big resources being pushed to the user. I also want to make sure I don't push things twice if not necessary Actually when I was analyzing the page in preparation for service worker I realized we were doing some silly things on the page some assets were versioned by the Version number and some of them were actually timestamped with the timestamp So it was kind of inconsistent But apart from being inconsistent it was also pure wrong because even if the asset did not change With each consecutive build I would change its URL, right? Either by appending a new version number or by appending a timestamp And this means that I'm not leveraging the normal browser caching that is already in building the browsers for a long time So it was high time to change that and if I was not going for progressive web app I was probably not going to trouble of investigating all that and fixing this Each of these changes was relatively easy and very quick to implement But it really brought a big benefit and pay attention that this brought benefit to all of the users Not only the ones that are actually using That can actually use the service worker later on down the line after the migration Okay, so let's say we are PWA ready. What do we focus on the next? Well, the next thing you need to ensure is the safety and in our context safety means HTTPS When the new and powerful web APIs actually take it as a requirement That you serve your website from a secure origin Thanks to the HTTPS user can trust that the site is actually you that there is no phishing happening there's no scammer between you and the site right and They know that nobody is actually listening on the interaction with your site The web has a tremendous reach and it's extremely low friction. So you get all kind of users Online also the ones that are not very tech savvy. So keeping your users safe is hugely Important in the world of PWA Great. So now we have a decent page and a secure one. So what do we do next? Well, now is the moment where you can prioritize based on your business need For example If a really important thing for your business or organization is the user acquisition Maybe you should focus on perf because when user enters your site You don't want to have a high bounce rate, right? You want to keep their attention, which means you need to serve them content quickly You need to get them engage in your site quickly So that they stay and they maybe turn into a customer with that visit, right? So then you focus on perf but maybe Your situation is different. Maybe you're operating in a Area where you get a lot of users on a 3g connection or even lower or maybe your target audience Usually use London tube and they don't get connection for most of their journey. Then you should really focus on offline You care about user retention most that's where the kind of important part for your businesses Maybe you should focus on add to home screen feature and the notifications This way the app will be integrated better with users devices And it will be easier to bring them back and turn them into a returning customer from an occasional one If you care about user conversion Well, maybe your bottleneck is on payments and maybe if you try payments API That's where you can bring most value for your business So as you can see a lot of progressive web app features are modular and you can pick and choose which ones to Implement and in what order and you should make sure to always coordinate with your stakeholders to choose the best Line of action for your business and then iterate as necessary Whatever you choose though Remember to always wrap it in the good user experience Remember that those features and technology are not the goal in themselves Your goal is the delight of the user that is using your app, right? So it's very important on how you implement those features and we're going to touch on that in the implementation section of our process now It's the time to choose the right tools Here I wanted to give a shout to the work box library especially if you implement offline experience you Sometimes end up writing a lot of boilerplate and with work box. You can avoid a lot of that code error prone code and to smooth up your development process But work box is a little bit more than that It's also a set of generators that help you with the asset management management Remember that when implementing caching this can get Tricky really easily because you need to handle all the URLs and so on so you don't really want to do it by hand And then work box is really helping you out Okay, so we have work box. We have our priorities set Well now it's time to implement right and this is the hardest part to give any really Generic advice on because each project is different So instead I would like to share some of the examples of the right UX patterns and the implementation decisions that you might find useful when trying to Achieve this happiness and progressive feel of your website Well the first rule of thumb on achieving a good experience It's that the user should always feel in control of what is happening in the app and Junking transitions from one view to another it can successfully destroy that feeling of course Sometimes we do need to wait for The content from the network right but if we we know that the user perception of time is quite elastic as well And we can influence it So if we can make the user think that something loads for one second while it really loads for three seconds This is our win Sometimes just adding load indicators help, but you can go even farther If the user sees that something is happening They can already start analyzing the page So instead of blocking the transition of the page on network you can use skeleton screens instead Here you can see an example of progressive web app For housing.com. I really were that well done one when you tap on the listing you Taken immediately to the next screen where just the outline of the content is Presented and then the real content is coming in It gives you an idea you as a user It gives you an idea of a structure of the page you're trying to access and Let's you grasp it a bit all while the real content is loading It's a big improvement for the user, especially one as impatient as I am usually Another pattern that enhances this feeling of being in control is the stable load First what do I mean by unstable load? Well, you probably often see this in the web today Where you load an article or a piece of content on your mobile device and you're reading it and it just jumps out of From under your eyes because some additional content like an image Loaded at the top of it. It's especially annoying if it's a link and you just try to tap it and it always runs away So it's really an anti pattern Instead you can ensure a stable load It is easy as specifying the size of your images beforehand and of all the dynamic elements and this way You tell the browser how to lay out the elements ahead of time So the content is already in its original position When the new content arrives This way you never miss a link and get frustrated just because of the way the content is loading Speaking of loading performance This can of course be optimized a lot with service worker and caching of the resources locally And this is a primary reason why you should consider service worker Even if you don't expect to get audience that is fully offline Saving some resources in the cache can make your site perform much better and be much more reliable Even if the users don't go offline fully for extended periods of time There is one thing to consider though When you cache things locally you need to be mindful of users resources They do still use some of the memory on the device, right? Sometimes caching entire site is simply not viable or possible Let's go back to the women tech maker example I'll show you on this example. What do I mean by this? Women tech maker site is a beautiful site It's a rich visual experience. There's lots of imagery If I wanted to save all of this for offline use it would be very very heavy So maybe I don't need all of those images. Maybe I just saved the html Well, that's how the page would look like it looks ugly But also it's totally unusable, right? Like users can't even navigate through the page because the the buttons are gone So the site is unusable. How do we decide between these two extreme points? What do we cache and when? Well, I started to look at the images on that site by function The yellow ones I call them navigation and action. They're super important without them the user can't really properly use the site Now the red ones are branding and priority is the images that me as developer or business owner really care about I use them to create connection with my audience. They're very important. They have the priority Now the blue ones are the opposite of the red ones. They're decorative It's nice. They're there. I like them, but if they're missing they don't really break the site And now informative images are quite interesting because they look nice, but also they do convey some meaning they do convey a message So they're like semi important Now that I understand the structure of my images on the page. I can actually apply different strategies to those For example for the really important ones the navigational ones I just inline them with svg and I never ever need to even care how they're cached because as long as my html is cached The image is just there in an svg form So that's done Now the red ones I care about them a lot. So I pre-cache them As soon as the service worker is installed I proactively go and fetch them so that when user enters the appropriate sub page is already ready for them to serve I reserve those only for the priority images to not overwhelm the the cache Blue ones I cache at runtime Which means when user is moving throughout my site and visiting new places I do cache them on a you know bestie fort basis and I put some limit on it as well So this means that sometimes the image is present Sometimes it's missing, but it's not breaking the overall Look and feel of the site Now the the informative images are quite interesting because here you can see that I can use the full power Of the service worker service worker is just javascript. So you can do all kind of magic there Here what I wanted to do is I wanted to use an alt tag alt attribute from the image to generate the The image on the fly. I don't want to store them because they might change frequently But I wanted to still convey the message So in the end I just returned a generic fallback image for the image itself And I rendered the text as the rest of the image, right? So it's fully rendered in the service worker and it's never using any cache And I still get this meaning that I wanted to convey to the user passed on So these are four selective image strategies And you know depending on your site there might be many more So you just need to look carefully at the content of your site and see What's best for you Now let's say the user Got this delightful experience from us It's really engaged with that. So we want to keep them engaged And relaxed and looking at the screen and when the users are using the app they usually end up scrolling And if they scroll long enough or fast enough Sometimes you get this scrolling glitch if the list gets too long, right? So how do we avoid that broken experience for the user? Well, you can use what we call virtualized lists and many of the frameworks That are in use right now do offer this type of components Virtualized list means that only the items that are actually in the screen Are rendered and maybe a few before and at the end And all the rest is this attach and attach dynamically This means that you can scroll pretty fast and never get this, you know, blank screen When the memory is over overflowing As a matter of fact, it was one of the key Techniques that twitter found useful when implementing their progressive Web app so that the users could you know being their tweet feed for a long time and not get it broken Finally the last UX pattern I wanted to share is Not to interrupt your users when they're using your service If you ask for the permissions on load user use usually don't have any context about What you're asking them about and they don't really Uh Can make they really are comfortable making this decision at that very moment So it is much better to actually ask for this type of permission In an appropriate situation. I really like what twitter did And in twitter app when you go to the notification tab So user actually expressed an interest in notification They show this full screen overlay when the user can um can sign up for that So just with this uh with this overlay you can focus their user's attention also on the question being asked Well, that's just a short list of common optimizations You can look into when looking for the right UX for your progressive web app and by all means this is not an exhaustive list so actually i'm very happy to hear your stories and Find out about the good practices you find useful in your projects later on in the lobby Finally everything we wanted to is implemented and there's time to evaluate our work Remember when I told you to save some snapshots of the data in the analysis part Well, now they come in handy Measuring things at the end of the project Also provides business justification for next step. So make sure you again involve your stakeholders in the whole process You can go again through the audit and just compare the outcome With the previous version and hopefully it will give you a surge of joy as you see the metrics improve on your site However, there is one caveat Metrics are helpful, but they're only metrics Getting a hundred of lighthouse feels good. I know it feels good. I've been there And it may also help convince your boss that you're the best developer ever But nothing is better than really checking the reaction of your users to your website In evaluating your changes, you need to pay special attention to analytics and to the voice of your users Both to track improvements, but also to look out for a possible regressions on the way Now you might ask When is my website progressive enough? Is my app already a progressive web app or we're somewhere in the middle Is it progressive when it's fully offline? Is it progressive when I checked all the boxes on the progressive web app checklist? Is it when it's hundred on lighthouse? Well, remember that all of these are just representations of the same mental model and of the same idea Of delightful user experience So maybe it's not really a question of how progressive Your web app already is you just can take it One iteration at a time Usually this process goes round and round and you can iterate as many times as you feel you need to provide the best user experience for your needs Thank you so much