Often in life, the things we enter into with no expectations turn out to be the most interesting. Such was my experience with Project Siena. During Microsoft Ignite 2015, my colleagues and I attended a session on Project Siena because our initial seminar choice was full. I entered the seminar having never even heard of Project Siena; I left inspired and very impressed. (I highly recommend watching the recording of the seminar by Jeffrey Shomper and Ben Hodes on Channel 9.)
What is it?
Project Siena is a program that allows creation of highly interactive, visual applications with minimal to no writing of code. The IDE, for lack of a better name, abstracts away all but the most common features of web- or WPF development into a WYSIWYG (what-you-see-is-what-you-get) editor. Data binding and events are handled intuitively. The developer can interact with the application as it is being built. For more complicated functions, Siena implements an Excel-like syntax. Integration with major social media sites is seamless, and a vast array of services can be consumed out of the box.
Why does it matter?
As Microsoft points out, Project Siena is highly suited to business power users without a programming background. Because Siena uses Excel formulas, it should be very comfortable to business users. Additionally, Siena can consume almost any RESTful service. The idea is that business users can be given carte blanche to design their own applications, leaving the development team to focus on providing data services.
I immediately saw another potential use for Project Siena. I have many people in my social circle who are employed in museums and education. One of the biggest challenges these organizations face is the ability to create engaging, responsive apps on a limited budget. Siena allows non-developers to quickly create rich applications – imagine Blend stripped down to the familiar toolset found in Word or PowerPoint. Additionally, Siena provides basic data binding, properties, syntax, and events, which could make it an ideal teaching tool for helping students learn about application development.
But, does it work?
I admit, I was skeptical. A demo performed in a seminar is usually a showcase of a technology at its best, so I wanted to see if it was really as easy as claimed. I’m not a perfect test case, having been a full-stack Microsoft developer for over a decade. However, the extent of my training in Siena was a single 75-minute seminar, and I only had to research one small issue over the course of my development.
I decided to design the previously-mentioned education application, as though I were working at an aquarium. The purpose of the application is to allow primary-school children to explore how fish use camouflage in different environments. A user would be able to choose a background, a basic fish template, and then adjust the color and size of the fish. In keeping with the theme of a tight budget, I used all publicly-sourced images. I also integrated Bing Translate to provide basic multi-language support. The only programming required was the creation of an Azure service that produced re-colored fish images.
Including the creation and deployment of the Azure service for images, I completed the entire application in under 20 hours. All of the functionality in Siena was completed in a single evening, with an additional evening of polishing.
Is there a downside?
The largest limiting factor of Project Siena is that it currently only works on Windows 8 and up devices. The responsive nature of the applications Siena creates is highly suited to tablets and other mobile devices. Android and iOS support would go a long way to help Siena realize its full potential.
Thankfully, it was clear throughout all of Ignite that Microsoft no longer embraces an “our way or the highway” stance. The applications that Siena generates are actually HTML5, CSS3, and WinJS, which are platform-agnostic, so it doesn’t seem like compatibility is far out of reach. Hopefully future versions of Siena will further Microsoft’s commitment to cross platform.
How can I learn more?
Visit the Project Siena website at: