About Ryan Miller

Senior SharePoint Solution Developer with Information Control Corportation (http://www.iccohio.com). LinkedIn - http://www.linkedin.com/in/ryanlmiller

Teaching Kids to Program

I was at my daughter’s softball game last night and a fellow parent asked me about teaching kids to program. I get the question a lot. In this case the kids were 7-10 years old, but the range has run the gamut from 5 to 18. Good news: I don’t think resources for this have ever been better or easier to come by.

Here are a handful of resources I recommend.

  • http://pluralsight.com/training/Courses/TableOfContents/teaching-kids-programming This is by far the best course I’ve come across. It seems to be geared toward kids in the elementary and middleschool age range. High school students may find the tone of the course skews too young for them, but if they can suppress their egos for a few hours it’s a fun course for them as well. What makes this a great course is that the target audience is just as much parents as it is kids. It focuses as much on the how to teach as the what to teach. It uses C#/.NET.
  • http://www.teachingkidsprogramming.com/ The two authors of the above course also run this site. The concepts I think are be similar to the above, but it looks like they use SmallBasic as a language. Full disclosure: I haven’t personally used this site.
  • http://pluralsight.com/training/Courses/TableOfContents/javascript-from-scratch Though not one of the free resources, this course looks very promising if you want to use JavaScript as your language of choice for learning. I haven’t used this course either, but on the reputation of Pluralsight and Jesse Liberty, the course author, I’d say this is likely a very good course and well worth the subscription cost. Pluralsight has 7 other courses also listed in the Beginner Programming section: http://pluralsight.com/training/Courses
  • http://www.code.org/ Code.org is a nonprofit that was launched fairly recently with the goal of increasing programming proficiency among students. Their site has an ever growing list of resources.
  • http://channel9.msdn.com Channel 9 is a Microsoft community around development. It’s basically an enormous stockpile of technology videos covering topics for all skill levels. I found this specific list published there for beginners: http://channel9.msdn.com/posts/Beginner
  • http://microsoftvirtualacademy.com. Microsoft has Virtual Academy, It’s free, but it’s geared as much toward professionals as beginners.

In order to write code, you’ll need a tool to develop in. Many of the resources out there are geared toward a specific development environment and they will probably take you through steps of setting up that particular set of tools. I happen to think the Microsoft tooling is the best available. A well kept secret (or a poorly publicized benefit) is that Microsoft has a whole set of tooling available for free.

DreamSpark, https://www.dreamspark.com/what-is-dreamspark.aspx, is a Microsoft program that gives students free access to a large number of professional tools and resources. It will get you access to the full blown version of Visual Studio, which is what professional developers use to create Microsoft applications.

Microsoft also produces a set of free development tools that go under the Visual Studio 2012 Express for… moniker. The Express versions of Visual Studio are limited when compared with the full version of the product, but are outstanding none the less. I’ve yet to find any other free development environment that compares to these tools. You can find them all available for download here: http://www.microsoft.com/visualstudio/eng/downloads#d-express-windows-8. The version you need depends on what you want to develop. NOTE, I think the Visual Studio 2012 versions only run on Windows 8. If you are using Windows 7 or XP, just scroll down to the next section and grab the Visual Studio Express 2010 version.

5th Annual Heartland SharePoint Conference

The 5th annual Heartland SharePoint Conference is coming up on May 15, 2014.

ICC SharePoint Conference

Check out the site, http://iccsharepoint.com, for Session & Speaker information and to register. The event is free and is a great chance to talk to other SharePoint users, developers, and administrators. If you’re in the process of rolling out SP 2013 this is a great conference to network with folks from other companies to discuss issues and gotchas and find out what has been working at other organizations. There are also plenty of experts on hand to answer questions.

This year’s conference will focus on Microsoft SMAC solutions (Social, Mobile, Analytics, and Clout). Steve Caravajal, Director of Digital Strategy and Architecture – Microsoft Corporation, will keynote the event.

My session is titled “Practical App Model Development for Practically Everything.” It’s a 200 level session where I’ll be giving a brief overview of the SharePoint App Model and then giving some examples of where you can begin using it.

Here’s the full development track:

Ryan Miller, Clutch: Practical App Model Development for Practically Everything.

Microsoft released the SharePoint 2013 App Model a little over a year ago and it’s beginning to take hold. This development and distribution platform is more flexible and scalable than ever before. Plus it lays down a standard that allows us to create solutions that run both on premises and on Office 365.

In this 200 level session, we’ll give a brief introduction to the SharePoint 2013 App Model and then use it to solve a few Enterprise problems. We’ll cover app deployment both on premises and in Office 365.

Josey Neidhart, Clutch​: Responsive Development: Like a Pearl Jam Song, It Sounds Great but the Interpretation is Confusing

Now that you know what the design and planning process behind a responsive project looks like, how do you actually build a responsive site? This presentation is a fun take on how to develop responsively on SharePoint. We’ll make sense of the cluster of information that causes developers’ heads to bounce off keyboards from elevated frustration levels. We’ll cover tips, tricks, and tools. It’s time to show mobile some love and build that dreamy responsive site!

​Mike Fitzmaurice, Nintex: Workflow for Everyone, Everywhere Your Content Is

Wouldn’t it be simple if all your information were in one neat repository? Well, it isn’t. It’s housed in a myriad of locations throughout your organization…and you’ve got to deal with it. This demo-intensive session will show Nintex in action, quickly and easily building workflows that start in SharePoint and extend to LOB systems, social media, content repositories, transaction services, web services, databases, and more.

Chris Campbell, ICC: ALM Using Microsoft TFS

Most organizations are familiar with Team Foundation Server (TFS) as a means for source code control and occasionally automated build services. However, this only scratches the surface. TFS is a fully capable Application Lifecycle Management (ALM) tool which supports an application from conception through requirements gathering, design, construction, quality assurance, delivery, ongoing maintenance, and governance.  In this session we’ll demonstrate how many companies have made the leap from using TFS only for source control to fully leveraging its capabilities throughout the lifetime of an application.​

SharePoint–Azure Resources

I found several SharePoint on Azure resources in the last couple days. Here they are for your (and my future) reference:

SharePoint 2013 on Windows Azure Infrastructure Services

A white paper by David Aiken and Dan Wesley. Synopsis: “This document provides guidance on how to deploy and operate a MIcrosoft SharePoint 2013 Server farm on Windows Azure Infrastructure Services.”

Installing SharePoint 2013 on Windows Azure Infrastructure Services

This is a tutorial continuation of the above white paper. Synopsis: “This tutorial contains the instructions for deploying a SharePoint 2013 farm on a set of Windows Azure Virtual Machines. The configuration consists of eight Virtual Machines. Each machine performs one of four roles, with duplication to ensure high availability”

SharePoint Deployment on Windows Azure Virtual Machines

A white paper from Microsoft (unattributed author). Synopsis: “This paper provides guidance about the benefits of Windows Azure Virtual Machines and explains how to deploy SharePoint Server 2010 on Windows Azure Virtual Machines.”

SharePoint Server 2013 Trial VM

You’ll need to find this pre-configured SharePoint 2013 VM in the Azure Gallery. Synopsis: “Microsoft SharePoint Server 2013 Trial on Windows Server 2012 Datacenter. Virtual Machines created with this trial image will expire on March 17, 2014. This image includes a complete installation of SharePoint Server 2013. Some SharePoint Server 2013 components require additional setup and configuration. You can set-up Active Directory and SQL Server required for your SharePoint farm by provisioning additional virtual machines. Minimum recommended virtual machine size for this image is Large. To evaluate the advanced capabilities of SharePoint Server 2013, we recommend that you use a virtual machine size of Extra Large.”

SharePoint Developer Virtual Machine in Azure Gallery

There is also a pre-configured developer VM geared toward SharePoint 2013 development. Synopsis: “The Visual Studio 2013 image is an exclusive offer for MSDN subscribers and provides the capability to quickly provision a development environment for Web/SQL development and for SharePoint 2013 development on an Azure Virtual machine. The image is available for MSDN Professional, Premium and Ultimate subscribers. You need to choose an image that corresponds to your subscription level. Visual Studio will check your subscription level during sign in and will only allow you to proceed if your subscription level matches the VS SKU on the image.

  • Visual Studio 2013 Professional|Premium|Ultimate
  • Windows Azure SDK for .NET 2.2
  • SQL Server 2012 SP1 Developer Edition
  • SharePoint 2013 Trial
  • Scripts to provision SharePoint 2013 and SQL Server

The scripts on the image allow you to configure the virtual machine for either SQL, Web development or for SharePoint development. The virtual machine can be provisioned through the portal or through PowerShell and PowerShell Remoting. This tutorial will guide you through both options.”

3 Steps to Set Up ASP .NET MVC in a SharePoint Autohosted App

If you’re going after a SharePoint 2013 developer certification, you know one of the exams you must pass is for ASP .NET MVC (70-486). MVC comes into play when you start creating Autohosted or Provider Hosted SharePoint Apps running on Azure. However, they default Autohosted App runs Web forms, not MVC. MVC is important, just not important enough to warrant baking into the project template *snark*. Just kidding. I don’t know why it’s not built into the template by default, but I can tell you the story has gotten much better.

*Update: 8/22/2013 – I just realized that Microsoft added support for MVC in SharePoint Apps out of the box in the Visual Studio 2013 preview. This post is still relevant for Visual Studio 2012


Step 1) Create your Autohosted SharePoint App. Be sure to set the .NET Framework drop down to 4.



Step 2) Add an ASP .NET MVC project to your solution. Again, make sure .NET Framework 4 is selected. I’ve tested these instructions with the Internet, HotTowel, and Durandal flavors of MVC, but I think the others should all work as well. Web API may prove very useful, but I haven’t tested it yet.




Step 3) In your application project, set your new MVC project as the Web Project. and F5 to deploy.


You can then remove the original web project that Visual Studio created for you (in my example it was called SP_MVCWeb). Since the app will deploy without doing this, it’s not an official step, thus my 3 step claim remains accurate.

Materials: 2013 Heartland Region SharePoint Conference

Thanks to everyone that came out to the Heartland Region SharePoint Conference. I had a great time and the feedback was tremendous.

Those of you that sat for my second session know that it was focused on how to effectively use JavaScript in the enterprise. Since the conference, I’ve come across a very promising library called Durandal http://durandaljs.com/ If you’re using JavaScript to build apps, I strongly recommend you take a look at this framework. 

You can find the slides and demo code in my SkyDrive folder here: http://sdrv.ms/YA1A8O