Betatalks the podcast
33. Creating and using Twilio's products and integrations as a .NET developer - with Niels Swimberghe
In deze aflevering spreken we met Niels Swimberghe, een Belgisch-Amerikaanse software engineer en content creator bij Twilio. Natuurlijk willen we weten waar Twilio voor staat, waar het bekend om is en waarom je het zou moeten gebruiken. Hoe helpen ze developers om dingen te ontwikkelen met Twilio? Er wordt altijd naar gestreefd om de beste ervaring voor klanten te creëren, feedback te krijgen en zoveel mogelijk technische inhoud te delen. We praten over de developersproducten, de features en de integraties die Twilio biedt, de connectie met Azure, en het onderscheid met Azure Communication Services. In het bijzonder duiken we in Twilio Voice in combinatie met Twilio Phone Numbers; wat kan je met de API's doen? En we blikken terug op de enorme ontwikkelingen in telefonie en de technische mogelijkheden. Verder delen we onze ervaring en passie voor Visual Studio Code en JetBrains Rider.
Over deze aflevering, en Niels in het bijzonder: je vindt @RealSwimburger op Twitter of bekijk enkele van zijn blogs en video's op swimburger.net
Over Betatalks: bekijk onze video's en praat mee op ons Betatalks Discord kanaal
Episode transcription
00:00 - Introduction
02:12 - Friend of the day
04:00 - What does it mean to work for Twilio
11:29 - How to reach developers
26:23 - Doing webinars and YouTube video’s
30:46 - Twilio Voice and looking forward
36:20 - Being a T-shaped developer
44:32 - Closing
Introduction - 00:00
Rick
Hey there, welcome to Betatalks the podcast, in which we talk to friends from the development community. I am Rick
Oscar
And I am Oscar. Hey, Rick, recording our podcast. Happy about that. What you've been up to?
Rick
Well, internally, within the company, we work for Betabit. We have this Azure talent program, where we actually try to educate new hires, and specifically youthful new hires. Within everything there is to know about Azure, because a lot of the projects we do, of course, we work with Azure. And then there's so much to learn about that. And if you just dive right in right now, you'll probably drown because there's so much information. So we tried to give them a little bit of context. And then in the end, they're going to do AZ 900. And then after that, AZ 204, so that they're actually developer associates for Azure. And as principal cloud architects, we get the chance to have half a day with those Azure talents to actually tell us something about how we use Azure. Right?
Oscar
Yeah, we can share some of our war stories. So indeed, preparing that at the moment.
Rick
Show our scars.
Oscar
Yeah. Now that but it's cool. Like you can we can, it's all internal. So we can do some show some client setups, where Azure is powerful, and where there's a big difference between this customers using Azure and this customer is also using Azure.
Rick
Oh yes. So, so some customers have only recently migrated towards using VMs, while others are cloud native. And there's this huge gap in between the two of them.
Oscar
Yeah, looking forward to explain that to someone who's just starting in this, this path to see if you can come up with good analogies, because it's kind of default. Now. That stuff is in the cloud. So yeah, we're old.
Rick
Talk for yourself. No, I agree. Oscar who is our friend of the day.
Friend of the day - 02:12
Oscar
Our friend of the day is Niels Swimberghe. Niels is a Belgian American software engineer and technical content creator at Twilio. Get in touch with news on Twitter on at real swim burger and follow Neil's personal blog on .NET, Azure and web development at swimburger.net. Welcome Neil's welcome.
Niels
Thank you. How's it going?
Rick
We're fine. How are you?
Niels
I'm doing great.
Rick
Cool. Let's address the name first, right? Because it's a Belgian name. And the surname is Swimberghe And then online. You kind of change that a bit to Swim Burger. But how is Niels pronounced in English? How do Americans think Niels should be pronounced? Because that's a difficult name for non Dutch speakers. Right?
Niels
Yeah. And how is it spelled when I say it in Starbucks? That is? But yeah, I hear I hear Neil's or, but I would often suggest them to say, Neil, because I kind of like that, like Neil Patrick Harris, which is very cool actor. But a lot of them get good, really good at pronouncing it. So. And if you're at a very conscious culture company, they will actually ask, you know, how do i pronounce your name? And I
Rick
think on LinkedIn, now you have the option to also pronounce your own name, and then record that, so that people can actually hear how to know how to pronounce your name.
Niels
Yeah. And there's like a dedicated website for that where I shared a link around sometimes, too. So that's, that's really helpful when you're in different countries that that are not touched for sure.
What does it mean to work for Twilio - 04:00
Rick
Yeah. So you already mentioned the company to work for. So you work for Twilio. How did that come to be? Because I think you didn't move to the states for Twilio. Right. You worked there at another company before?
Niels
Yeah, that's right. So actually first worked in Belgium for a couple of years. That was for a web agency. Then I moved to Northern Virginia, close to Washington, DC, where I used to do my internship and there worked for a contracting company that would do government contracting private customers as well and also military contracting. Now as a as an immigrant, you know, you can't really work on those military contracts. Not that I want to but the government contracts and private contracts. Were very interesting, for sure. And after that, actually, well during that I started writing for the Twilio blog, because I was blogging on my own website at swimburger.net. And one of the editors from Twilio reached out hey, do you want to write for the Twilio blog? And so I accepted Twilio actually pays external contributors to write for the Twilio blog. So you know, those that are interested in writing, you can hit me up into the ends and, and we can talk about that as well. But back to how I got at Twilio. So I was already writing as an external contributor. And when I saw the role for .NET, editor for the Twilio voices team, open up, I applied and I already knew a lot of people on the team, and they've already worked with me. So it was pretty smooth. And I'm really, really happy to be with Twilio. Now. It's a really great company. And this is also a very exciting job. Very diverse, you know, I get to program a lot, but I get to write a lot as well. And I get out of my comfort zone now and then doing, you know, a webinar recently, and now doing this podcast. So it's a little variety that I can choose to do. I don't have to. But yeah, I really enjoy it.
Rick
That's the great thing nowadays, right that you get to choose which one you want to do. And then for those listening, who aren't aware, could you in a few sentences, explain what Twilio is about and what types of services they offer?
Niels
Yeah, so Twilio is most well known by developers as the communication API. So Twilio has a lot of partnerships and contracts with telecommunication companies all over the world. And Twilio then builds all these connections, that we implemented these protocols with all these different telecom companies, so that we can offer a single API to developers to buy phone numbers from, you know, any country that support it. And then you can start sending text messages, receiving text messages, making phone calls, receiving phone calls, and doing all crazy stuff with those kind of technologies. But after you know, those core capabilities that we've that we're most known for. We also do chats, we also do video. Now, we also have a data platform where you can personalize interactions with your customers, we have software for contact centers. So you know, it goes a lot further than what we're known for the most. But I'd suggest, you know, to go take a look at the website at Twilio.
Rick
Because I think we haven't even touched upon WhatsApp or the fact that SendGrid I think is now also a Twilio company, right?
Niels
That's right. Yes. And I have actually written a lot by SendGrid already. So a little ashamed that I forgot to mention it. Yes. SendGrid as well. So we do send emails to and we even used to send fax messages. But unfortunately, that is deprecated.
Rick
Well, I'm not really sure if that's unfortunately. But I understand what you're saying.
Niels
It's unfortunate for those that wanted it.
Oscar
I don't think it's a big market anymore. No, I definitely I definitely know your product from Twilio, from the messages. And I was also at multiple projects where we use SendGrid. And I think almost everyone in the world did a project with SendGrid at least. But yeah, as far as I know, have some phone numbers and do some calls and do some texting indeed. But then didn't go further. But you mentioned video, what is it like video, like Teams integration? Or what is that?
Niels
Yeah, so as with all these, well, not all the products, but all the products that are targeted at developers, which is most of our products, I would say it is an SDK and an API that will allow you to implement live video calling with anyone. So it really is up to you to developer to implement how you're going to connect two people together, you know, the logic of who should join the chat room, or the video call room is up to you. But the actual video streaming technology will take care of that for you. organizing things into room will provide API's for that so that it has an easy API to integrate for your call into your applications.
Oscar
What I see at least from the outside from Twilio. Because it's of course a really technical product or set of products. I think you really target to speak to the developers themselves and not so much maybe also but like I really see that like bringing technical contact and content and demos. What you mentioned blog posts, Is that the main thing for marketing for Twilio?
Niels
So it is always easier for me to talk about the developer side of things, because I was a developer, and I'm still a developer. And whenever I have to talk about the non developers stuff, then I am kind of struggling. So for me, the hardest thing is to like describe the company as a whole, because there are a bunch of products that are targeted at, you know, more business, folks and not developers. So there's definitely a marketing going on there targeting businesses and more business decision makers instead of developers. But I'm less involved with that. Because my job is to write about our developer products. And so our full team name is the Twilio developer, voices team. So we try to be the voice of the developer, trying to provide any kind of guidance that we can through blog posts, and then also working with community through community contributed blog posts to really help any developer get started with Twilio or have IDs to build cool stuff of Twilio. But we also blog about non Twilio stuff. So that I think that's great as well, so that we could just indicate any developer on .NET or any other programming stack.
How to reach developers - 11:29
Oscar
Yeah, I'm really curious about that, like we work and I and our company invest a bit in like open knowledge sharing. But also from the outside. Like Twilio really does that. And to me, it feels like who's, where are the boundaries there?
Rick
Yeah. Because if I'm not mistaking, I've even seen a couple of Twilio people also really active on Twitch, with Twilio, but also non Twilio products, actually showing how to build stuff. So there's a large investment there from the Twilio side.
Niels
Yeah, there are some awesome Twilions that are very active on Twitch. And I spend a lot of time watching Twitch not being on Twitch itself. Like not being not streaming myself. But those folks, they are building products live. And it's really fun. It's really engaging, because it's all real time, they'll respond to your messages in the chat. And you can give suggestions on how to build or, you know, helping the decision making. Yeah, that's another part. And I think a lot of the development evangelists actually do that.
Oscar
And how was that coordinated? Like, do you do you divide work? Do you get to come together to think of some topics and get them approved? Or are you just left alone while doing your thing.
Rick
Winging it
Niels
It is, it is very organic, we are given very..
Rick
That sounds so much better than winging it. Yeah. I like that one better.
Oscar
I always use that to describe a name for structure or something and decline. It's not great. It's like this is, yeah, it was an organic process to get to this point. I'm not blaming you likes design.
Rick
Sorry, I interrupted you.
Niels
No worries, we are given a lot of autonomy to reach developers, and observe developers in a way that we see fit. And we do retrospectives, and one on ones with managers to actually see how well we are doing and the kind of impact we have. But it is very organic and autonomous. So there's not that much coordination going on. Sometimes we do get some suggestions, hey, could we have some content on this? Could we talk a little bit about this, because we do want to promote this or that product more. But in general, actually, I've never been told, Hey, do this blog posts, or I don't think for the for the Twitch streamers. I don't think they are told, hey, I want you to do this or that. So we get a lot of freedom. But we as developers enjoy the API's ourselves. And I think there's so many products that that we don't even know what to do, like we don't even have enough time to cover at all. And I think there's no way that we're going to run out of inspiration.
Rick
And though you probably won’t looking at the services that Twilio provides, and even the integration with things like function bindings for Twilio, and for SendGrid. And I mean, there's, on one hand, there seems to be this tight coupling between Azure and Twilio. And on the on the other side, there was Azure communication service, I think was introduced, which does things with phone numbers and messaging. Do you see that as an addition to the ecosystem? Or is it somewhat of a competitive service?
Niels
Yeah. So personally, I would see it as a competitive service, although it is a lot younger. And so it has love, like I would, I would argue that our services do have a lot more capabilities at this moment. But I haven't played with the Azure communication services myself yet, so I can't really compare it. And even you know, if I did, then I would probably not be...
Rick
Still be better, right?
Niels
I would not still not comment on it, because that's just too biased for me to comment on it. But yeah, I do find it super interesting that Azure has bindings for SendGrid and for Twilio. And so for Twilio, is to send text messages and for SendGrid is to send emails, but those very, very predated Azure communication services. So it is interesting to see what is going to happen now, are they going to add bindings in for, you know, their counterpart? Or are they going to add bindings and remove ours? I don't think they would do that. But we'll see what happens. But it's great to have that integration, though.
Rick
And then, of course, in the end, if they do choose to remove those bindings, you could still create them yourself as Twilio and just put them out there and get help from that.
Oscar
Especially those libraries all like open source. So that's a bunch of examples. And yeah, I remember contributing to those repositories like it's, in the end, it's not really a Microsoft product team. No, it's just for the community. So,
Rick
It's extending on what they actually provide as being Azure functions.
Oscar
So they would probably put the example next to it doing similar things to their own project. But I don't think, yeah, removing this thing would make sense. But yeah, it is really interesting. And is your, in your job? Is it also to get like feedback back from the community or like to find out rough edges yourself in an API, for instance, when you're playing around with something?
Niels
Yeah, so one of our customer, one of our Twilio values is that we were the customer shoes. And as at when I'm writing developing samples, applications, I'm constantly wearing the customer shoes, and then I'm noticing things like, Oh, this is a link that should have been changed. Because you know, the doesn't point to the correct location anymore. Or there's some version changes, some small API changes, I give that feedback back to our teams and report JIRA tickets all the time. But whenever I get feedback from you know, any other communities like Twitter, mostly Twitter, because that's, that's where you'll find me, you know bantering the most. I do pass that on as well. Now, it's not, it's not always easy to categorize that. So I do try to, you know, even reach out to get more details. Because, sometimes, and I know this for myself, sometimes you say things just to say them, just to kind of express your emotions, and that really to get something fixed, if that makes sense.
Rick
Yes, sometimes you just want to rant, right?
Oscar
Yes, yes.
Rick
Yeah. In short, you just want to say odd. This is crap.
Oscar
Yeah. Even if you were the one not reading something, yes. Being an idiot. At some point,
Rick
I might have had something like that yesterday, where I actually reached out to support a hosting provider saying, why is my DNS not being published out? And then in the end, as the host, I had the domain name itself instead of an ad, which means it doesn't go out. So I actually said, this is really crappy. I don't have any DNS out there. And I said, I'll look at the domain. And then I started looking at doing myself and I thought, Hmm, that might be something I F'd up.
Oscar
Did you still try to blame the UX? You could do that?
Rick
No, no, I wholeheartedly agreed to the fact that I was being a moron at that point at that point in time.
Oscar
But indeed, like, we need to pick your feedback, which is actually something you can do something about or just echoing.
Rick
Yeah, sometimes it’s just echoing.
Niels
Yeah. And on Stack Overflow. I check for .NET questions all the time, to see if I can help there, as well. And I think that's a great source of okay, what kind of information is missing? You know, what are people not getting about Twilio products when they're combining it with C# and .NET And then that's like a source of inspiration for me to also go a write about 'em.
Oscar
I think you're like, if you're describing it like this, to me, your job seems because of the specifics of your users, which are, like developers using a product, which are a bit different than, let's say, normal people products. It feels like you're somewhere between tech support, like actual marketing for technology, and being like almost a UX researcher in like, How are people using the product? And yeah, and real, like, using all the places where your users are, to see what they're doing, maybe improve. And also, as almost like a tester in production, checking if your documentation still makes sense, and things like that, because you're acting on behalf of a normal user. It's really interesting that these kinds of jobs you see popping up everywhere, and like, yeah, we've had discussion with some other people doing deferral, or evangelism. And this, to me seems like a really wide one, it really covers all the bases.
Rick
Yeah, and it's probably, it's probably part of the coming of age of our industry. We still aren't full grown yet, not by a longshot. We are still pretty much in our infancy. But probably we need roles like this to, to guide us along the way of actually growing up.
Niels
Yeah, I think you totally have to eat your own dog foods to compete in in the current marketplace. Because if developer does not like your API, then they're going to look at alternatives. And if they don't like your dogs, they're gonna go look at alternatives. So the experience just has to be great for developers to onboards. And part of that, I think, is just smooth, easy, free trials. So I remember from my previous job when I first wanted to play with Twilio. And I needed to do some proof of concepts. And if I wouldn't have been able to get a proof of concept like up and going in a couple of minutes, you know, a sample in a couple of minutes and then build my cup, my proof of concept in a couple of hours, then I probably would have just quit. And I wouldn't have been able to deliver value to my to my client. And so I think it's really important to get started quickly have clear documentation and an intuitive API.
Rick
Yeah. And then probably, I mean, I totally agree on the fact that it takes a nice user experience to, to be able to onboard swiftly, but also to keep your customers happy. And to keep them on your platform, you actually need to have a decent structure in place for getting feedback and responding to that feedback. So that if there's any issues, for instance, that you actually solve them and communicate about how you are going to solve them. And that's probably also part of where, where your work lies, right.
Niels
So, yes, and to what you were saying earlier, is that I'm wearing a lot of hats. It's not officially, really my role to do many of the things that we've talked about previously, but I choose to do them. And I think it makes me doing my real job better as well. Because officially, what I'm doing is working with the community to take community contributions for the Twilio blog, and writing on the Twilio blog myself. But outside of that, the more I do, the more inspiration I get. And also the more impact, positive impact I can have. I kind of lost track of
Rick
It's not a problem because you know what time it is Oscar?
Oscar
Is it time for totally random question?
Rick
It is time for a totally random question. Niels, what is the most irrational superstition you have, if any?
Niels
I don't think there's anything like a good answer that I have. But something that comes to mind or that I used to have is, you know, when you're driving around or you're walking around, and there's this streetlight that just goes off every time you pass by it. Do you ever have that experience?
Rick
I'm not really sure. But maybe it..
Oscar
The other way around I have it sometimes. Those are smart ones.
Niels
Oh that it turns off.
Rick
But, but you, you then think that it's your personal FBI agent.
Niels
Well, so I did experience this, I think, many years ago. When I used to drive back in Belgium, I don't drive as much anymore, probably because of the pandemic. But the but yeah, this light would go off every time that I'm about to pass it. And it will be like, Okay, what why is this happening is this, you know, some weird something with the vibration of the road that that, you know, loses some connection or something or, and this phenomenon is actually researched and explained, it's just kind of your mind. It's not playing tricks on you that you are seeing things that are not there. But it is, is kind of like a bias because you think it's happening because you're going there, but it's actually happening for everyone. It's just happening all the time has nothing to do with you. Because but because you only you see it in that small fragment of time you think it's kind of related to you, but actually, it's just a broken a light that just goes on and off all the time.
Rick
So that's, that's actually, the first time you see it, you don't even mention it. And then the fifth time you see it, you think it's creepy. I'm, am I seeing something here? And then the 10th time you think, okay, so this is creepy now?
Niels
Yeah, it is something like that. Actually, yeah.
Rick
Cool.
Oscar
This is how our testers feels sometimes
Rick
Is it broken just for me.
Oscar
You're using it wrong.
Rick
You're holding it wrong.
Oscar
Yeah that one.
Doing webinars and YouTube videos - 26:23
Rick
Niels I would like to go to your recent webinar, because you already touched upon that earlier on. And you actually said, getting out of my comfort zone. So you, you have some videos out on YouTube. And then now you did a webinar. And you also mentioned this podcast as being out of your comfort zone. So the first question I would like to ask is, is that because it's, it's live? And it's out there? And it's all at once? Or? Because you have YouTube videos out there? Or are they? Are they also out of your comfort zone?
Niels
Yeah, those are also out of my comfort zone for sure, actually, even more than the webinar at but for different reasons. So when you record a YouTube video, generally, there's not really anyone to talk to. I mean, you could have but in the case of those YouTube videos that I made, I'm just talking to myself, or I'm reading a script, because, yeah, I'm struggling to actually not do it without a script. Meanwhile, with the webinar, I also provided the script, because the day before I was kind of rehearsing it, and I felt really bad and really stressed when doing that. Because it didn't go well even reading the script. But then when I was actually doing the webinar, I didn't even look at the script, and it just went naturally. So there's like this big difference between doing it live, practicing beforehand, or recording a video beforehand. And reading a script versus actually talking to an audience. And especially having Kalid being part of that webinar. And kind of supporting me that that that's just like a godsend. It's super helpful for me to actually, naturally go through that.
Rick
And then if you look at the contents of the webinar, so phone calls with .NET, and Twilio, could you maybe in a high level, explain to us what you actually showed during that webinar? I could kind of get it from the title. But still, could you explain a bit on what you actually did there?
Niels
Yeah. So we dug into just one specific product that is Twilio voice. And we combined that also with Twilio phone numbers. So the way you can use Twilio voice is you can use it in combination with a Twilio phone number to make phone calls. So either run a console application, and that will start a phone call from the Twilio service to any phone number that you specified. Or that phone number can talk can like a normal person's phone number can call a Twilio phone number. And then that's really a phone number will actually notify a web hook. So some kind of public endpoint that is publicly accessible over the internet. And then that will pick will respond with some instructions to Twilio, hey, this is what you should do with this phone call, you know what to say, if it should be recorded, if it should be connected to a specific person, you know, over another phone number or maybe over Voice over IP. So that was the first part of the webinar. And then the second part was actually how can we make phone calls from a blazer web assembly project? You know, I haven't tested it. It could also be with blazer server properly, then so the way that works is it uses the Twilio voice JavaScript SDK, which is a client side SDK for connecting your client side application to the Twilio service. And that will then use Voice over IP will actually be over Have a WebSocket connection to transmit events that are happening if a phone number and Twilio phone number is called, that event will be transmitted over that connection to the to the web client. But also vice versa to start making phone calls. And the audio data will also be transmitted over that WebSocket connection. And so when that phone call is started, the same web hook will be called and, and that will also respond, okay, to whom should I actually be connected. And so that can be again, another voice over IP client, or it could be a phone number. So that demo, in particular, I think is very cool, because you can see how he can make phone calls from a web browser.
Twilio Voice and looking forward - 30:46
Rick
Yep. Just for reference, what you just told us, and now put that in context of 10 years ago. I mean, if you can see where we, where we got from, from, from where we if you could see from where we started to where we are right now in software development. I mean, it's massive what what's already possible right now, and then we're only getting started, I think,
Oscar
I remember having a server somewhere and Datacenter would taped on Nokia, on a serial connection.
Rick
No, no.
Oscar
To send out SMS.
Niels
Really
Oscar
Yeah
Rick
I used to work for this company that actually had, I think, the only SMS server in the Netherlands. So we could send out SMSs. We shouldn't we weren't allowed to. But we could send out as a message from anonymous phone numbers or not even a phone number, just a in name.
Oscar
I know that service and I definitely misused that one in the beginning.
Rick
I might have to. So but if you see where we are right now, where we have blazer WebAssembly, which is C# running in the browser, and then interacting, having that interact with JavaScript SDK that actually talks to another service on the internet that enables us to make calls. I mean, we've gotten a long way already.
Oscar
This definitely a lot of Lego to play with it is
Rick
And then looking forward. Looking forward and then looking at what Twilio has coming or might have coming. What are you looking forward to Niels?
Niels
So I want to touch about touch on that 10 years ago, because 10 years ago was essentially when I first started coding in C# and .NET in college. And if I had the knowledge that I have today, back then I would still have no idea how to make phone calls or text messages, do any of these things. And I still don't know how to do it today. You know, without Twilio? Like, these kinds of hardware solutions or telecom condition. Telecom solutions sound just insanely complicated to me. So I'm happy, I don't have to worry about it. Honestly.
Oscar
That's the thing of the abstractions of those projects, right? Like you just, it's just a thing. It's just a goal and API calls to service and you use it, it is amazing. What amount of work gets abstracted. Yeah, and if I, if I look to that now. So look at the demo that you did there, what are what is the amazing or most amazing implementation you saw, you never got to think of with these, these API's.
Niels
Oh, so this is something that I've been trying to get to work a specific sample applications. And it's, it's not particularly useful to like the general public. But for me, it's just like a cool fun idea and a toy that I want to play around with. And so one of the Twilio voice verbs, you know, they call them verbs, the verbs are like say something, play something. So do a specific thing. One of the verbs is stream, I think is stream, I would have to, you know, check the documentation to double check. But that would actually connect you to a WebSocket connection. And so then you can transmit any audio over the WebSocket connection from the other end of that connection. So, essentially is up to you to, you know, generate audio or read audio from a file. And so you're given pretty much 100% Freedom of what you're doing on that other side of the connection without having to use you know, the built in functionality. So that with that you can start building really complicated solutions. And so the toy that I'm trying to create is to have this bots on Discord that I could just tell the bot, hey, called his phone number, and he's going to go out to Twilio. Use a Twilio phone number to call this person. And now this person is part of our Discord room, you know, our voice chat room, and we can start hearing that person. But it's instead of them being connected through an app through the discord app, I would actually hear them through the voice. And it's the reason I'm saying it's not really useful for normal people is because okay, you could just install the app and join your room. But I just think it would be like a cool proof of concept, something fun to play around with.
Rick
I would actually like to see that work. And I can, I can think of a use case or two. So there might be more people interested in this. And then just you
Niels
Well, to be to be seen if I can actually get it to work, because it involves, you know, accepting the voice data from discord, and then transforming it to a format that Twilio voice understands. And I have absolutely no idea what I'm doing when it comes to audio processing. So I'm...
Rick
That's all of us until the point that it works, right?
Niels
Yeah. I think everything seems really hard until you get it. And then it's actually it wasn't that hard.
Rick
Yeah, exactly. That one, you sent a small list of topics you could talk about, it's actually a really big list. But one of the things that stood out to me was the fact that it says, Visual Studio, Visual Studio code, and JetBrains rider. And that leads me to believe that you probably have worked or work with at least two of these. And you might potentially have an opinion on how they work and operate. So could you explain a bit why that's on the list of stuff that you think you could talk about here?
Being a T-shaped developer - 36:20
Niels
Yeah, the reason I provided a list that is so long is I believe that I'm more of a T shaped developer. So I have I'm like a jack of all trades. But then I have some specific areas where I do have some depths, but pretty much most of these I could talk about, but not that much. Now, when it comes to Visual Studio, Visual Studio code, and JetBrains, writer, I have used all of them. At my job, I use Visual Studio a lot. I started using Visual Studio code, the pretty much from when it started. And I personally, the reason I like Visual Studio code so much is that it is just supported everywhere. So I could use it on Mac, I could use it on any Linux system, I could use it on Windows, and it's very, you know, lightweight. And then the same applies to JetBrains writer, when it comes to it is supported everywhere. But it is a lot more like Visual Studio and its capabilities, and how much it helps you out. And so I've started using JetBrains writera lot more, now that I have a MacBook for work, as opposed to all the Windows machines that I used to use them my previous jobs. But now that I have a MacBook, I am so happy that I actually have JetBrains writer because it helps me out a ton. But I still use Visual Studio code just because it's so snappy, so fast. You know, whenever I just need to format some XML, some HTML, I'll just copy paste it in there, format it and then copy paste it back into something else. So for me, Visual Studio code is kind of like my scratch pad. And then JetBrains writer is my full blown idea to get a lot of work done.
Rick
Yeah, same here. But I do have to say that JetBrains writer, I have it on my machine, I am still primarily on Windows machine. And then I actually started working with it a couple years ago after I saw it with one of our customers who actually worked with it. And then after a few months, I asked that same customer. So why do you use writer a lot and not in a negative way, but just to get to the information. And he said, Well, to be honest, if you don't work cross platform a lot, then rider might not necessarily be very interesting, since Visual Studio will then do the same for you as writer does. But as soon as you go cross platform, then writer becomes a lot more interesting. And of course, this also is taking into account the years of muscle memory that have been built up using Visual Studio and then changing to Rider although you can say let's do the Visual Studio keybindings. Still, it's different because windows are in different locations, or menu items have different names or you need to find your information elsewhere. And I can imagine if you're truly working on different platforms regularly that then it's interesting to have one tool that actually works on all of those different platforms, right.
Niels
Yeah, and you If you are, so if you are switching from Windows to Mac Book a lot, then you're still dealing with a lot of different keyboard bindings just from the operating system, which I'm struggling with a lot, to be honest, and I'm still getting used to the MacBook. And it's six months in now. Now what you say about the keyboard bindings, that is very true, it is different and is a different tool. So it does take getting used to. And I do want to point out, you know, there's there is another tool for Mac that is Visual Studio for Mac. And I've tried it out, but it just doesn't work out for me. It's not there yet. And you know, I hate to say that, because I know there's love people putting their, their heart into it. And so you know, props to them. You're doing great job and keep going. But unfortunately, it's just not there yet. For me.
Rick
I think what you said actually triggered me in the fact that we shouldn't expect a different tool to work the same as the tool we're used to. If it's a different tool, then you should treat it as such and accept the fact that it works differently. Because I think we all did the same for Visual Studio and then Visual Studio code. I mean, we accepted the fact that Visual Studio code is a much more lightweight, much less guiding IDE than Visual Studio, the entire Visual Studio is. So I think Bryter should also be seen as yet another implementation of an IDE in which you can for instance, right?
Niels
For sure, yeah. And there's different capabilities, because writer ID is based on the IntelliJ platform from JetBrains. And so if you're familiar with the other IDs that JetBrains offers, they're all based on this on the same base platform. And then I have like how Visual Studio have workloads. But workloads are more for .NET mostly, but there's some other stuff there too. I think that's how JetBrains builds their IDs is they combine a bunch of workloads. And so to write a workload would be you know, .NET, C, sharp, ASP. Net, but then also all the stuff from the front end development workloads, which actually is what JetBrains calls JetBrains, WebStorm. So I think all of those are in writer as well, then there's a lot of database tooling. And I don't know what data specific ID is called do that. Those are also yeah, those are also in writer, I believe. So you got all these capabilities that come from different IDs. But I think, because they have so many IDs, and there's so many developments going in all of them, they do share a lot of features across them. And one that I was using recently was those HSP files, which I think are really cool. I was using them in the webinar as well, which similarly to like postman, I personally used PowerShell scripts, or curl commands before. But it is really useful to just make some HTTP calls. And so those HB files allow you to just say, Okay, I want get it's this URL, and this header, and then this body, a, you just press play, and it will send that HTTP request, which is really useful, if you want to quickly, you know, test out some API's. And I think we had this discussion recently with some folks on Twitter. Okay, why aren't you just writing unit tests for those? And I agree, sure, we should write unit tests for those if we're gonna test those things over and over again. But if I'm just, you know, quiet, want to see it work, does it work right now, quickly, and doesn't need to be tested over and over again, then I'm gonna go for an HSP file or a PowerShell command every time?
Rick
Yeah, I use, I use this HTTP files in Visual Studio code with the REST client extension. It's awesome. And the cool thing is, you could actually have those HTTP files have multiple requests in them, and then make them part of your repository, which means it's under Source Control, which means it's versioned. And I think that's awesome. Of that addition.
Niels
Yeah. And for me, it's, it's like a great tool to just demonstrate how, you know, this is, this is real, you know, this is what happens if I actually call this API. So for people that build samples, or do demonstrations, this is amazing.
Closing - 44:32
Rick
I agree. Niels, is there anything that you would like to get back to or anything that you would like to add or maybe some final, some last thoughts?
Niels
Not really you know, there's a lot of things that we could talk about, but there's nothing that I specifically want to touch on.
Rick
Well, if there's still a lot of things we can talk about, then we might invite you for just another episode. But for now, I think we're out of time so thank you very much. for being our guest,
Oscar
Thank you so much.
Niels
Thank you. Happy to be here.
Oscar
Thank you for listening to Betatalks the podcast, we publish a new episode every two weeks.
Rick
Find us all the major streaming platforms like Spotify and iTunes.
Oscar
See you next time.
Rick
Bye.