Elixir Mix is a weekly show focused on the Elixir programming community. Our panel discusses topics around functional programming, the Elixir ecosystem, and building real world apps with Elixir based tools and frameworks.

Episode 20: EMx 020: Phoenix and LiveView with Chris McCord

September 25, 2018 56:28 84.61 MB Downloads: 0

Panel:

  • Charles Max Wood
  • Mark Ericksen
  • Josh Adams
  • Eric Berry

Special Guest: Chris McCord

In this episode of Elixir Mix, the panel talks to Chris who created Phoenix and is an author, also. Chris McCord is a monumental developer within the community, and it’s exciting to see how LiveView is a great add-on to Phoenix, which is his baby. Finally, the panel talks about topics, such as Phoenix, LiveView, Elm, and Fire Nest.

Show Topics:

1:21 – What are you famous for?

1:49 – Chuck: You created Phoenix. There is a new feature, LiveView, can you share with us what that is?

2:08 – Chris: Sure. What got me started with creating Phoenix is similar to how I got into LiveView.

3:13 – Panelist chimes in with his comments.

Panel: Questions we are asking: How to give the audience a high-quality experience without a huge overhead. When I watch this video on LiveView, I was freaking out. Are you glad you did it?

5:01 – Chris: The response is really exciting and it really resonated with a lot of people. Often, I thought, working on past projects thoughts along these lines: “this was a huge waste of the day.” And I’m glad this was a good response.

6:08 – Panel: Explain what you can do right now.

6:18 – Chris dives into this topic.

Chris: We wanted to offer a rich experience. A lot of things we can target out of the box, with rich UI.

8:20 – Panel: You announced this in your keynote in Washington D.C. The day before you hinted at it. And I thought: Is this even a good idea? Is this a misguided effort? If you have this first impression go, first, and see the video. You explain well your history and what you wanted with web development.  Watch this video to maybe not be skeptical.

9:47 – Panel comments.

9:50 – Chuck: I haven’t seen the video, yet. I am used to doing this with JavaScript. How do you do without JavaScript? Frontend?

10:14 – There are pixies and sparkles, and Chris is bringing these sparkles!

10:31 – Chris: It’s nice because we are piggybacking off the channel level. There is no JavaScript that you have to write today.

11:16 – Panel: Question to Chris.

11:31 – Chris answers the question.

13:13 – Panel: Who else is doing this right now?

13:15 – Chris answers question.

14:51 – Panel: The original dream. Phoenix was just a stepping step to LiveView.

15:08 – Chris: Those who are casting judgment – please watch the video. For years I have had this idea that I want to stay in the server-land...

15:55 – Panel: It’s funny that your path unfolded the way that it did.

16:28 – Chris: It blows me away.

16:38 – Panel: I bet when you wake up your pants just attach themselves to your legs!

16:57 – Chris: I work remotely, so...

17:08 – Chuck: That got weird.

17:18 – Panel: You’ve got a lot going on. When can we expect to see this? I’m sure you get that asked a lot. Phoenix 1.4 has to come first, and you are working on your book. While that’s going on you have a project called Fire Nest. Sounds like you have a couple things you’re doing right now? How do you prioritize?

18:08 – Chris answers these questions.

Chris: I do work full-time on Phoenix. Phoenix 1.0 is on my own time. This is at my own discretion. Whatever helps the community is good for them and for me. That’s how I do it without completing losing it. The book has been over a year delayed. It’s always a battle it’s a love/hate relationship. It’s hard when you when you want to work on exciting things like LiveView. The future, the things we want to build for. Some weeks it’s more writing, and some weeks its coding.

20:01 – Panel talks about Chris’ team.

20:25 – Panel: I got to ask you, I am more of a Ruby developer, and this thing that you’ve developed is making me lean towards Elixir. What’s your least favorite thing about Phoenix?

20:56 – Chris: Never have been asked this before.

21:06 – Chris: The thing that bothers me the most is maybe configuration? Lots of folks we did a lot of the configurations. I guess that has been a recent thing that’s come up. Even though, personally, I don’t have a lot of issues with it.

22:38 – Advertisement – Digital Ocean

23:13 – It’s hard to point out ugly features of your own baby.

23:26 – Panel: You’ve talked about your rel. with DockYard, Inc.

What’s that responsibility like?

23:44 – Chris: I am a cheerleader for the company. I do work in a consulting role. This is good because I am solving real-world problems. I’d loose touch with that if I didn’t consult. The other time I try to help the team if needed. It’s a good mix for me. Writing Elixir code and not just framework code.

25:02 – Panel: Umbrella project. Your rel. with your clients – when you would suggest an umbrella project or not?

25:26 – Chris: It depends. It’s not so much code structure it’s mostly from an operational standpoint and not from a code structure standpoint.

26:51 – Chuck: Give us a short history of Phoenix. How does LiveView tie into your vision with Phoenix?

27:13 – Chris gives us his thoughts.

Chris: In 2013 – I fell in love with Ruby. That’s to show that it wasn’t on my radar to do anything else professionally. Never thought I would develop something like Phoenix. My wife noticed that I came home unhappy when I worked with Ruby at some point. She noticed a difference.

Chris continues to share the Genesis of Phoenix.

It’s been a crazy ride.

32:32 – Chuck: So it was mostly about the scaling. I’ve played socket IO, do some harm, then come back. Action cables are a little less of a pain.

Chuck continues his thoughts and asks a question.

33:10 – Chris answers Chuck’s question.

35:00 – Chuck.

35:14 – Chris.

It’s interesting because you could have used a LiveView layer in the mid-2000s and nothing in town would have been able to compete.

35:56 – Panel: One great thing about Rails is the integration. There is a path to it. Is there anything like that for the docket to build that for Phoenix? There is webpacker for Rails but is there going to be that for Phoenix.

36:35 – Chris: No is the simple answer. It just works the way you would expect.

37:46 – Chuck: The other one is partial JS. IT’s interesting because I go back and forth, too. I like the approach with JavaScript. I play with everything. I’ve been playing with an app recently and figured out how to do it in Brunch, because that’s what’s there. Why solve it the Elixir way? As a backend developer I may not want to mess with it.

38:51 – Panel: Another question about LiveView. From the video, from what I understand, is that the data that’s pulled from reads and rights?

39:26 – Chris: I hope this doesn’t sounds like a cop out answer. My answer is that you will handle any system you are building it in Elixir. If you want to have durable state you would use existing tools that you have already.

40:17 – Panel: The facilities you built around the LiveView, is it valuable for someone to...

40:42 – Chris answers the question.

41:22 – Panel: Another question on how LiveView works. Is that dependent on there being a JavaScript connection?

41:49 – Chris: Answer to that is if you are...

42:50 – Chuck.

42:53 – Chris.

43:29 – Panel: How is Fire Nest coming along?

43:38 – Chris: I won’t say it’s steady progress, but it’s coming along. We are working on it.

44:53 – Panel: That was exactly what I wanted to hear.

45:00 – Advertisement.

45: 42 – Panel: The new developments are happening outside of the community of Phoenix, right?

46:07 – Chris: People think Phoenix is “heavy,” but it really isn’t. It’s really I want 80% and the teams and communities can build on top of that. Not in core. Not everyone needs X feature. No reason to shove it in core. It’s not about having it being “lighter.” I am developing resisting the urge to do it because someone says so.

47:40 – Panel: Phoenix for me feels like it’s baked. There really isn’t anything that is lacking. It’s extensible. It’s done. That’s exciting. These add-ons like LiveView are a great plugin.

48:23 – Chuck: How do people keep in touch with what you are doing and your projects?

48:51 – Panel: Anyone on the team working with Elm?

49:00 – Chris answers this question. Elm has been on my radar, but haven’t gotten into it, yet. Not in the foreseeable future either.

50:20 – Chuck: Picks!

Links:

Sponsors:

Picks:

Charles

  • Geeking-out about the space stuff.
  • Self-fastening pants – Velcro
  • Book: Soft Cover IO
  • Docking station

Mark

Josh

Eric

Chris