30 April 2007

Tools of Choice (4)

Blog with Windows Live Writer

I like simple tasks to be simple.

I use the Blogger platform for this blog, hosted with my web hosting service.  It was easy to set up, and it works well for me.

And then, you need an offline blog editor to do the actual work.  (It is a pain to try and use the web interface).  So far, I have used Qumana.  It hasn't been too bad.  In fact, it's been quite effective, and I've enjoyed using it for more than a year.  And it's free.

Then I changed my account from the "old Blogger" to the "new Blogger" (Google).  Qumana didn't like it!  After trying every which way to get it working, and failing to get a reply from Qumana's help desk, I started looking elsewhere.

Ok, to cut a long story short, I gave Windows Live Writer a go.  I like it so far!

It's a Beta version, and has been for quite a long time.  There were a couple of things to get used to, a couple of annoyances, and, as expected with a Beta, the Help is pretty lightweight.  But in general, it's friendly and easy.  Pretty much does all I need.

It's nice to have some basic features that Qumana does not have, for example font selection.

It provides the choice of a number of editing modes, including true WYSIWYG, which is very cool.

Uploading of images whan publishing is an excellent feature.  The facility to easily insert Virtual Earth Maps could be handy someday.  And I also discovered (but have not tried yet) that there are quite a few add-ins available out there.

I assume a full version will eventually happen, and I look forward to that.

Technorati tags: , ,

29 April 2007

Real World Access (23)

One of a series of articles about where Microsoft Office Access applications have found a real-world niche.

 George Hepworth's Affinity for Access

mail distribution My client, a large, successful, insurance brokerage, markets its products through partnerships with several Affinity Groups. Affinity Groups — typically banks and credit unions, professional and social organizations — provide us their member lists. We solicit those members via a mass mail program and pay the Affinity Groups a fee for each sale made to one of their members. One database, split into an Access front end with a SQL Server back end, supports the entire operation.

We scrub the Affinity Group member lists to remove ineligible members and add them to the Access database to be included in future mailings.  At this time, the main roster table in the database has approximately 2.15 million active members.

We mail only to active members, but for business reasons, we have to maintain transaction history on all members who have been included in previous mailings, whether they remain active or not. Members become inactive for a number of reasons: the one we all hope for is that they become “Sold”. When sales are made, the Affinity Group to which that person belongs receives a fee for that sale.

The main transaction table in the database contained well over 1,110,000 transaction records as of the date this was written. It is growing at a rate of 6,900 to 200,000 records per month, as new mailings go out to members in targeted areas. Mailings must be targeted to areas where we have a strong sales agent available to service responses. Therefore, we have filters in the database so that we can select members on the basis of 5-digit ZIP code (e.g. 12345) or 3-digit ZIP code (e.g. 987) to target those mailings geographically for specific agents in that area.

Keeping the list fresh is also important. We’ve learned that four mailings a year from us is the maximum desirable frequency. We filter available names in a potential mailing by how long it has been since that member was last mailed to keep mailings fresh.

One feature of this Access application which makes it different from many mass mail programs is that we also track follow-up activity and results for each agent and each individual member. Agents report their activities with each member on their prospecting list twice a month. Every response is recorded as a follow-up activity transaction in the database along with the final disposition (e.g. Sold, Not Interested, etc.) for that member/prospect. We also track individual sales so that we can pay the Affinity Groups the appropriate Referral Fees as they are earned. And, of course, we track success rates and payment history for each agent and each group.

Weekly reports on all agents and all groups go to sales and program managers. Reports are generated as PDFs and Excel spreadsheets and emailed automatically to the current distribution list.

It all works extremely well. In the world of mass mail, where a response rate of 0.5% is considered a great success, our Affinity Groups average response rates from 1.2% to as high as 3.5%.

Tags:

Powered by Windows Live Writer

28 April 2007

Foreign Concept

Oldies are Immigrants to Computerland

Talking to my friend Jan today, and picked up an idea that really struck a chord.

My wife and I are both immigrants to New Zealand.  In Susan's case, the transition process has been, and still is, dramatic.  So we are very aware of the challenges of adaptation, and how you never really "get" some things about your adopted culture.

Then there's the world of personal computers.  For those of us who are old enough to have grown up without computers, we are immigrants to computerland.  What a fitting metaphor.

For myself, I was 37 when I first encountered a computer.  Now, of course, the PC is central to my life and work.  But there's nothing I can do to alter the fact that it will always be a second language, a foreign concept.

My son was 10 when we got our first computer.  Now he is an I.T. professional.  It is intersting to see how stuff I struggle with is second nature to him.  Just like a kid who migrates to another country soon speaks with pretty much the local accent, and sometimes has to help interpret (language and culture) for his parents.

Now my daughter is 6.  She has lived in a house where there have been more PCs than people since the day she was born.  'Google' was one of her first words.  Her blog is here.

Like many parents, we are concerned that our child's use of the computer should be appropriate and beneficial.  Most of what she needs to learn and develop, the computer can't provide... but that's another topic.  Nevertheless, she's a native citizen of computerland, and I will be fascinated to be part of this future with her.

Tools of Choice (3)

Virus gets the NOD

How do you decide about anti-virus protection for your computers?

Some people are experts, but most, like me, have to follow the experts' advice.  But with anti-virus software, it's a funny business, because under normal circumstances, you don't really see anything happening.  The only test occurs if your computer is infected, and the anti-virus software effectivley detects it.  Which for most people is a very rare occurrence.

For several years, I have favoured Avira AntiVir.  As far as I am concerned, it is the best free one.  I certainly had a great run with it, as did (and still do) many clients and family members.

But now that I am running my own server, and with more computers to look after, I have recently made a switch.  Based on expert advice, including that of my IT advisor at EastHarbour.

So I now have NOD32 installed on all my machines.  Haven't got a virus yet.  Nor has NOD32 detected any.  So nothing has changed.

There's certainly one thing I like.  It is very unobtrusive.  Just quietly updates the signature file several times a day, no big deal.

Their New Zealand website makes some pretty impressive claims about performance.  For example:

  • Most secure and effective solution on the market - has the best detection record of any antithreat product.
  • Unique ThreatSense Technology significantly reduces exposure and risk to new threats, consistently detecting >80% of new threats without requiring a specific signature update.
  • Lowest overhead of any antithreat product (up to 75% less system overhead).
  • Fastest scan speed of any antithreat product (2 to 50 times faster scanning performance).
  • Smallest update files of any antithreat product (typically 10–50 kb in size).
  • Fastest growing customer-base of any antithreat product.

So if that's to be believed, looks like I might have made a good decision.

Technorati tags: , ,

27 April 2007

RAD Cycles

The 24-hour Upgrade

Every now and then, as a developer, one is faced with what seem like "now or never" requirements.

For the micro-ISV, this can be exciting.  Out the window go any concepts of project management, formal specifications, version cycles.  Replace RAD (Rapid Application Development) with VRAD, and shoot for "get as much done as you can by dawn".

Such a situation happened this week:

  • A potential new client, Auckland Hockey, suddenly wanted to use my SportsRunner application.
  • In order for it to be useful to them, they would need to rip into it straight away, as their competitions start this week.
  • Being my first customer in this particular sport, there inevitably turned out to be some missing important functionality - par for the course.

Conclusion: Do it now!

So, they've now got a web page for their sports draws and results information, plus a version upgrade of the programme with some pretty significant customisation, plus a stack of telephone-based training, plus a pretty weary Steve.  Nice.

Nice to be working in a context where this sort of thing is possible.  Nice to be my own boss.  Nice to have small organisations as clients.  Nice to be using Access, which encourages such quick, flexible development.  Nice that it's the weekend.

Spam with jam

The Golden Age of Advertising

It was so disappointing to re-visit a website that I have previously found interesting, only to find it has sold its soul to the God of ClickThrough.

Gosh, I hope I don't lose too many friends for saying this.  I mean, I'm not anti advertising per se.  Nor am I against people taking advantage of the opportunity to earn a crust any way they can.  But oh, dearie me, I am getting so sick of having to wade through the bombardment.

As a matter of fact, my personal preference here is to avoid websites and blogs that have advertising.  Well, of course, there are commercial sites, and you obviously expect them to be promoting their goods and services.  That's not what I mean.

And then there are the sites whose primary purpose purports to be information, or community, or some such.  The site I mentioned in my first sentence is one such site.  Or should I say "was"?  Technical articles, mainly, which are now distastefully arranged amongst the rubbish.

I have heard it said that there's no such thing as a free lunch, that someone has to pay.  Well, all I know is that there are still plenty of great websites and blogs whose owners seem willing to provide via the "give & take" system.

I have heard it said that it is easy to turn a blind eye to the advertising, and just focus on the worthwhile content.  I don't know, maybe my own avoidance of advertising in other media as well (no TV, no newspapers, etc) means I haven't been sufficiently desensitised by over-exposure.

Here's what I don't understand... How is it different from spam?  I go to the internet to find some information, and scattered in amongst it are multiple unsolicited attempts to entice my attention to stuff I do not want or need, and which I was not seeking.  This stuff within my browsing experience is just as objectionable as this stuff within my email experience, and as best I can, I treat it the same way - ignore, avoid, delete.

It seems that the trend is for the role of internet advertising to be gaining in prominence.  I wonder how long this will continue.

Tags: , , ,

Powered by Qumana

12 April 2007

Real World Access (22)

One of a series of articles about where Microsoft Office Access applications have found a real-world niche.

 Oliver Stohr's Good Health

One of the largest applications I ever build with Access is used by a large staffing contractor, who provides staffing services for the federal US government. As with many projects, this was born out of bare necessity.

Because of sensitive and very important work the contracted employees have to be guaranteed to be up to date on health related aspects like vaccines. The staffing company works in cooperation with a health provider, who supplies employees with health checkups. Before the implementation of the Access based system the company was using Excel spreadsheets to try to keep track of their thousands of employed contractors as well as their health information and requirements. Needless to say this setup did not work at all and relied on a user to actually manually check statuses of each employee on an almost day to day basis.

Leaving the door open for human error one specific critical and almost scandalous problem occurred. This was the turning point for the decision that there is a vital need for the implementation of a system which supports the company and warns users with specific deadlines before they are breached.

So I created a tracking system within Access which stores employees' data and health statuses from many different government sites. The system automatically warns supervisors as well as the health provider if an employee needs a specific health check update (e.g. vaccine refreshers). The warning is send and displayed until the health issue is updated, which is either done manually by data entry or by importing provided spreadsheet data from the health provider. On the other hand the health provider can also be provided with exports from the system in case their files are out of date (the health provider uses an unreliable paper based filing system).

The system implementation had several different important requirements. The data within the application should be somewhat secure (confidential information). Furthermore, the application should scale and adapt to several different users (local supervisors, cooperate supervisors, administrators, data entry…). The application should also run at different locations without the need for purchase of additional resources (software, hardware…). After assessing the complete situation I decided to go with an Access based system which fulfilled the project requirements.

The application has been in circulation for several years now and is currently being used by many different supervisors at different contracting sites. It has proven very successful in scheduling and tracking employees' health issues without any loopholes and satisfies all the company’s needs without any further problems.

Tags:

Powered by Windows Live Writer

10 April 2007

With a Little Help From My Friends

What Goes Around Comes Around

The idea of community is not a new one, of course.  For as long as any form of social mobility has been possible, I suppose, people have been choosing to associate with others with whom they have something in common.  For the purpose of companionship, support, sharing and leveraging knowledge and skills and resources.

I'm not even sure that the term is gaining currency today.  Thirty years ago I was the editor of the "Golden Bay Community News".

There are people like Sean O'Driscoll very actively talking about community, within the specific context of online communities.  It is certainly exciting, and challenging, to see how modern technology is facilitating the formation of, and participation in, certain types of communities.  The blogosphere is an example of this.

It is also interesting to me, to see the growth of technical user groups, and other examples of people seeking face-to-face community participation.  Another example, from my own experience, being the MVP Summit meeting I wrote about here last week, where many people said the main attraction was the personal contact with others in their special communities.

Today I have been reflecting on another way in which community is important, in the context of the micro-ISV business.  It is no secret that it is becoming more and more difficult to maintain a broad range of technical skills and knowledge, and people are becoming more specialised.

Fair enough.  If you work as part of a large team, or within an organisation, it is more likely that you will have access to people who can fill in the gaps or complement your own skills.  However, if you work on your own, or in a small organisation, you sometimes need to call for help within your informal network of communities.

Maybe this is increasingly so.  A couple of idiosynchratic examples, give and take, just today:

  • I was able to help someone I know through the WOUG community.  This person runs a micro-ISV business, and is skilled with developing Microsoft Office applications, but needed some advice regarding some specific Microsoft Access functionality.
  • I was able to call upon help from an ASP expert that I know via the MVP community in Australia and New Zealand, to solve a problem I was having with one of my websites (web development is decidedly not one of my strengths).

I reckon it is becoming less likely that these sort of problems can be routinely solved, by either acquiring the expertise yourself, or engaging the paid professional services of an expert.  Those certainly are appropriate approaches in some circumstances.  But so is asking for a little help from your friends, on the basis of "what goes around, comes around".  I personally find something very appealing in this type of process.

Tags: , , ,

Powered by Qumana

07 April 2007

Tools of Choice (2)

SnagIt - Screen Capture and Image Editing

One of the software tools that I find indispensible is SnagIt, produced by TechSmith.

In fact, I have been using it for several years, and it has continued to improve with age.  I am now on Version 8.2.

I won't attempt anything like a comprehensive review.  For one thing, there are still heaps of features of the product that I haven't explored yet.  There is a lot of good, clear information on the SnagIt website, in fact that's one of the strong points.

One thing I like about SnagIt is the aesthetic experience of using it.  It's nice.  It looks good, it's real easy to understand and use (in spite of being so richly featured), and the Help is superb.  Like writing with a fine pen on quality paper, just makes the task more pleasurable.

Ok, so it's about screen capture, and image editing.  There are a myriad ways in which this can come in handy.  The key with SnagIt is flexibility - you have so many options of where, how, format, editing, sharing.  If you've never explored it, it's worth a look.

But that's the still image functionality.  One of the most exciting and useful features of more recent SnagIt versions is video capture.  I use this a lot.  If you need a real heavy-duty professional presentation quality video with masses of control over formats and settings, then there is Camtasia Studio, another superb product from the same company.

But for me, I often have the need for a video illustration of a software functionality or process.  This may just be to help explain some specific point in response to a client enquiry.  Or it may be to provide instructions to users about a specific feature - either a new feature in an application, or something they need help with using correctly.

In these types of scenarios, the priorities are for quick, clear, simple.  It is so fantastic to just whack on the headphones, open SnagIt, run through the applicable process, with spoken commentary, and hey presto, there we have an .avi video file that can be sent straight away to the client.

Previously I would write a detailed email to the client, trying to explain the process, step by step.  Making a video with SnagIt takes a lot less time than it would for me to do the email. And then I generally get a lot less follow-up "what does (x) mean?" questions.  So it's a time saver for me, and easier for the client.

The video files tend to be quite large.  I zip the files and put them on a website, for my clients to download, unzip, and play locally.  If it is a meaty process, I will split the process into several steps, with a separate video about each step.  Using the default configuration settings, a 2 minute video might be 50 Mb, which zips to about 10 Mb.  Most of my clients these days are happy to download zip files of up to 10 Mb each, and you can get quite a bit of stuff covered in 2 minutes!

Another very cool SnagIt feature that I was excited to discover recently, is the "SnagIt Printer".  From any place where you could normally print from, you can select to print to SnagIt, and the document will get saved as an image file (your choice of formats) instead.  This is sometimes a real neat and easy way to make a PDF, for example.  It is also great if you need to insert one document within another for illustration, or output a document in an email, as a couple of other examples.

So, there you go. SnagIt. Couldn't live without it.

Tags: , ,

Powered by Qumana

Real World Access (21)

One of a series of articles about where Microsoft Office Access applications have found a real-world niche.

Garry Robinson's Spreadsheets

Excel is a far more popular tool in the real world than Access, and whilst most developers will find it a clumsy tool to develop in, the reality is that many systems are set up in Excel. Irrespective of the obvious technical merits of storing the core data in a database, spreadsheet users have learnt how to achieve good results in a spreadsheet and are generally enthusiastic about their own applications. It is into this world that I find my team's Access skills being called upon time and time again.

So why is an Access developer called into the Excel world in the first place? Usually we are called in to fix up a data management mess or the Excel guru has left the company and the spreadsheet no longer works. For example the spreadsheet user will enter the data for one month and produce a report. Then the next month they copy the spreadsheet and enter the next month’s data and make a small change to the layout of the new spreadsheet. When they are asked by their manager to produce a yearly report, it’s very hard to reference all the spreadsheets because the layouts have changed.

We have a simple solution. We tell the client that we will put all the data in Access and that we will use their very own spreadsheet for reporting. To achieve this we set up an Access reporting form with a date selector, a few filters and a button to export the information into an Excel template *.xlt (that is a slightly modified version of the original spreadsheet). The technology we deploy to manage the transfer of data from Access to Excel and the manipulation of the spreadsheet programmatically is Excel Automation.

Real World examples that we have been involved in this year involve a gold sampling quality control system that had evolved into 50 megabyte spreadsheet, financial data from SAP that was being managed in an array of spreadsheets and a reporting system that checked the costs of drilling invoices.

Tags: ,

Powered by Qumana

Congratulations

2 New MVPs in Wellington

I was delighted to learn that Microsoft has awarded two new MVPs in Wellington, New Zealand.

Chandima Kulathilake and Mark Orange are both involved with the Wellington SharePoint User Group.  Chan authors a great SharePoint blog. I have the honour of knowing both of them.

Congratulations, guys!

This furthers Wellington's unofficial status as the MVP capital of the world!  The Microsoft MVP programme has grown considerably since I was first awarded 6 years ago.  I believe there are now over 3,700 MVPs worldwide.  Of these, 25 are in New Zealand.  Of these, I believe 20 are in the Wellingon region.  Without access to definitive figures, I would nevertheless be pretty certain that this means there are more MVPs per head of population in Wellington than any other city in the world.  Which is very cool!

Tags: , ,

Powered by Qumana

06 April 2007

Limbering up

A Dose of Insight

When you work on your own, it is sometimes easy for your focus to get a bit narrowed down and stale.  Well that's what I find anyway.

Every now and then you need to get a shot of steam from somewhere, and in my experience, books or online content do not always measure up to the task.  There's something about a live experience that can't be compared.

In this context, Susan and I had the opportunity this week to attend a presentation by Kevin Roberts, worldwide CEO of Saatchi & Saatchi.  It was an awesome experience.

He was talking about "Taking Wellington to the World".  I suppose a lot of the specifics are, in practice, only actionable in the context of big business and large organisations, which is not us.

A few of the gems...
He talked about the diminishing relevance of countries and nation-hood, and the increasing focus on cities as the locus.
He talked about the increasing importance of community and personalised service in business.
The decline of plans and policies in favour of action - "fail fast, learn fast, fix fast".

Whatever, you get the impression that here is a guy who has his finger on the pulse of a lot of what's happening in the world, and who has the ability to call the shots as he sees them.  After an hour in the presence of such a person, I went away feeling energised and expanded and loosened up around the edges.  I think my ability to work effectively, and make good forward-looking decisions, has been boosted.

I think we need to do stuff like that more often.

Tags: , , ,

Powered by Qumana

05 April 2007

Bugs and Creepy Crawlies

Testing Custom Software

There is a huge amount written about the testing phase of the software development cycle.  There is the traditional concept of Inception - Analysis - Design - Implementation - Testing - Deployment.  Wikipedia articles expand on this in all directions.

These theories focus almost entirely on large-scale team development of commercial software.  Fair enough, I suppose - the bulk of software development falls into this category, I suppose.

But I, and the people I most closely associate with, live in the world of custom software development by very small teams - often a team of one. I have written here before, and here, about some of the contrasts of scale.  The same rules do not apply.

Nevertheless, it caught me by surprise recently, to learn how many of my colleagues take a similar approach to me.  Quite a few of us were discussing this.  Funny how one's assumptions can be off-beam... for some reason I imagined that many developers of targetted custom solutions would nevertheless work more closely with traditional development life cycle processes.  Not so.  Which is nice to know.

Here's the approach I take.  As part of the process of discussing a project with a client (whether it's a new application, or modification to an exisiting one), I will explicitly broach this subject.  I tell them they have two options:
1.  After building the application, I will extensively test before delivery.  This will significantly delay delivery, and increase (in some cases double) the cost of the work.  I will then guarantee the app, and fix any bugs free of charge.
2.  As part of the development work, I will check that I am "reasonably satisfied" that it works properly, and then deliver.  After that, they are the testers, and I will promptly fix any problems that they find, at their cost.

So far, I have never had anyone choose #1. Nor do I really expect them to.  In fact, I only throw the idea into the ring in order to put the nature of our relationship into perspective.

If anyone ever does choose #1, I will have to be careful to define the difference between "bug" and "specification creep".  You see, one of the main causes of post-delivery work on a custom application, is the result of the user trying to do stuff that you never imagined, in ways that you couldn't have predicted.  The work to "fix" this normally has to be seen in terms of providing extended functionality, rather than correcting a programming flaw.

And wrapped around all this, are the main things that I love about working in this sector.  First, the fact that you are usually working with unique and very specific requirements, to produce a solution at a high level of efficiency, and the satisfaction that comes when "it works", in terms of the benefits to the client.  And second, the fact that you know the people who will use your application, and working in with them directly.

Tags: , ,

Powered by Qumana