.NET

Anything related to the .NET framework

Mercurial + Lightswitch : .hgignore file bliss

Submitted by Robert MacLean on Mon, 06/27/2011 - 12:19

Clipboard02Lightswitch is a fantastic tool but has a MAJOR downside to it – it eats disk space like no-ones business. A simple test project with 1 table, 1 screen & some code on the client side and server side is over 90Mb of space!

If you are a developer you will have some sort of version control system in place and you should be following some best practices in version control. For this post, the one I want to look at is to only check into the repo what actually needs to be in the repo. A polluted and huge repo is not only hard to work with, it puts people off and lowers adoption Sad smile

I have been using Mercurial a lot recently and part of a new LS project I took the time to look at how much of the LS project needs to go into the repo – and you know what… it is VERY VERY LITTLE, in fact it is about 0.4%!

Mercurial, for those new to it, has a .hgignore file which uses a regular expression like language to tell it what files to ignore, i.e. don’t commit those files to the repo. Below is what my .hgignore file looks like. That first 4 line group is the LS specific lines while the rest is for general Visual Studio projects:

syntax: glob

*.lsproj.user
ServiceConfiguration.cscfg
*/_Pvt_Extensions/*
*/GeneratedArtifacts/*

*.csproj.user
*.vbproj.user
*/[Oo]bj/*
*/[Bb]in/*
*.suo
*DXCore.Solution
[Tt]humbs.db 
*.user
*.bak.* 
*.bak 
*.[Cc]ache
*/[Pp]ublish/*
*.vssscc
*.vs10x
*/[Dd]otfuscated/*
[Dd]otfuscated/*
*.vsp
[Nn][Dd]epend[Oo]ut/*
*.licx
*.docstates
*.cscfg
*.csdef

It is important to note that when you pull from the repo (or checkout for TFS/VSS/SVN folk) you’ll get the disk saving, until you open it up that is. Once opened LS will regenerate everything and the size on your machine will be back to the massive 90Mb+, however the repo will remain small, commits will remain small, network traffic will remain small and performance improved – just what we wanted from following those version control best practises.

DevDays South Africa 2011: My Talks

Submitted by Robert MacLean on Thu, 05/26/2011 - 09:53

WOW! Microsoft DevDays 2011 in Cape Town & Johannesburg was fantastic, my fellow speakers rocked, the venues were brilliant and most importantly YOU, the audience was amazing!

Thank you to everyone who attended my talks, especially since they were at the end of a very tiring day. I hope I delivered value to you and if you have any questions or comments on them, please feel free to get in touch with me.

I promise the slides & demos would be made available so here they are:

Let’s get ready for the cloud: Building your applications so they are cloud ready

Lightswitch basics: Building your first Lightswitch Application

All the files again (my blog does this)

A follow up to my NDepend pro tip...

Submitted by Robert MacLean on Thu, 05/19/2011 - 13:33

I posted in March that despite using NDepend for over a year I had missed an awesome feature of the product. Not even a day later I received an email from Patrick (creator of NDepend) about it and we discussed over a few emails about that post, why I had never found it and what could be done to improve it.

Recently Patrick released NDepend 3.8 and took specific notice of that discussion, and many other discussions with “enthusiast users” (as he calls us) into the design so it is significantly better Smile

image

Check out the new landing page in the app! Note the option I “found” is front and centre and even has a helpful arrow to point it out!

In addition to that there is many new features which I cannot wait to try out:

    • New menu in Start Page 'Select VS Solution(s) to Analyze'
    • Ergonomy of 'New NDepend Project' dialog enhanced.
    • In Build Comparison Setting form, there is a new button 'Browse VS solutions' to fill easily the assemblies list.
    • On multi-monitor machines, all NDepend dialogs and forms shown, now appear on the screen that currently contains the mouse cursor
    • The Dependency Matrix and Graph now support the mouse extra-buttons back/forward.
    • Support for Reflector v7.X
    • The default rule 'Fields should be marked as ReadOnly when possible' now discards fields generated for events (i.e fields where 'IsEventDelegateObject').
    • The flag Concurrent is now implemented by the MSBuild and NAnt tasks.
    • In CQL Explorer panel, it is now possible to export a group of queries to XML.

I just wanted to post this to share this excellent news and also point out how awesome Patrick is at incorporating feedback from everyone and really this is why NDepend is such an awesome product.

It's official: Pepper uses Azure

Submitted by Robert MacLean on Wed, 05/04/2011 - 21:52

Bruce Kyle, a Microsoft evangelist, wrote an article recently about the “Powered By Microsoft Windows Azure” logo and how you can earn the right to display that.

That may sound odd to some people – why can’t you say you use Azure if you do? Of course you can, but if you jump a few hoops with Microsoft you can use the official logo Smile 

PoweredByWA_border

But that is not all! Doing this also helps towards an ISV competence with Microsoft which gets you great assistance and free software from Microsoft, the opportunity to get $250 for marketing and also some other pieces of useful tidbits. One of those tidbits is a press release template, which is so odd for me too see as I am not in marketing, press or anyone else who does those – so lower down you can find mine Winking smile

So about those hoops, you maybe wondering how hard or easy this is? I took Pepper through the testing for both SQL Azure & Windows Azure and it took about 30min, reading Bruce’s article & watching a video. It is RIDICULOUSLY easy to do once you have your application built – SO GO. DO IT. BE POWERED BY WINDOWS AZURE!

Enjoy reading my first press release Smile with tongue out

For Release 22:00 SAST

4 May 2011

Robert MacLean Becomes a “Front Runner” With the Release of Its Latest Application, Pepper

Johannesburg, South Africa — 4 May 2011 — Robert MacLean today announced it will launch a new application using the Windows Azure Platform. Pepper in combination with the Windows Azure platform helps enable customers to backup, share and synchronize your Visual Studio 2010 settings between multiple machines from directly inside Visual Studio 2010 without any costs or requirements for you. The Windows Azure platform, Microsoft’s cloud services platform, provides Pepper with the ability to build, manage, and deploy cloud based applications.

“Thru the technical and marketing support provided by the Front Runner program, we are excited to see the innovative solutions built on the Windows Azure platform by the ISV community,” said Doug Hauger, general manager for Windows Azure Microsoft Corp. “The companies who choose to be a part of the Front Runner program show initiative and technological advancement in their respective industries.”

“Windows Azure platform provides greater choice and flexibility in how we develop and deploy applications to all developers, both on-premises or in the cloud” said Robert MacLean, Developer of Pepper

Pepper automates critical processes such as synchronization and backup of settings to the cloud, eliminating the need for local storage and lowering the chances of losing them.

#########

Product or service names mentioned herein are the trademarks of their respective owners.

For more information, press only:

Robert MacLean, robert@sadev.co.za

Rapid Business Development: Lightswitch vs. Dynamics CRM vs. SharePoint 2010 vs. ASP.NET MVC 3

Submitted by Robert MacLean on Tue, 05/03/2011 - 09:00

In this post I am going to look at comparing four technologies that can be used to build business applications easily. This post was inspired by how similar a number of products have become over the last few years and more importantly how the new kid on the block Visual Studio Lightswitch, which is a specialised rapid business tool development platform built on top of Visual Studio, is going to affect this eco-system. It is important to also remember that this is being written in the Lightswitch Beta 2 timeframe, so some details may change by launch.

Lightswitch feels very similar to me, to another product I have worked with in the past: Dynamics CRM, which is a Customer Relationship Management tool from Microsoft. CRM does very well in the xRM (x = extensible) scenario, where I think it will come up against Lightswitch a lot. I haven’t had an opportunity to use the latest CRM release yet, so I have had to rely on the help of experts to fill in my gaps!

SharePoint 2010 is another product I have worked with, can of course be used for building business applications quickly cause it is the “operating system of the enterprise” and has good features for these types of applications.

Finally, while watching Scott Hanselman do the ASP.NET MVC 3 demo in the MIX 11 Keynote, I was struck with how that is very close to a rapid business user development tool with all the new scaffolding features. ASP.NET MVC is a real outsider in this group because it is first a development toolset for web development and, maybe a rapid tool second where the rest are rapid development platforms or tools first.

I think the differences between these four are very interesting and while each has it’s strong & weak points, this should definitely not be looked at as a pick one only post. There are many scenarios where you want to combine them for even better experiences.

I have broken down the issues into twenty one(!) aspects (key points we can compare them against each other) which are grouped into six scenarios to make it easier to digest. Each scenario starts with a list of the aspects and a brief description followed by a comparison table of those aspects.

Starting

  • Ready to go out of the box: Once installed, can it do anything? Seems silly, but quick turn around at the start, even if actual development is longer is important as it helps with prototyping, shows some rapid development and hints at how hard it is to learn (for me at least, if it does something I find I can experiment and learn quickly). Important to note, we are not looking at making it align with your company needs here, we just want it to do something. Eating CPU cycles & RAM is not something either.
  • Northwind Style Sample development costs: This aspect looks further than the above aspect and looks at how much more would it take to get it tailored for a company, like the fictional Northwind, to have a XRM type system as it can be done across all four. Fewer $ signs means less time and/or resources for the functionality.
  Lightswitch (LS) Dynamics CRM SharePoint 2010 (SP) ASP.NET MVC My Thoughts
Ready to go out of the box Fast Fastest Fast Slowest LS & MVC need development, while SP needs at least 5min of tailoring. CRM, is ready to go once installed.
Northwind Style Sample development costs $ $$ $$ $$$ ASP.NET MVC has the highest development costs as so little is out of the box. Lightswitch excels in this scenario.

Finishing

  • Cost for on-premise deployments: This looks at the money cost for licensing to get the solution up and running on premise (i.e. in your company). Licensing is, of course, flexible and this will vary based on who you are – so this is not indicative for all. It does not include such things as server hardware or common costs, for example operating system licensing.
  • Deployment Complexity: Getting a solution up and running shouldn’t be difficult for an organisation and a lot of time can be lost (and costs incurred) changing, upgrading and troubleshooting systems that do not want to be deployed.
  • Deployment Documentation: When it happens that you need to deploy, having a wealth of documentation (be that video’s, best practice guides, troubleshooting material) is vital and plays a large part in getting a solution up that works every time.
  Lightswitch (LS) Dynamics CRM SharePoint 2010 (SP) ASP.NET MVC My Thoughts
Cost for on premise deployments $$$

Unknown.
Likely cost per developer seat.
No per user costs.
$ to $$$

Cost per user & cost per server. Visual Studio only if you are doing integrations or custom workflows.
$$$$ to $$$$+

Cost per user & cost per server. Visual Studio licenses for any serious work.
$$

Visual Studio licenses.No per user costs.
CRM on the small scale with low development is very cheap but since you pay per user can get expensive. LS & MVC only have development software costs, which is more expensive up front but do not increase as you add users to the system.
Deployment Complexity Medium Hard Hardest Easy LS, CRM & SP all have requirements that they need to work, in increasing deployment complexity, but CRM & SP are significantly harder than LS though due to their more complete product nature. MVC is easy because there is no constraints from it (other than a web server).
Deployment Documentation Yes Yes Yes No Only MVC has no official documentation, which makes sense as it is a development tool. All four have GREAT communities to help as well!

User Experience

  • Front End Technology: A good looking, feature rich UI can seriously ease adoption, and what we are looking at here is the richness level of technology used for the out of the box front end user interface.
  • How good the standard UI looks: Completely subjective and really this is based on what I think looks best.
  • Flexibility of out of box front end: In this aspect we are concerned about how easy it is to adjust and tweak the out of the box front end.
  • Themability : Corporate branding is massive business and making sure the application out of the box looks like it is part of your business is important. It is important to note that both CRM & SharePoint can have custom front ends built which enable this scenario, but that requires extra development, and we are focusing on the out of the box options here and assuming you have the theme built already.
  Lightswitch (LS) Dynamics CRM SharePoint 2010 (SP) ASP.NET MVC My Thoughts
Front End Technology Silverlight.

Supports out of browser (desktop) & in browser
Web

Just ASP.NET
Web

ASP.NET under the covers with sprinklings of Silverlight
ASP.NET LS clearly best here, since it will give the richest UI out of the box. ASP.NET MVC out of the box scaffolding isn’t pretty but can easily be improved.
How good the standard UI looks (very subjective) Low Medium Very. Low Depends on your web designer This is the most subjective aspect: LS & SP both have a fairly plain out of the box UI but SP has a bad UX to go with it. CRM is much better out of the box and if you are going down the MVC route you will likely be taking advantage of the best UI thanks to the complete flexibility – but that depends on how good your designers are.
Flexibility of UI development in the tool High Medium Medium High MVC & LS can almost do anything on the front end, especially if you combined MVC with Silverlight. SharePoint & CRM too have lots of options and work with Silverlight.
Themability Medium Low Medium High The flexibility of MVC is highest as it is a pure programming, with LS following up thanks to it’s strong theme support. SharePoint can be themed but not the same level as LS. CRM will always look like CRM!

Extensibility

  • API for integration: In the short term having an API means it is easy to get data into your new solution, in the medium term it means more ways to sync data and mash up your systems and in the long term it gives you a way to get your data out. It is vital to have an API.
  • Marketplace: Apple kicked the idea of having an AppStore into reality for many of us and now having a marketplace to get extensions, customisations or themes is an important aspect. I am ignoring public sites, like Codeplex for example, and only focusing on an official marketplaces. Galleries are just marketplaces with no vetting, which means they are bigger but the quality bar is not guaranteed.
  • Additional Authentication Options: Only your employees or customers (which may be everyone if you are lucky enough) should access your solutions. What do we get out of the box to limit access to the system? All four systems support Windows & Forms based authentication so I am only listing other options which are available.
  • Permission Structure (Authorisation): Being able to control what parts of a solution you can access, once you have logged in is also vital and having a lot of flexibility in this space is also important as very seldom will one structure work for everyone.
  Lightswitch (LS) Dynamics CRM SharePoint 2010 (SP) ASP.NET MVC My Thoughts
API for integration Yes Yes Yes - at least 5 of them. N/A In MVC you could build one, oData for instance, but it doesn’t have one out of the box. LS creates a WCF RIA Service for us. CRM & SP both have API’s, but SP is more complex as it supports so many different API’s with different subsets of features supported.
Marketplace Once it is released a gallery will exist. Yes Nope Gallery available CRM leads here in a big way with a REAL marketplace. ASP.NET MVC has it’s own gallery plus a strong 3rd party marketplace ecosystem.
Additional Authentication Options Anonymous and more available through custom development (e.g. Windows Live). Claims based authentication(custom development required). Claims based authentication via STS Anonymous and more available through custom development (e.g. Windows Live). Claims based authentication(custom development required). Anonymous and more available through custom development (e.g. Windows Live). Claims based authentication(custom development required).  
Permission Structure (Authorisation) Very basic and really just a half a step ahead of editing XML that MVC needs. Fantastic out of the box option, plus plenty of extensibility if needed. Good structure with many levels of customisation.
Out of the box is very simple.
Basic support for it but can be extended through development. A lot of XML work though may be needed. LS & MVC are the lightest here, both supports authorisation options but enforcing it is up to the developer to implement. LS is better slightly better at guiding the developer and needs no XML editing. SP authorisation is as varied & powerful as what CRM offers. However SP can easily get messy, users can break permission inheritance, while CRM enforces authorisation all the time and makes for a better structured environment.

Information Worker Features

  • Offline support: Being able to work when you are not in the office is a vital need for many people. So how do these platforms enable that scenario. In theory it is always possible to build this, so we are just looking at the out of box offering.
  • Easily Import Data: How do we get information into the solution, besides the API? Does the product make this easy with out of the box tooling?
  • Printing: Despite the promise of a paperless office, it still is not the case and being able to print is important, even if it is just to XPS or PDF for invoicing.
  • Office Integration: Integration into Microsoft Office products (i.e. Word, Excel, Outlook, PowerPoint, Access, Publisher, InfoPath & OneNote) means that your IW’s will be able to work in the tools that they are comfortable with, easing adoption and productivity.
  Lightswitch (LS) Dynamics CRM SharePoint 2010 (SP) ASP.NET MVC My Thoughts
Offline support No Yes Yes No Being able to work offline is important if you are a roaming user. LS & MVC offer nothing in this space while CRM & SP both offer offline via Outlook.
Easily Import Data (out of the box) Nope Yes, from CVS. Yes. Multiple options. Nope In all cases there are tools and other ways to import data but CRM & SP have an out of the box options.
Printing (out of the box) Nope Yes Yes – Poor Browser Level LS & MVC can have custom development solutions for printing,  other than that they both offer nothing out of the box. As browser printing has improved MVC has a slight advantage being HTML based normally. SP has printing, but it is very poor. CRM leads the way here with a great print scenario.
Office Integration Low

One way export to Excel.

Others can be custom developed
Medium

One way to Excel. Mail merge with Word & Outlook.
Deep integration with Outlook is available too.
High

Only Publisher doesn’t have some integration with SharePoint.
Every other Office product does, some like Excel are one way while others like Access are two way.

SP internally has features that understand Office files too, for example PowerPoint Libraries show thumbnails.
None

Can be custom developed.
 

Other

  • Databases Supported: Where the data can come from for your application is a critical piece of the puzzle because it means the difference between building ETL solutions to handle moving it around if the source is supported or having it just work.
  • Minimum Skills For Tailoring: Tailoring is what I refer to when I think of customisation of a system, without the need for a programming language. At some point you will need a developer but how far away that is and what can be done by a analyst or super user early on is important from a time to solution and cost perspective. Lower is better here.
  • Can run in the cloud?: If you not thinking about how you can leverage the cloud, then you are not thinking. Making sure the solutions can cater for the cloud is an important consideration. All four solutions can run in the cloud but how do they run is also important
  • ALM Experience: How does this tool work with a full ALM experience? Can I unit test it easily? Will it go into source control easily and what happens when multiple developers are updating the same files? How about build server and development tool integration? All important questions in understanding a complete picture of that these tools cost or what you sacrfice with some of them.
  • Requires Silverlight: Despite decent market penetration and ease of deployment in corporate scenarios, the requirement for Silverlight can be a deterrent to business, especially those where the CEO uses an iPad2 Smile with tongue out. This is not answered in the table as only Lightswitch requires Silverlight. CRM has no dependencies, SharePoint has a fall back mode and if you used Silverlight with MVC it would be possible to have a fallback mode, provided you developed it.
  • Data performance: This is also not in the table since it only applies to Lightswitch. For CRM, MVC & SharePoint I assume your front end (web) is always close enough, for example the same LAN, to the database but in Lightswitch you can really separate them. Here it is important to note Lightswitch is NOT great with data performance between backend & frontend. It sends massive amounts of data around. In my view it really does not feel optimised for WAN scenarios.
  Lightswitch (LS) Dynamics CRM SharePoint 2010 (SP) ASP.NET MVC My Thoughts
Databases Supported SQL Server, SQL Azure, SharePoint or anything supported by WCF RIA services. SQL Server SQL Server normally.

With advanced skills can use external data sources.
For scaffolding anything supported by LinqToSQL or Entity Framework. LS & MVC feel very close here, however LS has it’s own OM which MVC uses established ones meaning more options in the MVC camp.
Minimum Skills For Tailoring Intermediate
Lowest
Low Highest Being able to tailor with less skill is a big plus for CRM & SP. MVC doesn’t have tailoring as it is all development. LS really stuck in the middle ground here – for setting it up I suspect nothing more than power user but that ends much sooner and moves to needed a developer than with CRM and SharePoint.
Can run in the cloud? Platform as a service using SQL Azure for database & compute instances for front end. Software as a service: Can get it from Microsoft & Partners at a cost per user per month. Software as a service: Can get it from Microsoft & Partners at a cost per user per month. Recently launched in beta with Microsoft. Platform as a service using SQL Azure for database & compute instances for front end.  
ALM Experience Medium Low High Highest ASP.NET MVC is a pure development experience and so works well with ALM. SP2010 plus VS2010 is a great ALM experience (although mocking is difficult). LS & CRM are oddly very similar with customisations in XML though so expect some source control pain. Plugin’s for CRM and LS Extensions are a great ALM scenario. CRM falls short in the unit testing scenario though.

Special Thanks

A post this in depth could not have been done without input from my “brain trust”, and I thank each one of you for your help:

What's new in Microsoft .NET Framework 4 Platform Update 1?

Submitted by Robert MacLean on Tue, 04/19/2011 - 09:20

Even this Pooh is confused by the new PU!Microsoft today made me happy & sad all at once! Let’s hit the bad news bit first: (rant start) WTF is a Platform Update? The .NET Framework must be the least logically named thing ever! We have had to endure such inconsistencies major releases be a point difference release (.NET 1.0 vs. .NET 1.1 and again with .NET 3.0 vs. .NET 3.5) while other times major releases are major number differences (.NET 2.0 & .NET 4 come to mind), we've had service packs be patch updates until .NET 3.5 SP 1 which included MASSIVE new functionality and had finally .NET 4 dropped the .0 after the 4 (see how many Microsoft staff mess this up still), in contrast to every release before it! There is zero logic or pattern in this naming, which just adds to MASSIVE customer confusion. Today we are introduced to a Platform Update, and not just PU (like Poo or Pooh) but PU1… that implies more is coming… so WTF is it? Rant over, promise.

It is NOT the new name for bug fixes, the PU is in fact the best news for Workflow Foundation people as it includes some seriously powerful new features.

untitled2We finally get a complete state machine in WF (dance):

  • Entry and exit actions for a state
  • Conditional and default transitions that have transition actions
  • Scoped variables for a state machine
  • Improved tracking support

I know this was available on Codeplex for a while (and there is still other good stuff on there for WF not included in this), but this is just awesome to get it officially as this implies to customers a seriousness & support that having on Codeplex does not.

I would be happy if it was just that but they have ALSO given us the ability to use SQL Azure as a store for WF instances!!

This is HUGE!!

Just imagine storing a workflow in the cloud until you need it later? Ideas for roaming devices, workflows that span across devices and, naturally, better usage of worker instances in the cloud themselves all are opened up by this.

Lastly (and least-ly for me) they add the CompensationExtension class, which is used if you are creating your own host and wish to enable support for compensations in workflows. Not a big deal for me, but this could bring new features into my favourite host AppFabric, but we will need to see if that happens in the future.

The update comes in three parts:

  1. The runtime update. You need this to do development & you need to install this on machines that make use of the new features. You can get the update at KB2478063.
  2. The multi-targeting update allows Visual Studio to give you the option for this in VS as a drop down (see below) you can get this from KB2495638.

    untitled

  3. The designer update, which does include both of the above and provides all the bits needed to make use of the new features in VS. You can get it from KB2495593

So what you waiting for?! Go and get your workflow on!

Lightswitch beta - No more files bug

Submitted by Robert MacLean on Mon, 04/11/2011 - 16:45

ls-bugIf you are working with the Visual Studio Lightswitch beta and you hit F5, you may sometimes get the USELESS error “There are no more files”.

This will appear shortly after an explorer dialog opens up showing you files. I like to think this is LS way of mocking me: “look files, now there are no more files. hahahaha”

The cause of this you have edited code and something internally gets wonky. Thankfully the workaround is just open a screen or data source and hit F5 and it will work again!

I’ve logged a bug on this, so if you have this issue too please head over there and vote on it!

UPDATED! Info below...

Got to love Microsoft, it took 18min and they responded it is a known bug! Details from them how to fix it:

This is a known issue. There is a setting on Tools|Options, Projects and Solutions, Build and Run called 'For new solutions, use the currently selected project as the startup project'. If this option is enabled when you are using a LightSwitch project, you will get the behavior you see.

The problem is that if this option is enabled when the LightSwitch project is created, the project that is associated with the code file will be used for the debugging startup project. For LightSwitch, the root project should always be the startup project.

This option is automatically enabled for the Web and Web Code VS profiles. This option is turned off by default for the General, VB and C# VS profiles.

We have a fix that will be in the RTM release where we will ignore this option when a project is created and we will use the root LightSwitch project as the startup project.

To fix existing projects, you can right click on the root LightSwitch project and select 'Set as Startup Project' in the context menu.

Community Night: BE THERE

Submitted by Robert MacLean on Mon, 04/11/2011 - 08:54

Clipboard01Tomorrow is another community night, and I realised that there is MANY people who do not know about this fun event. This is a gathering of communities (or user groups or interest groups if you prefer) who meet on a regular basis. This is a totally free event which takes place the 2nd Tuesday of every month at Microsoft’s offices in Bryanston.

*Yawn* another Microsoft marketing session? WRONG! This is run by communities and Microsoft has NO say in the content or agenda, unless a community allows them Smile with tongue out Microsoft is really trying to help all communities by providing the facilities – not the content!

MobiZATo give a concrete example MobiZA, a user group focused on mobile development is doing a session on Android! talk about not Microsoft marketing there!

There is also a variety of communities in a attendance so you can also see things you would not have seen before, for example the business user group or the game developer group! And of course there is plenty of corridors for interesting discussions and some even contain food & drinks!

Hopefully I have given you a taste of what is in store and why you should attend and you can find more details on the DPE team blog.

mapFinally, if you have a user group maybe you should think of joining us at community night? Free venue, projectors, seating, food & drink. Plus plenty of people attend, could be a great way to grow your group. I would personally love to see some Linux & PHP groups there because it would allow those who have not had a chance to see the non-Microsoft world an opportunity and hopefully learn that it isn’t so cut & dry out there.

Remember, tomorrow 12th April 2011 @ Microsoft (map to the left) from first sessions kick off at 16:30 and second sessions get started between 17:30 & 18:00!

Trying to get from the sea to the sky: Publishing to Azure via Squid

Submitted by Robert MacLean on Thu, 04/07/2011 - 19:40
Sky Squid

Microsoft has some awesome guidelines on how to publish directly from Visual Studio to Azure, however if your IT department has installed Squid, the open source proxy server, you may be out of luck as recent versions only support HTTP 1.0 and publishing requires 1.1.

Through some testing with the IT dept at BBD Software we have found that you need to be on Squid 3.1 or later else you are not going to be able to do it automatically*

* You can still publish to a local file, then upload via the Silverlight based admin console, but that is too close to FTP to be cool Winking smile

DevDays - The event for Microsoft Developers

Submitted by Robert MacLean on Thu, 04/07/2011 - 17:13

imageIt’s that time of year again, it is DevDays time again which is the premier conference from Microsoft for developers! This year it is a very different beast from previous years:

  • Cost: For the second year, you’ll need to pay. This year it is R350 and that is excellent value for the event.
  • Cape Town first: It kicks off in Cape Town this year on May 24th and then moves to Johannesburg after that on may 26th!
  • Johannesburg new venue: We are at Gallagher Estate this year! Very excited about the venue!
  • No Durban Sad smile 
  • Hash tag from day one! See complaining to Cliff on Twitter does work so now we can all hash with #DevDaysSA!
  • No SharePoint – I can’t remember a DevDays without SharePoint, but we have so many other awesome SharePoint options now (Information Worker, SharePoint Saturdays etc…) it is good to have some balance.

There is three tracks so you may want to brush up on how to pick good sessions (short answer, mine Winking smile) plus their is special slots for student & community sessions which really excites me to see new presenters getting big stage time!

I am also very glad that BBD Software (previously known as BB&D) is a major sponsor this year!

You can signup, get more details and engage on the official site at: http://www.microsoft.com/southafrica/devdays/

Agenda:

  • End-to-end software testing with Team Foundation Server and Visual Studio
    • Level: 200
      Speakers: Ahmed Salijee & Colin Dembovsky
      Visual Studio 2010 offers a wide range of software testing capabilities: manual testing, automated UI testing, database testing, low-level unit testing and even performance testing tools capable of simulating thousands of active users. It also provides support for test case management, defect tracking as well as configuring and running your tests in virtual and physical environments. But how do you know which tools to choose for your project? This session will, via a demo scenario, walk you through the various testing capabilities to assist you with the most effective use of Visual Studio 2010's testing capabilities. This session will be useful to developers as well as various tester roles including functional, performance and automation.
  • An end-to-end experience of Windows Phone 7 development
    • Level: 200
      Speaker: Rudi Grobler
      An end-to-end walk through for developing Windows Phone 7 applications using Silverlight
  • Blend: Wiring it all together
    • Level: 400
      Speaker: Shane Morris
  • A lap around Internet Explorer 9 for web developers
    • Level: 200
      Speaker: Simon Wilkinson
      Internet Explorer 9 adds new support for HTML5, CSS3 and many other new web standards, and this is the place to find out all about them. Not only will we learn about those, but we'll take a dive into the work the engineering team has done to make the browser faster through it's new JavaScript engine, the work they've done to ensure that the same mark-up works across all browsers and how hardware acceleration will make your site run faster, without any changes to your code!
  • Azure: Development from scratch
    • Level: 200
      Speaker: Gareth Jane
      The Windows Azure platform is a flexible cloud-computing platform which allows developers to rapidly create highly scalable software applications. This session will introduce developers to the various services and components of the Windows Azure Platform. We will create a very simple application on this platform, especially focusing on the areas which distinguish development on Azure from traditional application development
  • ASP.NET web development with MVC
    • Level: 400
      Speaker: Brent Samodien
      Join us in this session and discover the new features in ASP.NET MVC3 and what scenarios you can target with it. Learn more about the improved HTML Helpers and the new updates to Controller/Action/Method that make your code cleaner. Also, explore the richer URL routing and URL route mapping. We will also show how you can use alternative View Engines, including Razor.
  • A website's life: From sketch to publishing
    • Level: 200
      Speaker: Simon Wilkinson
      WebMatrix is a new, free, fully featured, easy to install web development tool that helps you build ASP.NET and PHP websites and perform validation, SEO optimization and one-click publishing. My favourite feature however is a new script syntax for ASP.NET called Razor, which will help you create dynamic websites incredibly easily. We will spend some time sketching/wireframing our website, doing visual design work in Expression Design and then experiencing the rich development toolset in WebMatrix.
  • Let's get ready for the cloud: Building your applications so they
    are cloud ready
    • Level: 400
      Speaker: Robert MacLean
      In a world where you hear people talking about the cloud, here are some guidelines on how to start building and structuring applications that will be easy to migrate to the Azure platform.
  • Code First in entity framework
    • Level: 200
      Speaker: Brent Samodien
      Code First has been a great success with customers, and in this talk, we'll take a deep dive into how it works and talk about its upcoming RTM (Q1 2011). You'll see how Code First uses convention over configuration to improve developer productivity. Its flexibility allows for either automatic database provisioning or the ability to work with an existing database. We'll be demoing features beyond the initial RTM, such as Migrations support, and we'll also talk about the roadmap for Code First going forward
  • Silverlight 5: The Future
    • Level: 200
      Speaker: Shane Morris
  • Exploring Windows Azure storage
    • Level: 400
      Speaker: Gary Hope
      Examine each of the foundation storage capabilities of Windows Azure, Blobs, Tables and Queues. Discover how to create storage accounts; upload and retrieve blobs and blob metadata; create, update and query tables; and create a simple service that uses a message queue for communication
  • LightSwitch basics: Building your first LightSwitch application
    • Level: 200
      Speaker: Robert MacLean
      Visual Studio LightSwitch is the simplest way to build business applications for the desktop and cloud. LightSwitch simplifies the development process by letting you concentrate on the business logic, while LightSwitch handles the common tasks for you. In this demo-heavy session, you will see, end to end, how to build and deploy a data-centric business application using LightSwitch. After that you will discover what is under the hood to better understand the architecture of a LightSwitch application. Finally you will learn how you can use Visual Studio 2010 Professional and Expression Blend 4 to customize and extend its UI and Data layers for when the application's requirements grow beyond what is supported by default
  • Kung Fu Silverlight: Tips and architectural patterns and practices
    • Level: 400
      Speaker: Dave Russell
      Learn about the rewards of using RIA Services together with development patterns, such as the Service Providers, Single Responsibility pattern, Commanding, user Interactions, Messaging, ChildWindows, Design Time Data, Testing, and developing using Model-View/View- Model (MVVM) pattern, to build Silverlight and Windows Phone apps. Hear the top tips you need to know for building data driven Silverlight apps that solve real world problems.