<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Software Promotion + SEO</title>
	<atom:link href="http://blog.softtester.com/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.softtester.com</link>
	<description>This blog covers a range of topics concerning the SoftTester Shareware/ Software Download site. Topics include software product releases as well as SEO and software development information and tips.</description>
	<lastBuildDate>Thu, 12 Oct 2017 21:37:25 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Why do I have to raise an invoice?</title>
		<link>http://blog.softtester.com/index.php/2017/10/why-do-i-have-to-raise-an-invoice/</link>
					<comments>http://blog.softtester.com/index.php/2017/10/why-do-i-have-to-raise-an-invoice/#respond</comments>
		
		<dc:creator><![CDATA[MikeL]]></dc:creator>
		<pubDate>Thu, 12 Oct 2017 21:37:25 +0000</pubDate>
				<category><![CDATA[Business Software]]></category>
		<guid isPermaLink="false">http://blog.softtester.com/?p=728</guid>

					<description><![CDATA[<p>An invoice is a notice to your customer informing them of the work you have done for them or the goods you have supplied. It tells them how much money they have to pay you and when. Your invoices enable you to keep a record of how much business you have carried out during that [&#8230;]</p>
<p>The post <a href="http://blog.softtester.com/index.php/2017/10/why-do-i-have-to-raise-an-invoice/">Why do I have to raise an invoice?</a> first appeared on <a href="http://blog.softtester.com">Software Promotion + SEO</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>An invoice is a notice to your customer informing them of the work you have done for them or the goods you have supplied. It tells them how much money they have to pay you and when.</p>
<p>Your invoices enable you to keep a record of how much business you have carried out during that day, week, month or perhaps tax year. If you itemise your services or goods on your invoice you can then also keep track of how much business you do with each of them.</p>
<p>Paper invoicing is great, it’s tangible, on the table and there&#8217;s no ‘ logging in&#8217; to see it. But in the techie world that we all live in more and more people and businesses are demanding digital invoice files.  SliQ <a href="https://www.invoicing-software.com/">Invoicing online</a> helps you to make the leap from paper and postage stamps to digital invoice templates saved in the cloud and sent to you customers by email.  Did someone else want a copy of that invoice? With SliQ you just cc them on the email and that’s another postage stamp saved.  Of course all the time and hassle finding the red box is saved too.</p>
<p>Mistakes &#8211; we all make them. But add your invoice up wrong and you might do your self out of a few pennies or pounds.  But a digital invoice template will do the adding up and tax calculation for you.</p><p>The post <a href="http://blog.softtester.com/index.php/2017/10/why-do-i-have-to-raise-an-invoice/">Why do I have to raise an invoice?</a> first appeared on <a href="http://blog.softtester.com">Software Promotion + SEO</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://blog.softtester.com/index.php/2017/10/why-do-i-have-to-raise-an-invoice/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Essential Invoicing Software Features</title>
		<link>http://blog.softtester.com/index.php/2013/02/essential-invoicing-software-features/</link>
					<comments>http://blog.softtester.com/index.php/2013/02/essential-invoicing-software-features/#respond</comments>
		
		<dc:creator><![CDATA[MikeL]]></dc:creator>
		<pubDate>Sun, 03 Feb 2013 18:19:33 +0000</pubDate>
				<category><![CDATA[Business Software]]></category>
		<guid isPermaLink="false">http://blog.softtester.com/?p=718</guid>

					<description><![CDATA[<p>An invoicing software package needs to have a few essential features before it can truly be said to be more useful than manual invoicing, e.g. using a book of bills or simply using Excel invoice templates. Here&#8217;s a list of the top 5 essential attributes you need to look for in even the most basic [&#8230;]</p>
<p>The post <a href="http://blog.softtester.com/index.php/2013/02/essential-invoicing-software-features/">Essential Invoicing Software Features</a> first appeared on <a href="http://blog.softtester.com">Software Promotion + SEO</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>An invoicing software package needs to have a few essential features before it can truly be said to be more useful than manual invoicing, e.g. using a book of bills or simply using Excel invoice templates. Here&#8217;s a list of the top 5 essential attributes you need to look for in even the most basic and easy invoice software:-</p>
<p><strong>1. A selection of professional invoice templates</strong></p>
<p>To be considered professional, any invoice package needs to include a set of clean, professional invoice templates. The templates need to be neatly laid out and easy to read. The templates also need to let you add your business logo and contact details including payment instructions.</p>
<p><strong>2. The package needs to let you easily edit the templates</strong></p>
<p>Just letting you add your logo to a template is not enough. Any decent invoicing package will need to let you make edits to its templates. You may need different templates for specific customers for example or you may need to rearrange items and show extra information on your invoices, e.g. if you want to publicise special deals or offers from your business.</p>
<p><strong>3. You need to be able to track payments</strong></p>
<p>It goes without saying that the main reason for invoicing is to get paid. Make sure any software you purchase lets you easily record payments as well as show reports of who owes money and has overdue invoices.</p>
<p><strong>4. Automates as much as possible of repeat invoicing</strong></p>
<p>The better invoicing software supports recurring or automatic invoicing. You should be able to set up an initial invoice or transaction then have the package automatically raise future invoices on a schedule you set, e.g. once a month for 12 months.</p>
<p><strong>5. Handles other documents, especially quotes</strong></p>
<p>Any decent invoice software should also handle other documents associated with sales from your business. The most obvious is that and package capable of producing invoices should also be a good quote software too as quoting and invoicing go hand in hand with most businesses. For example, many tradesmen such as electricians and builders often produce quotes for work. They may need to track which quotes have been accepted/ rejected then raise invoices when work is completed and due to be charged.</p>
<p>For more information on invoicing, please visit <a href="http://www.sliqtools.co.uk/">http://www.sliqtools.co.uk/</a></p><p>The post <a href="http://blog.softtester.com/index.php/2013/02/essential-invoicing-software-features/">Essential Invoicing Software Features</a> first appeared on <a href="http://blog.softtester.com">Software Promotion + SEO</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://blog.softtester.com/index.php/2013/02/essential-invoicing-software-features/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Balance Guide v1.6 iPhone App</title>
		<link>http://blog.softtester.com/index.php/2012/01/balance-guide-v1-6-iphone-app/</link>
		
		<dc:creator><![CDATA[Dipsy]]></dc:creator>
		<pubDate>Fri, 06 Jan 2012 20:45:58 +0000</pubDate>
				<category><![CDATA[iPhone / iPad Development]]></category>
		<guid isPermaLink="false">http://blog.softtester.com/?p=711</guid>

					<description><![CDATA[<p>What&#8217;s new in the latest version of Balance Guide ? The multi-account feature has been extended further and now includes transfers between accounts. To provide maximum flexibly, the transfer feature allows you enter a different description and date, catering for differences in clearing. Also a backup and restore feature via Dropbox Balance Guide iPhone app</p>
<p>The post <a href="http://blog.softtester.com/index.php/2012/01/balance-guide-v1-6-iphone-app/">Balance Guide v1.6 iPhone App</a> first appeared on <a href="http://blog.softtester.com">Software Promotion + SEO</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>What&#8217;s new in the latest version of Balance Guide ?</p>
<p>The multi-account feature has been extended further and now includes transfers between accounts. To provide maximum flexibly, the transfer feature allows you enter a different description and date, catering for differences in clearing.</p>
<p>Also a backup and restore feature via Dropbox</p>
<p><a href="http://itunes.apple.com/gb/app/balance-guide-personal-account/id427557586?ls=1&#038;mt=8">Balance Guide iPhone app</a></p><p>The post <a href="http://blog.softtester.com/index.php/2012/01/balance-guide-v1-6-iphone-app/">Balance Guide v1.6 iPhone App</a> first appeared on <a href="http://blog.softtester.com">Software Promotion + SEO</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>My security in-security obesession for the year</title>
		<link>http://blog.softtester.com/index.php/2010/10/my-security-in-security-obesession-for-the-year/</link>
					<comments>http://blog.softtester.com/index.php/2010/10/my-security-in-security-obesession-for-the-year/#respond</comments>
		
		<dc:creator><![CDATA[Dipsy]]></dc:creator>
		<pubDate>Sun, 10 Oct 2010 08:41:57 +0000</pubDate>
				<category><![CDATA[Tech Talk]]></category>
		<guid isPermaLink="false">http://blog.softtester.com/?p=691</guid>

					<description><![CDATA[<p>We&#8217;ll our kaspersky internet security renewal was coming up so we upgraded. Been good this year, with other products we normally go for something different but have no complaints. So had a look to see what I could get for my mac mini and they don&#8217;t have a internet security package, but they have AV [&#8230;]</p>
<p>The post <a href="http://blog.softtester.com/index.php/2010/10/my-security-in-security-obesession-for-the-year/">My security in-security obesession for the year</a> first appeared on <a href="http://blog.softtester.com">Software Promotion + SEO</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>We&#8217;ll our kaspersky internet security renewal was coming up so we upgraded. Been good this year, with other products we normally go for something different but have no complaints. </p>
<p>So had a look to see what I could get for my mac mini and they don&#8217;t have a internet security package, but they have AV so I bought that too <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> also turned on the snow leopard firewall.</p>
<p>Phew&#8230;</p>
<p>by JM</p><p>The post <a href="http://blog.softtester.com/index.php/2010/10/my-security-in-security-obesession-for-the-year/">My security in-security obesession for the year</a> first appeared on <a href="http://blog.softtester.com">Software Promotion + SEO</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://blog.softtester.com/index.php/2010/10/my-security-in-security-obesession-for-the-year/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>iPhone, why I moved from FMDB to direct Sqlite3</title>
		<link>http://blog.softtester.com/index.php/2010/09/iphone-why-i-moved-from-fmdb-to-direct-sqlite3/</link>
					<comments>http://blog.softtester.com/index.php/2010/09/iphone-why-i-moved-from-fmdb-to-direct-sqlite3/#respond</comments>
		
		<dc:creator><![CDATA[Dipsy]]></dc:creator>
		<pubDate>Wed, 29 Sep 2010 17:30:58 +0000</pubDate>
				<category><![CDATA[iPhone / iPad Development]]></category>
		<guid isPermaLink="false">http://blog.softtester.com/?p=686</guid>

					<description><![CDATA[<p>I&#8217;m still quite disappointed, FMDB was easy to implement and only a few lines of code to do almost anything. I&#8217;ve even posted some example code on my blog. But when I sat and thought about, I realised I&#8217;d wasted two days (in total) trying figure out why sql wasn&#8217;t working. There must be some [&#8230;]</p>
<p>The post <a href="http://blog.softtester.com/index.php/2010/09/iphone-why-i-moved-from-fmdb-to-direct-sqlite3/">iPhone, why I moved from FMDB to direct Sqlite3</a> first appeared on <a href="http://blog.softtester.com">Software Promotion + SEO</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>I&#8217;m still quite disappointed, FMDB was easy to implement and only a few lines of code to do almost anything. I&#8217;ve even posted some example code on my blog. But when I sat and thought about, I realised I&#8217;d wasted two days (in total) trying figure out why sql wasn&#8217;t working.</p>
<p>There must be some problems in the libraries as the sql was working but failed on simple sql statements.</p>
<p>So today I&#8217;ve decided to use Sqlite3 directly, which has taken me have a day and I have all the previous code replaced and working. Yes, it takes more code and is more difficult to implement.</p>
<p>by JM</p><p>The post <a href="http://blog.softtester.com/index.php/2010/09/iphone-why-i-moved-from-fmdb-to-direct-sqlite3/">iPhone, why I moved from FMDB to direct Sqlite3</a> first appeared on <a href="http://blog.softtester.com">Software Promotion + SEO</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://blog.softtester.com/index.php/2010/09/iphone-why-i-moved-from-fmdb-to-direct-sqlite3/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>iPhone, how to insert a record using fmdb</title>
		<link>http://blog.softtester.com/index.php/2010/09/iphone-how-to-insert-a-record-using-fmdb/</link>
					<comments>http://blog.softtester.com/index.php/2010/09/iphone-how-to-insert-a-record-using-fmdb/#respond</comments>
		
		<dc:creator><![CDATA[Dipsy]]></dc:creator>
		<pubDate>Mon, 27 Sep 2010 17:08:38 +0000</pubDate>
				<category><![CDATA[iPhone / iPad Development]]></category>
		<guid isPermaLink="false">http://blog.softtester.com/?p=675</guid>

					<description><![CDATA[<p>One of the easiest ways to perform transactions with a database with the iPhone is with the fmdb libraries. Its a few lines of code to do almost anything. This is the primary documentation for fmdb http://gusmueller.com/blog/archives/2005/3/22.html It&#8217;s pretty good and straight forward. But, I&#8217;ve had some problems today trying to insert a record. None [&#8230;]</p>
<p>The post <a href="http://blog.softtester.com/index.php/2010/09/iphone-how-to-insert-a-record-using-fmdb/">iPhone, how to insert a record using fmdb</a> first appeared on <a href="http://blog.softtester.com">Software Promotion + SEO</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>One of the easiest ways to perform transactions with a database with the iPhone is with the fmdb libraries. Its a few lines of code to do almost anything.</p>
<p>This is the primary documentation for fmdb <a href="http://gusmueller.com/blog/archives/2005/3/22.html">http://gusmueller.com/blog/archives/2005/3/22.html</a></p>
<p>It&#8217;s pretty good and straight forward. But, I&#8217;ve had some problems today trying to insert a record. None of the usage code I found on the web seemed to be any different to the code I was using.</p>
<p>However, after inserting one field at a time I found my problem was due to using an integer where I needed to use NSNumber. So I thought I&#8217;d post the code I arrived at, maybe it will help someone else.</p>
<table border="0" cellpadding="5" bgcolor="#dcedf7">
<tbody>
<tr>
<td>
<code>NSMutableString *strAmount = [NSMutableString stringWithString:txtAmount.text];<br />
[strAmount replaceCharactersInRange: [strAmount rangeOfString: strCurrencySymbol]  withString:@""];</code></p>
<p><code>NSString *strRecurrance = [self.pickerRecurranceData objectAtIndex:intSelRecurrenceRow];<br />
NSArray *parts = [strRecurrance componentsSeparatedByString: @" "];<br />
</code><br />
<code>NSNumber *numInterval = [NSNumber numberWithInt:[[parts objectAtIndex:0] intValue]];<br />
NSString *strIntervalType = [parts objectAtIndex:1];<br />
</code><br />
<code>// string to date<br />
NSString *myDateString = btnStartDate.titleLabel.text;<br />
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];<br />
[dateFormatter setDateFormat:@"dd MM yyyy"];<br />
NSDate *datStartDate = [[NSDate alloc] init];<br />
datStartDate = [dateFormatter dateFromString:myDateString];<br />
</code><code><br />
NSString *strDesc = txtDescription.text;</code><br />
<code><br />
FMDatabase* db = [FMDatabase databaseWithPath:@"/tmp/tmp.db"];<br />
if (![db open]) {<br />
NSLog(@"Could not open db.");<br />
}<br />
</code><code><br />
if (![db tableExists:@"mytable"]) {<br />
[db executeUpdate:@"CREATE TABLE 'mytable' ('pid' INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,'desc' VARCHAR,'sdate' DATETIME,'interval' INTEGER,'itype' VARCHAR,'price' DOUBLE);", nil];<br />
}<br />
</code><code><br />
[db beginTransaction];</code><br />
<code><br />
[db executeUpdate:@"INSERT INTO mytable (desc,sdate,interval,itype,price) VALUES (?,?,?,?,?);",<br />
strDesc, datStartDate, numInterval, strIntervalType, strAmount, nil];<br />
</code><code><br />
//NSLog(@"Err %d: %@", [db lastErrorCode], [db lastErrorMessage]);<br />
</code><code><br />
[db commit];<br />
[db close];<br />
</code>
</td>
</tr>
</tbody>
</table>
<p>by JM</p><p>The post <a href="http://blog.softtester.com/index.php/2010/09/iphone-how-to-insert-a-record-using-fmdb/">iPhone, how to insert a record using fmdb</a> first appeared on <a href="http://blog.softtester.com">Software Promotion + SEO</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://blog.softtester.com/index.php/2010/09/iphone-how-to-insert-a-record-using-fmdb/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to add a decimal point or a done button to the iphone number pad</title>
		<link>http://blog.softtester.com/index.php/2010/09/how-to-add-a-decimal-point-or-a-done-button-to-the-iphone-number-pad/</link>
					<comments>http://blog.softtester.com/index.php/2010/09/how-to-add-a-decimal-point-or-a-done-button-to-the-iphone-number-pad/#respond</comments>
		
		<dc:creator><![CDATA[Dipsy]]></dc:creator>
		<pubDate>Thu, 23 Sep 2010 08:23:08 +0000</pubDate>
				<category><![CDATA[iPhone / iPad Development]]></category>
		<guid isPermaLink="false">http://blog.softtester.com/?p=665</guid>

					<description><![CDATA[<p>Following on from our blog post about how to add the done button to the iphone number pad, here&#8217;s how upgrade that code to add a decimal point as well, well not at the same time 🙂 How to add your own Done button to the iPhone numeric keypad Ok, first of all if you [&#8230;]</p>
<p>The post <a href="http://blog.softtester.com/index.php/2010/09/how-to-add-a-decimal-point-or-a-done-button-to-the-iphone-number-pad/">How to add a decimal point or a done button to the iphone number pad</a> first appeared on <a href="http://blog.softtester.com">Software Promotion + SEO</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Following on from our blog post about how to add the done button to the iphone number pad, here&#8217;s how upgrade that code to add a decimal point as well, well not at the same time <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><a title="How to add your own Done button to the iPhone numeric keypad" href="http://blog.softtester.com/index.php/2010/08/how-to-add-your-own-done-button-to-the-iphone-numeric-keypad/" target="_blank">How to add your own Done button to the iPhone numeric keypad</a></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/LBNaPwUssOo?hl=en&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/LBNaPwUssOo?hl=en&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Ok, first of all if you haven&#8217;t done so already, get the code working posted in the done blog post.</p>
<p>Now open up your NumberKeypadModController.h file and add the following to the top of the file below your foundation import.</p>
<table border="0" cellpadding="5" bgcolor="#dcedf7">
<tbody>
<tr>
<td>#define KeyPadTypeDoneButton 1<br />
#define KeyPadTypeDecimalPoint 2</td>
</tr>
</tbody>
</table>
<p>Add this to the interface.</p>
<table border="0" cellpadding="5" bgcolor="#dcedf7">
<tbody>
<tr>
<td>int intKeyPadType;</td>
</tr>
</tbody>
</table>
<p>And this under properties</p>
<table border="0" cellpadding="5" bgcolor="#dcedf7">
<tbody>
<tr>
<td>&#8211; (void)setKeyPadType:(int)value;<br />
-(id)initWithKeyPadType: (int)value;</td>
</tr>
</tbody>
</table>
<p>Now open your NumberKeypadModController.m file and add.</p>
<table border="0" cellpadding="5" bgcolor="#dcedf7">
<tbody>
<tr>
<td>-(id)initWithKeyPadType: (int)value<br />
{<br />
[self setKeyPadType:value];<br />
//self = [super init];<br />
self = [self init];<br />
if( self != nil )</p>
<p>{<br />
//self.intKeyPadType = value;</p>
<p>}<br />
return self;</p>
<p>}</p>
<p>&#8211; (void)setKeyPadType:(int)value {<br />
intKeyPadType = value;<br />
NSLog(@&#8221;key=%i&#8221;, intKeyPadType);<br />
}</td>
</tr>
</tbody>
</table>
<p>Now where you see the line containing @&#8221;Done&#8221;, replace that with ..</p>
<table border="0" cellpadding="5" bgcolor="#dcedf7">
<tbody>
<tr>
<td>if (intKeyPadType == KeyPadTypeDecimalPoint ) {<br />
doneButton.titleLabel.font = [UIFont systemFontOfSize:35];<br />
[doneButton setTitle:@&#8221;.&#8221; forState:UIControlStateNormal];<br />
} else if (intKeyPadType == KeyPadTypeDoneButton ) {<br />
doneButton.titleLabel.font = [UIFont boldSystemFontOfSize:18];<br />
[doneButton setTitle:@&#8221;DONE&#8221; forState:UIControlStateNormal];<br />
}</td>
</tr>
</tbody>
</table>
<p>Also replace the following functions</p>
<table border="0" cellpadding="5" bgcolor="#dcedf7">
<tbody>
<tr>
<td>&#8211; (void)textFieldShouldEndEditing:(UITextField *)textField {<br />
if (textField.keyboardType != UIKeyboardTypeNumberPad)<br />
{<br />
doneButtonShownRecently = YES;<br />
if (intKeyPadType == KeyPadTypeDoneButton ) {<br />
[self performSelector:@selector(considerDoneButtonReallyHidden) withObject:nil afterDelay:SLIDE_OUT_ANIMATION_DURATION];<br />
}<br />
return;<br />
}<br />
[self removeDoneFromKeyboard];<br />
}</p>
<p>&#8211; (void) donePressed {</p>
<p>if (intKeyPadType == KeyPadTypeDecimalPoint ) {<br />
NSString *currentText = currentTextField.text;<br />
if ([currentText rangeOfString:@&#8221;.&#8221; options:NSBackwardsSearch].length == 0) {<br />
currentTextField.text = [currentTextField.text stringByAppendingString:@&#8221;.&#8221;];<br />
}else {<br />
//alreay has a decimal point<br />
}<br />
} else if (intKeyPadType == KeyPadTypeDoneButton ) {<br />
[self.currentTextField resignFirstResponder];<br />
}<br />
if ([delegate respondsToSelector:@selector(donePressed:)])<br />
[delegate performSelector:@selector(donePressed:) withObject:self.currentTextField];<br />
}</td>
</tr>
</tbody>
</table>
<p>At this point, I&#8217;d like to cite and give credit to DevUp for the decimal point formatting code in the donePressed function above.<br />
<a rel="nofollow" href="http://blog.devedup.com/index.php/2010/03/13/iphone-number-pad-with-a-decimal-point/" target="_blank">http://blog.devedup.com/index.php/2010/03/13/iphone-number-pad-with-a-decimal-point/</a></p>
<p>Now in you useage code replace the following code..</p>
<table border="0" cellpadding="5" bgcolor="#dcedf7">
<tbody>
<tr>
<td>int intCurrentKeyPad;</p>
<p>&#8211; (void)viewDidLoad {<br />
[super viewDidLoad];<br />
//intCurrentKeyPad = KeyPadTypeDoneButton;<br />
intCurrentKeyPad = KeyPadTypeDecimalPoint;</p>
<p>self.numberKeyPadModController = [[[NumberKeypadModController alloc] initWithKeyPadType:intCurrentKeyPad] autorelease];<br />
//self.numberKeyPadModController = [[[NumberKeypadModController alloc] init] autorelease];<br />
numberKeyPadModController.delegate = self;</p>
<p>[numberKeyPadModController setKeyPadType:intCurrentKeyPad];</p>
<p>if (intCurrentKeyPad == KeyPadTypeDoneButton ) {<br />
[[NSNotificationCenter defaultCenter] addObserver:self<br />
selector:@selector(doneButton:) name:@&#8221;DoneButtonPressed&#8221; object:nil];<br />
}</p>
<p>textFieldRow1.delegate = self;<br />
}</p>
<p>&#8211; (void)doneButtonPressed:(UITextField*)sender{<br />
if (intCurrentKeyPad == KeyPadTypeDoneButton ) {<br />
if ([textFieldRow1 isEditing]) {<br />
[textFieldRow1 resignFirstResponder];<br />
}<br />
}<br />
}</p>
<p>&#8211; (void) donePressed:(id)sender {<br />
if (intCurrentKeyPad == KeyPadTypeDoneButton ) {<br />
UIView* firstResponder = [self.view findFirstResponder];<br />
[firstResponder resignFirstResponder];<br />
}<br />
}</td>
</tr>
</tbody>
</table>
<p>Ok I hope this helps you out!</p>
<p>Feel free to make a comment about this article, let me know if you have any problems with it.</p>
<p>by Jules.</p><p>The post <a href="http://blog.softtester.com/index.php/2010/09/how-to-add-a-decimal-point-or-a-done-button-to-the-iphone-number-pad/">How to add a decimal point or a done button to the iphone number pad</a> first appeared on <a href="http://blog.softtester.com">Software Promotion + SEO</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://blog.softtester.com/index.php/2010/09/how-to-add-a-decimal-point-or-a-done-button-to-the-iphone-number-pad/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to add your own Done button to the iPhone numeric keypad</title>
		<link>http://blog.softtester.com/index.php/2010/08/how-to-add-your-own-done-button-to-the-iphone-numeric-keypad/</link>
					<comments>http://blog.softtester.com/index.php/2010/08/how-to-add-your-own-done-button-to-the-iphone-numeric-keypad/#respond</comments>
		
		<dc:creator><![CDATA[Dipsy]]></dc:creator>
		<pubDate>Mon, 02 Aug 2010 12:24:20 +0000</pubDate>
				<category><![CDATA[iPhone / iPad Development]]></category>
		<category><![CDATA[Tech Talk]]></category>
		<guid isPermaLink="false">http://blog.softtester.com/?p=648</guid>

					<description><![CDATA[<p>Last revised 22nd September 2010 &#8211; as I missed some code from this article. There are several issues which you must be aware of when working around the missing done button on the iPhone numeric keypad. Use of private API&#8217;s is frowned upon by apple and they can reject your application. Also a lot of [&#8230;]</p>
<p>The post <a href="http://blog.softtester.com/index.php/2010/08/how-to-add-your-own-done-button-to-the-iphone-numeric-keypad/">How to add your own Done button to the iPhone numeric keypad</a> first appeared on <a href="http://blog.softtester.com">Software Promotion + SEO</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Last revised 22nd September 2010 &#8211; as I missed some code from this article.</p>
<p>There are several issues which you must be aware of when working around the missing done button on the iPhone numeric keypad. Use of private API&#8217;s is frowned upon by apple and they can reject your application. Also a lot of the solutions out there don&#8217;t work very well for OS4. This solution works by drawing a button on top of the keypad and animating it off the screen when required. It also draws the text so you don&#8217;t have to rely on images.</p>
<p>Firstly add a header file call it something like NumberKeypadModController.h also create an M file. Add the follow code to your H file.</p>
<table border="0" cellpadding="5" bgcolor="#dcedf7">
<tbody>
<tr>
<td>#import &lt;Foundation/Foundation.h&gt;</p>
<p>@protocol NumberKeypadModControllerDelegate &lt;NSObject&gt;</p>
<p>&#8211; (void) donePressed:(id)sender;</p>
<p>@end</p>
<p>/**<br />
*    The class used to create the keypad<br />
*/<br />
@interface NumberKeypadModController : NSObject<br />
{<br />
NSTimer *fixKeyboardTimer;<br />
UIButton *doneButton;<br />
UITextField *currentTextField;<br />
id&lt;NumberKeypadModControllerDelegate&gt; delegate;<br />
int        showHideCounter;<br />
BOOL    doneButtonShown;<br />
BOOL    doneButtonShownRecently;<br />
}</p>
<p>@property (nonatomic, retain) NSTimer *fixKeyboardTimer;</p>
<p>@property (nonatomic, retain) UIButton *doneButton;<br />
@property (nonatomic, retain) UITextField *currentTextField;</p>
<p>@property (nonatomic, retain) id&lt;NumberKeypadModControllerDelegate&gt; delegate;</p>
<p>&#8211; (void)textFieldShouldBeginEditing:(UITextField *)textField;<br />
&#8211; (void)textFieldDidBeginEditing:(UITextField *)textField;<br />
&#8211; (void)textFieldShouldEndEditing:(UITextField *)textField;</p>
<p>&#8211; (void)resignedResponderWithView:(UIView*)textField;</p>
<p>@end</td>
</tr>
</tbody>
</table>
<p>And your M file</p>
<table border="0" cellpadding="5" bgcolor="#dcedf7">
<tbody>
<tr>
<td>#import &#8220;NumberKeypadModController.h&#8221;</p>
<p>@interface NumberKeypadModController (PrivateMethods)<br />
&#8211; (void) addDoneToKeyboard;<br />
&#8211; (void) removeDoneFromKeyboard;<br />
&#8211; (void) donePressed;<br />
@end</p>
<p>#define PRE_SLIDING_DELAY_DURATION        0.1<br />
#define SLIDE_IN_ANIMATION_DURATION    0.2<br />
#define SLIDE_OUT_ANIMATION_DURATION    0.15</p>
<p>#define USE_TEXTURED_BUTTON        0</p>
<p>@implementation NumberKeypadModController</p>
<p>@synthesize fixKeyboardTimer;</p>
<p>@synthesize doneButton;<br />
@synthesize currentTextField;</p>
<p>@synthesize delegate;</p>
<p>&#8211; (id)init {<br />
if (self = [super init]) {<br />
self.fixKeyboardTimer = nil;<br />
#if (USE_TEXTURED_BUTTON != 0)<br />
self.doneButton = [UIButton buttonWithType:UIButtonTypeCustom];<br />
doneButton.frame = CGRectMake(0, 480, 105, 53);<br />
if ([[[UIDevice currentDevice] systemVersion] hasPrefix:@&#8221;3&#8243;]) {<br />
doneButton.frame = CGRectMake(0, 480, 105, 53);<br />
[doneButton setImage:[UIImage imageNamed:@&#8221;DoneUp3.png&#8221;] forState:UIControlStateNormal];<br />
[doneButton setImage:[UIImage imageNamed:@&#8221;DoneDown3.png&#8221;] forState:UIControlStateHighlighted];<br />
} else {<br />
[doneButton setImage:[UIImage imageNamed:@&#8221;DoneUp.png&#8221;] forState:UIControlStateNormal];<br />
[doneButton setImage:[UIImage imageNamed:@&#8221;DoneDown.png&#8221;] forState:UIControlStateHighlighted];<br />
}<br />
#else<br />
self.doneButton = [UIButton buttonWithType:UIButtonTypeCustom];<br />
doneButton.frame = CGRectMake(0, 480, 105, 53);<br />
if ([[[UIDevice currentDevice] systemVersion] hasPrefix:@&#8221;3&#8243;])<br />
doneButton.frame = CGRectMake(0, 480, 105, 53);<br />
doneButton.titleLabel.font = [UIFont boldSystemFontOfSize:18];<br />
[doneButton setTitleColor:[UIColor colorWithRed:60.0f/255.0f green:64.0f/255.0f blue:73.0f/255.0f alpha:1.0] forState:UIControlStateNormal];<br />
[doneButton setBackgroundImage:[UIImage imageNamed:@&#8221;doneKeyDownBackground.png&#8221;] forState:UIControlStateHighlighted];<br />
[doneButton setTitleColor:[UIColor whiteColor] forState:UIControlStateHighlighted];<br />
[doneButton setTitle:@&#8221;DONE&#8221; forState:UIControlStateNormal];<br />
#endif</p>
<p>[doneButton addTarget:self action:@selector(donePressed) forControlEvents:UIControlEventTouchUpInside];</p>
<p>self.currentTextField = nil;<br />
self.delegate = nil;</p>
<p>showHideCounter = 0;<br />
doneButtonShown = NO;<br />
}<br />
return self;<br />
}</p>
<p>&#8211; (void)textFieldShouldBeginEditing:(UITextField *)textField {<br />
if (textField.keyboardType != UIKeyboardTypeNumberPad)<br />
{<br />
doneButton.hidden = YES;<br />
doneButtonShownRecently = YES;<br />
}<br />
}</p>
<p>&#8211; (void)textFieldDidBeginEditing:(UITextField *)textField {<br />
if (textField.keyboardType != UIKeyboardTypeNumberPad)<br />
return;</p>
<p>//    NSLog(@&#8221;textFieldDidBeginEditing&#8221;);<br />
self.currentTextField = textField; //Save reference to current textfield being edited</p>
<p>if (!doneButtonShownRecently)<br />
{<br />
if (fixKeyboardTimer)<br />
[fixKeyboardTimer invalidate];<br />
self.fixKeyboardTimer = [NSTimer timerWithTimeInterval:PRE_SLIDING_DELAY_DURATION target:self<br />
selector:@selector(addDoneToKeyboard) userInfo:nil repeats:NO];<br />
[[NSRunLoop currentRunLoop] addTimer:fixKeyboardTimer forMode:NSDefaultRunLoopMode];<br />
} else<br />
{<br />
[doneButton removeFromSuperview];<br />
[self addDoneToKeyboard];<br />
}<br />
}</p>
<p>&#8211; (void)textFieldShouldEndEditing:(UITextField *)textField {<br />
if (textField.keyboardType != UIKeyboardTypeNumberPad)<br />
{<br />
doneButtonShownRecently = YES;<br />
[self performSelector:@selector(considerDoneButtonReallyHidden) withObject:nil afterDelay:SLIDE_OUT_ANIMATION_DURATION];<br />
return;<br />
}<br />
[self removeDoneFromKeyboard];<br />
}</p>
<p>&#8211; (void) textFieldDidEndEditing:(UITextField *)textField {<br />
}</p>
<p>&#8211; (void)resignedResponderWithView:(UIView*)textField {<br />
//    NSLog(@&#8221;resignedResponderWithView&#8221;);<br />
[self removeDoneFromKeyboard];<br />
}</p>
<p>&#8211; (void) addDoneToKeyboard {<br />
//    NSLog(@&#8221;addDoneToKeyboard&#8221;);</p>
<p>doneButton.hidden =  NO;</p>
<p>//Add a button to the top, above all windows<br />
NSArray *allWindows = [[UIApplication sharedApplication] windows];<br />
NSUInteger topWindowIndex = [allWindows count] &#8211; 1;<br />
UIWindow *topWindow = [allWindows objectAtIndex:topWindowIndex];</p>
<p>// check if top window is of keypad or else<br />
NSString *topViewClassName = [NSString stringWithFormat:@&#8221;%@&#8221;, [topWindow class]];<br />
while (![topViewClassName isEqualToString:@&#8221;UITextEffectsWindow&#8221;] ) {<br />
&#8211;topWindowIndex;</p>
<p>if(topWindowIndex &lt; 0)<br />
break;</p>
<p>topWindow = [allWindows objectAtIndex:topWindowIndex];<br />
topViewClassName = [NSString stringWithFormat:@&#8221;%@&#8221;, [topWindow class]];<br />
}</p>
<p>if(topWindowIndex &lt; 0) {<br />
topWindowIndex = [allWindows count] &#8211; 1;<br />
topWindow = [allWindows objectAtIndex:topWindowIndex];<br />
}</p>
<p>if (doneButton.superview)<br />
[doneButton removeFromSuperview];</p>
<p>[topWindow addSubview:doneButton];</p>
<p>if (!doneButtonShownRecently) {<br />
[UIView beginAnimations:nil context:nil];<br />
[UIView setAnimationBeginsFromCurrentState:YES];<br />
[UIView setAnimationDuration:SLIDE_IN_ANIMATION_DURATION];<br />
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];<br />
doneButton.frame = CGRectMake(0, 480-53, doneButton.frame.size.width, 53);<br />
[UIView commitAnimations];<br />
} else {<br />
doneButton.frame = CGRectMake(0, 427, doneButton.frame.size.width, 53);<br />
}</p>
<p>doneButtonShown = YES;<br />
}</p>
<p>&#8211; (void) removeDoneFromKeyboard {<br />
//    NSLog(@&#8221;removeDoneFromKeyboard&#8221;);</p>
<p>[fixKeyboardTimer invalidate];<br />
self.fixKeyboardTimer = nil;</p>
<p>if (!doneButtonShownRecently) {<br />
[UIView beginAnimations:nil context:nil];<br />
[UIView setAnimationBeginsFromCurrentState:YES];<br />
[UIView setAnimationDuration:SLIDE_OUT_ANIMATION_DURATION];<br />
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];<br />
doneButton.frame = CGRectMake(0, 480, doneButton.frame.size.width, 53);<br />
[UIView commitAnimations];<br />
} else {<br />
doneButton.frame = CGRectMake(0, 480, doneButton.frame.size.width, 53);<br />
}</p>
<p>doneButtonShown = NO;<br />
doneButtonShownRecently = YES;<br />
[self performSelector:@selector(considerDoneButtonReallyHidden) withObject:nil afterDelay:SLIDE_OUT_ANIMATION_DURATION];<br />
}</p>
<p>&#8211; (void)considerDoneButtonReallyHidden {<br />
//    NSLog(@&#8221;considerDoneButtonReallyHidden&#8221;);<br />
doneButtonShownRecently = NO;<br />
}</p>
<p>&#8211; (void) donePressed {<br />
[self.currentTextField resignFirstResponder];<br />
if ([delegate respondsToSelector:@selector(donePressed:)])<br />
[delegate performSelector:@selector(donePressed:) withObject:self.currentTextField];<br />
}</p>
<p>&#8211; (void) dealloc {<br />
[fixKeyboardTimer release];<br />
[doneButton removeFromSuperview];<br />
[doneButton release];<br />
[delegate release];<br />
[super dealloc];<br />
}</p>
<p>@end</td>
</tr>
</tbody>
</table>
<p>Now to your view header file add an import to NumberKeypadModController.h</p>
<p>Now its imple matter of adding a delegate to your interface and a property on the view your going to use  the code. In your viewdidload add this code.</p>
<table border="0" cellpadding="5" bgcolor="#dcedf7">
<tbody>
<tr>
<td>@interface YourViewController : UIViewController &lt;UITextFieldDelegate, NumberKeypadModControllerDelegate&gt; {</p>
<p>NumberKeypadModController *numberKeyPadModController;<br />
IBOutlet UITextField *textFieldRow1;<br />
}</p>
<p>@property(nonatomic,retain) NumberKeypadModController *numberKeyPadModController;<br />
@property(nonatomic,retain) UITextField *textFieldRow1;</p>
<p>@end</td>
</tr>
</tbody>
</table>
<p>And your m file.</p>
<table border="0" cellpadding="5" bgcolor="#dcedf7">
<tbody>
<tr>
<td>#import &#8220;YourViewController.h&#8221;<br />
#import &#8220;NumberKeypadModController.h&#8221;</p>
<p>@interface UIView (FindAndResignFirstResponder)<br />
&#8211; (UIView*)findFirstResponder;<br />
@end<br />
@implementation UIView (FindAndResignFirstResponder)<br />
&#8211; (UIView*)findFirstResponder {<br />
if (self.isFirstResponder) {<br />
[self resignFirstResponder];<br />
return self;<br />
}<br />
for (UIView *subView in self.subviews) {<br />
if ([subView findFirstResponder])<br />
return subView;<br />
}<br />
return nil;<br />
}<br />
@end</p>
<p>@implementation YourViewController</p>
<p>@synthesize numberKeyPadModController;<br />
@synthesize textFieldRow1;</p>
<p>&#8211; (void)viewDidLoad {<br />
[super viewDidLoad];</p>
<p>self.numberKeyPadModController = [[[NumberKeypadModController alloc] init] autorelease];<br />
numberKeyPadModController.delegate = self;</p>
<p>[[NSNotificationCenter defaultCenter] addObserver:self<br />
selector:@selector(doneButton:) name:@&#8221;DoneButtonPressed&#8221; object:nil];</p>
<p>textFieldRow1.delegate = self;<br />
}</p>
<p>&#8211; (void)doneButtonPressed:(UITextField*)sender{<br />
if ([textFieldRow1 isEditing]) {<br />
[textFieldRow1 resignFirstResponder];<br />
}<br />
}</p>
<p>&#8211; (void) donePressed:(id)sender {<br />
UIView* firstResponder = [self.view findFirstResponder];<br />
[firstResponder resignFirstResponder];<br />
}</p>
<p>&#8211; (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {<br />
[numberKeyPadModController textFieldShouldBeginEditing:textField];</p>
<p>return YES;<br />
}</p>
<p>&#8211; (void) textFieldDidBeginEditing:(UITextField *)textField {<br />
[numberKeyPadModController textFieldDidBeginEditing:textField];<br />
}</p>
<p>&#8211; (BOOL) textFieldShouldEndEditing:(UITextField *)textField {<br />
[numberKeyPadModController textFieldShouldEndEditing:textField];<br />
return YES;<br />
}</p>
<p>-(void)touchesBegan :(NSSet *)touches withEvent:(UIEvent *)event {<br />
UIView* firstResponder = [self.view findFirstResponder];<br />
[firstResponder resignFirstResponder];<br />
[numberKeyPadModController resignedResponderWithView:firstResponder];</p>
<p>[super touchesBegan:touches withEvent:event];<br />
}</p>
<p>&#8211; (void)didReceiveMemoryWarning {<br />
[super didReceiveMemoryWarning];<br />
}</p>
<p>&#8211; (void)viewDidUnload {<br />
// Release any retained subviews of the main view.<br />
// e.g. self.myOutlet = nil;<br />
}</p>
<p>&#8211; (void)dealloc {<br />
[super dealloc];<br />
}</p>
<p>@end</td>
</tr>
</tbody>
</table>
<p>Now in interface builder add a UITextField and assign the outlet, save and run.</p>
<p>I`m currently looking at making a decimal point version of this. I have seen others of the web, but the animation isn`t as good as mine. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>If you find this code helpful please consider buying a copy of our app. Suggestions and feedback our also welcome.</p>
<p><a href="http://www.kidsmathstore.com/stt-itunes-gb.php">iTunes page Speaking Times Table iPhone App</a></p>
<p><a href="http://www.kidsmathstore.com/stt-itunes-gb.php"><img decoding="async" class="size-full wp-image-313" title="Speaking Times Tables - Available on the App Store" src="http://www.kidsmathstore.com/info/wp-content/uploads/2010/07/appstore.png" alt="Speaking Times Tables - Available on the App Store" width="150" height="57" /></a></p>
<p>I&#8217;d be happy to talk further about the code, please leave your comments below, you&#8217;ll notice from our app that we also use a bar above the keypad, which I haven&#8217;t included in the above code.</p>
<p>ALSO LET ME KNOW IF YOU HAVE ANY PROBLEMS WITH THIS CODE !!</p>
<p>by JM</p><p>The post <a href="http://blog.softtester.com/index.php/2010/08/how-to-add-your-own-done-button-to-the-iphone-numeric-keypad/">How to add your own Done button to the iPhone numeric keypad</a> first appeared on <a href="http://blog.softtester.com">Software Promotion + SEO</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://blog.softtester.com/index.php/2010/08/how-to-add-your-own-done-button-to-the-iphone-numeric-keypad/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to, link my bug reports submissions into my ticket system?</title>
		<link>http://blog.softtester.com/index.php/2010/06/how-to-link-my-bug-reports-submissions-into-my-ticket-system/</link>
					<comments>http://blog.softtester.com/index.php/2010/06/how-to-link-my-bug-reports-submissions-into-my-ticket-system/#comments</comments>
		
		<dc:creator><![CDATA[Dipsy]]></dc:creator>
		<pubDate>Fri, 04 Jun 2010 17:48:24 +0000</pubDate>
				<category><![CDATA[Tech Talk]]></category>
		<guid isPermaLink="false">http://blog.softtester.com/?p=643</guid>

					<description><![CDATA[<p>Several years ago while my software wasn&#8217;t selling very well, I started to become very paranoid that my poor sales was due to bugs in my program. Bug that were hardly every reproduceable.  Over a year ago, I got some mturks to pinpoint some bugs. Which I believe, led to some of the major bugs [&#8230;]</p>
<p>The post <a href="http://blog.softtester.com/index.php/2010/06/how-to-link-my-bug-reports-submissions-into-my-ticket-system/">How to, link my bug reports submissions into my ticket system?</a> first appeared on <a href="http://blog.softtester.com">Software Promotion + SEO</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Several years ago while my software wasn&#8217;t selling very well, I started to become very paranoid that my poor sales was due to bugs in my program. Bug that were hardly every reproduceable.  Over a year ago, I got some mturks to pinpoint some bugs. Which I believe, led to some of the major bugs being fixed.</p>
<p>However, I still get lots of bug reports where I can&#8217;t proceed any further. Theres two issues here. Firstly, that my bug reporting is super sensitive and produces reports when there isn&#8217;t actually a bug, although I&#8217;m not 100% why I get some of these reports.</p>
<p>Secondly, I&#8217;m wondering if I linked the reporting into my new ticket system and showed that I&#8217;m taking the problem seriously and asked for more information via the ticket system, whether people might provide more information.</p>
<p>by JM</p><p>The post <a href="http://blog.softtester.com/index.php/2010/06/how-to-link-my-bug-reports-submissions-into-my-ticket-system/">How to, link my bug reports submissions into my ticket system?</a> first appeared on <a href="http://blog.softtester.com">Software Promotion + SEO</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://blog.softtester.com/index.php/2010/06/how-to-link-my-bug-reports-submissions-into-my-ticket-system/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>Tip for PAD file Submission</title>
		<link>http://blog.softtester.com/index.php/2010/05/tip-for-pad-file-submission/</link>
					<comments>http://blog.softtester.com/index.php/2010/05/tip-for-pad-file-submission/#comments</comments>
		
		<dc:creator><![CDATA[MikeL]]></dc:creator>
		<pubDate>Tue, 18 May 2010 10:50:14 +0000</pubDate>
				<category><![CDATA[New Software Releases]]></category>
		<category><![CDATA[Search Engine Optimisation]]></category>
		<category><![CDATA[Pad File]]></category>
		<guid isPermaLink="false">http://blog.softtester.com/?p=619</guid>

					<description><![CDATA[<p>Quick Tip: To make the most of a PAD file submission, you need to make sure your up to date listing gets shown on the front page of the software download site where it gets most exposure. As a side effect this probably means most link juice flows through your listing and back to your [&#8230;]</p>
<p>The post <a href="http://blog.softtester.com/index.php/2010/05/tip-for-pad-file-submission/">Tip for PAD file Submission</a> first appeared on <a href="http://blog.softtester.com">Software Promotion + SEO</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Quick Tip: To make the most of a PAD file submission, you need to make sure your up to date listing gets shown on the front page of the software download site where it gets most exposure. As a side effect this probably means most link juice flows through your listing and back to your site via any links you get from the download site too <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>When you submit, make sure your software release date in the PAD file is the date of the day you actually do the submission. A lot of sites show recent submissions based on the release date in the PAD file rather than the actual date of submission, so submitting on the day of release maximises the chances of front page exposure.</p><p>The post <a href="http://blog.softtester.com/index.php/2010/05/tip-for-pad-file-submission/">Tip for PAD file Submission</a> first appeared on <a href="http://blog.softtester.com">Software Promotion + SEO</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://blog.softtester.com/index.php/2010/05/tip-for-pad-file-submission/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
	</channel>
</rss>
