Project Assignment 1

Overview

For your final project in this course, you will be producing your very own Shiny App. The purpose of this assignment is to get you to think through the basic content and layout off your app. As you will learn, Shiny Apps are comprised of two basic elements: a user interface and a server function. We are going to be focusing on the user interface side of things for now and later we will talk about how to generate the content for the user. What do you want your user to see and experience with your app? That is the question you will answer here.

Step 1: Think about a layout for your app (25 pts.)

Go to the Shiny gallery and have a look at examples of the Shiny Apps there. You can also go forward in the course a bit and have a look at the apps that we are going to be building together in modules 5.1 and 5.2. Among these apps, which layouts appeal to you most? Link to a few of them and talk about what you like here.

Step 2: Think about the basic content (25 pts.)

Next, think about the basic content of your app. What subject matter and data do you want to have your user explore? What do you want them to get out of the experience? What datasets would you use for your app? These could be datasets that we have used for the course or other sources but it should be comprehensive and convenient to work with. You will not have time in this course to do original data collection. Discuss in a paragraph below.

Step 3: Think about the visualization (25 pts.)

What is the type of visualization that you want to display. This could be a line chart, scatter plot, bar chart or map and could include some text elements as well. How would your selected visualization contribute to the knowledge enhancement that you want your user to experience? What would it teach them. Discuss in a paragraph below.

Step 4: Think about user input (25 pts.)

What would the user manipulate in your app? It could be a dropdown menu, a slider or some other control. See here for a list of control widgets. When your user interacts with the control, what output will it produce, e.g. what will change when the user manipulates the widget? How would your chosen control widget enhance the user’s experience and contribute to the overall purpose of the app?