Monday, September 11, 2017

Thoughts on Impact to Communications with Disasters like Hurricane Harvey

Hurricane Harvey has been on my mind lately. The devastation is simply unimaginable. Peoples lives have been thrown into chaos and its going to be a very long time to get some normalcy. One of the things that I dwell on is something near and dear to me... Communications.

I've been thinking about all the businesses that have been flooded. All the buildings that won't be fit to have people in them until they get cleaned up. Even once those buildings are cleaned up, all those PBXs and phones that have been rendered useless will make communications impossible. Even when the local telco restores service, there won't be anything that can communicate at the end of the wire.

There is a big problem that I don't think has been realized yet. Some of these phone systems can't be repaired. The manufacturer may not exist anymore or has been merged with another company and the products have been discontinued. Even if there is the ability to repair the equipment, it won't be available for a long time because of such high demand. What if the business decides to replace the equipment with a new PBX, same problem, it won't be available.

This is one of those instances where cloud communications can really save the day. No this isn't about giving lip service to the latest trend in computing. The cloud can really be beneficial in helping businesses get back on their feet.

One of cloud based communications hallmarks is that it isn't dependent on location like a traditional PBX is. How are businesses supposed to communicate when they can't get physical access to buildings? Many, quite possibly, might be condemned and have to be torn down. What happens when the business needs to physically move? How long will it take to re-establish in the new location and how long before communications can be restored. Cloud based communications can help during that time period where access to physical location is impossible, users can work from anywhere and at anytime. 

Let me tell you about some Kudos that Time2Market has been getting with people impacted by Hurricane Harvey. I'm excited about this because we have been hard at work building out a Cloud offering and now we are starting to see the fruits of our labor. 

I just read about where one of Time2Market's Cloud Complete customers in Houston sent in kudos for how one of our engineers went above and beyond in helping them change their call handling several times this week based on all the calls they were getting from clients in the Houston area. Not only did our cloud give them the flexibility to adjust to their business needs in a very short amount of time, we had the engineering talent that understood their needs and helped them achieve it. 

But wait, that's not all... Earlier this week I was also told a story from our VP of Sales about a customer with many offices Nationwide that was already using Time2Market Cloud Complete for their business communications when Hurricane Harvey hit. Short story is that their office in Houston had water in it, but all the employees simply started working from home and the business didn't skip a beat.

Just take a moment and let that sink in.

This is the promise of Unified Communications actually realized. The ability to work anytime and from anywhere. How powerful is that?

These are two examples of how Time2Market Cloud Complete is helping make a difference to businesses day in and day out through providing full Skype for Business functionality with Enterprise Voice and having the Engineers behind it to help make a difference in our customers communications when they need it most.

Time2Market Cloud Complete is prepared to help Hurricane Harvey victims with special pricing and methodology to help you best get your communications back up and running. If your business is in desperate need of help, please do not hesitate to reach out. We have a number of engineers in the Houston area ready to help.

Thursday, September 7, 2017

How to use Microsoft Teams for Microsoft Ignite

As soon as I found out I was headed to Microsoft Ignite, I went into prep mode. I started my usual blog post on tips and tricks. Then I started to think about how I could coordinate two other engineers, while at the conference and share information with others back at Time2Market. Then it dawned on me that Microsoft Teams is the perfect tool for the job.

This blog post is a combination of all the things I thought would be useful. As I find more things to do with Teams, I'll try to update the blog. Some of it is pulling together lots of different resources into one interface, but I also thought of some ways that it could be used that will be really beneficial for covering the conference and sharing of information. All of it, I have tested with the mobile client and it works well.

To get started, I highly recommend creating a dedicated Team for Microsoft Ignite. This way you can control who has access and who doesn't have access just for this tasks. If your team goes to conferences on a regular basis, you might consider making the name more generic.

Down in the lower left of the Teams client, Click "Add team"

You'll see an option to "Create a team" appear. Click "Create a team"

Give your team a name, I used "Microsoft Ignite" and set the Privacy appropriately. Then Click "Next"

 If you want you can add members to the Team immediately. But if you want to take some time to setup the area before inviting people, Click "Skip"

 That's it... You've created your Team! Now on to how to make it really work for you...

The Easy Stuff

You'll notice that when you create your team there will be a Conversation, Files and Wiki area already created for you. I suggest deleting the Wiki area, because it doesn't work well with Mobile clients and Mobile clients are crucial for Microsoft Ignite. 

For the files area, I decided to use it to organize whatever files we needed for reference. The other Engineers and I are all staying at the same Airbnb. So, I put all the reservation info in PDF form and placed in the Airbnb directory. I also downloaded the floor plans document from Orange County Convention Center and placed those in the Convention Center info directory. Lastly, any interesting Ignite photos any of us take, they can be uploaded into the photo directory. You can of course create any directories that make sense for you and your team.

Next, I suggest you add a OneNote tab. To do so, click the "+" at the end of the tabs area. An add tab dialog will appear. Select OneNote,

Give the OneNote a name and then Click "Save"

You can see in my example below, I've created several pages in the OneNote. The page displayed is something I dreamed up because I always get requests to ask vendors certain questions and track down information while at the conference. I thought this would be a great way to capture that and have it handy when I'm talking to someone from that vendor. The next page is a general To Do page. Teams does have a separate To Do tab you can add, but alas it doesn't work well in Mobile clients.Finally, the last page, is an example of a page that can be created to take notes for a specific session.

The Website Tabs

Twitter PowerBI

Next, we are going to add a really awesome PowerBI app created by tyGraph for viewing the twitter-verse through the #MSIgnite hashtag. I plan to use this to keep track of how much more I need to do to catch Matt Landis on sharing info on Twitter:-) . Anyway... Click on the "+" at the end again to create a tab and this time select "Website"

Give the tab a name, I suggest "Ignite Twitter PowerBI". Next you'll need to provide this URL and then Click "Save"

When created this is what the tab will look like. Take special note that the bottom there are several pages that display twitter information in different ways.

#MSIgnite Twitter Search

Now, let's add a tab that does a Twitter search for the #MSIgnite  hashtag. Click on the "+" again and click "Website"

Again, you'll need to name the tab. I suggest "#msignite Twitter". Then provide this URL and then Click "Save"

When the tab is created it will look like this. The URL will default to "Latest" tweets. But as you can see there are other options for how to view the #msignite hashtag from the twitter search.

Session Browser PowerBI

Again, tyGraph really outdid themselves and they created a PowerBI app that makes browsing sessions so much easier. There are so many different ways to slice and dice the sessions it isn't funny. To add this tab, once again click the "+" at the end of the tab area and Select Website.

I think you are a pro at this by now, but give it a cool name like "Session Browser PowerBI". Next use this URL and click Save

When the tab is created it should look like this. Again please note the multiple pages at the bottom.

Convention Center Floor Plans

I'm not sure if we will get great maps of the Convention Center in the Microsoft Ignite mobile app, so I decided to add a tab that points to the Orange County Concvention Center Floor plans in PDF format. This is the same file that I put into the "Files" area, but the website has a nice web viewer for the PDF that works well in Microsoft Teams and as an added benefit I can reference a specific page. To add this tab, once again click the "+" at the end of the tab area and Select Website.

Give the tab a name like "Convention Center Floor Plans". Then provide this URL and Click "Save"

When the tab is created it should look like this. Please note the navigation arrows to the side to change pages.

The Advanced Stuff

I've been playing with Microsoft Flow and how to use it with Microsoft Teams while at Ignite. I've done a couple other blog posts that cover how to put the Weather into the Conversation tab every morning and another one that searches for new news stories that match the terms "Microsoft Ignite 2017" or "Skype for Business" or "Microsoft Teams".

Wednesday, August 30, 2017

Using Microsoft Flow to Search Bing News and Post to Microsoft Teams

So continuing the theme of finding ways to use Microsoft Flow with Microsoft Teams for Microsoft Ignite, I've cooked up a flow that uses Azure Cognitive Services to Search Bing News for news related to Microsoft Ignite, Skype for Business or Microsoft Teams and then posts articles that match that criteria to a Microsoft Teams Channel.

One of the problems I had to solve is that by default, Microsoft Flow Bing News trigger for new news, triggers Azure Cognitive Services way too often! The plan I configured for Cognitive Services allowed 1000 hits a month and my original flow burned through that in less than a week. If I had a different plan that allowed overages, I quite possibly would have had quite a big bill. So, I set out to see if I could control how often my flow would look for new news. The secret was in using a somewhat hidden feature of timeout for a trigger.

Anyway... let me show you how to put all this together!

So before we do the flow, we need to create the Azure Cognitive Service for Bing Search.
Start by accessing the Azure Portal and click the "+" to create a new service. Then select AI + Cognitive Services and the click "Create" under Bing Search APIs

Give the service a name. I used "BingSearch" and then select the appropriate Subscription that you want to bill the service to. Under the Pricing Tier, I suggest that you select the $1 tier that limits you to 1000 calls per month. The other Tiers allow for overages, which if not planned for correctly could get costly. 

Next, I suggest creating a new Resource Group. As a rule I name my resource groups something similar to the service they are used with, in this case I named it "BingSearch-RG". Make sure the Resource Group is created in the data center you want and then Check the box for the confirmation of the notice. Lastly, Click the "Create" at the bottom.

 After the service is created, the Overview is displayed. From here you will want to click "Show access keys"

Two access keys will be displayed. Copy the first one into the clipboard and put it into notepad or somewhere else where you can reference it later.

So, now we start to build the Flow. Much like my first blog using Microsoft Flow, you'll need to access "My Flows" and then click "Create from blank"

Next click on "Search hundreds of connectors and triggers"

Click on "Schedule"

Then Click "Schedule - Recurrence" under Triggers

Configure the Recurrence trigger for every 4 hours. Then Click "New Step" and choose "Add an action"

Search for "bing" and select "Bing News"

Switch to Triggers and select "Bing Search - On new news article"

If you haven't setup Bing News before, Microsoft Flow will prompt you to setup a connection to Azure Cognitive Services for Bing Search. 

This is where that Access keys come into play. Give the connection a name. In my example below, I used the name "BingNews". Next provide that Access key you saved earlier and click "Create".

Specify the Search Query. In my example below, I use the Logical OR between specific search terms encapsulated in quotes. The result is that any new news article that contains "Microsoft Ignite 2017" or "Skype for Business" or "Microsoft Teams". 

To keep the Bing News search from going nuts making queries to Azure Cognitive Services, click the ellipses menu in the upper right of the Bing News step. Select "Settings"

In the dialog box that appears, configure the Time Duration to be PT10M. This will configure Bing News to timeout after 10 minutes of not finding new news. Combined with the Recurrence of every 4 hours, this means we will have 2 queries to Azure Cognitive Service every 4 hours. 

Click "Done" and then "New Step" and "Add an action"

Search for "teams" and select "Microsoft Teams"

Click on "Microsoft Teams - Post message"

Select the appropriate Team ID and Channel ID. Then specify the message. As you can see below I used a combination of HTML markups and dynamic content in the message. Click "Save Flow" when done

Your flow will run immediately. Since it will run for awhile, feel free to go to "My Flows" and check on it later.

When you click on the flow later you can see the run history. The only thing I don't like with how Microsoft Flow is with the Timeout feature is that when it isn't successful before the Timeout, the flow looks like it failed, when in fact it did exactly like it was configured. So before you freak out and start changing things, let it run for a day or two and see if it is successful.

That's it! Hopefully this inspires you to experiment with some other uses for Microsoft Flow, Azure Cognitive Services and/or Microsoft Teams.

Monday, August 21, 2017

Microsoft Ignite Weather to Microsoft Teams using Microsoft Flow

So I'm headed down to Microsoft Ignite along with a couple other guys from Time2Market. I've decided to setup a Microsoft Team to help us keep recorded, take notes, and share information with others at Time2Market that couldn't go to the conference.

So I decided to see what interesting things I could cook up in our use of Teams. I recently noticed that Microsoft Flow has had quite an update. One of those updates that I really like is that there is now a connector for Microsoft Teams. The connector is pretty basic right now, but it does allow you to post a message. So to start to play with Flow and Teams I decided to cook up a flow that posts the Weather forcast in our Microsoft Ignite Teams General channel.

First off, you need to gain access to Microsoft Flow. There is a free version, but it is limited in some of its features. Beyond that, it appears it is part of every Office 365 and Dynamics 365 plans.

Anyway, now that we got getting access to Microsoft Flow out of the way. Login and Navigate to "My Flows"

This is where you can see all the flows you've created. For the weather flow, there isn't a template that matches what we want to do, so we will need to "Create from Blank".

Microsoft provides some commonly used connectors, but for this flow we need to hit the link for 'Search hundreds of connectors and triggers"

On the search screen click on "Recurrence" and click Advanced Options. Then set the Frequency to "Day", the Interval to "1", Time Zone to "Eastern" and then "2017-08-19T08:00:00" for the Start time. Make sure you change the date to the current day.

Next click on "New Step"

Click "Add an Action" and then search for "Weather". Click on "Get Weather for today".

Set the Location to be "9800 International Dr, Orlando, FL 32819" for the Orange County Convention Center and set the Units to be appropriate for whether you are used to Imperial (US) or Metric (Practically everyone else)

Click "New Step"

Click "Add an Action"

Search for "Teams". Then click "Post Message". At this point you could select a number of places to send this message. You could send it to email, or a mobile notification. A great way to discover is to just scroll through the list of Actions available. 

Select your "Team" from your Microsoft Teams in your tenant. Then select the Channel, the default one created is "General". Finally format the message. You can see in my example I mixed in text along with the dynamic content tags. You can really go nuts and HTML tags to format things how you want.

When done click "Save Flow"

To test it out immediately click "Run Flow". Otherwise you'll have to wait til 8:00am Eastern for the flow to run. You can see in the Teams client behind flow what the message looks like

There you have it... hope this inspires you to explore what else you can do with Microsoft Flow and Microsoft Teams. Stay tuned to this blog for more flows as I dream them up.