Skip to content

What sort of help file should you have?

Having previously used CHM help with VS6, I thought I’d have a look at the Help Project provided with VS.Net.

Before I go any further, I think I may put you off.
After I had followed an example through to its conclusion and created a setup project for my HXS help file, added necessary merged modules I found my MSI was a 1mb. That´s not including an application, just the necessary files to run the help file.

The Help Project UI to create this type of help files is quite good, although just slightly better than the HTML Help workshop.

I decided to try and integrate it into an application. Added a help provider to a form and to my surprise there was no HXS fie type for selection, just CHM, HTML etc.

I selected it anyway, I tried running my app.
I pressed F1 and because I don’t have the Dexlpore program registered properly it brought up a message asking what program I would like to run it with.

The one advantage I can think of from using this type of help, is that you can create dynamic help, although I didn’t go that far into it.

I think it´s aimed at providing standalone help, e.g. not for use with application, primarily. Like SQL Books Online.

I think I’ll stick with CHM especially as I don’t need dynamic help and download size is important.

Ideaspad – An Award winning information manager for home and professional use

by JM

Tagged

The Lost Benefits of Handling Serious Errors

You´ve read the title, your thinking this is one of those lessons in putting error traps and user friendly messages.

Wrong.

You´ve probably read all that stuff anyway.

You probably know that the key to designing a web site, is to regard it as your 24 hours sales person. It should handle everything for you, without your intervention. Answer customers´ questions and provide online ordering.

But do we treat our software as it should have a 24 hour support person?

Probably not.

So the user gets an error, then what?
They look in our help file for support information, if they can access your program, what if they can´t.
A shortcut to the help file on the start menu would handle this.

So they find the information in your help file or on your web site.

What if it´s the middle of the night?

Most likely you won´t be accepting calls or replying to emails from upset users.

What can you do?

Well finding the problem is the biggest problem, I haven´t come up with a neat way to tackle this.

My idea caters for those occasions when the user gets an error, which you´ve already solved.

You´ll need to write a check for updates feature.

Then when the user gets an error, rather than quit the program or tells them to download and re-install, display your check for updates feature.

The user can download the latest version with your fix.

This will also give the user confidence if anything were to happen in a bought version.
Well, providing they aren´t put off by the error.

You may well think, why not just put the time into testing your software for a bit longer instead of writing a check for updates feature.

Well you could do this, in fact I believe developers should never stop testing their software even after release. But unless you work for NASA (who have people who spend all day and night reading through code) you stand a chance that you have a bug in your software!

On another point, I´d like to write a bug reporting feature.
If anyone has any experience of ideas on this topic post it here too.

Have fun making great looking masks with our Software!

by JM

Software Release Test Process

The first thing I do when testing a new release is to ensure that I can successfully install the softare on a clean PC. By clean PC, I mean a PC that has nothing else on it but the initial installation of Windows.

My software runs on Windows XP and Windows Vista. I use virtual PCs with clean installations of Windows XP Service Pack 2 and Windows Vista Ultimate. the idea behind using a clean environment is that I can be sure there aren’t any DLLs hidden away on available include paths that I am unaware of.

Initially I check I can install and uninstall the new release. I then check I can upgrade previously installed releases of software, e.g. can I upgrade 1.3.2 to 1.4? If 1.3.2 was unlocked, i.e. a valid unlock had been entered, then is 1.4 still unlocked when it is installed over 1.3.2.

As part of the upgrade tests I check that all totals are the same in 1.4 as they were in 1.3.2, e.g. if there were 10 invoices, do they still have the same totals. I do similar tests with credit notes, quotes, customer statements and sales reports.

After these basic tests I then do the application tests – trying out the features of the application as you do.

After I’ve done this initial round of test I give it to my partner (who isn’t a developer) and she tests/ uses the software. By this stage things usually work well – we don’t normally see crashes for example – but my partner is good at spotting silly mistakes and evaluating features for ease of use and so on.

After this we do a round of beta testing. The beta test phase is unscripted but I always ask for a report of what’s been done. I then talk to the beta testers and agree a further round of test if needed.

by ML

Cold Coding Problems

This thread is aimed to provide an area for exhausted problems, where you’ve looked on various coding help sites and on the newsgroups and have come up with NOTHING. Maybe one of us may know the answer or maybe one day someone will see this posting on a search engine and come up with the answer.

So this thread COULD become quite big, so I will prune it where necessary to ensure only Questions and Answers are shown, feel free to add anything. As I say I will tidy it up as the need arises.

Get Color Depth

Forum Admin
Needless to say I have a problem…

I’ve managed to write my software with the need for only one API. Which infuriates me. Therefore I’m looking for a workaround.

My problem is that I draw my splash screens using System.Drawing. When a system uses 16 or 256 colors (colours) I use slightly different colours. The only way round this I’ve found is to use an API, apparently MS forgot to add this functionality to .Net.

Another idea I’ve had is to have a small image with all 32bit colors in it. Then calculate how many colors the system can handle.

Any Ideas?

However it occurs to me that there is at least one (possibly more) source which will be available to all platforms. Using Javascript. But that will no doubt cause a problem with virus software.

Apple Macs and APIs

Zaphekiah
I don’t have an answer to this, but another question…

I am really looking forward to seeing a version of the .NET Framework for Macs come out, at which point I will probably go out and buy one just to try and get my programs working on it.

I have also got a few APIs that I have not been able to cover using native methods. I know that when the day comes I will have to give these APIs up.

But there are other things I am not so sure about. An example is when you send and receive windows messages. Are message handles platform specific? For example, on a few of my apps I use very customised forms, using graphic skins and with no caption bar to move the form around the screen. In these cases I use code like this to move the form around:

Message MyMessage = Message.Create((IntPtr)this.Handle, WM_NCLBUTTONDOWN, wParam, hParam);
this.WndProc(ref MyMessage);

this tells the form that someone has clicked on the caption bar and is dragging the form around, even though they actually clicked somewhere else. What I wonder is whether anything like this will be portable?

Going back to the colour thing, do you think a significant number of people have systems that can only deal with those reduced colour sets? I would be tempted to just cater for the vast majority.

OS Specfic DLLs

Forum Admin
I too have been keeping an eye on other platforms, I didn’t know there were Mac efforts. I’d only heard about the mono project, linux framework. Which I look at from time to time.

Might be cheaper looking at mono, download RedHat etc.
Although I´m not sure whether it´s finished yet.

I’ve been setting up a separate DLL with API calls, with the intension that all I’d need to do if provide a different DLL for different platform.

Apart from the Windows messages, there things like MDAC and SQL Server. Although you would probably have a separate SQL server from your desktop / web server.

Thinking about the browser control, don´t MS IE for Linux & Mac. If so the SHDOCVW DLL would be available.

With my dotnet experience so far, I thought it was just wishful thinking (having other FX platform versions) but I guess MS would have left it fairly open.

Further investigation definitely required. Sounds like a big topic!

Page by Mail

Forum Admin
I’d like to have a button, which would enable users to send a email attachment.

I started looking at MAILTO, but that doesn’t support attachments.

I have got a working example which uses MAILTO then uses sendkeys to add attachments. But this is confined to outlook.

I can create and EML file for Outlook express as the EML format is text based.

Or, I could write something using MAPI and have an email created and put in the outbox.

But, I’d rather have a blank email message pop up with the attachment added, so the user can write a message and put in the subject and the recipient address.

What I can’t understand is that, this is a feature of IE, but it isn’t provided in SHDOCVW or MSHTML.

I’m beginning to think the only solution, is to somehow read in the default email program, then do something different for every email client under the sun.

Has anyone found a solution for this?

Word Wrap RTF / RictTextBox Tables

mindwarpltd
There seems to be a bug in the RichTextBox Control, which stops text from wrapping in tables.

If you produce a table in word, add some text to a cell, enough for it to wrap round, then you paste it into wordpad its fine.

If you paste / load the table / file into a rich text box it doesn’t wrap.

Therefore the bug, is in the interpretation of the RTF spec by the rich text control. Which seems odd, as wordpad is suppose to use this control, I thought.

I know the next problem after this would be to provide a means where tables can be resized. But I thought i’d provide a table properties dialog with a combo for the column, then plus and negative buttons. Also, a colour selection for the border.

But, without being able to wrap a column, it doesn’t seem point adding a tables feature to a richtextbox.

Anyways, if anyone has a workaround I’d be glad to hear about it.

High quality fashion jewellery at a reasonable price!

by JM

My Ideaspad Testplan

I thought I’d post my Ideaspad Test Plan.
Someone may find it useful.
It may spark a discussion?

1 Clear PC from previous installations / tests uninstall etc. Anything odd left behind?
2 NB: Through out testing, please turn you speakers on. If you notice an error beep in a funny place please make a note. Remember beeps nearly always mean error Install the program, pretend you’d downloaded the file. Create an New IB file from start-up screen, give it a weird name with unusual characters
3 Add a new item in the tree, add some text to the rich textbox add another item add a sub item, add to text to rich text box add another sub item Link to this item, to your first branch and add some more text to textbox Drag and drop text within rich text box
4 Close the program, change to German dates (from regional settings). The start program. Add a root branch, and a sub branch. Add some rich text to each. Close program, reset dates back to normal.
5 Add some sort order numbers in branch properties, although DON’T change the sort order property in options.
6 Select a template ‘an Expense Form’, add it to menu, create a root branch. Create another, an ‘appointment form’ as sub branch, overwrite an RTF Topic. Try merge an Appointment form with an address form (has some of the same fields).
7 Change a template to RTF, from template menu option
8 Add lots of bookmarks to template topics and RTF topics. Delete a couple of topics, so you have orphan bookmarks, see if they work, they shouldn’t but don’t produce and error.
9 Close the program, select your IB file and choose ‘Don’t ask me again’. Go into program. Close Program, and re-open see if it auto loads IB file.
10 Change the text and icons of all your templates and for your bookmarks.
11 Test the spell checker, do what it says, download the US dictionary. Test on RTF and template.
12 Use the ‘Find template Topic’ feature. Also the find & replace
13 Just use your mouse, click and drag and right click. Move branch, copy, use copy, cut, paste from the menu, buttons and right click.
14 Just use the keyboard, test navigation keys and short cut keys. For the tree, menus and textbox
15 Tab ordering
16 Test for dodgy characters and control characters New Root Branch, New Sub branch, New Bookmark
17 Test max length of text fields New Root Branch, New Sub branch, New Bookmark
18 Test for interaction with other program, alt+tab etc
19 Minimize, Maximize, resize, make really small
20 Close the program, set resolutions to 800×600 and a weird theme. Restart program. Maximize, minimize, resize. Select a template, add some text, click on another branch. Click on rapid entry, maximize it. Close app, reset resolution and restart app.
21 print a page use selective print
22 Options Dialog Changes to font settings, to really weird settings, click OK and see how they look. Change the sort order. Change your default start-up topic, close the program, see if it works, do one for both an RTF topic and Template topic, restart prog to test. Change the default topic type, to template, select a template and colour scheme, try it, close program, try again.
23 rename a sub item delete a sub item delete a root, which has sub items Delete a root which has linked sub item
24 Bulk testing, try import about a meg file and copy the branches, lots of times.
25 Use a standard template, from the templates menu Enter some text, click to an RTF topic, use word wrap Go back to template topic, click word warp, change some text in template Go back to RTF topic and drag and drop some text. Create bullet points and text, drag and drop some bullet text. Open Wordpad, enter some text, make some of it bold, drag and drop this into your template the your rich text box (template shouldn’t allow it) Use the insert graphics feature, find at least 3 different graphics formats, ensure you successfully manage to import a big file (2mb).
26 Open another copy of Ideaspad with the same IB file. Copy and paste from wordpad, to Ideaspad 1 and them to Ideaspad 2. From this point minimize Ideaspad 2 and forget about it!
27 Create a very simple user template, copy the one out of the help file, follow the instructions. Make some obvious mistakes, see have the program handles it. Copy the file, rename it and change the template id. Add it, use it.
28 Export wizard, export all your branches, one of your user templates. Export a branch, once which you have used a user template, then don’t export the user template. You should get warnings, about orphan book marks. And Topic that don’t have a template file.
29 Import each file, into your Information Base file, several times, to different branches. Create a new IB file and import them too.
30 Use Rapid Entry, click on the toolbar button. Do as it says, select Diary form. Use the controls to set default values, click apply, then default. Enter a couple of templates. Click default, change the default values Enter 2 more templates, click OK to save and close. Use from Template menu, via Select. Do 1 Diary, 1 Appointment and one address.
31 Use the F1 button on various screens, and the help buttons. Check with Author for new / updated topics you may not have seen, then read through the help files, do they make sense? Spelling etc?
32 restart the program, use maintenance, create a new file, open, rename, repair, delete etc
33 Check the documentation, is the spelling OK, does it make sense
34 Test Locking with
35 Test Check for updates, you will need some older program files to test
36 Test Install Add-on, just to provide file to test with.
37 Demo only, change your date forward 24 days, does it expire? Does it say 7 days to expire?
38 Get license from MCL, does it work? Did it do what you expect?
39 Does the Shareware shortcuts disappear, including Buy. Does the selective print have this is shareware version on it?

Ideaspad – An Award winning information manager for home and professional use

by JM

Tagged ,

How to obfuscate your DotNet Program

This posting is cut down version of the whole thread from a discussion took place towards the start of 2003.

Zaphekiah

One of my worries about .NET programs is that they are intrinsically easy to crack. I remember reading or seeing an interview with someone from Microsoft that said that a future release of .NET could include encryption that would help prevent this (I am not sure how it would work though -if the CLR can decrypt the exe then why couldn’t Jo Cracker?).

Still, has anyone else heard of this? Or does anyone know of a way to make compiled programs more secure?

Forum Admin

When I first started building ideaspad, I read about how .Net programs could easily be decompiled and this really worried me.

After much refinement I build all my programs using batch files. As the process if rather complicated and quite long.

First….
I’ve signed all my DLLs as I’ve got a check for updates feature. This checks the public key against those I have in a DLL and determines whether the files are genuine.
So in my batch file, I have to use SN.exe and turn off public keys…

Then I obfuscate my files…

Then I modify the files directly (using a tool I wrote).

Then I re-sign my exes….

Build my Setup project, based on the new exe and dll files…

Build my self extracting distrib files, using another tools I wrote, which sends keys to winzip etc…

Also, obfuscating makes it a lot more difficult to read the code if they were to decompile it.

So probably not impossible to crack (although what is) but a hell of a lot of work for a hacker.

Zaphekiah

Wow! This sounds like an excellent approach. I will certainly look in to doing something similar. Thanks for the pointers – I may need to come back to you for a couple more though.

Forum Admin

OK.

Another point worth mentioning in relation to your initial posting.

Even if MS did bring out a new security feature, most likely it would require a new framework version or some sort of extra download.

I’m firmly against upgrading to 2003 version as we’d be back at square one. We’ve already got problems with people not having the framework downloaded, let alone having the latest version.

I’m quite happy with VB.Net Standard 2002.

I’ve done a great deal of reading on anti-crack over the last year, of which there’s not a lot of DotNet related stuff.

But there’s one point which I do believe, that is, even if you do get cracked, so what, at least someone who knows quite a bit about software thinks your program is worth enough to spend time cracking it.

I could right a book….

One of the best ideas I’ve read, if someone has cracked your software. Download the crack, screw it up, upload it. Gives the hacker a bad name…

Zaphekiah

Hahaha… I like that Idea. I still worry about the insecurity of the code though – that someone could compile a version that misses out the registration step, or simply nick the code. That is why I am so interested in the suggestions you made about security.

Forum Admin

So what security have you got at the moment?
Obfuscate yeah??

Look at it as a marketing outlet, you aint gonna beat them!

Do you pay for your registration service?
If you do it yourself, have you backup sites?

Zaphekiah

This is going to sound really naive, but at the moment I don’t have much security..I didn’t even know those tools were out there until now. Do you use or can you recommend a particular obfuscation tool?

Forum Admin

You can buy Obfuscating tools, there’s supposed to be some really good up-to-date ones.

But I went for a free command line tool.

I use QNDObfuscate from Desaware Inc.

Let me know if you have trouble finding the web address.
I’ve found it :-
http://www.desaware.com/obfuscator.htm
http://www.desaware.com/downloadsqndl2.htm

Zaphekiah

Thanks for the link. I downloaded the Desaware program and had a little play with it, but without much success. I thought I had better check I was using it right, as it didn’t come with much documentation.

I am using it from the command line with two arguments: the address of an exe I want to obfuscate, and the new address for the output file. When I run it, it produces an exe, but the exe won’t run (I get a null reference exception). Are you supposed to run the program on a compiled exe, or pre compilation?

Any suggestions would be appreciated!

Forum Admin

I don’t think it should cause you any problems…

Erm..

I compile each of my programs / dlls from the command line, in release build mode…

Then, because I have strong names all my files…
I turn off validation of public keys using sn for each

Then obfuscate each of my programs / dlls (after it has been compiled).
I’m not sure why, but I’m copying one of my dll’s into the Executable directory…

Then I obfuscate my main program exe.

Then I re-sign everything using sn.

If your still having trouble send my your growing batch file.

Zaphekiah

Thanks for the offer and suggestions. I have ordered Dan Appleman’s e-book on the subject, so I will see what the great man has to say and how the desaware obfuscator actually works.
By the way, the only obfuscator I could find for .NET was the Aspose obfuscator, which retails at $99 for the basic version.

Forum Admin

So did you get it to work?

Zaphekiah

I got the utility to work with a couple of the more simple programs, but not the others. They have a few features which might prove difficult for obfuscators: external dlls, calls on webservices and unsafe code blocks.

I haven’t had time to look at the Appleman book yet, and it is a bit maddening.

Aspose, I got their program to obfuscate some of my executables and they seem pretty on the ball re support. (They even sent me a help manual!). If it turns out I can do it all with their tool I might just throw a hundred bucks at them as a stop gap. I am really looking forward to getting my teeth into the Appleman book though, at some point in the next couple of weeks. I will just have to see what comes together first.

Forum Admin

Now that I think about it, I’m not sure whether I didn’t get some error myself.
I’m not sure whether this would work, but you could try using a debug build exe, maybe then you could trace which bits are causing the problems.

Zaphekiah

OK…sorry it has taken a little while to get back to this thread. I read through the Appleman book (the ebook download from Desaware) and it helped me sort out what was going wrong. Basically this obfuscation technique works in a novel way, because it doesn’t scramble the IL code which is contained in the exe, instead it replaces strings in the “string heap” in the exe.

I don’t know how much you know about this, but I didn’t know anything about it until I read this book.

If anyone puts the code through a decompiler the result is also pretty unreadable, because all variable and class names look the same.

Public names don’t get replaced, as this could obviously cause other components to crash. That is OK though, because in an exe you don’t really need any public methods, internal (friend) scope is fine.

Anyway, it is working now, so that is great. It is a bit of a hassle with distribution, because you have to obfuscate the assembly and then juggle a bit with the files used by the deployment project. I think that batch files are definitely the way to go there.

Well, I feel it was worth me joining this forum just for this insight it has given me into obfuscation – if any other members read this then I would definitely recommend Desaware’s approach to obfuscation.

axsaxs
Instead of using batch files to compile, obfuscate and sign you can use Nant.

http://nant.sourceforge.net

Forum Admin wrote:

But there’s one point which I do believe, that is, even if you do get cracked, so what, at least someone who knows quite a bit about software thinks your program is worth enough to spend time cracking it.

Well, I was quite happy when I found one version (old!) of Folder Crypt cracked on a pirate site.

At that time I had on another product a real time hashing check (when the program run it checked random if its hash code was the same as the one saved in an obscure registry key… if not, it quit).

I abandoned that security check. I prefer to have cracked version of my products available for hackers.

I think they “make” the market …

webber

anybody have an example of using batch file to process applemans obfuscator ?

and/Or

help file for using ASPose license tool and obfuscator ?

Forum Admin

Its simple.

QNDObfuscate.exe ProgInput.exe Prog.exe

High quality fashion jewellery at a reasonable price!

by JM

Cost is not the only measure of value

My feeling is that, in general, most people realise that if they want to buy a product that they will use again and again – perhaps for years – cost isn’t really a deciding factor. More than one customer has told me this.

As stated in an earlier post, I think writing a non-trivial, valuable program is the key. These days, lots of software is cheap and there are lots of big companies allowing people to use software either for free or for a trial period. The distinction between shareware and fully-fledged commerical software is becoming increasingly blurred.

If you sell shareware you have to fill a niche and still offer a quality offering. One niche might be an “easy-to-use” version of a more complicated package. Note the key phrase here is “easy-to-use”, not trivial or cheap. People will pay to have complication taken away from them if the software offering still does an effective job.

A number of times in the past I bought things because they were cheap, e.g. a cheap power tool like a battery-powered drill. Every time I’ve done this I’ve regretted it. Nowadays I spend a bit more to get a product I know I can live with and continue to use for more than a couple of days.

One selling point for small software development companies is that they can offer better support than a larger company. Often, large companies are unresponsive to support calls or can’t hold a meaningful discussion with a potential customer. With small companies there are few barriers between the company owner and the customer. Both sides can benefit from this – the customer can make his case and get a decision quickly.

When setting a price for a software product always bear in mind that you should be operating as a business. Businesses should make a profit. Don’t charge so little that you are literally working for peanuts. If a business’s products are too cheap, some customers may believe that the since the company does not value their own products why should they.

by ML

Tagged

How do you figure out what to charge for your Software products?

This posting was originally from our forum.

motherswan

How do you figure out what to charge for your products?

I have experimented with pricing but have not reached any level of confidence that my prices make sense. There is such a wide range of competing products on the market with varying prices, including free, and functions, I don’t know how consumers make a decision. Right now I have one program at regular price of 60 and the other at a new release introductory price of 9.95 (regular price has been 50). The only thing I haven’t tried is charging what I think is an unreasonably high price, which has actually been suggested casually. I haven’t found anything that affects downloads or sales.
Another recent change was replacing a limited-time, limited-function trial version with a free limited-function version.

Forum Admin

I was quite disappointed when I didn´t initially get lots of downloads (still am) but I consoled myself saying, well this was only a test product.

I decided that the reason it wasn´t doing well was because there was a million similar products which were much better, more features and cheaper.

However, listening to your story makes me think otherwise.

Although I haven´t got the answer / success story, I do have some suggestions, where I´d like some feedback.

I´ve been most successful with my MDBSecure and HTMLSquueze products. I´ve had around 30 downloads for each. I believe this was solely due to the ProgrammersHeaven site, which sends out a new products email. I think I had 10 downloads from them a day or so after. However, they remain my best site so far.

From this, it seems that advertising is the answer.
Finding your correct market place and pushing your goods there.

Sadly, I think it´s also got a lot do with the amount of competition, in hindsight I believe I should researched the market a bit more first before writing Ideaspad, if I´d known there were millions of similar products I may have written something different.

axsaxs

I have a feeling the the price is not the main problem.

The main problem seems to be that people usually DOES NOT PAY for software.

In Italy, for instance, only big companies actually buy software – they may face serious legal problems if they don’t do so.

The open source movement can be another reason (why pay for something I can have for free).

The casual user cannot reach our products because he is not able to search the Internet for what he needs (often he is not sure of what he needs, too).

The advanced user knows that with some more effort he will get for free whatever he wants (either from piracy or from the open source).

I’d like to see what would happen in charging, let’s say, 0,10 Euro per product. I think that nothing significant would change.

mindwarpltd

Sorry to be the person replying straight away again 🙂

Well, I’ve tried different pricing variations in the past.
And not 100% sure I agree.

I used to have my Ideaspad program priced at around $29 and wasn’t successful. Then I improved my program and thought that the cost / quality factor was a problem. So I increased my price to $50 and wasn´t that successful either.

Yesterday I improved my webpage, just the English page but I modified the price on both German and English pages to $25.

I’d discovered that competitor programs were around $30.

This morning I had a German sale.
I know you can’t read anything into one sale, however it’s highly probable that as that was the only thing that changed on the German page (and looking at the hit log, the customer didn’t visit the English page) that this was the cause.

There again, seeing the program at half the price of a couple of days ago may have been the cause. 🙂

I guess I’ll have to wait a while longer to know for definite.

I agree, that users don’t know what they want (and pros can find it for free) .

Also, that around $20 to $25 is about the maximum price people will pay for shareware.

Today, someone who submitted to this site, had a site selling REALLY cheap shareware. This got me thinking.
I visited the site, then went back later to see if there was anything good.

I think CHEAP prices may be the key with certain software.

crybaby

I make about 1500USD$ a month, my price ranges from 60 to 200$ and the key to any reasonable sales is to make non-trivial applications. Don’t just throw together some little utility and sell it, if you do you won’t make any headway. In other words make an application people are willing to pay 50$ and above for to get

Ideaspad – An Award winning information manager for home and professional use

by JM

Tagged

Keyword Selection Tool

Since I bought my SEO book the information seems already out of date, even for the online tools its suggested.

I’ve been looking for a good keyword selection tool.

I’ve found these, oddly the urls have changed from my book.

http://freekeywords.wordtracker.com

http://inventory.overture.com/d/searchinventory/suggestion/

Anyway, my original choice of ms access security seems a bad idea although the data says its from January 2007.

High quality fashion jewellery at a reasonable price!

by JM

Tagged ,

Choice of keywords for a satellite site?

All things considered I feel my effort / time to develop a product site with a keyword phrase, has to be well spent. So I really need to find out if my choice of keywords is correct before I jump in feet first.

My keywords are MS Access Security.

In my SEO book it says www.wordtracker.com and www.nichebot.com are great free tools, but looking at the sites now, both require payment. The first site, requires you to enter your card details for the 7 day trial, which you can cancel at any time within those 7 days.

Expensive too.

So that was going to be my first step.

Where do I go now with this?

by JM

Tagged ,