{"id":7876,"date":"2013-12-21T13:17:00","date_gmt":"2013-12-21T12:17:00","guid":{"rendered":"http:\/\/www.itwriting.com\/blog\/?p=7876"},"modified":"2013-12-21T13:17:00","modified_gmt":"2013-12-21T12:17:00","slug":"microsoft-project-siena-another-go-at-the-spirit-of-visual-basic","status":"publish","type":"post","link":"https:\/\/www.itwriting.com\/blog\/7876-microsoft-project-siena-another-go-at-the-spirit-of-visual-basic.html","title":{"rendered":"Microsoft Project Siena: another go at the spirit of Visual Basic"},"content":{"rendered":"<p>Remember Visual Basic? By which I mean, not the current language that is a case-insensitive alternative to C# that does much the same thing, but the original rapid app development tool that democratised Windows development back in 1991. At the time, Windows development was a sought-after skill but rather difficult. VB meant anyone could create an application; pros could build excellent ones, amateurs something ugly and unmaintainable, but nevertheless something that worked. The transition to .NET brought many benefits, but also more complexity. The latest evolution of the Windows client, the Windows Runtime, is also challenging to get right (I am currently writing a simple C# game on the platform).<\/p>\n<p>Microsoft has been looking for a new \u201cVB\u201d for years. 2007: Popfly (now abandoned). 2011: <a href=\"http:\/\/www.itwriting.com\/blog\/4139-hands-on-with-visual-studio-lightswitch-but-what-is-it-for.html\" target=\"_blank\">Lightswitch<\/a>. Now we have <a href=\"http:\/\/www.microsoft.com\/en-us\/projectsiena\/default.aspx\" target=\"_blank\">Project Siena<\/a>.<\/p>\n<p><a href=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2013\/12\/image1.png\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px\" border=\"0\" alt=\"image\" src=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2013\/12\/image_thumb1.png\" width=\"404\" height=\"229\" \/><\/a><\/p>\n<p>Siena is an app for building apps. An app is a Siena document with a .siena extension. Here is what Microsoft\u2019s Bryan Group <a href=\"http:\/\/blogs.msdn.com\/b\/bryang\/archive\/2013\/12\/20\/project-siena.aspx\" target=\"_blank\">says<\/a>:<\/p>\n<blockquote>\n<p>Microsoft Project Siena (code name) is the beta release of a new technology for business experts, business analysts, consultants, and other app imagineers. Now, without any programming, you can create powerful apps for the device-first and cloud-connected world, with the potential to transform today\u2019s business processes.<\/p>\n<p>Building Siena apps is as easy as editing a document. Place some visuals on a canvas. Hook them up to your data. Customize how your app looks and works. Then, if you need special logic and intelligence, write Excel-like expressions. You can use your app immediately, or share it with colleagues or the world.<\/p>\n<\/blockquote>\n<p>This sounds great to me. I installed it and set about building an app. I decided to create the same app I have used to try out dozens of programming tools over the years: a to-do list with the ability to add and remove tasks<\/p>\n<p><a href=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2013\/12\/image2.png\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px\" border=\"0\" alt=\"image\" src=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2013\/12\/image_thumb2.png\" width=\"404\" height=\"229\" \/><\/a><\/p>\n<p>Building the user interface went OK, but how do I add and remove items from the list? I have got as far as figuring out that I need to type the right magic into the OnSelect property of a button:<\/p>\n<p><a href=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2013\/12\/image3.png\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px\" border=\"0\" alt=\"image\" src=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2013\/12\/image_thumb3.png\" width=\"404\" height=\"442\" \/><\/a><\/p>\n<p>I will let you know when I have worked out what to do next. I will observe that the environment is geared towards data binding, rather than directly updating the user interface, and remote data, such as binding to tables in Azure Mobile Services, a REST API, an RSS feed or a SharePoint list. However you can also bind to an Excel spreadsheet for local data.<\/p>\n<p><strike>Unfortunately there is no \u201cRun\u201d button<\/strike>. You can preview your Siena app by pressing F5 or tapping the Run button in the top app bar. <\/p>\n<p>To deploy your Siena app, you hit Publish:<\/p>\n<p><a href=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2013\/12\/image4.png\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px\" border=\"0\" alt=\"image\" src=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2013\/12\/image_thumb4.png\" width=\"404\" height=\"292\" \/><\/a>&#160; <\/p>\n<p>This creates a package of files, including InstallApp.exe. Siena generates HTML and JavaScript so you can learn a lot about the environment by poking around in the generated files.<\/p>\n<p><a href=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2013\/12\/image5.png\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px\" border=\"0\" alt=\"image\" src=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2013\/12\/image_thumb5.png\" width=\"392\" height=\"392\" \/><\/a><\/p>\n<p>Run InstallApp.exe and the app installs into your local PC. Mine runs fine, it just does not work yet.<\/p>\n<p>Siena, as is usual for this type of release, suffers from lack of documentation. There is a <a href=\"http:\/\/aka.ms\/ProjectSienaFunctionReference\" target=\"_blank\">function reference<\/a> and a few sketchy <a href=\"http:\/\/technet.microsoft.com\/en-us\/dn518216\" target=\"_blank\">help topics<\/a>. There are also some <a href=\"http:\/\/technet.microsoft.com\/en-us\/dn494958\" target=\"_blank\">sample apps<\/a>. Here is what the Personnel Manager has in the OnSelect of its Add button; perhaps this is a clue:<\/p>\n<blockquote>\n<p>UpdateIf(Assoc,ID = ThisItem!ID,{AssignedTo:SelectedDepartment, Time:Now()}); RemoveIf(SelectedAssociates, ID = ThisItem!ID)<\/p>\n<\/blockquote>\n<p>While it is great to have a genuinely easy visual interface builder, the development features of Visual Studio are greatly missed; the code editor as far as I can tell is limited to a single line in a text input field, though you do get a squiggly underline if you do it wrong, and a bit of code completion.<\/p>\n<p>How is the average \u201cbusiness expert, business analyst, consultant, and other app imagineer\u201d going to get on with Project Siena? That is the question; and in the current preview I\u2019d guess they will be flummoxed and go straight back to Excel or Access, though I would love to be proved wrong.<\/p>\n<p>It looks like a lot of work has gone into this though, and no doubt better documentation and enhanced features are on the way.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Remember Visual Basic? By which I mean, not the current language that is a case-insensitive alternative to C# that does much the same thing, but the original rapid app development tool that democratised Windows development back in 1991. At the time, Windows development was a sought-after skill but rather difficult. VB meant anyone could create &hellip; <a href=\"https:\/\/www.itwriting.com\/blog\/7876-microsoft-project-siena-another-go-at-the-spirit-of-visual-basic.html\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Microsoft Project Siena: another go at the spirit of Visual Basic<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26,55,56],"tags":[325,586,743,952],"class_list":["post-7876","post","type-post","status-publish","format-standard","hentry","category-development","category-microsoft","category-mobile","tag-development","tag-microsoft","tag-project-siena","tag-visual-basic"],"_links":{"self":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts\/7876","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/comments?post=7876"}],"version-history":[{"count":0,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts\/7876\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/media?parent=7876"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/categories?post=7876"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/tags?post=7876"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}