This series will guide you through making a small app to automate fetching and displaying data from both an SQL database and a network drive.
Posts In The DerbySAPiD Series
- About DerbySAPiD
- Preparing To Create DerbySAPiD (you are here)
- Building The User Interface (coming soon)
- Fetching Information From The Database (coming soon)
- Displaying Pictures Stored On The Network Drive (coming soon)
- Publishing The App (coming soon)
When it comes to building apps to automate tasks, time is a luxury.
You might be trying to get 10 minutes work in where you can between your daily work.
Or maybe you can only work on it during your lunch break.
Or worse still, you have decided the work chore is that annoying that you have decided to work on an automatic solution from home.
This means we want to maximise our time and strip out anything that is not essential. It can be tempting to skip planning but this is a false economy. Without planning you could waste hours re-doing work.
Keep it short and to the point
I hate long planning phases myself. Spending weeks on producing planning documents and specifications is painful when you are just wanting to get to work on the actual project. Luckily we don’t need to produce any planning documents. There’s nothing forcing us to have any pointless meetings either.
Planning doesn’t need to be much more than an idea in your head. A mental preparation before you start.
But I recommended you jot down some notes and/or sketches. At least for your first few apps. Notes will help you keep focus on your end goal if/when you end up side tracked by a bug or error that takes some time to diagnose and fix.
3 Things To Consider When Planning
If you haven’t read about the 3 steps to preparation yet I encourage you to do that now. It will only take about 5 minutes. The 3 points to consider are:
- Break the task down into steps
- Identify inputs, processes, outputs and delivery
- Who will use the app?
So, let’s go through these points for DerbySAPiD. For a small app you may not need to write anything to support your planning but you must at least consider these points and have a mental plan.
1) Break the task down into steps
I understood the original process that Steve and the lads were using to prepare for an audit. The following steps were to be automated:
- Input RRN into internal app.
- Wait (around a minute) for the internal app to return the corresponding RdSAPiD and assessor number from the database.
- Input another the RdSAPiD into another function of the internal app.
- Wait for this to return details about the assessment from the database.
- Navigate windows explorer to get to the correct directory on a network drive.
- Find and open the folder which matches the assessor number.
- Find and open the folder which matches the RdSAPiD.
- Click through the images and documents in the folder.
2) Identify inputs, processes, outputs and delivery
Essentially all inputs started from the RRN code.
From this the auditor could find the RdSAPiD. I had some knowledge of the database structure so I knew that the RRN and RdSAPiD could be used interchangeably.
So straight away we could skip steps 2 – 4.
Steve confirmed he needed the following to start an audit:
- Assessor name
- Assessor number
- Property address
- Photographic and documentary evidence from the property inspection
The app wasn’t going to do anything complex with the data. I knew the assessor information and address were in the database. I knew where to find the photos on the network drive.
If I didn’t already know where the information was, this would be a job covered in planning. Best to know exactly where you will get the data from before you attempt to actually get the data with code.
The information returned by the app was only needed for as long as it took to perform a particular audit. It didn’t need to be emailed to anyone or stored in a database.
Once the app had found the data it just needed to display it on screen somehow. This meant the delivery would be a UI.
3) Who will use the app?
This was simple. To start with it was Steve and the rest of his team. They would need a simple to use UI.
That’s It! Preparation Done!
Yes, that’s all the planning you need for a small simple app. It’s enough to understand:
- What information we have to start
- What information we need as a result
- Roughly how to get what we need
When first creating DerbySAPiD I only wrote down the outputs needed and the fact Steve only had the RRN to start with. So only 5 lines in a notepad and 5 minutes spent planning.
You may spend another minute or two making notes for the entire process. Or you may quickly cover the points in your head and crack on. The more complex the task is, the greater the need for making written notes.
Complexity is relative to your experience making apps.
If you are building your first or second app I strongly recommend spending more time in planning. Once the coding gets underway it is easier to lose your train of thought balancing a few ideas at a time. The more constants that you don’t have to think about the better.