{"id":40845,"date":"2022-06-07T00:22:35","date_gmt":"2022-06-07T07:22:35","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/premier-developer\/?p=40845"},"modified":"2022-06-02T12:11:19","modified_gmt":"2022-06-02T19:11:19","slug":"express-design-appdev-on-steroids","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/premier-developer\/express-design-appdev-on-steroids\/","title":{"rendered":"Express Design &#8211; AppDev on Steroids"},"content":{"rendered":"<p><a href=\"https:\/\/www.linkedin.com\/in\/tnaveed\/\" target=\"_blank\" rel=\"noopener\">Tahir Naveed<\/a> spotlights Express Design, a new way to quickly get started with\u00a0Power Apps by instantly transforming your visual design into an app.<\/p>\n<hr \/>\n<p>As soon as the <a href=\"https:\/\/powerapps.microsoft.com\/en-us\/blog\/new-express-design-in-power-apps-converts-images-and-designs-to-apps-in-seconds\/\">announcement of Express Design<\/a> came out on <a href=\"https:\/\/mybuild.microsoft.com\/\">Microsoft Build<\/a>, I wanted to get my hands dirty with it. Here is a quick tutorial on how it works.<\/p>\n<p><a href=\"https:\/\/docs.microsoft.com\/en-us\/power-apps\/maker\/canvas-apps\/express-design\">Express Design (Preview)<\/a> is a new way to quickly get started with Power Apps by instantly transforming your visual design into an app. App design can be in the form of paper forms, whiteboard sketches, or Figma files without the knowledge of the database or any programming language.<\/p>\n<p><img decoding=\"async\" width=\"1176\" height=\"356\" class=\"wp-image-40846\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/convert-figma-files-pdfs-paper-forms-and-hand-d.png\" alt=\"Convert Figma files, PDFs, paper forms, and hand drawn sketches into apps with express design in Power Apps.\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/convert-figma-files-pdfs-paper-forms-and-hand-d.png 1176w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/convert-figma-files-pdfs-paper-forms-and-hand-d-300x91.png 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/convert-figma-files-pdfs-paper-forms-and-hand-d-1024x310.png 1024w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/convert-figma-files-pdfs-paper-forms-and-hand-d-768x232.png 768w\" sizes=\"(max-width: 1176px) 100vw, 1176px\" \/><\/p>\n<p><strong>Design an app:<\/strong> I created the following prototype using sticky notes and took a picture. It doesn\u2019t get quicker &amp; dirtier than this. This feature requires PNG\/JPG\/JPEG image format (not iphone\u2019s HEIC) so I decided to crop it too while converting it in to PNG format.<\/p>\n<table>\n<tbody>\n<tr>\n<td><img decoding=\"async\" width=\"719\" height=\"959\" class=\"wp-image-40847\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/text-letter-description-automatically-generated.jpeg\" alt=\"Text, letter Description automatically generated\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/text-letter-description-automatically-generated.jpeg 719w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/text-letter-description-automatically-generated-225x300.jpeg 225w\" sizes=\"(max-width: 719px) 100vw, 719px\" \/><\/td>\n<td><img decoding=\"async\" width=\"713\" height=\"735\" class=\"wp-image-40848\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/a-picture-containing-text-whiteboard-description.png\" alt=\"A picture containing text, whiteboard Description automatically generated\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/a-picture-containing-text-whiteboard-description.png 713w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/a-picture-containing-text-whiteboard-description-291x300.png 291w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/a-picture-containing-text-whiteboard-description-24x24.png 24w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/a-picture-containing-text-whiteboard-description-48x48.png 48w\" sizes=\"(max-width: 713px) 100vw, 713px\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Launch <a href=\"https:\/\/make.preview.powerapps.com\/\">Power Platform Maker Portal<\/a> and you will see a new option of <strong>Image<\/strong> &amp; <strong>Figma<\/strong> on the home page to build an app. Select <strong>Image<\/strong> as our app design is in the form of a PNG image.<\/p>\n<p><strong><img decoding=\"async\" width=\"897\" height=\"586\" class=\"wp-image-40849\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/graphical-user-interface-application-description.png\" alt=\"Graphical user interface, application Description automatically generated\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/graphical-user-interface-application-description.png 897w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/graphical-user-interface-application-description-300x196.png 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/graphical-user-interface-application-description-768x502.png 768w\" sizes=\"(max-width: 897px) 100vw, 897px\" \/><\/strong><\/p>\n<p><strong>Step 1:<\/strong> <strong>Image<\/strong> screen &#8211; Give name of the app, provided the app design image.<\/p>\n<p><strong>Step 2<\/strong>: <strong>Components<\/strong> screen \u2013 Express Design\u2019s AI detected the labels, input boxes and buttons for the desired app as expected.<\/p>\n<p><img decoding=\"async\" width=\"1029\" height=\"706\" class=\"wp-image-40850\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/a-picture-containing-graphical-user-interface-des.png\" alt=\"A picture containing graphical user interface Description automatically generated\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/a-picture-containing-graphical-user-interface-des.png 1029w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/a-picture-containing-graphical-user-interface-des-300x206.png 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/a-picture-containing-graphical-user-interface-des-1024x703.png 1024w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/a-picture-containing-graphical-user-interface-des-768x527.png 768w\" sizes=\"(max-width: 1029px) 100vw, 1029px\" \/><\/p>\n<p>It missed the <strong>Age<\/strong> input box as I made it little smaller, so I decided to add it manually.<\/p>\n<p><img decoding=\"async\" width=\"333\" height=\"397\" class=\"wp-image-40851\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/graphical-user-interface-description-automaticall.png\" alt=\"Graphical user interface Description automatically generated\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/graphical-user-interface-description-automaticall.png 333w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/graphical-user-interface-description-automaticall-252x300.png 252w\" sizes=\"(max-width: 333px) 100vw, 333px\" \/><\/p>\n<p><strong>Step 3: Data<\/strong> screen &#8211; Leave <strong>Create a new table in Dataverse<\/strong> checked. It will allows the automatic table generation in the Dataverse.<\/p>\n<p><img decoding=\"async\" width=\"1030\" height=\"727\" class=\"wp-image-40852\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/graphical-user-interface-application-teams-desc.png\" alt=\"Graphical user interface, application, Teams Description automatically generated\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/graphical-user-interface-application-teams-desc.png 1030w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/graphical-user-interface-application-teams-desc-300x212.png 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/graphical-user-interface-application-teams-desc-1024x723.png 1024w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/graphical-user-interface-application-teams-desc-768x542.png 768w\" sizes=\"(max-width: 1030px) 100vw, 1030px\" \/><\/p>\n<p><strong>Step 4:<\/strong> <strong>Table <\/strong>screen &#8211; This screen maps your labels to the table column. You can change the datatype for your columns too as by default all the columns will be of type text. <strong>Age<\/strong> in my app should be a number column so I fixed it here.<\/p>\n<p><strong><img decoding=\"async\" width=\"1479\" height=\"799\" class=\"wp-image-40853\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/graphical-user-interface-application-description-1.png\" alt=\"Graphical user interface, application Description automatically generated\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/graphical-user-interface-application-description-1.png 1479w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/graphical-user-interface-application-description-1-300x162.png 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/graphical-user-interface-application-description-1-1024x553.png 1024w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/graphical-user-interface-application-description-1-768x415.png 768w\" sizes=\"(max-width: 1479px) 100vw, 1479px\" \/><\/strong><\/p>\n<p><strong>Step 5:<\/strong> <strong>Review<\/strong> screen &#8211; Review and hit <strong>Create<\/strong>. It will take a couple of minutes for AI to generate the app (HTML\/CSS\/JS) and table (in Datavserse) and integrate them.<\/p>\n<p><strong><img decoding=\"async\" width=\"678\" height=\"379\" class=\"wp-image-40854\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/graphical-user-interface-text-application-email.png\" alt=\"Graphical user interface, text, application, email Description automatically generated\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/graphical-user-interface-text-application-email.png 678w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/graphical-user-interface-text-application-email-300x168.png 300w\" sizes=\"(max-width: 678px) 100vw, 678px\" \/><\/strong><\/p>\n<p><strong>Result:<\/strong><\/p>\n<p>The final app and table looks like this:<\/p>\n<p><img decoding=\"async\" width=\"841\" height=\"841\" class=\"wp-image-40855\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/table-description-automatically-generated.png\" alt=\"Table Description automatically generated\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/table-description-automatically-generated.png 841w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/table-description-automatically-generated-300x300.png 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/table-description-automatically-generated-150x150.png 150w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/table-description-automatically-generated-768x768.png 768w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/table-description-automatically-generated-24x24.png 24w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/table-description-automatically-generated-48x48.png 48w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/table-description-automatically-generated-96x96.png 96w\" sizes=\"(max-width: 841px) 100vw, 841px\" \/><\/p>\n<p><img decoding=\"async\" width=\"1273\" height=\"268\" class=\"wp-image-40856\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/text-description-automatically-generated.png\" alt=\"Text Description automatically generated\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/text-description-automatically-generated.png 1273w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/text-description-automatically-generated-300x63.png 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/text-description-automatically-generated-1024x216.png 1024w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2022\/06\/text-description-automatically-generated-768x162.png 768w\" sizes=\"(max-width: 1273px) 100vw, 1273px\" \/><\/p>\n<p><strong>Conclusion:<\/strong><\/p>\n<p>Express Design has produced a working app with backend database table\u2026which works perfectly. What\u2019s really cool about this whole experience is that it took me less than 5 minutes from designing to development of this app, including the backend database table\u2026 and that too without writing a single line of code.<\/p>\n<p>This surely is a great feature for citizen developers and will also shorten the time for idea to execution for pro-developers.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tahir Naveed spotlights Express Design, a new way to quickly get started with\u00a0Power Apps by instantly transforming your visual design into an app. As soon as the announcement of Express Design came out on Microsoft Build, I wanted to get my hands dirty with it. Here is a quick tutorial on how it works. Express [&hellip;]<\/p>\n","protected":false},"author":582,"featured_media":40858,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[9923],"tags":[10631,10203,10621],"class_list":["post-40845","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-power-platform","tag-express-design","tag-power-apps","tag-tahir-naveed"],"acf":[],"blog_post_summary":"<p>Tahir Naveed spotlights Express Design, a new way to quickly get started with\u00a0Power Apps by instantly transforming your visual design into an app. As soon as the announcement of Express Design came out on Microsoft Build, I wanted to get my hands dirty with it. Here is a quick tutorial on how it works. Express [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/posts\/40845","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/users\/582"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/comments?post=40845"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/posts\/40845\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/media\/40858"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/media?parent=40845"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/categories?post=40845"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/tags?post=40845"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}