Showing posts with label Tech Talk. Show all posts
Showing posts with label Tech Talk. Show all posts

Saturday, 23 October 2010

Whether to write standard code or re-write and learn code?

When I started developing for the iphone I had to make some decisions about how to structure code. I was face with a dilemma. Do I write code which I'll use often or do I reuse code.

I came to the decision to write code as I needed it, so that I'd learn and remember it. I spoke to friends at the time and this was the decision I arrived at.

Previously I'd always written standard functions and never remember how to code these requirements afterwards.

I've made the wrong decision.

I end up with more lines of code and code which I can never remember anyway. So the answer to write standard functions.

by JM

Monday, 2 March 2009

Summary of my usage data

I'm not going to name my program here, but you guys will know that its my kids programs.

I've analysed my uninstall usage data and have produced some stats shown below. I haven't included stats from bug reports, which I haven't got round to yet.

The summary is based on all 880 reports from the last release in July.

I'm hoping you guys will comment on my findings.

Reason CountOfReason
(Please select) 774
Other 33
Just didn't like the program 33
Trial expired 14
Found it too complicated 14
Had a problem 10
Missing an expected feature 2

So theres not much of a pattern there, except that users couldn't be bothered to select a reason.
--------------------------------------
Whether they were willing to enter into a competition to win a license.
No 796
Yes 84

This didn't require people to provide an email address, provide comments etc.
--------------------------------------
OS CountOfOS
XP 772
VIS 100
98 6
23K 2

I think I'll drop windows 98.
--------------------------------------
I haven't yet analysed my Max Reached Point information, I do have stats but I haven't look to see where these point are in my program. I hope to do this before the end of the thread.
--------------------------------------
DaysInst CountOfDaysInst
0 540
1 43
3 31
2 25
4 22
7 18
-- Snip --

So most people use the program for less than a day then uninstall.
--------------------------------------
MinsUsed CountOfMinsUsed
0 226
2 115
3 68
4 44
5 49
6 30
7 30
8 24
9 26
10 12
11 20
12 14
13 21
14 9
15 9
16 12
17 6
18 10
19 3
20 14
-- snip --
99 25

So that varies.
--------------------------------------
ProgRetryCount CountOfProgRetryCount
1 365
2 173
3 104
4 56
5 33
0 33
6 28
8 16
7 13
9 12
10 8
11 6
12 5
14 4

So users do close the program and retry it.
--------------------------------------

Crash CountOfCrash
No 843
Unc 33
Yes 4

So not a massive percentage of crashes.
--------------------------------------

PrintBtnUsed CountOfPrintBtnUsed
N 737
Y 143

This is how many people used the print button.
I guess I would hope this to be higher.
--------------------------------------

PrintsLeft CountOfPrintsLeft
0 95
1 6
2 7
3 10
4 25

From people who did print.

by JM

Sunday, 1 March 2009

What project to work on next?

Over the last year or so, I've been trying to manage my time better to give all of my projects time. However, I've tried to put the big earners first, but still give all my projects some of my time.

I haven't done any work on my kids program since July and I have millions of bug reports and uninstall questionnaires to wade through, then summarise then fixes to make.

It not so much that its been shoved to the bottom of the pile, more that I've felt that other project never get any time where it did use to get a lots.

Now I've not got any great hope that my kids program will suddenly start to make a lot of money. However I still do sell licenses for it every so often.

Should I work on it now?

by JM

Saturday, 28 February 2009

Problems with BT Broadband

Lately we've been having big problems with BT broadband. Once a week or so the ADSL connection drops out leaving us disconnected from the internet. We are so used to spending a few hours a day online - answering emails etc. - that it drives us a bit nuts. I've contacted their 0800 support line and the people try to be helpful but the only guidance they seem to be able to give is to help us reconnect our PCs to the wireless hub.

My suspicion is that there's a couple of problems. The first is that when someone else in my village uses broadband, the ADSL link goes down, i.e. we interfere with each other. In Window's list of available wireless connections, I often see another wireless hub when the service is very ropey. The second thing is that when someone uses a wireless telephone in the village, I have trouble connecting my desktop wirelessly to my hub. I think this is the case since I sometimes see another wireless connection with just a number like 209871245 - instead of a name.

We've been unable to get online for more than a few minutes in the last day. Does anyone else have broadband problems like these?

Thursday, 12 February 2009

Marketing via new toys for my CD software?

I've finally made some progress with my new licensing functionality for my maths cds.

I can now accept a few of the users details along with a 14 digit numeric key, all of which I will print at the bottom of the customers packing slip. Thus making my life tonnes easier as I can create cds before I get the orders and not waste tonnes of time, when I'm busy.

I haven't really touched the code in the program since 2006 and therefore I was a bit unfamiliar with it. However, the code I have now added provides me with room for some creative marketing.

Firstly, the program only use to work with a license key file, which I included in the setup exe file, re-generated at order time for each CD. If the license key is deleted, they are given a 30 day trial period. Obviously not something a paying customer would do; also not something I'm really worried about, if someone were to want to try and copy my program and use without the key file.

However, this functionality does give me the option to provide users with a period, perhaps a trial or a grace period. My initial thought was to give customers maybe 5 days before they have to enter the key. Then I thought, why should I do that, I'll just lock them out if they don't enter the key etc.

Now, I'm thinking a little about the marketing side of this, if I give people a 5 day grace period / trial and market the cd, so that people are allowed to pass on to their friends, I could get some extra sales.

Secondly, I've kept in my first licensing strategy which either accepts a key file (as provided when i use to burn a cd per customer) or more interestingly, to accept a key block provided as provided by ShareIT online.

So I could add a button to my paper license acceptance screen, something 'Help Options' which would show a screen with radio buttons. Options could be, A) help me enter my paper license info (I'm an Idiot), where I could send them a license block over email. B) Purchase a new license online via ShareIT. C) Maybe purchase a new CD.

Maybe I'm getting carried away with all these extra toys?

I'm just not sure what to do?

Also how to term things, like grace period, trial, etc, after all it might upset customers who have bought the CD?

Lots of questions.

by JM

Friday, 6 February 2009

How to make a website template?

Rather than just ask a flat out question without any real substance, I thought it might be useful to others as well as myself, if I discuss my issues. I'm going to talk about the very basics, which is were my site is at. I have mostly hard coded HTML in my php files.

My biggest problem is trying to figure out the holy grail, how to produce template files which are complete HTML files, with markers / tags for where I need to add my data. I can do the basic replace of strings. Heres an example of what I have now.

$middleheader = template("tpl/header.htm");
$middleheader = str_replace("SUBDIR", "", $middleheader);
$middleheader = str_replace("[1NEWS]", "", $middleheader);
$middleheader = str_replace("[2NEWS]", "", $middleheader);
$middleheader = str_replace("TEXTADS", $TEXTADS, $middleheader);

echo $middleheader;


So here I'm reading in my header file and replacing elements with values, in most cases here, blanks.

However, this is the first use of a template in my file, I'm not doing anything with meta tags, I'm tempted to just leave them hard coded in my php file, but this would make it more difficult, if say in the future I wanted someone with only HTML knowledge to design me a new style for my site.

A) What should I do with my meta tags? what should I put in my template file? Should I keep them all in some sort of settings file?

The most common problem with my hard coded files, is loops, where I have html (perhaps the start of a table), data, more html etc, back to start of the loop.

B) How would I create tags in the template file to handle loops?

Also, I have a lot of similar pages with small differences.

C) Where do I draw the line and create another HTML template file?

Hope someone can give me some insight.

by JM

Monday, 2 February 2009

Security license code enter by customer with their address etc?

I'm about to develop a new licensing strategy for customers who buy cds. The customer will get their packing slip / invoice with a box at the bottom of the page, with their details (name, address, email address) and some sort of license code. The idea being that they have to type the contents of the box into a matching screen in the program.

My issue is how secure will the licence code (shown in the box) be? I mean it has to be tied to the the customer detail and the product itself.

I don't want to make this process too difficult. Although it already sounds a little difficult. Also, I don't want to make the code too long.

I do think its worth putting a degree of effort into this, otherwise anyone with a programming language could easily figure out how to build the code.

I don't like Blues approach were he gives people a key, I definitely want to tie in their personal details.

Thoughts?

By JM

Sunday, 1 February 2009

My first RentACoder request in months

I've just put up a rentacoder request, first one in ages. I was feeling lazy and I need my home page fixing and its a nightmare with some code embedded in php etc.

But I can use winmerge to pick out the changes.

Accepted a big with in 15 mins of posting, £11 :)

by JM

Sunday, 25 January 2009

How to create an efficient downloads tracking table in MySql?

At the moment I have a "tracking" table, which I use to store both searches and downloads.

TABLE `tracking`
`TID` bigint(20) NOT NULL auto_increment,
`PadID` bigint(20) NOT NULL,
`Phrase` text NOT NULL,
`PageHandle` varchar(10) NOT NULL,
`Referer` text NOT NULL,
`Agent` text NOT NULL,
`Lang` text NOT NULL,
`RemAddress` text NOT NULL,
`DateAdded` timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY  (`TID`)

I think i'm going to just use this table for search tracking and create a new table for tracking downloads, this isn't really a problem as in most cases (apart from basic info like IP and useragent etc) it uses differnet fields.

I'm going to work on the principle that one download equals for unique IP & UserAgent & day. In English one download per user agent from a specific IP address per day.

The obvious thing to do would be to up the IP address, user agent and the day on one field and make it a unique index, but thats going to make the field quite big. Maybe the user agent string isn't important? and I could just use IP and Day, with the day in Julian format.

Whats the table look like that you use Mike?

Comments?

Tuesday, 20 January 2009

How to replace outlook, big pst file and access online?

I'd like to try and switch my pc off during the day, at the moment, I'm either at my pc or on my laptop or doing other things. I don't want to have to end switching my pc on and off all the time. Also I don't want to have to buy another copy of outlook. I also have BIG PST files.

My aim is to access my email, of which I have many POP3 accounts, and my PST files from my laptop without having to have my pc guzzling electricty all day.

Ideally I'd like a solution where one day I can access my email online, when I go to work.

Any suggestions?

by JM

Wednesday, 14 January 2009

Earning money from downloads, affiliate bundling

I've always hated it when you see program budling the google toolbar or other program in the setup program.

However, with my kids prog, its not doing much at the moment, maybe I should consider this type of thing.

Comments?

Tuesday, 13 January 2009

Trial links removal experiment

This month following conversations with Blue I removed the trial links from one of my programs websites. I also added a coupon code for some money off in my january sale.

I've had no sales so far.

I haven't yet analysed my new buy pass through page stats yet, so i don't know how many people thought about buying.

I have an an email today asking for the trial link, which I gave them.
They asked to try the "download a free trial of you mask making template".

I know the month isn't up yet, but, comments, thoughts?

Friday, 9 January 2009

How, House keeping process to remove blacklisted items from DB?

Theres now a blacklisting feature in place at the point where authors / spammers submit their pad files to softtester, behind the authors page.

This stops quite a bit of spam.

But I've already got spam and things could be determined as spam at a later date.

So I need a process which will look at the softtester MySQL database and deal with them.

However, there are various problems.
1. The black list is a list of domains, the fields in the database are full urls, so I'd have to do a like % ... % query rather than an equals, which will be slow.
2. These fields don't have indexes.
3. Its going to take a long time to scan the database / fields for each of these domains on a regular basis.

Any solution has to automated and require no involvement from me, when its up and running.

Solutions.
1. Create an offline solution which works on a copy of the database.
Pros.
Quick and won't affect the web server
Cons.
To be fully automated it would need to grab a copy of the database, import it to a test database then perform the actual process, then action the live database.

2. Do the process manually a couple of times a year.
Pros.
Erm, not sure.
Cons.
Lots of effort, time and lots of transactions on the live database.

Thoughts?

by JM

Thursday, 8 January 2009

When will people stop using MS Access Version 2003 and older?

I'm trying to evaluate the life span of my  MS Access Security program as it relies on MS Access versions 2003 and older. Then I can add a new feature or not.

With the introduction of MS Access 2007 everything changed and therefore my program lives as long as MS Access 2003.

So are you still older versions of MS Access? why?

Has version 2007 not been taken up by database professionals?

What advice can you give me?

by JM

Sunday, 28 December 2008

The importance of our selling strategy?

OK, VERY important is my answer.

I've been looking at registry problem fixing programs and found a website which is reviewing each of the main programs. It must be the developers of the program at the top of this list who have developed. So thats one thing in their strategy.

All of the programs listed are free to download and all of the websites don't mention that your have to pay for the full version. One site says absolutely free and does a scan and says it will only fix the free items then you have to pay for it to do the rest. The other programs make it more obvious that you have to pay.

But all hide try to hide the fact that they aren't free to some degree.

Maybe its one developer who has slighlty different looking programs, maybe.

But it really makes me think about my approach, I still think my programs need more work to make them work better. But I also need tonnes of work on my strategy.

Comments.

by JM

Tuesday, 23 December 2008

What questions do customers actually ask?

I'm writing some FAQ pages for my web sites and I've just noticed I've answered mainly technical questions.

Sure, I've said my order form is secure and how to contact me if theres a problem.

Actually I've only done stuff my program sites, haven't got any content for my shop sites.

I guess this content will be useful to all sites ??

Hmmm

Oh my refund / exchange policy.

My money back guarentee stuff.

Erm, oh delivery method, timeline.

But what else?

by
JM

Sunday, 14 December 2008

Selling CDs online, on eBay and the future of their licensing scheme?

For sometime now Blue and I have been selling crap on CD on eBay.

I've also put my CDs on my maths shop. However about 6 months ago I decided I'd improve the content of my maths program and make it possible for the software to be downloadable instead.

You can sell downloadable software on ebay anymore, so CDs are the only option.

We do still sell a number of CDs each week making it worthwhile to do so. However in the new year eBay are making yet more changes (something they do every few months, it seems) this change will mean less exposure for items. Previously and at present, you can list about 15 items in the "Buy it Now" format for 30 days.

I've always written the users license to the CD and therefore burn a specific CD for each customer. This has been a real pain and I had planned to produce a key code along with the user details, in a box and have the user enter all these details. Thus allowing me to create all my CDs before hand.

However with these forthcoming eBay changes I'm not sure where its going to be worth it.

The fact that people still buy CDs amazes me, but they do, so I am tempted to put the work into this new licensing approach, but I fear it will be a waste of time due to this lack of exposure on eBay.

I may be able to sell these CDs online via my shop, but I'm just not sure. eBay has a niche, where items seem like their cheap and in a jumble sale, but site probably won't come across like that.

I guess I could finish of my downloadable programs, but this will shut the door for me on eBay, apart from selling / burning cds for eBay customers as I do now.

Thoughts?

by
JM

Thursday, 11 December 2008

What to put on a FAQ / Customer Help page?

I think I'm missing a vital feature in my marketing machine.


I recently bought some software, in fact when I think about, my last few software purchases, I've had to look around the site to find certain information before I was ready to buy.


So what things should I have on this page.


- Details about the ordering process, what will happen when they pay.


- I guess in my case what to do with your license key when you get it.


- How soon you will get your license key.


- Volume licensing information.


- What to do if theres a problem, I guess this will just be a link to a contact form, unless I'm describing a specific problem.


- How to get support for the program.


- A list of different contact methods or say that you only accept emails etc.


- Another big thing, which may even need to be on a separate page, comparison between versions, trial vs full etc, I can't believe I've never added one of these before :(


- Any licensing restrictions, I guess I would also mention royalties if I had any to mention here.


- I guess I could also have some tips, how to do certain things.


- Mention future updates / upgrades policy.


- Order form is 100% secure etc


I guess I've always been concerned about having pages with hardly any information on them, but if I use this page for sales and support help, including tips, this page could be very informative and useful.


Thoughts?


by
JM

Wednesday, 10 December 2008

How to schedule / automatically test a contact form?

I've been setting up a scheduled tasks to let me know if I have a large number of transactions to process on Softtester, this is a simple count of the emails in the que, I get an email if its over a certain level.

This test will tell me if I've been spammed or if the pad spider program has failed.

I'd like to test my contact form, maybe once a week.

I'd like to do a true test and no just test the mail script but, test the page.

When I did the email count test, I was able to produce a PHP script which is then added as a schedule in my website control panel.

I'd like to do the same thing with the contact form test.

However, the only way I can think of the test the form, is to write a program which will load the page, populate the fields and click the submit button. And I can't do this in a PHP script.

Any ideas?

by
JM

PS. I have looked for a free service to do this, but I can't find one.

Tuesday, 2 December 2008

Is it worth seasonalising your site?

I've noticed in the past few days that I've had some orders for a couple of products where I previously had none. One of which has that pack license problem which they haven't got back to me about. I'm convinced that these sales must be people buying presents for others for xmas.

With my KMF program, after the first year in erm, 2005 (I think) I put up some halloween stuff and tried to make a drive towards that event. But I didn't get any / many sales from it.

Since then I've never been bothered about setting anything different up for the seasons / holidays. Obviously this would have to be setup in advance and be dynamic, then hopefully I'd be able to use it through-out the year with zero effort.

I'm talking about slight changes in graphics, with snow or pupkins maybe to text, happy holiday etc. I guess there could be quite a lot of events I could do.

The question here is, is it worth it?

As I say I've not done it in the past as I've not thought my program are good enough, but onee day they will be or may just sell without the download. So is it worth the effort?

Thoughts?

by
JM