What-Am-i-Doing : Date Range

by Lawrence 20. July 2010 09:02

I've just added a date range filter to the quick anaysis page of What-Am-I-Doing. My financial year end is at the end of June, and I've only just got round to doing the final invoices for a few customers. I thought that I'd just do a quick check on what I've worked on over the last 6 months to ensure that I've not missed anything.

 

When I look at my timekeeping data, it alway astounds me that I've worked on so many distinctly identifiable projects - information that would be lost if i was not recording time in an automated way.

And it resulted in 2 additional invoices (one from work done back in January) that could have been missed.

 

Tags:

What-Am-I-Doing

BP and Cloud Sourcing

by Lawrence 17. June 2010 07:51

I'm astounded that the oil spill problem in the gulf is still going on. Every problem has a solution, and if you throw enough resources at it then it has to be possible to fix it or improve it.

 

Having said that, I've not got the full facts. I was wondering if there's a place that you can get all the information - the design of the breach, the rate of flow, the diameter of the pipe, the likely pressures, what the access is like, how deep it is, what tools are available. If this informaiton was shared then "the croud" might be able to offer some ideas. I understand that most of these would be mad or stupid or already thought of, but the power of the crowd is that it is likely to come up with several plausable, lateral thoughts that might just fix it.

Two possible areas for suggestions - stopping the flow or mittigating the damage

It's a brainstorming session, so no flaming or derogatory comments.

If you've got any ideas, please comment them here...I'm going to add a few.

 

Tags: ,

Wasting Time

I Love SalesForce...sometimes

by Lawrence 2. May 2010 22:36

I have a love - hate relationship with SalesForce. Some things that they do are fantastic, some drive me nuts. This week, I think that I'm probably generally in love with it.

I feel I've been working on the bleeding edge of what Salesforce wants to do. I've been writing some reasonably complex AJAX, creating some custom pages and moving data around a bit using te API. Here's the key points (that are not commercially sensitive) of what I've been doing.

Dependant Picklists

I've had several cases where I've had to move data from a single picklist to a pair of picklists with a dependancy. While you can use the replace function in the user interface (Setup, Customize, select the object, fields, select the picklist field and choose replace), this will not allow you to move the data to a pair of picklists. To achieve this, I've had to create some VB code that uses the API to copy the data from the main picklist to the dependant one. I've then used the same code to update the master picklist. The beauty of this is that it could all be tested in the Sandbox, and then executed on the live server.

Multi-Picklists to single picklists.

Some data had to be moved from multi-select picklists to single ones. Changing the field type like this deletes all the data. The same tool developed above could be used to re-implement the data once the type change had deleted it.

APEX Custom Pages

The Apex programming language is incredible. It really is the ultimate in cloud computing. Based on the Model / View / Controller architecture, you can create incredible functionality with relative ease. I've been...

  • Displaying notifications to users to make sure that they are aware of the procedures for various parts of the sales process.
  • Making it harder to create an opportunity (so they find it easier to go down the Lead / Convert route for reporting purposes)
  • Automatically creating emails that used to take upto 30 minutes to gather the information for, and sending them directly to business functions when appropriate.
  • Creating a charging structure based on the importance of the account, and the number of previous activities.

Time Zone

One of the interesting challenges was to take a free text entry for the country, and convert it into a timezone so that the lead qualification process could have a better idea of when to call. In addition to this, for the USA we wanted to know what the approximate timezone for the state is. We've implemented this using an external web service. In support of this, the website that feeds leads in to SalesForce has been updated so that if the country selected is the USA, then the visitor has to select the state too.

Test coverage

I was really impressed that, before you can deploy an apex class to production, you are forced to test it. It's an incredibly clever system that forces you to write classes that use all of your functionality before it will allow you to deploy the new code.

Data Validation

Prior to deploying the changes and running the data updated, I took a backup of the Salesforce data in to SQL Server. I ran the backup again after the updated, and have been able, using some simple SQL, give a complete report of which fields have been updated, and to what values.

Feedback

Because these changes are the implementation of a new sales model, it's important that we understand how things are going - so we've created a custom object for feedback. It's a really simple idea, but one that ensures that people think that they are being listened to, and gives us a good feel for how well it's being accepted. Each time some feedback is added, I get an email so I get to stay on top of it too.

 

Tags:

CRM

Internet World

by Lawrence 28. April 2010 15:02

I visited Internet World at Earls Court yesterday. I'm not madly keen on exhibitions, but I am keen to keep current and understand what's important to people. The things that I noticed were...

1) Everyone is peddalling the same stuff. The show is split up into areas, which means that as you move from stand to stand you get the same message repeated until you leave that area.

2) No-one has really worked out their unique selling point (USP). These are the people that have massive marketing budgets, but they are saying the same things that I believe about my company.

3) I learnt more about what's important to people by chatting to the person behind me in the queues that I did from most of the speakers. I got honest opinions and great feedback which is really valuable to me.

I was left with two thoughts:

 - there's people put there selling websites that start from £45k which have less functionality, are less useable and have less compelling design than the websites that I produce for £10k. Their overheads add no value to the website.

 - it took till about 9:00 in the evening to have the irony pointed out to me that I'd travelled up on the train to see the interent...

Tags: ,

Technology Days

IP Cameras

by Lawrence 16. April 2010 12:40

I've bought a couple of IP cameras over the past could of years.  Not for any real purpose, more to experiment with what's possible. They all seem to come with web interfaces that are a bit ugly and unwieldly. One of them uses an active-x control that knocks my desktop back to Windows basic.

What I want from my camera is a really easy interface that starts when my PC starts and gives me a gadget sized app that doesn't get in the way. My office is in the  back of the house, and I want to easily be able to see who it is coming to the front door.

Searching around, I found some code that enables me to do just this - I've now created a VB.net app that shows me small images from all my cameras, doesn't use too much CPU and doesn't get in the way. Just got to connect the audio now, and I can work in the office and still be "child minding" to a sufficient level!

 

Tags: ,

Wasting Time

CfMD for CRM Migrate

by Lawrence 8. April 2010 15:51

QGate, whom I work with on CRM Migrate, have been working towards getting the application Certified for Microsoft Dynamics. We've just got the app through the technical testing. There was a couple of things that we needed to check before testing however it passed the test first time. We've just got some references and paperwork to sort out and we'll be able to use the logo!

-- EDIT --

QGate have now done all the paperwork, so it's official - we can use the CfMD logo.

Tags: ,

CRMMigrate

New User Interface

by Lawrence 6. March 2010 09:23

I've just released a new version of What-Am-I-Doing on to the test URL. As a click once application it should (and has) downloaded to the users who are using it from this URL.

The most exciting development is the changes to the interface along the lines of "What are you trying to do" rather than my previous geeky / as it developed interface. The changes have led to some simplification and some duplication - which is intentional.

The main allocation screen has been altered so that it's easier to see the list of customers, and the list other projects. Todays allocated items has moved from the left to the right - which kind of makes sense in a work flow - you're moving stuff from left to right. You can also double click on this grid to allocate directly to a project. This works as people do tend to work on a set of projects in a day. More often than not, the rules have already allocated to the project so its just a case of using the items there. 

 

I still feel the need to add projects from the main allocation screen. It's really annoy me if, after selecting some entries I realized that I needed to change screen to add a project. On the other hand, the customer / project management screen is much easier to use in isolation when  setting up new customers and projects..

The Rules screen has not changed much - it's just come into the same screen rather than being a dialog. This area probably needs some more work, but that can be for the next release.

Behind the scenes, there's a significant change. On the setup screen you can now change the URL that the data is logged to. The default is, of course, http://www.whatamidoing.co.uk, but if you double click this text box then it'll ask you for a company name. The entered company name is checked against the main database and the appropriate URL is returned. This is important as it means that I can ship 1 application and it can serve both standard customers and the people that are running it on an in-house server. It also means that I maintain the control over who can use an internal / company specific URL.

If you've got any comments on the interface please let me know.

 

Tags: , ,

What-Am-I-Doing

An expensive bag of rusty spanners.

by Lawrence 22. February 2010 23:18

I've been to an Azure Training day today. The training was great, however it it seems that none of what I learnt was any use to me, or if it was then the costs make it prohibitive.

I was looking at it for scalability. What-Am-I-Doing is likely to need some help scaling. It creates a reasonable amount of data - 600 or so lines of data per day - and I need a way to multiply that by the number of users. Azure is not the answer.

SQL Azure costs either $9.99 per month for a 1GB instance, or $99.99 per month for a 10GB instance. Plus I'd have to pay for data transfer.

A 10GB instance is neither cheap, or any more scalable than a standard SQL server licence.

Rewriting the app to use the Azure storage option is a load of work, and to be honest, I can't be bothered. The reason for using a relational database is so that the data can be easily managed and related.

I think that I get, I just don't get it. There was one person who I could see was going to get great benefit from Azure. They run a public organization that each year runs a public survey. In one weekend they get a massive amount of traffc to collect survey results. This is an ideal use of Azure instances - they could just switch on more instances for the weekend, and then switch them all off when the survey is complete.

It was an interesting day, well enough presented, and the hosts (ICS at Basingstoke) were great. It's just a shame that Azure is not there yet.

Tags: , , , ,

NettMore | What-Am-I-Doing

The Simplest Mobile Application.

by Lawrence 31. January 2010 10:34

One of my customers has been trying to address a couple of issues with their mobile work force.

  • They sell items that are out of stock
  • They don't sell items that are in stock
  • They call head office too often to check prices

Before talking to NettMore they had started off down the route of a Windows Mobile application that synchronized the data each time the user conected, however this prooved to be pretty time consuming to develop, tied them into their existing mobile devices and the data was out of date almost immediately.

We took the approach of using a web application. Each night an inventory file is sent to a server in our data centre. A process loads the data into the database. Users can log in and see what is available.

We spent a lot of time working out what the best search strategy was. Whether to show results with all words, or any word (ranked), and ended up with all words. We can also control whether the results returnd are in stock or not, and whether they are "fast moving stock" (current) items. They can search by part code too.

There's 2 bits of price information. The RRP Price. There's also a price code which tells the rep what level of discount they can offer.

This project delivered a number of bonuses to the customer:

  1. The reps actually use it (they didn't trust the old system)
  2. We know the reps are using it, and what they are searching for
  3. The internal customer services use it to look up prices as it's quicker than any other system
  4. I've got a list of their products with a short description of each.

Why is number 5 a bonus? Because it means that, as I host their website, I could create some pages on the website that listed all their products. And they gave me some images named by product code, so I could automatically show these next to the product.

They weren't sure at first, however they are convinced now. When they look at their web analysis stats, a significant number are arriving at the site as a result of a product specific search, and these are often tracked straight through to them requesting a catalogue.

Content is king. Even better if you can use automatically generated content appropriately!

 

Tags: ,

NettMore

I Hate Twitter

by Lawrence 25. January 2010 12:02

I must be old, becuase I hate twitter. I hate the fact that you only get a limited number of characters.  I hate the fact that people put such mundane aspects of their life on it. I hate that so many people using it have no idea why they are doing so!

One of out servers is hosted at RackSpace, and last week it went down for a little while. I tried to phone, and that wasn't working either. So I went to twitter and there was already 3 or 4 people commenting on the fact that their servers were down. This is the IT equivalent of, during a power cut, sticking your head out of the front door to see whether it's just your house or the whole street. It turns out that it was the whole street.

I admit that I am a fan of Racksace. Generally their response times are incredible (fanatical even!) and while our server was down for a few minutes, it came up pretty soon. I know that we pay handsomly for this, however for this application it is worth it. I'd say it was almost as fast as I could have worked out that something was wrong and walked into my server room to see what the problem was.

Out of interest, I went back to twitter, and there they were. 10 or 12 people already moaning about the failure of their rackspace web server. I hate twitter.

Tags: ,

NettMore