she swears <i>geek</i> is a term of endearment

iPhone AppStore Accepted Ockham StockRazor

October 29th, 2008 Rusty

Ticker-Detail-ScreenI’ve certainly done my share of complaining while I developed an application for the iPhone.  I can honestly say that I’ve come from completely lost to comfortable on the platform and gained valuable skills and insight during the process.  It was not easy.  I am fortunate that my company is founded on the ideal of bringing technology into finance to produce valuable tools and the iPhone is an obvious vehicle for that. 

Apple Support was Awesome

Credit where credit is due, right?  While resources were difficult to find and the NDA made things very complicated, when I contact Apple with questions or issues, they always responded and helped me get through my roadblocks.  I had a few problems with the App Signing process and exchanged several emails with Apple support.  The responses were thorough and thoughtful.  In the end, these very complicated requirements were overcome and I was able to focus on development. 

The Submission Process was a Breeze

Relatively speaking, submitting the completed release was pretty straight forward.  Of course, I’d learned the Apple way by then and knew where to look for the guidance I needed.  The only thing that was confusing was the SWIFT code for our bank.  This is simply an international standard for identifying a financial institution and you can usually find it by checking out your banks website.  We also called our bank and they were able to confirm the code.

Review was FAST

I don’t want to set any unrealistic expectations for anyone but let me just say that review and approval of my app could not have been faster.  I’m sure it helped that our app was well tested and had a clear purpose.  We also followed Apples UI guidelines carefully and tried to make it as natural to the iPhone as possible.  Needless to say, you can now purchase "StockRazor by Ockham Research"

Subversion (SVN) Integration with XCode

September 2nd, 2008 Rusty

This is specifically for the developer who wants to get source control going quickly as well as to instruct a colleague on how to jump onto a project without excessive ceremony.  I’m going to skip the part about associating the project with SVN in the first place, importing the project initially, etc.  The project has to be imported into SVN before you can then check it back out and work subversively.  I’ll assume you can figure out how to add a directory to Svn using the command line.  The basics (and then some) are covered on Subversion with XCode on Apple

 

Open XCODE and Configure SCM with Subversion

a picture says a thousand words…

SCM-Configure-Repos

Add a Repository

Click the "+" to add a repository

Svn-Repos-Screen

Give it a name so you can tell it apart from the Skynet alpha Svn repository

New-Repos

Configure your Svn

Svn-Repos_details

Click "OK"

Checkout your XCode Project Structure

Svn-choose-repos

Navigate to the root of the Code project and "Check Out"

SVN-Checkout-1

Navigate to an appropriate project location on your file system.

Svn-Checkout

An alert will indicate that it is complete
Choose "Open xxx.xcodeproj"

 

Use integrated SCM with SVN

If the project was previously associated with SCM, you can skip this step.  In other words, if you cange a file and an "M" shows up next to it, you’re done.

Otherwise, Choose Project > Edit Project Settings

Edit-Project-Settings

Near the bottom, choose your repository for SCM

SVN-Associate-Project

iPhone SDK XCode and Visual Studio

August 19th, 2008 Rusty

I ran across this, quite by accident, and it was spot on: http://weblogs.asp.net/jezell/archive/2008/07/06/iphone-sdk.aspx

I have family to pay attention to, having spent way, way too much time trying to write an iPhone app, so I’ll be brief and to the point.

The iPhone is probably the most disruptive, innovative and important personal technology device in the last 10 years.  It changes everything.  It is worth paying attention to and worth investing in.  

That being said, the platform for developing iPhone apps is far from ready for prime time.  Innovative and thoughtful early adopters will profit, most certainly, but most  apps are going to fade into oblivion.  

The sdk, Objective C, XCode and the entire iPhone development toolset is disappointing.  This is probably underscored by my recent experiences using Microsoft tools.  The recent development of Asp.Net MVC from Microsoft has brought web development into the realm of productivity and satisfaction.  I thoroughly enjoy building web apps using the modern tools and language features and can’t say enough positive things about it.  Jumping off to xCode and iPhone development has been trying to say the least.

First, and foremost, iPhone sdk documentation is pathetic.  The best one can find are a few scattered tutorials where some teen age kid is putting together a UI that gets the intended screens in place but wreaks of the most costly and short sighted practices I’ve seen since VB 5.  Yes, you can point and click and cut and paste until your heart is content but the minute you wish to change something you will be paying the price for your technical debt to bad architecture and design.  If I google something in Asp.Net MVC, I find 10 resources immediately.  Its still a preview technology.  iPhone is out, released, production.  Googling basic issues results in nothing.  Part of that is the Apple “must be logged in to see this” nonsense.  Please, Apple, stop it.  Take the passwords off your documentation.  Let Google bring me to the resources I need.  When I do find tutorials, they are often based on the last drop of the sdk and they don’t work.  This is very frustrating.  If there were documentation or tutorials that worked, then I’d accept it.  But there aren’t any.  

Finally, there is this Apple iPhone MVC thing that is supposed to provide a pattern for implementation.  However, I can’t seem to figure out how to actually implement MVC for the iPhone sdk!  There are xib files and UIView classes.  These make up most of the outlets and actions.  Then there are UIViewControllers but they don’t receive nor host the actions.  Then there are delegates.  It seems to me that we’re in a more event driven UI-centric environment where nothing is documented and you are supposed to just discover the right path.  Inevitably, the wrong path leads to the screen you need and some high-school kid with more time then foundation puts together a video tutorial and explains, in his braces enhanced D&D DM narrative, how to wire it all up.

The last thing I want to point out is that tabbed Visual Studio is amazing once you see what happens when Windows get loose all over your desktop.  Holy crap can you get lost with Interface Builder, xCode, and all the little windows it manages strewn all over your desktop.

So, where credit is due: thank you Microsoft….and where work is needed, Apple, please consider improving your documentation and tutorials and doing some consumer research with developers who have never touched cocoa before.Let me close by saying I still LOVE my mac and absolutely think Apple does amazing things.  I’m your biggest fan!  But then I am also a Microsoft fan so that makes me “different”