Possible to change the size of rendered cards? - botframework

is it possible to change the size of these cards in Skype or any other messaging platform available via the Microsoft Bot Framework?
As you can see the text is cut off which is problematic, since it doesn't seem like it's possible to expand the card in the Skype UI.

As Ed said, you would have to modify the card's code itself. The cards are rendered differently depending on the channel you view them through. There is a slightly outdated channel inspector here that shows how the different card types are rendered on each channel, if they render at all (for example, adaptive cards do not work well, if at all, on Skype, and Lists look dumb on Facebook).

Related

Adaptive dialogs with Bot framework skills sample

Based on this Release Notes it looks like Skills have been updated to work with adaptive dialogs, and both adaptive and traditional dialogs will now accept all types of activities.
Is there any example code to see how to use Adaptive dialogs in Bf skills for node? I didn't find in samples
You should use the BeginSkill action. There is a document here that shows you how to do this in Composer.

Customize default message behavior in MS Teams

Overview:
Before I go too deep into the documentation, I wanted to ask a few basic questions.
My goal of all this is to customize the default message notifications, which appear in the lower right hand corner of the screen, specifically when chatting in MS Teams. Note I am interested only in Windows, not mobile.
Use case:
I send the GitHub Bot a bogus chat message, just to show a notification coming in for demonstration purposes:
This notification will disappear after some predetermined amount of time (around ~15s, at least on my machine)
Question(s):
Would it be possible to create a message extension of sorts, which wraps the default messaging behavior?
For example, I would want to:
Let the notification sit in the lower right hand corner until acted
upon, rather than have it disappear. Or, is this the behavior of the
OS, rather than Teams?
Change the color, and format of the message. Effectively, intercept
the message, and display it in different format, font, color, icon
etc.
I only see notifications in the lower right hand corner, if and only
if Teams is minimized, or out of view. Would it be possible, if
intercepted, to display the notification, regardless if Teams has
focus, and is in the foreground. For example, if I am in Teams, and
a notification appears (say someone sends me a message), the ‘Chat’
icon in the upper left hand corner will display an alert. I would
like to also have the notification appear in the lower right hand
corner of the screen.
Lastly, say for example Teams is in the foreground, and you receive
a notification. By default, the Teams icon in the toolbar will
flicker and update the badge number on the icon. Is there any way
for a developer to update the icon, or possibly draw additional
attention to the icon, aside from the red badge.
Note that these are all things I would like to do from a personal standpoint. The odds of another developer wanting these sort of changes are slim to none, which is why I would like to build something myself, opposed to a file feature request.
Of course, anything is possible, but I don’t want to hack something together that will break in a week. I’d rather see if I can build upon whatever API’s are out there to do this sort of thing.
Note that I'm not looking for a solution, but rather a brief yes or no for the questions above, and possibly a pointer to specific documentation that could aid in my investigation.
Thanks!
Just to circle back on this. I spoke to one of their support devs, who was extremely helpful.
I've summarized his response below for reference.
Note that the list below corresponds to the order of questions asked above:
It behaves as per OS. On Windows, notifications will show in the bottom right corner of your screen, then move to the
Action Center. On Mac OS, these show up in the top right corner of
your screen, then move to the Control Center.
You could change the notification text if you are sending it from a user app. But not all notification are shown from Teams. Font, color
and icon are displayed as per Teams theme and cannot be modified.
This is currently not possible. A Custom App inside a team has limited access (scope). For example if you have installed an app inside
a teams channel, then it has limited scope to send or receive
operations only inside that channel.
This is also not possible.
So in summary, in relation to the original posted question, it is not possible at this time to customize the default Message behavior in Teams.
Also, I was using the terms Message and Notification interchangeably, which is incorrect.
It would appear as though Notifications are really what the OS displays, and as such, defines it's default behavior. The application, in this case MS-Teams, controls the visual display characteristics of that Notification, for example color/font/icon, based on the UI theme of teams.
Conversely, Messages or Message Extensions, are quite different from Notifications.
Using Message Extension, the user can search, or initiate actions, in an external system from the compose message area, the command box, or directly from a message. You can then send the results of that interaction back to the Microsoft Teams client, typically in the form of a richly formatted card.

How to implement Search members functionality (Similar to Praise App) in Adaptive Card invoked via MS Team's Message Extension feature

I am working on MS-Team App which has features similar to Praise(Default app). This app will have "Message Extension" capability which will enable user to invoke it from bar/compose section and will show a wizard. The wizard is implemented through task/fetch-continue-submit workflow.
My question is that in Praise app, I can see a functionality of searching users and then adding it to a list(See attached image). I think that is built inside Adaptive Card but I don't see any such control/event in adaptive card to implement same thing. So how they have implemented it or there is something I am missing?
I don't think you can do this with adaptive cards and will need to make your own custom UI to display via a task module response.
Over at the adaptive cards feature portal, you can vote for this as a feature to add: Dynamic searchable select menu (like select2)
(I also would very much like to do this in an adaptive card from a messaging extension, so I'll be interested to hear if anyone else thinks there's a way to do it.)

Skype bot truncating display

I have a bot deployed on Skype. The problem is that Skype truncates long text and shows an ellipsis. Is there a way to avoid this and control size of card?
Update: I am using Skype desktop application on Windows 10
Every channel has their own limitations on cards. Skype specifically only allows a limited number of chars on a hero card for example(title, subtitle, and text). As of right now there is not a work around that I know of to either extend the length of the text and/or the size of the card.

How does one correctly identify IE10 Metro and IE10 Desktop from the server in order to send back a "finger friendly" or "mouse friendly" interface?

I've read that since user agent is the same between both, the recommend method is to use feature detection. That is fine and good for some situations, where you may want to display a Flash video/movie/app vs. a javascript slideshow, but my issue is to display a correct interface based on the user's input device.
The assumption I'm making is that if a user is in the "Metro" IE10 they are probably expecting to use their fingers instead of a mouse. That being the case, I'd like to give them an interface with large hit boxes.
My question: Is there a way to tell the difference and display an appropriate interface? Or am I stuck with making the user manually switch modes via links on my site that set a cookie?
Still there's no way to detect normal IE from the crippled Metro IE, but know you can know at the server if the user has a touch screen http://blogs.msdn.com/b/ie/archive/2012/07/12/ie10-user-agent-string-update.aspx
That post includes other comments about how to perform detection in javascript.
If you use the msPointerPoint interfaces, your client will receive the same messages whether they're using the mouse or touch. You can also use the gestures api - there was just a blog post on the IE blog which discusses how to use gestures from the mouse browser.
IE exposes a unified stack for messages so you can use the same input processing and your UI will work whether you're using touch/pen or mouse.

Resources