{"id":46727,"date":"2020-04-20T09:09:26","date_gmt":"2020-04-20T16:09:26","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/xamarin\/?p=46727"},"modified":"2020-04-20T08:51:21","modified_gmt":"2020-04-20T15:51:21","slug":"cognitive-services-xamarin-challenge","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/xamarin\/cognitive-services-xamarin-challenge\/","title":{"rendered":"The Cognitive Services + Xamarin Combo Challenge!"},"content":{"rendered":"<p>Summer is almost here! (Well, for those of us in the Northern Hemisphere anyway.) And while summer usually means it is time to travel and see the world, most of us are stuck inside right now. However, not to worry &#8211; our good friend <a href=\"https:\/\/twitter.com\/jfversluis\" target=\"_blank\" rel=\"noopener noreferrer\">Gerald Versluis<\/a> has a way to, not only help pass the time, it will also help explore you the world once you can go outside. Additionally, you can get some cool Xamarin swag along the way. That&#8217;s right, it is challenge time! This time the Cognitive Services + Xamarin Combo Challenge!<\/p>\n<p>Let us see what Gerald has to say about it:<\/p>\n<p><center><iframe src=\"\/\/www.youtube.com\/embed\/_Wv-STJkN3c\" width=\"700\" height=\"394\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/center><\/p>\n<h2>The Cognitive Services + Xamarin Combo Challenge<\/h2>\n<p>Combine some Azure Cognitive Services in the most crazy ways &#8211; and pop in some additional Xamarin goodness by <strong>April 30th<\/strong>, and get some amazing Xamarin swag! <\/p>\n<h2>Travel Monkey<\/h2>\n<p>Here is what the app looks like. We think it is a GREAT looking app (because Gerald wrote the whole thing \ud83e\udd23)!<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/xamarin\/wp-content\/uploads\/sites\/44\/2020\/04\/TravelMonkey.gif\"><img decoding=\"async\" class=\"aligncenter wp-image-47020\" src=\"https:\/\/devblogs.microsoft.com\/xamarin\/wp-content\/uploads\/sites\/44\/2020\/04\/TravelMonkey.gif\" alt=\"TravelMonkey app running using Cognitive Services\" width=\"321\" height=\"700\" \/><\/a><\/p>\n<p>This app does a couple of amazing things:<\/p>\n<h3>Azure Cognitive Services<\/h3>\n<p>It uses <a href=\"https:\/\/docs.microsoft.com\/azure\/cognitive-services\/translator\/?WT.mc_id=aiapril-xamblog-masoucou\" target=\"_blank\" rel=\"noopener noreferrer\">Cognitive Service&#8217;s Language Translation<\/a> to translate a phrase in one language into several different other languages. (Go ahead, enter the phrase in any language you would like!). You will never be at a loss for words in a foreign land again.<\/p>\n<p>It also identifies whatever is in an image that you upload via <a href=\"https:\/\/docs.microsoft.com\/azure\/cognitive-services\/computer-vision\/home?WT.mc_id=aiapril-xamblog-masoucou\" target=\"_blank\" rel=\"noopener noreferrer\">Cognitive Service&#8217;s Computer Vision<\/a>. It also changes the background gradient based on the uploaded image&#8217;s color profile!<\/p>\n<p>There is also a sneaky Cognitive Service in there as well. <\/p>\n<p>The images displayed as the recommended destination background &#8211; those are downloaded via <a href=\"https:\/\/docs.microsoft.com\/azure\/cognitive-services\/bing-web-search\/?WT.mc_id=aiapril-xamblog-masoucou\" target=\"_blank\" rel=\"noopener noreferrer\">Bing Search<\/a>. Enter in the city name, tell it an overall color you want the image to be &#8211; and behold, you have an image.<\/p>\n<h3>The Xamarin.Forms App<\/h3>\n<p>Don&#8217;t pack this app in your suitcase because it is something to behold. There is an amazing splash screen &#8211; WITH ANIMATION!<\/p>\n<p>It makes use of <a href=\"https:\/\/docs.microsoft.com\/xamarin\/xamarin-forms\/xaml\/xaml-basics\/essential-xaml-syntax?WT.mc_id=aiapril-xamblog-masoucou#platform-differences-with-onplatform\" target=\"_blank\" rel=\"noopener noreferrer\">OnPlatform<\/a>. This tailors the UI for each platform perfectly. Then, when the OnPlatform doesn&#8217;t quite cut it, <a href=\"https:\/\/docs.microsoft.com\/xamarin\/xamarin-forms\/app-fundamentals\/effects\/?WT.mc_id=aiapril-xamblog-masoucou\" target=\"_blank\" rel=\"noopener noreferrer\">Effects<\/a> are used to tweak the UI down even more. It does this without using the dreaded Custom Renderers.<\/p>\n<p>It helps make implementation of MVVM really straightforward. And since it is the golden age of community user interface contributions, there are ample options available. Such as <a href=\"https:\/\/github.com\/aritchie\/userdialogs\" target=\"_blank\" rel=\"noopener noreferrer\">UserDialogs<\/a>, <a href=\"https:\/\/github.com\/sthewissen\/Xamarin.Forms.PancakeView\" target=\"_blank\" rel=\"noopener noreferrer\">PancakeView<\/a>, even the venerable <a href=\"https:\/\/github.com\/jamesmontemagno\/MediaPlugin\" target=\"_blank\" rel=\"noopener noreferrer\">MediaPlugin<\/a>.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/xamarin\/wp-content\/uploads\/sites\/44\/2020\/04\/TravelMonkey.png\"><img decoding=\"async\" class=\"aligncenter wp-image-47023\" src=\"https:\/\/devblogs.microsoft.com\/xamarin\/wp-content\/uploads\/sites\/44\/2020\/04\/TravelMonkey.png\" alt=\"TravelMonkey mascot for Cognitive Services Challenge\" width=\"327\" height=\"400\" srcset=\"https:\/\/devblogs.microsoft.com\/xamarin\/wp-content\/uploads\/sites\/44\/2020\/04\/TravelMonkey.png 406w, https:\/\/devblogs.microsoft.com\/xamarin\/wp-content\/uploads\/sites\/44\/2020\/04\/TravelMonkey-245x300.png 245w\" sizes=\"(max-width: 327px) 100vw, 327px\" \/><\/a><\/p>\n<p>Discover how a Xamarin.Forms app should be made by completing this challenge.<\/p>\n<h2>The Challenge<\/h2>\n<p>Instructions:<\/p>\n<ul>\n<li>Visit the <a href=\"https:\/\/github.com\/jfversluis\/TravelMonkey\" target=\"_blank\" rel=\"noopener noreferrer\">TravelMonkey repo<\/a> and fork\/clone it.<\/li>\n<li>Extend the app in some way. The more elaborate the better!<\/li>\n<li>Open a pull request on the original repo with the following:\n<ul>\n<li>How you extended the app, including screenshots.<\/li>\n<li>Your thoughts on the Azure Cognitive Services and Xamarin.Forms elements you extended.<\/li>\n<li>What went well and what did not.<\/li>\n<li>Final date of submission: <strong>April 30, 2020 11:59 PM PDT<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>Get Sweet Xamarin Swag!<\/h3>\n<p><strong>Everyone<\/strong> who participates can apply for some swag. Everyone will receive Xamarin stickers, but <strong>only 10 entries will be chosen at random<\/strong> to receive a $25 gift card to the <a href=\"https:\/\/stores.kotisdesign.com\/dotnetfoundation\" target=\"_blank\" rel=\"noopener noreferrer\">.NET Foundation Store<\/a>. The store is packed with Xamarin t-shirts, monkeys, and stickers.<\/p>\n<h3>What Can You Add Or Extend?<\/h3>\n<p>Some examples might be:<\/p>\n<ul>\n<li>Detect faces in pictures and\/or detect emotion in said faces with <a href=\"https:\/\/docs.microsoft.com\/azure\/cognitive-services\/Face\/overview?WT.mc_id=aiapril-xamblog-masoucou\" target=\"_blank\" rel=\"noopener noreferrer\">Cognitive Services Face<\/a>.<\/li>\n<li>See if the person speaking in a foreign tongue likes you by detecting the sentiment in the translation <a href=\"https:\/\/docs.microsoft.com\/azure\/cognitive-services\/text-analytics\/how-tos\/text-analytics-how-to-sentiment-analysis?WT.mc_id=aiapril-xamblog-masoucou\" target=\"_blank\" rel=\"noopener noreferrer\">Text Analytics &#8211; Sentiment Analysis<\/a>.<\/li>\n<li>Recognize your travel receipts with <a href=\"https:\/\/docs.microsoft.com\/azure\/cognitive-services\/form-recognizer\/overview?WT.mc_id=aiapril-xamblog-masoucou\" target=\"_blank\" rel=\"noopener noreferrer\">Form Recognizer<\/a>.<\/li>\n<li>Abstract the services into an <a href=\"https:\/\/docs.microsoft.com\/azure\/azure-functions\/functions-overview?WT.mc_id=aiapril-xamblog-masoucou\" target=\"_blank\" rel=\"noopener noreferrer\">Azure Function<\/a>.<\/li>\n<li>Improve design or redesign with <a href=\"https:\/\/docs.microsoft.com\/xamarin\/xamarin-forms\/app-fundamentals\/shell\/?WT.mc_id=aiapril-xamblog-masoucou\" target=\"_blank\" rel=\"noopener noreferrer\">Shell<\/a>.<\/li>\n<li>Add a detail screen to be able to reopen the pictures or save previous translation results.<\/li>\n<li>[<strong>TIP<\/strong>: the crazier the better!]<\/li>\n<\/ul>\n<p>The world is your oyster &#8211; Make it fun! Make it happen!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Cognitive Services + Xamarin Combo Challenge: Combine some Azure Cognitive Services in the most crazy ways \u2013 and pop in some additional Xamarin goodness by April 30 to get some amazing Xamarin swag!<\/p>\n","protected":false},"author":569,"featured_media":47058,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[867,7081,928,7394,6910,27,6690],"class_list":["post-46727","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-xamarin","tag-azure","tag-challenge","tag-cognitive-services","tag-community-challenge","tag-swag","tag-xamarin","tag-xamarin-challenge"],"acf":[],"blog_post_summary":"<p>The Cognitive Services + Xamarin Combo Challenge: Combine some Azure Cognitive Services in the most crazy ways \u2013 and pop in some additional Xamarin goodness by April 30 to get some amazing Xamarin swag!<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/posts\/46727","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/users\/569"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/comments?post=46727"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/posts\/46727\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/media\/47058"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/media?parent=46727"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/categories?post=46727"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/tags?post=46727"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}