Want to Speak at DevTeach?

I’m privileged to be the Tech Chair for Cloud and Windows 8 tracks at DevTeach. This time out, the conference is being held at the Delta Meadowvale in Mississauga from May 28 to 30 (see http://www.devteach.com/ for details). All of these sessions (in both topics) will take place on the same day, which (based on the current schedule) will be the 29th.

So what am I looking for? Topics that will help developers solve the problems that they face every day. Topics that will let developers become more effective. Topics that go beyond the introductory level (they can already get that through various channels, such as Channel 9) and get into the meat of the technology. The template for submission is available at:  http://www.devteach.com/download/DevTeachToronto2013SessionAbstractsTemplate.xlsx. The deadline for submission isn’t until the end of January, so you have the time to be creative. And I look forward to seeing what the developer community can come up with.

A few things you might want to keep in mind as you think about your possible topics:

  • The audience for the conference will be about 50% web developer ( including about 10-20% of those who are SharePoint developers) , 25% other developer (client, mobile, etc) and 25% admin
  • I’m mostly looking for developer talks but I am willing to consider admin talks. I won’t be selecting more than one admin talk for each track
  • Crossover topics are possible. I’ll determine which track they will fall into based on the complete list of submissions.
  • ObjectSharp will be doing an intermediate to advanced level post conference workshop on Windows 8 XAML, so keep that in mind

If you have any questions, please ask. I’m happy to provide any assistance or guidance that you might need.

New TFS Administration Tool

One of the tools any TFS admin keeps in their toolbox is the TFS Administration Tool. This tool makes it very easy to manage security for TFS. Allowing you to manage user permissions on all three platforms used by TFS. Specifically TFS, SharePoint and Reporting Services.

Download version 2.2 here.

Agile in non-software environments

Many moons ago I blogged about agile being adapted by a school in the states. 

Colin Bowern passed on another interesting presentation called “Agile in the Bathtub

I thought I’d share another Microsoft fellow who has written and blogs about Agile not only at work but in your personal life. If your struggling with time management read J.D. Meier’s book “Getting Results the Agile Way: A Personal Results System for Work and Life”.  Meier’s blogs about Agile Results it is a must to read. In one  blog Meier’s explains how to use Evernote (a free application) as your Personal Information Assistant and become agile in all you do.

 Testa  Smile

Toronto ALM User Group

Happy New Year everyone.

We have two great sessions to start 2013.

Patterns of Testable Software – with Asaf Stone on January 24th

2013 ALM Summit in Review – with Jeremy Garner-Howe on February 7th

Looking forward to seeing you there.

Development for Office and SharePoint Moves Forward

Over the next couple of months, you’re going to start hearing more and more about the new App for Office model. In a nutshell, this is a new model for developing and deploying applications to Office 2013 and SharePoint 2013. The main idea is to remove the installation requirement for applications onto a server while still providing the full range of functionality to the applications. Is this case, the servers I’m talking about are the Exchange Server and the SharePoint farm.

At the heart of the Apps for Office/SharePoint model is Web technologies. And while it’s a major simplification, the general approach is as follows: the application (i.e. Word, Excel, SharePoint) hosts a control that displays a Web page. That Web page is the ‘app’. The site behind that Web page is hosted wherever it wants to be, but most importantly it does *not* have to be hosted in the SharePoint or Exchange environment. The Web page has the ability to interact with the application through a number of techniques, including client-side JavaScript and/or server-side code (ASP.NET, PHP, etc.). From the perspective of the user, it does *not* appear that the app is a Web page, but it feels like it is directly integrated with the application.

As you might guess, this is not a complete or thorough description of the process. But if you want to learn more, you can join me on Dec 12 in Charlotte (register here) or Dec 14 in Toronto (register here). And if those dates/places don’t work for you, keep your eyes open for new dates across North America starting in February.

Mapping to a TFS Source Control Folder

So often I see developers mapping to their local folder from the middle of the source control tree to a folder on their desktop, then another folder to a different location. It gets very messy very quickly.

Some people may like to map folders this way, however I prefer a cleaner mapping implementation. When working on a team I would rather have the same folder structure as the server and everyone else on the team. Also it’s nice not to have to map each app I work on. I would rather just map once and be done with it.

Here is what I do: From a clean never been mapped TFS source control repository. If you already have  mappings check everything in and remove them before doing this. (These instructions are for Team Explorer 2012)

Open the Source Control Explorer

Select the top node which should be your Server\Collection

Right click and select Advanced | Map to Local Folder from the context menu

Create a folder on the drive of your choice with the same name as the Collection. I like to create a Source folder then inside that folder create the Folder with the same name as the collection.  That way if I have more than one Collection they are separate folders but all under Source.

image

 

 

 

 

 

Once you hit the MGetLatestap button you will be prompted to get latest of everything in the collection.

 

 

 

 

I recommend you select No. I doubt you want everything, do you?

Now traverse the Source Control tree look and watch the Local Path at the top it changes as you move. To get a particular application just right click on the folder and select Get Latest Version and it will get it into the folder structure you see.

Have everyone on the team do this. Then when you go from machine to machine you always know where to find the source. Also it looks just like the server.

Cloaked folders in the TFS Build Workspace

 

Here is a little Trick I find most people don’t know about.

When setting up a Build Definition you have to tell the build server where to get the source code from. We do this by declaring the folders to download from on the workspace tab of the build definition. It takes time to download all the files to the build server so you don’t want to get any unnecessary folders from source control.

Generally you can just select the root of the branch and pick up everything from there. Although there are times when the build you are creating does not require all the files in the branch. Lets say for example that you have two builds that run one that only builds the application and one for your WIX projects to create an install package. You likely want to keep all the files together for branching purposes. Something like this:

image

The folders in my example are for the following:
Builds files used by the build process specific to this application. Includes third party DLL’s we do not have the source code for.
Install WIX Project.
Resources Various resource files used by the application.
Source Application Source Code.

Now what I want is to get certain folders when building the app for a CI build and different ones when creating an install package.

CI Build

Install Package

Builds

Builds

Includes

Includes

Resources

Install

Source

 

I could just do this. But then I am getting more than I need in both cases.

image

 

 

 

Or to get just what I need I could do this. (Making sure I put everything into the correct folder on the build agent.

CI Build: image

 

 

 

 

Installation Package Build:image

 

 

 

 

Or I could use the cloaked status to let the build know not to get a particular folder.

Therefore on the CI Build where I want everything but the Install Folder I could do this: image

 

 

 

And on the Install Package Build I don’t need Source or Resources so I could do this:image

Creating Engaging Apps - Web vs Native

If you are writing an app for the general public (as opposed to one you’re writing for you in your organization), one of the first questions you face is whether you create it as a Web application or develop it for your target platforms using native code (XAML/HTML5/C#,Objective C, Java). There are a number of reasons I can think of to use native code over Web technologies. Better performance. Better integration with the device. Able to take advantage of functionality that is specific to the device (as opposed to coding to the lowest common denominator). By the same token, there are reasons to utilize Web technologies instead of native code. Faster time to market. Easier deployment. Consistent experience across all platforms.

But what does this have to do with creating engaging apps?

Nothing!!!

That’s right. The choice of technologies that you use is not what makes an application engaging. Consider the following tips for an engaging application:

Use the power of faces – People love faces. We have evolved so that we have specific wiring in our brain with the sole purpose of recognizing faces. We do it so well, we see faces where they don’t exist (such as in clouds, tree bark or grilled cheese). Take advantage of this by putting faces on your site. Even better, get the face to look at at important part of your site: people instinctively follow the eyes of the face.

Use food, sex and danger to attract interest – If you have ever heard me teach a courses, you will have heard me say (right at the very beginning) that when someone sees something new, they place it into one of four categories: can I eat it, can it eat me, can I mate with it, and everything else. If you want your site to be considered interesting, put it in one of the first three categories.

Tell a story – We learn through stores. It’s how we teach our children. It’s what we see in movies. Stories are a big part of how information is conveyed to us. Take advantage of this in your app. If you have information to give to the user, put it in story form. It doesn’t matter what medium you use (words, pictures, music), but using a story narrative will help your user understand and retain your information.

Build commitment over time – I’m guessing that most of you did not propose to your wife on the first date. It takes time for both people to make sure of the commitment that is implicit in marriage. The same is true of business. You don’t ask for a 6-figure sales order on the first cold call. Or, if you do, I’m guessing your success rate is low. :) Instead, let the relationship build over time. Let the user choose how they want to interact with you (RSS, Twitter, Facebook) and make sure that you don’t take advantage of the trust that is implicit in that interaction.

See? Nothing at all about technology. Engaging apps is all about the design sensibilities and visual aesthetics of the app. Focus your energies on that. Get that right and the choices you make for technology, so long as it doesn’t get in the way, because ancillary at best.

ALM User Group in Toronto meets this Thursday, Nov 8th at 5:30pm

Come out on Thursday to the Toronto ALM User Group (TALMUG) click here to register. TALMUG

Be Loved By Your Development Teams: Using the Team Foundation Server – Project Server Connector

Organizations are investing heavily in building project management competencies through the improvement in processes and use of tools such as Microsoft Office Project Server to ensure the predictable and reliable delivery of projects. At the same time an increasing number of development teams are moving towards agile techniques. Integrating and reconciling development teams and project management has become extremely important. Microsoft’s Application Lifecycle Management strategy includes solutions designed to enable Visual Studio, Team Foundation Server, and Project Server to connect together seamlessly.

This session will explore the Team Foundation Server - Project Server Integration Feature Pack and demonstrate how this enables development teams and project managers to work efficiently and increase productivity.

SmileTesta  

Microsoft–Test Manager Certification Exam & More

Microsoft has just released their new certification exam for Software Testing with Visual Studio 2012. The exam number is 70-497

The skills and/or tasks covered in the exam are:

  1. Create and Configure Test Plans (31%)
  2. Manage Test Cases (34%)
  3. Manage Test Execution (35%)

Check out the details here and see Charles Sterling’s blog for additional information.

If you are interested we have a course on all these items that will help prep you for the exam.

Contact O# at 877-SO-SHARP

Testa Smile