Dolphin was born from a personal problem, like every surfer I wanted to find and surf the best waves available, but only counted with a few options, limited to services that offered reports from traditional surf spots in specific periods of the day. Besides from that, I also wanted to start logging my surf days, because I felt that I was improving with time but didn't have any account or metric that showed me that and this was reducing my motivation to improve my surf level.
Before even beginning to think about creating my own app, I started talking with many friends who were also surfers about my problems and I received great feedback, most of them also had the same problems, used a few services to help solve them but none that was good enough to keep them motivated to use and share with friends.
In the middle of all the research to define what to do I ended up finding a potential solution that could be used with the app that was innovative and unprecedented in Brazil. The solution consisted of a device that tracked the surfers performance while he surfed, tracking data from the session using a GPS, accelerometer and gyroscope that together could record most of the movements performed. After the session the user had to sync the device with the app where the data would be analysed and displayed for the user in a friendly dashboard for easy comprehension. I decided to use this device changing the main feature of the app from wave reports to the user's performance tracking.
With the problem in hand I went after existing solutions, but I was disappointed with everything I found and also excited to have the opportunity to work in something that could really make a difference for surfers and was meaningful. I called a friend who was a developer to talk about this project and it's potential, he was enthusiastic with the idea and we decided to move on and develop the app.
I followed a traditional UX design process, trying to apply all the tools that I knew to improve the quality of the project, even though it would consume more time than I liked. I took this decision for two reasons:
1. I had just finished my graduation in Industrial Design and was migrating to digital products, so I had zero experience in this design process and wanted to learn by practicing.
2. I didn't know any agile or lean development methodologies and really thought that the waterfall process was the best choice (little did I know that this was the long path and not necessarily the best one).
This was one of my first projects of app design so I ended up learning a lot while I advanced through each step in the design process. I also took advantage of the situation and used this project as the basis for my specialisation degree in UX Design and my master in Production Engineering, focusing on ergonomics and products/processes.
1. User research: I created an online questionnaire with different questions about the profile of my target audience (demographics, surf experience, behaviour and technological knowledge). Even though I belonged to this audience, I thought that I needed to be sure that my references were accurate. The analysis of the questionnaire showed that I was in the right track, validating my hypothesis for the target audience.
2. Benchmarking: I researched about the main products that solved the problems I was trying to solve, but since there wasn't many options available, I had to look also for indirect competitors, with similar features, to have more relevant data. I analysed the solutions, what features they had, how many downloads they had on the app stores, the rating and comments from users there. I also did a heuristics analysis (Nielsen Heuristics) of the most relevant product together with a evaluation tool by Gui Bonsiepe called Design Clinic.
3. Personas: With the data from the research and my personal knowledge on surfers, I created two personas representing the average surfer, which represented about 80% of the target audience.
4. Task Analysis: I separated all features that I had mapped in the benchmarking, together with the main problems that I had framed and I created a table with the individual analysis of the features that added the most value to users (that I would keep in the app) together with the problem definition that it solved.
5. Product requirements: I wrote down the requirements for the business, market, users and technical limitations, using all the data that I had collected and analysed, while also validating with real users.
1. Storytelling: I used the personas and task analysis to create a story about a day in the life of each persona, showing how the features would be used inside the app's usage context, during different moments of the day.
2. Conceptual model: I used the storytelling to create a detailed model of how the features would be used inside the app, generating guidelines for the generation of alternatives.
3. Analysis of objects and actions: I created a list of the main interaction elements needed based on the conceptual model and the available actions.
4. Cardsorting: I perfomed sessions with 5 users where I asked them to categorize a variety of pre-selected terms in the order that made more sense to each of them, to serve as the basis for the construction of the navigation structure and nomenclatures of the app.
5. Generation of ideas/alternatives: With loads of information about the problems, user data, features and context of use, I started the process of generating alternatives of the interface of the app. These begin with hand sketches of the main features, that I used to create a low fidelity prototype to validate the value of these concepts with a group of users (my surf friend, who I involved as much as I could).
6. Detailed design: From the sketches I went to draw wireframes that helped to consolidate the validated concepts into user flows, giving more structure to the interface. This process was interesting because I had to iterate a few times until I found a navigation flow that made sense to all the app's main features. Since I had already created the visual identity of the project, the logo, colors and typography were ready to be applied to the wireframes. I applied the visual styles on the wireframes, creating a high fidelity prototype to test the usability of the app.
7. Usability tests: I conducted tests with 5 users, recording all of them to analyse afterwards. These were great to refine the interface and improve the usability.
8. Design specs: Besides working together with a developer, I ended up writing a good deal of the app's frontend. Specs were limited only to the screens that I didn't code, since the rest was already in my head.
Even though the project didn't work out (financial problems mostly), it was an excellent learning opportunity to study the user centered design process. I learned the importance of validating with users during the process and how to apply a wide variety of design tools getting to understand their goals and limitations, and eventually designing a product from end to end. The whole process took about 1 year to be completed (4 months for the design process and 8 months coding) and it served as the basis for many different projects that I worked on afterwards.