var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var stdin_exports = {}; __export(stdin_exports, { default: () => _2021_03_21_dash_cycle_00, metadata: () => metadata }); module.exports = __toCommonJS(stdin_exports); var import_index_10ac95e2 = require("./index-10ac95e2.js"); const metadata = { "title": "Dash Cycle #00 - The Beginning", "author": "Thomas Wilson", "date": "2021-03-21T00:00:00.000Z", "slug": "2021-03-21-dash-cycle-00-the-beginning", "draft": false, "tags": ["dashdot", "buildinpublic"], "imageUrl": "preview-images/C00.png" }; const _2021_03_21_dash_cycle_00 = (0, import_index_10ac95e2.c)(($$result, $$props, $$bindings, slots) => { return `

Hello. I\u2019m building an app called Dash Dot, it\u2019s a native iOS app for interval training that is a) well-designed, and b) privacy- and utility-focused. This post covers the first (approx.) six weeks in designing and building the app.

I\u2019ve never made a truly native app before (I have written things in React Native before, though), nor have I ever successfully released a product to the world. Maybe this will be the time \u{1F937}\u200D\u2640\uFE0F

I want to #buildinpublic so this is a proto-changelog for a product that I\u2019m hopeful will exist one day.

Cycle? I don\u2019t like the \u201Csprint\u201D terminology that agile practices use to describe how features are developed. Nobody sprints all the time, that\u2019s ridiculous, and building a product is a long slow burn. Also, I don\u2019t have a product to iterate on, I\u2019m currently working forwards from \u201Cwouldn\u2019t this be a good idea\u201D. I need longer than two-week springs to make a difference. In line with Basecamp\u2019s six-week \u201Cbets\u201D and Linear\u2019s \u201Ccycles\u201D, I want to work in cycles, as in lunar cycle or life cycle: longer (six-ish) periods of work where I focus on broader goals.

This cycle (#0) lasted seven weeks:

What do I have right now ?

What have I done that I\u2019m proud of?

What went well?

What didn\u2019t go well?

What has been most challenging?

What do I do next?

In order, here are the things I want to do in the next cycle:

  1. Finalise the current architecture and add tests: The code that lets you create and configure a timer is functional (it walks), but I can probably do some tidying. In fact I can definitely do some tidying. I absolutely want to have tests in my code, even if TDD didn\u2019t work out this time and I\u2019ve had to write code then tests, that\u2019s still preferable to writing no test.
  2. Solidify the design: I\u2019ve got a lot of possible UIs and medium-fidelity prototypes, with various colour schemes and mental/visual metaphors in my current Figma file, I need to settle on the Colour Palette & Design Tokens so that I can build consistent UIs. I need to get rid of old ideas (I\u2019ll probably move them to some kind of \u2018Archive\u2019 part of the file so that I can go back to them later). This should create a consistent UI and UX across the various user journeys.
  3. Allow someone to complete a timer: Design the architecture and UI that would allow someone to select a timer they have made, and actually complete it
  4. Buy some domain names: I need to start thinking about the keywords and handles I\u2019ll be using online
  5. Decide on JIRA vs Linear: How to manage software development? What an ever-turning wheel

Note the lack of marketing and advertising here? I\u2019m aware that this should start early but I don\u2019t want to do anything until I\u2019m sure that I\u2019ll have something that I\u2019d be happy letting someone else use.

Hopefully, Cycle #1 will last from now until the beginning of May 2021, but I also expect it could last longer. Right now it\u2019s about making ideas solid and building code - and that happens when it happens.

`; });