We sat down with Bora to talk about his experience using RubyMotion.
First, please tell us a little bit about your app, Jukely
Jukely is the brainchild of me and Andrew Cornett, my co-founder, who’s one of the first designers and employees at Kickstarter. He had a hand in the design and development of the Kickstarter web and iPhone apps since the beginning days. We had hit it off as hacking partners years ago, worked on a bunch of music hack day stuff and other music related projects. We’re both heavily into live music, especially in the discovery and notification space. We love discovering new bands and making spontaneous decisions about what shows to see. We don’t like planning for shows months in advance. We feel like there is a beautiful and loved brand missing in the world of live music. We want to be it.
What’s your background in programming?
I’m an engineer turned architect turned product manager turned back into engineer, all the while a concert organizer as my second persona. I started with VB6 then .NET, J2EE then stopped programming for a long time while I went to the dark side, management. Discovered Ruby in 2007 and fell in love with it. I’ve been hacking on music related projects ever since.
What convinced you to use RubyMotion?
I took an iOS class last year and got completely intimidated by Objective-C. It felt like I had to write a lot of code to do simple things and in my mind’s eye any potential app idea I would want to work on was getting crushed before I could even take it seriously. When RubyMotion came out, I said heck yes! and started developing a sample app on the first day it was released. Given the elegance of Ruby and my enthusiasm for building native iOS apps, it was love at first sight.
What value does the user get out from using Jukely?
Jukely is your personal concierge for live music shows. It is powered by curation and music taste algorithms. We learn what our members like and what their friends like, make recommendations when there is a high match, and have the ability to put them on the guest list if they want to go.
How do you collect and combine the user’s music preferences?
We currently allow people to connect their Facebook, Spotify, Rdio, Soundcloud, Last.fm and Hype Machine accounts. I spent the summer writing a recommendation algorithm in Ruby. We have tons of workers that run on Heroku to sync people’s and their friends’ music listens across different music services. Then we have our own sauce that decides how shows should be recommended.
How did you integrate the server-side API using RubyMotion?
I used BubbleWrap for JSON calls to our Ruby back-end API. Also the Parse framework for reading and saving data to Parse.
Frameworks: Parse for database, HockeySDK for crash management, CardIO + Stripe for scanning credit cards and processing them, PassSlot for PassKit integration to create passes for shows.
My favorite has to be Parse as using it allowed us to skip writing our own code to do things like loading and saving things using background processing, signup, login, Facebook/Twitter integrations, push notifications, file uploads, as well as having image loading in tables working smoothly out of the box.
What feature of RubyMotion was the most helpful?
I would say being able to use Textmate, writing Ruby, Terminal based workflow and automated memory management were really awesome.
What was the biggest hurdle during development?
Mysterious crashes are my biggest nightmare. Being still new to iOS development, I still don’t have a full grasp on how to nail down and fix crashes that don’t identify themselves easily and only happen occasionally. Getting push notifications working was a major major pain. The steps you have to go through, my dear, and if you make one small mistake the notification is not delivered and you have no clue where you went wrong. I think I shed a few real tears when they finally ended up working.
When you hit a serious snag, where do you go with support questions?
I’ve definitely used the RubyMotion Google Group numerous times as the community there is really great. Also I’ve found increasingly more answers on Stack Overflow. As a fallback I used the support for RubyMotion and it has been very helpful.
What feature of the app was the most fun to build?
Once I learned how to do animations I introduced them in a few places. Those were really fun. Fade in loading image loading was quite pleasant and I still really like seeing those fade in transition images in the app. Also there was a lot of joy when I got the audio and video playback working using the MPMoviePlayerController class.
We are happy to announce that RubyMotion #inspect 2013 is sold out! We expect a little over 130 folks to join us in Brussels, Belgium in just about 3 weeks!
We may have some tickets left in case of cancelations. Let us know if you want us to notify you in this case.
We are finally announcing our last speakers:
Rich Kilmer, which we don’t have to present, will be talking about his new project that involves RubyMotion and Bluetooth LE sensors, probably wearing white pants.
Akshat Paul and Abhishek Nalwaya will be joining us from sunny Gurgaon, India to talk about CoreMotion and how you can make intuitive apps with it. They both work for McKinsey & Company and are also working on an upcoming RubyMotion book.
We are super excited to have a total of 20 great speakers for our first conference.
If you sent a talk proposal and didn’t make it we are very sorry. We received 5 times the number of proposals we expected and it was very tough to make the selection!
We are pleased to inform that our bug tracker is now publicly available. Users of RubyMotion will now be able to see all known bugs and, after having created a personal account on the platform, also comment, vote and subscribe to individual bugs.
We started importing bugs to this new platform and while the process isn’t complete yet, we believe that we have already listed the most important bugs. At this moment bugs can only be added by team members, so we ask you to still use the support ticket system to report bugs.
We are quite excited about this move and we hope it will make the development of the toolchain more transparent to everyone.
The bug tracker is powered by YouTrack, yet another awesome product from our friends at JetBrains.
Colin is a software developer from Denver, CO and, as the author of both Teacup and SugarCube, a popular figure in the RubyMotion community. Colin is also very active on the Google group and our #rubymotion IRC channel on the freenode network.
Colin agreed to help us build an amazing community around RubyMotion. You will read more from him very soon on this blog and other channels!
Joffrey is a French software developer and the author of one of the most widely used iOS app in France, 02 Minutes d’Attente, which has been sitting in the Top 10 Free Apps category of the local App Store for a while. Of course, the app is entirely written in RubyMotion.
Joffrey masters the toolchain very well and has agreed to help us by joining our support team on a part-time basis. If you are reporting support tickets you may get to talk to him eventually now!
Before you ask, that’s the best picture we have of Joffrey. By the way, did you know there were sharks behind him?
We are so excited! Two entire days of 100% RubyMotion talks!
We are announcing 4 new speakers!
Delisa Mason is a software developer living in Ohio and the creator of the RubyMotion plugin for Redcar, the ruby editor. She will talk about customizing an iOS development workflow using rubies all the way down.
Austin Seraphin is a blind programmer. In his talk, you will discover exactly how a blind person uses an iOS device and how RubyMotion makes writing accessible apps easier.
Michael Erasmus is a software developer living in South Africa and also one of the guys making the motioncasts.tv screencasts. In his talk he will cover mixing RubyMotion with CoffeeScript.
Juan Karam is an iOS developer working for Raku, a consultancy agency in Mexico. In his talk he will unveil the mysteries behind Core Animation and cocos2d and how you can leverage them in RubyMotion.
You can refer to the conference speakers page for the full list of speakers. We are not accepting new speakers proposals at this point.
We will be publishing the final schedule soon, stay tuned!
Few Tickets Remaining
At the time of this writing there are very few tickets left, so we highly recommend that you grab a ticket as soon as possible if you want to come to the conference. We will likely sold out in the next few days.
We are also selling one additional ticket to the training as one of the attendees sadly won’t be able to make it.
Pixate is a framework for iOS that lets you easily create and style beautiful user interfaces using CSS. Pixate was in private beta for the last weeks and is now publicly available.
We were so impressed by the work of the Pixate folks that we worked closely with them to create a RubyMotion-Pixate gem which nicely integrates the Pixate framework in RubyMotion projects. Check out how it works by watching this screencast made by Pixate co-Founder Paul Colton.
The Early-Bird tickets have been going fast, so you better hurry if you still want to take advantage of the 20% discount on the ticket price.
We will be running the Early-Bird discount until January 20th.
We are announcing 4 more awesome speakers!
Mattt Thompson is the Mobile Lead at Heroku, and the creator & maintainer of AFNetworking and other popular open-source projects, including Postgres.app & Induction. He also writes about obscure & overlooked parts of Cocoa on NSHipster. He will talk about how Ruby hackers built the new Objective-C Open Source community.
Matt Green is a software developer living in DC and a very early adopter of RubyMotion, as the author of Nitron and webstub. He will discuss how layering can simplify your development process, and show off the new RubyMotion gem he has been working on secretly!
Marin Usalj is a freelancer iOS developer living in San Francisco. He is one of the maintainers of BubbleWrap, one of the most used RubyMotion library, and he will talk about how using it to quickly building apps with networking, persistence and more.
Karl Krukow is the CTO of LessPainful, a Danish company that specializes in test automation for mobile. He is one of the core developers of Calabash, an automated test framework for iOS and Android, and he will talk about how it can be integrated with RubyMotion projects.
You can refer to the conference speakers page for the so far full list of speakers. As you can see, the schedule will be excellent!
We will be announcing more speakers soon. If you are interested in sending a talk proposal please do so relatively soon as we will be closing the form by January 20th.
Since our last update, three more awesome companies decided to help us organizing the conference: Nedap, ProcessOne and Belighted. So exciting!
If your company wants to help us by sponsoring the conference, let us know as soon as possible.
Laurent and Norberto are amazing instructors. Their easy manner and depth of knowledge helped them adjust to the specific needs of the people in the room. The exercises were rich and enlightening, and the course was very interesting and informative. Overall, five days of training was definitely a worthwhile investment!
- Abhishek Nalwaya, Tech Lead at McKinsey & Company IT
Check out the pictures!
If you are interested in setting up an in-house RubyMotion training in your company offices, contact us. If you are a small company or an individual developer, you will be glad to know that we will also announce public trainings in different locations around the globe very soon, stay tuned!