Friday, 22 March 2013

Password Sanity

I use, and love!, the password management 1Password, from AgileBits -- a wonderfully Canadian company.
I have copies of the app sitting on all 3 of my devices -- my MacBook Pro, my iPhone, and my iPad. All are synced together through my DropBox account.

The brilliance of the software is that you literally need only remember a single password. This unlocks the app, which is a password database and generator. 

Every time I need to sign up for some new web site or service, I login to 1Password using the handy button installed in both my Safari and Chrome browsers.

Thursday, 7 March 2013

Our dev stack

Here's a quick run down of the workflow we're using, and finding quite effective, on a current iOS project.

As with all iOS projects, the main ingredient is Apple's free IDE, Xcode. When we created the project, we allowed the wizard to set up a git repo for us.

But we don't use Xcode's built-in git tools. Instead we use SourceTree, the visual git manager from Atlassian, the powerhouse software tools vendor. It's free, has a fairly small learning curve, but has just about everything we need. A great feature I use just about daily is GitFlow. This allows 1-click creation and merging of new branches. is the home of our code. With a small, but mobile team, having all of our code stored on a high-availability, secure and robust service allows us to be highly productive from wherever we can get on the 'net. Shhh... don't tell Marissa.

Each new piece of functionality big enough to be assigned a work ticket is branched in the repo. GitHub and SourceTree make this an easy-peasy thing to do and share.

Logo for The "CI" in the name refers to continuous integration. This online service runs the Jenkins port of the venerable Hudson build server, so we consider this service as a giant build server in the sky. We have an integration with github whereby each time a project team member commits code to github, the continuous integration server pulls the latest code from the repo. We have our project configured to automatically run all of the unit tests, before building a signed, distribution-ready application.

JIRA is another great Atlassian product, JIRA is where we track the progress of all phases of the project. Another small integration with github allows each commit to be tied to a specific JIRA ticket. When a developer commits code to the repo, the full commit log, including a list of files worked on, is automatically added to the JIRA issue ticket. We can now not only track who worked on which issues, but also see exactly what the solution was.

Finally, once a fully tested and properly signed binary has been produced, it is sent to TestFlight for distribution to all of our developers and testers. Each person on the distribution list receives an email that allows them to install the latest build directly onto their iOS device with a single click, right from within the email message.

Copy & Paste can be good!

Rather than point to some sort of innovation gap at Samsung, I prefer to consider that Samsung building their new Wallet to be interoperable with the iOS Passbook is a great thing for the industry.

Samsung Wallet logo
For e-wallets to truly take off requires a certain scale in the number of businesses using the technology. This tipping point can most quickly be achieved by multiple vendors releasing complementary and enabling products. The very last thing I want to see if yet another vendor introduce a new tech that they hope to become yet another 'standard'.
Apple Passbook logo

It's a smart move on Samsung's part to follow Apple on this. It shows that their business sense is not being overridden by some schoolyard-level ego about "anything they can do, I can do better." -- a mantra that seems to be the tone of too many journalists and commenters.

Kudos to Apple for not suing.

Now that the two largest smartphone vendors have found more common ground, perhaps a true "standard" will evolve from this.