Archive for December, 2007

Marketing: Subvert and Profit

December 30, 2007

I discovered this interesting site: Subvert and Profit. They essentially pay people to increase the rank of stories on Digg and StumpleUpon. Here’s how it works:

  1. You pay Subvert and Profit some $$ to pimp your story on Digg
  2. Subvert and Profit then tells it’s members to Digg your story.
  3. Members get paid for Digging the story and naturally Subvert and Profit take a cut.
  4. Your story on Digg is now on the home page. You now get a bunch of legitimate hits. Given the massive reach of a site like Digg this can give your website campaign a serious boost.

 

Subvert and Profit is nothing more than the 21st century ‘rent a crowd’. Like all forms of broad advertising it still needs to be backed up with the fundamentals (call to action, value proposition etc etc).

I’m fascinated by this crowdsourcing approach as I am with other services like Amazon’s Mechanical Turk.

New Years Preparations

December 30, 2007

New Years Eve is almost upon us. For many this means Champagne or other sparkling wine. If you are in the US your best ‘value for money’ bet is Nicolas Feuillatte Brut for $30. It’s a much better wine that this contemporaries: Moet’s White Star and Veuve Clicquot which run at $36-$38 a bottle. If you want to go cheaper my suggestion is the Roederer Estate Brut (it’s a Californian/French operation) which is significantly cheaper at $14.

If you feel the need to spend more this is where things get tricky. You are now faced with the decision: Vintage or Non-Vintage. Vintage Champagne will have a year clearly printed on label while the others will not. I rarely spend decent $$ on Champagne for one primary reason: most people don’t appreciate it. Unless you know who is going to drink your $200 bottle of Bollinger it isn’t worth opening it.

When buying ‘sparkling plonk’ always go cheap. The cheapest you can find. If you aren’t buying good Champagne – then save $$. Champagne isn’t like wine: telling the difference between $5 plonk and $10 plonk is almost impossible (sure some people will argue but trust me).

I won’t start up about Sparkling Red wine. Everyone should try it at least once. However please don’t inflict it upon unsuspecting guests. It’s just not polite.

Here is a tip to enhance your sparkling plonk. Try and avoid doing this with good Champagne (which should be served unadulterated). Take a sugar cube (or equivalent amount of sugar) and drop it in an empty Champagne flute. Add a drop of Angustura bitters and half a shot of Vodka. Now fill the flute with sparkling wine. This will give your plonk a great kick and some decent flavour.

Finally. Flutes. If you serve Champagne in anything buy flutes you are a barbarian. Why don’t you go and drink straight from the beer keg. If your guests are drunken fools (often the case in my house) then go for plastic flutes – but never plastic cups. You stopped drinking wine out of coffee mugs in university. Isn’t it time to start drinking Champagne from flutes? BTW Some people also like Champagne Coupes. I’ve never really liked them as them always seem a bit dated. But these are vastly superior to drinking from a plastic cup.

Remember the last words of John Maynard Keyes: “I should have drunk more Champagne.”

RSS Feed Title and Description

December 29, 2007

David Yack has some great advice on ensuring that your RSS feed has a relatively unique title. I share his frustration with the scores of poorly named CRM blogs out there…

Part 4: ASP.NET Applications on the CRM Server

December 25, 2007

 

Refer: Part 1, Part 2, Part 2b, Part 3

In CRM 3.0 if you wanted to run an ASP.NET application on the same server as CRM (by CRM I mean the Web/App server) you needed to use your own application pool. This apps would then connect to CRM like an external application (see Part 3) if they needed to read/write data in CRM. For credentials these apps would simply use Integrated Windows Authentication – since a majority of customers used this configuration.

With the introduction of Internet Facing Deployment (IFD) which uses Forms Authentication for your Active Directory Credentials – this now means that developers cannot rely on Integrated Windows Authentication for their applications. It's important to recognize that all partner hosted customers will use IFD and most on-premise customers will configure their systems to use IFD + Windows Auth. As developers you must always consider IFD as a primary usage pattern for your applications.

Since IFD uses a Forms Authentication technology to collect your Active Directory credentials your own apps are faced with a problem. You can't use Integrated Windows Auth (as your app might be running outside the firewall where this auth type becomes very 'fragile') and you don't want to have to prompt the user for their credentials.

To cater for this situation we have provided a special class in the Microsoft.Sdk.dll called CrmImpersonator. This class allows an app which runs inside our context to use the credentials of the logged on user. When designing an app which runs on the CRM server you will need to observe some specific code patterns.

Here is the basic ASP.NET code behind which will create an new Lead when it opens and display the GUID of the record it created. The aspx and aspx.cs files will be placed on the CRM server in a folder called ISV. In a later post I'll cover off exactly how to deploy the solution. The Microsoft.Crm.Sdk and Microsoft.Crm.SdkTypeProxy namespaces derive from two DLLs of the same name. These DLLs are always present with CRM so you don't need to package them with your solution. You'll want to reference them in your project however and you'll find the DLLs in the \Server\GAC folder of your install files.

 

 

Let's examine the anatomy of this code pattern:

  • You need to possess some pre-requisites: Page.Context, Organization Name and if you are using the Metadata Service you'll also need the MetadataService URL.
  • All the CRM code is wrapped in in the using(new CrmImpersonator()) { } block.
  • The CrmAuthenticationToken was created using the static method ExtractCrmAuthenticationToken of the CrmAuthenticationToken class.
  • There is no need to use the Discovery Service. This code can only access the CRM Server which the code is running on.
  • You must manually set the owner of objects using the CalledId property of the CrmAuthenticationToken.

I have a helper class which I use which provides me with the pre-requisites. I'll be cleaning this up in the next few weeks and I'll publish it for download and use (with a relatively free license).

In the next part we will examine using this technique in the offline client and in a later post we will examine the deployment considerations for this type of app.

Call Doctor House!

December 24, 2007

Well… I need the computer version of Doctor House. My Dell desktop at home (serving as my always on media center) started omitting a strange burning smell. It was promptly powered down and the enclosure removed. With no visible smoke and no clear source to the ‘smell’ I powered it on again. Now Windows won’t boot (some crazy failure to load – even in Safe Mode). The power supply is a prime candidate for burning smells so I removed it and disassembled it. Inside was nothing unusual – which is bad news – since replacing a power supply is cheap and easy. I powered on the machine and got the burning again (Windows is still kaput). I also removed all peripheral cards (TV tuner, modem, GPU) and ensured it wasn’t one of those. My current theory is that the CPU caused the issue. I removed the monstrous head sink and there was un-generous amount of heat sink goo and there was some dust directly on the CPU. My theory: Dust on the heat sink is flash burning and causing the smell.

My wife did suggest: “Why don’t you just take it to those geeks?”. The thought of taking my computer to a computer repair service seemed as futile as visiting a dentist in the fifteenth century. Don’t believe me …. believe the main stream media (BTW: I love the guy who wants to charge $2000 to put the computer in some ‘clean room’).

So yeah – if I could send my computer to Doctor House and have four highly trained technicians work non-stop diagnosing my computer at zero cost I would.