WebUp is a new website monitoring tool that can also be configured for other endpoints such as web API urls. It is live in the Windows store as a UWP app, which means it can run on mobile, desktop, tablet and Xbox.

image

Why UWP?

The Microsoft ecosphere for app development, although on the mobile side is way behind both iOS and Android, has huge potential with everybody who runs Windows 10 included no matter what device. Here are some of the reasons I chose to publish on the Windows app store.

Auto updating

Any change I wish to make to the app once gone through certification will auto update on the end users machine leaving them with an always up to date version with no user input. Gone are the days when a new version of an application comes out, you got to go to the site, download and then install it.

No credit card information collected

WebUp is free for a trial of 7 days, but some of the features are locked out until upgraded to the full version. This payment process is entirely handled by Microsoft and although there are payment methods out there such as Stripe, as a developer I don’t need to lift a finger, just specify the price.

Runs across multiple devices

UWP apps are compiled once, but each architecture is included which means once a package is uploaded to the Windows Store, it is available for any Windows 10 device. WebUp gives a great experience on a tablet sized machine, but some users are running it on an Xbox with a massive display and using it as an information radiator. The mobile version is great when you need to whip out your phone and just check the status of your web sites.

User can multi install

The Windows Store allows a single user to install the app on up to 10 devices giving them the freedom to run it in multiple locations on different devices. WebUp can be installed on Xbox for an information radiator but you can also have it running elsewhere in an organisation with a different subset of http end points showing. A manager can also have it on their mobile device connected to the local Wi-Fi giving them satisfaction that everything is running fine.

Don’t need to worry about account management

With more traditional web based monitoring solutions, username and passwords need to be configured to log into the service, with a UWP Windows app, the installation is linked to the Microsoft account of the user so no more little yellow notes with credentials stuck to the monitor.

Can be installed inside enterprise and behind corporate firewall

As the app is installed to the device and not hosted by a third party such as SaaS providers, no holes need to be punched through the firewall if all your http end points are internal.

So those are some of the reasons I opted for UWP, it is early days at the moment, but I am already getting some traction and have other features in mind for the app.

Windows 10

Right so I got the name completely wrong in my last post, I will admit that straight away; talk about a curve ball. I have been having a play around with the technical preview of Windows 10 and I am liking it a lot. I believe it is definitely an easier migration path for enterprise users still on XP. Is the reason why Microsoft went from 8 to 10 because of the theory that enterprises have a tendency to miss out on a release when doing their client migrations. So going from XP to Windows 7 and missing Vista and going from Windows 7 to Windows 9 or in this case Windows 10. Who knows.

Charms are still there in Windows 10

There was a rumor going around in the software development community a while back that Charms will be disappearing in the next Windows release. As this image shows, they are still there.
charms
  However if you have a Store app open on your desktop and use the same key combination of Windows+C, then you also get access to a lot of the same functionality within the app.
win10settings
 

Why is this such a big deal

If you are developing Windows store apps, you need to be sure that what you are coding will be supported in future Windows releases. If you are adding functionality that allows your users to change app settings, they would now be accessible from both the Charms and context menu in the app. Maybe the Charms will disappear by the time Windows 10 gets its full release some time in 2015. At least this way all that work doing app settings fly outs will not go to waste. The other option would be to add the same functionality to a bottom menu in the app, similar to what you do in a Windows Phone app.   Happy coding

I am a big fan of continous integration and automated builds and letting somebody else look after the infrastructure. I am a develoer and although quite happy to install Team City, Team Foundation Server etc, I would prefer somebody else to do the install (correctly) and well just look after it and make sure the hardware and database systems are working correctly. So when Microsoft announced last year that they launched Team Foundation Service for development and build in the cloud I had to have a look. Well it took some time to get off my butt and have a play around with it, so long infact that Microsodt ended up renaming it to Visual Studio Online. Personally I think this renaming was a big mistake, but I won't delve too much into that here. So how do you go about creating an application in Visual Studio and have it uploaded to Visual Studio Online? Firtsly you need a Visual Studio online account, so go here first and sign up. Now open up Visual Studio, I am using VS2013 here for this demo. Create your project and make sure the boilerplate code builds ok. Now go on over to Visual Studio Online and create a new project there
1
Give the project some details
2
It will now create it
4
All done.
5
Now go over to Visual Studio and right click the solution in Solution Explorer and choose to add it to source control.
6
You have a choice between TFS Version Control and Git. I am going to choose TFS for this.
7
It will now connect to your Team Foundation Service, you may need to input your credentials here. Choose your project from the listing it finds under your account in Team Foundation Service.
8
Now if you get an error such as this, don't panic cancel your way back out.
10
Go to Team Explorer and choose the little plug icon to Connect to your team project.
11
Then click on the Select Team Projects link.
12
You now get a pop up, put a tick in the project ypu want to connect to. Why it doesn't do this initially I don't know.
13
You will see the project listed now.
14
Then go back and right click the solution in Solution Explorer like before and choose the project.
15
Now do a check in.
16
Give it a comment. I always state that it is the initial check in when doing this the first time.
17
Hey presto, you get a confirmation that it has been checked in and you get the Changeset number.
18
Go back to Visual Studio Online and navigate to your project and have a look at the changesets. You should have you latest change sets listed.
19
Right lets start adding some work items. Go to the Work sub menu and select New under Backlog items. Fill out the details and click on Add.
20
Back in Visual Studio, go to Team Explorer and click on Work Items.
21
Go to Product Backlog and double click it. This will run a query against your backlog items in Team Foundation Service.
22
There you go, you can read and make changes to the work item locally. Clicking on the Save Work Item button will propogate any changes back to the service.
23
I hope this quick run through helps you getting up and running with Visual Studio Online. Next I will explore doing automated builds using the Build functionality in Windows Azure. Happy coding.

The Designer Developer Divide

Its conference season here in the UK and over the past weekend, there have been two great ones; The Digital Barn 3 in Barnsley and DevDevDev North in Sunderland. I have been to DevDevDev before, but it was the first time I could get to the Digital Barn. It was a fantastic day with lots of ideas to think about and take away. I was keeping track of tweets coming out of both conferences and one thing occurred to me was about the divide between designer (Digital Barn) and developer (DevDevDev). The tweets were:- Digital Barn 'Most incredible thing at #digitalbarn is that I've seen a Windows Surface tablet.'

DevDevDev North 'Seeing a lot of Window Phone and Windows 8 devices at #dddnorth today.'

Digital Barn has a slant towards web development with an emphasis around design, SEO, responsive sites and analytics So it was pretty much a Mac centric universe whereas DevDevDev is more of a general development conference, so there was bound to be more Windows, .Net, Rails, PHP and hardware programming. This is fine in itself as we all should choose the tools that help us to get to the end goal. But it is also important that the designers and developers aren't siloed off in enterprise organisations with no contact between them; much the same way operations teams have become separate to development teams in the past. With DevOps becoming more prevalent in organisations, perhaps it would also be important to include the designers in the whole picture; heck why not the UX guys and the SEO guys. In fact I came across an article in a recent .Net magazine regarding menu structures for web sites. Without breaking copyright laws the idea is this:-

The Hierarchy Model


The Hierarchy Model - Designer Developer Divide
This model will be very familiar so I won't wast any screen estate on it.

The Faceted Model


The Faceted Model - Designer Developer Divide
In this model there is a central idea, in this case its the project. All other teams work in an interlaced fashion with better communication between teams with perhaps a person specializing in such interactions heading up the communications This whole concept can be broken down and re-created for each project with a fast turnaround. Every body in this model is working to get the project done, not to serve their line managers needs. Perhaps the person acting as liaison could act as an interim line manager for the particular project. In the real world though a SQL Bloke would be working on multiple projects at the same time, so some form of time-boxing would be needed to properly manage workload. The more development oriented people will already be familiar to Scrum practices, so this concept would not be completely alien to them. Other teams would need some basic training into Scrums and Scrum masters and other Agile methodology to get the full benefit. Perhaps DevOps is the first step down this road to get all teams working in a better fashion. Its just an idea, does anybody have any thoughts? Happy coding.

Windows RT for Enterprise

Windows RT on Surface

Surface RT (soon to be just Surface) is a wonderful although not very powerful device, it runs Windows RT on an ARM chip and is a seriously locked down operating system. Out of the box, Windows RT comes with a very limited set of applications and new ones can only be downloaded and installed via the Microsoft app store. While this is an easy and secure method of obtaining applications (they are all certified by Microsoft), you cannot build and deploy your own applications to it without going through the app store first.

The Enterprise

Surface RT would be perfect for the enterprise because of its long battery life and its locked down status. It is impossible to get a virus or malware onto it as any installation is automatically blocked by the OS. But this can pose a serious problem for enterprise and one in which Microsoft has not yet fully addressed. If you want to create a LOB (Line Of Business) application for your workforce to use on a Surface device, you are pretty much done for. Well not exactly. By using Microsoft Insight you can license a user to access apps published through your companies SharePoint portal. In this post I will briefly go over what that entails. In a second post I will describe a hybrid approach which will allow you to publish to the app store, but your companies devices will only see your data.

Sideloading

To get applications onto a Windows RT device, you need to go through a process called sideloading. There are two ways to sideload an app onto a Windows RT device

Deploying using a Sideloading Product Key

To enable apps to be installed on your Windows RT device, run regedit and navigate to this path and make the value set to 1 like this:-Then you need to open a command promt and run this:-Where the sideloading product key is the 25 digit key obtained from the Microsoft Volume Licensing department. I won't go into Volume Licensing here, but you can buy 100 licenses for approx $3000. Activate the sideloading key using this:-Add your app package and include any dependencies such as WinJS for an HTML/CSS app.

Deployment using System Center Configuration Manager and Windows Intune

To get your business app onto Windows RT devices you need to jump through a few hoops.
  1. You need System Center Configuration Manager 2012 installed within your domain
  2. A Windows Intune subscription
  3. Windows RT Side loading keys
The full process can be seen here in this video from Microsoft

The full Microsoft article can be found here:- http://bit.ly/XKFYJz

Small Enterprise

If you are a large enterprise you may already have SCCM and Intune, but what if you are a small enterprise that doesn't have a large server infrastructure. You could always stump up the $3000 for 100 licenses, but lets be realistic; this early in the whole Windows 8 ecosystem you would need to convince the finance manager that it is an investment for the long haul.
Happy coding
References:- Microsoft System Center Configuration Manager http://www.microsoft.com/en-us/server-cloud/system-center/default.aspx Windows Intune http://www.microsoft.com/en-us/windows/windowsintune/pc-management.aspx