<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2875096680482431005</id><updated>2011-07-28T23:10:24.899-07:00</updated><category term='postgresql'/><category term='commercial lease'/><category term='commercial lease information'/><category term='sqlite'/><category term='hosting'/><category term='backups'/><category term='automated'/><category term='landing page'/><category term='property management'/><category term='apache2'/><category term='new accounts'/><category term='tables'/><category term='wrapper objects'/><category term='columns'/><category term='ui'/><category term='lease'/><category term='sales'/><category term='marketing'/><category term='asp.net'/><category term='user interface design'/><category term='mono'/><category term='contact information'/><category term='leasing'/><category term='database'/><category term='quickpm.net'/><title type='text'>QuickPM</title><subtitle type='html'>The official blog for quickpm.net</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://quickpm.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2875096680482431005/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://quickpm.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Bryan Bell</name><uri>http://www.blogger.com/profile/06671234294826028145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2875096680482431005.post-533442708962249977</id><published>2010-02-09T10:55:00.000-08:00</published><updated>2010-02-09T10:55:46.926-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='new accounts'/><category scheme='http://www.blogger.com/atom/ns#' term='automated'/><category scheme='http://www.blogger.com/atom/ns#' term='quickpm.net'/><title type='text'>Instant Account Creation</title><content type='html'>I've been working the last few days on making the creation of new accounts for quickpm.net automated. Before when a user requested a new account I would be emailed the account request and then had to manually create the account.&lt;br /&gt;&lt;br /&gt;With the new version of the software I've added a few scripts that create the account for me and automate the entire process.&lt;br /&gt;&lt;br /&gt;Now if you go to &lt;a href="http://quickpm.net/"&gt;http://quickpm.net&lt;/a&gt; and click the "Sign Up For Free" link the account is created and you do not have to wait for me to get the email and create it for you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2875096680482431005-533442708962249977?l=quickpm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://quickpm.blogspot.com/feeds/533442708962249977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2875096680482431005&amp;postID=533442708962249977' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2875096680482431005/posts/default/533442708962249977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2875096680482431005/posts/default/533442708962249977'/><link rel='alternate' type='text/html' href='http://quickpm.blogspot.com/2010/02/instant-account-creation.html' title='Instant Account Creation'/><author><name>Bryan Bell</name><uri>http://www.blogger.com/profile/06671234294826028145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2875096680482431005.post-2866774841642706456</id><published>2009-12-23T16:50:00.000-08:00</published><updated>2009-12-23T16:50:09.076-08:00</updated><title type='text'>Lease Terms &amp; Options</title><content type='html'>The Lease Terms &amp;amp; Options page lets you enter the information for &lt;br /&gt;&lt;br /&gt;&lt;b&gt;1.&lt;/b&gt; Date of the Lease Document &lt;br /&gt;&lt;b&gt;2.&lt;/b&gt; Date of the Lease Commencement&lt;br /&gt;&lt;b&gt;3.&lt;/b&gt; Date of the Lease Expiration&lt;br /&gt;&lt;b&gt;4.&lt;/b&gt; The rent commencement dates for the base rent and the additional rent (if they have any)&lt;br /&gt;&lt;b&gt;5.&lt;/b&gt; Any options for the lease.&lt;br /&gt;&lt;b&gt;6.&lt;/b&gt; Any notes on the lease&lt;br /&gt;&lt;br /&gt;The purpose of the page is to let you enter the essential information regarding when a lease started and when it ends. This information is then reported in the "Lease Summaries" report and is also used for displaying the list on the home page of leases that are expiring in the next 60 days. &lt;br /&gt;&lt;br /&gt;See the screenshot below for what it looks like&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_Wra3MOmcwok/SzK40VFwhSI/AAAAAAAAD3E/Nc-zfOFqg_Y/s1600-h/lease+terms+and+options.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_Wra3MOmcwok/SzK40VFwhSI/AAAAAAAAD3E/Nc-zfOFqg_Y/s640/lease+terms+and+options.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2875096680482431005-2866774841642706456?l=quickpm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://quickpm.blogspot.com/feeds/2866774841642706456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2875096680482431005&amp;postID=2866774841642706456' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2875096680482431005/posts/default/2866774841642706456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2875096680482431005/posts/default/2866774841642706456'/><link rel='alternate' type='text/html' href='http://quickpm.blogspot.com/2009/12/lease-terms-options.html' title='Lease Terms &amp; Options'/><author><name>Bryan Bell</name><uri>http://www.blogger.com/profile/06671234294826028145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Wra3MOmcwok/SzK40VFwhSI/AAAAAAAAD3E/Nc-zfOFqg_Y/s72-c/lease+terms+and+options.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2875096680482431005.post-830385706684038735</id><published>2009-12-22T15:42:00.000-08:00</published><updated>2009-12-22T16:04:24.524-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='commercial lease'/><category scheme='http://www.blogger.com/atom/ns#' term='commercial lease information'/><category scheme='http://www.blogger.com/atom/ns#' term='leasing'/><category scheme='http://www.blogger.com/atom/ns#' term='lease'/><title type='text'>Basic Lease Information</title><content type='html'>The lease between the tenant and landlord clearly defines the responsibilities and rights of the tenant and landlord with respect to each other and the property.&lt;br /&gt;&lt;br /&gt;For ease of quickly grasping some of the most important information from the lease we provided the "Basic Lease Information" page and the "Lease Terms &amp;amp; Options" page.&lt;br /&gt;&lt;br /&gt;The Basic Lease Information page lists:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1.&lt;/b&gt; The unit/suite#&lt;br /&gt;&lt;b&gt;2.&lt;/b&gt; The unit/suite size in sq.ft.&lt;br /&gt;&lt;b&gt;3.&lt;/b&gt; The "Use of the Premises". This is usually found in the tenant's lease. A common example is "Suite is to be used for general office use only."&lt;br /&gt;&lt;b&gt;4.&lt;/b&gt; Any exclusive rights the tenant has to the shopping or office center. An example is a sushi restaurant in a shopping center that has exclusive rights for the operation of a sushi restaurant. &lt;br /&gt;&lt;b&gt;5.&lt;/b&gt; Any explicit restrictions on the use. &lt;br /&gt;&lt;br /&gt;See below is a screenshot of the Basic Lease Information page&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_Wra3MOmcwok/SzFZFXpiB9I/AAAAAAAAD28/VwLuO-Ycq6I/s1600-h/basic+lease+information.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_Wra3MOmcwok/SzFZFXpiB9I/AAAAAAAAD28/VwLuO-Ycq6I/s640/basic+lease+information.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;In my next post I'll outline what the "Lease Terms &amp; Options" page contains and its purpose.&lt;br /&gt;&lt;br /&gt;For more information you can read NOLO's write-up at on leases &lt;a href="http://www.nolo.com/legal-encyclopedia/article-29934.html"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2875096680482431005-830385706684038735?l=quickpm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://quickpm.blogspot.com/feeds/830385706684038735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2875096680482431005&amp;postID=830385706684038735' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2875096680482431005/posts/default/830385706684038735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2875096680482431005/posts/default/830385706684038735'/><link rel='alternate' type='text/html' href='http://quickpm.blogspot.com/2009/12/basic-lease-information.html' title='Basic Lease Information'/><author><name>Bryan Bell</name><uri>http://www.blogger.com/profile/06671234294826028145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Wra3MOmcwok/SzFZFXpiB9I/AAAAAAAAD28/VwLuO-Ycq6I/s72-c/basic+lease+information.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2875096680482431005.post-2628360864819575443</id><published>2009-10-26T17:10:00.000-07:00</published><updated>2009-12-22T14:48:53.369-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='user interface design'/><category scheme='http://www.blogger.com/atom/ns#' term='ui'/><category scheme='http://www.blogger.com/atom/ns#' term='landing page'/><title type='text'>New Landing Page and Less Downtime</title><content type='html'>I spent part of today redesigning the landing page for cmd.quickpm.net and the other *.quickpm.net websites.&lt;br /&gt;&lt;br /&gt;I'd like to thank Thomas Kuo for his feedback on the confusing nature of the old landing page. The problem with the old landing page is that the login button for registered users was a tiny link in the upper right hand side of the page. What was happening is that a user would go to cmd.quickpm.net and they would see the links to display property information but they wouldn't notice the login link. Thus as a registered user they wouldn't login to view all of the private information such as leases, rent rolls, cash journals, etc. &lt;br /&gt;&lt;br /&gt;The new landing page prominently displays two buttons (links) one for viewing the public information and one to login in. See below for what it looks like.&lt;br /&gt;&lt;br /&gt;&lt;img landing="" page="" screenshot="" src="http://lh5.ggpht.com/_Wra3MOmcwok/SuY6ss7Md0I/AAAAAAAADjM/ltSyIB6iNR4/s400/NewLandingPageScreenshot.png" /&gt;&lt;br /&gt;&lt;br /&gt;In other news I've finally updated the webserver configuration to display a downtime message when the website is down which typically happens when I'm upgrading it to a new version.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2875096680482431005-2628360864819575443?l=quickpm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://quickpm.blogspot.com/feeds/2628360864819575443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2875096680482431005&amp;postID=2628360864819575443' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2875096680482431005/posts/default/2628360864819575443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2875096680482431005/posts/default/2628360864819575443'/><link rel='alternate' type='text/html' href='http://quickpm.blogspot.com/2009/10/new-landing-page-and-less-downtime.html' title='New Landing Page and Less Downtime'/><author><name>Bryan Bell</name><uri>http://www.blogger.com/profile/06671234294826028145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_Wra3MOmcwok/SuY6ss7Md0I/AAAAAAAADjM/ltSyIB6iNR4/s72-c/NewLandingPageScreenshot.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2875096680482431005.post-4931513020809224318</id><published>2009-10-21T17:11:00.000-07:00</published><updated>2009-10-21T17:11:53.478-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='backups'/><title type='text'>Newer and Shinier Backups</title><content type='html'>Our old backup system consisted of me manually copying our data over to a usb hard drive. Needless to say this is not the best backup method. &lt;br /&gt;&lt;br /&gt;As of today I've implemented the backup system described in Michael Greb's &lt;a href="http://thegrebs.com/docs/rdiff-backup.html"&gt;article&lt;/a&gt; on rdiff-backup. Thanks Michael for writing such a clear article. So far the system seems to be working great. I've set it to do daily backups of the databases, websites, and source-code.&lt;br /&gt;&lt;br /&gt;In other news I finally took a look at the Service Request module and fixed a couple outstanding bugs. So service requests should be working properly now. I also finished the scripts for rolling out website updates with a click of a button, so new bug fixes and feature enhancements should show up when I finish them instead of waiting for me to get around to deploying them manually.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2875096680482431005-4931513020809224318?l=quickpm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://quickpm.blogspot.com/feeds/4931513020809224318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2875096680482431005&amp;postID=4931513020809224318' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2875096680482431005/posts/default/4931513020809224318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2875096680482431005/posts/default/4931513020809224318'/><link rel='alternate' type='text/html' href='http://quickpm.blogspot.com/2009/10/newer-and-shinier-backups.html' title='Newer and Shinier Backups'/><author><name>Bryan Bell</name><uri>http://www.blogger.com/profile/06671234294826028145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2875096680482431005.post-4618309006462761746</id><published>2009-10-20T11:30:00.000-07:00</published><updated>2009-10-20T20:27:38.852-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='marketing'/><category scheme='http://www.blogger.com/atom/ns#' term='sales'/><title type='text'>Benefits Not Features</title><content type='html'>When creating our website quickpm.net to advertise our software it's most natural for me as the developer to write about the features our software provides. But from the customer's point of view this isn't very useful. They don't want to read about features, they want to read about the benefits the software provides to them. &lt;br /&gt;&lt;br /&gt;As an example, take the verbiage I wrote about our software to keep track of contacts&lt;br /&gt;&lt;br /&gt;"Use our contact information software to keep track of the contact information for each property and tenant."&lt;br /&gt;&lt;br /&gt;The above sentence is okay, but it doesn't tell the customer why they want to use the contact software. The sentence should be reworded to something like the below.&lt;br /&gt;&lt;br /&gt;"Never lose a tenant or owner's contact information again with our contact management software. With it you can quickly and easily locate the key contacts for tenants and property owners."&lt;br /&gt;&lt;br /&gt;For more reading on this topic try Kathy Gyimesy's excellent post &lt;a href="http://kathygyimesy.com/?p=115"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2875096680482431005-4618309006462761746?l=quickpm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://quickpm.blogspot.com/feeds/4618309006462761746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2875096680482431005&amp;postID=4618309006462761746' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2875096680482431005/posts/default/4618309006462761746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2875096680482431005/posts/default/4618309006462761746'/><link rel='alternate' type='text/html' href='http://quickpm.blogspot.com/2009/10/writing-marketing-material.html' title='Benefits Not Features'/><author><name>Bryan Bell</name><uri>http://www.blogger.com/profile/06671234294826028145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2875096680482431005.post-2927842256209917708</id><published>2009-10-17T01:24:00.000-07:00</published><updated>2009-10-17T18:57:13.790-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sqlite'/><category scheme='http://www.blogger.com/atom/ns#' term='hosting'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><category scheme='http://www.blogger.com/atom/ns#' term='postgresql'/><title type='text'>New Hosting</title><content type='html'>I've recently purchased some hosting from &lt;a href="http://linode.com"&gt;linode.com&lt;/a&gt; and decided to switch from hosting our websites in-house to the hosting provided by &lt;a href="http://linode.com"&gt;linode.com&lt;/a&gt; I switched this evening and overall I've been completely satisfied with the services provided by &lt;a href="http://linode.com"&gt;linode.com&lt;/a&gt;. They make it very easy to setup a &lt;a href="http://en.wikipedia.org/wiki/Virtual_private_server"&gt;VPS&lt;br /&gt;&lt;/a&gt;. The VPS I decided to go with is a 64bit Ubuntu image with 20gigs of disk space and 360MB of memory. If I decide that we need more disk space or memory it's very easy to upgrade. &lt;br /&gt;&lt;br /&gt;I've also switched the database backend for quickpm.net from &lt;a href="http://www.sqlite.org/"&gt;SQLite&lt;/a&gt; to &lt;a href="http://postgresql.org"&gt;PostgreSQL&lt;/a&gt;. I switched because sqlite only allows one user at a time to be writing to the database and this was causing some errors when multiple people were editing properties at the same time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2875096680482431005-2927842256209917708?l=quickpm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://quickpm.blogspot.com/feeds/2927842256209917708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2875096680482431005&amp;postID=2927842256209917708' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2875096680482431005/posts/default/2927842256209917708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2875096680482431005/posts/default/2927842256209917708'/><link rel='alternate' type='text/html' href='http://quickpm.blogspot.com/2009/10/new-hosting.html' title='New Hosting'/><author><name>Bryan Bell</name><uri>http://www.blogger.com/profile/06671234294826028145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2875096680482431005.post-7334732810359960333</id><published>2009-08-20T15:26:00.000-07:00</published><updated>2009-08-20T16:03:16.646-07:00</updated><title type='text'>Adding Properties to quickpm</title><content type='html'>Adding new properties is fairly simple, simply click on the link on the home page of your quickpm website. See the below figure&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Wra3MOmcwok/So3UgvWw-LI/AAAAAAAADI0/FFBWgv9I_vU/s1600-h/Add+Property+Screenshot.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 232px;" src="http://2.bp.blogspot.com/_Wra3MOmcwok/So3UgvWw-LI/AAAAAAAADI0/FFBWgv9I_vU/s400/Add+Property+Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5372183589455722674" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Once you've clicked the "Add Property" link you're taken to the page to fill in the basic information for the property.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Wra3MOmcwok/So3VEKv-9oI/AAAAAAAADI8/KxMfcDESlnw/s1600-h/Property+Information.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 232px;" src="http://2.bp.blogspot.com/_Wra3MOmcwok/So3VEKv-9oI/AAAAAAAADI8/KxMfcDESlnw/s400/Property+Information.png" alt="" id="BLOGGER_PHOTO_ID_5372184198104675970" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The basic information includes the types of rent. You are free to change these to anything you want. Also the chart of accounts is purely optional and does not need to be filled in. If it is filled in please use the chart of account number and not the name.&lt;br /&gt;&lt;br /&gt;The remittance information is the location and name of the address that will be printed on the bills sent to the tenants. This is location that you want the tenants to send their checks to.&lt;br /&gt;&lt;br /&gt;Once you're finished you simply click the "Add" button and you'll be taken to your newly created property. From there you can do lots of things such as add tenants, create deposits in the cash journal, and upload documents.&lt;br /&gt;&lt;br /&gt;I hope this article has been of some use to you and if you have any suggestions, questions, or feedback feel free to email me at bryan.w.bell@gmail.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2875096680482431005-7334732810359960333?l=quickpm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://quickpm.blogspot.com/feeds/7334732810359960333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2875096680482431005&amp;postID=7334732810359960333' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2875096680482431005/posts/default/7334732810359960333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2875096680482431005/posts/default/7334732810359960333'/><link rel='alternate' type='text/html' href='http://quickpm.blogspot.com/2009/08/adding-properties-to-quickpm.html' title='Adding Properties to quickpm'/><author><name>Bryan Bell</name><uri>http://www.blogger.com/profile/06671234294826028145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Wra3MOmcwok/So3UgvWw-LI/AAAAAAAADI0/FFBWgv9I_vU/s72-c/Add+Property+Screenshot.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2875096680482431005.post-4030555328769648183</id><published>2009-08-20T11:13:00.000-07:00</published><updated>2009-08-20T15:12:46.034-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='property management'/><category scheme='http://www.blogger.com/atom/ns#' term='quickpm.net'/><category scheme='http://www.blogger.com/atom/ns#' term='contact information'/><title type='text'>Contact Information</title><content type='html'>Within any organization it's important to keep current contact information. In our property management program for each person we keep their name, title, office#, home#, cell#, fax#, email, and address. For example you can look at the &lt;a href="http://demo.quickpm.net/Property/PropertyPage.aspx?PropertyId=1"&gt;demo.quickpm.net&lt;/a&gt; site for some example contact information. We allow you, the user, to add contact information for properties and tenants.&lt;br /&gt;&lt;br /&gt;One area that I need to work on improving is searching our contact information. As of right now there is no way to search the contact information for names, telephone numbers, or addresses.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2875096680482431005-4030555328769648183?l=quickpm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://quickpm.blogspot.com/feeds/4030555328769648183/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2875096680482431005&amp;postID=4030555328769648183' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2875096680482431005/posts/default/4030555328769648183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2875096680482431005/posts/default/4030555328769648183'/><link rel='alternate' type='text/html' href='http://quickpm.blogspot.com/2009/08/contact-information.html' title='Contact Information'/><author><name>Bryan Bell</name><uri>http://www.blogger.com/profile/06671234294826028145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2875096680482431005.post-1221731997646151529</id><published>2008-06-11T16:43:00.000-07:00</published><updated>2008-06-11T17:09:18.235-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='columns'/><category scheme='http://www.blogger.com/atom/ns#' term='wrapper objects'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><category scheme='http://www.blogger.com/atom/ns#' term='tables'/><title type='text'>Database Wrapper Objects</title><content type='html'>It's common to use small wrapper objects around database tables. One object represents one row in the database table. For the sake of clarity the following is a simple example:&lt;br /&gt;&lt;br /&gt;Database: Documents table, with columns (Id, FileName, Data). Where Id is an identifier for the object, I use a &lt;a href="http://en.wikipedia.org/wiki/Guid"&gt;Guid&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;A simple wrapper object for the Documents table would have the following pseudo code &lt;br /&gt;&lt;br /&gt;class Document {&lt;br /&gt;    property Id&lt;br /&gt;    prpoerty FileName&lt;br /&gt;    property Data&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;The only issues are how to create new Document objects, how to save Document objects, and how to retrieve Document objects.&lt;br /&gt;&lt;br /&gt;Since I'm young and stupid I had the wrong solution for all three problems.&lt;br /&gt;First I created a separate Database class with static methods for Retrieving, Adding, &amp; Updating Document objects. This becomes unmanageable when the number of wrapper objects for the database gets above 10. &lt;br /&gt;&lt;br /&gt;The correct solution is to&lt;br /&gt; 1. Create a Save() method for the Document class that intelligently either adds the document to the database or updates the existing document in the database. Thus the user of the document class doesn't need to remember if they're updating an existing document or creating a new document. &lt;br /&gt;&lt;br /&gt;2. Have a single constructor for the Document class that accepts an Id. This constructor then creates a new Document object if that Id does not exist in the database or retrieves the existing Document object from the database if that Id is in the database.&lt;br /&gt;&lt;br /&gt;By doing the above the creation and saving of Document objects is entirely consistent. This reduces the cognitively load on users of the Document class so they don't have to think about the details of how Document objects are created and stored, instead they can concentrate their effort on other things.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2875096680482431005-1221731997646151529?l=quickpm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://quickpm.blogspot.com/feeds/1221731997646151529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2875096680482431005&amp;postID=1221731997646151529' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2875096680482431005/posts/default/1221731997646151529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2875096680482431005/posts/default/1221731997646151529'/><link rel='alternate' type='text/html' href='http://quickpm.blogspot.com/2008/06/database-wrapper-objects.html' title='Database Wrapper Objects'/><author><name>Bryan Bell</name><uri>http://www.blogger.com/profile/06671234294826028145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2875096680482431005.post-468820240632781996</id><published>2008-06-05T13:41:00.000-07:00</published><updated>2008-06-05T14:54:35.906-07:00</updated><title type='text'>User Interface</title><content type='html'>So you've got this great business application. It has all the the greatest features, it does everything but clean the house.&lt;br /&gt;&lt;br /&gt;The only problem is it's way too complicated for you poor users to figure out. It has twenty different tabs just to change an email address. This is where good user interface design can make the difference between a successful application and one that your users (if you have any) absolutely despise.&lt;br /&gt;&lt;br /&gt;One of the principles of UI design is to not give users too many choices. This comes from the&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Decision_theory#Paradox_of_choice"&gt;Paradox of Choice&lt;/a&gt;. Thus as designers we need to ensure that the user does not consciously make choices. One way to do this is to limit the number of choices for the user based on the context (typically the page they are currently at). The below image from Picasa Web Albums illustrates this by not allowing users to click on the current tab.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://picasaweb.google.com/Bryan.W.Bell/QuickPMBlogImages/photo#5208514910588435538"&gt;&lt;img src="http://lh6.ggpht.com/Bryan.W.Bell/SEhctxzy_FI/AAAAAAAAA4Y/nHpaMtWLWSM/s800/Google-Example.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In the below example from Golden1's website you can't even tell which tab is currently selected.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://picasaweb.google.com/Bryan.W.Bell/QuickPMBlogImages/photo#5208514910588435554"&gt;&lt;img src="http://lh6.ggpht.com/Bryan.W.Bell/SEhctxzy_GI/AAAAAAAAA4g/RQl5Sw3x4qA/s400/Golden1-Example.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A great example of reducing choice to improve the user experience is Gnome vs. KDE (which has configurations up the wazoo).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is just one small example of what goes into UI design. For more info see http://ometer.com/free-software-ui.html, http://www.joelonsoftware.com/uibook/chapters/fog0000000057.html, etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2875096680482431005-468820240632781996?l=quickpm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://quickpm.blogspot.com/feeds/468820240632781996/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2875096680482431005&amp;postID=468820240632781996' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2875096680482431005/posts/default/468820240632781996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2875096680482431005/posts/default/468820240632781996'/><link rel='alternate' type='text/html' href='http://quickpm.blogspot.com/2008/06/user-interface.html' title='User Interface'/><author><name>Bryan Bell</name><uri>http://www.blogger.com/profile/06671234294826028145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/Bryan.W.Bell/SEhctxzy_FI/AAAAAAAAA4Y/nHpaMtWLWSM/s72-c/Google-Example.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2875096680482431005.post-6930442414558644396</id><published>2008-05-29T11:00:00.001-07:00</published><updated>2008-06-05T15:40:46.712-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quickpm.net'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='apache2'/><category scheme='http://www.blogger.com/atom/ns#' term='mono'/><title type='text'>First Post</title><content type='html'>This is the official blog of QuickPM.net. I'll be talking mostly about the technical issues involved in running an ASP.Net application on Debian/Apache2 with Mono.&lt;br /&gt;&lt;br /&gt;I plan on posting my problems and their solutions and general thoughts on software design in the hope that it is useful or entertaining. &lt;br /&gt;&lt;br /&gt;Cheers Bryan&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2875096680482431005-6930442414558644396?l=quickpm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://quickpm.blogspot.com/feeds/6930442414558644396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2875096680482431005&amp;postID=6930442414558644396' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2875096680482431005/posts/default/6930442414558644396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2875096680482431005/posts/default/6930442414558644396'/><link rel='alternate' type='text/html' href='http://quickpm.blogspot.com/2008/05/first-post.html' title='First Post'/><author><name>Bryan Bell</name><uri>http://www.blogger.com/profile/06671234294826028145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
