Archive for ‘November, 2010’

How to create a Google Map URL in MS CRM

In my last “How To” post I showed how easy it was to use an OnClick event handler. The example image I used showed a Google Map URL for the account’s address. I was asked by a couple of people how I achieved this.

I have played with placing a Google Map within an iFrame within CRM, but we have found that a URL is far more flexible and reliable. The best practical application for this is deploying CRM to mobile devices. When our support guys are on the road, they tend to use the Mobile Express version of CRM via their iPhones. Clicking the Map URL from the account screen fires up Google Maps and allows then to browse directions from their current location.

The URL was indeed generated automatically and not by a manual copy and paste from the Google Maps site. The URL is created by using a piece of javascript which is triggered by the OnLoad and OnSave events for the Account form, but you could apply the same logic to the Contact form or anywhere else an address is used. I use both the OnLoad and OnSave, so that the URL is populated and refreshed when the form is opened or if any changes have been made to the address.

Through trial and error I have found that the best combination comes from the use of Address Line 1, the City, the Postal Code and most importantly the country. Google Maps really does struggle if you don’t use the country. For this reason I also apply a “business recommended” rule to the country code. If you are unlikely to have accounts or contacts overseas you may want to consider applying a further OnLoad script to sweep up any unpopulated country codes with your required country. This of course could also be achieved by using a WorkFlow.

//Code to Pre-Populate Country Code with “United Kingdom”
var address1_country;
if (crmForm.all.address1_country.DataValue == null)
{
    crmForm.all.address1_country.DataValue = “United Kingdom”;
}

Now for the Google Map URL. In this case I have created a new Account attribute called “new_mapurl” this is then added to the account form where required. I also prefer to make this field read only by checking the field behaviour option in the field property screen. The code to generate the URL using the account address1 is as follows:

//Code to Populate Google Map URL field
crmForm.all.new_mapurl.DataValue = “http://maps.google.com/maps?q=” + crmForm.all.address1_line1.DataValue + “+” + crmForm.all.address1_city.DataValue + “+” + crmForm.all.address1_county.DataValue + “+” +crmForm.all.address1_postalcode.DataValue + “+” + crmForm.all.address1_country.DataValue;

We only use the first line of the address which does cause us a couple of problems with some addresses especially those within public buildings, but you can play with adding and removing fields accordingly. I guess if I was really clever I’d only apply the address lines to the URL if they are populated. You can of course modify this code to use a Contact or other address.
I hope that proves useful – as usual please feel free to use and abuse. Have fun!!

Related Posts:
How to use OnClick Event Handlers in MS CRM
Winning Hearts & Minds with CRM

Author: Paul Saunders

Our 100th Blog Post

To celebrate our first one hundred blog posts I thought I’d look back on our first 99 posts and figure out why despite some success and failure we’re still persevering with social media.

It was on the 15th of February this year that we first dipped our corporate toe into Social Media.
Our first blog post was something of a naïve placeholder welcoming the world, or at least our clients, partners and potential customers to an insight into our world.

At last” the world exclaimed, “finally someone is going to provide worthwhile content which shapes the way I think about technology”…. Or so I imagined. That’s not quite how I pictured it, but the vision was one of a portal into our activity with our blog posts being the by-product of what we do with some useful insights into our way of working and thinking.

The truth is that Social media is hard… bloody hard.

The social media universe is vast… absolutely massive in terms of variety, technology, content, format and users. We are scraping at a tiny icicle on the beak of an insignificant penguin standing on the very tip of an iceberg. The trouble is this: the iceberg we are on is one of those massive Antarctic ones that is the size of Belgium and there are millions of penguins catching the same ride and all the shipping traffic are a few thousand miles to the north…. To continue the aquatic theme, we are figurative plankton in a very large ocean. Millions of people have exactly the same goal as us, and most have been doing it quite a lot longer.

Our social media strategy currently uses four channels, but there are huge social media sectors that we simply aren’t tapping. That isn’t because they have been overlooked; we just haven’t dedicated the time and effort to generating appropriate content. Video, audio, podcasts, images and geo-location are not yet on our portfolio simply because they aren’t quite right for us just yet.


LinkedIn is probably the best known of business specific social networking sites. Time and effort here is spent on a personal level with most of our management team active to some degree or other using the site for engaging with personal and business contacts; for asking and answering questions via the various groups and forums; and very recently for recruitment (more on that later this week). We have found LinkedIn to be the most prolific site for time-suckage internally, but we have acquired and fostered genuine business leads and relationships via this site. The idea of LinkedIn being just an online address book is very wide of the mark.


To be honest I am hopeless with Twitter. I am continuing to fail to make a success out of the micro-blogging site. I struggle with the requirement to condense my thoughts into 140 characters. Although my number of tweets is now into the 800s I struggle to acquire and more importantly retain followers. I suppose that’s not the ultimate aim, but it is the most significant key performance indicator. The stream of internal and external spam accompanied by the odd quip is at least broadcast to our 200+ followers. Having said this, Twitter is consistently our number one referring site to our website…. So it’s not all bad news.


We’ve deemed Facebook to be a lower priority with our social media strategy right now. That is largely because we are a business-to-business service provider and Facebook tends to be used by consumers and end users. However it is without question the world’s most significant social media channel right now. This year Facebook overtook Google as being the most visiting website on the planet. Facebook had a film made about it; it is branching into other areas such as email and geo-location; and has the big three of Google, Apple and Microsoft seriously quaking. The whole area of social searching is going to be the hot IT topic of 2011 if you ask me. Here’s the thing: if you want to buy a product or service you will probably currently go to Google for the options and reviews, but next year the go to place for opinion and consumer reviews will be social media. Facebook will be leading that revolution. So we are on Facebook, but with quite different content. We tend to use Facebook as an insight to what goes on behind the scenes at Conduce with photos and social news rather than opinion or business news.

Our Blog is without question our flagship social media portal. It consumes most of our efforts and with one hundred posts is the source of majority of original content. However, if you were to ask what is our return on investment I would have to confess that I haven’t the foggiest idea right now. However the blog has contributed to our business in two vital ways.
 
It has directly shaped and honed our ethos.
It has allowed us to communicate that ethos and engage with our clients, partners and peers.

It would be inaccurate to state that we have obtained new clients as a direct result of the blog, but it is fair to say that we wouldn’t have won individual contracts and clients without it. The blog has helped to reinforce our credentials, our opinions and cement our authority on a given subject. It allows us to engage with people around the world on all manner of subjects that interest us and importantly gets our name out to a wider world that we probably wouldn’t ordinarily have the opportunity to speak to.

There has been more than the fair share of trial and error with blog posts and some of the more successful posts in terms of visits and comments are not what I would have predicted, but the focus has been sharper over the months, the ability to generate interesting subjects has become easier and the writing style has become more distinctive. We have gone from an organisation that posts content to the website to an organisation where blog posts are sometimes talked about.

In recent weeks we have been invited to talk and engage directly with potential customers and partners purely because of the blog; and in meetings our blog posts has been a talking point which has opened doors to opportunities which wouldn’t have been there without it. We have a saying internally that a good blog post should either “predict or provoke”. We don’t always manage to do that but sometimes we do both. I guess its luck of the draw with some subjects.
The effort put into the blog and other social media channels is only now starting to bear fruit, but the most important lesson to be learned from our first 100 posts is that it is vital to stick at it. Hopefully by our 200th post, that return on investment will be more tangible.

Here are some of the highlights of our first 100 blog posts.
iPhone vs Android App Fight – Most comments to date
Why isn’t MRO Software simpler? – Most talked about to date
Eyjafjallajokull is looking grumpy again  – Most visits on a single day
10 Reasons why Fax Machines suck – Most visits to date

To those that have read and commented on our blog and various social media posts:
one hundred thank yous!!

Author: Paul Saunders

Do Fatigue Risk Management Systems matter?

Asleep at the wheel – 158 people die.

One of the industry sectors Conduce are involved with is aviation.  During the last few years the world aviation authorities have demanded all players to introduce FRMS systems.

FRMS = Fatigue Risk Management System – This is nothing to do with metal fatigue.  It is people fatigue – That is people being very tired. It is all about staff (pilots in this particular case) carrying out safety critical tasks, who very rarely, may be so tired as to not be able to function on duty adequately & if they make a mistake, a fatal disaster may result.

During 2010 Conduce created the product www.FatigueReporting.com – This software is an online FRMS system. Some Conduce customers from other industry sectors have read our blogs & news articles about FRMS & have reacted with humour & even ridicule.

Quotes such as “Surely professional pilots would not fly an aircraft full of passengers if they were not fit for command?”

Well it is very unusual – but it is a big enough risk such that the world aviation regulatory authorities have brought in laws, forcing airlines to introduce systems such as www.FatigueReporting.com

In May 2010 we got a horrible example of this problem.  An Air India Express B737 crashed in Mangalore, with the loss of 158 souls – Wikipedia has a comprehensive reference article for catastrophe.

http://en.wikipedia.org/wiki/Air_India_Express_Flight_812

“According to the enquiry report submitted by Civil Aviation Ministry, Govt. of India it has been claimed that the pilot Captain Zlatko Glusica slept for over 90 minutes during the flight. The Air India Express IC 812 Boeing 737-800 carrying 166 people, including the crew, from Dubai crashed while negotiating the tricky landing at Mangalore city’s “table-top” airport overlooking a ravine. The American National Transportation Safety Board says ’It is the first instance of snoring recorded on a Cockpit Voice Recorder.’”

Snoring in the cockpit? – How scary is that?  
I would guess we would all welcome airlines enforcing a strict FRMS system – to ensure flight crew are not allowed to pilot an aircraft when they are so tired they fall sleep whilst in command.  Captain Zlatko Glusica perished in the crash & we can only pass our condolences to his family.  Was it his fault that he was in charge of a fully loaded 737 whilst obviously so tired he needed to sleep & subsequently could not adequately perform?

So does FRMS matter? – Is FatigueReporting.com important?? – You bloody bet it is!

As an aside – the next time you ride a train, take a bus or overtake a lorry on the motorway – Maybe it is a good thing if the relevant authorities are enforcing a strict regime to ensure the guys at the controls of these safety critical services are not snoring!

Related Posts:
FatigueReporting Production Blog Part 4: 5 Days to Launch
FatigueReporting Production Blog Part 3: Analysis
FatigueReporting Production Blog Part 2: Rebranding
FatigueReporting Production Blog Part 1: Bootstrap Mode

Author: Steve Russell

How to use OnClick Event Handlers in MS CRM

One of the cool things with Microsoft Dynamics CRM v4.0 is that you can create some really nice customizations using front-end configuration tools. There is no need to tinker under the hood and with a few basic programming skills and the ability to copy and paste you can make some really useful features. I’ve been playing around with a bit of javascript on a customer’s system that we’re implementing to help automate a couple of tasks and help usability.

You can customise entities within CRM by applying javascript to the OnLoad and OnSave events with forms and you can apply scripts to OnEdit events with individual fields, but how do use other javascript event handlers such as OnClick or OnFocus? I found the answer was simpler than I expected.

  • Go to the Customizations menu under Settings and select the Customize Entities option.
  • Select the entity that you want to customize
  • Go to Forms and Views and double click the Form you want to customize.
  • With the form opened in design mode select the Form Properties option under Common Tasks.
  • Under the Form Propertoies under the Events tab click Edit to view the OnLoad event details.
  • Insert the following code to carry out the required function when clicking the field in question. In this example I am using a custom attribute called “customfield”, but the same logic can be applied to any CRM attribute.

//code to apply an OnClick event to a custom field
crmForm.all.new_customfield.onclick = function()
{
    //do something cool here
}

  • On making the changes remember to click OK, then save and publish your customizations.

You can apply the same logic and trigger any other javascript events by replacing the “onclick” wording as required.

For a real life example my client uses an Account’s Address2 to record alternative contact details for their customers. Their customers tend to be private individuals and sometimes the second address is the same as the primary address. To speed up data entry I wanted to provide a simple way to duplicate the primary address to the second address with a single click (like when you use the same billing and delivery addresses with some eCommerce sites).

I created a custom attribute as a bitfield called new_copyprimaryaddress and positioned this next to the second address in the Account Form. Then I applied the following scrip to the Account Form OnLoad event.

//code to copy Primary address OnClick
crmForm.all.new_copyprimaryaddress.onclick = function()
{
    if (crmForm.all.new_copyprimaryaddress.DataValue)
    {
        crmForm.all.address2_line1.DataValue = crmForm.all.address1_line1.DataValue
        crmForm.all.address2_line2.DataValue = crmForm.all.address1_line2.DataValue
        crmForm.all.address2_line3.DataValue = crmForm.all.address1_line3.DataValue
        crmForm.all.address2_city.DataValue = crmForm.all.address1_city.DataValue
        crmForm.all.address2_county.DataValue = crmForm.all.address1_county.DataValue
        crmForm.all.address2_postalcode.DataValue = crmForm.all.address1_postalcode.DataValue
        crmForm.all.address2_telephone1.DataValue = crmForm.all.telephone1.DataValue
    }
}



Have fun!! Keep an eye out here for more useful MS CRM customization tips and tricks.

Related Posts:
Winning Hearts & Minds with CRM
The train is leaving

Author: Paul Saunders

Winning Hearts & Minds with CRM

I’m working on a CRM implementation project for a local charity at the moment. This week I was asked by the client’s senior management team to do a demo and presentation for their Annual General Meeting to explain the concept of CRM and to “win the hearts and minds” of the management. No small task especially as the server install was only completed 3 days before and the original remit for a 20 minute chat had mushroomed at the last minute to a 4 hour monologue.

Worse was to come: On pitching up at the client’s AGM venue I was delighted to find that the connection between the conference room and the client’s server was down. The boys back at HQ were on the case, but the prospects I was told were bleak…. No matter I decided to plough on undeterred. Those that know me will be able to attest that I am able to turn the techo-babble on and off like a tap, so I’d be able to stall until the first coffee break without having to dip in to the live system.

Normally I hate presentation slides that are filled with words… but in this case I chose two that I thought were wholly appropriate. First I wanted to explain the concept of CRM, but wanted specifically to pick out the details that were most relevant to the client. I chose to copy and paste the definition currently provided by Wikipedia which I thought sums it up nicely.


 
Rather than simply read from the slide, I used the text as a talking point and left the slide in place for a good ten minutes or so to allow the meaning to be explained and absorbed. The focus that I made was firmly on labouring the point that CRM was an organisation-wide strategy and that it was not simply an IT Project. To support this stance I used the following slide which I have used before. Again it is another word rich slide – but I was happy to compromise in this case given the circumstance.


 
After coffee the connection to the server was magically reinstated and no-one was any the wiser… Result. Later, the client’s Project Manager and Managing Director both approached me after the presentation and told me that I’d succeeded in my mission. Now for the hard work of getting the project done, but at least I have a few more managers on my side.

Related Posts:
The train is leaving

Author: Paul Saunders

iPhone vs Android App Fight

Mark and Wayne are simultaneously developing an Android and an iPhone mobile app for a Fatigue Calculator. One of the features that we are developing for our Fatigue Reporting web application is the ability to calculate the risk of fatigue for flight crew according to their rostered duty and their recent sleep patterns. We thought this feature alone would make a nice freebie mobile app, so the boys set to work.

Its interesting to see the different solutions adopted for the same problem due to the constraints and conventions of the respective development tools. Both apps are almost ready for submission and its a straight fight to see which one is submitted first and which will be available to download from the respective app stores first. Watch this space for more news on this subject.

In the red corner we have Wayne Enis with Fatigue Calc for the iPhone

And in the blue corner we have Mark Robinson with Fatigue Calc for Andoid

Which is best? There’s only one way to find out….
FIGHT!!!

Related Posts:
FatigueReporting Production Blog Part 4: 5 Days to Launch
FatigueReporting Production Blog Part 3: Analysis
FatigueReporting Production Blog Part 2: Rebranding
FatigueReporting Production Blog Part 1: Bootstrap Mode

Author: Paul Saunders

Instinctive Response

Yesterday was my daughter’s second birthday. To celebrate the day my wife arranged an archetypal children’s birthday party complete with sandwiches cut into triangles, cake and pass the parcel. On arriving home from work I was roped into DJ duties for the various dancing games… musical bumps, musical statues and so on.

Whilst picking my way through my iPod’s eclectic catalogue for suitable tracks I conceived a little experiment. I played “Intergalactic by the Beastie Boys” cranked up the volume and a curious thing happened…..

All the kids aged from two to six started dancing like robots. This had to be an instinctive response. I’m pretty sure that no-one had demonstrated to these kids what 1980s robot dancing looked like, but they all perfectly executed the dance genre.

This is the same generation of kids who touch computer monitors expecting them to be touch responsive, or who pinch traditional paper photographs expecting them to zoom in and out.

The instinctive response is a great tool for User Experience designers. One way to measure the success of a software design or to help design future development is to observe instinctive responses to software. If you want to know the best way to achieve something with an application, just give the software to a group of users and without telling them how to do it ask them to carry out the task you are looking to develop…. Their instinctive responses will provide the answer you are looking for.

Author: Paul Saunders

Global Tech Group Partner Conduce In Australasia

Conduce Group are delighted to announce that Global Tech Group have been appointed as our partner and distributor for Australia and New Zealand.

Global Tech Group, headed up by CEO Richard Vorias, is a business and technology services organization, specializing in bringing leading edge technology partners, products and services to the Australasian and Asian markets. With a strong focus in both the aviation and information technology sectors, Global Tech Group are perfectly placed to help Conduce Group develop our software solutions and consultancy services within the Australasian aviation sector.

As Steve Russell, CEO of Conduce Group, commented. “At a personal level, we have worked with Richard for many years and recognize the knowledge and expertise that both Richard and Global Tech Group have within the Aviation sector and the Australasian market. We are really looking forward to the opportunities that working with Richard will bring to Conduce and the added value that Conduce and Global Tech Group will bring to each other.”

Richard Vorias, CEO of Global Tech Group added. “Conduce Group is a perfect addition to our portfolio of technology partners. With a number of really innovative products and solutions, coupled with a progressive development ethos and first rate service delivery, we are looking forward to really helping Conduce Group grow within the region and beyond.”

Time Booking with Social Networks

Time and attendance systems can be rather emotive. I have never implemented a time booking system that hasn’t encountered some degree of adoption problems. Employees get upset about the perceived “Big Brother” attitude of managers; links to payroll systems have their own political problems and the requirement of management to have visibility and analytical capability of what employees are up to and how long it takes to do stuff is compromised.

Even if the implementation goes swimmingly, there always seems to be a battle between managers and staff to improve the quality of data being recorded. Retrospective time booking naturally results in reduced accuracy of time recording, whilst “live” time recording can be a distraction for staff, especially for tasks with a concern for safety. Put it like this – if you were riding a bus, how would you feel if the driver had to clock in to his time booking system at every junction…..?

There’s always a compromise between the need to accurately record the time taken for a specific task, the effort required doing so and how that impacts the natural flow of getting stuff done.

I wonder what proportion of militant staff has no problem generating a continuous feed of their whereabouts via social networks such as Facebook, Twitter, Foursquare or Gowalla. Not only do these location enabled applications generate a huge volume of data of user locations and time spent doing various activities, but there is a wealth of additional data and content that supplements these entries. Images, URLs and meta-data accompany virtually every post.

image source: http://datenform.de/blog/2007/10/

The capability is certainly there, but of course this is just consumer data, not business data….at the moment. There is also the age old consideration that work consists of tasks that people are obliged to do and play is something people are not obliged to do. Even if the activities are the same, work requires more motivation to be carried out. There needs to be a bit of innovation and effort from someone to link the dots between compelling and addictive social networks to creating a useful business application – but that gap isn’t massive and the technology certainly isn’t rocket science. Social Networks and Game designers have really nailed the concept of producing applications that are addictive, that users strive to complete or excel at. Can this concept of rewards and targets be applied to enterprise-level software for business?

I believe so. Why not?
 
Perhaps if your enterprise software had a feed to Twitter or Foursquare then your time and attendance data would be just a little bit more accurate. What do you think? Am I completely off my rocker or this is a viable and feasible idea? I’d love to hear your thoughts on this subject.

Author: Paul Saunders

Related Posts:
Why MRO Software isn’t Simpler
Why isn’t MRO Software Simpler?

Microsoft Financing

Microsoft have been offering financial options for some time however they are now offering a valuable incentive to assist SME’s reaching the end of the financial year. 

The New “Buy Now – Pay Later” promotion from Microsoft Financing gives customers an impressive payment holiday with 3 months of zero payments at the start of their financing agreement.  This applies to all finance agreement written between 1st October and 31st December 2010, and is available across the large majority of Europe. 

The interesting part is that the transaction can include services plus third party software and hardware, subject to a minimum percentage of 10% Microsoft content.  After the 3 months, the customer simply repays the financed amount over the term of the agreement.

No deposit is required and your affordable repayments will be spread over a convenient period of 2 to 5 years, with a very competitive fixed interest rate for easy budgeting. The simple documentation makes administration very straightforward.

Coventry City Football club have recently taken advantage of this promotion and implemented Dynamics CRM and ticketing solution that would enable them to communicate with its supporters and drive more business. 

“The benefits for Coventry City FC are obvious: a better rate of interest and a more responsive lender. It took about four working hours to get back to us with a decision in principle. It was extremely simple and quick”.
Mal Brannigan, Finance Director, Coventry City FC

If you require more information on this financing scheme and how we can provide Microsoft partner implementation services please get in touch.