Analyzing
Looking into how to analyze a problem and create a product
Get the project source code below, and follow along with the lesson material.
Download Project Source CodeTo set up the project on your local machine, please follow the directions provided in the README.md
file. If you run into any issues with running the project source code, then feel free to reach out to the author in the course's Discord channel.
Lesson Transcript
[00:00 - 00:12] So obviously this isn't a course in business strategy or product design or anything like that. But I still want to get into a few things just really quickly because I do think they're very important.
[00:13 - 00:19] If you're anything like me you like to just sit with your headphones on in your editor and write code. And that's great.
[00:20 - 00:31] It's definitely where we as developers get into flow and can produce a lot of value. But it's still very important that what we produce is something that the outside wall can use and want to use.
[00:32 - 00:48] So we're creating a booking system. A handyman or maybe someone with a staff should be able to offer services and then an imaginary customer should be able to go to a website and book one of these services at a specific time slot.
[00:49 - 00:57] So how does one attack a problem like this? Well so there are a number of methodologies and I don't seem to run into them that much these days.
[00:58 - 01:09] I don't know if that's because it's cooled off a bit or if it because I'm living in a different bubble these days. But there are all these types of ex driven development that we could try and use.
[01:10 - 01:27] My guiding principle tends to be that you should talk to the end user because it really is like key to understand how does your user think? What are the words that they use and what is the setup and scenario they're going to be in when they're going to be using your product?
[01:28 - 01:39] It's remarkably hard to get that right if you don't actually speak to users. But obviously we're not going to do that in this course because I'm just going to be sitting here speaking to you.
[01:40 - 01:47] So we're going to do the second best. So let's see if we have the website where a user or a customer can go and book a handyman.
[01:48 - 01:55] That is going to be something they're going to do quite rarely. It's not something they're going to be doing on a weekly basis or even a monthly basis.
[01:56 - 02:11] Maybe they're going to be doing it a few times in a lifetime. In that kind of situation we need to make sure that there's almost no learning curve because they're not going to be willing to figure out how a UI works in order to make such a booking.
[02:12 - 02:22] And the best way to get to that is by copying something that already works. If the customer already feels familiar with what they're seeing they will intuitively understand how to use it.
[02:23 - 02:39] If we were to make an admin UI for our providers that could be a different setup because those people are probably going to be using this UI over and over. And so it's more fair to ask them to spend a little bit of time to learn how the UI works.
[02:40 - 02:49] And then in return they will get a better experience once they're familiar with how the user interface works. So that is a different consideration in that setup.
[02:50 - 02:58] But for the customer we want it to be something that they will recognize. Now obviously that doesn't mean that we should just design the UI from the start.
[02:59 - 03:06] We need to think about technical implementations as we go along. But I still think that talking to the user is the proper way to start.
This lesson preview is part of the Fullstack Typescript with TailwindCSS and tRPC Using Modern Features of PostgreSQL course and can be unlocked immediately with a \newline Pro subscription or a single-time purchase. Already have access to this course? Log in here.
Get unlimited access to Fullstack Typescript with TailwindCSS and tRPC Using Modern Features of PostgreSQL, plus 70+ \newline books, guides and courses with the \newline Pro subscription.
![Thumbnail for the \newline course Fullstack Typescript with TailwindCSS and tRPC Using Modern Features of PostgreSQL](/_next/image?url=https%3A%2F%2Fs3.amazonaws.com%2Fassets.fullstack.io%2Fn%2F20240619184857865_KristianDupont_FullstackTypeScriptwithTailwindCSSandtRPCusingModernFeaturesofPostgreSQL_1450.67x816_CoverImage%2520%25281%2529.png&w=3840&q=75)
So obviously this isn't a course in business strategy or product design or anything like that. But I still want to get into a few things just really quickly because I do think they're very important. If you're anything like me you like to just sit with your headphones on in your editor and write code. And that's great. It's definitely where we as developers get into flow and can produce a lot of value. But it's still very important that what we produce is something that the outside wall can use and want to use. So we're creating a booking system. A handyman or maybe someone with a staff should be able to offer services and then an imaginary customer should be able to go to a website and book one of these services at a specific time slot. So how does one attack a problem like this? Well so there are a number of methodologies and I don't seem to run into them that much these days. I don't know if that's because it's cooled off a bit or if it because I'm living in a different bubble these days. But there are all these types of ex driven development that we could try and use. My guiding principle tends to be that you should talk to the end user because it really is like key to understand how does your user think? What are the words that they use and what is the setup and scenario they're going to be in when they're going to be using your product? It's remarkably hard to get that right if you don't actually speak to users. But obviously we're not going to do that in this course because I'm just going to be sitting here speaking to you. So we're going to do the second best. So let's see if we have the website where a user or a customer can go and book a handyman. That is going to be something they're going to do quite rarely. It's not something they're going to be doing on a weekly basis or even a monthly basis. Maybe they're going to be doing it a few times in a lifetime. In that kind of situation we need to make sure that there's almost no learning curve because they're not going to be willing to figure out how a UI works in order to make such a booking. And the best way to get to that is by copying something that already works. If the customer already feels familiar with what they're seeing they will intuitively understand how to use it. If we were to make an admin UI for our providers that could be a different setup because those people are probably going to be using this UI over and over. And so it's more fair to ask them to spend a little bit of time to learn how the UI works. And then in return they will get a better experience once they're familiar with how the user interface works. So that is a different consideration in that setup. But for the customer we want it to be something that they will recognize. Now obviously that doesn't mean that we should just design the UI from the start. We need to think about technical implementations as we go along. But I still think that talking to the user is the proper way to start. [BLANK_AUDIO]