Let me state at the outset, I have no intention to compare “JavaScript with HTML” and “C# with XAML” styles of building Windows Store Apps. This is a choice you have to make based on your skillset, reuse considerations (i.e. do you plan the target the app for Windows 8 and Windows Phone 8 OS), whether the functionality you are targeting for the app is already available as a web app or not, etc.

For last several years I have focused on the web technologies, starting with server-side technologies but lately client-side single-page style apps. So the h5c3js model is more suitable based my skillset. (Additionally, my knowledge of XAML is limited to WF serialization format.)

This model, which allows HTML-based native Windows 8 apps, is innovative in my opinion and I applaud the folks responsible for the language projection in Windows RT.

Read More…

On Dec 6th, Brian Keller published an updated version of his very useful virtual machine and the corresponding hands-on-lab / demo scripts for Visual Studio 2012 Update 1.

This virtual machine includes existing (but upgraded) labs from 2010, as well as labs based on new features (see screenshot below).

I thought it would be nice to simply upload the VHD directly to Azure Blob Storage and provision an Azure PersistentVM based on it. This is surely the easiest way to try all the new ALM features.  And it almost worked! Except that the firewall on the virtual machine is turned on. As a result, I could not RDP into the Azure-based machine.

Read More…

With the SharePoint Conference 2012 behind us, I have been reflecting on our SharePoint journey so far…and on the road ahead. And what an incredible journey it has been! SharePoint has allowed AIS to build mission-critical applications for various large federal government agencies and commercial organizations. And not just ECM or document management systems (which are great workloads enabled by SharePoint) but enterprise-class applications for tens of thousands users (such as the FBI’s Delta Project), built using SharePoint platform elements such as workflows, lists, libraries, search, etc.

This blog entry is comprised of two parts. The first part will focus on the SharePoint journey so far. Through a series of short video clips, I will present some of the key insights we have derived over the many years of building custom applications on SharePoint. We will end this the first part with a short demonstration of SharePoint-based Case Management application that brings together many of the key concepts. The second part will focus on the road ahead and the most important enhancements made in SharePoint 2013. Read More…

Congress may be lame duck but our new voting app is not!

 Netizen is a Windows 8 app (available in the Windows Store for free) that brings the voting record of your congressional representative to your finger tips, directly from your Windows 8 device. Simply select the member of Congress you want to follow and “flick through” their voting record. Information about each member’s voting record is stored in Windows Azure Storage and is updated daily.

But don’t just follow how your representative is voting in Congress, make your voice heard. By clicking on the “Like It” button on the mobile application, you can influence your friends and neighbors about the bill through the power of social networking. For each bill, Netizen automatically provisions a Facebook page[1] dedicated to your member of Congress. This page acts almost as a virtual ballot for a bill as well as a community hub where fellow constituents can gather to express their support. Read on for more, plus some screenshots from the application:

Read More…

Media Center is a SharePoint app that allows you to integrate your Windows Azure Media Services (WAMS) assets within SharePoint.

Before I describe the app functionality, I think it useful to take a step back and briefly talk about why this app is needed and the design choices we had to make in order to build it. This is also a great opportunity for me to thank the team who worked very hard on building this app including Jason McNutt, Harin Sandhoo and Sam Larko. Shannon Gray helped out with the UI design. Building an app using technical preview bits with little documentation is always challenging, so the help provided by Anton Labunets and Vidya Srinivasan from the SharePoint team was so critical. Thank you!

At AIS, we focus on building custom applications on top of the SharePoint platform. Among the various SharePoint applications we have built in the past, the ability to host media assets within SharePoint is a request that has come up a few times. As you know, SharePoint 2010 added streaming functionality, so any media assets stored within the content database could be streamed to the SharePoint users directly. However, the streaming functionality in SharePoint 2010 was never intended to provide a heavy duty-streaming server. For instance, it does not support some of the advanced features like adaptive streaming. Additionally, most organizations don’t want to store large media files within SharePoint in order to avoid bloating the size of the content databases.

Enter Windows Azure Media Services (WAMS).
Read More…

In a previous blog post I discussed Windows Azure PaaS / IaaS hybrid scenarios. Together with my colleague Jack O’Connell (Infrastructure Specialist extraordinaire), we set up each of the four scenarios outlined in the previous post including:

  • Using Windows Azure Virtual Network to provision a VPN to connect our on-premised infrastructure with a Windows Azure datacenter.
  • Set up front-end and back-end subnets.
  • Provision a set of Azure IaaS Virtual Machines and Azure Web Roles.
  • Install System Center Monitoring Pack for Windows Azure Applications on Azure-based machines.
  • Install System Center Operations on-premises in order to manage Azure-based resources.

Watch the following video for a quick walkthrough of the scenarios in action:

Last month, a group of us from the Washington CTO council visited Nova Labs in Reston.

Nova Labs is part of the maker movement that has mushroomed around the country. This movement is a confluence of things coming together including 1) open source hardware that promotes advancement in hardware design though common standards and crowds sourcing, much like the open source software, 2) the availability of some highly-advanced machines such as 3-D printing, high-precision laser cutters at a price point within the reach of hobbyists, and 3) the do-it-yourself (DIY) mindset that encourages participants to make stuff (hence the term “makers”). There are over 1,000 such makerspaces in the country.

Read More…

At AIS, we are often asked by our customers to put together a quick prototype very early in the envisioning phase of a project. The main objective is to determine if the proposed set of technologies will address the key requirements. Having a “working” piece of software this early (despite all the scaffolding needed to make the prototype work) helps the stakeholders make a decision whether to go with a certain technology set or not.  This is especially true if a number of competing solutions are being considered.

In the following video, we talk about one such prototype that we put together quickly for a customer of ours. The requirements are typical of a large-scale document (correspondence) generation system: large-scale generation of documents, ability to author dozens of templates, ability to generate documents by binding the templates to data from business systems, ability to support multiple document formats and ability to create workflows to support the business processes.

Here we describe a solution for automated document generation using the Microsoft Office system. Combining out-of-the-box functionality like Content Controls and Open Office XML SDK with a little customization to your business rules, you can automate template creation, document generation, document conversion and (using SharePoint) allow for Web-based document management.

Read on for more about this solution…

Read More…

In the past, I have written about the benefits of Platform as a Service (PaaS) style of applications. While I continue to believe that PaaS offers the best ROI for hosting custom applications in the cloud, there are a number of scenarios where inserting elements of Infrastructure as a Service (IaaS) to a PaaS solution can help alleviate some of the limitations that have prevented the adoption of PaaS. In this blog post we will look at a few compelling scenarios that are enabled by combining PaaS with the recently announced IaaS features within a Windows Azure Cloud Service. Read More…