Booleanize!

I am using Smarty Templates extensively in a custom application. The application relies heavily on both PHP .ini and Smarty .conf files.

The .conf files had boolean settings, meaning values set to the literal strings of “true” and “false”, and when I read them in, with $smarty->config_load(’file.conf’);, my booleans were converted into either nothing (false) or 1 (true). I am using them as literals - so the conversion was not good.

I just started looking into changing my code to compensate, when I decided to review the Smarty documentation again. The booleanize setting allows you to disable the conversion from false to nothing and true to 1.

An enthusiastic thank you to the Smarty team!

:D

WordPress 2.5 Image File Upload Errors

In addition to b2evolution, I have WordPress 2.5 blogs, which were extremely easy to upgrade through Fantastico.

There were two issues that were causing image uploads to fail.

Here are links to the two solutions that worked for me, with thanks to the authors.

http://www.hongkiat.com/blog/wordpress-25-image-upload-error-wordpress-fix/

http://www.northfieldweb.com/wordpress/?p=36

Tracking professional service project costs

Based on the assumption that the project has an adequate budget established by careful estimation and communication with the client, the following tracking can be used to determine the cost.

Track everything.

First, all the indirect fixed costs - rent, power, phone, water, taxes. For any given day, a certain amount of money is spent regardless of activity. Know this number.

Next, the direct fixed costs - server, Internet access.

Management should be tracked at the project level. Any meeting held to discuss a project should be billed, by all parties, to that project. That does not mean the client will be billed. It ensures that the cost of the project is accurate.

Direct labor costs must be carefully tracked. If it is related to the project, it must be tracked. Reporting must be specific enough to allow management to determine where the money was spent and why. Unauthorized charges must not be allowed.

Indirect labor cost must also be identified. For example, an email problem for the client. This must be billed as support. The same is true for training. These are hours spent assisting the customer that do not help complete the project.

Marketing should be identified as such, and reported - either with the project or the client.

Change

Fixed price vs. hourly web sites

A company that can’t manage a fixed price contract profitably will not succeed on an hourly billing system either. Instead of losing money, they will lose clients.

Clients need to know how much they will pay for a product or service, how long it will take to do the work, and they should be protected from mismanagement, mistakes, and scope creep - whether they caused them or not. A fixed price contract must be clearly detailed for both the provider and recipient, and then both parties must adhere to the agreement. It is much more difficult to ensure a project with hourly billing actually delivers what was sold, because the provider’s goal is to get paid for work - whether it is in the customer’s best interest or not.

This isn’t to say the providers are exclusively self-serving, but that they need to pay for the work done. If a client calls with a request that really should not be granted - the provider is likely to say ‘it is their money’. On a fixed price contract, a good provider will probably say, ‘that’s outside of the scope, it will cost extra’. The same is true for time - if a task exceeds the time allocated, but the client is still paying, the provider may continue to pursue it, although the deadline may slip.

If the client doesn’t understand the requirements well enough, they should clarify them or a subset, to allow a manageable project.

Maintenance is well-suited for hourly contracts, retainers or allowances, which allow the client to purchase enough service to address their needs, and then pay hourly for additional work.

The point is: if you have a well-defined set of requirements, and a company refuses to offer you a fixed-price contract, you should definitely talk to more companies.

An hourly contract is a financial vehicle that says, “we can do it, just give us money,” but doesn’t agree to ever finish it.