Robera of Deliberate Practice
In the first of a new series where we connect one-on-one with Realm users, we spoke to Robera Geleta, creator of a sleek new goal-setting app called Deliberate Practice, which enables you to set up tasks, manage your time as you work toward your goals, and track your progress.
Tim Anglade, VP of Product at Realm: So, how are things going? Are you still in school at this point?
Robera Geleta: Not exactly. I just graduated in May.
Tim: Oh, nice.
Robera: Yeah, May 18. So that was it. Although, I almost feel like I need to go back [laughs]. It feels a little weird not being in school.
T: I hear you, man. I couldn’t let go. I was just packing on year after year [laughs]. Almost went into a PhD just because I didn’t want to leave. You were at Colgate, right?
R: Yeah, I was studying at Colgate University.
T: Man, that’s pretty remote and cold. I ventured into some random parts of New York State, and that was an experience. Is there a lot to do, or is there a good community vibe out there?
R: I guess it’s like its own ecosystem. It’s not a huge school either. It’s like 2,500 students. Not a lot of us. But it has its own little bubble of things. Like, something that happens during senior year is that everybody talks about the real world as if we’re in some sort of utopia [laughs]. You know what I mean? It’s a weird thing.
T: That’s just a little bit like Under the Dome or one of those shows, where people are cut off from the rest of the world. I can only imagine. I remember running into people from Colgate. I was studying in Maryland and we’re in the same debate circuit as Colgate, apparently. And so, every now and then, we ran into people from there. It was pretty fun. You can imagine the kind of jokes and stuff we’d throw at them.
What brought you to Colgate? Did you go for computer science, or kind of fall into it while you were there?
R: Well, I actually was a physics major initially.
T: Ooh, nice. What turned you over to the Dark Side?
R: [Laughs] I’m not sure if I want to call it the Dark Side, but no, I just did all this research over my Sophomore year leading into Junior year. And I was full on. I was like, “I’m gonna do research for the rest of my life.” And then I did it, and I was like, “Alright, this isn’t as fun as I thought it was.” That’s number one.
The other thing was that, right before that summer, I was taking CS 101. And there was one part of my research where I had to do a lot of analysis using Excel, and I was essentially copying and pasting a lot of data. So I was like, “Alright, this is a lot of work. I bet I can write a script and figure out how to have it do the work for me.” And I did it. That part was actually fun. It was pretty useful. And then I was like, “I might actually want to take more classes in this.”
And after two or three more classes, I wasn’t sure if I wanted to do physics anymore. But I didn’t drop it. That was the funny part. I was still majoring in physics, but I didn’t take any classes in it [laughs]. And then at some point my advisor was like, “Alright, what are you up to?”
T: Yeah, it’s crazy, the amount of people here in Silicon Valley who were originally physicists. It’s kind of mind-blowing. There’s a big trend of that, people starting with physics and ending in computer science.
You’re on the right track, man. Your app is amazing. Deliberate Practice, right?
R: Yeah, Deliberate Practice.
T: Can you tell us the story behind it?
R: So I started trying to do iOS development the last semester of senior year. Before that I was doing some web development on the side. And I did a couple of projects that kind of made a little splash. I made a name for myself at school. So I started out doing that. But I couldn’t do much because I was taking a lot of hard classes at the time — AI, networking, that kind of stuff.
After I got out of there, I started interning for a small company here in Chicago called Vensi. And one thing that I was doing was, I was a big fan of the idea of deliberate practice. I like to dedicate a certain amount of time to, say, learning iOS development. And you have to break it down. I was like, 20 percent goes to Core Data, 20 percent goes to… I had it mapped out in my head, but then I had no neat way of tracking it. And I tried looking up apps that could help. If you were trying to track your weight loss, there’s a billion apps to do it. But what I wanted, there wasn’t anything generic enough to do it. So I was like, “OK, at the end of the day, when I’m good enough, I’m gonna make something like that.”
That was kind of the inspiration. So I started making it, and I used Core Data initially to power the backend. But I was kind of frustrated with it because there’s a lot of boilerplate code and it was just a lot of work that I didn’t want to do. And it wasn’t straightforward. I was like, “OK, I don’t want to do all this stuff.”
I subscribe to a bunch of iOS developer blogs and designer blogs, and I got an email from one of my RSS feeds, and the guy was like, “There’s this new database called Realm. You should check it out.” I was like, “OK, it’s pretty neat. And it’s iOS too.” Then I saw it, and I was like, “Holy shit, this is actually pretty manageable. This is pretty straightforward.” I could understand it in, like, an hour. Everything was just so freaking clear. I was like, “I’m definitely gonna use this.”
I could understand it in, like, an hour.
Everything was just so freaking clear.
I even convinced my boss, at the company I’m interning at, to use it in one of their projects. I pushed it to them. I was trying to explain to them that Realm is so much better for this and this and this reasons. And he was a little skeptical about it because I’m just a beginner and he has, like, 20 years of experience. So he was resistant to it at first. But I told him how I used it in my project, and I even showed him how much less code he had to write. And then he was like, “This is pretty cool. OK. I see how this could make sense.” And now he’s a fan also.
But that’s how it started for me. I integrated it into my project, and it made my life easier.
You all are responsive as well. There was a Google Group, and I put up a post, and I got answers really quickly. I think the guy’s name was JP.
T: JP, right.
R: Yeah. He replied really quickly. I was like, “You’ve got people who are awesome.” So that was pretty great.
T: Yeah, man. We’re all devs here, and we’re trying to help. Thanks so much for the kind words. We live for that kind of feedback.
You mentioned design quickly, and that’s actually one of the things I really liked about the Deliberate Practice app. You seem to have a very deliberate design about it. Can you give me a sense of what you were going for design-wise with this app?
R: I’m not an official designer. Not in any shape or form. But I’ve always appreciated design. I feel like something that actually works well, should look good too. It wasn’t like I knew what I was doing, really. But when I have some free time, in addition to developing, I always look at stuff on Dribbble — see what the standard UI elements are, how things work. I always spent time on that to see what people were doing and what little elements I liked. And without noticing, I suppose I had acquired some sort of taste.
That’s how I got most of my knowledge. I never actually took a whole design course or whatever. I just learned how to use Sketch, really.
R: Essentially, when I was starting out, I was taking an iOS course through Treehouse, and the lady who was giving the course was like, “You can use Photoshop, but it’s not exactly meant for design for mobile devices. Sketch is primarily focused on this kind of thing.” I tried to use it and it made a lot more sense than Photoshop did, honestly. It was optimized in a way for — especially for iOS, they even have the Boilerplate type of patterns set up for you. So that was pretty sweet.
T: That makes sense. And then, data-wise, you mentioned you were trying Core Data. What were the biggest issues you encountered when using it?
R: My biggest problem with it was that I could see it as a powerful tool that would work if you really needed all that functionality. But it was just a lot of funky stuff that I didn’t need. I didn’t need all the flexibility that comes with it. And it’s hard to debug as well.
T: Right. It’s very powerful, but it’s just a little cumbersome to set up. My favorite is all the blog posts you see out there saying how easy it is.
R: I know. It really isn’t. The people I see who think it’s easy at times are people who don’t understand it well enough. If you see how complex the thing can actually get, and how complex something that should be very simple can get, it’s kind of annoying.
Just store my data and get my data back. That’s pretty much what I wanted to be able to do. It’s very simple.
One thing I liked about Realm was that when you create, you just have the Realm object and then you can subclass that immediately. Then you add your own properties to that class really quickly. And then you can query that object itself. The demos that you have up are pretty great. They’re pretty straightforward and made a lot of sense. Just being able to query your objects, like getting all the Dog objects for example. It’s like saying: give me all the dogs that I want. Give me all the dogs in your database. It’s as simple as that. I was like, alright, great. That’s exactly what I wanted to have happen.
T: [Laughs] Yeah, that makes sense. You’ve been very nice; I definitely appreciate it. But can you tell me a bit about what doesn’t work well for you in Realm? You know, what really sucks so far, in your experience?
R: One thing that I thought was a little tricky was when you do migrations. I don’t know if this version is a little different — I think you released a newer one. But when you do migrations, you have to keep track of what version number you have at all times. I feel like that could be done transparently. I might be wrong. I didn’t actually use that functionality a lot. But I felt like it could be easier.
T: No, I agree. We have a lot of work ahead of us on migration. There are a lot of ways to make it a little more simple. Or at least a little bit more explicit and transparent. It’s a very complex topic because, if you do something wrong, you can really mess up your data. So we put a lot of safeguards up so that you have to be conscious about migration. But there’s no denying that we could simplify that model. One of our guys is working on that right now, actually.
So what’s next for you? Do you have other projects you’re working on?
R: I guess personally I’ve been trying to make custom controls and open source some stuff. That’s what I’ve been doing. I have another project in mind — a little bit more complex, hopefully — but I kind of wanted to take a break before I started.
It’s been difficult, having switched from physics. Most of my friends from school were computer science majors, and they knew they were going to do computer science at the time. And then, what you learn at school is certainly different from what you actually do, at least what I’ve seen so far, in the outside world. You might learn about algorithms, or whatever. Pretty neat stuff, but if it hadn’t been for what I did on the side, trying to get into things, I would not have made a splash at school, maybe I wouldn’t have even gotten into iOS. It was all just pure interest. It’s been a very tricky process. But I think I’m sort of getting it together, hopefully [laughs].
“If it hadn’t been for what I did on the side,
trying to get into things, I would not have made a splash at school,
maybe I wouldn’t have even gotten into iOS.”
T: Well, I think you’re on the right track. The last three physicists I know who ditched physics to go towards computer science, they became millionaires within 10 years [laughs]. So I think the track record on that front is amazing. You’re gonna do great.