PSC Tech Talk: AI in Action – Azure Cognitive Language Services

In this short but interesting presentation Mark Roden and Jalal Benali talked about how they had used Azure Cognitive Language Services (Translation API) to elegantly solve a client’s need to have their intranet available in multiple languages across multiple territories.

Background

One of PSC’s clients has sites in multiple countries and as part of their intranet consolidation they wanted to provide a manner by which their corporate messages could be translated for the various countries/languages. The intranet was hosted on DotNetNuke CMS system and needed to be configurable, flexible and above all easy to use for the business. The business had looked at publicly available services like Google translate, but determined that on a private intranet site, they did not want any corporate information being taken outside of their control.

Azure Cognitive Language Services Translation API was selected as the solution because it is secure, private, easy to use and surprisingly flexible when it comes to converting web based content.

Solution

PSC created a custom module for DotNetNuke (DNN) which allowed content managers to create translated versions of the data at the click of a button. The solution was tied into the out of the box language capabilities of DNN whereby the languages available to the user for translation were those enabled in the DNN core configuration. In this manner if a new site, in a new country was purchased, the administrators need only turn on the new language for it to become available.

Because the Azure translations need to be reviewed for accuracy by a local admin in-country, PSC created the ability to have the new message held back for administrative approval. Once approved it is then published on the appropriate language version of the intranet.

Once the translations were created the global administrators would be able to monitor which ones were then subsequently modified by the local content manager. In this manner content corrections from the original English would not necessarily be translated and overwritten onto the newly corrected translated versions.

Limitations

  • The number of characters which can be translated at any one time is 10,000
  • No automated translation will be perfect, but for normal conversational English we found it to be better than we expected. For technical documentation the results were not as successful.
  • Some languages were better than others on the accuracy when they were reviewed by the testing teams in-country

Pricing

Depending on which service you use and usage, the pricing varies from free to $4.50 per million characters translated (as of May 2018).

Retention of HTML formatting

One surprising, significant, benefit of using the Translation API what that when fed an HTML string, the HTML tags were ignored. This meant that the formatting of the translation returned was identical to the original. While this does increase the size and number of characters translated, this would not approach the limits necessary for this effort.

Conclusion

The solution PSC implemented allowed the client to securely translate sections of their intranet and then manage the translated pages once they were published. Overall our experience with the Translation API was a very good one. We found it very easy to set up and simple the implement.

Advertisements

Cookies that cause Error 400 Bad Request when accessing Microsoft websites

For those people who interact with many sites across the *.Microsoft.com domain this may be an issue. I was looking for an update on Office Add-Ins and I came across this issue.

If you see a 400 Bad Request Size of a header exceeds the limit error, for no good apparent reason, that cause is likely cookies.

The following image was taken from just trying to access the Microsoft 365 Blog site. As you can see there are a LOT of cookies picked up from all over the MS domain.

The simple solution, clear your cookies. This process will vary per browser but once that is done, we are in business again.

 

NOTE

Microsoft is not the only company with this issue as I wrote about before 🙂

Office Add-ins community call

“The Office Add-ins community call is our quarterly event for developers to connect in real-time with the folks who are building the Office Add-ins platform and JavaScript APIs.”

The fact that we have a general office Add-in community call now is fantastic and shows how significant the community is to the product group.

The call was blogged and posted here: https://dev.office.com/blogs/office-add-ins-community-call-april-11-2018

The next Office Add-ins community call will be on Wednesday, July 11, 2018. You can download a recurring quarterly calendar invite at https://aka.ms/officeaddinscommunitycall.

 

Problems with Miracast? Could be a display adapter driver…….Solved

We use Miracast in the office to connect to the Tvs in the conference rooms. I used it for months without issue and then a few weeks ago it stopeed working for no good reason.

The display would say I was actually connected – and it would not come up on the TV. Eventually it would just die and tell me I had a problem.

After a considerable amount of trial and error it turned out to be the intel display adapter driver….ok then. Figured I should share.

  • Right click on the desktop
  • Display settings
  • Find display adapter properties

 

  • Properties
  • Update Driver

 

And after that and a reboot – Miracast back and working !!!

 

 

Create custom functions in Excel

As of MS Build 2018 custom functions in Excel are available for all developers to use and implement.

https://dev.office.com/blogs/azure-machine-learning-javascript-custom-functions-and-power-bi-custom-visuals-further-expand-developers-capabilities-with-excel

For more information on how to create a custom function in Excel using the JavaScript Add-In model check out this link.

https://aka.ms/customfunctions

“Custom functions (similar to user-defined functions, or UDFs), enable developers to add any JavaScript function to Excel using an add-in. Users can then access custom functions like any other native function in Excel (such as =SUM()).”

This is actually a huge deal because one of the limitations of the Add-In model in the past is this ability to create a custom function without having to add it to the tool bar as an icon which has to be clicked. With this release it means that develoipers can create their own functions in excel in an analogous manner to VBA. The simple example below adds the two numbers and for no good reason adds 42 as well. But you get the idea.

custom functions

 

 

 

Outlook Add-ins community call

Back in March the Outlook Add-In development community had it’s quarterly meeting. The notes from the meeting were blogged and released here: https://dev.office.com/blogs/outlook-community-call-march-21-2018.

These calls are really helpful to spread the new on the progress being made in the Outlook Add-In area. Some really interesting points of notes at this call were the upcoming preview requirements for API 1.6

https://dev.office.com/reference/add-ins/outlook/preview/index?product=outlook&version=preview

I have a particular selfish interest in the “Office.context.auth.getAccessTokenAsync – Added access to getAccessTokenAsync, which allows add-ins to get an access token for the Microsoft Graph API.”

I think I am going to play with that 🙂

Next call will be at 8:00AM PST on June 20, 2018. https://aka.ms/outlookcommunitycall

PSC Tech Talk: Change Management

“It’s all in the way we listen”. It’s the PSC motto and especially relevant when it comes to helping clients migrate platforms. With our knowledge and experience we’ve seen that technology is often not the problem in our projects, it is people. Humans are masters at making systems serve our needs, but in general people don’t change quite so easily.

In this light hearted presentation with a serious message, one of our most experienced consultants, John Bigenwald (@john_bigenwald), talked about how he approaches change management when helping client migrate platforms. While this is not “Technology Talk”, it is something we do every day at PSC and relevant to every technology project we do.

Tech is easy – People are hard

Not to minimize how hard developers have it, but code can be refactored and changed without having to hurt it’s feelings or years long emotional attachment to the application.

Why do project fail?

Based on research done by a French company, of their own internal projects:

  • 11% of large projects fail because of quality
  • 39% of projects fail due to a lack of planning resources and activities
  • 57% of projects fail due to “breakdown in communications”

The problems are with “soft skills” and not “hard skills”. Staying in contact with the program mangers as we are going through a project is critical and essential to its success. Communicating with the users not only buys us good will, but gives us better insight into how they work. During this time we also uncover many issues which, left unaddressed, could cause the failure of the project.

Lewin’s Change Management Model

No one starts a project intending to fail. There are three stages to Lewin’s Change Management Model:

  • Unfreeze
  • Change
  • Freeze

In a survey 75% of the project managers expected that there would be some form of failure in their IT projects. It is the expectation from the outset based on history and experience telling them not to expect success. Even 15 years ago, The Harvard Business Review stated in an article that:

“Managers expect to be able to plan for all
variables in advance, but they can’t.
Nobody is that smart or has a crystal ball that clear….”

Unfreeze is the key to the change

How you prepare the organization for change will be the driving force behind the whole process. You have to create a sense of urgency, build coalitions and create a vision for change.

  • Preparing the organization to accept the necessity and/or desirability of a change. It involves breaking down the existing status quo before you can build up a new way of operating. You need to develop a compelling message showing why the existing way of doing things cannot continue.

John then went on to draw an analogy between “change management experts” on tv and real life.

In the “Property Brothers” on HTGV they work with people buying a new house and renovate it. As they walk through the show there are issues uncovered and they all need to be handled within budget. The news is not always good and pleasant to have to deal with, but the home owner has to determine what is most important for them to have implemented to call the project a success. They never know what’s going to be behind a wall at the start of a project.

In “The Walking Dead” tv show people are living in a post-apocalyptic world where they have to survive by using their experience and wits to avoid becoming one of the hordes.

There is a point to this….I assure you 🙂

Creating Urgency

The status quo is unfrozen only by creating a sense of urgency. Stalling and slowing the process is not only a high risk, but gives people who want to be obstacles, leverage to not change.

In the Walking Dead a zombie horde in the camp really creates a sense of urgency. But that urgency is driven by fear, which often leads to bad decisions. A poorly thought through decision causes someone to do something unexpected which puts the whole group at risk.

In the Property Brothers they create urgency by painting a vision of the future. This provides the impetus for change. Besides designing and building a new home, an integral part of the brother’s job is to paint of vision of the future. This allows the client to better handle the unplanned nightmare behind the wall. The overall goal is the overall goal and that which is in front of us right now is only an obstacle on the way to the goal.

So how do we create urgency? Hire some zombies to crash the office?? No…..

Urgency is created by a desire to achieve a vision. The greater the vision, the better the promised future, the greater the urgency to reach that future. Losing a ton of money in a certain area, does not necessarily sway the budget lines for the overall plan. This is only one example but the thought process is the same. Without a sense of why this needs to be done now, why is it important enough to move to the front of the queue? Without a sense of why a change will improve the program, your job, your life, there is no urgency to make the change – inertia will win.

Building coalitions

As projects evolve your change agents can switch and they aren’t always the people you think they will be. In the Walking Dead the group’s leader was a former deputy. Others in leadership are a housewife and a survivalist loner. You would not have chosen them as a team to start with but they need to work together for survival. Over time people are lost from the group and new members join as needs change. In the same manner, hidden structure, long term friendships and who is impacted by the change can drive the dynamics of the coalition.

Create a vision for change

Going to the Walking Dead again……they are always talking about a better life, it drives them forward. They don’t talk about how one direction has fewer zombies over there, they talk about the better life when they get there.

In Property Brothers they do not talk about the size of the house, they talk about entertaining, having dinner with the kids and how that will give you a better life.

Unless you have a clearly defined vision for where we are going, and some people to help you get there, and a sense of urgency to do it….. your chances of failure are higher.

Big thinking precedes great achievement

– Wilfred Peterson

Conclusion

Understand what is driving the change. Use that knowledge to paint a vision of the future. Logic drives technology; Emotion drives people.