RubyMotion news is a bit light this week

Perhaps everyone is getting ready for the conference. Perhaps it was due to tax day in the US last week. Speaking of the conference, Laurent and the crew at HipByte announced new speakers, panel, and the schedule, read about it here.

You may have noticed that the Dispatch hasn’t been going at a 9am PST. Yeah, I’m sorry about that. I’ll do better, especially after #inspect. I promise.

If you missed the last issue, you can find it here: issue #23

Happy coding, Todd Werth (@twerth)

Articles, News, New Gems, and Blog Posts

Apr 21st, 2014 – “screencast – Episode 20 – Local Notifications” by Jack Watson-Hamblin

Apr 21st, 2014 – “RubyMotion #inspect 2014: Last Speakers, Panel, Schedule” by RubyMotion

Apr 18th, 2014 – “Porting Appleā€™s Core Data Books Sample Project to RubyMotion” by Stefan Haflidason

Apr 15th, 2014 – “Travis – Xcode 5.1, iOS 7.1 and OS X 10.9 for Mac and iOS builds” by Henrik Hodne

Apr 15th, 2014 – “slides – Building Tillless with RubyMotion” by Mathew Sinclair

March 20th, 2014 (I missed this one) – “” by Multinus

RubyMotion App of the Week

I featured “A Dark Room”” in issue #16. Now I’m pulling it out of the archives (a dark musty basement where the Dispatch is carefully stored) because it was the top-paid iPhone app in the US App Store.


A Dark Room

About it, the website, and the code for the website

RMQ News

I’m working on RMQ 0.6.0, which will be the new enhanced rectangle system (frames, etc). I’m also adding a grid system. I use grids a lot when working on apps (typically just a hash), so I feel it’s a good addition for RMQ’s layout system. Here is a sneak peak:

There is an app grid at:

You can also have a grid per stylesheet. If none exists, the app grid will be used. rmq.stylesheet.grid (this will return app’s if nil). If you want to create a grid for your stylesheet, you can just dup the app one like so (inside the stylesheet): self.grid = Then you can mod it: self.grid.columns = 6. Or you can create one like so:{
  columns: 10,
  rows: 13,
  column_gutter: 10,
  row_gutter: 10,
  content_left_margin: 5,
  content_right_margin: 5,
  content_top_margin: 5,
  content_bottom_margin: 5,
  status_bar_bottom: 20,
  nav_bar_bottom: 64

If you want your view to be from b2 to d3, you can do any of the following:


st.frame = "b2:d3"
st.origin = "b2:d3"
my_view.frame = some_grid['b2:d3']

You can do fun stuff like this too, only set the left and width:

st.frame = "b:e"

You can mix and match other layout features with grid features:

st.frame = {grid: "b2", w: 100, h: 200}
st.frame = {left: "b", top: "2", right: "d", bottom: "3"}
st.origin = {l: "b", t: "2", r: "d", b: "3"}
st.frame = {grid: 'b:e', top: 100, height: 20}

One more thing

How most people imagine the software we build running.

How it actually runs.

If you have any tips, blog posts, or want to sponsor this newsletter, please send emails to