Demo Boards
Not a whole lot has been happening with the Qube lately, but I figure I owe an update since I got new parts. I shipped out a few orders so far, the most important of which was an order for Mp3Car. Anyway, since I don't have a good camera by any means, I apologize ahead of time for the very poor quality photos.
First off, here's a project that I've been working on lately for a Porsche 928. It's like a climate control system with rotary encoders and a ton of LEDs! Nice, eh?

Porsche Controller

Porsche Interface
And now my own boards for the Qube. These are pre-production boards and are strictly to test out how everything would work. Once again, sorry for the horrendous camera work.

Qube Accessories
First off, the rotary encoder board. This board is a simple knob that doesn't stop turning and has a pushbutton underneath. There are two connectors: one for the rotation (uses 2 inputs) and one for the button (uses 1). This is just a better looking version of the rotary encoder board I posted ages ago.

Rotary Encoder
Then there's the Bluetooth board. I also had a ghetto version of this one earlier and it worked pretty well. I was very impressed with how simple it is to interface devices that would normally be really complex!

Bluetooth
Up next is the IR receiver. I haven't actually tested this board yet, but there is code in the Qube to handle infrared remote controls (RC5 only). I don't know if this will actually work, but one day I'll get it going!

IR Board
Last, but not least, here's an LCD backpack board. I soldered the connector on the wrong side (I always manage to do that...) but whatever it's a prototype. Unfortunately, there's not a lot of interest in LCD modules so I never got the LCD to work via I2C due to some crappy protocol on the cheap LCDs. I got some test code with my last purchase though so I'll be working on that eventually...

I2C LCD Board
That's all for the Qube. There is another board I got made, though. Since I love my car and I want a touchscreen, I decided that there should be some physical buttons too. I wanted 5 lit buttons and a lit rotary encoder with pushbutton. In order to get the buttons to light up, I bought a few "light pipe" buttons from Sparkfun a while back. I'm going to get the faceplate CNC cut and then epoxy it to the LCD frame for an all-in-one type of look. Here's the circuit board with surface mount LEDs.

Car Button Board
That's the end for today. With work and the Porsche project, I don't have a whole bunch of time to write code for the Qube or design modules so there probably won't be a ton of updates any time soon. That's what happens when you tend to procrastinate
Our App Store Experience – Month 1 – The Monies!
A lot of people probably wonder what it takes in terms of time and money to produce an iPhone App, so I'm going to give a little bit of background on my costs, my revenue projections, and my actual revenue so far.
The first thing I did before anything else, was to research my project heavily, and create a proof of concept. Without a proof of concept, you are essentially wasting time and money. Figure out if the project is possible before dropping loads of cash into it.
Once I knew I could do it within a reasonable timeline, I started calculating costs.
As an Application developer, what do you need? I built the following short list:
- Business License
- Development License
- Graphics / UI Design
- Marketing (Advertising)
- Website (Hosting + Domain)
I then projected out how much money I'd have available to do this. How much money was I willing to lose? Remember, there is a chance that your App will not be accepted by Apple. You need to be prepared for the worst case scenario.
As I have a day job as well, I had a bit of money to play with. I broke down my out-of-pocket expenses.
- Business License ~$100
- Development License ~$100
- Graphics / UI design ~$1000
- Marketing (Advertising) ~$1500
- Website (Hosting + Domain) ~$150 (1yr)
These numbers add up to a grand total of $2850, so I rounded to $3000 for safety's sake. I could barely afford to amortize such an expenditure over a 4-month development period. But hey, what’s a project without a little risk?
The next step was to estimate my potential user base, and to project application purchases and associated revenue based on this data:
Adium users - Approximately 500,000
Estimated Adium users with iPhones - %10 (50,000)
Estimated amount of these users who might give a damn about Remodium - %10 (5,000)
That was my expected total user base. The maximum number of people who I believe would EVER purchase this app. This amounts to about $17,500 in total revenue. I know you're saying, "That's not that much". But remember, this is a fun project. This was never intended to be a "quit my day job" project.
Now, how long to get these users? Well, I estimated between 5 and 10 sales a day. Assuming 5 purchases per day, it would take approximately 2.8 years for Remodium to reach 100% of my projected users. That sounds reasonable. $6000 a year for something I was going to make for myself anyways? Cool.
How long till I pay off my initial investment? 5 users a day means about $17.5 in revenue per day, for a projected return of $3000 over the course of 6 months. In my mind, that’s a pretty quick return. Probably a lot quicker to turning a profit than most businesses.
But you're all saying now, "These are all projections! Let’s see some actual numbers!" So here we go.
In the first month of sales of Remodium on the App Store, we have sold approximately 200 copies of the app, netting around $700 in revenue. An average of 7 sales per day has met my expectations almost precisely. If it continues at this rate, It will take 4.3 months to recoup my investment.
Revenue has met my expectations so far. I did no advertising of the Application before release. We were just relying on the Twitter account I started, and word of mouth amongst friends and family.
This month (June) we're advertising with Fusion Ads. I'm very interested to see how the advertising affects the hit-rate of our website, as well as sales throughout this and coming months.
As before, 2 promo codes for a lucky the first few to grab them:
-- Gone again! Better luck next time --
P.S. None of the calculations include the hours I spent learning the SDK and programming the App. I don't think there is any way for me to retroactively count those hours and what they have cost me.
IO Expander and LCD Boards
From the basis of the LCD circuit board, I made a general IO expander. It uses an I2C line and allows you to set the address bits yourself in case you have several on the same lines. It lets you plug an I2C input and an I2C output so that other boards can run off of the same nodes.
The LCD board will probably be the next to be designed, I'll update this post later.

Expander PCB
As promised, here's the update with the LCD board. Backlight can be controlled as well, using up only an I2C node. If an I2C board is already connected, you could piggy-back this board onto it. That's the awesome part about these types of protocol!

LCD PCB
Qube Volume Knob
The original intention for the Qube was to be used in an automotive application -- a "carputer". I have applied for a $100 grant at MP3Car to help develop the volume knobs.
My reasoning was that most people would really love a volume controller beside their screen but simply can't afford the $50+ options currently available. Most people also have an IO controller of sorts (Phidgets, Fusion Brain, etc) and I see no reason that they shouldn't have volume knobs with them!
Since I am really counting on this grant money, I have designed the PCB already so that it is ready to produce. The considerations of the design are that it has to be slim (to fit beside an LCD in a dashboard) and has to have a click functionality. I have accomplished both by using a rotary encoder with a button and by designing the PCB to be less than an inch wide.

Rotary PCB
As you can see, the design is very minimalistic. All the hard stuff (debouncing, interrupts) is done in firmware. The connector on the bottom is to plug into an interrupt port on the Qube and the connector on the top is to be plugged into any simple input for the switch (used as a mute button for most).
The encoder will transmit a CW or CCW signal to the computer, which can then be used to control volume, bass, treble, or any other input you would need.
Hopefully the members of the MP3Car community will value this design as much as I will!
Power Connector
In an effort to make the Qube a simpler connection, the power connectors will now ship with very simple screw terminals. These types of connector are usually used for CCTV systems and the female power jack makes them perfect for the Qube. Since the Qube is capable of accepting two different power supplies, it makes perfect sense to attach two female jacks to a power line so that a user can potentially plug in two separate wall adapters!
Obviously this will delay shipping of the power adapters until these pieces arrive, but I think this will improve everyone's experience with the Qube!

Female Power Jack
New Ideas (Audio Switch)
Since the Qube is now up for sale, I decided that along with spending time coding, I should spend some time thinking about new modules. My next idea for a module is a 4-way audio switch.
This new module will use a 4:1 audio multiplexers (MAX4586) and some RCA connectors and will allow you to plug 4 different audio sources into a single output. You can then control which source is selected by the Qube (or any I2C host).
It should be a very simple module to construct, although the RCA jacks get a little bit on the pricey side once you add them all up! I ordered a sample MAX4586 the other day and I have a bunch of spare (yellow unfortunately) RCA jacks at home so I will attempt it myself in a few days! If it works well, I will try to get some PCBs made as soon as I get a paycheque!

Audio Switch Price
I messed up that image though, I had 2 multiplexers in my cart. That should say $3.32
Qube for Sale (Finally)
I spent all day yesterday working on the Qube: soldering together the last 3 for stock, programming each one, testing them all by hand, etc. Then when night came, I spent most of it working on the website. I'm proud to announce that the Qube is now for sale, and the website should be able to handle orders!
I spent quite a bit of time trying to get a shopping cart ready as soon as possible and from my initial testing, it works without any flaws. Hopefully it will hold up to the orders!

Cart
The only issue right now is the fact that the power supplies are not in stock. I am allowing them to be backordered since they should be ready really soon. When the supplies are ready, they will ship together with the Qube -- most likely in a week or two.
That's all for tonight, just a quick post to sum it all up! This is the day I've been waiting for so buy a Qube and help me make some more!
Our App Store Experience – Week 1
Our application for the iPhone and iPod Touch, Remodium, has now been available for purchase from the App Store for one week. I wanted to write a bit about my experiences during the process of creation, and the first week of availability. There are some good things, some bad things, my reality of the App Store and idea of "Success" in this project.
I came into this project with next to no experience coding in Objective-C. I was already fairly familiar with Xcode and the Mac/iPhone development process, but more-so in an observatory capacity than as a developer. I have taken two years of Computer Science courses at university, however there were no classes on Obj-C or Apple products. I therefore consider myself a "newbie" in iPhone development, and most of what I say here will already be known to most seasoned developers.
There is a HUGE amount of resources available to those wishing to learn about coding in Cocoa. The online documentation is amazing, but there is a huge amount to sift through. I found it quite difficult to deal with the sheer quantity of information available online, and decided instead to consult some books. I used, and highly recommend the following books to anyone looking to get into Mac or iPhone development:
Programming in Objective-C 2.0 (Second Edition) by Stephen G. Kochan
Cocoa Programming for Mac OS X (Third Edition) by Aaron Hillegass
Beginning iPhone 3 Development: Exploring the iPhone SDK by Dave Mark and Jeff LaMarche
They provide wonderful examples and walkthroughs, and are also a great reference for looking up basic tasks. All three sit within arm’s reach of my desk. The other great resources that I used during development include Stack Overflow, and the #macdev and #iphonedev channels on the Freenode IRC Network. Of course, the Adium development team was of great assistance in the creation of the Remodium Plugin.
The App submission process went very well - after submission, Remodium was pending review for about a week. I encountered one unexpected speed bump, in which Apple requested a Video Demonstration of the Application, which is a step I did not expect to encounter. Nonetheless, I produced a short video, sent it in, and the next day the application was approved! The hands-off approach of distribution within the App Store is VERY nice to work with. I've had to deal with setting up servers and distribution methods for Applications before, neither of which is an easy or fun task. Taking that work out of the developer's hands is well worth the 30% cut Apple takes on sales.
I have, however, discovered one part of the App store that I'm not happy with. The review section is poorly executed for the developers. There is no way to contact a reviewer, something which can be very frustrating when the review mentions an unknown bug or crash! The other annoyance is that there is no visible method for a developer to flag a review if it is posted in another country’s App Store. This can result in defamatory product reviews, and negative product reviews from uninformed users, which inevitably lead to a loss in sales.
Really though, that problem lies more so with users. Many people believe that developers do not care about crash reports, or communication with end-users. This is false. As an independent developer, I care about what my users have to say. Crash reports are very important, because if you have a problem with a bug or crash, chances are that we (the developers) do not know about it! That said, I would like to personally thank those who have come forward and communicated with me regarding issues with Remodium.
I knew coming into this project that it would take a lot of time and investment. I also knew that there would be some risk involved, as Remodium's market is very limited. The app is tailored to individuals who use a specific platform (Mac), and a specific program (Adium) on that platform.
I think the real reason I have succeeded so far is that I was not aiming to produce a product for a profit. My original idea for this application came out of a frustration with existing chat applications on the iPhone - I decided to make something that would be of use to myself. The fact that others can take advantage of my work and needs is an added bonus.
As I was learning along the way, the time-to-develop on this application was probably longer than one would expect. The idea came late in 2009, and I began my learning and coding in January 2010. Beta testing began near the end of March, with the App ready for submission to Apple a month later.
I can safely say that I know nearly nothing about marketing. I started a Twitter account, and launched a website with nothing but a name. I spent time talking with friends and miscellaneous individuals online. I established what most would consider a laughable amount of followers on Twitter (30 or so). I'm in the process of testing my success with a couple of different advertising networks, and will publish the results over the course of the next few months.
From the time spent developing, as well as the money I've invested in development and marketing, I've estimated that at Remodium's current sale rate, I'll break even on my investment within 4 months, which I see as good time for my return. Note that this does not account for any change in sales.
My overall experience developing for the iPhone and iPod Touch has been what I'd call a "success". The revenue generated from sales of the application is in no way enough to support me on its own, but that was expected. I plan on continuing development on Remodium, in addition to developing more Apps in the future.
Please feel free to comment or contact feedback@remodium.com if you have any
questions or comments on what I've said here.
And if you've managed to read through this entire thing, Please go check out Remodium.com and buy my App!
Follow the development on twitter.com/remodium or myself at twitter.com/mjarvis
I'm also going to leave two Promo codes here for whoever gets to them first. (Please leave a comment or email me and let me know if you manage to snag one!)
--- Freebies have been snagged! better luck next time guys ---
Remodium now Available!
Our First iPhone Application is now available on the App Store! Visit http://remodium.com for more details on the Application, or http://drp.ly/VHuf to Purchase now!
Rotary Encoder
Over the last day or two I've been having some issues with a rotary encoder because I don't have a scope to test out the amount of "bounce" on the signals. Anyway, today I found a very simple and effective way to read the encoder and added some support to the software.
In case you don't know what a rotary encoder is good for, think of the volume knob in your car -- it keeps spinning and spinning. In fact, that's exactly what I'm doing with mine, using it as a volume knob!

Rotary Encoder

Interrupts