Worrybook.log.1: Track it to start treating it

Worrybook.log.1: Track it to start treating it

·

6 min read

This past year has been challenging, exhausting, trying, and every other negative-implying adjective you can think of, for everyone. But mostly, it's been relentlessly tough. A worldwide public health nightmare became reality, plunging countless other national and international problems deeper into crises, and preventing others from getting true action or resolution. Perhaps the most subtle of which being mental health - to some degree or another, it's likely everyone has felt the vice-like grip of this invisible ever-growing epidemic. Certainly, I have. And in working to improve those aspects of life, I decided to channel my energy into exploring and building a tool for myself and everyone else in a similar position - an anxiety tracker. Though a technological solution isn't the final solution to such a monstrous problem, it may be able to help provide some semblance of normality and control, for myself and for others.


Project coffee tracker: 3


I've been learning a great deal about CBT-based anxiety management techniques this past year. For those who may not be familiar with it, CBT, or Cognitive Behavioural Therapy, is a form of research-backed psycho-social talking and routine therapy which aims to help you break down worries into more manageable chunks and form positive habits.

There are many techniques within CBT treatment to help the individual address varying forms of anxiety and panic disorder, perhaps the most well-known and simplest of which are Worry Diary and Worry Time. A worry diary is somewhere you record the things that cause you anxiety as and when they occur. For example, you may be cooking dinner and you begin to feel anxious about whether you'll be in trouble at work for forgetting to send out that all-important report. When practising the worry diary technique, you'd record that worry, when you had it, what you were doing at the time, and the intensity of it before you classify it as either hypothetical ("what if") or practical (has an immediate action you can take to resolve it). Then, you try to refocus back on the present moment.

The idea of worry time is supported by the worry diary, and is simple - at a set time of day, you sit peacefully and allow yourself to worry. It sounds counter-intuitive, but the idea behind this being that it primarily helps elicit a sense of control over your worries - to control when you worry, allowing you to defer worrying at inopportune situations or environments until your scheduled worry time. During this short time period, you review your worry diary submissions and allow yourself to react emotionally in a controlled manner. Oftentimes, either the worry holds less significance, has been actioned, or is no longer an issue. But over time, as you habituate the behaviour and expose yourself to worry, the technique aims to reduce the intensity, frequency, and effects of anxiety.

So why am I writing about this? Well, it's a simple but highly effective technique which can help people regain control of their anxious mind, so is a perfect candidate for a simple data-in data-out application to provide a more convenient method of supporting these techniques without having to keep a notepad and pen nearby at all times, which can be cumbersome for many folks. Plus, it allows me to explore new areas of software development!

For more information, guidance, and support, remember the NHS website is a great place to get the mental health and CBT therapy support or immediate help you need. Alternatively, for those not UK based, please consult your local or national healthcare providers for information about how you can access similar support. If you're experiencing thoughts of self-harm or suicide, remember that though these can be complex and frightening, you're not alone and support is available. It's important to talk to someone such as your family, your doctor, or mental crisis support services immediately.


The idea

Since this project hopes to support both myself and others, it also provides me with a use case to explore a new area of software development I've dabbled with, in greater depth - mobile development. Specifically, iOS development in this case, as having just transitioned back to iPhone after 7 years in the Android ecosystem, a lot has changed and Apple's recent updates to Swift caught my eye, and SwiftUI looked compelling, so it was about time I got learning!

In this case, let's keep it simple and secure. Data will be stored on-device, accessible to only this application, so no cloud syncing here - it's not necessary at this point and we can keep that sensitive data secure with and reduce upfront effort. Plus, without external or distributed datastore dependencies, we can keep this application simple and snappy. Should there be scope for it in future, then we can circle back to it then, but I hope to architect it to make it as little pain to swap out as possible should that time come.

The function

Let's break this down further into a simple list of aims for this application.

  • Figure out how we build rich and accessible UI's using SwiftUI
  • Setup a secure local-only storage mechanism for user data
  • Allow users to input, view, and manage information about their worries
  • Allow users to schedule worry time, and figure out how to notify them when it's time

Since we've established the must-haves, what would be some nice-to-have features for a first release to enhance the experience and value of the application in achieving its goals.

  • Let the user categorise worries they log by topic
  • Allow a user to plan their actions to resolve a worry, or choose something to refocus on
  • A minimal gratitude diary

The design

Before we can do any of that good stuff though, let's get an idea for how we want this application to look. So I took to Figma - a versatile design service that I find great for mock-ups and interactive prototypes. I spent some time experimenting with the design of an application that prioritised simplicity, clarity, and calm and felt content with the result to guide the development.

screenshot-2021-01-30-at-23.23.59.png

screenshot-2021-01-30-at-23.24.17.png

screenshot-2021-02-04-at-20.19.48.png

For those seasoned iOS developers, I've no doubt there are some glaringly obvious UI/UX design mistakes in these mockups. Another motivation behind this project was to expand and strengthen my knowledge and skills concerning UI/UX design, and since the Apple ecosystem is so purposefully regimented in this respect, I felt this would be a great opportunity to challenge preconceptions and learn new principles that could be applied anywhere. And though I'm slowly working my way through the iOS HCI Guidelines, I'd love to hear from experienced designers and engineers for how elements of the above prototype UI/UX could be improved.

So leave a comment with any suggestions. In the meantime, I'm off to continue building... catch you in the next one where I'll review the design and getting started in the nitty-gritty of the backend ✌️