Sunday, 27 July 2008

Google Pagerank update - Strange results

Two or three days ago Google exported the current Pagerank values to the Google toolbar. I always find this interesting - not because I put a huge amount of faith in a higher Pagerank value, but simply because I take a higher Pagerank value to mean I'm probably doing something right in terms of SEO.

This time round I had some confusing results. On the main SliQTools website, 6 inner pages moved from PR2 to PR3 but one page dropped from PR2 to PR0. The homepage itself remained at PR3 while another page (relatively new) that does really well in SERPS for certain keywords had PR 0. I find it a bit hard to explain how so many pages are PR3 and the homepage is only PR3 and why other pages are PR0 but still do well in SERPs. I guess Pagerank isn't as important as it used to be.

The other confusing aspect about the recent export, is that another of my websites has gained PR2 from PR0. This is hard to explain since it only has links from a forum. Its inner pages are PR1 even though one of them is virtually blank.

I collaborate on another blog with a friend. This blog is still PR0 but he has a new website - registered less than 2 months ago that only has links from the PR0 blog - and the new site has a PR of 1 which is higher than the only external site giving incoming links.


New Directory Submission Tool

SliQTools have just released a beta of a new directory submission tool called SliQ Submitter.

SliQ Submitter helps speed manual submissions to web directories. Submitting to web directories can still be an important way of gaining backlinks for a website in order to help with positioning in search engine result pages.

SliQ Submitter is available for free. The tool currently handles submission to about 450 directories and will be updated in a future release to handle many more.

The software allows up to 5 titles and descriptions to be specified together with up to 6 categories. SliQ Submitter autmatically fills out the fields in web directory submission forms. All you have to do is review the submitted details, enter any captcha and click the directory's Submit or Continue button to complete the process.

To find out more about SliQ Submitter, go to

Thursday, 24 July 2008

.Net WebBrowser Control & DocumentComplete event

Lately I've been developing a new application that includes an embedded web browser. The application loads specific web pages and then reads and writes to the fields on the page. For example, it might set some fields to text values defined by the user or read the value of a combo/ dropdown to see if a user-defined criteria is met.

The fundamentals of the new application were working OK but under some conditions my code failed to access the fields on a loaded web page. The access code is executed in the .Net WebBrowser control's DocumentCompleted event.

The DocumentCompleted event is fired after calling the control's Navigate method to load a web page. After some investigation I found that the DocumentCompleted event was being called more than once when a page was loaded. What I had to do in the event was test the WebBrowser's ReadyState property and check that the state was Complete. Only when a Complete state was set could the DocumentCompleted event run code to access the HTML fields on the web page. The DocumentCompleted event might be fired many times as a page is loaded but any code accessing the WebBrowser's Document property should only be executed if the ReadyState property has a value of Complete.

Friday, 18 July 2008

Keyword Research Tools

Google have recently released a new keyword research tool at this link:

This new tool gives estimates of search volumes for different keywords and can be configured to specific regions, e.g. the UK. If you need to choose keywords for a new web page where ranking in SERPs is important, this tool can provide a better way of picking good words and phrases than simply guessing which might be good.

Thursday, 17 July 2008

.Net Double vs. Decimal

One twist with floating-point values is that they cannot represent every possible number. In part this is because the types are of limited size, e.g. Double only has 64-bits of data to work with. The number base used to represent values also has an effect. The .Net float and Double are encoded in base 2 (binary) format. It's not possible to represent every base 10 decimal number in base 2.

To increase accuracy, use the Decimal data type. The .Net Double data type is a 64-bit floating point value whereas the .Net Decimal data type is a 128-bit floating point value. These extra bits alone might be sufficent to make the Decimal type more accurately represent numbers than Double. However, unlike Double, Decimal is encoded in base 10. This means it can exactly represent base 10 numbers, i.e. the number system humans use, and make it an ideal type for financial calculations. The way the type works allows 28 digits of accuracy, i.e. you can represent 28 decimal digits with the decimal point moved to any position amongst the digits.

So why use Double if Decimal is available? The downside with Decimal is performance. Decimal operations can take 20 to 40 times longer than Double calculations. Most, if not all, processors used in PCs these days have 64-bit floating-point support built into the processor. Decimal operations however have to be done in software and take much longer to execute.

Wednesday, 16 July 2008

Beefing up Backup/ Restore Protection

Sometimes the easiest solutions are the best. Rather than worry about whether having Restore buttons on the new Company tab in multi-company SliQ could carry a risk of users overwriting data with data for the wrong company, we've now added an extra check. When the user restores data, we now check if the data being restored is for the same company. If it isn't we let the user know and ask for confirmation before continuing with the restore.

This additional check will also make it into the single-company version of SliQ on the next release.

The actual risk of data loss is quite small. Even if the user does load the incorrect backup file, the daily autobackup will have saved a very recent copy of data in any case.

CD Autorun in Windows XP and Vista

To get Windows to automatically launch an application when a disc is inserted into a CD or DVD drive you need to include an autorun.inf file on the root of the CD folder.

The autorun.inf file is a text file written in a Windows INI file format. The sections in the file tell Windows what to launch, e.g.


launches the default browser on your PC, e.g. Internet Explorer, and displays the install-instruction.html file in the root of the CD (or DVD). You can then include further instruction in the HTML file together with links to launch an installer for example.

Thursday, 10 July 2008

Windows Update & AVG Firewall

I just lost 3 hours of support time due to Windows Update. I switched off my computer at lunchtime and XP said it would install another update from Windows. I left the computer to update itself as I've never had problems before.

When I came back this evening, I couldn't connect to the BT wireless router. My other PC with an Ethernet cable was fine but my main PC refused to connect. I used my wife's PC in the end and found that a lot of other people were experiencing the same thing. The fix turned out to require cranking down the AVG firwall setting. Very frustrating!

Tuesday, 8 July 2008

First Review of Multi-Company SliQ

First review of the multi-company version of SliQ highlighted a couple of areas that need reconsideration:-

  1. Upgrading from the single company version. How do you transfer data from one version to the other?
  2. Is it entirely friendly to have a Restore Backup button on the Companies tab?

For point 1, the current idea is that you create a dummy company and then load an SLB (SliQ backup file) into the company overwriting the existing contents. This isn't entirely friendly however, so we may have to add a feature where you can create a new company by opening a backup file.

For point 2, although it seems to be convenient to have the button on the Companies tab, in some ways it's a bit inconvenient - the user could end up overwriting data in the wrong company by mistakenly clicking on the wrong row. Perhaps the easiest, less problematic thing to do would be to remove the save and restore backup buttons from the Companies tab and leave them in the Setup tab and SliQ start menu as in the single company version.

Sunday, 6 July 2008

Installshield 11.5 and .Net 2.0 runtime install

I'm doing a new installer for a new software package and it's 6 months since I last used Installshield. I find it pretty difficult finding my way around Installshield so I'm making a blog post about what I had to do to get .Net 2.0 installed as well as the main package.

Last time I did an installer I needed to install the .Net 2.0 runtime prior to the main package. I had to a fair bit of research using Google to find the info I needed. This time around I ended up doing the same searching so I'm making a note in this blog for future reference.

Using InstallShield 11.5 ...

  1. You have to run the Release Wizard and create a new Product Configuration to include .Net 2.0. The wizard has an option to include .Net 2.0 that appears nowhere else in InstallShield.
  2. In the Installation Designer, click on the Media/ Releases node and then, in the middle panel, click on the release to configure more .Net install options. Then ...
  3. In the Command Line to dotnetfx.exe option, put " /q:a /c:\"install /qb\"". This forces a quiet install of the runtime.
  4. Set Show full user interface when installing .Net framework to Yes.
  5. Set display .Net Option dialog to No so the user is not given the option to skip installing .Net 2.0.
  6. Set Delay .Net Reboot to Yes.

Then save everything and build the installation. Now, if the setup.exe is executed on a machine that doesn't have .Net 2.0, the installer will make sure the runtime is installed on the user's machine.

Saturday, 5 July 2008

Multi-Company Version of SliQ

Development of the multi-company version of SliQ is coming to an end. The last thing to be done is to update the help file and write the installer before reviewing and test begins.

The multi-company version adds a new tab (shown on the right) listing the companies SliQ knows about. Simply selecting a company in the list, loads it data into the other tabs.
The bottom panel allows the user to keep notes about the company, e.g. the dates invoicing needs to be done on each month.
When the user adds a new company into SliQ a company setup wizard is launched guiding the user through entering the company details, VAT/ tax registration number and so on. SliQ automatically creates a filename based on the company name and saves the company data.
With any luck, if reviewing and testing goes well SliQ Invoicing & Quoting MC should be released within 2 weeks.