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 will 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: Carl and Richard here with your twenty twenty four NDC schedule.
Speaker 2: Will be at as many NDC conferences as possible this year,
Speaker 2: and you should consider attending no matter what. The Copenhagen
Speaker 2: Developers Festival happens August twenty sixth through the thirtieth. Tickets
Speaker 2: at Cphdevfest dot com.
Speaker 1: NDC Porto is happening October fourteenth through the eighteenth. The
Speaker 1: early bird discount ends June fourteenth. Tickets at Ndcporto dot com.
Speaker 3: And we'll see you there, we hope.
Speaker 1: Hey, guess what it's dot net rox. I'm Carl Franklin,
Speaker 1: and I'm Richard Campbell, and Billy Hollis is here. Billy,
Speaker 1: you can chime in anytime, because I think you can.
Speaker 2: Pass the threshold.
Speaker 4: I appreciate that I do, and I might, but you know,
Speaker 4: I know you guys have early show things you need
Speaker 4: to do, so I'll want you to go ahead and
Speaker 4: do that.
Speaker 2: No your first rodeo.
Speaker 1: Yeah, well, Billy, I don't know. I kind of think
Speaker 1: you're really gonna love my better no framework. And there's
Speaker 1: two of them for today, so by all means, feel
Speaker 1: free to jump in. After we roll the crazy music,
Speaker 1: let's go.
Speaker 4: What do you got?
Speaker 1: All right? So I have a link to a Reddit
Speaker 1: rant and it's all about somebody who's ranting about zamal
Speaker 1: or WPF. Right, so here you go WPF zamal frustrations. Bill,
Speaker 1: You're gonna love this. I love that this is good
Speaker 1: and this is from three years ago. I am attempting
Speaker 1: to broaden my c sharpabilities by making different UI projects.
Speaker 1: I've had two experience with examal, once at making a
Speaker 1: simple phone app, another just now while trying to make
Speaker 1: a personal project. Both have been incredibly infuriating. The first
Speaker 1: time I would just assume I was being dumb, but
Speaker 1: now I feel as though examal is just a steaming
Speaker 1: pile of dog shit nice. Anytime I edit a file,
Speaker 1: dot zamal er dot c S Visual Studio loses its
Speaker 1: fucking mind and throws the most ridiculous errors that I
Speaker 1: have nothing to do with the problem. And I think
Speaker 1: that's more about visual Studio and no about examble. But
Speaker 1: half the time some magicalxamal dot g dot cs file
Speaker 1: breaks for no good reason in parentheses. No, it's not
Speaker 1: the common problem name spaces being wrong. Cleaning in or
Speaker 1: rebuilding the solution does not remove those errors. I have
Speaker 1: to let it happen, clear the file, and save it
Speaker 1: over again again. Nothing else in the change is just
Speaker 1: saving over these filed generated files fixes it. Then when
Speaker 1: I go to launch the project, it will not bring
Speaker 1: up the main view seventy five percent of the time
Speaker 1: without changing my code. Just some seemingly random combination of
Speaker 1: cleaning and rebuilding allows it to start again. I'm way
Speaker 1: better with back end stuff, so maybe I'm doing something
Speaker 1: horribly wrong. I read the documentation, searched for solutions to
Speaker 1: my particular errors, and check every detail, but still feel
Speaker 1: like examble is an uphill battle. End of rant. And
Speaker 1: then he goes on and people try to talk him
Speaker 1: off the ledge. But Billy, I thought.
Speaker 4: You, well, Zambo is an uphill battle.
Speaker 1: I thought you'd get a kick out of that.
Speaker 4: Learning how to use it effectively is hard. It's the
Speaker 4: C plus plus of enterdetechn of versation.
Speaker 2: Just waiting with a zero pointer to move everything.
Speaker 4: But you can do things with it that are difficult, impractical,
Speaker 4: or in a few cases impossible to do with other
Speaker 4: common technologies. And once you do learn how to do it,
Speaker 4: and you learn to switch your mind and how to
Speaker 4: think about it, then you can create experiences for the
Speaker 4: users that have enormous value. It's worth it, but I'm not.
Speaker 4: I've never been one to say that you should just
Speaker 4: jump and dizamble and start using it. And no, it's
Speaker 4: it's it's a real uphill struggle. I mean, look, I
Speaker 4: made a lot of money training people and examble for
Speaker 4: many years because I constructed an approach to help people
Speaker 4: switch from the way they think about programming in regular
Speaker 4: code see sharp or whatever, which is an imperative way of.
Speaker 1: And as I said, I think this guy's problem was
Speaker 1: clearly one hundred percent visual studio.
Speaker 2: It wasn't you know. I read a little further down
Speaker 2: the line there he was using MVVM cross, So I
Speaker 2: wonder if he wasn't using it well, because you know,
Speaker 2: you have to approach those libraries with their intent. So
Speaker 2: I suspect he may have been just fighting with MVVM.
Speaker 2: And let's face it, when you mess with something related
Speaker 2: to the library, it's gonna spew terrible messages like you
Speaker 2: were gonna have it.
Speaker 1: All right, So I have something else that I want
Speaker 1: to bring up in better no framework. I actually have
Speaker 1: two things. So Zamal for Blazer came out last year. Now,
Speaker 1: Zamal for Blazer is the brain child of Giovanni Albani,
Speaker 1: who's the guy behind open Silver, and it's also based
Speaker 1: on open Silver. So this is basically unleash the power
Speaker 1: example in your Blazer applications. Yeah, so it and open
Speaker 1: Silver was sort of an open source version of silver
Speaker 1: Light that Giovanni started. In fact, we interviewed him twice.
Speaker 2: Yep, yeah we he interviewed him twenty delivered.
Speaker 1: It exactly in twenty twenty and in twenty twenty one
Speaker 1: when he delivered it, and so so this is this
Speaker 1: is interesting stuff. So if you're you know, you want
Speaker 1: to get on the web and silver Light was the end,
Speaker 1: I'll be all for you. And you liked Xamal in
Speaker 1: the browser, uh, Zambal for Blazer, Zamal Dash four Dash
Speaker 1: Blazer dot com checking out.
Speaker 4: That's been on my list to check out for a while.
Speaker 2: Yeah, it sounds like a show in the making, isn't it.
Speaker 4: I've done most of my stuff in that space with
Speaker 4: the Uno platform, yeah, and that has worked out pretty
Speaker 4: well in general. They was a real road there over
Speaker 4: the last five or six years to get that complete
Speaker 4: and stable, especially for the web. Some of the early
Speaker 4: stuff they.
Speaker 2: Did, yeah, you know, did a lot of twist and turns.
Speaker 2: They came into the game as a UWP platform and
Speaker 2: realized they needed to transform and did yeah, like quite
Speaker 2: an accomplishment really.
Speaker 4: So they're an interesting alternative to Zammering now for multiplatform stuff,
Speaker 4: and so I've been spending time with that. But yes,
Speaker 4: I'd like to take a look at Zambal for Blazer
Speaker 4: because I really do hope that the responsiveness of the
Speaker 4: Blazer engine will be the way to get a lot
Speaker 4: of the experiences I want to see and just normal websites.
Speaker 1: And you know, I'm I'm not gonna stop on the
Speaker 1: whole visual studio challenge thing. I often had problems like
Speaker 1: that even with MAUI in visual studio, with xamble, you know,
Speaker 1: overriding and generating files and then being out of sync
Speaker 1: and stuff. It's better now. But one of the things
Speaker 1: that's cool about the web platform is the whole rendering process.
Speaker 3: Right.
Speaker 1: You don't typically have those problems because but the end
Speaker 1: product you're looking at is just pure markup right in
Speaker 1: code or whatever. So anyway, that's a that's my rant.
Speaker 1: Who's talking to us?
Speaker 2: Richard grabbed a calm on top of Billy's last show
Speaker 2: when we did back in December twenty two, episode eighteen
Speaker 2: twenty two. Coincidental numbers. By the way, I believe this
Speaker 2: is your twenty fourth episode, Billy, oh man, I wow,
Speaker 2: do believe we owe you like a sack of submarine
Speaker 2: though this point. You were a guest on episode three three, Yeah,
Speaker 2: you know, and here you are now on what is
Speaker 2: this episode nineteen fifteen?
Speaker 4: So I can't believe people aren't just tired to listen
Speaker 4: it to me.
Speaker 2: Well, I'm not, you know. I call you routinely because
Speaker 2: I see the work you're doing. I'm like, oh, dude,
Speaker 2: I want to talk about that, right, Like that's the reality.
Speaker 4: Always doing something new. I'm too easily bored to keep
Speaker 4: doing the same self.
Speaker 1: So exactly true.
Speaker 2: Still, so that last episode was Thinking High Level Design,
Speaker 2: which I thought was really enjoyable. We had a great
Speaker 2: conversation there, and the audience seemed to agree because lots
Speaker 2: of messages and this one's from Ismo who said this
Speaker 2: sounded like a fun episode of discourse with Billy, Carl
Speaker 2: and Richard. It really got some wheels turning into discussion.
Speaker 2: One particular part of the episode that stood out for
Speaker 2: me is when Billy mentioned the idea that companies quote
Speaker 2: have designers, but they don't know how to implement design
Speaker 2: thinking and produce great high level design. Similarly, I find
Speaker 2: we could apply the same logic to most enterprise architects.
Speaker 2: They know how to organize and dive deep into code
Speaker 2: and maybe how to output some pretty nice cloud diagrams,
Speaker 2: but we seem to fail spectacularly in putting all the
Speaker 2: pieces together to make a very well put together pieces
Speaker 2: of software. High level design thinking can fit this, if
Speaker 2: only we could get out of our own way.
Speaker 4: I can't argue with any of that.
Speaker 2: Well, my immediate thought is, you know where do most
Speaker 2: architects come from? This is my only promotion path as
Speaker 2: a developer, So you're sort of driven into the architectural role,
Speaker 2: whether it's a natural fit for you or not, and
Speaker 2: you rarely get additional training. And so this idea of
Speaker 2: being that architectural leadership, of really being you know, responsible
Speaker 2: for the shape of your project, I just don't know
Speaker 2: that anybody takes that on intentionally. You have to eventually
Speaker 2: realize it needs to be done or you don't. And
Speaker 2: it's a weak spot in the whole thing.
Speaker 4: There isn't really an education path for it, right, Yeah,
Speaker 4: So somebody has kind of have some natural talent and
Speaker 4: try things out, maybe they have a mentor if they're lucky.
Speaker 4: But the supply of enterprise architects who are actually good
Speaker 4: at what they do is so limited that it's it's
Speaker 4: hard to find a mentor and do things. You have
Speaker 4: to solve real problems to do it, and we really
Speaker 4: don't have anything a lot. We have less than ten
Speaker 4: percent of the expertise in our product atensure that we
Speaker 4: need in this profession.
Speaker 1: Well, and going back to design aptitude, I have a
Speaker 1: story from my own family. My daughter Emmy in as
Speaker 1: a junior in high school. Turns out she had ridiculous
Speaker 1: artistic talent, right she was doing three D models, and
Speaker 1: she met with one of her mentors who said, you
Speaker 1: should go to in for industrial design. So she went
Speaker 1: to Rhode Island School Design, which is Risney's prestigious design
Speaker 1: school in these coasts, and Risney and got a degree
Speaker 1: in industrial design. And I said to her, hey, you know,
Speaker 1: can you help me with like some some web stuff.
Speaker 1: She's like, I don't want to do web stuff. Hey
Speaker 1: can you help me with some graphics? And that I
Speaker 1: don't want to do graphics, you know, she's like, she
Speaker 1: was like, I want to do industrial design. Guess what
Speaker 1: she's doing.
Speaker 4: Now, what's that?
Speaker 1: Web design?
Speaker 4: Web design?
Speaker 1: Yeah? All right, well she's doing it on the side,
Speaker 1: but yeah, she.
Speaker 4: Has That's just that's the easy way to get into design.
Speaker 4: And it is a look. I go to a lot
Speaker 4: of meetings of meetups for designers, for visual designers, and
Speaker 4: I talked to a lot of people at conferences and
Speaker 4: things like that, and we've reached a point now where
Speaker 4: those people, for a lot of the decision makers in business,
Speaker 4: those web designers, that's what design is. Yeah, as far
Speaker 4: as executives are concerned, that's not really healthy. Because that's
Speaker 4: why I started to talk more about design thinking instead
Speaker 4: of just design because the term design is so overloaded.
Speaker 2: Yeah, so sure so is well, thank you so much
Speaker 2: for your comment, and the copy music co Buy is
Speaker 2: on its way to you. And if you'd like a
Speaker 2: copy of music go buy right a comment on the
Speaker 2: website at dot at rocks dot com or on the facebooks.
Speaker 2: We publish every show there and if you comment there
Speaker 2: and to read on the show, we'll send you a
Speaker 2: copy of music go buy.
Speaker 1: And yeah, music to code buy is still going strong. Yeah,
Speaker 1: people are still loving it helps you stay and focus
Speaker 1: while you code or do anything deep work. It's the
Speaker 1: term I heard today. I like that talking about work.
Speaker 1: All right, So let me formally introduce Billy Hollis in
Speaker 1: case you've been sleeping under a rock for the last
Speaker 1: twenty years. Billy is a software designer and developer with
Speaker 1: a contrarian streak that often challenges conventional wisdom in the industry.
Speaker 1: Is that true, Richard.
Speaker 3: No mo.
Speaker 2: If you need to to testers for every developer, you
Speaker 2: must suck as.
Speaker 3: A developer.
Speaker 1: End quote. He has a consulting practice in Nashville, Tennessee, USA.
Speaker 1: He and his team focus on user experience design, which
Speaker 1: is ux advanced user interface development. Rules based architectures and
Speaker 1: healthcare systems. He teaches classes for design thinking and UX
Speaker 1: design and technical classes on zamal for win UI and
Speaker 1: Zamle for WPF. Okay, there you go, your official bio
Speaker 1: for today. Billy, you go.
Speaker 4: Yeah, And what the bio never says, because there's no
Speaker 4: good way to put it in there, is that what
Speaker 4: I really am is a generalist. And I decided that
Speaker 4: all the way back in high school that that's what
Speaker 4: I was going to be. In an economy where everybody
Speaker 4: tells you to specialize, I already decided I was going
Speaker 4: to be a generalist.
Speaker 2: When I first met you, and at least twenty years
Speaker 2: ago now you were much more an app architect personality.
Speaker 2: I watched you evolve into someone who cared deeply about design.
Speaker 4: Well, you watched me expose it. Yeah, perhaps, says but
Speaker 4: I cared about it before that. It's just that nobody
Speaker 4: else in the industry did, so I didn't talk about
Speaker 4: it then.
Speaker 2: Well, and the tech also changed, Like you were there
Speaker 2: first when zamble emerged, and you were long before Microsoft
Speaker 2: knew what the heck to do with that, you were
Speaker 2: already gone in a way.
Speaker 4: Well, that was the reason I embraced it so much.
Speaker 4: Is that sensibility about doing design? Remember my first book
Speaker 4: in nineteen ninety nine has the title Design, Specification and Objects,
Speaker 4: which kind of helps you understand that I was moving
Speaker 4: in that direction even earlier. But yeah, nobody cared about
Speaker 4: it until some of the technologies came out to be
Speaker 4: able to do some of these interesting things.
Speaker 1: Nineteen ninety nine when the word objects was novel was novel.
Speaker 4: Yeah, and the iPhone was one of the break points
Speaker 4: to put people into a new way of thinking to.
Speaker 2: Learn the words.
Speaker 4: So that's why I began talking about it more. I
Speaker 4: cared about it before that, and I've certainly learned a
Speaker 4: huge amount of the last fifteen years. But yeah, I
Speaker 4: always cared more about it that I think than most
Speaker 4: people in the industry.
Speaker 1: So you're thinking these days about how to make design pay?
Speaker 1: What do you mean by that?
Speaker 4: Yeah, well, see, that's that's because the entire area is confused.
Speaker 4: I talked about this. You go to a typical person
Speaker 4: running a software development team and he somebody tells him, man,
Speaker 4: you need a designer, and he goes to HR what's
Speaker 4: what's what are they going to get? They're probably going
Speaker 4: to get a web designer, because that's just what the
Speaker 4: industry kind of thinks. Well, the term design thinking is
Speaker 4: to help break loose from that, because from my perspective,
Speaker 4: that kind of visual oriented design is the lowest step
Speaker 4: above not doing design at all.
Speaker 1: Hamburger menu or no Hamburger menu.
Speaker 4: Yeah, I don't mean to say it doesn't any value,
Speaker 4: because it does. Nobody wants an ugly application or website,
Speaker 4: and proper layout and good cosmetics do in fact increase
Speaker 4: the quality and value of websites and of apps. But
Speaker 4: when you start getting into interaction now, the potential for
Speaker 4: design to do things goes up. And there's a spectrum
Speaker 4: that goes all the way up to business process re engineering,
Speaker 4: designing entirely new ways for a business to operate. Design
Speaker 4: thinking embraces that entire spectrum. And I want people in
Speaker 4: the industry to kind of understand what level are you at,
Speaker 4: because what level you're at now determines what kind of
Speaker 4: people do you need to get to help you Billy.
Speaker 1: Sometimes you know this the simplest decision, the simplest decision
Speaker 1: should it go here or here, can make the difference
Speaker 1: between some process that takes an hour and a process
Speaker 1: that takes ten to fifteen minutes, the simplest decision.
Speaker 4: There's a famous article that's that's still relevant called the
Speaker 4: six million dollar Button. Yeah, you've probably seen that article
Speaker 4: one time or another. Thad if you google that, anybody
Speaker 4: who's listening can google that and get the article on
Speaker 4: how moving a button save six million dollars?
Speaker 1: Are banks the worst? Bank websites the worst? In your opinion?
Speaker 1: I mean in my opinion. Richard's nodding in, So I
Speaker 1: have a local bank, and I wouldn't trade them for
Speaker 1: the world. They're the best because they're local. Even when
Speaker 1: I go to like the virtual ATM, like the people
Speaker 1: that come on screen, Oh hey, Carl, how's it going.
Speaker 1: How's the band right? Like? I feel connected to this bank.
Speaker 1: And yet the process for doing ach payments, which is,
Speaker 1: you know, direct deposit payments, requires you to go to
Speaker 1: a screen see a list of the last payments that
Speaker 1: you did, that all the way down to Texas, you know,
Speaker 1: And to start a new one you have to scroll
Speaker 1: all the way to the bottom and hit new nice.
Speaker 1: And then after you do a new one, it goes
Speaker 1: to the bottom again, and so you have to sort
Speaker 1: by date and then sort by date again to get
Speaker 1: to what you just put in so you can edit it.
Speaker 1: And this is the dumbest fucking thing I've ever seen.
Speaker 1: And it's a bank.
Speaker 4: Well, yeah, banks are some of the worst offenders, and
Speaker 4: there really isn't much excuse for that. My eighty eight
Speaker 4: year old mom does online banking and they keep changing
Speaker 4: the site. Now. Look, she's smart and she did eventually
Speaker 4: learn to do her online banking. In fact, she prefers
Speaker 4: it now. Her mobility is more limited than it used
Speaker 4: to be, so not having to trot down the bank
Speaker 4: is a big help for her. But I mean when
Speaker 4: she calls me once every year or two, they've changed
Speaker 4: the page and I don't understand what.
Speaker 1: Yeah, oh, they made it easier, mom, They and they didn't.
Speaker 4: Make it easier, that's the problem. In many cases, they
Speaker 4: just changed it for the sake of change. Now the
Speaker 4: banks are learning and they are getting better. My bank
Speaker 4: US Bank actually does a pretty good job with their
Speaker 4: website and just an excellent job with the app that
Speaker 4: they put on the phone, So they're kind of learning this.
Speaker 4: But yeah, I hear complaints about banking sites and apps
Speaker 4: all the time.
Speaker 1: I guess if it works, that's enough for them. Right,
Speaker 1: because people are going to be able to do and
Speaker 1: it doesn't matter how frustrating it is for them, they'll
Speaker 1: do it.
Speaker 4: That was a quote that I coined way back in
Speaker 4: probably twenty eleven, was that for most of the time
Speaker 4: in this industry, just making something possible was enough that
Speaker 4: people consider themselves successful. But it really shouldn't be it. Also,
Speaker 4: you also should consider making it easy as part of
Speaker 4: their success.
Speaker 1: And enjoyable even shall we even go that far?
Speaker 2: Yeah, delightful, but yeah, okay, we talked about the six
Speaker 2: million dollar button. The real question always is you're delaying
Speaker 2: writing code, messing around with the design stuff. Let's just
Speaker 2: get to work.
Speaker 4: Yeah, And my perspective on that is, and having been
Speaker 4: involved in a ton of projects both with and without
Speaker 4: design up front, all the way back to see stuff
Speaker 4: in the eighties and the late seventies, I have never
Speaker 4: seen a project where designed doing design up front wasted
Speaker 4: time or took more time until you finally got delivery.
Speaker 4: And the reason is it eliminates a lot of blond alleys, right.
Speaker 4: I mean, if you don't do design, you're going to
Speaker 4: end up doing things that you take to people and
Speaker 4: they go, now, this isn't what I needed, or this
Speaker 4: isn't good now, or I hate this and then have
Speaker 4: to do rework on it. So the idea that you
Speaker 4: need to start coding first, I mean back end stuff.
Speaker 4: I guess maybe even there though, I think the back
Speaker 4: end is sometimes more affected by what goes on with
Speaker 4: the user than a lot of developers tend to think.
Speaker 1: But developers, and they do, dare I say, test their
Speaker 1: apps in you know, in development, they have to test them.
Speaker 1: So the idiot that designed that page had to fill
Speaker 1: the screen with dummy data and scroll all the way
Speaker 1: to the bottom. You would think he said, hey, I
Speaker 1: got an idea, let's put these buttons at the top
Speaker 1: of the page. He would probably.
Speaker 2: Had three records, like he never considered that somebody would
Speaker 2: have more.
Speaker 1: Probably right.
Speaker 4: Yeah, but you've got that psychology, Carl, And I've got
Speaker 4: it too that I see these flaws and that irritate me.
Speaker 4: I have an emotional response to these flaws. But I
Speaker 4: can tell you that a lot of developers don't.
Speaker 1: My wife that my wife uses an app and she
Speaker 1: can't figure out She's like, some damn programmers screw this up.
Speaker 4: And I think that's that's good. Yeah, especially for developers
Speaker 4: they ought to be offended by poor design on behalf
Speaker 4: of the users. But the fact of the matter is,
Speaker 4: I'll run into a lot of developers that just oh, scroll, okay, fine,
Speaker 4: I mean, they're paying me by the hour, does it
Speaker 4: matter to me how much I scroll.
Speaker 1: Kelly's mother is a Southern bell from Lake, Missouri, right,
Speaker 1: so anytime anything screws up, she will always say, some
Speaker 1: man probably designed this.
Speaker 4: I will say that in general, while the difference isn't great,
Speaker 4: the women in this industry do pretty well at design,
Speaker 4: and maybe somewhat better than the men. Now, there are
Speaker 4: men who do a great job, but there are more
Speaker 4: men who just aren't any good at it at all.
Speaker 4: So the women win on average.
Speaker 2: I think, And I wonder if it's just a lack
Speaker 2: of awareness, like you're not noticing that this UX could
Speaker 2: be better well.
Speaker 4: And that's why some of the very first stuff I
Speaker 4: ever started talking about in seminars and such for UX
Speaker 4: was about the principles of how the brain works now
Speaker 4: the visual system works, because that sensitizes you to things
Speaker 4: that if you know why something doesn't work, well, why
Speaker 4: don't people like to scroll? Well? That does not work
Speaker 4: in concert with the visual and cognitive systems. You're constantly
Speaker 4: having to refresh and absorb new material, which which causes
Speaker 4: cognitive effort as well as wasted time. So when you
Speaker 4: start to learn some of these principles about how the
Speaker 4: brain and the eyes work, now you tend to notice
Speaker 4: things more that don't work in concert with them, and
Speaker 4: thereby slow people down and frustrate them.
Speaker 1: Do you do a lot of reworking of legacy apps?
Speaker 4: Billy Well, I personally don't do a lot. I do some,
Speaker 4: and that's probably fifteen to twenty percent of my work.
Speaker 4: But in terms of people want being interested in it,
Speaker 4: that's a very high, highly ranked topic because, let's face it,
Speaker 4: lots of teams have these legacy apps that are there
Speaker 4: are many millions of dollars invested in and they have
Speaker 4: yet to experience the pressure to replace that moved new technologies.
Speaker 4: Typically a platform change, a dramatic business change causes new
Speaker 4: people to move to new platforms, and that's when they
Speaker 4: typically involved me. But most people aren't in that situation.
Speaker 4: So I've been doing a session lately on ux designed
Speaker 4: for legacy apps. That's been pretty popular. I've done it
Speaker 4: at several conferences.
Speaker 1: That's good. I have a customer and I looked at
Speaker 1: this legacy app that I was upgrading. I said, how
Speaker 1: old is this? And they said, oh, since about episode
Speaker 1: eight hundred.
Speaker 2: Twenty thirteen is something like that stuff like that. So
Speaker 2: I've still got your list of shows up there. So yeah, yeah,
Speaker 2: it would have been about twenty thirteen, twenty twelve.
Speaker 4: I basically remember that because episode six hundred was the
Speaker 4: one that introduced using the joke you talked about their
Speaker 4: Richard where I was going on about some of the
Speaker 4: people whose heads in the cloud, about how you do
Speaker 4: development and all the extra testing and all the stuff
Speaker 4: that goes with it, and we did that on stage
Speaker 4: in San Diego, yep and twenty ten, I think, and
Speaker 4: I remember Richard falling off the chair when I too
Speaker 4: punched the line of that jair.
Speaker 1: You couldn't revive me. So tell us about so tell
Speaker 1: us about this talk on legacy apps designed for legacy apps.
Speaker 4: On legacy apps. Yeah, it came about because of something
Speaker 4: interesting that I hadn't planned it because since I don't
Speaker 4: normally do that work, a lot of my talks are
Speaker 4: based on the work that I've actually done. In this case,
Speaker 4: though I do sessions for people for free to sort
Speaker 4: of introduce them to the whole idea of design. And
Speaker 4: that's partially because we don't have sales when we don't
Speaker 4: do traditional marketing, so that introduces me to people. I mean,
Speaker 4: the primary way that I find new people to work
Speaker 4: with is the conferences and going to and doing sessions
Speaker 4: and talking to people in depth there. But I hit
Speaker 4: upon another way a few years back, when the virtual
Speaker 4: stuff became very easy to do, is well, if people
Speaker 4: want to lunch and learn, well, let's put me on
Speaker 4: the screen man, I'll I'll talk for forty five minutes
Speaker 4: about some topic. And I had a list of them,
Speaker 4: and I had somebody that asked me to do it
Speaker 4: looked at my list and nothing really lit them up,
Speaker 4: and they said, well, we're stuck with this legacy app.
Speaker 4: What advice would you give us about applying design? So
Speaker 4: I wrote a whole new session on that and it
Speaker 4: was it was very successful, and I started doing it
Speaker 4: at conferences too, and it gets it gets bigger audiences
Speaker 4: typically than my sessions on how you redesign an app from.
Speaker 1: Scratch step one, burn it down.
Speaker 4: That's a problem inte. And so I started thinking about
Speaker 4: it and thinking well, what if you are stuck in
Speaker 4: kind of a legacy world. First of all, I understand why,
Speaker 4: because trying to change out an entire application that runs
Speaker 4: a business is an enormously risky proposition. Yeah, and its
Speaker 4: expensive too, But I think, honestly, I don't think it's
Speaker 4: the expense that drives people away from it. Mostly I
Speaker 4: think it's the risk, because it's an existential threat if
Speaker 4: you get it wrong. So improving the legacy app, well, okay,
Speaker 4: would you want to improve legacy apps? So I made
Speaker 4: a list of the areas that I had seen that
Speaker 4: I thought worked well. Search was very high on the list.
Speaker 4: A lot of legacy apps have very poorly designed search
Speaker 4: because it was designed twenty years ago or whatever. And
Speaker 4: our database technologies are better now we could do full
Speaker 4: text indexing and all that kind of stuff, where twenty
Speaker 4: years ago we couldn't. And it surprises me how many
Speaker 4: corporate apps still require you to search by entering information
Speaker 4: in different fields. If I want to search for address,
Speaker 4: I have to enter something in a field for address,
Speaker 4: Whereas the world has gone beyond that, haven't, I mean, everybody.
Speaker 1: Just time and have these programmers ever heard of link?
Speaker 4: Yeah? So or re search is an obvious candidate, and
Speaker 4: it's not so much just that you change so that
Speaker 4: you enter into a Google sell bar. It's more about
Speaker 4: how you expose the results. Because right now developers just
Speaker 4: dumping in a data grid and that's okay actually for
Speaker 4: so for some interaction cases, especially if people are going
Speaker 4: to kind of sort and massage the data a lot,
Speaker 4: then data grid's okay to do that. But we've got
Speaker 4: card views and all the stuff and graphics that we
Speaker 4: can put in there.
Speaker 1: I'm working on an app right now, Billy, where we
Speaker 1: leave it up to the user to decide whether they
Speaker 1: want to see stuff in the grid or in cards.
Speaker 4: Oh, that's I'll be interested in the results of that
Speaker 4: simple And part of it is how well designed are
Speaker 4: the cards, of course, But in general, if the cards
Speaker 4: are well designed, I find that people tend to prefer that.
Speaker 4: Because this gets back to some of the neurological things.
Speaker 4: The part of our brains that works with graphics and
Speaker 4: shapes and color is much older in evolutionary terms than
Speaker 4: the part that reads and it interprets numbers, and.
Speaker 1: Certainly that reads spreadsheets. Yeah, that's kind of new.
Speaker 4: So in essence, there's an ease of absorbing the material
Speaker 4: when you're leaning on graphics and such. For example, if
Speaker 4: you've got, oh, you've got five categories of returned results,
Speaker 4: and you've got a graphic for each one, the eyes
Speaker 4: will be able to use that graphic to zero in
Speaker 4: on the one they want very quickly. And it actually
Speaker 4: feels good because anything that helps your brain offload cognitive
Speaker 4: effort feels good. It's at a subconscious level, but people
Speaker 4: tend to be attracted to and become attached to those
Speaker 4: kind of views if they leverage graphics, well, now, if
Speaker 4: they do allows e job and the graphics are just
Speaker 4: as hard to figure out as the text, then you
Speaker 4: don't get any benefits.
Speaker 1: I like the card idea because you know, when you
Speaker 1: put a border around something, it's a thing. You know,
Speaker 1: it has a boundary, it's a thing. Whereas it can
Speaker 1: just be some space around it and it's still a group,
Speaker 1: it's still a thing. The line in a grid is
Speaker 1: much more difficult for the brain to understand, much more,
Speaker 1: much more.
Speaker 2: But aren't you getting to a point here where you're
Speaker 2: trying to punt on the design and saying let the
Speaker 2: user define how they want to see things.
Speaker 1: Well, that's yeah, well in this case. In this case,
Speaker 1: there were users that wanted a table and there were
Speaker 1: users that wanted cards. So we were we had this
Speaker 1: you know, design meeting. They were yelling back and forth
Speaker 1: and stuff, and I'm like, hey, we can do it.
Speaker 1: We just do in a JSON file.
Speaker 2: Yeah, it'll be okay.
Speaker 4: Say, I use that approach quite a lot because you
Speaker 4: do get into confrontations typically because the range of users
Speaker 4: is such that they are advanced users and there are
Speaker 4: simpler users. And I really don't like the idea of
Speaker 4: hamstringing everybody because some power users need some things.
Speaker 2: Yeah, and definitely you get that split between the novice
Speaker 2: users that are going to use that out once a
Speaker 2: week and the person that's in there four out of
Speaker 2: eight hours of even working day, and they just they
Speaker 2: want all the shortcuts. They want to be as efficient
Speaker 2: as possible because they're in an out of there so often.
Speaker 4: So that's real. That's very smart to do that, Carl.
Speaker 4: And because it does short circuit a lot of the resistance,
Speaker 4: you get to change because there is there is status
Speaker 4: quo bias among people that people tend to like what
Speaker 4: they're comfortable with, what they're used to, and overcoming that well,
Speaker 4: first of all, you have to do some good work
Speaker 4: and come up with a good design. Just trying to
Speaker 4: make minor changes typically doesn't really work very well to
Speaker 4: get those people off the button for the old stuff.
Speaker 4: But if you come for something really new, then they're
Speaker 4: more likely to see that and realize that that's better.
Speaker 4: But yeah, in general, you are going to have in
Speaker 4: many cases two groups and you just can't reconcile between
Speaker 4: the two.
Speaker 2: And they're both valuable and important, you know, I would
Speaker 2: say occasionally, I've certainly seen apps where nobody spends enough
Speaker 2: time in it to be good at it, right, where
Speaker 2: the leadership leading you all the time models what everybody
Speaker 2: ends up using. Because it's like I go to this
Speaker 2: thing once a week, I go into this thing, you
Speaker 2: know once a month. Nobody's ever going to be.
Speaker 3: Good at it.
Speaker 4: Yeah, And unfortunately, because there are parts of the app
Speaker 4: that are used quite a lot, that's where you tend
Speaker 4: to put your investment because that's where your payback is.
Speaker 4: So those parts of the app very often or not
Speaker 4: as well designed because you just don't have time to
Speaker 4: do it.
Speaker 2: You can't tune everything up, tune up the thing's going
Speaker 2: to give you the biggest return.
Speaker 1: Do you remember, Billy, And we got to take a break,
Speaker 1: so I'll make this quick, but do you remember I
Speaker 1: wrote this tool for Windows Forms that was sort of
Speaker 1: like UI Beginner, Intermediate, and Expert mode levels and you
Speaker 1: could tie those to the different you know, visible properties
Speaker 1: of controls, and so the user could say, I want
Speaker 1: to be in beginner mode because they're just learning the app,
Speaker 1: and so it kind of guides them through the easy stuff,
Speaker 1: going to intermediate shows, a few more features, expert shows,
Speaker 1: humor reaches. I really like that, and I've used that
Speaker 1: metaphor ever since for.
Speaker 4: It's a It's a great metaphor, and it works even
Speaker 4: better with modern technologies where you've got dynamic layout. Yeah,
Speaker 4: that responsive layout. The problem in more static environment slighted
Speaker 4: Windowsforms was okay, now I'm leaving holes in the screen,
Speaker 4: and some don't like that, but yeah, I think that's
Speaker 4: an excellent approach. You just don't want to clutter a
Speaker 4: screen with stuff that somebody is not going to use,
Speaker 4: and so that's one really good architectural way to sort
Speaker 4: of give it enough flexibility that you're accommodating a wider range.
Speaker 1: And the one thing that you have to be careful
Speaker 1: with with that kids, is that you have to make
Speaker 1: the option to go to the next level discoverable enough
Speaker 1: so that people don't get stuck inside where is all
Speaker 1: this stuff?
Speaker 4: Yeah? In general, I mean that's that's a great example
Speaker 4: of configuration. We put a lot of configurability in our apps,
Speaker 4: and configurability is one of the ways that you do
Speaker 4: try to bypass a lot of these blockages, these these
Speaker 4: where people are button heads about the way. In fact,
Speaker 4: I've seen cases where people where a team would thrash
Speaker 4: for six months over something fundamentally fairly simple y to
Speaker 4: them both likely, Yeah, stop stop arguing about it.
Speaker 1: Yeah, just Raightbode, it's a radio button.
Speaker 4: So we do a lot of configurability. In fact, I
Speaker 4: think a good architecture for applications ought to have some
Speaker 4: poplines for configurability built into it. That it ought to
Speaker 4: be really easy to implement configurability in the UI instead
Speaker 4: of having to close up some code to do it.
Speaker 4: I mean, you're in your your little your thing to
Speaker 4: sort of tag the stuff at what level is an
Speaker 4: example of that kind of configurability.
Speaker 1: All right, And with that, we're going to take this
Speaker 1: very brief pause for these very important messages. And I'd
Speaker 1: like to remind you that if you don't want to
Speaker 1: hear these messages, you can become a five dollars a
Speaker 1: month patron at Patreon dot dot netroocks dot com and
Speaker 1: you can get a feed that is ad free. All right,
Speaker 1: now here comes the annoying part. We'll be right back.
Speaker 1: Did you know you can lift and shift your dot
Speaker 1: net framework apps to virtual machines in the cloud. Use
Speaker 1: the elastic beanstalk service to easily migrate to Amazon e
Speaker 1: C two with little or no changes. Find out more
Speaker 1: at aws dot Amazon dot com, slash elastic beanstock. And
Speaker 1: we're back. It's dot net rock some Carl Franklin's my
Speaker 1: friend Richard Campbell. Hey, and we're talking about our friend
Speaker 1: Billy Hollis, the right Reverend Billy Hollis, And uh he's
Speaker 1: got some good ideas about design, about the designed for
Speaker 1: legacy systems, and uh yeah, and and all those little things.
Speaker 4: Some of the some of the other areas besides search,
Speaker 4: data visualization. I mean, we got all this wonderful ability
Speaker 4: to do data visualization with our modern UI technologies, but
Speaker 4: how much data visualization do you see in the typical
Speaker 4: corporate app. I mean they might they might get a
Speaker 4: charting package and do a few pot charts in bar
Speaker 4: charts and that's about it. Whereas a custom designed data
Speaker 4: visualization can sometimes not only speed people up and keep
Speaker 4: them from making mistakes, but it can also communicate to
Speaker 4: the user, Hey, I understand where you live and work,
Speaker 4: and I've developed this software for you. They tend to
Speaker 4: have an unconscious favorable understanding of what you do if
Speaker 4: you accommodate them in those kinds of boys. So data
Speaker 4: visualization is very underused. I mean I see dashboards and
Speaker 4: they've just got the most common looking stuff. It's just
Speaker 4: a whole bunch of line charts.
Speaker 1: From the fact we were done with pie charts. Apparently
Speaker 1: pie charts haven't died yet.
Speaker 2: Yeah, well pi charts were always bad.
Speaker 4: Yeah, but somebody wants a dashboard. Somebody, some decision maker
Speaker 4: wants more. Okay, we do a dashboard. Now what do
Speaker 4: we put on it? Well, they don't think about that,
Speaker 4: and that's really too bad because dashboards, by their nature,
Speaker 4: ought to be very dynamic. You ought to be able
Speaker 4: to do new wiges for a dashboarding time you want.
Speaker 4: And and when I've seen that when companies adopted that
Speaker 4: at acute. Now you get some really really useful dashboards,
Speaker 4: things that contain Oh okay, here's the top five things
Speaker 4: that you need to worry about right now, you know.
Speaker 2: Hell, And that's where visualization is like the sort of
Speaker 2: up into the right graph because okay, if but it's
Speaker 2: going up to right, good things around them, it's going
Speaker 2: down to the right, it's bad thing happening.
Speaker 4: But certainly data visualization is one of those design things
Speaker 4: that you have to take into account. Sort of a
Speaker 4: typical you have to do some sketching. Really, if you're
Speaker 4: going to do a good data visualization, you start with
Speaker 4: pencil and paper.
Speaker 2: Do you like tools like Pigma? Like where do you
Speaker 2: sketch up your your app?
Speaker 4: I'm fine with almost any wireframing tool, and Figma is
Speaker 4: very popular right now. My partner Gary Bailey, who's does
Speaker 4: quite a lot of that work. In our case, locks
Speaker 4: of Balthsenic and I think they're like that just for
Speaker 4: Balsenic over Pigma. Psychologically, Balthsenic looks like a sketch and
Speaker 4: Figma does not. And when I takes people, I want
Speaker 4: them to critique them. What if they look like a sketch?
Speaker 4: Psychologically they go, oh, yeah, I guess it's just an idea.
Speaker 4: Figma looks more like a finishing.
Speaker 1: For pollsamic with a queue.
Speaker 4: So I'm not as fond of Pigma as a lot
Speaker 4: of people are. But what Pigma does do, and I
Speaker 4: think the reason why a lot of web designed kind
Speaker 4: of people take to it is you do get something
Speaker 4: that's very representative of what's actually going to be put
Speaker 4: on the page, whereas balsamic does not do that. And
Speaker 4: since those people are more concerned with the esthetics and
Speaker 4: the visual stuff, Figma tends to be the tool that
Speaker 4: they go to. But the basic idea for all of
Speaker 4: these is don't start with them. Don't walk up to
Speaker 4: an electronic tool to design your screens. Get a pencil
Speaker 4: on paper, man. Go out there and think about how
Speaker 4: that thing's going to be laid out, and try two
Speaker 4: or three or four different ideas for how you do
Speaker 4: it so you can compare them.
Speaker 2: Sorry, pencil, paper, pencil.
Speaker 4: Yeah, that technology has been around for two thousand years now.
Speaker 1: Random access. I like the resolution, great battery life ever run,
Speaker 1: and the storage capacity that's always believer in the whiteboard too.
Speaker 4: That yeah. Basically, when when I teach classes on how
Speaker 4: to do design for to mostly to developer teams. I
Speaker 4: emphasize use any media you want as long as it's blank.
Speaker 4: Don't do lined paper that flips and switches in your head.
Speaker 1: And when you're done with your design on the whiteboard,
Speaker 1: take a picture.
Speaker 4: Take a picture.
Speaker 1: Just guess what the cleaning crew is coming in and
Speaker 1: it's going to be tomorrow.
Speaker 4: Yeah. So, especially collaborative de nown with two or three people,
Speaker 4: whiteboards work work really well. But you know, one of
Speaker 4: the options that that has been particularly popular among the
Speaker 4: people that that I've worked with in recent years is
Speaker 4: butcher paper. Butcher paper amount, I think, well, it comes
Speaker 4: in rolls. So you think about the tables that are
Speaker 4: in the typical conference room, unroll about six or eight
Speaker 4: feet a butcher paper.
Speaker 2: Everybody got a corner.
Speaker 4: Everybody's got a piece of it, and and everybody kind
Speaker 4: of so that that gets past the thing of see,
Speaker 4: some people are like to kind of sit back and
Speaker 4: let other people do all work, all the sketching. So now, okay,
Speaker 4: you got your piece, don't tell me what you want
Speaker 4: me to sketch. Go ahead and sketch it yourself. And
Speaker 4: then when you when you want to store the finished drawings,
Speaker 4: you roll them up, put a rubber band around.
Speaker 1: Now, are you talking about the light green butcher paper
Speaker 1: or the barbecue but wrapping stuff? Because I figured that's
Speaker 1: what you would pick, is the pink paper.
Speaker 4: It's the pink pat No, no, no, you want white paper. Yeah,
Speaker 4: you don't want any psychological whatever predisposing people in any direction.
Speaker 4: Why is the best color that we can We can
Speaker 4: put a link for the show in the product I
Speaker 4: use on Amazon if you like an Amazon link that
Speaker 4: reclinds to the roll of butcher paper. It's about one
Speaker 4: hundred and fifty feet and I think about fourteen inches wide.
Speaker 4: That's great, And so yeah, that that's a really good,
Speaker 4: really good option and for teams. But yeah, I like
Speaker 4: a lot of whiteboards, especially in the early stages where
Speaker 4: you're trying to figure out a little bit more about
Speaker 4: the flow. But yeah, there are lots of ways to
Speaker 4: do it as long as you use blank media and pencils.
Speaker 4: Colored pencils are nice, yeah, and colored markers are nice.
Speaker 4: They you emphasize some things.
Speaker 2: But blank paper very good.
Speaker 1: And again take pictures of it and end up in
Speaker 1: the garbage someday.
Speaker 2: Well, like I said, it rolls back up again so
Speaker 2: you can you can keep it compact.
Speaker 4: Yeah, that's the not that's one of the reasons I
Speaker 4: love butchet paper easy to pack up and take home
Speaker 4: and and unroll when I need it. So yeah, that
Speaker 4: has worked really well, and I I don't think I've
Speaker 4: ever had a team that used it before I came in,
Speaker 4: but they all like it after it.
Speaker 1: I tried pizza boxes once but the pencils didn't work
Speaker 1: in the three spots and.
Speaker 4: They so, yeah, you have to do a lot of
Speaker 4: sketching for data visualization. And then the other area that
Speaker 4: that for legacy apps. I tend to suggest to people
Speaker 4: is to do some work on workflow because you think
Speaker 4: about these apps that have been developed twenty fifteen, twenty
Speaker 4: years ago, they tended to have that model of basically,
Speaker 4: the app replicates what's in the database, the menu replicates
Speaker 4: what's in the database. There's a lot of crud screens.
Speaker 4: Getting data in and out is the primary thing that
Speaker 4: the app is doing. So you think about workflow with
Speaker 4: an app like that, you've got five steps in a workflow,
Speaker 4: you probably have to go to five different places in
Speaker 4: the app to do it. And understand that that we're
Speaker 4: talking about those principles, those cognitive etc. Principles. One of
Speaker 4: the basic standard principles is that short term memory is
Speaker 4: limited and cognitive effort is limited. You stress people out
Speaker 4: if you make them think too much. So think about
Speaker 4: now workflow and a legacy app. If you've got to
Speaker 4: bounce around to five different places to do steps, you're
Speaker 4: having to store in your short term memory where you
Speaker 4: are and what you have to do next, and expend
Speaker 4: the cognitive effort to kind of remember where all these
Speaker 4: things are. Well, leave that in place, don't take away
Speaker 4: any of those things, but you can develop an ad
Speaker 4: on that steps people through the steps and link straight
Speaker 4: to the thing that they need to do and tracks
Speaker 4: where they are.
Speaker 1: You do stand up comedy too right? I do because
Speaker 1: I feel a routine coming on. You know, you could
Speaker 1: mimic Jeff Foxworthy. You might have bad design if if
Speaker 1: if you find yourself pulling up notepad between screen A
Speaker 1: and screen B, you might have bad design.
Speaker 4: And I actually did say I was doing user observation
Speaker 4: and saw a woman she would work with a record
Speaker 4: and write down the non digit ID on her pad
Speaker 4: so that she could come back to it later what
Speaker 4: she was doing on the fly. Was constructing a recently
Speaker 4: U used list on paper, right, and what man, let's
Speaker 4: let the computer keep up with that. Why are we
Speaker 4: making her do it?
Speaker 1: At least let them use the clipboard for crying out.
Speaker 4: So, yeah, workflow is a great way to add a
Speaker 4: lot of value. Think about this. If you help people
Speaker 4: with workflow, not only do you reduce training for people
Speaker 4: coming in because they can walk through all the steps,
Speaker 4: but you also prevent errors because most old applications don't
Speaker 4: have guardrails to keep you from doing things.
Speaker 3: Out of order.
Speaker 2: Yeah, and you could they just fail, Yeah.
Speaker 4: They just mess up. And so if you build a
Speaker 4: separate thing for workflow, you can build those guardrails in
Speaker 4: so that don't do step three before you've done step two.
Speaker 2: I've been a big there's been a few piece of
Speaker 2: software now I've found that as they build a breadcrumb
Speaker 2: trail at the top of the screen below the menu
Speaker 2: of you went here, and then you went here, and
Speaker 2: you went here, and you here, And I found myself
Speaker 2: occasionally seeing that bricko trails jump back four steps. Yeah, yeah,
Speaker 2: make a change, yeah, you know, be able to get
Speaker 2: back down again.
Speaker 4: And then what does that what kind of ripple effect
Speaker 4: does that have so you can design extra pieces to
Speaker 4: take that into account, and people love that stuff.
Speaker 1: Yeah. Yeah.
Speaker 2: The other one that I've always delighted is don't lose
Speaker 2: my work. Like I typed a bunch of stuff in,
Speaker 2: then something failed and so forth, and then you get
Speaker 2: back there. It's like after this over and you get
Speaker 2: back there and so oh it's still there.
Speaker 4: I am going to give the Windows team a thumbs
Speaker 4: up on something in that area, because number one, I
Speaker 4: don't lock the idea that they update and reboot so much. Yep, Okay,
Speaker 4: they promised us a long time ago they wouldn't do that,
Speaker 4: can't do it, and now they can't figure it out.
Speaker 4: But what they did figure out is that pretty much
Speaker 4: any app that they controlled, they've got ways to save
Speaker 4: the state. Even notepad no nopad used to just man,
Speaker 4: if you reboot it after an update, whatever was in
Speaker 4: that notepad was gone.
Speaker 2: Well lock the update, block the reboot, right, So yeah,
Speaker 2: so so.
Speaker 1: They when there's eleven they added the memory tabs.
Speaker 4: But yeah, well then it works on THEE when just
Speaker 4: ten updates as well. That if it now nowadays, I
Speaker 4: guess they backport it or something. But now if they
Speaker 4: if they update, do a forced update because of a
Speaker 4: force reboot because of an update, then when I come back,
Speaker 4: all my notepads are back, they're fine, And thank you Microsoft.
Speaker 2: A good feature, and it's a great thing to think
Speaker 2: about in your software too. Like you talk about, yeah,
Speaker 2: design that pays, it's like how much work saved that way?
Speaker 2: How much frustration saved that way? They're not that much code.
Speaker 1: Yeah, And if if you're doing let's say a Blazer
Speaker 1: server application, you can use protected browser storage anytimes somebody
Speaker 1: mutates the state, just save that to protect your browser
Speaker 1: storage and bring it back when you load up if
Speaker 1: it's there. That's one of the or give the give
Speaker 1: them the hey, last time you were working on this,
Speaker 1: do you want to resume where you left off. You
Speaker 1: can even bring them to the page they were on
Speaker 1: and the data that was on that page.
Speaker 4: Like yeah, well, Carl, I think you and I tend
Speaker 4: to be tuned into that because we started out in
Speaker 4: desktop native, where having a lot of state is pretty easy,
Speaker 4: and so you get accustomed to leverage again. Whereas people
Speaker 4: that begin doing stateless web applications, which kind of the
Speaker 4: browser requires a certain amount of state listness, they don't
Speaker 4: tend to leaver reage state as much. They just don't
Speaker 4: tend to think that way, and so yeah, they should.
Speaker 4: We've got ways of doing the state now, and they
Speaker 4: need to kind of twist their mentality because that is
Speaker 4: such a useful thing for the user.
Speaker 1: Sure is. Yeah, And the application state talks that I
Speaker 1: do and Blazer are still the most popular ones because
Speaker 1: you know, people coming from different web technologies, that's a
Speaker 1: thing that they're not used to. Yeah, in memory state.
Speaker 4: And another thing about all sort of connected to all
Speaker 4: the stuff we're doing. We're talking about with legacy apps
Speaker 4: and getting a workflow right and such is something that
Speaker 4: I noticed a couple of years ago, and now that
Speaker 4: I'm attuned to it, You know how it is, You
Speaker 4: notice something once and then you start seeing it in
Speaker 4: other places. And I've seen, oh at least six or
Speaker 4: eight examples now of this. I struggled to explain it
Speaker 4: really concisely, but I'll try. I call it generational turnover
Speaker 4: because you think about and it's unique to this point
Speaker 4: in time because we've all been in the industry long
Speaker 4: enough that we know we went through that period when
Speaker 4: a lot of businesses were automating. They were switching from
Speaker 4: basically paper into computers for the first time, typically very
Speaker 4: data related apps. I did my first one in probably
Speaker 4: nineteen seventy nine, and of course it really picked up
Speaker 4: steam in the mid eighties, and by the mid nineties
Speaker 4: you pretty much had to be automated or you weren't
Speaker 4: competitive as a business anymore. But you think about how
Speaker 4: those apps were done. I mean, we didn't have the
Speaker 4: computing power, or the expertise or the money to build
Speaker 4: what we would now call it an enterprise app. And
Speaker 4: most of these companies are pretty small anyway. So what
Speaker 4: got built, well, a piece of the app that you
Speaker 4: built a piece of the business, an app for that,
Speaker 4: and then maybe another piece for another app for another
Speaker 4: piece of the business. And so the systems that came
Speaker 4: out of that in the nineties and early two thousands
Speaker 4: tended to be pretty granular, data oriented pieces. Everything was
Speaker 4: done kind of piecemeal. How did the business function? Somebody
Speaker 4: in that business, typically a small number of people, knew
Speaker 4: how to take all of those things and implement the
Speaker 4: real workflow in the businesses. And we talked about four
Speaker 4: They were holding the workflow in their head. They knew
Speaker 4: when to move from app to app, and they knew
Speaker 4: all the domain knowledge to know when to bypass the
Speaker 4: app or get around limitations in the app. They knew
Speaker 4: all of that stuff. Most small to medium businesses had
Speaker 4: that cadre of people. If they were successful, that probably
Speaker 4: meant that they treated those people pretty well and they
Speaker 4: hung around for a long long time. Let's do some math.
Speaker 4: If a business automated in nineteen ninety that way, and
Speaker 4: they've got people that know how to make all this
Speaker 4: current stuff work, but that means that there's a whole
Speaker 4: lot of information in their head that's required to make
Speaker 4: it work. If they were thirty, let's say thirty years
Speaker 4: old in nineteen ninety, how old are they today? There
Speaker 4: are sixty four I've seen in half a dozen plus
Speaker 4: businesses a small group of people who are key to
Speaker 4: the operation of the business that are all approaching retirement
Speaker 4: at the same time.
Speaker 1: Wow.
Speaker 2: Yeah, there's a lot of skill about to walk out there.
Speaker 4: There's a lot of people walk yeah. I mean these
Speaker 4: people are going to go to a retirement party one
Speaker 4: day and then that expertise walks out the door that
Speaker 4: night and doesn't come back.
Speaker 1: And this the millennials will take over and write it
Speaker 1: on the lampstade.
Speaker 4: Yeah, well manh sorry, it's good. Even the best motivated
Speaker 4: millennial is going to come in. It would take them
Speaker 4: years to build up all that domain knowledge to do this,
Speaker 4: and the business is going to take some pretty serious
Speaker 4: hits if you don't prepare for this. So a couple
Speaker 4: of our clients, that's actually the project we were doing
Speaker 4: was taking this string of things that were all built
Speaker 4: separately in that the people helped knew how to how
Speaker 4: to put together, and replacing that with what you would
Speaker 4: call an enterprise system. Even though I mean, I mean
Speaker 4: the people at SAP truck tell you that they can
Speaker 4: do this, and for some businesses, I think they probably
Speaker 4: can if the business is data and accounting driven enough.
Speaker 4: But if you've got proprietary business processes, then now you've
Speaker 4: got a whole lot of work to do it. You
Speaker 4: can either hammer SAP into doing it, which is very expensive,
Speaker 4: or you can go get somebody to write the replacement system,
Speaker 4: which is is better if you do it right, but
Speaker 4: carries a lot of risk. But businesses need to be
Speaker 4: sens does this. I was doing that session on design
Speaker 4: for legacy apps at a conference and talk a little
Speaker 4: bit about that because see The idea is you stretch
Speaker 4: the legacy app too far. There's a whole lot of
Speaker 4: risk involved there with them, and there are various risks
Speaker 4: with the legacy apps being stretched too far, but one
Speaker 4: of them is generational turnover. And I kind of went
Speaker 4: through with him about the same thing I just with
Speaker 4: it with you. I had a guy come up to
Speaker 4: me after the session and he said, the insights you
Speaker 4: just gave me is worth more than I paid to
Speaker 4: come to this conference. He's going to go back and
Speaker 4: start doing checking things out. Who are these people that
Speaker 4: the business depends on that maybe the top executives don't
Speaker 4: even know who they are, and how close are they
Speaker 4: getting to retirement? And what's our plan for dealing with it?
Speaker 4: Are we going to create a new app? Are we
Speaker 4: going to try to transplant that expertise into other heads?
Speaker 4: It's it's solved in a lot of different ways, but
Speaker 4: a lot of small even up to pretty large businesses.
Speaker 4: Because one of the businesses we did this for there
Speaker 4: is a multi billion dollar business with five factories. So
Speaker 4: people ought to just do a checklist thing in your business?
Speaker 4: Are you in that boat? Because a lot of businesses
Speaker 4: are I talk to an executive for a large bank.
Speaker 4: That is, they've got all these technologies and all the
Speaker 4: people who know how to make them work. They've got
Speaker 4: to either change out the technologies or get somebody new
Speaker 4: to keep them running, right, because those people are just
Speaker 4: about to retire.
Speaker 1: I mean, we're all older people here, so and I'm
Speaker 1: not there's no secret, right, we've been around a while.
Speaker 1: Have you ever encountered somebody who says, you know, we're
Speaker 1: going to abandon the whole application idea in favor of
Speaker 1: a series of TikTok videos.
Speaker 4: I don't think I've ever heard anything.
Speaker 1: That ridiculous it's coming.
Speaker 4: But way it probably is.
Speaker 2: I mean there's another aspect of this, which is that
Speaker 2: the folks that have been doing this, operating that software
Speaker 2: for a while are used to the foibles, used to
Speaker 2: the problems, yeah, the bad ux of it. Yeah, and
Speaker 2: that new folks coming in are going to have a
Speaker 2: demand to This doesn't have to suck right like that,
Speaker 2: This could be better.
Speaker 4: Yeah. You think about, say, a twenty four year old
Speaker 4: coming in for their first job looking at one of
Speaker 4: these twenty five year old corporate apps, and they sit
Speaker 4: down the first day in front of that thing. What
Speaker 4: does that do to their connection to the company they
Speaker 4: just started working for. I mean they don't even they
Speaker 4: don't even own a laptop or a desktop. All they
Speaker 4: know is tablets or whatever. Yeah, the emotional impact of
Speaker 4: that is not to be discounted.
Speaker 1: Nope, sure thing.
Speaker 2: Yeah, that's an interesting point in evolution, and it's the
Speaker 2: demand is going to get huge as we lose this
Speaker 2: knowledge base walking to the door.
Speaker 4: Yeah, and there is the problem is there's just no
Speaker 4: clean way to do it. To solve this problem. I mean,
Speaker 4: we went into a multi billion dollar company and architected
Speaker 4: everything in their production process, from forecasting they needed through
Speaker 4: the entire supply chain to scheduling workers in the factories.
Speaker 4: And I don't want to sound arrogant and entitle here,
Speaker 4: but the number of teams that can go in and
Speaker 4: do that there just aren't that many. They're just are not.
Speaker 4: So the risk is very, very high when you pick
Speaker 4: a team to do that. And so I don't like
Speaker 4: being in these decision makers shoes because it's very career
Speaker 4: affecting if they get it wrong. And both in I mean,
Speaker 4: we've talked various times on donet Rocks about the limitation
Speaker 4: of design talent. We don't have enough. We have that
Speaker 4: visual design talent, but the interaction design talent and the
Speaker 4: other types of design talent are pretty short. But as
Speaker 4: I mentioned and earlier, the limitation on enterprise architecture is
Speaker 4: really high to if you're going to do enterprise level
Speaker 4: workflow the architecture for that. I've done it, and I
Speaker 4: know what the architecture involves, and I'm going to be honest.
Speaker 4: The average person, even a large company with architect in
Speaker 4: their title, even enterprise architect in their title, are not
Speaker 4: up to doing it. I don't mean to sound arrogant
Speaker 4: about it, but they're just not. I've talked to these people.
Speaker 1: So basically what you're saying is most architects are full of.
Speaker 4: One of the large banks, a different I've talked about
Speaker 4: before has over two thousand people in their technical area
Speaker 4: with the word architect in their top on their business card.
Speaker 4: How many of those people are actually architects?
Speaker 1: You suppose? Well, how many can actually do the work?
Speaker 4: How many can actually do the work.
Speaker 2: Yeah, it's a different thing, but you know, again, the
Speaker 2: titles are one thing, works another.
Speaker 1: Yeah, so yeah, sure, I would like to apologize to
Speaker 1: all the architects that listen to dot net rocks. That
Speaker 1: wasn't talking about you. We're all cool here, right, yeah.
Speaker 4: Well, of course the best architects, of course they listen.
Speaker 1: To do well, you're absolutely right self selection, right.
Speaker 4: Yeah, so there, you know, we've got a filter there,
Speaker 4: but the number who are really good at it, it's
Speaker 4: I'll see this, for example, in the proliferation of micro services.
Speaker 4: Our services are a good solution for some places, but
Speaker 4: in a lot of cases they're using this excuse for
Speaker 4: not doing architecture. It's just oh, we won't do we
Speaker 4: won't do achitecture, We'll just do you the little things
Speaker 4: all over the place.
Speaker 1: Billy, you just blew my mind. I mean, we've been
Speaker 1: struggling with this whole micro services versus the you know,
Speaker 1: the monolith, the modular monolith thing for what a couple
Speaker 1: of years now, because people who went down the micro
Speaker 1: services road got disillusioned with it. And you just nailed
Speaker 1: it on the head people that some people that do
Speaker 1: microservice is an excuse to not do proper architecture up front.
Speaker 4: Yeah. Well, it's one of my one of my most
Speaker 4: popular slides these days is uh, you know the distracted
Speaker 4: boyfriend me.
Speaker 1: Oh yeah, yeah, yeah, okay, right, So boyd.
Speaker 4: He's got his girlfriend there, but he's looking over his
Speaker 4: shoulder up and he's walking with But I did one
Speaker 4: of those, and the girl walking away is labeled with
Speaker 4: writing code and his girlfriend is labeled with architecture ux
Speaker 4: design talking to users because developers blow that stuff off.
Speaker 1: And she's looking at him like, I'm going to give
Speaker 1: you such a smack.
Speaker 4: I'm gonna So that kind of captures the psychology. We
Speaker 4: should probably put a link up for that.
Speaker 1: That's really good, yes, and that to.
Speaker 4: Us that slide too, it's popular, very good.
Speaker 1: So what's next for you, Billy? What do you want to.
Speaker 4: Well, I have a project that I'm starting on to
Speaker 4: do kind of a big chunk of an application, but
Speaker 4: it isn't replacing an entire one entire one in some
Speaker 4: in the engineering space, and I'm looking forward to that.
Speaker 4: That's that's some interesting new stuff. I really like the
Speaker 4: people that I'm that I'm starting to work with too,
Speaker 4: and and so that is kind of a modest sized project.
Speaker 4: It isn't as big as the ones that I normally do.
Speaker 4: And then I am in general moving toward smaller projects.
Speaker 4: And I mean, I don't know how many people really
Speaker 4: realize how old I am. But I'm reaching the point
Speaker 4: where I won't be doing the large projects that much longer.
Speaker 4: And what I found out. You know, I've talked to
Speaker 4: people at conferences sometimes will repeats over the years, and
Speaker 4: they go, yeah, we'd like to bring you in, but
Speaker 4: you know, we haven't gotten our ducks in a row
Speaker 4: or whatever. Folks, you're running out.
Speaker 5: Of time that front porch and that picture, and it's
Speaker 5: the dead line. It's it's the deadlines that I'm ready
Speaker 5: to kind of move past. So I expect to be
Speaker 5: doing still some of the large projects the next year
Speaker 5: or two, and then after that I'm going to move
Speaker 5: to smaller projects for another year or two, and then
Speaker 5: I mean I will never stop working, but getting on
Speaker 5: the planes and going out and seeing people and taking
Speaker 5: control taking command of a redesigned project, which again, the
Speaker 5: supply of people who can do that is just critically short.
Speaker 5: I mean, look, you guys have been in one of
Speaker 5: the most prestigious communities in the Microsoft space for almost
Speaker 5: as long as I have the Regional director community. How
Speaker 5: many of those guys, and most of those guys have
Speaker 5: that special capability to get in front of a group
Speaker 5: that includes CEOs or whoever high level people.
Speaker 4: And facilitate the way through to a solution. I mean,
Speaker 4: you talk about some of the contentious issues there, Carl,
Speaker 4: some of the things that come up trying to arrive
Speaker 4: at a solution that everybody's going to be happy. A
Speaker 4: big chunk of my work over the last five years
Speaker 4: has been serving in that role with companies that got
Speaker 4: stuck in one way or nothing, that are thrashing or whatever,
Speaker 4: because as an outsider, you can come in and you
Speaker 4: can kind of it doesn't bother you as much to
Speaker 4: make people mad because.
Speaker 1: Right, and plus you have no you have no skin
Speaker 1: in the game, right, right, you're getting paid a rate,
Speaker 1: so for your authentic I.
Speaker 4: Expect to keep doing that for a while, mostly because
Speaker 4: most of my clients who use me, they'll call me
Speaker 4: in every couple of years to get them through some project,
Speaker 4: to facilitate. They'll get all the important people in the
Speaker 4: room and we'll spend three or four days just kind
Speaker 4: of getting they hammered out. Right, And Richard, I know
Speaker 4: you've done stuff like that with groups, and the number
Speaker 4: of people who could do that is so limited that
Speaker 4: my clients are probably going to be still be begging
Speaker 4: me to do that in five or six years.
Speaker 1: I tell you what, I love my small business customers.
Speaker 1: I love working for small businesses because there's just so
Speaker 1: fewer layers and politics. I mean, Richard's kind of a
Speaker 1: pulled creature, but I don't like that at all. Kind
Speaker 1: of well, yeah you are, yeah, you're right. Not kind
Speaker 1: of absolutely thrives in a political environment, but not me.
Speaker 4: So if I were you, if I were bossing some
Speaker 4: of the people here about they talk because you talked
Speaker 4: about people becoming architects because that's the promotion path way. No,
Speaker 4: they should be building a talent stack and learning how
Speaker 4: to facilitate is a potential layer in that talent stack.
Speaker 2: No, No, And it's the thing is people who want
Speaker 2: to move in that space, We've got to do a
Speaker 2: better job of letting them be good at it, letting
Speaker 2: them be able to learn. Again, I feel the same
Speaker 2: way watching folks bounce between PM and direct dev where
Speaker 2: it's like I love someone who wants to do both jobs.
Speaker 2: Like sometimes you want to write in the code, sometimes
Speaker 2: you want to help other people write the Yeah, yeah,
Speaker 2: Like both are rewarding gigs. It's just do we give
Speaker 2: room for folks to be able to change and to
Speaker 2: you have to get up to speed and give them
Speaker 2: appropriate projects. You can't be linear. It's not a linear process.
Speaker 4: But yeah, we don't. As you said, we don't invest
Speaker 4: as much in helping people move in that direction as
Speaker 4: we should. And if I were to suggest the very
Speaker 4: first starting point, it would be learning how to listen better,
Speaker 4: because in general, human beings are bad at listening. Developers
Speaker 4: are human beings.
Speaker 1: So most sorry you say something, goodness, wife, I got
Speaker 1: a dope slap.
Speaker 4: So there are various resources for that. That might be
Speaker 4: another link if I can remember, put it on there
Speaker 4: to get some some listening resources for people. There's a
Speaker 4: book called The Charisma Myth that has an entire chapter
Speaker 4: on listening with some exercises. Wow, that I think is worthwhile. So, yeah,
Speaker 4: we need to help people move in that direction. Now
Speaker 4: I'm going to be kind of again candid about it,
Speaker 4: just as I was with some of the architectural stuff.
Speaker 4: Some people don't have the call it presence. I guess
Speaker 4: to be in that group and keep control of it.
Speaker 4: It's it's kind of an born thing. And so you
Speaker 4: want to if you're going to move in that direction,
Speaker 4: you ought to you have to have that that inner
Speaker 4: confidence that you can talk to people on their level,
Speaker 4: even if no matter where they are, that you can
Speaker 4: talk to them as equals, listen to them, but also
Speaker 4: tell them when you think they're wrong, and work through
Speaker 4: disagreements and such. Some people just worry too much about
Speaker 4: other people's feelings and so they it's very hard for
Speaker 4: them to step into that facilitation role. But if you
Speaker 4: can do that, and I don't mean that you have
Speaker 4: to be a jerk. I don't feel like I'm a jerk,
Speaker 4: for example, but you do have to be able to
Speaker 4: challenge people this. That's a phrase, just a free tip
Speaker 4: for people who are in this that when they say
Speaker 4: something you disagree with, don't say I disagree with that,
Speaker 4: Say I challenge that. Notice the different psychology there.
Speaker 1: If I'm not saying I'm.
Speaker 4: Not wrong, you're saying I'm not sure that you're right
Speaker 4: about that. So let's let's invot some more discussion of it.
Speaker 1: And it helps to have a sense of humor, Right, Billy.
Speaker 4: I'd like to think so yeah, I think so too.
Speaker 1: All right, well, we've wasted another hour and four minutes
Speaker 1: of your precious life. I have always a waste it
Speaker 1: was great listening to this lousy show. No I'm kidding,
Speaker 1: So thank you, Billy. It's been great as always.
Speaker 4: You're welcome. I got to talk about a lot of stuff.
Speaker 4: I was interested in it, and I hope people find
Speaker 4: some value.
Speaker 1: I look forward to our next in person meeting as
Speaker 1: well as our next dot net rocks meeting. So thanks
Speaker 1: again and we'll talk to you, dear listener next time
Speaker 1: on dot net rocks. Dot net Rocks is brought to
Speaker 1: by Franklin's Net and produced by Pop Studios, a full
Speaker 1: service audio, video and post production facility located physically in
Speaker 1: New London, Connecticut, and of course in the cloud online
Speaker 1: at pwop dot com. Visit our website at d O
Speaker 1: T N E t R O c k S dot
Speaker 1: com for RSS feeds, downloads, mobile apps, comments, and access
Speaker 1: to the full archives going back to show number one,
Speaker 1: recorded in September two thousand and two. And make sure
Speaker 1: you check out our sponsors. They keep us in business.
Speaker 1: Now go write some code, See you next time.
Speaker 4: You got Ja met Van
Speaker 1: And