Today I kicked-off another ten-year goal, Project 1405! This is the “make software for thinking” goal, and since I’ve never made software like this before, it’s going to be a long road. Good thing I gave myself 9 years to do it!. Details follow.
Software for Thinking?
So what is software for thinking? It’s software that I’ve wanted to have for organizing my thoughts in a visual manner. There isn’t quite anything out there that does it the way I want, so I figure I should get started. As software development of desktop and mobile applications is new to me, the first year or so will be spent just getting up-to-speed with the available development tools.
The first step I took today was to figure out how I was going to document the entire process to help me remember what I’m focusing on from day-to-day. I thought of using Scrivener or perhaps giving Evernote a third look, but neither of those programs are particularly good for taking notes for development because of their weak formatting support. I happened to read on Hacker Newsletter about a “programmer’s notebook” app called Quiver, which on first glance looks like every other digital note keeping app you’ve ever seen. It’s got a list of notebooks, a list of notes in the notebook, and an editing pane; it is very similar functionally to Evernote. What makes Quiver exciting for me, though, is its use of cells that contain a specific kind of formatted content, and can be freely mixed into the same note. For example, there’s Github-flavored Markdown (GFM). There’s a 60+ language syntax highlighted code cell. There’s LaTEX support for mathematical equations and even a diagramming cell for making sequence charts and flow charts. Because each type of cell contains a certain kind of content, it avoids the endless awkward formatting that comes from rich text “select-and-format” user interfaces. It makes writing code documentation elegant and fast! And that’s exactly what I need. Evernote and Scrivener are probably OK for general purpose writing, but Quiver was designed to be a PROGRAMMER’S NOTEBOOK. Add to this many other developer-friendly features, such as the JSON-based data format, ready access to customizing the underlying CSS-based templates, cloud storage support, export to PDF or HTML, and this seems like a product with its heart in the right place. At $9 for Quiver Pro 3.0, it was a no-brainer to snatch it up.
With the documentation problem out of the way, I spent a few hours figuring out how to approach the daunting software goal itself. I came up with this:
- The example apps at minimum should have an editable text field control in a floating window.
This is a pretty simple goal, which can probably be achieved by watching a few tutorial videos to go through the motions of setting up each development environment and generating a runnable application. The challenge is finding excellent sources for this tutorial information; quite a lot of what is easily found on the Internet are like bad recipes that have little insight into the tools themselves. That’s why I wanted to have a decent programmer’s notebook; I’ll be needing it to create my own high-quality tutorial references by filling in the gaping holes of most online material.
GHDR Points Scored and Next Steps
Though I made a lot of headway, not a lot of points were scored on my Groundhog Day Resolutions goal list…or were they?
|3||Talked about goals with someone face-to-face!|
|2||Made a map/model to help make a decision about what to do!|
|2||Reduced the scope of a new task so I could start it faster!|
|2||Posted words and photos about the goal|
|1||Researched Programmers Notebooks|
That’s 11 points…way more than I thought there would be. That makes me feel pretty good. I’m going to continue to peck at this xcode example app building, gathering information into my OS X notebook in Quiver, until I develop a rudimentary (and well-documented) understanding of the development process using XCode. This may take several weeks.