Sunday 28 February 2021

Uploading custom Teams Backgrounds


Instructions on how to Add a personalized meeting Background to your MS Teams Meetings and Calls.

Steps:

1.> Open Microsoft Teams, and click the "Chat" button, start the call to 1 or more people

2.> Select "More Actions" (Three dots)

3.> Click "Apply background effects"

4.> Select "Add new"
5.> 
Upload your customised background image

6.> Select the "Apply" button.  All future calls shall have the same background as the default background for all subsequent Team calls.

Note: Your Teams background may appear backwards to you.  The background will will display correctly to everyone else on the call

Friday 26 February 2021

Shopify Teams meetings backgrounds

Overview:  I like to use a custom background in my Zoom and Teams meetings as I don't need to worry about what people and clients can see in my home.  We used Shopify to sell digital good (the customized meeting backgrounds).  

Solution:  Users can select a background that the rights had been purchased for.  Then could upload the company logo and add their name. It makes a pretty cool background effect and we used Shopify to create a online shop to allow people to order.  Originally we planned to use a ReactJS application on Azure for the creation and ordering but Shopify had a plugin that stored all the digital assets on AWS for $10/month.  Coupled with Shopify's low fees it was better to keep the whole system under Shopify.

Shopify also provides Channel/Sales buttons that you can place on blogs and websites.  They get pretty advance as shown below.

Problem:  Customers, originally we planed to sell each customise image for about the price of a cup of coffee ($5, £4).  The hard part was finding a way to get customers and convert them into paying customers.  Also as you generally only use 1 image their is no returning customer to offset the cost of acquisition.  Adwords proved nonviable, the cost of attracting customers was way in excess of  the return.  Also convincing people to input credit card made the  conversion rate even more difficult to make Adwords a viable option.

Summary:  Shopify is a great ecosystem and I have setup a couple of stores using it now.  It is fast, customisable, well thought out, great for a new starter.  It has tons of plug-ins, lots of free and purchasable themes/templates.  There is a lot of documentation, and a lot of expertise to help out.  We used Fiver for some scaling on my theme as i couldn't get the scaling 100%, easy to find and they person helped me right out.  In the end, a good experience, Shopify is awesome and easy.    

Friday 12 February 2021

APIM debugging, tracing, monitoring tricks and tips

Debugging APIM requests from Visual Studio code 

Has an extension for debugging APIM.

Azure API Management - Visual Studio Marketplace


It's also useful to have a APIM requesting/client extension installed

Tracing APIM

To get a full trace add the HTTP header "Ocp-Apim-Trace: true" to the request and the response shall contain a URL to retrieve the trace information.




App Insights for APIM
Logs in three places:
  1. Incoming requests (come into APIM)
  2. Dependency request (go to backend/outgoing)
  3. if an exception occurs it is also logged in App Insights
So logging can be set at either the global or API level.
Setup in APIM > Monitoring > Application Insights (link APIM to the App insights Logger).

Documentation Tips

Ensure you fill in relevant descriptions and summaries.  It's also key to provide examples.  

https://swagger.io/docs/specification/adding-examples/

My Technical Working Notes for Microsoft Technology: APIM OpenAPI Specification Documentation Example within the Developer Portal (pbeck.co.uk)

APIM documentation updates on the Developer portal (after re-publishing).  It has a great UI, but ensure the summaries are added for param/attributes to get a truly rich integration set of documentation (it will save so many questions and time).   I also like to add a getting started guide, keep it short and simple and most importantly have a simple explanation of security/authentication and connectivity.

- in: query
  name: age
    schema:
      type: integer
      maximum: 3
    examples:       # Multiple examples
      max: # Distinct name
        value: 3   # Example value
        summary: The age is dependent on dob, min is 0, can't be negative