I’ve not really kept up on documenting my progress on this - got distracted with one thing and another. But for continuity, here’s how things ended up:
The app is finished (under some definition of ‘done’); it meets the requirements as laid out and superficially has the right functionality.
It’s pretty crappy. But TBH I’ve extracted the lessons I need to from the project and I’ve moved on and done better work. I don’t think there’s much value in making this one better, though it’s painfully sloppy!
Here’s my main lessons:
Do
UI requirements first
- gives structure to the project and is easier and more exciting at the beginning when energy and optimism are high.
- creating placeholder values starts you thinking about what functional structure is needed
- slotting real functions into an existing framework is easier than building a framework around functional components
- adding real functionality to a pretty mockup feels like turning pinnochio into a real boy
- good looking mock up IS a definition of done, right? right?
- trying to polish a turd at the end of an exhausting mental process is dispiriting
Use MVC
- I need structure.
- Once the UI is mocked up, how is it kept separate from all the other junk I want to layer on top?
- It just makes sense
Don’t
- start working on other projects before this one is finished
- use codepen for work that requires significant coding work
- … or at least, don’t work directly in codepen. frustrating
- leave big boring bits of straightforward logic to the end. doing conditionals for the backgrounds and icons was a chore
Conclusion
Pretty basic stuff, but useful to really know it from experience. I applied much better discipline in my next project, for which, see next post.