One of the tasks we are beginning to explore at AIS is developing and distributing mobile applications for our corporate clients. One common scenario will be for these apps to be available only for their employees, or a select group of their clients. So distribution through Apple’s App Store, for example, may not be an acceptable solution.

There are several options for distributing enterprise iOS applications, if we can’t (or don’t want to) go through the App Store:

1. Ad Hoc distribution. This involves building the distribution files, distributing them to the clients (via email or posting them to a server), and having them drag the files to iTunes and then synchronizing their devices. That’s a little messy. And it requires repeating the process every time there is an update to the app.

Again, this is a messy process, and will have to be repeated for each update and new app.

2. iPhone Configuration Utility. Apple’s iPhone Configuration Utility (Mac version; Windows version; documentation) is another option. This leaves the task to the system administrator, and is labor intensive. The SysAdmin will either need to attach to each device, and install the provisioning profiles and the apps, or email the configuration profile to each user. A generic profile can be used across the organization, but if username and password management are a part of the profiles, then it gets very complicated, very quickly. Again, this is a messy process, and will have to be repeated for each update and new app.

3. Mobile Device Management. The SysAdmin can install apps through MDM (Mobile Device Management, requires sign-in). Again, device management is required, but MDM allows for remote management once the device has been initially configured. When a new or updated app is available, the administrator creates a new payload, sends a push notification (through Apple’s Push Notification Service) to the appropriate client devices, and the devices execute the command (in this case pulling down and installing the app in the payload). If MDM is already a feature in the organization’s administration processes, this is a viable option.

4. Distribute apps wirelessly, using the Over the Air (OTA) process. This is the route I’ll discuss in detail, as it seems to be the most straightforward and easiest to implement of the available options, especially if MDM is not applicable. There are some wrinkles, too, which can automate the process of updating/upgrading the apps transparent to the users.

Read More…

This is the third in a multipart series on the exciting new features of SQL Server 2012. Currently AIS is assisting a performing arts center with an upgrade to SQL Server 2012. During the research for this project I’ve had a chance to deploy many of these new features. These posts highlight the best of what SQL Server 2012 has to offer.

We’ve already discussed AlwaysOn High Availability, and integrated SSRS. Today I want to talk about the new contained database feature of SQL Server 2012. Contained databases make the life of the DBA and developer much easier. They also streamline the deployment of high availability scenarios.

So what are some of the new offerings of this feature?

Read More…

CensusMapper is a Windows 8 app that retrieves U.S. Census Data using the recently released Census API and displays that data on a map using Microsoft’s Bing Maps API. The application is built using XAML and C#. The intent of this version is to establish a proof of concept as well as introduce a design and user-experience direction to be explored and evolved going forward.

Upon startup, the app retrieves the population counts for each U.S. State and displays those counts in a marker positioned in the geographic middle of each state.

CensusMapper - Initial View

Read More…

Today is the official start of the 2012 Baltimore and Southwest Ohio GiveCamps.  For the second year in a row, AIS is providing support and sponsorship for these amazing weekend long events!

But what exactly is GiveCamp?

Well, GiveCamp is a 100% volunteer-driven event in which technology talent, media and branding gurus, business professionals and logistical coordinators donate their time and partner with local charities and non-profit organizations to allow coding miracles to happen.  All too often non-profit organizations and charities have true business needs for technology, but their limited budgets preclude proper technology investments.  This is where GiveCamp comes in.

Area talent graciously offers their time and services to assist with the development of websites, tracking or collaboration systems, data repositories and the like, to help local organizations in need, all for a good cause!  The AIS team is lending a hand through the volunteering of technical talent and logistical coordination.  Additionally, AIS is a sponsor of this year’s GiveCamps.  Last year, over $250,000 worth of technical services were donated to local non-profits and charities and we hope to make a bigger impact this year!

(You can check out videos and photos from Southwest Ohio GiveCamp 2011 here and here. The AIS team had a great time!)

Thanks to everyone who joined us for AIS and Microsoft’s Introduction to Azure IaaS event last month. As promised (and for anyone who missed it), here’s the full presentation from Vishwas Lele and Jack O’Connell. Click through the slideshow below, and feel free to ask any follow-up questions in the comments or contact us.

If you’re in the Philadelphia area, Vishwas and Jack will be presenting this session again TOMORROW at Microsoft’s Malvern, PA office. All the details on that event can be found here. We hope to see you there, and please keep up with our Events Calendar for other presentations in your area.

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…

Happy Friday! Here are some of the latest posts by AIS employees from around the web and their personal blogs:

Using Git-Tf: Suppress the TFS Warning When Loading a Solution: Using Git-TF? Getting annoying TFS warnings in Visual Studio? Senior Software Engineer Kip Streithorst can help. (It’s Null?)

Fight Clutter and Confusion in the Workplace. The Importance of Process Streamlining and How to Do It: Developer Terra Gilbert has discovered a natural knack for process streamlining and improving documentation. Here are her tips. (codeterra)

Recent Items in Windows 8: Oskar Austegard plays around with a new Windows 8 install and solves the case of the missing (or at least hard-to-find) Recent Items folder. (mo.notono.us)

KnockoutJS & ASP.NET Mvc Partial View Loading: How to dynamically load “partial views” bound to KnockoutJS view models. (Null != Steve)

Scrum Fundamentals Recording Available: In case you missed Ryan Cromwell‘s Scrum Fundamentals webinar, the presentation is available on his blog. (And be sure to check our Events page — we add new events every week!) (cromwellhaus)

This is the second of a multipart series on the exciting new features of SQL Server 2012. Currently AIS is assisting a performing arts center with an upgrade to SQL Server 2012. During the research for this project I have had a chance to deploy many of these new features. These posts will highlight the best of what SQL Server 2012 has to offer.

Now that we’ve already discussed AlwaysOn High Availability, today I want to talk about the changes made to Integrated SQL Reporting Services.  Integrated SSRS is used to generate reports in a SharePoint environment.  Historically it has been very tricky to configure and maintain.

So what are some of the improvements that now make it easier? Read More…

dailyscrum

The Daily Scrum, sometimes referred to as the Daily Standup, is a simple activity most teams have adopted or experimented with at some point.  In most instances, the extent of their guidance is to limit the gathering to 15 minutes and to answer three questions:

  1. What did you do yesterday?
  2. What will you do today?
  3. What impediments do you have?

Most leaders will jump at a chance for their teams to share this type of information and communicate every day.  Fifteen minutes is a small price to pay for a bit of insight and the appearance of teamwork.

Read More…

I was recently asked to write my own custom performance metric and publish it to Amazon’s CloudWatch using PowerShell.

Part I: How do I get this thing running already?

I initially used this blog post as a general guide, but since I had some experience with PowerShell already, the real learning part for me was how to call the API through .NET. (There is a second part, which actually shows you how to publish the metric. Unfortunately, his test “Tutorial” namespace ended up in the wrong region [US East] as compared to my instance [US West Oregon].

I figured out the correct way to do this by teasing apart the free community scripts available on AWS, which I will discuss later (see Part 2).

Read More…