Concept to Completion

One Man's Journey to Learn Swift

First Steps

Jul 24, 2014

Now that I’ve started to dig into various resources, I’ve started to see the different areas of learning ahead of me. Again, this project is about a lot more than just learning Swift. There’s also general programming principles, available frameworks, and the required tools.

In addition to all that, I also have to learn more about designing apps. In all my years of dabbling in web design, I have never been a Photoshop fan. I always design on paper, then straight to the browser. I own a copy of Photoshop, but I haven’t had it installed on my machine for the past two years. Because of this, I’m not all that comfortable with these programs and would never call myself a graphic designer.

And so I wonder what is the next best step. Dig into the development side of things? Read another book on programming (I’m currently working through Meng’s books now)? Or start designing the look and feel of this app?

There are a few thoughts running through my head as I consider the next steps:

  1. As I’ve mentioned, I already had a vision of this app and a working theme running on WordPress. But designing for a Mac desktop app is a totally different game. A desktop interface is not a website and I suddenly feel a lack of constraints. To be sure, there are constraints with desktop applications, but they are different than the web and I’m not familiar with them.

  2. Designing in the browser is not an option here. To use Xcode, I need an idea of what I want this thing to look like first.

  3. Do I create a custom UI in Sketch, or attempt to build this app with Interface Builder and the common elements that are available? Or with a custom UI kit? Is that even possible? I don’t know enough yet …

And with all these thoughts and questions whirling through my head, I started at the beginning, where most projects should start. Pen and paper. What screens will be required for this tool? What will each look like? How should the content be structured?

Thankfully, I’ve gone through this exercise when I was building the idea out for the web. I have a good handle on the content and a picture of how it should be laid out. Even before I started sketching, I collected a number of desktop UI examples in Ember for review.

Because interfaces for OS X apps can be so varied, this was a useful exercise is narrowing down the style I’m looking for. Should this app be one, two, or three paned? I used examples like Mail, Simplenote, and Day One to envision the structure of the content. Does it require an inspector style interface element (like OmniFocus), or will small text based metadata suffice (like Day One)?

These are all questions I’d rather ask up front. The thinking that is required before jumping into design or code. In the end, Day One sports the type of interface that fits most for this app. It’s note based, each note fitting into a type category and including bits of metadata.

This will be a tool that should stay out of your way, allow for easy data entry, and allow you to find results with speed and ease.

No small feat, right?