I had reminded myself to write a little about oDesk contracting.
I say this because I, and I imagine many other people, turn to contracting sites like oDesk only for the access to programers / coders. However, one of the best experiences I have had with oDesk was in contracting an artist to create the art for the icon and main screen of the ‘Pushing Taoism’ app. I dealt with a fantastic artist named Catarina Garcia, located in Lisbon, Portugal. You can find her art at: http://catarinamgarcia.blogspot.com/
She worked with me to identify exactly what kind of final product I was interested in, provided several sample pieces and then produced a final work in just a couple weeks. I think it only took this long because our email communications were not always immediate – otherwise, I feel confident that she could have produced my art pieces in a matter of days.
This experience really opened my eyes as to a world of interesting possibilities working with professionals in a number of disciplines. I look forward to turning to oDesk again in the future for other art and design projects – I have even considered doing a small translation project as well.
I answered the what about provisioning last time. As far as ‘why’, I just attributed that to Apple’s control issues. I wanted to clarify what that means. After all, how are they actually controlling this?
The easy answer is that Apple controls provisioning by only allowing each provisioning file to work with 100 devices. 100 may sound like a lot if you’re just one person writing code for your machine and maybe that of two or three friends that are serving as your testers, but 100 can run out quickly if you’re a larger operation or if you give one person permission and then they stop working with you for whatever reason.
But what it really does is provides a limit to the number of times you can ‘work around’ their system. If there was no limit, then you are free to leave the walled garden and sell your apps to anyone and just provide them with the provisioning file along with your app. I’m sure it doesn’t matter what the number is to Apple, they just agree that you need some way to test on real devices, but want your ability to share to be limited to a number that is high enough for you, but low enough to never be a practical way for you to escape their control.
When I created my apple developer account I thought it was going to be a breeze to use – just like all of Apple’s products. I was mistaken and it took an embarrassingly long time to demystify Apple’s ‘iTunes Connect’ portal, learn what the hell a provisioning profile was and how to use it and to get a handle on Xcode. In the next several posts I am going to try to outline what I’ve learned from going through the process. But, please, remember that I am NOT a programmer – I’m just a guy with some ideas for Apps that I would like to have. So, I welcome comments and corrections to anything that I say here, just keep it simple for stupid here. After all, Apple does have help if you can find the right document and understand what it says – and I can’t always say that’s easy.
So, here’s my big-picture view of Apple’s process:
1. Most importantly, always remember that Apple is not trying to make things hard, they just want to maintain control over something that can get chaotic very easily.
to join the development program (this one is for iOS devices, there’s a separate one for mac). At $99 / year this is not a horrible expense. You can join as either a single developer or as a company. Since you have to be a legit company to submit apps, you might as well join as a company so you can have several people access the account and use it together (assuming things go your way and this ever becomes a possibility)
3. Download XCode. Whatever the newest version is. Be sure you have good bandwidth and can hang out in one place for a while – I don’t have internet as home because I apparently live in 1986 – I mean, Kansas. I think it took three hours in a cafe to get the whole thing downloaded. Download Xcode even if you’re not the programmer. I’m not one, but you’ll soon realize that you have to be at least somewhat engaged in the programming aspect just to launch things even if you never code a bit.
4. Have a basic understanding of provisioning. This is what took me the longest. I didn’t understand it or know what it was for or anything. Here’s the basics:
Remember what I said about Apple controlling everything? This is one way they do that.
iPhone apps can’t just be loaded onto your device directly. Everything goes through iTunes (Apple’s UberProgram). If you’re buying an app you go through the Apple App Store and the new app shows up in iTunes where you can just checkmark it if it is to go on your phone or uncheck it if it doesn’t – you know that already.
So, if you write an app yourself (Hello World, whatever) and want it on your device, you need Apple’s permission to circumvent their system. This permission comes in the form of a Provisioning Profile. You apply for one of these through the developer portal (apple walks you through the process pretty well here: https://developer.apple.com/library/ios/#recipes/ProvisioningPortal_Recipes/_index.html).
But what is it? How do you use it? Basically, this is a ‘permission slip’ that you integrate into your app (Xcode calls this ‘Code Signing’) and install the same ‘permission slip’ into iTunes. Any iTunes account that has this permission slip can install apps that have the same permission integrated in them. The nice thing is that you just need to drag and drop this file twice. First, into Xcode – then you can select it from within a drop down menu in your XCode file and it gets built in when you ‘build’ your code. On the other side, you drag and drop the file into iTunes and it will now allow any app containing this permission to be installed onto your device without going through the whole App Store Process.
It takes a bit to do all this, but once you understand that it’s just a way to match apps you make to your device and remember that it’s just Apple making sure that it remains in control, then it’s not so difficult.
Our second App, Pushing Taoism was a lot more difficult to make. Despite the simplicity of the app – it really doesn’t do much but act as a quote archive and occasionally drawing from that archive to provide a push notification that might be inspirational or something to reflect on – I went through three developers / contractors and probably spent about $500 total. Perhaps even a bit more when I think of it. It also took about two or three months to get into the app store and even now it has some problems that I need to solve.
Try it out by clicking on the graphic to get to the iTunes page. It’s also free, but it does have a premium component that will unlock a larger quote archive that I hope to be expanding soon.
I’m down to 6% power on my battery, so like it or not, I have to stop here. More on this app and where we would like this one to go in my followup post.
I have a minute that I can slip in a quick post before going in to the dentist’s office (not my favorite thing). I thought I’d use it to describe the process of getting our first two apps made.
DHS App#1: Kidskalc: I have to admit that this was a breeze. I conceived of kidskalc from my memory of a small plastic device that my mother used to let me keep track of our grocery bill with when I was probably about four years old. I wrote up a quick description of how it should work and drew out the device as modular pieces in powerpoint.
I spent about an hour working with Xcode before I realized that it was going to be a lot of work to learn programming and this new programming environment. My background in programming ended with half a year programming in COBOL and half a year programming in Pascal back in high school (around 1988). So, object oriented programming languages are quite foreign to me – to be honest, I still don’t know what that really means even.
My solution was to turn to oDesk, a contracting interface. There are good things to say about oDesk and bad: on the positive side, you can get bids for a contract very quickly after posting. Once you settle on a bid, everything runs very smoothly and it’s easy to pay contractors using paypal or a bank account and all the legal tax stuff is organized for you.
The bad is that there’s a reason why contractors are up at all hours combing through people’s job descriptions – most of them are not the ‘A Team.’
That said, I have met a lot of very nice people who have competently put together some material for me – and our first app, Kidskalc, cost only $60 to have done beginning to end.
It’s not day one for much, but it is a first post. And I’m hoping not the last
What is this blog about?
I’m sure that it will be a number of things. I can imagine that I’ll complain about things here from time to time (perhaps even most of the time I’ll have a complaint about something – but I will try be be temperate). It’s meant to be the diary of a startup company though, that’s the main focus. What does it take day-to-day to start a company and get it going?
That’s why it’s difficult to call this day one. I conceived of this company about a year ago and starting working on it then, but not much has really happened other than a lot of ‘getting ready.’ Major objectives that have been:
1. I completed the launch of Downhousesoftware.com, a website containing links to our company information, products and ideas.
2. I designed and developed a couple of very simple apps – this is a lot harder than it sounds, no matter how simple you think those apps are. Why is this?
Well, Apple requires that you be a legal company (we are now: DownHouse Software LLC)