Hello world! My name is Michael DeMond, or as I am known by my (now-former) gamer tag: Mike-EEE. If you are wondering how someone like me has managed to find their way onto the main stage of a professionally awesome writing crew, featuring the best creative writing Azure Development minds on the web, then you're not alone! You can consider me the groupie of the crew here (who also happens to not be related to the main star, go figure!) that managed to somehow find himself in a new adventure -- for the record, I am still wondering what an MCC and TOGAF is! -- and will make the best of it by attempting to contribute some value in today's article.
Speaking of adventure, today for my first post I wanted to talk about a new, emerging client-side technology from the prestigious Azure group, PowerApps. In my free time (if you're really wondering why I am speaking to you right now) I run a site that is primarily dedicated to advancing the idea of a ubiquitous .NET client application development offering (think: Silverlight, but for today's technology landscape). I have taken the time to chronicle all known Microsoft technology-based client application development models, and for today's article, I have added PowerApps to this list and will be providing my "groupie-thoughts" for this very intriguing new client technology.
Now, PowerApps is a preview technology, so I am only able to speculate on its full potential and capability. I know enough about its vision to be dangerous, however, so I will start with that.
If you are anything like most companies, you run your business out of an Excel spreadsheet or Access database. Sounds scary, but that is how the majority of the business world is run. PowerApps is catering to this field -- which includes information workers, business optimizers, and IT/SI devs -- and integrating it with all of the power of Azure. Its selling point is that you can create an application without knowing any code, and it is not kidding. Based on what I have seen so far, the most you will need to know is learning how to create formulas and macros to bind data to the application's elements. So, if you have gotten your hands dirty with Excel macros you will fit right in.
I know there seem to have been lots of technologies that have come and gone that have had this same promise of "* no code required apps", but this time I think it will stick. I have seen some internal demonstrations of this and I am very impressed by the energy of Pratap Ladhani, the program manager mind behind PowerApps. The team there really seems to have their finger on the pulse of what is desired and needed in this field, and is fanatical about feedback. The selling point about PowerApps is simplicity. Applications are built in seconds and not months, making businesses more flexible, agile, and efficient in their processes. This is really the true promise and vision of PowerApps and I am in agreement and excited over its potential.
What has caught my eye (and imagination) about PowerApps is that it is the only known upcoming (and supported) Microsoft client technology that is truly ubiquitous, featuring support for iOS, Droid, Windows Store, and (coming soon) the web (HTML5). Those are two critical qualities (see: 1 & 2) of what I personally look for in the definition of a ubiquitous client application model. In the case of application developers, that will take a little more digestion and exploration, as we will now do.
"Pro Dev" (.NET)
Now, I am a professional developer (well, usually -- I do have my moments), so I of course do not like the idea of cranking apps out in seconds when I could pour the labor of my love in for months at a time, turn around, and brag to someone how long it took me to build something so amazing (it IS amazing, right!... RIGHT?!). From my perspective, it would be great to see more professional development hooks and integration -- specifically .NET, Microsoft's premiere technology stack. Professional .NET developers should be able to augment and extend this platform and really make it sing. That's what we do when the code works, after all. That way, you get the best of both worlds with Information Workers, Business Optimizers, and IT/Developers working alongside professional developers to really pull in the power (see the theme here?).
Once you have professional developers on board with a wicked (in the positive sense, of course!), powerful platform in place, the possibilities are truly endless. Imagine being able to even create Edge Browser Extensions using PowerApps .NET APIs! Fusing the promise of PowerApps with the history, culture, and community of .NET would truly be a solidifying and unifying force in the Microsoft developer ecosystem.
The other area I am interested in is the consumer space. Right now PowerApps only targets line-of-business and corporate scenarios. Imagine being able to use this technology for both business and consumer, resulting in one comprehensive client application development platform that enables any scenario you as a developer care to develop.
Now that is an application of power!