Audioburst Search

267: The Evolution of RubyMotion/DragonRuby with Lori Olson


You're listening to the ruby on rails podcast on the five by five network. You're listening to episode two sixty seven and I'm your host Britney Martin ruby motioned, the ruby Runtime that lets you develop native apps for IOS MAC OS, watch OS TV OS in Android using your favorite editor and the ruby language and the ruby tolls that you all know and love today, I've invited Lori Olson onto the show to champion the project Laurie got her start in software straight off school with a bachelor of science honours in computer science from the university of Calgary working in the Calvary oil patch synthetic she developed software solutions for the health, finance and entertainment industries as well software tools used who's the productivity of other software, developers in her copious amounts of free time, Lori volunteers as an instructor mentor and former chapter league with the Canada learning code, a nonprofit devoted to increasing digital literacy by teaching coating and technical skills, a hands on social and collaborative way. Welcome to the show Lori. Hey Britney, thanks for inviting me to appear. And I'm happy to do. So as I work remotely here in little left bridge. Alberta. Wonderful so Laurie can you please share developer origin story. Sure. So I started out as a kid with the aptitude for math and science had one of those not very enlightened guidance counselors that decided I shouldn't be a scientist, and he talked me out of things like geo physics and astro-physics, which is what I was actually interested in at the time, and I ended up in computer science, but turns out I really kind of liked computer science. So I continued through that got my degree and ended up working for a large oil company for about eight years from that time, I. Decided I don't really like working for large companies so ever since then I've been working for little tiny companies. And now I work for myself with a little tiny company called windex group. Doubts about it. So what led you to the review community? So I was doing Javid development had been doing Javad development for some time. And I was actually getting really sick of Dabbagh development. But I was at a conference in Calgary. The no fluff just stuff conferences, and Dave Thomas was actually a feature at these conferences. He was always talking about ruby. But this particular conference all anyone could talk about was this cool new framework called rails. Now, my co worker and I had a project though, starting next week. So we decided to blow a couple of weeks off the front end the schedule and see how far we could get with ruby on rails. Never really looked back. That's awesome. I have always wanted to go to one of those. No, no fluff. Just stuff kind of conferences. I'm very jealous. I started in rails around rails three. So I can just imagine. How cool it was to see see rails grow up. Yeah. It was zero point thirteen when I started thirteenth my lucky number. So you mentioned that you were for yourself or a small development group. I have experience with working for a small female run Shaw back in my day. But I'd love to know what is the day in the life for you. Now. So in life now, I'm trying to concentrate on my school, but it doesn't quite pale the bills yet. So sometimes I'm working on contracts to but working for myself. I can finally kind of work my own hours away my alarm clock. I am. So not a morning person. I get up I get caught up on a few things. I try and get all the really annoying stuff out of the way in the morning. Then I usually break to do some exercise or take my dogs for a walk. Come back have some lunch. And then I have this great expense of the afternoon to get all my concentrated work done, which these days is either working on some web applications as contract or working on new courses for my school. Very cool. Let's talk about why brought you onto the show. You recently had a post featured in ruby weekly around there be motion to start off as I mentioned what review motion was at the beginning of the episode. I'd love to hear from you. Like, what is ruby motions? You and what experience you have with it? Okay. So on attack promotion, I like to start with ruby ruby is dynamic scripting language has many implementations like Mazzi, ruby most popular one. But we also have like Jay ruby that runs on the JVM. And implementations like Mugabe, which is intended for embedded device development. So there's lots of implementations so back to ruby motion. Remo Shen is an implementation of ruby. But it is not a dynamic scripting language. It is a compiled language based on the LVMH lake languages like objective, c swift rust to name a few. So as an LVN language it is compiled and produces native execute Ables. This does limit some of rubies dynamic features like dynamically creating classes in adding methods on the fly, but it opens up the whole world of mobile application development, where you actually need to have a native execute -able. What led you to even looking into ruby motion where you already working in the ruby community in you need like a mobile app project. Like, I would love to hear what what got you even experiment with it. While I was working in the ruby community and the rails community attending. Conferences and such. And I had actually been looking at developing. Web applications were inning on mobile devices like ipads. And then ruby motion was introduced in. It's like, wow, I can create a native app and still use ruby because I had in fact been trying to use objective c to create mobile applications. But you know, I use the decorative see, you know, back in in before I phone was even a thing. I used objective c to build a plug in for a local company. The does photo processing applications that some really cool patented technology that they use. And they wanted to have a Plugin for Photoshop on the MAC the had somebody else working on a windows version. And I built the MAC version using objective c. I didn't like objective c very much. I've heard that a lot. Yeah. So when ruby motion came out as like, yes. Because now I can do it all using ruby instead of objective c there's really a mindset problem. Switching back and forth that you know, it gets into that whole context, which ING and really makes it difficult to really dig in and make progress on a project that you're working on the side. If you have to keep doing this context witching. So let me present as scenario so say, I have this really amazing ecommerce have that I built in ruby. It's a web application, and my boss comes to me and says, hey, I want this to the mobile application on like sure, we'll just wrap it in something. So that it's able to be placed in the app store. No problem. But he's like, no, I want you to actually translate this into a mobile application. So if you have this perfectly well working site, what percentage of the code that you've already written. Do you feel that you could bring into a ruby motion project and have it work? Is there a lot of translation that needs to happen? Or are you able to really rely on a lot of the work that you've done already? This is funny. This is actually my next project. I might be your client. I'm the one of the contracts. I've been working on is developing a web app for guy and he wants to have apps now. And so I will be doing that. Now his application is fairly straightforward. It doesn't have massive amounts of data. There's lots of things that it's doing that are just sort of. Really well suited to being a web application. So when you think about translating it to the apps store, honestly, wrapping it will will do a good job. That's not true of all applications. There are some applications that do not translate. Well at all and you need to use more native staff. So it's really sort of situational. It depends on the application and. And it depends on how some of the back end is built if it's really built. So that the back end operates more like an API you'll be able to use all of that in your ruby motion app. And you'll just mostly building the front end UI part. So what do you enjoy most about developing in ruby motion, just the lack of context, which ING or their certain libraries or the community behind it that you really enjoy. It's kinda the same reason that I enjoy using ruby. There's the clean syntax the readable code the general community push to convention over configuration. Speaking of community. That's another reason the rim ocean community itself on slack. There's a group called the motion ears is probably one of the friendliest and most welcoming online development communities I've ever encountered. Interesting. So if I wanted to get so I've always been interested in being able to develop an app, and I've always kind of put it in the back of my mind that I would learn Kotlin or swift. And now knowing that, you know, the ruby motion community is alive, and well, very tempted to really dive into it because I do maintain a mobile application at work that really is just wrapped currently, but it would be fun experiments at try doing it ruby motion. So to get started I should link in the show notes, but I should seek out the slack community. Absolutely. You can join it by hitting the join app, which is motion ears dot horr-, Ochoa dot com. Very cool. We'll speaking of the community a recent post by the ruby motion team aptly named the sleeping dragon has woken and is filled with a terrible. Resolve was posted on their blog. It was around how the project is structured and how they feel ruby motion lens the overall mission of having ruby everywhere. When you saw this blog post, how did you react? Well, the fact is I actually saw a lot of that post in its formative stages. Interesting. Amir tends to consult with community members a lot, and I'm one of the people he bounces ideas off because I have the school. All I have to say I love the idea of having an open source version of ruby motion, which it has never been. There's been bits bits and pieces of it that are open sourced. But a Patil that post right there. Most people. Didn't realize that that was where they were going. So Amir's brought on a couple of partners now, and he is working towards having the whole infrastructure in place to make it open source. Interesting. So almost like how Microsoft open source dot net and the usage of dot net. Dislike exponentially exploded. Yeah. That this could happen for ruby motion. I think so and that is both an exciting thing, and and problematical thing just one thing when a large corporation open sources something because they're still supporting it. They're still paying people to work on it. Whereas ruby motion is, you know, primarily Amir and now his two partners. And the people that they've hired, but it is an audio large corporation behind it. So. He wants to be very very careful and deliberate about how it gets open source, and I applaud that. Do you think that there are you aware of a time line as so when he would like to have that open source, should we expect to see something this year? Do you think this is going to be a a slow progress project that there's going to be parts of it coming out fairly fairly sin? He's got a big announcement coming up that keeps he keeps teasing people about at ruby keg. So that's that's coming up pretty darn quick. All right listeners, if you are lucky enough to go to that conference than you are gonna be the first to hear exciting announcement about ruby motion. Otherwise, I'm sure the conference videos will get posted. That is exciting. Oh, that's great news. And thing to remember is that part of the whole open sourcing thing is that it's being rebranded. It won't be called ruby motion anymore. Interesting. It's going to be called dragon ruby. Okay. Good to know. Well, that that certainly explains the blog posts, title, guess, so I as you've mentioned a couple times throughout this podcast. You have some courses available through windex school had these been successful enticing, ruby developers to mobile. They have hasn't really taken off yet. But I'm seeing a slowly growing amount of people and certainly over the last few weeks. I've been on other podcasts, and I can talk about that. Right. Lutely, and yeah, I was on the ruby rooks and couple of weeks ago. And also, the as you mentioned my post actually got a lot of attention from that post. So I've had a lot more people signing up at the school. I am seeing interest in my introductory removed in jumpstart course. It's where I teach people how to use red potion, which is kind of the rails of ruby motion, caveat, it is not rails. It is it is. So not rails. It is it simply serves the same purpose in the ruby motion in community that rails. Does it gives us a set of libraries a set of tools that have been quite useful standing on their own? But now they're joined together and they worked together, and you can create some pretty incredible apps with really not very much code. Well, I'm a bit biased because I am the host of the ruby on rails podcast. But I have noticed that if someone is a little bit intimidated to try something if you just tell them, oh, it's the rails of though like, oh, okay. So I mean, I just hearing that I was like, oh, I must try riposting. If it's the rails of review should. But that's good to know about your not going in for a rails experience. But that you do have sort of a framework feeling around that and the ad seventy for getting people started. Yeah, I've also been concentrating for the last six months on my more, medic course, six pack apps. This is over the more strictly like how to use this API Steph for mobile development. They're so much more involved in getting a successful at plunged in the app store than just what is ease and the six pack apps is intended to help people through that process. Interesting. Yes. So how'd your courses work? What made you decide to go down the educational path? Well, I have almost always done a lot of of community outreach and worked with helping people and that sort of volved into teaching my own courses, I've taught courses. And workshops on ruby on rails. Locally. And at conferences around the world. I taught them at. Rails comf- at Rubicon Strahl Lia at NS Scotland. I Todd bunch of Iowa's developers how to create rail back ends for their apps. So, but the thing is I've never found that I wanted to teach live. Multi-day stuff very often because I find it incredibly draining. Definitely agree to that. I am a combination of introverted and extrovert but live teaching for several days at a time. I can imagine takes a lot out of you. It does. So I thought why don't I try and create some online courses? So that's that's what I've been doing with the school. I've been setting that up. I actually kind of lucked out right at a time that I started setting up the school the guy who used to do a lot of ruby motion courses. Jack Watson Hamlin. Fluffy, Jack, if you follow him on Twitter. He had this whole set of videos, like seventy five of them called motion in motion. That top people how to do stuff with ruby motion. But he hasn't been working with ruby motion for a while. And he didn't really want to let that let those videos just disappear, but he didn't really want to deal with them anymore himself. So I bought them for the school. That's amazing. So we will definitely to that in the show notes. But that's great that those videos are still alive while they're still alive. And well and not only that a lot of them were all so I sit my intern on them after I bought them, and he went through the mall and went through all the examples and brought them up today. So they all work as they should in modern ruby motion, and modern I o s very cool. Well, I wanted to wrap up by asking you one last question. This is something that I saw touched upon in your blog posts. And I thought you had really interesting of pinions about it. So I know you have strong opinions on Java scripts, and I think the listeners would really love to hear them. Okay. Well, you know, one of the reasons I wrote that post. Somebody somebody told me that having a controversial Pinon is a great way to attract attention. So yes, it is. And I really do. There is not one thing that on that post. That is not exactly how I feel. Sometimes I don't always say those things out loud where people can. But yeah, I I've used I've been developer for over thirty years, and I've used devastate off and on since it started since it started and people are like why did you call it JavaScript? It's not Jaffa. But. I've even worked, you know, I have contracts where I've built no API's for people, and I built slack integrations for people using node, and I still don't like it. It's it's weird. And not in a weird wonderful kind of way in a weird. What the hell are you doing? Now kind of way. And the fact is. There's a lot of JavaScript cheerleaders out there. There's also a lot of really experienced JavaScript people out there that if you, you know, sit them down and ply them with drinks, you'll hear them admit that they really don't like JavaScript. It's just what's cool in popular right now. Especially because it can be rendered clients and server side, it just feels like it has gotten into everything. Yes. But the fact is developing mobile apps in JavaScript is not native, and I never will be. And I just think that that limits. It. In a lot of waste to. Not very interesting apps. That is super interesting. Thank you for sharing your opinion on that. Yeah. I have one more Pinon that. I haven't shared yet bio four it. You'll hear this. I okay right now it used to be that we all hated on Jabba apps. Right now every app on your desktop that you really really hate was probably written in JavaScript. That's because like every app that I have that. I hate right now. It's just like, trello. Yep. It's an electronic. Slack. Yep. It to Skype yet it to like everywhere, you look people are taking a shortcut to creating cross platform. It happens, and it's creating really bad experiences. I know it definitely consumes a lot of resources on your hardware, not mature. But I haven't personally developed yet. But I have heard of people if you're familiar with two people, which is a sweet screen sharing out. Yeah. I'm pretty sure they got away from electron. They started down that path and he decided to go back to native they in the end, if you need something that really performance, you have to get away from the data script. I love of a great way to end it right there. So Laurie how can our listeners follow what you are up to. Well, I am currently curing the ruby motion weekly newsletter. So if you go to ruby motion weekly dot com and sign up you'll get me in your inbox every week. But you can always follow me on Twitter too. I'm pretty active on Twitter. My handle is windex Laurie. So w MDX Laurie. Also, all of this will be in the show notes. Thank you so much for joining me on the podcast today, Laurie. If you've not given ruby motion tribe, please do I certainly will be.

Coming up next