lostintangent / node-azure

Tutorials that illustrate how to build Node.js apps with VS Code, and deploy them to Azure
http://azure.com/node
10 stars 7 forks source link

Try Azure App Service experience needs improvement #25

Closed nicolehaugen closed 7 years ago

nicolehaugen commented 7 years ago

I was fairly unsuccessful in using the Try Azure App Service experience that is provided by the Node.JS Developer Center. I'll walk you through my experience and mention potential improvements - I think that we could address these issues by having a blog post or short walk-through showing how to get the most out of "try azure app service" for Node.JS:

1.) In general there isn't enough guidance on what the intent of each of the templates is and how to use them - for example, what sample app code is included with each template and what does it do?

image

2.) I selected the Express template - after this, I was shown the following options on how to proceed next. Again, there isn't much information here on why I would want to pick one option over another - I decided to select the first option presented to me, which is to 'Edit my code online'.

image

4.) Once in VS Code Online, you are presented with a quick start to give you info on what to do.

image

Since the first option suggested that I use git to clone code into the site, I started with this. Specifically, I selected the Git tab on the left hand side and specified a url to a new repo that I had created.

image

Unfortunately, this failed:

5.) Since this didn't work, I went back to the other Git options and noticed that there is an option to Initialize git repository. I'm not sure what the intention of this is, but I decided to try it. I could see that it put a bunch of module files into staging and that I then had options to commit. Since I hadn't made any changes to the source code that I wanted to save, I decided to abandon this. image

6.) Next, I decided to look more at the sample code that was already there, and noticed that in the server.js code it says this:

// Potential next steps: // --------------------- // 1) Update the views/stylesheets to get a feel for using Pug and static resources // 2) Add additional routes/views to handle more requests (e.g. /about, /users) // 3) Add additional middleware to process requests as needed (e.g. JSON bodies, cookie headers) // 4) Add some front-end JavaScript, reference it from your layout view, and serve the file from the /public directory // 5) Have fun trying App Service!

This seems to be the best set of instructions I've seen, yet this info was buried in the code. Instead, this type of information should be shown up front as part of the quick start and then there needs to be a brief explanation of how to use git with this overall scenario - for instance, you can clone this repo onto your machine so that you can make changes locally and then push it back.

7.) Finally, I ran the sample app and could see that it ran, but after poking around through all the options I mentioned above, my 1 hour trial was nearly done, so I decided to stop.

Overall, we need better documentation here in order to lead the developer down the correct path since it's not intuitive today.

lostintangent commented 7 years ago

@nicolehaugen79 Agreed! I actually just updated the Express template a couple of weeks ago, so I'm glad to hear the code comments were helpful :)

I just sent out a PR to delete the Node Starter template, since I agree, it's confusing and it doesn't add any value really for a "getting started" experience, where we want to be very prescriptive about what to select.

Regarding the feedback about the TryAppService experience being confusing, we can start a thread with the product team about that.

nicolehaugen commented 7 years ago

Great - removing one of the templates will help.

Let me know if you want me to help write anything up to send to the product team for TryAppService.

lostintangent commented 7 years ago

The change to remove the second "Node Starter" template is now live, so that should hopefully reduce some of the confusion. The TypeScript one is also pretty outdated, so it may be worth just getting rid of that one as well, as just having a single Node.js template.

image

In addition, I was able to take a look at the telemetry for the TryAppService offering, and it has really low usage in general, so I don't know whether it's worth priotizing much more improvements to it right now, as opposed to discussing other options (we can talk more later). From looking at their funnels, the biggest problem in capturing users is getting them to select a template, not in engaging with the app post-deployment. So while I completely agree with your feedback above, I don't know if it's the lowest hanging fruit at the moment.

I think the best thing we could do right now, that would also be cheap, is to create a tutorial that shows how to use it. Let me know if that's something you'd be interested in doing.

lostintangent commented 7 years ago

We removed the TypeScript starter as well, which helps to prescribe the Express starter for all Node visitors. I'm going to close this for now, since there are some upcoming TryAppService improvements that will cause is to re-evaluate the experience.