Building a service driven mobile app (Part 1)

I was inspired to assist my wife with managing her small hair styling business by developing a mobile application for iPhone or iPad which will sync its data to and from the cloud. Her biggest need was to ensure that her appointment book was up to date and that her client data was always available. Since there would be lots of communication between herself and her clients, the idea took shape to include a client version of the app, allowing a client to make/cancel an appointment and to update their information.

This got both of us excited since we could in our own minds already see the finished product working brilliantly. Off course it will take lots of work, but we could already imagine the possibilities.

This is typically how every idea starts for me, so I intend to map out the journey of taking an idea and bringing it to fruition.

2. ### Name / URL

I find that an idea dissappears into the void if it doesn’t have a name, so my first step is to fire up godaddy.com, facebook and twitter and to start looking for names that will uniquely identify my product. I finally found UberStylist to be available and parked the various spaces.

3. ### Features

While driving to the inlaws for a weekend, we had some time to discuss the various features that might be included in the app and I captured these using my iPhone. Since I’m aware of SpecFlow and the Cucumber/Gherkin syntax, I captured each feature in the following format:

To take each of the features a little further, I added a set of scenarios to cover what it means to have this feature. These can then become tests to determine if a feature was successfully implemented later on. The Cucumber/Gherkin format once again aided with these:

1

2

3

4

5

6

7

Scenario:NewClient Appointment

Givenabooking form iscompleted

Whenanewclient makesabooking

Thentheir name should be captured

Andtheir contact number and/oremail should be captured

Andtheir booking date andtimeslot(s)should be captured

Andtheir gender should be captured

The syntax allows for Given (And…) When (And…) Then (And…) which spells out expected results from certain actions given some assumptions.

Capturing the different scenarios I could think of for each feature, really helped me to form a more complete picture in my mind about the user experience.