Realm Blog

Matt, Taylor, and Emily on Spruce

Spruce App Screenshots

MotionMobs is a technology firm based in Birmingham, Alabama, and the developer of Spruce, a platform that allows businesses to create private interactive apps for both employees and clients. Three members of the MotionMobs team — Chief Technology Officer Matt Clark, Interactive Developer Taylor Smith, and Marketing Strategist Emily Leithauser Hart (who joined us partway into the conversation) — were kind enough to chat with us for a few minutes about MotionMobs, Spruce, and their impressions so far of Realm.

Tim Anglade, VP of Product at Realm: Can you talk a little about what kind of work you all do at MotionMobs?

Matt Clark: We do a lot of consulting and contracting work. Also, every now and then, we get what we think is a good idea. We’ll spin off some man power, some hours, into that and see where it takes us as well. We do a bit of everything. So we’re always looking for new technologies that make that easier.

Tim: That makes sense. I know you’re the CTO, Matt. Did you found the company? Were you part of the original team?

Matt: No. The two founders were Taylor Peake Wyatt, who still owns the company, and the main programmer then, a guy named Josh Grenon. As I was joining the company, Josh actually decided to pursue a different path. So I basically took on all of his responsibilities my first day. That was fun. [Laughter]

Tim: Trial by fire, right?

Matt: Yeah, exactly.

Tim: I saw on LinkedIn that you’ve been there a bit over three years.

Matt: Yeah, I love the company. This may sound bad, but it’s the company that I’ve worked for the longest. I plan on keeping it that way. [Laughter] I love the team and I love the direction we’re headed.

Tim: On your side, Taylor, you’re mostly coming from a design background. Is that correct?

Taylor Smith: Yeah, I used to be — or I guess in a way I still am — an artist working on lighting and rendering specifically for animation and some games. And I always had a technical twist to what I was doing, always looking for some technical solutions to problems I was having. Sort of scratching my own itch that way. Finally I decided to try and dive into the iOS thing.

I guess October of last year was when I really put a lot of weight behind it and dove in. I’m originally from Birmingham. As I was looking around trying to figure out how to put my skills to use, I stumbled onto MotionMobs. It was exciting to have an opportunity to return to my hometown and my wife’s hometown and be closer to some friends and family, and get to do this new thing.

Tim: You all are doing a lot of really cool projects. I definitely encourage people to check them out on your website.

You said you do a mix of project work. What areas do you tend to focus on? I’m assuming that’s some websites, some mobile apps, some product work. Is that the range of things you try to do?

Matt: Yeah, we do a little bit of everything. Just about everything is focused on mobile in one way or another, but we’ll do app development on either iOS or Android. We also do mobile Web development. Then, any time an app needs a backend, we’ll write that ourselves as well. It’s a good mix.

Tim: What would be your typical project coming in these days? Would it be like a local business asking you to do an app for them? Is it mostly Android work, mostly iOS work? What does that look like, on average?

Emily Leithauser Hart: Hey, Tim. I just stepped on over and I heard your question. We get a fantastic variety of people who come through our door inquiring about mobile apps. A good number of them do come from existing businesses in the community. We get a lot of people in the Alabama area who are interested because they like the idea of keeping app development local. They don’t want to work with somebody who’s all the way across the country. They want somebody who they can actually talk to face to face.

We do also get some great innovative individuals who come in. They don’t have a business necessarily to back up their app idea, but they’re interested in pursuing it. We’ve also done some fantastic apps for individuals.

Tim: Cool, so a healthy mix of things. Maybe we can talk specifically about this product you have been building called Spruce. That’s something you’ve been doing for yourselves, right? Not for a particular customer?

Emily: Spruce is most closely a passion project of our president, Taylor Wyatt. Following her into that project, we just jumped right in there to help support her in this venture. Spruce exists as a startup here in the Birmingham community. We are providing the development power behind it.

Tim: Nice, sounds like it’s a good example of one of those interior projects you were mentioning. Maybe you can give me an overview of what Spruce is. How would you describe it to somebody?

Taylor: I guess the best way to talk about Spruce is that it’s a platform for users to provide private apps to their employees or to their clients and present their business in that way.

We’ve got a couple of products that we’re working on right now. We’ve got the main Spruce product that’s on the App Store right now. Then we’ve got some sub-products coming online very soon that we’re excited about. They provide a meeting tool for presenting to clients and working with people in that way. We’ve also got a directory tool so that you can have sort of an employee directory for your business.

Tim: Would each of those be stand-alone applications or is this all mixed into a single app?

Taylor: It’s all under the Spruce app on the store. You download one app and then you can open up different sub-apps that you create inside of the dashboard on the platform.

Matt: Then the app adapts itself to become the app that they’ve created on the website.

Tim: Awesome. Maybe you can talk more in detail about how the concept came along. You mentioned this was an idea from your president, Taylor Wyatt. Can you walk us through the origin of that and how you all saw the need for something like this?

Matt: It actually started out as a kiosk tool. It was originally going to be an entire business around kiosks for businesses. It was very focused on the tablet and being connected with an external screen. Then the farther into it we got, the more we realized that that was really narrowing it. It could have a lot more applications than that, and we needed to generalize it more and make it more of a business tool, instead of just all about the kiosks.

Tim: What would be some ways to use the application today? You mentioned meetings and directories. What would be a typical usage scenario for, let’s say, the meetings part of the application?

Emily: We actually just had a focus group meeting last week to see how some businesses here in the Birmingham area are using Spruce and the apps that they’ve created from there.

What you may see would be somebody walking into a sales pitch meeting. Rather than bringing a stack of papers with information about their team and about their product, they’re walking in with an app. Something that allows their potential client to simply tap some buttons on a screen and interact with the information — flip through pictures of products, read information, watch a video.

We also have some organizations that are using it as a fundraising tool to help engage potential donors and let them know what the organization does.

The directory tool, like Taylor said, is still in the works, but that will be a great way for businesses to be able to share employee contact information privately and internally without having to require employees to fill out their personal contact list with all their business contacts as well.

Tim: So maybe a user of the app would be, let’s say, a salesperson in a medium or large organization who has to get updated sales presentations and materials that he can bring to customer meetings, but also can access phone numbers or emails for other people in his company.

Emily: Absolutely.

Tim: That’s great. Let’s talk a little bit about how the app is built. What kind of technology did you use inside the application, both client side and server side?

Taylor: Let’s see, server side we’ve got a great Ruby on Rails developer helping us out doing the whole dashboard setup for us, getting that all situated so that users can go in and edit and update their apps as they need to. Then we pull everything down in the app as JSON data and put it to use in various ways throughout the app. We’ve got apps in the different sections, as we call them — the different parts that the app might have. The videos with a PDF for a presentation or the employee directory, for instance.

Matt: Just to interject, we actually go through the JSON and cache any files they don’t need, like the images and the PDFs. That way they don’t have to worry about Internet connectivity while they’re using the tool.

Taylor: With that caching, we were then storing all the JSON as just raw data. Then we started looking around trying to figure out a way to do more live updates, more segmented updates, more granular, so that we could update an app on the go more readily if the user updates it on the dashboard—

Matt: —without having to update that entire chunk of data and have to refresh everything. The obvious solution to that was a database of some sort. Taylor found Realm.

I found Realm and fell in love. It was very nice to get implemented. After doing some work with Core Data in the past, it was a nice change of pace. — Taylor

Matt: Very much.

Tim: To be able to store the data on the application, is that just for the meetings or the directory part of the app, or for both sides? What kind of data do you put in there?

Taylor: When the user selects an app to load up from the platform, we store that app as data in the database so that they can access it from anywhere once they’ve downloaded it. That way, if they’re offline or stuck in a giant building with lots of concrete and metal around them and have no access to the Internet, they can still use their app and talk to people about whatever they need to talk about.

Tim: Awesome, that’s great. What’s been your experience with Realm? You mentioned that you fell in love. Can you talk a little bit about some of the things that you liked about it and some of the things that you disliked about it?

Taylor: As far as things that I liked about it, the initial setup was easy and fast. We did an app early this year using Core Data. There are ways to make it quicker, but it’s still a lot of overhead to even get started. With Realm, we were able to get it up and running in about a day of work. After our initial investigation and testing, we were able to get Spruce completely converted over to Realm in about a day.

Tim: Wow, that was really fast.

Taylor: We were really happy about it. It’s been great. Right now, we’re not pushing Realm too, too hard, but we’re using it. I haven’t found places where there’s any pain yet.

Matt: Being the main Android guy, I was very excited to see that you all are moving in that direction pretty quickly.

Tim: Yeah, we still have some ways to go there. We’re definitely not as polished as we are on the iOS side, but we’re working really hard. I’m actually visiting our Android team this week to work on a couple of interesting things. Stay tuned; if you work on Android, we have some really cool stuff coming your way.

We’re definitely going to be. We actually have a few future projects that we’ve already been talking to people about that Realm’s going to be perfect for, so we’re excited to see where you guys are headed. — Matt

Tim: We’ll try to keep you on your toes, keep you surprised. Are there any other cool technologies that you’re using inside the application that you’re excited about?

Taylor: As far as other technologies, pretty much the basics. AFNetworking we like a lot.

Tim: Any time we can be mentioned in the same context as a stellar library like AFNetworking, we’re very happy. That’s great.

Are there any upcoming features that you can share? Any upcoming projects that you want to talk about that maybe people should check out if they’re reading this?

Taylor: For Spruce, we’re really excited about the directory tool. That’s what the Realm update will bring with it. It’s coming online soon. The site will have information about that as far as when it’s coming along. We’re working hard on that. We’ve also got the meetings tool like we mentioned. That’s the next step after the directory.

Matt: We’re also working on a product called Wires.

Emily: Matt, would you like me to jump in?

Matt: Yeah, go for it, so I don’t get in trouble. [Laughter]

Emily: Wires is our newest little venture. We’re very excited about it. It’s designed to be a simple wireframing tool for the consumer. For people who don’t have that development or design background but have an app idea.

The general wireframing environment tends to discourage people who don’t already have knowledge of how apps work or how the design process works. We wanted to make a tool that was going to be easy for a consumer to jump in, have an app idea, “Oh, let me just play around with it.” Test its viability before they actually come to a consulting company like us.

It saves the consumer time and money because they don’t have to invest in that consulting. It also saves the consulting teams very valuable time that they could be spending on development rather than helping somebody get a very broad idea down to a more specific idea.

Tim: That sounds really exciting. I’ll be sure to give it a try when it goes live. I think it’s scratching an itch I have.

Thanks a lot; this was great. Good luck with everything. I hope to see many more apps coming out of MotionMobs soon, and hopefully a few of them will be using Realm.

Realm Team

At Realm, our mission is to help developers build better apps faster. We provide a unique set of tools and platform technologies designed to make it easy for developers to build apps with sophisticated, powerful features — things like realtime collaboration, augmented reality, live data synchronization, offline experiences, messaging, and more.

Everything we build is developed with an eye toward enabling developers for what we believe the mobile internet evolves into — an open network of billions of users and trillions of devices, and realtime interactivity across them all.

Get more development news like this