Speaker 1: How'd you like to listen to dot NetRocks with no ads? Easy?
Speaker 1: Become a patron for just five dollars a month. You
Speaker 1: get access to a private RSS feed where all the
Speaker 1: shows have no ads. Twenty dollars a month. We'll get
Speaker 1: you that and a special dot NetRocks patron mug. Sign
Speaker 1: up now at Patreon dot dot NetRocks dot com. Hey,
Speaker 1: it's dot net rocks. I'm Carl Franklin.
Speaker 2: And I'm Richard Campbell.
Speaker 1: We're here for episode nineteen hundred and eighty five. Yeah,
Speaker 1: the year that we both graduated from high school.
Speaker 2: Right, no, graduating eighty four. But you know I'm an overachiever.
Speaker 1: Well that's true. You skipped a grade I and only
Speaker 1: one only what I mean? Okay, Well, anyway, we're here
Speaker 1: with Schmooley Angel. We'll be talking to him in a
Speaker 1: few minutes. But first, well, as long as we're on
Speaker 1: nineteen eighty five, let's run through what happened, all right?
Speaker 1: All right? Well, International Youth Year, United Nations. It was
Speaker 1: a tragic year for Ethiopia. The famine in Ethiopia prompted
Speaker 1: international humanitarian efforts and I got to thinking.
Speaker 2: That's live AID.
Speaker 1: Yeah, Live Aid. Happened, you know, feed the world. But
Speaker 1: also like there's so many more famines that have happened
Speaker 1: in the last I don't know ten years that are
Speaker 1: just as huge, and you know, we've become kind of
Speaker 1: immune to hearing about them. I think.
Speaker 2: Well, the other reality, of course, is that we make
Speaker 2: far more calories than is needed to feed everyone in
Speaker 2: the world. All payments now are political. Yeah, there's enough food,
Speaker 2: it's just you choose to feed people or not.
Speaker 1: Mikha Al Gorbachev became the leader of the Soviet Union,
Speaker 1: and there was some earthquakes and an eruption in Columbia
Speaker 1: of Nevada Del Ruiz, Mexico City had an earthquake, but
Speaker 1: windows one point zero yes.
Speaker 2: Ye hundred bucks for one point oh.
Speaker 1: I remember it was basically a DOS shell. It was terrible.
Speaker 1: That was it was a good proof of concept. The
Speaker 1: Domain Name system was created DNS in nineteen eighty five.
Speaker 1: Very cool.
Speaker 2: The first dot com eroil gets registered. Then you want
Speaker 2: to guess what it was. I don't know nothing. It's
Speaker 2: nothing fun Like you would think it'd be sex dot
Speaker 2: com or something, but no, it was Symbolics dot com Symbolics. Yeah, wow,
Speaker 2: it was company okay.
Speaker 1: Top ten movies Back to the Future, Rambo, First Blood
Speaker 1: Part two, Beverly Hills, Cop Rocky four, Cocoon, The Goonies,
Speaker 1: Witness Loved Witness, Police Academy two, their first assignment of
Speaker 1: view to a Kill, and The Breakfast Club.
Speaker 2: Wow.
Speaker 1: Of course, the Color Purple Reanimator, Fright Night. There's a
Speaker 1: lot of good movies in nineteen eighty five.
Speaker 2: But maybe it's just our age that we like all
Speaker 2: the movies from nineteen eighty five.
Speaker 3: Yeah.
Speaker 1: Probably, I mean this was our movie time, right, Yeah,
Speaker 1: so you have some you have a list, I hear.
Speaker 2: I do as usual. I'm not going to go on
Speaker 2: the shuttle side. There were nine Shuttle missions in nineteen
Speaker 2: eighty five. I'm not going to list them all to
Speaker 2: Discovery the shuttle. Discovery did the most work that year,
Speaker 2: flew five of the missions, so they would turning them
Speaker 2: over pretty fast. Right, We're just a year before the
Speaker 2: Challenger disaster, which changes everything. Speaking of Challenger, in nineteen
Speaker 2: eighty five, Challenger had the only ever abort to orbit incident.
Speaker 2: This was sts fifty one f so on the way up.
Speaker 2: So if you remember how Shuttle flies, it's about two
Speaker 2: and a half minutes with the solid rocker bushes and
Speaker 2: its separated. At three and a half minutes, there was
Speaker 2: a sensor failure on the fuel turbopump for the center
Speaker 2: and SSME the center engine. It was reading as over
Speaker 2: temperature and so it failed and then which is serious.
Speaker 2: But about two minutes later, at five point forty three,
Speaker 2: the second sensor failed. With both sensors down, the computer
Speaker 2: automatically shuts off the engine.
Speaker 1: So did they know that it was the sensors that
Speaker 1: failed or did they just see these high temperature readings.
Speaker 2: They're seeing the high temperature readings, and there is an engineer,
Speaker 2: her name is Jenny Howard, the booster systems engineer, who's
Speaker 2: analyzing what's going on and realizes that it's likely the
Speaker 2: sensor around the time at the eight minute mark where
Speaker 2: sensor fails on the right engine.
Speaker 1: Wow.
Speaker 2: And she realizes if the second sensor fails, the computer
Speaker 2: will shut off that engine and they'll lose the orbiter
Speaker 2: and its crew. And so in that time span, imagine
Speaker 2: this whole thing's happen in four or five minutes. You've
Speaker 2: got to figure it out enough that she tells the
Speaker 2: crew to disable the or inhibit automatic shutdowns. Just yeah,
Speaker 2: and this would be a good movie. It was if
Speaker 2: it came out in nineteen eighty five, right, It just
Speaker 2: happened so quickly, like the entire we forget that the
Speaker 2: entire time runtime of those engines is like eight and
Speaker 2: a half minutes, and then they're in orbit, and so
Speaker 2: now the reality is being down an engine. And this
Speaker 2: is before the software was fantasy enough to run the
Speaker 2: other engines for longer. So at the end of the
Speaker 2: eight and a half minutes when it shuts down, they
Speaker 2: are aboording to orbit. So they have not reached the
Speaker 2: orbiting intended which was three hundred and eighty five kilometers.
Speaker 2: They're two hundred and sixty five kilometers. That's high enough
Speaker 2: to stay in orbit. It's about one hundred and seventy miles,
Speaker 2: and so they do their entire mission from that lower orbit.
Speaker 2: Only time an engine ever failed on the Shuttle on
Speaker 2: the way up, and only because of the quick thinking
Speaker 2: of this engineer of Jenny Howard, that they saved that
Speaker 2: entire mission. Jenny Howard hero Challenger flew three times that year,
Speaker 2: including that particular mission. And then this was the first
Speaker 2: year that the Shuttle Atlantis was flying, and so Atlantis
Speaker 2: will fly twice.
Speaker 1: Wow.
Speaker 2: Eighty five is also we're coming up on Haley's comets return,
Speaker 2: which is actually eighty six, and so Japan launches a
Speaker 2: spacecraft called Sekakaki specifically to go observe Haley's comment by
Speaker 2: and doing that becomes only the third nation ever at
Speaker 2: the time to send off an interplanetary flight something above
Speaker 2: orbit Earth orbit, and it's to go out to Haley's comment.
Speaker 2: Later in the same year, the Europead Space Agency will
Speaker 2: launch Gyatto, which is doing the same thing you're going
Speaker 2: after Haley's comment.
Speaker 1: Wow.
Speaker 2: And we'll talk more about that in the next show
Speaker 2: in nineteen eighty six, when Haley actually comes to the
Speaker 2: view around Earth and how a big deal that was.
Speaker 2: On the Soviet side, the Soviets fly to had actually
Speaker 2: launched two more missions to Venuses are the Vega missions
Speaker 2: versus the Venera missions. These are newer vehicles they launched
Speaker 2: in December of eighty four, but they actually reached Vetus
Speaker 2: in eighty five. Their fly by probes, the carrier vehicles
Speaker 2: that actually drop the landers down on Venus then do
Speaker 2: a slingshot around Venus to go also intercept Haley's comment,
Speaker 2: so they both of those did that, and then the
Speaker 2: Landers themselves were very much like the Veanera missions. They
Speaker 2: went down to the surface. But most of what we
Speaker 2: know about Venus comes from these Venera and Vega missions.
Speaker 2: All of these will be the last. That's it for space.
Speaker 2: I want to talk about two general science things. One
Speaker 2: I think is very well, they're both relevant to us,
Speaker 2: but very relevant to you. Is this is the year
Speaker 2: that Robert Ballard founds the Titanic. Yeah, that's right, and
Speaker 2: that's side of woods Hole, just not that far from you.
Speaker 1: And he landed at the Mystic Aquarium that's his home
Speaker 1: center now and he's got a lot of Titanic exhibit
Speaker 1: And of course I grew up in Mystic, so yeah.
Speaker 2: Yeah, this is it's important to me. You're part of
Speaker 2: the world, so I don't know how much you know
Speaker 2: of the story. Of course, after Titanic sinks, with folks
Speaker 2: like Jacob Astris over going down there and the Guggenheims
Speaker 2: were on there too and died on the ship, there's
Speaker 2: a lot of interest in finding and recovering the ship,
Speaker 2: maybe recovering bodies. There's a lot of ealth that went
Speaker 2: down and so forth, and there's all these ideas, but
Speaker 2: of course they're ridiculous. They never go anywhere. The first
Speaker 2: real attempts to find Titanic at all. It's actually a
Speaker 2: wealthy oil man. This is a nineteen eighty a guy
Speaker 2: named Jack Grimm. Before the tech billionaires, there were wealthy
Speaker 2: oil people that did silly things with their money, and
Speaker 2: so he had some sonar systems and so forth. He
Speaker 2: had multiple missions over several years and never found Titanic,
Speaker 2: although once Titanic was found, they realized that in nineteen
Speaker 2: eighty three his crew and equipment traveled almost directly over
Speaker 2: Titanic with their senses just weren't able to detect it.
Speaker 1: Wow.
Speaker 2: In that same time span, Robert Ballad is actually doing
Speaker 2: work for the Navy with a system they called Argo
Speaker 2: and Jason, as in Jason and the Argonauts. And Argo
Speaker 2: was a deep water submerciol designed to be towed behind
Speaker 2: a ship that then had a tethered rover that could
Speaker 2: call Jason that would go out from under that. Now,
Speaker 2: this was actually a classified system built for the Navy
Speaker 2: to find Thresher and Scorpion American submarines that had imploded
Speaker 2: him around the bottom, and he succeeded in doing that
Speaker 2: and what so Ballard basically was operating the system on
Speaker 2: behalf of the Nighty to learn how to find lost
Speaker 2: submarines and to maintain the equipments of it. Ever happened again,
Speaker 2: they could get to it quicker, right, They Threshered, the
Speaker 2: Scorpion had gone down decades before. And one of the
Speaker 2: things he learned any published papers on this is this
Speaker 2: whole when a disaster like this happens and the vehicle
Speaker 2: breaks up, the submarine or the ship, the lighter debris
Speaker 2: falls in a wider area, and you have these debris
Speaker 2: field effects, right that can cover kilometers. You know, the
Speaker 2: vehicle itself is small, the ship itself will be small,
Speaker 2: but it makes a big debris field. And so one
Speaker 2: of his insights from that is to search for the
Speaker 2: debris field rather than the search for the ship itself.
Speaker 1: Because the debris fields kind of like breadcrumbs that'll lead
Speaker 1: you to the big parts exactly.
Speaker 2: And so he had done this to find Thresher, and
Speaker 2: in between the times that he's doing searches for thresh
Speaker 2: Sure and Scorpion, while he still has a crew out,
Speaker 2: he would get a little bit of time to go
Speaker 2: do Titanic this is all in the Atlantic area, more
Speaker 2: or less, and sure enough, with only a week of
Speaker 2: time after doing search, after locating Thresher, he had a
Speaker 2: week of time. He goes looking for the debris field
Speaker 2: and finds a boiler which leads to another piece of debris,
Speaker 2: another piece of debris that leads them to Titanic.
Speaker 1: He also found the Lusitania. If I'm not mistaken, didn't he.
Speaker 2: He found the Lusitania. He found Bismarck like he's the man,
Speaker 2: but you know, he's also taught a lot of other
Speaker 2: people how to do it. Now, Paul Allen's crew who've
Speaker 2: gone after used to go after World War two ships
Speaker 2: Paul Alans passed away now found Musashi and so forth.
Speaker 2: Very much similar techniques. So man missions to the two
Speaker 2: Titanic will happen the next year. But this was the
Speaker 2: find and just I don't think most people realize, like
Speaker 2: largely financed by the US Navy to deal with submarine issues.
Speaker 2: All right, what more science one and this is also
Speaker 2: a long This is the year of the first practical
Speaker 2: lithium ion battery. Now, lithium ion batteries have been around
Speaker 2: long before that we associate this battery with a guy
Speaker 2: named Akira Yoshino, but you know other names and they're
Speaker 2: all like the three people shared a Nobel Prize in
Speaker 2: Chemistry in twenty nineteen for the lithium ion battery. M
Speaker 2: Stanley Whittington, who built the original batdies in the seventies.
Speaker 2: He used titanium diceulfide and lithium aluminum which had a
Speaker 2: tendency to create fires and it was a dangerous battery
Speaker 2: but worked. And then John B. Goodenough, the English fellow.
Speaker 2: Lots of people know that name nineteen eighty. His name,
Speaker 2: last name is literally good Enough, and this guy is
Speaker 2: an incredible inventor, Like the British are super proud of him.
Speaker 2: His story's awesome and you know, a little off the path,
Speaker 2: but he definitely improved the design in nineteen eighty by
Speaker 2: changing the catho to lithium cobald oxides. But it's a
Speaker 2: Kira Yashino that came up with the carbonaceous anode working
Speaker 2: at a company called the Sashi Casse and that battery
Speaker 2: design will be commercialized by Ashi Casse in their work
Speaker 2: with Sony to make the first commercial lithium I in
Speaker 2: batteriesnineteen nineties. But that battery design was completed by a
Speaker 2: Kirioshino net.
Speaker 1: Wow. Okay, very cool.
Speaker 2: Yeah, I couldn't pass either one of those up. They
Speaker 2: just seemed super relevant, right right, okay. On the competing side,
Speaker 2: nineteeny five is a banner year beyond Shawstrup publishes the
Speaker 2: C plus plus programming Language book and really sets the
Speaker 2: plus plus on its path.
Speaker 3: Uh.
Speaker 2: There. Microsoft also puts out quick Basic one point zero
Speaker 2: almost the same, No, not all, not at all the same.
Speaker 2: But if it's on a three hundred and sixty K
Speaker 2: five and a quarter inch floppy, so.
Speaker 1: I down small pick Basic one point Oh yeah, I.
Speaker 2: Don't think it did.
Speaker 1: No, I did from a from a bulletin board, you know.
Speaker 2: No, yeah, there was bbs is then.
Speaker 1: Yeah.
Speaker 2: Most people remember version two because it's the one who
Speaker 2: had the id unit. I mentioned symbolics dot comedy in
Speaker 2: the first domain registered also in networking land NSF net
Speaker 2: that's the National Science Foundation. Net starts up using ecipip
Speaker 2: to connect a bunch of supercomputing centers together Princeton, Pittsburgh,
Speaker 2: University of California, San Diego, University of Illinois, a Berta,
Speaker 2: Champaigne and Cornell. As soon as then they use TCPIP,
Speaker 2: which kind of a big deal new network at major
Speaker 2: universities all TCPIP. Within a few years, dozens of more
Speaker 2: educational networks are tied on to that as well. This
Speaker 2: is also around the time that ARPAET starts to break up.
Speaker 2: Parts of it will go to NSF net and other
Speaker 2: parts will go over to the military side to mill net.
Speaker 2: But you now have the foundation of what's going to
Speaker 2: become the Internet. In nineteen eighty five, very cool, Intel
Speaker 2: puts out the eighty three eighty six, the first full
Speaker 2: thirty two bit processor made by Intel. The three eighty
Speaker 2: six will lead to new machines, the three eighty six. Yes,
Speaker 2: Michael Dell, in his his dorm room in university starts
Speaker 2: a company called PC's Unlimited and he makes a Turbo
Speaker 2: PC compatible PC Compatible for seven ninety five, and they'll
Speaker 2: eventually become del It's also the year that the Amiga
Speaker 2: one thousand is released.
Speaker 1: Ah, very cool. I remember playing that thing.
Speaker 2: Yeah, twelve ninety five without a monitor and the inside
Speaker 2: of the case had the designer signatures on it, including
Speaker 2: the pawprint of j Minor's dog. Mitchie and Natari releases
Speaker 2: their Atari st as the competitor, the amigaan in the
Speaker 2: same year. Yeah, and it has a gem based guy
Speaker 2: in it as well. I used plenty of both. And
Speaker 2: last but not least, the new manifestow being GANU is
Speaker 2: not unix by Richard Stalman, the whole idea of software
Speaker 2: free software, but if you're going to use it or
Speaker 2: contribute to it, you contribute back. A new manifesto is
Speaker 2: sort of the foundation of modern open source thinking for
Speaker 2: Richard Stalman. Again, lots more to that story, but that's
Speaker 2: the foundation of it. And that's what I got when
Speaker 2: we're talking about nineteen eighty five. Oh my god, I
Speaker 2: told you it was a big list. She's he's been
Speaker 2: very patient, hanging out. I apologize.
Speaker 1: I apologize. Okay, Well let's go on to better know
Speaker 1: framework roll.
Speaker 2: All right, man, what do you got?
Speaker 1: Okay? This is another creation from one Simon crop Ah.
Speaker 2: Simon.
Speaker 1: He's such a genius he and he's very prolific.
Speaker 2: He is too.
Speaker 1: So you know what Mermaid is, right.
Speaker 2: Isn't that the sort of a woman not really a woman,
Speaker 2: might have been a dougong.
Speaker 1: Kind of half fish half no. No. So this is
Speaker 1: a JavaScript tool that came out in twenty fourteen. Oh,
Speaker 1: to create I guess you would call them flow charts,
Speaker 1: but organizational charts.
Speaker 2: And relationship charts. I presume his data relationship charts. Yeah, exactly.
Speaker 1: So Simon basically created a tool that you send it
Speaker 1: a database connection string and it generates a chart of
Speaker 1: the nice entire database. That's crazy. Yeah, take a look
Speaker 1: at it. I mean it's beautiful. Mermaid is beautiful, by
Speaker 1: the way, it's just uh, it's just great. But you
Speaker 1: know this will take a sequel server database or Enny
Speaker 1: framework core model h and just generate beautiful UI.
Speaker 2: Yeah, awesome, dude, that's cool.
Speaker 1: Yeah. And Simon Simon, he posted in the general channel
Speaker 1: of our slack of apppnax slack and he goes, yeah,
Speaker 1: I did this.
Speaker 2: I did a thing.
Speaker 1: I did a thing. Yeah. It's like, oh, of course
Speaker 1: you did.
Speaker 2: Of course he did. He does things.
Speaker 1: Spend some time with your wife, Simon.
Speaker 2: Yeah, just signs about marriage breaking down. Is that what
Speaker 2: we're talking about it?
Speaker 1: Yeah? He is that or all the kids have flown
Speaker 1: the coop and he doesn't have anybody to right, All right, Okay,
Speaker 1: cool stuff, man, Well that's what I got Richard, who's
Speaker 1: talking to us?
Speaker 2: Grady comment of the show twelve sixty seven. I know
Speaker 2: we're going to talk about about employment, and it made
Speaker 2: me go back and look at when we talked about
Speaker 2: deployment mechanisms and continuous integration and stuff a lot, which
Speaker 2: is a while ago. This is a comment from Jeffrey
Speaker 2: Pillermo show called Azure Continuous Delivery. It's from twenty sixteen.
Speaker 1: Wow.
Speaker 2: And as also, we did a bunch of shows on
Speaker 2: Octopus deployments, so we're like, we just haven't talked about
Speaker 2: deployment much lately now. This particular comment, and again its
Speaker 2: a few years ago, has comes from Keith Williams where
Speaker 2: he says, great show. It's good to hear that people
Speaker 2: having success with Team City and Octopus deploy that's what
Speaker 2: we're talking about at that time. It's also refreshing to
Speaker 2: hear someone downplay the thirty four releases per day type stories.
Speaker 2: Remember that was a thing. We were so excited about
Speaker 2: your deploy all the time, and now we just don't
Speaker 2: ever talk about that. Yeah, he does go out to say,
Speaker 2: you know, we do continue to deploy to our test
Speaker 2: site and that can get up to tenploymes a day.
Speaker 2: But come on, I know, but a nitpick small organizations
Speaker 2: do and need the custom software from time to time.
Speaker 2: My first yeah gets supported the custom SEQL server back
Speaker 2: end with Microsoft Access front end. Ouch held records of
Speaker 2: a best dose within customer properties for a twenty person company.
Speaker 1: Wow.
Speaker 2: We manage the continuous delivery by place in the ADP
Speaker 2: pile into a shared folder and writing a log on
Speaker 2: script and VBA to copy it to each user's desktop
Speaker 2: during log it. So in your version was just to
Speaker 2: log out, log into update clever. This is back in
Speaker 2: two thousand and five, to the best of my knowledge,
Speaker 2: still going to this day because old software never dies.
Speaker 2: Friend never ever dies. But true enough, well some of
Speaker 2: it should, Yeah, but no, not wrong and probably tricky
Speaker 2: to make work on a phone. But but you know,
Speaker 2: he makes a valid point. A company specializing with dealing
Speaker 2: with his best dose and they need a particular day store.
Speaker 2: I wonder if now they'd have an M three sixty
Speaker 2: five account so they'd be doing it as a power app.
Speaker 2: Who knows it is interesting to think you know a storm.
Speaker 2: But Keith, thank you so much for your commented. A
Speaker 2: copy of music cobi is on its way to you,
Speaker 2: and if you'd like a copy of music cobuy write
Speaker 2: a comment on the website at don at Rocks dot
Speaker 2: com or on the facebooks. We publish every show there,
Speaker 2: and if you comment there when I read in the show,
Speaker 2: id your copy?
Speaker 1: Music? Go Music to Code by twenty two tracks of
Speaker 1: twenty five minute goodness music that will help you stay
Speaker 1: in a state of flow while you're writing code. Track
Speaker 1: twenty three. I didn't get it out for Christmas, but
Speaker 1: it's coming very soon. All right, cool, and you can
Speaker 1: get the entire collection in MP three, flak or wave
Speaker 1: formats at music to Code by dot net. All right,
Speaker 1: let's bring on Smoothly Anglard. We first met years and
Speaker 1: years ago in New York City. I can't remember the event.
Speaker 1: Richard probably does.
Speaker 2: I don't know, man, that's a long time ago.
Speaker 1: It was so it was a long time ago.
Speaker 3: I think it was the road trip.
Speaker 1: Yes, okay, yeah, all right, So let me read his
Speaker 1: bio cutting his programming chops on the dot net two
Speaker 1: o betas in two thousand and five. Smoothly Anglard grew
Speaker 1: to love developing software. He started out using vb net,
Speaker 1: but moved to C sharp quickly and never looked back. Well.
Speaker 1: Most of his work is in C sharp Smoothly has
Speaker 1: professional experience with cross platform development and Java c plus plus,
Speaker 1: web development and JavaScript noe JS, and database development with
Speaker 1: Microsoft seql server, Postcress SQL and my sqel, and data
Speaker 1: integration services using different transport protocols like Jason GeoJSON XML
Speaker 1: and Google protocol buffers. Welcome, Schmooley, Thank you.
Speaker 3: I have to say it sounds a lot nicer when
Speaker 3: you're reading my description.
Speaker 1: Well I had to third personize it. But that's that
Speaker 1: comes with a job, you know's it.
Speaker 2: Aren't you a blue badge Smoothly.
Speaker 3: Now, I am. That's a relatively recent thing.
Speaker 2: Oh gratulations.
Speaker 3: Well it feels recent. It's now been, dear God, nearly
Speaker 3: five years. I will be five years in April. Wow wow,
Speaker 3: it feels like yesterday.
Speaker 1: Wow wow. That's great. So what are you working on?
Speaker 3: I work on the Microsoft Store to clarify the app
Speaker 3: on your computer. Not the lovely website where you buy
Speaker 3: surface computers.
Speaker 1: Okay, okay, yeah, it's the software store.
Speaker 3: Yes, And you're one of the few people who when
Speaker 3: I tell that, they don't say, oh, you have an
Speaker 3: app store, Yes, we have an app store.
Speaker 2: Yeah, yeah, I mean it used to be called the
Speaker 2: Windows Store. But I don't think you call it that anymore,
Speaker 2: right is now? Is it the Microsoft Store?
Speaker 1: Now?
Speaker 3: It is the Microsoft Store? Right if it makes you
Speaker 3: feel better. I have been in many meetings where high
Speaker 3: up executives still call it the Windows Store.
Speaker 2: Nice. Yeah, but I mean that really was started around
Speaker 2: the Windows eight time frame, right, Like, that's that's when
Speaker 2: we needed a store because they were going after the
Speaker 2: tablet market.
Speaker 3: That was the you had your eight, you had win
Speaker 3: on those RT right store or nothing?
Speaker 2: Yeah, there was no other way to load stuff onto
Speaker 2: an RT device.
Speaker 1: Yep.
Speaker 3: And there are parts of the code base that are
Speaker 3: from back then. You look at them and you're like,
Speaker 3: why does this be? Why is the code? Oh right,
Speaker 3: it's that old. Okay, now this makes sense now it's.
Speaker 2: From two thousand and eight. Yeah, oh man.
Speaker 3: Unfortunately, because of versioning system changes, we don't actually have
Speaker 3: the history all that way, all the way back unfortunately.
Speaker 3: Oh sure, we only have the history for I think
Speaker 3: it goes maybe a year before I joined, so it's
Speaker 3: not very far back. We can actually go so a
Speaker 3: lot of time decisions we literally have no idea anymore.
Speaker 3: It's like, why was it done this way?
Speaker 2: I don't know Is that all in GitHub? Now? Is
Speaker 2: that why they migrated the GitHub and the history was lost? Oh?
Speaker 3: I wish that was it. No, it was it was
Speaker 3: a case of changing teams and they didn't know how
Speaker 3: to apparently, I guess they didn't understand how to move
Speaker 3: things properly with gets. So the history we just have
Speaker 3: a giant initial commit effectively.
Speaker 2: Oh man, but.
Speaker 3: No, we're in We're in Azure DevOps.
Speaker 1: Okay, okay, So you know a few things about distributing
Speaker 1: Windows applications. It looks like you, I know, well, it
Speaker 1: looks like you've been doing it a long time, you know,
Speaker 1: with various technologies.
Speaker 3: Yeah, it is kind of my day job now at
Speaker 3: this point. But I've done them all. I've done I've
Speaker 3: used Wix. God have a love hate with that. Yeah,
Speaker 3: but now we m that's our lovely MSI. But now
Speaker 3: we have MSIX much nicer, yes, in my opinion at least,
Speaker 3: But yeah, no, we want Distributing apps is hard. We've
Speaker 3: all done it. It's how do I get my app
Speaker 3: out to a bajillion people? Used to be Floppyes, then
Speaker 3: it was CDs. Then you had downloading it, you had click.
Speaker 3: Once we had we had our silver light apps where oh,
Speaker 3: just go to this website you don't even enough to
Speaker 3: install anything. Yeah, and now we have app stores. Mostly
Speaker 3: everyone has their app store. That's how we're doing on
Speaker 3: the phone.
Speaker 2: Should we be distributing regular apps via app store?
Speaker 1: Like?
Speaker 2: Is that advantageous in any way?
Speaker 3: Generally?
Speaker 1: Yes?
Speaker 3: I mean then you don't have to deal with hosting,
Speaker 3: although most apps you're not dealing with that anyways. Most
Speaker 3: apps nowadays, if you're not in an app store, you're
Speaker 3: probably hosting an open source app on GitHub, so they're
Speaker 3: doing the releases for you. But if you're doing that,
Speaker 3: that means you have to you have to now deal
Speaker 3: with telling people where to go hope they find your app.
Speaker 3: And then there's always the fun of how do I
Speaker 3: update it right? And that is one of the big
Speaker 3: things app stores give you is that it's not only
Speaker 3: how do I get it, but it's how do.
Speaker 1: I update it right? It's one thing if I build.
Speaker 3: An app and it's distributed on get ub I now
Speaker 3: have to find an updater. And yes, there are bajillion
Speaker 3: ways to do it. I've built some of my own
Speaker 3: over the years, but how do I deal with updates?
Speaker 3: How do I check for them where they host it.
Speaker 3: How do I I have to do version checks and
Speaker 3: all that. I don't have to if it's in the store,
Speaker 3: I just give them my new version of my app.
Speaker 3: Updating is the problem of the store. How they download it?
Speaker 3: Do they do deltas do so it's more efficient? Do
Speaker 3: they do it? How do they check for it? That's
Speaker 3: not my headache. I just now have to worry about
Speaker 3: how do I build my app, not how do I
Speaker 3: install it and update it?
Speaker 2: Right?
Speaker 1: This is one of the things that Mac users listen
Speaker 1: to conversations like this and like, what are you talking about?
Speaker 1: You know, I just go and I see there's a
Speaker 1: new version, and I download it because it's you know,
Speaker 1: it's built into the platform. And whereas the Microsoft Store
Speaker 1: is kind of an option for people who've been doing it,
Speaker 1: you know, in all these kind of janky ways for
Speaker 1: over the years.
Speaker 3: Yeah, there's a bajillion ways. And it should be noted
Speaker 3: that going into the store doesn't mean we take over updates.
Speaker 3: That doesn't need to be how we do it. That
Speaker 3: is the golden path. We'll provide everything for you, but
Speaker 3: you have the option of just giving us your exc
Speaker 3: You have an exc it installs your app. You can
Speaker 3: submit that to us and we will now distribute that
Speaker 3: updating is now on you. That installer is now on you.
Speaker 3: But now we're just a distution channel.
Speaker 1: So there isn't anything where you could go to like
Speaker 1: Programs and Features and control panel. Look at all your
Speaker 1: apps and see the ones that need updating. Right click
Speaker 1: and update right I mean.
Speaker 3: Right now, not in settings, but if you in the
Speaker 3: store we did. We have somewhat recently added the fact
Speaker 3: that we will show updates for those apps that aren't
Speaker 3: managed by us if we can. Sometimes we do know,
Speaker 3: sometimes we don't. It's up to the apps how well
Speaker 3: their installers work. A somewhat funny example recently was a
Speaker 3: discord they're now in the store, but we don't handle
Speaker 3: their updates. They had a bug where they would not
Speaker 3: correctly update the version information in Windows when they updated.
Speaker 2: Oh man, an update bug.
Speaker 3: We would perpetually think there was an update, but there
Speaker 3: wasn't one, and we didn't know because we're looking at
Speaker 3: the version installed, the latest version. Oh there's an update,
Speaker 3: we should give it to you. So they recently got
Speaker 3: that in they got the We were able to get
Speaker 3: them to squeeze that in before the new year, so
Speaker 3: most people should now have that update. But now they
Speaker 3: correctly update that information and we correctly don't think there's
Speaker 3: an update. So that is the downside they had to build.
Speaker 3: They've built an update, it had bugs, and that's on
Speaker 3: them instead of our update. Now, yes, our updater could
Speaker 3: have bugs, but it's not on.
Speaker 2: You, right, yeah, yeah, you know that the whole purpose
Speaker 2: of the cloud to have somebody new to blame.
Speaker 3: Yeah, exactly, And more importantly, you pay to get blame
Speaker 3: them blamed.
Speaker 2: Yes, I give you money. Now I get to blame
Speaker 2: you for style. Yes, oh man, I mean the classic
Speaker 2: argument here is this is why we do web apps
Speaker 2: because zero deployment, like deployment has always been a challenge.
Speaker 2: It's just it's good to get into. You know, what's
Speaker 2: the twenty twenty sixth way that deploy an app if
Speaker 2: you're going to build a client side app.
Speaker 3: Yeah, and it varies, and web apps are great, but
Speaker 3: you can still put them in the store. The store
Speaker 3: has a lot of web apps from straight up PWAs
Speaker 3: you can find in the store, as well as apps
Speaker 3: that are web apps but they're locally hosted, like say discord.
Speaker 3: We all know they wrote it. It's a web app,
Speaker 3: but they're running an electron they're not dealing one in
Speaker 3: the store. Electrons in the store. Slack is in the store,
Speaker 3: and Slack is using our updator, so you can be
Speaker 3: an electron app and use our updater. Those are not
Speaker 3: mutually exclusively, so Slacks in the store, they're in updated
Speaker 3: PWA's that are in the store would be Facebook is
Speaker 3: in the Facebook and I'm blanking on the other one.
Speaker 3: I was going to use us my example now, but
Speaker 3: they're in the.
Speaker 2: Store WhatsApps of PWA. But yeah, there's a whole.
Speaker 3: Bunch WhatsApp actually is in a PWA. Okay, well, not
Speaker 3: a conventional PWI. They are an interesting case. Facebook Messenger
Speaker 3: recently just got fortunately they got rid of it. I
Speaker 3: can't think of the word brain, but they were actually
Speaker 3: an interesting case of the PWA you installed from the
Speaker 3: store and the PWA you would installed from the web
Speaker 3: we're in't the same thing. Actually, when you installed it
Speaker 3: from the store, they installed a notification process in the
Speaker 3: background that was native code, so there was actually a difference.
Speaker 3: And luckily enough, the icons were also different, so you
Speaker 3: could slightly tell which one you had, but you will
Speaker 3: find PWA's in the store. And the advantage there is
Speaker 3: find a searchability. When you search in the store, you'll
Speaker 3: find them. That's one of the advantages also you get
Speaker 3: from even if you don't use our update, if you're
Speaker 3: in the store, people will search for them. We can
Speaker 3: handle those things, and we integrate with many parts of Windows.
Speaker 3: You're typing into the search and start, we will suggest
Speaker 3: apps from us. A feature we're currently experimenting with and
Speaker 3: I think some insiders have now is the open with dialogue.
Speaker 3: Instead of us just showing you, hey, these are applications
Speaker 3: that are installed on your system, we will actually show you,
Speaker 3: like the top three apps that can handle that file format,
Speaker 3: even if you don't have them installed.
Speaker 2: Right, So just the open width has been improved exactly.
Speaker 3: And if you're not in the store, we can't show
Speaker 3: that information about you.
Speaker 2: It's a great sales channel.
Speaker 3: So even if you are APWA and sure you don't
Speaker 3: need to go through us, you're not getting our update
Speaker 3: advantages and all that. But now you have the ability
Speaker 3: to say, hey, I can open this file format, do
Speaker 3: you want to use it? And now you can be
Speaker 3: installed there.
Speaker 1: All right, this seems like good place to take a break,
Speaker 1: so we'll take a quick break for some important messages
Speaker 1: when we come back. I got some questions about the updator,
Speaker 1: so stick around and we're back. It's dot net Rocks.
Speaker 1: I'm Carl Franklin. That's my buddy Richard Campbell. Hey, and
Speaker 1: that's our old friend Schmoui Angelard. We're talking about distributing
Speaker 1: Windows apps, and you mentioned a couple of times they're
Speaker 1: using our updator. They're not using our updator yep. So
Speaker 1: if I have an application that I want to distribute
Speaker 1: through the through the Microsoft Store, the Microsoft Store, right, yeah, yep.
Speaker 1: And I wanted to be helpful with updates, what does
Speaker 1: that do for me? Exactly?
Speaker 3: The updater having us do the updates. Mainly, the big
Speaker 3: thing is that you don't deal with them yourself. It's
Speaker 3: our CDN, so you don't have to worry about how
Speaker 3: you're distributing it. We have the up checking logic, Hey,
Speaker 3: is there an update? Is there not an update? We
Speaker 3: handle making sure that you don't have to worry about
Speaker 3: Oh so someone's hitting my update server pajillion times. And
Speaker 3: we will also do delta updates for you.
Speaker 1: But how does that manifest itself? To the user, like
Speaker 1: does the user when they run my program, does a
Speaker 1: dialogue box pop up and say there's a new version available,
Speaker 1: do you want to download it now?
Speaker 3: Because that's that is actually up to the app we
Speaker 3: in the background. By default, we will be updating your
Speaker 3: apps once we check once a day. By default, the
Speaker 3: user can click the check for updates as much as
Speaker 3: they like. But apps have control over if they want
Speaker 3: to force an update. For example, what's app does that?
Speaker 3: They will do a check and if your version is
Speaker 3: two out of date, they will force you to update.
Speaker 3: There are some apps that I know will do a
Speaker 3: check and then that you They let you decide.
Speaker 1: So is there an RSS feed or something like that
Speaker 1: that we subscribe to?
Speaker 3: So there's an API. We have the store APIs on Windows.
Speaker 3: There win our tapis, so you can use them from
Speaker 3: any app and they let you say check is there
Speaker 3: an update? You can then pop up a dialogue about it.
Speaker 3: You can force the update. You can even say hey down,
Speaker 3: download it, but only update it once the user restarts me.
Speaker 1: Right, so, and all the logic of you know, remind
Speaker 1: me in three days, five days whatever. You could do
Speaker 1: all that yourself.
Speaker 3: Yeah, yeah, those kind of things so we don't as
Speaker 3: we don't do the reminding. That's up to you, but
Speaker 3: we give you that power. You have the ability to
Speaker 3: do that, and then we'll update you if your app
Speaker 3: is run. If the app is running, we won't force updated.
Speaker 3: Apps can say we are allowed to, but the we won't.
Speaker 3: So that way you don't lose your important context or
Speaker 3: whatever it is you're doing.
Speaker 1: Right.
Speaker 3: Obviously, a user can always force it if they want to.
Speaker 3: Users have choice in the end of the day. There, yeah,
Speaker 3: and as do companies. We have GPO policy. So a
Speaker 3: company wants to say, hey, don't update these apps. I
Speaker 3: want them at whatever version they're at, they're stuck there.
Speaker 1: Now.
Speaker 3: We have GPO policies and we are working on building
Speaker 3: more over time. So companies aren't at the mercy.
Speaker 2: So you are able within the store to put your
Speaker 2: internal company app that are only available to your company employees.
Speaker 3: Unfortunately, no, no, that isn't on us anymore. That's the
Speaker 3: Store for business. We had that for a while.
Speaker 1: Well wait before you answer that question, what's a GPO policy?
Speaker 2: Yeah?
Speaker 3: Sorry, ah, yes, no group policy object.
Speaker 2: I think group policy objects. Yeah okay, yeah, my memory
Speaker 2: is good.
Speaker 1: So these are Windows policies basically at the enterprise level.
Speaker 3: Yep. These are We're mostly used to hearing the term
Speaker 3: MDM or mobile device management now and people think of
Speaker 3: that for their mobile devices. Windows does do that, but
Speaker 3: from historical perspective, we call them group policy objects. Yeah,
Speaker 3: and they're the way you can set it. So from
Speaker 3: a company's perspective, they have a giant hammer. They can
Speaker 3: just literally say you can't run the store. So if
Speaker 3: a user tries to launch it, we'll give them a
Speaker 3: nice dialogue and says, hey, we're sorry your company blocked us.
Speaker 3: We'd obviously love if they didn't do that, but they
Speaker 3: do have the giant banhammer. They can also control our
Speaker 3: auto updating, and they can control what apps you can install.
Speaker 3: So even if we'd love you to not hammer band
Speaker 3: the entire store, but you can still limit what apps
Speaker 3: the user can and can't install, and we will check
Speaker 3: that information before we install apps.
Speaker 2: This has been a run ass topic routinely, but it's like, okay,
Speaker 2: we only allow these versions of Adobe Reader, and so
Speaker 2: I can push out a policy to any of my
Speaker 2: company machines that says you can go to the store
Speaker 2: and get Adobe Reader, but only these versions.
Speaker 3: That's a bit more complicated there, because we have the
Speaker 3: concept of if it's a thing like oh, they have
Speaker 3: different products for each version, so twenty twenty five and
Speaker 3: twenty twenty four different products. You can do that, but
Speaker 3: right now we don't have the ability for you to
Speaker 3: say only this product, but only this particular version. I
Speaker 3: don't think. I admittedly, as I say it, I'm part
Speaker 3: of my brain is saying no, you can. But I'm
Speaker 3: not confident.
Speaker 2: I'm pretty sure I've done a show on that, truly,
Speaker 2: But I'm with you the I mean, you really see
Speaker 2: there's different categories here, right there's I have an app
Speaker 2: I want to sell. I put it on the store
Speaker 2: because it gives you marketing and a sales engine like
Speaker 2: you will cut me a check.
Speaker 3: Yes, yeah, we also do that. We to do that,
Speaker 3: you have to use our installer. We don't do that
Speaker 3: if you don't, and that's for licensing reasons, because if
Speaker 3: you're not using our installer, we can't control licensing concepts,
Speaker 3: which are required obviously if you buy it. But if
Speaker 3: you buy it through us, then it's installed. You can
Speaker 3: have it on up to installed onto ten devices actively
Speaker 3: at once. So it's not that you get it. You
Speaker 3: can have it on your laptop. You can have it
Speaker 3: on your desktop. You can have it on your Xbox,
Speaker 3: which is one of those depending on how you build
Speaker 3: your app. You can distribute it even on an Xbox
Speaker 3: if you're somehow still running a Windows phone. Even be
Speaker 3: my guest, it seems unlikely the lemetary logs, my friend
Speaker 3: I have a man. Admittedly, all those are people who
Speaker 3: are running whin have hacked Windows on ARM onto their phones.
Speaker 3: I haven't seen an actual Windows phone in a while,
Speaker 3: but I have seen in our logs the store is
Speaker 3: running on a Lumia nine point fifty, and I just
Speaker 3: love that.
Speaker 2: Yeah, no, someone is doing it.
Speaker 1: That's cool.
Speaker 2: I've got mine in my in a drawer somewhere. I'm
Speaker 2: sure it doesn't hold a charge anymore. It's just a
Speaker 2: shrine in my sadness.
Speaker 3: Oh no, no, that's assuming the battery hasn't expanded on
Speaker 3: you yet.
Speaker 2: Yeah. Yeah, it has set fire to the building. So
Speaker 2: then there, I mean, there's the I want to be
Speaker 2: paid for my app put it in the store. Then
Speaker 2: there's the I want to give away my app for free, yep,
Speaker 2: handle my distribution and my updates yep.
Speaker 3: So you can do both those. We handle that and
Speaker 3: then either way, as you said, you get the marketing,
Speaker 3: you get the open with experience, and as we expand
Speaker 3: more things, you'll get those. It also allows for from
Speaker 3: the enterprise perspective you have in tune. In Tune has
Speaker 3: access to our catalog. Yeah, so if you're assumed generally
Speaker 3: that's only for free app stuff, paid apps get but
Speaker 3: more complicated there. But your app now can be automatic
Speaker 3: installed on people's machines and then you got it there.
Speaker 3: So you've got all that. And then you also have
Speaker 3: if you're not using in tune, you also have win get,
Speaker 3: so command line access. Wind Get can install all our
Speaker 3: free apps, so you get a massive amount of development ease.
Speaker 3: People can just win get has their configuration files where
Speaker 3: they just like configure your repo for you. Well, that
Speaker 3: can include installing store apps. So you want to get
Speaker 3: Python from the store, be my guest. You want to
Speaker 3: get visual studio, it's in the store, visual studio code
Speaker 3: it's in the store, and all these things you can
Speaker 3: just quickly easily install and you find it. It's nice
Speaker 3: and easy like that, and we're constantly adding apps.
Speaker 2: Yeah, I wonder if it's a conversation that devs need
Speaker 2: to have with their it as well about hey, if
Speaker 2: you want me to employ this through the store, because
Speaker 2: always the question is do I want this app publicly visible? Ogain?
Speaker 3: Can I control who can see it? You have some
Speaker 3: level of control right now. The control is effect. It's
Speaker 3: it's kind of more like how you would think of
Speaker 3: like test flight on iOS, where you can give a
Speaker 3: bunch of msas Microsoft accounts and we will only allow
Speaker 3: these people to get the app. So if so, you
Speaker 3: can kind of do that. Obviously in a tiny shop
Speaker 3: that wouldn't be so bad. Giant corporation not so good.
Speaker 3: That's where you start looking at the intune side of things.
Speaker 3: But admittedly, the store right now is public only. You're
Speaker 3: either in the catalog or you're not. We don't have
Speaker 3: the idea of a hidden catalog. The best you could
Speaker 3: do is have an app that's not listed, meaning you
Speaker 3: have to know it's there to find it kind of thing.
Speaker 2: So you can do that. But that's security by obscurity,
Speaker 2: that's right, That's exactly.
Speaker 3: Yeah, So it will depends on what it is. If
Speaker 3: it's an app. We there are apps in the store
Speaker 3: where it's like it's obscurity. Plus you need to like
Speaker 3: log in, so it's like the app is useless to them,
Speaker 3: to somebody ran with it.
Speaker 1: Yeah, it seems to me that the store is really
Speaker 1: beneficial for those who want to distribute a publicly available application.
Speaker 3: Yes, that is our primary focus.
Speaker 1: Yeah, because the stuff you're talking about with updates and everything, like,
Speaker 1: we could do that stuff. I mean, you know, it's
Speaker 1: just looking at a manifest file somewhere, you know, and
Speaker 1: a quick API for it.
Speaker 3: But then you have we can do it, but then
Speaker 3: you have to have the logic to check. And then
Speaker 3: you have to deal with if your app is huge,
Speaker 3: now you're downloading the entire thing again, do Delta updates
Speaker 3: for you. We will calculate the difference.
Speaker 2: And then you have to deal with remote workers. Like
Speaker 2: it's one thing to set up a file on an
Speaker 2: internal server and everybody in the office gets a new version.
Speaker 2: It's another thing when you have a bunch of remote workers.
Speaker 2: Now it's got to be through the cloud, or it's
Speaker 2: got to be through a VPN. Having help you right, like, yeah,
Speaker 2: hevn help you. This is the I need you all
Speaker 2: the log into the VPN to get a new version
Speaker 2: of the app. And just watch your VPN crow yeah, right,
Speaker 2: your multi gigabyte file.
Speaker 1: I'm thinking of all the commercial Windows apps that I use.
Speaker 1: Most of them are hosted on their own branded website
Speaker 1: and you download them and then they should they phone
Speaker 1: home and check for updates and tell you when you've
Speaker 1: got a new version.
Speaker 3: Because they're a giant corporation, right exactly. When you're Adobe,
Speaker 3: sure you have that reach, right, but you're a developer,
Speaker 3: even as medium sized developer team may not have that reach.
Speaker 3: We have CDN servers all over the world.
Speaker 1: Which means yep, that's a benefit, and.
Speaker 3: We're hosting it. It's our CDN. If you're using our installer,
Speaker 3: at least, it's our CDN, which means you're going through
Speaker 3: our system. And it's the same CDN we use for
Speaker 3: other things like say Windows updates. So unless you're in
Speaker 3: a place where they're blocking Windows update, our CDN will
Speaker 3: get through.
Speaker 1: And if you are go somewhere else, come on, yeah,
Speaker 1: we would block Windows updates.
Speaker 3: It's like, uh, that's Richard's territory, I believe.
Speaker 1: Yeah, but I mean he's he's with me, I'm sure.
Speaker 1: I mean updates provide security, you know, in the in
Speaker 1: the big shops too.
Speaker 2: A lot of shops, like updates in the past have
Speaker 2: been blocked. Do you know that behavior is really you
Speaker 2: know we now we talk about the bigger risk here
Speaker 2: is on patch servers than it is bad updates. Yeah,
Speaker 2: and so you know you're better off to get the
Speaker 2: update as quickly as possible to deal with the effects,
Speaker 2: and you are to hold the update, find out you
Speaker 2: had a patch that could have fixed the problem, and
Speaker 2: then you've got the problem because you didn't have time
Speaker 2: to test the update.
Speaker 3: Yeah. Yeah, so it's not as big a thing anymore. Yeah,
Speaker 3: so we've got that, you've got our reach. You don't
Speaker 3: have to deal with that. But if you are a
Speaker 3: giant corporation like Adobe, Acrobat Reader is in the store
Speaker 3: and they're not using our installer, but they get our reach,
Speaker 3: and then you have other features like we recently rolled
Speaker 3: out the multi installer where a person can have a
Speaker 3: bunch of different apps and click install in one go.
Speaker 3: So Adobe now is once again part of that. It's
Speaker 3: as Richard said, it's the marketing angle.
Speaker 2: I usually do that with a wind gat script, but
Speaker 2: you're telling me I can just do the store now.
Speaker 3: We have a UI for it. It's not as controlled, right,
Speaker 3: now it's experimental rolling it out. Uh, it has its limits,
Speaker 3: but yeah, we are giving you the ability to install
Speaker 3: multiple apps at one go.
Speaker 2: At least if you know you've got five things, you
Speaker 2: want the fact that you don't have to wait for
Speaker 2: each to install and go, here's the five things go.
Speaker 2: That's a little more pleasant when Yeah, if you're whiting
Speaker 2: a wind get script, it's because you're a geek and
Speaker 2: you build a lot of machines. Like you want to
Speaker 2: see a guy who knows how to configure machine fast.
Speaker 2: You watch a guy like Paul Tharrott, and that guy
Speaker 2: tests three or four laptops a week. Oh yes, his
Speaker 2: box configuration process is polished. I've watched him in action
Speaker 2: because he just does it so much. He's not a
Speaker 2: normal hen Like most people don't build that many machines, right,
Speaker 2: but in it you did all the time.
Speaker 3: Yeah. No, And the multi install experience is mostly the
Speaker 3: idea is you just turned you've got a new computer.
Speaker 3: You want to install a bunch of apps kind of
Speaker 3: thing that's you know what you want is focused? Yeah, yeah,
Speaker 3: but we also have another advantage of going through us
Speaker 3: is that new PC experience the user logs and got
Speaker 3: a new computer they log in, we can Windows itself
Speaker 3: will offer the restore experience where we put back files
Speaker 3: and stuff that includes apps that are using our installer.
Speaker 3: If you're in the store using our installer tech, then
Speaker 3: we will we can let the user just click the
Speaker 3: restore button and we'll start reinstalling those apps for them,
Speaker 3: like you can look almost like migrating.
Speaker 2: Only if you're using your installer. Like yet another reason
Speaker 2: to use your installer, as it means you'll be included.
Speaker 2: You don't have to be top of mind.
Speaker 3: I personally would say the only reason to not use
Speaker 3: our installer is generally momentum, because you have your own
Speaker 3: installer already, yeah, and you already using it. That's the
Speaker 3: biggest reason I find is like it's a case of yes,
Speaker 3: there are advantages, but the effort it requires for us
Speaker 3: to move it. The other reason is when you start
Speaker 3: getting into cross platform stuff, right, because obviously our installer
Speaker 3: is Windows only. Technically it can run on other platforms,
Speaker 3: but I don't think anyone actually uses it for.
Speaker 2: That, right. Yeah, But if you're making an app that
Speaker 2: also runs natively on a.
Speaker 3: Mac, yeah, that now it's a bit more complicated. It
Speaker 3: doesn't mean make using our installer doesn't make sense. See
Speaker 3: WhatsApp they use our stuff and yet their cross platform.
Speaker 3: But if you want to have one installer kind of thing,
Speaker 3: then yeah, ours doesn't make as much sense. But for
Speaker 3: a lot of apps, it's a very easy process. The
Speaker 3: our installer is the MSIX both loved and hated. It
Speaker 3: is pretty much just a zip. It's a zip file
Speaker 3: pretty much of your app, all the files you need
Speaker 3: for it, and then an XML file that describes what
Speaker 3: you're installing in manifest, and in there you can do
Speaker 3: the manifest exactly and there you describe how to create
Speaker 3: start menu entries, what application, what excuse me, what file
Speaker 3: formats you can handle. You can also use it to
Speaker 3: register more advanced concept you have a Windows service, you
Speaker 3: can register one. You're going back into calm days and
Speaker 3: you need to do out of process comm stuff. You
Speaker 3: can register that. You want to register a file, not
Speaker 3: just a file handler, but you want to say, hey,
Speaker 3: I will give properties for the file or a right
Speaker 3: click menu, all those things we will do.
Speaker 2: And with that XML, yeah, is there a privilege request
Speaker 2: and things like that. This is where you set up
Speaker 2: the rules for Hey, I want your camera and I
Speaker 2: want this I want that.
Speaker 3: It's all the manifest that's also where you document all
Speaker 3: those things, right, and that's how it's the same system.
Speaker 3: You say, oh, I want to be able to elevate,
Speaker 3: I want to be able to access the whole file system,
Speaker 3: or I only need your documents folder and all those things.
Speaker 3: The things we think of for mobile apps usually oh,
Speaker 3: this app is going to access your camera. Well, we
Speaker 3: do the same, and you can say no, yeah, and
Speaker 3: so the user gets that. Obviously you don't want the
Speaker 3: user to say no. Admittedly, a user nicety is that
Speaker 3: it's easier to uninstall, but obviously as developer, you never
Speaker 3: want them to get there. Yeah, but it is a
Speaker 3: nicer experience for uninstalled if they need to and it
Speaker 3: are there limits to it? Yes, there are a few
Speaker 3: things you can't do. The biggest one is drivers. If
Speaker 3: you need to install a driver, you're going to have
Speaker 3: a bit of a headache. Technically, there's nothing stopping you
Speaker 3: from installing a driver from a technical perspective, but we
Speaker 3: will block you. We scan all our you submit an app,
Speaker 3: we are scanning it, we are putting it. We will
Speaker 3: trial install it on VMS in the cloud and see
Speaker 3: what you've done so, and we will run down through
Speaker 3: this virus scanner, malicious scanner and all those different things.
Speaker 3: So we are checking that you're not doing something we
Speaker 3: didn't tell.
Speaker 1: You to do.
Speaker 2: But the bottom line is, if you have an app
Speaker 2: that absolutely needs a driver, you need to go about
Speaker 2: this a different way.
Speaker 1: Yeah.
Speaker 3: Generally, yes, Obviously if you're a giant isv things get
Speaker 3: a bit more complicated. Sure, like you're Intel or whatever.
Speaker 3: We have ways to do that, but the over general,
Speaker 3: the general rule is unless the driver is signed by Microsoft,
Speaker 3: it's not in the store. Right, So that's how CIS
Speaker 3: internals can install a driver. CIS Internals a powerful app.
Speaker 3: It's in the store using our installer, So I like
Speaker 3: to use them as the example. If cis internals can
Speaker 3: do us, then anyone.
Speaker 2: Can, right. You just have to go through the rule.
Speaker 1: So this internals works for you now, right.
Speaker 2: Microsoft?
Speaker 3: Yeah, yeah, right, yes, we really wanted him, but you
Speaker 3: know it will take your product too. Well. Yeah, but
Speaker 3: they're in the store using our updator and they do
Speaker 3: install a driver, but it's a Microsoft sign driver, so
Speaker 3: it's fine. Interesting, But yeah, generally speaking, there are very
Speaker 3: few apps I can think of that I would have
Speaker 3: installed on my computer. That wouldn't make sense. And the
Speaker 3: biggest one, honestly is visual Studio. Code is Visual Studio,
Speaker 3: not even Visual Studio code visual Studio. They're not going
Speaker 3: to use our installer because it's actually not one products,
Speaker 3: it's like twenty different products.
Speaker 2: Oh yeah, the install process is crazy.
Speaker 1: Yeah, they have their own installer. That's how big it is.
Speaker 3: Yeah, and there are a case where it makes sense,
Speaker 3: but most apps it doesn't. You don't need to be you.
Speaker 3: What are you installing one thing? Your your got as
Speaker 3: I like to put it. If you can be X
Speaker 3: copy installed, yeah, you are perfect candidate.
Speaker 1: Yep.
Speaker 3: There is nothing you can pretty much be doing at
Speaker 3: that point that we can't handle. Sure, and even those
Speaker 3: we can. As I said, Windows Services integration points with
Speaker 3: Windows you don't have to deal with the registry. You're
Speaker 3: filling out an XML thing that we will tell you
Speaker 3: when you try to create a package. Yeah, you did
Speaker 3: something wrong, right, It's not you installing it into the
Speaker 3: registry and now hoping you got it right.
Speaker 2: So can we talk a bit about the various update
Speaker 2: strategies because I know we have versions we hate and
Speaker 2: versions we can tolerate. I use the Azure Explorer all
Speaker 2: the time, and it'll always pop up and thinks says, hey,
Speaker 2: there's an update. Do you want to install it now
Speaker 2: or when you're finished? And I'm like, hey, I appreciate
Speaker 2: that because I got stopped to do That's why I
Speaker 2: spend this and updating you wasn't one of them.
Speaker 1: Yep.
Speaker 3: So by default we do a check every twenty four
Speaker 3: hours right to see if there's updates, and if there are,
Speaker 3: we'll try to install them. If the app is in use,
Speaker 3: we will still download it, but the install will then
Speaker 3: fail and we see, oh you're using it will late
Speaker 3: to later when we retry, there's different logic and algorithms.
Speaker 3: With a back off, we'll say okay, we try a bit, Nope,
Speaker 3: still not fine. I'll try again later.
Speaker 2: So, as me as a dev, do I have some
Speaker 2: control here? Like? How did they?
Speaker 3: You do have some You can force it to be faster?
Speaker 2: Yeah, how did Azure Storage know how to pop that
Speaker 2: thing up? To me?
Speaker 3: You can do it faster? As a developer, you can.
Speaker 3: There's an API We'll we'll definitely put in the links
Speaker 3: that you can say, hey, I want to know if
Speaker 3: there's updates and if there are, apply them, now apply
Speaker 3: them when I'm done running whatever. So a lot of
Speaker 3: apps do that, but you don't need to, and you can.
Speaker 3: It's your choice. We're not going to force you to,
Speaker 3: but you do.
Speaker 2: Now.
Speaker 3: The one thing we don't have is pinning. So if
Speaker 3: an app, when you install the app, it will be updated.
Speaker 3: You can delay it as much as you'd like, but
Speaker 3: it will be updated because, as we said, with security,
Speaker 3: we don't want Yes, you may want to hold onto
Speaker 3: your version forever, but we don't really understand the concept
Speaker 3: of security versus Oh, I added a billion new features
Speaker 3: with a billion new bugs, right, and therefore you will
Speaker 3: get your update. There's no question.
Speaker 2: Yeah, because then what's the other way that? I mean,
Speaker 2: it's the awful way, which is you go to open
Speaker 2: the app and goes there's an update, and you will
Speaker 2: sit here while I update. Yeah. I also like how
Speaker 2: the browsers do it where you get little icons just
Speaker 2: like hey, you should close this and reopen it for
Speaker 2: the new version, and it starts off with just like
Speaker 2: a little yellow and it gets right, it's like you
Speaker 2: really need to do this, Oh yeah, you know it's
Speaker 2: been that week. I really really need you to do this.
Speaker 3: Yes, and you could do that. You will have to
Speaker 3: write the UI to do it, to check for updates
Speaker 3: and then show that button, and plenty of apps do that,
Speaker 3: but you don't have to.
Speaker 2: Yeah, no, And I just appreciate if I'm working with
Speaker 2: you that I will still want to give my by
Speaker 2: using the Microsoft Update or I'm not guaring taying my
Speaker 2: customer a bad experience.
Speaker 3: Yeah, it is at the end of the day, and
Speaker 3: if the customer wants to force the update, they can.
Speaker 3: In the store, we show you the list of apps
Speaker 3: that have updates, and if you try to update an app
Speaker 3: that's currently running, we'll first time we say no, it's running,
Speaker 3: and then the user can say I don't care update anyways,
Speaker 3: and then it will be updated. Right, So the user
Speaker 3: still is in control, right.
Speaker 2: Or at least they feel like they're in control.
Speaker 1: And that's the most important thing, like that feel think
Speaker 1: they're in control.
Speaker 2: Feelings all right. Now, I get this and it makes
Speaker 2: a good case for I just it lightens my load
Speaker 2: if I'm prepared to jump through the hoops deploying into
Speaker 2: the store in terms of making apps available, and then
Speaker 2: I can just push my updates up to the store
Speaker 2: through the API, and that's then handled for it.
Speaker 3: You can do continuous integration.
Speaker 2: And then if I want to make it pretty, I
Speaker 2: can write some code and interact with it.
Speaker 3: Yep, you can do continuous integration. As we were saying,
Speaker 3: you have your fancy CI. We have actions for GitHub,
Speaker 3: actions for debt as your pipelines as well as just
Speaker 3: an outright command line tool that you can run and
Speaker 3: you can therefore push your updates up to us and
Speaker 3: then boom, now we have the new version. So it
Speaker 3: doesn't require you will need manual interactions for the first
Speaker 3: upload because you've got to tell us all about your app.
Speaker 3: But when you're doing updates, you don't have to. You
Speaker 3: can just have it as magical automation and we'll get
Speaker 3: it and distribute it.
Speaker 1: So have we talked about pricing yet We haven't.
Speaker 3: And the good news is we recently rolled out that
Speaker 3: now to go through US is completely free.
Speaker 2: Oh that's a good price.
Speaker 3: We don't charge you anything unless you make your users
Speaker 3: pay something. We won't charge you, not even for registration.
Speaker 1: Wow.
Speaker 3: So you have an app if it's free, there is
Speaker 3: literally zero cost to you.
Speaker 2: Wow. An is it the typical thirty percent?
Speaker 3: Yep, it's the thirty percent I think there are some
Speaker 3: different numbers there based on like how much your app
Speaker 3: is used or whatever. I don't know the details, admittedly, sure,
Speaker 3: but it is a system of yeah, if you are
Speaker 3: now charging your users will take the thirty percent cut.
Speaker 3: But you don't have to.
Speaker 1: But I'll let you also handle all the money, right,
Speaker 1: so people buy it from the store and then you
Speaker 1: cut me check at the end of the month.
Speaker 3: There we deal with taxes.
Speaker 2: And when you say handle all the money, you mean taxes,
Speaker 2: like that's the service.
Speaker 3: We will handle sales tax and all that. We will
Speaker 3: handle conversion between units. We will handle your payment options.
Speaker 3: The user wants to pay using PayPal, they want to
Speaker 3: use a credit card, we deal with that. And then
Speaker 3: also we're dealing with your licensing. As I said, you
Speaker 3: install it now you have ten licenses to it, right, right,
Speaker 3: it's our headache, not yours. You don't have to do
Speaker 3: the check of oh is this user allowed to run
Speaker 3: the app? There's no. You don't have to have an
Speaker 3: account system if you don't want it and all that. Nope,
Speaker 3: no user logs in and we're good.
Speaker 1: Nice And again you said you can handle like Xbox
Speaker 1: games and things like that. If I want to put
Speaker 1: ye a game out there.
Speaker 3: You want to make an app that runs on the Xbox,
Speaker 3: you can go through us, and you know what, you
Speaker 3: can still be paid also for that.
Speaker 1: Android apps a lot of games that way.
Speaker 3: Android apps. Know, unless you're in China, then you get
Speaker 3: to be special.
Speaker 2: But now I normally expect that I deploy iPhone apps
Speaker 2: to the Apple Store. It just knows. They want their
Speaker 2: cat am i Android apps to the Google Store. They
Speaker 2: want their cat Google Play and then Windows stuff.
Speaker 3: Yeah yeay, you you laugh. But I My favorite bug
Speaker 3: report ever was a user complained that they couldn't install
Speaker 3: a Mac app in the from the Windows Store.
Speaker 2: From the Windows Store.
Speaker 1: Oh that's funny.
Speaker 2: Done, dun't. Uh, that's awesome.
Speaker 3: Yeah, so users can get confused, but yes, it is
Speaker 3: the app store model you're used to.
Speaker 2: It's not like we made stuff easy for him either.
Speaker 3: No, and unlike those other app stores, you don't have
Speaker 3: to use our payment system. We don't require it. Interesting,
Speaker 3: you can no legal We are not forced by legal
Speaker 3: or governments to allow it, but we will allow it.
Speaker 3: You want to use your payment system, be our guest.
Speaker 3: Obviously we don't help you anymore. You don't get our
Speaker 3: licensing features and all that. But you want to do it,
Speaker 3: it's your you can do it. Just like with the installers,
Speaker 3: will happily still host your app for us. It will
Speaker 3: be effectively a free app as far as we know.
Speaker 3: But you can then have users have to pay somehow.
Speaker 3: Adobe does that for some of the products I know
Speaker 3: for an example, they have where the installer. We have
Speaker 3: the installer effectively, but you still need to log in
Speaker 3: with your Adobe account, and then it's Adobe's payment system,
Speaker 3: and then you're not giving us any money. You're giving.
Speaker 3: It's whatever the percentage your payment processor is taking, so nothing.
Speaker 3: So you have options. You can use our installer you cannot.
Speaker 3: You can use our payments you cannot. We are very
Speaker 3: much our goal is to be how you get the app.
Speaker 3: Beyond that, we'll give you options, we'll let you do them.
Speaker 3: But if you don't want to use our stuff, I
Speaker 3: mean more pain to you.
Speaker 1: That's pretty cool.
Speaker 2: Yeah, I like it.
Speaker 1: Yeah, I'm a believer. Smoothly, Is there anything else that
Speaker 1: you want to say before we sign off?
Speaker 3: I'd say we have a discord. There is a we
Speaker 3: are in the Windows App Developer discord. We have a
Speaker 3: channel there and we will We are very good about
Speaker 3: trying to answer people's questions. So something here you don't know,
Speaker 3: you can reach out there, people can reach out to me.
Speaker 3: We will try our best to help you and looking
Speaker 3: forward to having your apps very cool.
Speaker 2: I'm just trying to deal with Microsoft having a discord.
Speaker 2: That's very hipster of you. We had a slack at
Speaker 2: one point. I don't think we do any more. That's
Speaker 2: weird too.
Speaker 3: Sorry, it will have to migrate to teams right.
Speaker 4: Oh no, no, no, no, please, no more teams smoothly.
Speaker 4: It's been great catching up with you, and thanks for
Speaker 4: all the great information and I'm sure everybody really.
Speaker 1: Appreciates it, of course.
Speaker 5: All right, and we'll talk to you next time on
Speaker 5: dot net frocks.
Speaker 1: Dot net Rocks is brought to you by Franklin's Net
Speaker 1: and produced by Pop Studios, a full service audio, video
Speaker 1: and post production facility located physically in New London, Connecticut,
Speaker 1: and of course in the cloud online at pwop dot com.
Speaker 6: Visit our website at d O T N E t
Speaker 6: R O c k S dot com for RSS feeds, downloads,
Speaker 6: mobile apps, comments, and access to the full archives going
Speaker 6: back to show number one, recorded in September two.
Speaker 1: Thousand and two, and make sure you check out our sponsors.
Speaker 1: They keep us in business. Now go write some code,
Speaker 1: see you next time.
Speaker 3: Got vans and chime.
Speaker 1: God, my face is hard than my taxes.
Speaker 3: In line D