<?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>Marvel Internet Group</title>
	<atom:link href="http://www.marvelig.com.au/feed" rel="self" type="application/rss+xml" />
	<link>http://www.marvelig.com.au</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Thu, 19 Mar 2009 00:25:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Coding JustRosters &#8211; Day 1 &#8211; Setting up CakePHP</title>
		<link>http://www.marvelig.com.au/coding-justrosters-day-1-setting-up-cakephp/206</link>
		<comments>http://www.marvelig.com.au/coding-justrosters-day-1-setting-up-cakephp/206#comments</comments>
		<pubDate>Thu, 19 Mar 2009 00:25:12 +0000</pubDate>
		<dc:creator>Aulay Macaulay</dc:creator>
				<category><![CDATA[marvelsites]]></category>
		<category><![CDATA[bazaar]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[justrosters.com]]></category>
		<category><![CDATA[startup]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://blog.marvelig.com/?p=206</guid>
		<description><![CDATA[From this week I will be starting a multi-part series on the coding of JustRosters, touching specifically on the challenges and lessons learnt throughout the experience. Our journey starts on a February afternoon (02/02/2009) at 3pm. The first task that needed to be completed was the installation of a basic CakePHP install.

Installing CakePHP is quite [...]]]></description>
			<content:encoded><![CDATA[From this week I will be starting a multi-part series on the coding of <a href="http://www.justrosters.com/">JustRosters</a>, touching specifically on the challenges and lessons learnt throughout the experience. Our journey starts on a February afternoon (02/02/2009) at 3pm. The first task that needed to be completed was the installation of a basic CakePHP install.

Installing CakePHP is quite a simple process and simply involves downloading it from the <a href="http://cakephp.org/">CakePHP </a>page, after a donation, then uploading it on to the server. In our case it is our dedicated U.S. server that will host this application to ensure maximum load capacity and lowest latency for our target demographic. After CakePHP is extracted to a desired location we commit it into version control using <a href="http://bazaar-vcs.org/">Bazaar Version Control</a> (bzr). Bzr is a distributed VCS similar to Git, however it is cross platform and has a much simpler command set.

Once we were able to see the CakePHP default page it was time to analyze the database models. Aulay, being the founder of JustRosters had the best idea of what the application should do and designed the database by himself. My job was to just make sure the table and column names matched the CakePHP conventions so that extra configuration settings would not need to be set on the CakePHP generated models. I also took the time to change any columns whose data types could be improved (int to tinyint) as well as start indexing foreign keys.

With only one hour our project foundation had been laid. Although it is not an exciting event our use of RAD frameworks makes it a much more relaxing process than previous projects where at least a week had to be spent gathering together various pieces of software that managed our database access, email access, templating, etc.

The next post will focus on setting up user registration, validation, as well as user logging in and out. Stay tuned for more.<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em> </em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fwww.marvelig.com.au%2Fcoding-justrosters-day-1-setting-up-cakephp%2F206&amp;submitHeadline=Coding+JustRosters+%26%238211%3B+Day+1+%26%238211%3B+Setting+up+CakePHP&amp;submitSummary=" rel="nofollow" title=" &nbsp;Buzz"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/buzz.png" title=" &nbsp;Buzz" alt=" &nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.marvelig.com.au%2Fcoding-justrosters-day-1-setting-up-cakephp%2F206&amp;title=Coding+JustRosters+%26%238211%3B+Day+1+%26%238211%3B+Setting+up+CakePHP" rel="nofollow" title=" &nbsp;Del.icio.us"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/delicious.png" title=" &nbsp;Del.icio.us" alt=" &nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.marvelig.com.au%2Fcoding-justrosters-day-1-setting-up-cakephp%2F206&amp;title=Coding+JustRosters+%26%238211%3B+Day+1+%26%238211%3B+Setting+up+CakePHP" rel="nofollow" title=" &nbsp;digg"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/digg.png" title=" &nbsp;digg" alt=" &nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.marvelig.com.au%2Fcoding-justrosters-day-1-setting-up-cakephp%2F206" rel="nofollow" title=" &nbsp;Facebook"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/facebook.png" title=" &nbsp;Facebook" alt=" &nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.marvelig.com.au%2Fcoding-justrosters-day-1-setting-up-cakephp%2F206&amp;title=Coding+JustRosters+%26%238211%3B+Day+1+%26%238211%3B+Setting+up+CakePHP" rel="nofollow" title=" &nbsp;Google Bookmarks"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/google.png" title=" &nbsp;Google Bookmarks" alt=" &nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.marvelig.com.au%2Fcoding-justrosters-day-1-setting-up-cakephp%2F206&amp;title=Coding+JustRosters+%26%238211%3B+Day+1+%26%238211%3B+Setting+up+CakePHP" rel="nofollow" title=" &nbsp;LinkedIn"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/linkedin.png" title=" &nbsp;LinkedIn" alt=" &nbsp;LinkedIn" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.marvelig.com.au%2Fcoding-justrosters-day-1-setting-up-cakephp%2F206&amp;title=Coding+JustRosters+%26%238211%3B+Day+1+%26%238211%3B+Setting+up+CakePHP" rel="nofollow" title=" &nbsp;reddit"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/reddit.png" title=" &nbsp;reddit" alt=" &nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.marvelig.com.au%2Fcoding-justrosters-day-1-setting-up-cakephp%2F206&amp;title=Coding+JustRosters+%26%238211%3B+Day+1+%26%238211%3B+Setting+up+CakePHP" rel="nofollow" title=" &nbsp;Stumble Upon"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title=" &nbsp;Stumble Upon" alt=" &nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.marvelig.com.au%2Fcoding-justrosters-day-1-setting-up-cakephp%2F206" rel="nofollow" title=" &nbsp;Technorati"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/technorati.png" title=" &nbsp;Technorati" alt=" &nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Coding+JustRosters+%26%238211%3B+Day+1+%26%238211%3B+Setting+up+CakePHP+@+http%3A%2F%2Fwww.marvelig.com.au%2Fcoding-justrosters-day-1-setting-up-cakephp%2F206" rel="nofollow" title=" &nbsp;Twitter"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/twitter.png" title=" &nbsp;Twitter" alt=" &nbsp;Twitter" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwww.marvelig.com.au%2Fcoding-justrosters-day-1-setting-up-cakephp%2F206&amp;t=Coding+JustRosters+%26%238211%3B+Day+1+%26%238211%3B+Setting+up+CakePHP" rel="nofollow" title=" &nbsp;Yahoo My Web"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/yahoo.png" title=" &nbsp;Yahoo My Web" alt=" &nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.marvelig.com.au/coding-justrosters-day-1-setting-up-cakephp/206/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JustRosters &#8211; Launched and taking sign ups!</title>
		<link>http://www.marvelig.com.au/justrosters-launched-and-taking-sign-ups/196</link>
		<comments>http://www.marvelig.com.au/justrosters-launched-and-taking-sign-ups/196#comments</comments>
		<pubDate>Tue, 03 Mar 2009 03:38:37 +0000</pubDate>
		<dc:creator>Aulay Macaulay</dc:creator>
				<category><![CDATA[justrosters.com]]></category>
		<category><![CDATA[marvelig]]></category>
		<category><![CDATA[marvelpromote]]></category>
		<category><![CDATA[marvelsites]]></category>
		<category><![CDATA[webhostingmarvel]]></category>
		<category><![CDATA[launch]]></category>
		<category><![CDATA[rostering]]></category>
		<category><![CDATA[schedule]]></category>
		<category><![CDATA[startup]]></category>

		<guid isPermaLink="false">http://blog.marvelig.com/?p=196</guid>
		<description><![CDATA[Just a quick post to let everyone know Marvel Internet Group&#8217;s first in-house web start-up, JustRosters, has  officially launched!
JustRosters is  a web application developed to make the creation and distribution of staff  rosters easier, faster and more accurate. For a full list of features and a  free trial, head over the [...]]]></description>
			<content:encoded><![CDATA[<p>Just a quick post to let everyone know Marvel Internet Group&#8217;s first in-house web start-up, <a href="http://www.justrosters.com/">JustRosters</a>, has  officially launched!</p>
<p><a href="http://www.justrosters.com/">JustRosters</a> is  a web application developed to make the creation and distribution of staff  rosters easier, faster and more accurate. For a full list of features and a  free trial, head over the <a href="http://www.justrosters.com/">JustRosters  website</a>.</p>
<p><strong>Huge thanks</strong> to Alan, (lead designer) and Paul, (lead  developer) for helping make this happen. </p>
<p>For those following the <a href="http://blog.marvelig.com/building-our-first-web-start-up/18">8 part build</a>,  I will write part 6 and 7 soon.</p><!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em> </em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fwww.marvelig.com.au%2Fjustrosters-launched-and-taking-sign-ups%2F196&amp;submitHeadline=JustRosters+%26%238211%3B+Launched+and+taking+sign+ups%21&amp;submitSummary=" rel="nofollow" title=" &nbsp;Buzz"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/buzz.png" title=" &nbsp;Buzz" alt=" &nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.marvelig.com.au%2Fjustrosters-launched-and-taking-sign-ups%2F196&amp;title=JustRosters+%26%238211%3B+Launched+and+taking+sign+ups%21" rel="nofollow" title=" &nbsp;Del.icio.us"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/delicious.png" title=" &nbsp;Del.icio.us" alt=" &nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.marvelig.com.au%2Fjustrosters-launched-and-taking-sign-ups%2F196&amp;title=JustRosters+%26%238211%3B+Launched+and+taking+sign+ups%21" rel="nofollow" title=" &nbsp;digg"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/digg.png" title=" &nbsp;digg" alt=" &nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.marvelig.com.au%2Fjustrosters-launched-and-taking-sign-ups%2F196" rel="nofollow" title=" &nbsp;Facebook"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/facebook.png" title=" &nbsp;Facebook" alt=" &nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.marvelig.com.au%2Fjustrosters-launched-and-taking-sign-ups%2F196&amp;title=JustRosters+%26%238211%3B+Launched+and+taking+sign+ups%21" rel="nofollow" title=" &nbsp;Google Bookmarks"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/google.png" title=" &nbsp;Google Bookmarks" alt=" &nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.marvelig.com.au%2Fjustrosters-launched-and-taking-sign-ups%2F196&amp;title=JustRosters+%26%238211%3B+Launched+and+taking+sign+ups%21" rel="nofollow" title=" &nbsp;LinkedIn"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/linkedin.png" title=" &nbsp;LinkedIn" alt=" &nbsp;LinkedIn" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.marvelig.com.au%2Fjustrosters-launched-and-taking-sign-ups%2F196&amp;title=JustRosters+%26%238211%3B+Launched+and+taking+sign+ups%21" rel="nofollow" title=" &nbsp;reddit"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/reddit.png" title=" &nbsp;reddit" alt=" &nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.marvelig.com.au%2Fjustrosters-launched-and-taking-sign-ups%2F196&amp;title=JustRosters+%26%238211%3B+Launched+and+taking+sign+ups%21" rel="nofollow" title=" &nbsp;Stumble Upon"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title=" &nbsp;Stumble Upon" alt=" &nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.marvelig.com.au%2Fjustrosters-launched-and-taking-sign-ups%2F196" rel="nofollow" title=" &nbsp;Technorati"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/technorati.png" title=" &nbsp;Technorati" alt=" &nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+JustRosters+%26%238211%3B+Launched+and+taking+sign+ups%21+@+http%3A%2F%2Fwww.marvelig.com.au%2Fjustrosters-launched-and-taking-sign-ups%2F196" rel="nofollow" title=" &nbsp;Twitter"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/twitter.png" title=" &nbsp;Twitter" alt=" &nbsp;Twitter" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwww.marvelig.com.au%2Fjustrosters-launched-and-taking-sign-ups%2F196&amp;t=JustRosters+%26%238211%3B+Launched+and+taking+sign+ups%21" rel="nofollow" title=" &nbsp;Yahoo My Web"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/yahoo.png" title=" &nbsp;Yahoo My Web" alt=" &nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.marvelig.com.au/justrosters-launched-and-taking-sign-ups/196/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Part 5.5 &#8211; Educating clients on how to use a new application</title>
		<link>http://www.marvelig.com.au/educating-clients-on-how-to-use-a-new-application/188</link>
		<comments>http://www.marvelig.com.au/educating-clients-on-how-to-use-a-new-application/188#comments</comments>
		<pubDate>Sun, 01 Mar 2009 23:57:31 +0000</pubDate>
		<dc:creator>Aulay Macaulay</dc:creator>
				<category><![CDATA[marvelsites]]></category>
		<category><![CDATA[contact]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[justrosters.com]]></category>
		<category><![CDATA[questions]]></category>
		<category><![CDATA[support]]></category>

		<guid isPermaLink="false">http://blog.marvelig.com/?p=188</guid>
		<description><![CDATA[Users on free trials will quickly dismiss an application  when they are presented with a problem they cannot figure out for themselves.  They do this because the only investment they have made by using a free trial  is time, and the thought wasting more time is too much for most. 
For most [...]]]></description>
			<content:encoded><![CDATA[<p>Users on <a href="http://www.justrosters.com/pages/pricing">free trials</a> will quickly dismiss an application  when they are presented with a problem they cannot figure out for themselves.  They do this because the only investment they have made by using a free trial  is time, and the thought wasting more time is too much for most. </p>
<p>For most developers, they solve this issue by writing how-tos  and FAQs. FAQ pages are one thing I have never quite understood&#8230; if a question  is being asked <em>frequently</em>, why isn’t it  explained where the client first needed the answer?</p>
<p><strong>Anyway, the approach  to help / training that we find works:</strong></p>
<ul>
  <li>Build a simple, easy-to-use application in the  first place.<br /><br />
  </li>
  <li>  Fill your sales copy with print screens and screen  casts of the actual application. This way the user is becoming familiar with  the interface before they have even signed up.<br /><br />
  </li>
  <li>  Add a small ‘?’ icon with a <strong>brief</strong> help text on mouse over, next to <strong>every</strong> input box. They are  easily accessed and indentified by confused users, and ignored by others.</li><br /><br />
  <li>Create a screen cast walkthrough of the entire system;  present it to new users when they login for the first time.</li><br /><br />
  <li>In the early days, look at every support request  as if it is a FAQ; tweak the &#8216;?&#8217; texts and screen casts where needed.</li><br /><br />
</ul>
<p>All the steps above can never completely replace the need  for a <a href="http://www.justrosters.com/contact">good old contact page</a>; but they can sure reduce its need.</p><!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em> </em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fwww.marvelig.com.au%2Feducating-clients-on-how-to-use-a-new-application%2F188&amp;submitHeadline=Part+5.5+%26%238211%3B+Educating+clients+on+how+to+use+a+new+application&amp;submitSummary=" rel="nofollow" title=" &nbsp;Buzz"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/buzz.png" title=" &nbsp;Buzz" alt=" &nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.marvelig.com.au%2Feducating-clients-on-how-to-use-a-new-application%2F188&amp;title=Part+5.5+%26%238211%3B+Educating+clients+on+how+to+use+a+new+application" rel="nofollow" title=" &nbsp;Del.icio.us"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/delicious.png" title=" &nbsp;Del.icio.us" alt=" &nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.marvelig.com.au%2Feducating-clients-on-how-to-use-a-new-application%2F188&amp;title=Part+5.5+%26%238211%3B+Educating+clients+on+how+to+use+a+new+application" rel="nofollow" title=" &nbsp;digg"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/digg.png" title=" &nbsp;digg" alt=" &nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.marvelig.com.au%2Feducating-clients-on-how-to-use-a-new-application%2F188" rel="nofollow" title=" &nbsp;Facebook"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/facebook.png" title=" &nbsp;Facebook" alt=" &nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.marvelig.com.au%2Feducating-clients-on-how-to-use-a-new-application%2F188&amp;title=Part+5.5+%26%238211%3B+Educating+clients+on+how+to+use+a+new+application" rel="nofollow" title=" &nbsp;Google Bookmarks"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/google.png" title=" &nbsp;Google Bookmarks" alt=" &nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.marvelig.com.au%2Feducating-clients-on-how-to-use-a-new-application%2F188&amp;title=Part+5.5+%26%238211%3B+Educating+clients+on+how+to+use+a+new+application" rel="nofollow" title=" &nbsp;LinkedIn"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/linkedin.png" title=" &nbsp;LinkedIn" alt=" &nbsp;LinkedIn" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.marvelig.com.au%2Feducating-clients-on-how-to-use-a-new-application%2F188&amp;title=Part+5.5+%26%238211%3B+Educating+clients+on+how+to+use+a+new+application" rel="nofollow" title=" &nbsp;reddit"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/reddit.png" title=" &nbsp;reddit" alt=" &nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.marvelig.com.au%2Feducating-clients-on-how-to-use-a-new-application%2F188&amp;title=Part+5.5+%26%238211%3B+Educating+clients+on+how+to+use+a+new+application" rel="nofollow" title=" &nbsp;Stumble Upon"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title=" &nbsp;Stumble Upon" alt=" &nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.marvelig.com.au%2Feducating-clients-on-how-to-use-a-new-application%2F188" rel="nofollow" title=" &nbsp;Technorati"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/technorati.png" title=" &nbsp;Technorati" alt=" &nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Part+5.5+%26%238211%3B+Educating+clients+on+how+to+use+a+new+application+@+http%3A%2F%2Fwww.marvelig.com.au%2Feducating-clients-on-how-to-use-a-new-application%2F188" rel="nofollow" title=" &nbsp;Twitter"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/twitter.png" title=" &nbsp;Twitter" alt=" &nbsp;Twitter" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwww.marvelig.com.au%2Feducating-clients-on-how-to-use-a-new-application%2F188&amp;t=Part+5.5+%26%238211%3B+Educating+clients+on+how+to+use+a+new+application" rel="nofollow" title=" &nbsp;Yahoo My Web"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/yahoo.png" title=" &nbsp;Yahoo My Web" alt=" &nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.marvelig.com.au/educating-clients-on-how-to-use-a-new-application/188/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Customer service email management with Gmail</title>
		<link>http://www.marvelig.com.au/customer-service-email-management-with-gmail/172</link>
		<comments>http://www.marvelig.com.au/customer-service-email-management-with-gmail/172#comments</comments>
		<pubDate>Tue, 17 Feb 2009 23:07:22 +0000</pubDate>
		<dc:creator>Aulay Macaulay</dc:creator>
				<category><![CDATA[marvelig]]></category>
		<category><![CDATA[marvelsites]]></category>
		<category><![CDATA[customer service]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[support]]></category>
		<category><![CDATA[ticket]]></category>

		<guid isPermaLink="false">http://blog.marvelig.com/?p=172</guid>
		<description><![CDATA[Customer service email management can often be problematic for companies that offer email based support for their clients. Marvel Internet Group is responsible for handling customer service email messages of some applications that we have developed for clients. One such application has over 1400 user&#8217;s support request to manage; we do this with just two [...]]]></description>
			<content:encoded><![CDATA[<p>Customer service email management can often be problematic for companies that offer email based support for their clients. <a href="http://www.marvelig.com">Marvel Internet Group</a> is responsible for handling customer service email messages of some applications that we have developed for clients. One such application has over 1400 user&#8217;s support request to manage; we do this with just two staff, before it is even time for lunch.</p>
<p>For some it can be difficult to co-ordinate efforts to ensure that a customer&#8217;s inbound enquiries are resolved as quickly as possible. Using a highly structured system  for so few staff members will lead to increased cost per response and slow down overall response time. A system that is too simple will mean co-ordination failures leading to confused or neglected customers. </p>
<p><a href="http://www.marvelig.com">Marvel Internet Group</a>&#8217;s solution to this problem is to use a <a href="http://www.gmail.com">Gmail</a> account for customer service email management. This is achieved by creating a single Gmail address for all customer service support requests. With <a href="http://mail.google.com/support/bin/answer.py?answer=118708&amp;hl=en">Gmail&#8217;s labelling feature</a> we can quickly label emails based on source so that the support person can be focused on supporting a single application or all applications&#8217; customers. The general work flow that prevents neglect of customers as well as ensuring a streamlined support process is to check, label, and action. This involves having the first person to view the mail account go through all mail and either archive, label another staff&#8217;s name, or take action on an email. Then as other staff members check the account they can see which items require their attention.</p>
<p>Prior to implementation of this customer service email management system we had difficulties delegating and following through with customer enquiries that fell out of the support staff&#8217;s field of expertise. Using labels such as &#8220;waiting&#8221;, &#8220;todo&#8221;, and &#8220;complete&#8221; each request can be delegated and tracked with ease with staff members in and out of the company. The result of utilizing this customer service system is greatly reduced time spent on support as items are either actioned, delegated, or waiting. Finally an end-of-week or end-of-month review of all incomplete messages prevents any request from falling through the cracks.  </p>
<p>To try this for yourself simply create or forward your support emails to a free Gmail account and let your staff understand the simple work flow of: <strong>check, label, action</strong>. Having your support request come from <a href="http://blog.marvelig.com/the-benefits-of-custom-support-forms/72">custom support forms</a> will also save you even more time!</p><!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em> </em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fwww.marvelig.com.au%2Fcustomer-service-email-management-with-gmail%2F172&amp;submitHeadline=Customer+service+email+management+with+Gmail&amp;submitSummary=" rel="nofollow" title=" &nbsp;Buzz"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/buzz.png" title=" &nbsp;Buzz" alt=" &nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.marvelig.com.au%2Fcustomer-service-email-management-with-gmail%2F172&amp;title=Customer+service+email+management+with+Gmail" rel="nofollow" title=" &nbsp;Del.icio.us"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/delicious.png" title=" &nbsp;Del.icio.us" alt=" &nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.marvelig.com.au%2Fcustomer-service-email-management-with-gmail%2F172&amp;title=Customer+service+email+management+with+Gmail" rel="nofollow" title=" &nbsp;digg"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/digg.png" title=" &nbsp;digg" alt=" &nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.marvelig.com.au%2Fcustomer-service-email-management-with-gmail%2F172" rel="nofollow" title=" &nbsp;Facebook"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/facebook.png" title=" &nbsp;Facebook" alt=" &nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.marvelig.com.au%2Fcustomer-service-email-management-with-gmail%2F172&amp;title=Customer+service+email+management+with+Gmail" rel="nofollow" title=" &nbsp;Google Bookmarks"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/google.png" title=" &nbsp;Google Bookmarks" alt=" &nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.marvelig.com.au%2Fcustomer-service-email-management-with-gmail%2F172&amp;title=Customer+service+email+management+with+Gmail" rel="nofollow" title=" &nbsp;LinkedIn"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/linkedin.png" title=" &nbsp;LinkedIn" alt=" &nbsp;LinkedIn" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.marvelig.com.au%2Fcustomer-service-email-management-with-gmail%2F172&amp;title=Customer+service+email+management+with+Gmail" rel="nofollow" title=" &nbsp;reddit"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/reddit.png" title=" &nbsp;reddit" alt=" &nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.marvelig.com.au%2Fcustomer-service-email-management-with-gmail%2F172&amp;title=Customer+service+email+management+with+Gmail" rel="nofollow" title=" &nbsp;Stumble Upon"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title=" &nbsp;Stumble Upon" alt=" &nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.marvelig.com.au%2Fcustomer-service-email-management-with-gmail%2F172" rel="nofollow" title=" &nbsp;Technorati"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/technorati.png" title=" &nbsp;Technorati" alt=" &nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Customer+service+email+management+with+Gmail+@+http%3A%2F%2Fwww.marvelig.com.au%2Fcustomer-service-email-management-with-gmail%2F172" rel="nofollow" title=" &nbsp;Twitter"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/twitter.png" title=" &nbsp;Twitter" alt=" &nbsp;Twitter" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwww.marvelig.com.au%2Fcustomer-service-email-management-with-gmail%2F172&amp;t=Customer+service+email+management+with+Gmail" rel="nofollow" title=" &nbsp;Yahoo My Web"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/yahoo.png" title=" &nbsp;Yahoo My Web" alt=" &nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.marvelig.com.au/customer-service-email-management-with-gmail/172/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Part 5: Building the front-end website</title>
		<link>http://www.marvelig.com.au/part-5-building-the-front-end-website/132</link>
		<comments>http://www.marvelig.com.au/part-5-building-the-front-end-website/132#comments</comments>
		<pubDate>Mon, 16 Feb 2009 23:51:40 +0000</pubDate>
		<dc:creator>Aulay Macaulay</dc:creator>
				<category><![CDATA[justrosters.com]]></category>
		<category><![CDATA[marvelig]]></category>
		<category><![CDATA[marvelsites]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://blog.marvelig.com/?p=132</guid>
		<description><![CDATA[It is about 1month since we started building JustRosters,  and what a month it has been! Paul, Alan and I are working on it full time at  the moment, and hope to have it complete launched in around 2weeks. The  original plan shows building the front-end website as step 6, but in [...]]]></description>
			<content:encoded><![CDATA[It is about 1month since we started building <a href="http://www.justrosters.com/">JustRosters</a>,  and what a month it has been! Paul, Alan and I are working on it full time at  the moment, and hope to have it <span style="text-decoration: line-through;">complete</span> launched in around 2weeks. The  original plan shows building the front-end website as step 6, but in reality  this was happening at the same time as the code writing. We finished the  front-end ‘store front’ first, so it’s time to share some of our experience and  results (<strong>print screens can be found after the fold</strong>).

We had already established a basic look and feel while  designing the back-end mock-ups, so the front-end needed to become an extension  of that. Like any web entrepreneur, I spent <span style="text-decoration: line-through;">a few hours</span> half my life  looking at other ‘successful’ sites with a similar target market, noting down design  and navigation elements I liked. I built a basic sitemap in notepad, and  started writing copy for each page. <strong>The sitemap went like this:</strong>
<ul>
	<li>Homepage</li>
	<li>Why JustRosters?</li>
	<li>Pricing and signup</li>
	<li>Order pages (linked from pricing and signup page)</li>
	<li>Affiliate program</li>
	<li>Login page x 3 (for administrators, staff, affiliates)</li>
	<li>Contact us page</li>
	<li>Any legal pages I needed + a sitemap, 404 page etc.</li>
</ul>
If you take out all the ‘standard’ web application pages  I was left with 4. The homepage, the ‘why’ page, the pricing page and the  affiliate program page. These had to be ‘conversion kings’, so I was intent on  making them perfect.

It’s funny, most people think a designer is responsible for  what <span style="text-decoration: line-through;">a website</span> ANY type of interface ends up looking like, but I think the  copy writer has an equal part in the end product. The words we chose ultimately  decide how each page can fit together. After what felt like an eternity of writing  and re-writing sales copy, (ok, it was only about 4days), I got Alan onto the  designs.

Nothing builds excitement quite like watching a front-end  site come together in front of you. I was extremely impressed by how it was  unfolding, and found it hard to stop hitting the refresh button every 5mins  Alan was working on it. <strong>Here are some  screen shots of what we came up with:</strong>
<table class="content-table" border="0" width="100%">
<tbody>
<tr>
<td><a title="Front page" rel="lightbox[screens]" href="http://blog.marvelig.com/wp-content/uploads/2009/02/front-big.jpg"><img class="alignnone size-medium wp-image-144" title="Front page" src="http://blog.marvelig.com/wp-content/uploads/2009/02/front-thumb1.png" alt="" width="200" height="125" /></a></td>
<td><a title="Pricing page" rel="lightbox[screens]" href="http://blog.marvelig.com/wp-content/uploads/2009/02/price-big.jpg"><img class="alignnone size-medium wp-image-146" title="price-thumb" src="http://blog.marvelig.com/wp-content/uploads/2009/02/price-thumb.png" alt="" width="200" height="125" /></a></td>
<td><a title="Order page" rel="lightbox[screens]" href="http://blog.marvelig.com/wp-content/uploads/2009/02/order-big.jpg"><img class="alignnone size-medium wp-image-148" title="order-thumb" src="http://blog.marvelig.com/wp-content/uploads/2009/02/order-thumb.png" alt="" width="200" height="125" /></a></td>
</tr>
<tr>
<td><a title="Affiliate program page" rel="lightbox[screens]" href="http://blog.marvelig.com/wp-content/uploads/2009/02/affiliate-big.jpg"><img class="alignnone size-medium wp-image-150" title="affiliate-thumb" src="http://blog.marvelig.com/wp-content/uploads/2009/02/affiliate-thumb.png" alt="" width="200" height="125" /></a></td>
<td><a title="Login page" rel="lightbox[screens]" href="http://blog.marvelig.com/wp-content/uploads/2009/02/login.png"><img class="alignnone size-medium wp-image-152" title="login-thumb" src="http://blog.marvelig.com/wp-content/uploads/2009/02/login-thumb.png" alt="" width="200" height="125" /></a></td>
<td><a title="Contact us page" rel="lightbox[screens]" href="http://blog.marvelig.com/wp-content/uploads/2009/02/contact-big.jpg"><img class="alignnone size-medium wp-image-154" title="contact-thumb" src="http://www.marvelig.com.au/wp-content/uploads/contact-thumb.png" alt="" width="200" height="125" /></a></td>
</tr>
</tbody></table>
There is still a lot to do between scripting the  home-page demo movie, having the legal guys go over the legal stuff and getting  all the copy re-checked by <a href="http://www.editeam.com.au/">a cool little Aussie start-up called Editeam</a>.  The semi-completion of the front-end has provided a huge psychological  boost for the team and an opportunity to go get some feedback from some of  the people I contacted way back in <a href="http://blog.marvelig.com/justrosters-brainstorming-research/32">stage 1</a>.

Hour logs show about 40 hours spent on copy writing and  75 on design. It might sound like a lot for a 15 page site, but I figure the difference between a 4%  conversion rate and a 2% conversion rate could be the difference between becoming a millionaire or just a 500thousandaire <img src='http://www.marvelig.com.au/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> <!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em> </em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fwww.marvelig.com.au%2Fpart-5-building-the-front-end-website%2F132&amp;submitHeadline=Part+5%3A+Building+the+front-end+website&amp;submitSummary=" rel="nofollow" title=" &nbsp;Buzz"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/buzz.png" title=" &nbsp;Buzz" alt=" &nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.marvelig.com.au%2Fpart-5-building-the-front-end-website%2F132&amp;title=Part+5%3A+Building+the+front-end+website" rel="nofollow" title=" &nbsp;Del.icio.us"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/delicious.png" title=" &nbsp;Del.icio.us" alt=" &nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.marvelig.com.au%2Fpart-5-building-the-front-end-website%2F132&amp;title=Part+5%3A+Building+the+front-end+website" rel="nofollow" title=" &nbsp;digg"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/digg.png" title=" &nbsp;digg" alt=" &nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.marvelig.com.au%2Fpart-5-building-the-front-end-website%2F132" rel="nofollow" title=" &nbsp;Facebook"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/facebook.png" title=" &nbsp;Facebook" alt=" &nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.marvelig.com.au%2Fpart-5-building-the-front-end-website%2F132&amp;title=Part+5%3A+Building+the+front-end+website" rel="nofollow" title=" &nbsp;Google Bookmarks"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/google.png" title=" &nbsp;Google Bookmarks" alt=" &nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.marvelig.com.au%2Fpart-5-building-the-front-end-website%2F132&amp;title=Part+5%3A+Building+the+front-end+website" rel="nofollow" title=" &nbsp;LinkedIn"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/linkedin.png" title=" &nbsp;LinkedIn" alt=" &nbsp;LinkedIn" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.marvelig.com.au%2Fpart-5-building-the-front-end-website%2F132&amp;title=Part+5%3A+Building+the+front-end+website" rel="nofollow" title=" &nbsp;reddit"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/reddit.png" title=" &nbsp;reddit" alt=" &nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.marvelig.com.au%2Fpart-5-building-the-front-end-website%2F132&amp;title=Part+5%3A+Building+the+front-end+website" rel="nofollow" title=" &nbsp;Stumble Upon"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title=" &nbsp;Stumble Upon" alt=" &nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.marvelig.com.au%2Fpart-5-building-the-front-end-website%2F132" rel="nofollow" title=" &nbsp;Technorati"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/technorati.png" title=" &nbsp;Technorati" alt=" &nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Part+5%3A+Building+the+front-end+website+@+http%3A%2F%2Fwww.marvelig.com.au%2Fpart-5-building-the-front-end-website%2F132" rel="nofollow" title=" &nbsp;Twitter"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/twitter.png" title=" &nbsp;Twitter" alt=" &nbsp;Twitter" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwww.marvelig.com.au%2Fpart-5-building-the-front-end-website%2F132&amp;t=Part+5%3A+Building+the+front-end+website" rel="nofollow" title=" &nbsp;Yahoo My Web"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/yahoo.png" title=" &nbsp;Yahoo My Web" alt=" &nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.marvelig.com.au/part-5-building-the-front-end-website/132/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JustRosters &#8211; Rapid development through the use of a company code library</title>
		<link>http://www.marvelig.com.au/justrosters-rapid-development-through-the-use-of-a-company-code-library/125</link>
		<comments>http://www.marvelig.com.au/justrosters-rapid-development-through-the-use-of-a-company-code-library/125#comments</comments>
		<pubDate>Wed, 11 Feb 2009 23:26:20 +0000</pubDate>
		<dc:creator>Aulay Macaulay</dc:creator>
				<category><![CDATA[marvelsites]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[justrosters.com]]></category>
		<category><![CDATA[libraries]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://blog.marvelig.com/?p=125</guid>
		<description><![CDATA[JustRosters is an internal project for us here at Marvel Internet Group. It is a side project that is commercially unproven and therefore a risky investment for the company. With that in mind it is crucial for us to be able to complete the project as quickly as possible in terms of both man hours [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.justrosters.com/" target="_blank">JustRosters</a> is an internal project for us here at <a href="http://www.marvelig.com/">Marvel Internet Group</a>. It is a side project that is commercially unproven and therefore a risky investment for the company. With that in mind it is crucial for us to be able to complete the project as quickly as possible in terms of both man hours and actual calendar days. To help us achieve this we decided to comb through our previous  work and build a reusable PHP library of our most commonly used functions. This collection of loosely coupled functions allows us to easily enhance any code base; belonging to either a client or Marvel Internet Group.</p>
<p>Our code library is split into three parts. One library contains global functions that are included in <a href="http://book.cakephp.org/view/48/Bootstrapping-CakePHP">Cake PHP&#8217;s bootstrap file</a>, which is loaded right after the configuration file and before everything else. We currently place debugging and some custom date/time manipulation functions in here so that it does not have to be duplicated elsewhere. Another part of the library is converted into a <a href="http://book.cakephp.org/view/64/Creating-Custom-Components">Cake PHP component</a>. The custom component allows us to reuse convenience functions that are needed inside our controllers, such as permissions management, emailing with <a href="http://phpmailer.codeworxtech.com/">PHPMailer</a>, <a href="http://www.digitaljunkies.ca/dompdf/">PDF generation</a>, etc. The remaining parts of our library are turned into a custom helper that performs view related formatting. </p>
<p>In total we have reused about 700 lines of code with the three files combined. Using the general rule of thumb that a programmer will produce about 100 lines of quality code per day we practically <strong>shaved seven days off our development time before we even started</strong>. The cycle of library building will continue and expand with <a href="http://www.justrosters.com/">JustRosters</a>. Being one of our most Javascript heavy projects we are also writing a substantial amount of reusable Javascript code that can be combined into another library, or into jQuery plugins, that can be used by the development community as well as our future clients.</p><!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em> </em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fwww.marvelig.com.au%2Fjustrosters-rapid-development-through-the-use-of-a-company-code-library%2F125&amp;submitHeadline=JustRosters+%26%238211%3B+Rapid+development+through+the+use+of+a+company+code+library&amp;submitSummary=" rel="nofollow" title=" &nbsp;Buzz"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/buzz.png" title=" &nbsp;Buzz" alt=" &nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.marvelig.com.au%2Fjustrosters-rapid-development-through-the-use-of-a-company-code-library%2F125&amp;title=JustRosters+%26%238211%3B+Rapid+development+through+the+use+of+a+company+code+library" rel="nofollow" title=" &nbsp;Del.icio.us"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/delicious.png" title=" &nbsp;Del.icio.us" alt=" &nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.marvelig.com.au%2Fjustrosters-rapid-development-through-the-use-of-a-company-code-library%2F125&amp;title=JustRosters+%26%238211%3B+Rapid+development+through+the+use+of+a+company+code+library" rel="nofollow" title=" &nbsp;digg"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/digg.png" title=" &nbsp;digg" alt=" &nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.marvelig.com.au%2Fjustrosters-rapid-development-through-the-use-of-a-company-code-library%2F125" rel="nofollow" title=" &nbsp;Facebook"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/facebook.png" title=" &nbsp;Facebook" alt=" &nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.marvelig.com.au%2Fjustrosters-rapid-development-through-the-use-of-a-company-code-library%2F125&amp;title=JustRosters+%26%238211%3B+Rapid+development+through+the+use+of+a+company+code+library" rel="nofollow" title=" &nbsp;Google Bookmarks"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/google.png" title=" &nbsp;Google Bookmarks" alt=" &nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.marvelig.com.au%2Fjustrosters-rapid-development-through-the-use-of-a-company-code-library%2F125&amp;title=JustRosters+%26%238211%3B+Rapid+development+through+the+use+of+a+company+code+library" rel="nofollow" title=" &nbsp;LinkedIn"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/linkedin.png" title=" &nbsp;LinkedIn" alt=" &nbsp;LinkedIn" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.marvelig.com.au%2Fjustrosters-rapid-development-through-the-use-of-a-company-code-library%2F125&amp;title=JustRosters+%26%238211%3B+Rapid+development+through+the+use+of+a+company+code+library" rel="nofollow" title=" &nbsp;reddit"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/reddit.png" title=" &nbsp;reddit" alt=" &nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.marvelig.com.au%2Fjustrosters-rapid-development-through-the-use-of-a-company-code-library%2F125&amp;title=JustRosters+%26%238211%3B+Rapid+development+through+the+use+of+a+company+code+library" rel="nofollow" title=" &nbsp;Stumble Upon"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title=" &nbsp;Stumble Upon" alt=" &nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.marvelig.com.au%2Fjustrosters-rapid-development-through-the-use-of-a-company-code-library%2F125" rel="nofollow" title=" &nbsp;Technorati"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/technorati.png" title=" &nbsp;Technorati" alt=" &nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+JustRosters+%26%238211%3B+Rapid+development+through+the+use+of+a+company+code+library+@+http%3A%2F%2Fwww.marvelig.com.au%2Fjustrosters-rapid-development-through-the-use-of-a-company-code-library%2F125" rel="nofollow" title=" &nbsp;Twitter"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/twitter.png" title=" &nbsp;Twitter" alt=" &nbsp;Twitter" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwww.marvelig.com.au%2Fjustrosters-rapid-development-through-the-use-of-a-company-code-library%2F125&amp;t=JustRosters+%26%238211%3B+Rapid+development+through+the+use+of+a+company+code+library" rel="nofollow" title=" &nbsp;Yahoo My Web"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/yahoo.png" title=" &nbsp;Yahoo My Web" alt=" &nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.marvelig.com.au/justrosters-rapid-development-through-the-use-of-a-company-code-library/125/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Part 4.5 &#8211; Packaging and pricing</title>
		<link>http://www.marvelig.com.au/packaging-and-pricing/178</link>
		<comments>http://www.marvelig.com.au/packaging-and-pricing/178#comments</comments>
		<pubDate>Tue, 10 Feb 2009 06:25:40 +0000</pubDate>
		<dc:creator>Aulay Macaulay</dc:creator>
				<category><![CDATA[justrosters.com]]></category>
		<category><![CDATA[marvelig]]></category>
		<category><![CDATA[pricing]]></category>
		<category><![CDATA[subscription]]></category>

		<guid isPermaLink="false">http://blog.marvelig.com/?p=178</guid>
		<description><![CDATA[Deciding how (and what) to charge for JustRosters was definitely a task I had under-estimated. I started by looking at the pricing for some of sites I discovered in Part 1. Of the sites with pricing listed, (I hate sites that do not list prices!), there seemed no typical pricing model. I decided to tackle [...]]]></description>
			<content:encoded><![CDATA[<p>Deciding how (and what) to charge for JustRosters was definitely a task I had under-estimated. I started by looking at the pricing for some of sites I discovered in <a href="http://blog.marvelig.com/justrosters-brainstorming-research/32">Part 1</a>. Of the sites with pricing listed, (I hate sites that do not list prices!), there seemed no typical pricing model. I decided to tackle this problem from the ground up; for my benefit as much as any future clients.  </p>
<p><strong>Once off vs. subscription</strong><br />
This was a pretty easy decision to make; monthly subscription. Client benefits of the subscription model include low up-front cost, ability to stop using the system anytime without losing an ‘investment’ and the reassurance we will continue to work for their business month after month. Benefits for us include a steady flow of income on those rainy months and an easier sell. </p>
<p>
<strong>Include SMS, or charge extra</strong><br />
One of the major costs in running a service like <a href="http://www.justrosters.com/">JustRosters</a> will be the SMS’s notifications which are sent out. My initial thought was to roll this into the cost of the subscription; I quickly decided this was unfair for businesses that do not use this feature. To make things simple I created some SMS credit bundles (with pricing related to quantity), and made a note to include a small amount of SMS credits in each months renewal, for free.
<p>
<strong>How to split the pricing levels fairly</strong><br />
While providing a ‘one size fits all’ pricing scheme would make things simple, it is not really practical. As the amount of staff each company has increases, so will the cost of our time / resources to support them. Comparing information on typical business sizes I decided on 4 plan sizes:
<p>
Micro: 0-10 staff.<br />
Small: 11-25 staff.<br />
Medium: 26-50 staff.<br />
Large: Unlimited staff.
<p>While the unlimited plan seems fairly open ended, I figured income from SMS bundles will increase relative to the businesses size, so I was not concerned about the strain a 500-employee company might put on the system at this stage.
<p>
<strong>Summery</strong><br />
Now I knew I would charge businesses of each size monthly, it was time to build a spreadsheet factoring expenses and a desired profit margin. I would love to be to say this delivered me some golden numbers which I have used, but it really only gave me an idea on what I ‘needed’ to charge to make the business viable with around 500 clients (my first goal).
<p>
I rounded these numbers to slightly prettier ones, and moved on wondering how I ended up spending a day on something I thought would take a couple of hours <img src='http://www.marvelig.com.au/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> <p>
<strong>EDIT, February 27, 2009:</strong> I have decided to reduce my prices by about one third. I have done this for a couple of reasons. First, the weak Australian dollar. Since our pricing is based on USD, I do not want my fellow Aussies having to break the bank to pay for <a href="http://www.justrosters.com/">JustRosters</a> each month; the economy over here is bad enough for us. Secondly, the software is brand new. We really want to get as many people on the system giving us feedback ASAP. We can always move the pricing up later and hold it for the guys that get on it early.
<p>
<strong>EDIT, March 02, 2009: </strong>One of our competitors has just re-launched their website with new pricing. I am happy to see it comes in around 3x the cost of <a href="http://www.justrosters.com/">JustRosters</a>.<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em> </em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fwww.marvelig.com.au%2Fpackaging-and-pricing%2F178&amp;submitHeadline=Part+4.5+%26%238211%3B+Packaging+and+pricing&amp;submitSummary=" rel="nofollow" title=" &nbsp;Buzz"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/buzz.png" title=" &nbsp;Buzz" alt=" &nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.marvelig.com.au%2Fpackaging-and-pricing%2F178&amp;title=Part+4.5+%26%238211%3B+Packaging+and+pricing" rel="nofollow" title=" &nbsp;Del.icio.us"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/delicious.png" title=" &nbsp;Del.icio.us" alt=" &nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.marvelig.com.au%2Fpackaging-and-pricing%2F178&amp;title=Part+4.5+%26%238211%3B+Packaging+and+pricing" rel="nofollow" title=" &nbsp;digg"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/digg.png" title=" &nbsp;digg" alt=" &nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.marvelig.com.au%2Fpackaging-and-pricing%2F178" rel="nofollow" title=" &nbsp;Facebook"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/facebook.png" title=" &nbsp;Facebook" alt=" &nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.marvelig.com.au%2Fpackaging-and-pricing%2F178&amp;title=Part+4.5+%26%238211%3B+Packaging+and+pricing" rel="nofollow" title=" &nbsp;Google Bookmarks"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/google.png" title=" &nbsp;Google Bookmarks" alt=" &nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.marvelig.com.au%2Fpackaging-and-pricing%2F178&amp;title=Part+4.5+%26%238211%3B+Packaging+and+pricing" rel="nofollow" title=" &nbsp;LinkedIn"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/linkedin.png" title=" &nbsp;LinkedIn" alt=" &nbsp;LinkedIn" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.marvelig.com.au%2Fpackaging-and-pricing%2F178&amp;title=Part+4.5+%26%238211%3B+Packaging+and+pricing" rel="nofollow" title=" &nbsp;reddit"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/reddit.png" title=" &nbsp;reddit" alt=" &nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.marvelig.com.au%2Fpackaging-and-pricing%2F178&amp;title=Part+4.5+%26%238211%3B+Packaging+and+pricing" rel="nofollow" title=" &nbsp;Stumble Upon"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title=" &nbsp;Stumble Upon" alt=" &nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.marvelig.com.au%2Fpackaging-and-pricing%2F178" rel="nofollow" title=" &nbsp;Technorati"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/technorati.png" title=" &nbsp;Technorati" alt=" &nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Part+4.5+%26%238211%3B+Packaging+and+pricing+@+http%3A%2F%2Fwww.marvelig.com.au%2Fpackaging-and-pricing%2F178" rel="nofollow" title=" &nbsp;Twitter"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/twitter.png" title=" &nbsp;Twitter" alt=" &nbsp;Twitter" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwww.marvelig.com.au%2Fpackaging-and-pricing%2F178&amp;t=Part+4.5+%26%238211%3B+Packaging+and+pricing" rel="nofollow" title=" &nbsp;Yahoo My Web"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/yahoo.png" title=" &nbsp;Yahoo My Web" alt=" &nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.marvelig.com.au/packaging-and-pricing/178/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Delivering more for our clients in less time by utilizing the CakePHP framework</title>
		<link>http://www.marvelig.com.au/more-for-less-using-cakephp/115</link>
		<comments>http://www.marvelig.com.au/more-for-less-using-cakephp/115#comments</comments>
		<pubDate>Mon, 09 Feb 2009 04:24:34 +0000</pubDate>
		<dc:creator>Aulay Macaulay</dc:creator>
				<category><![CDATA[marvelsites]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[framework]]></category>

		<guid isPermaLink="false">http://blog.marvelig.com/?p=115</guid>
		<description><![CDATA[The process of conceptualizing, designing, and implementing web applications is a complex one. It requires both the client and the development company to come together and share enough domain knowledge to enable constructive communications about the project. To reduce the impact of mis-communicated ideas developers need to be agile, which involves being able to quickly [...]]]></description>
			<content:encoded><![CDATA[<p>The process of conceptualizing, designing, and implementing <a href="http://www.marvelsites.com/products-services/custom-development.html" target="_blank">web applications</a> is a complex one. It requires both the client and the development company to come together and share enough domain knowledge to enable constructive communications about the project. To reduce the impact of mis-communicated ideas developers need to be agile, which involves being able to quickly confirm, implement, and get feedback on ideas. Therefore, any tool that helps us reduce the time required to implementing common functionality helps our clients greatly. It is with this in mind that Marvel Internet Group decided to standardize all projects on a development framework. That framework is <a href="http://www.cakephp.org/">CakePHP</a>.</p>
<p>CakePHP is a framework started in 2005 that is compatible with PHP, a ubiquitous web development programming language that is used by more than <a href="http://www.php.net/usage.php">20 million websites</a>, that follows the &#8220;model, view, controller&#8221; <a href="http://st-www.cs.uiuc.edu/users/smarch/st-docs/mvc.html">design pattern</a>. CakePHP allows us to implement client-specific features using common functions that have been heavily tested and debugged by the entire CakePHP community. CakePHP offers polished database abstraction, templating, AJAX, caching, testing, and security features that can be implemented in client applications. <strong>Those pre-built features allows us to have a solid foundation from which we can quickly realize our clients&#8217; vision in the form of a working prototype</strong>. </p>
<p>The productivity gains that comes with CakePHP would not be so great if a lot of time had to be invested in learning it. That is why CakePHP&#8217;s excellent <a href="http://book.cakephp.org/">documentation</a> and active <a href="http://bakery.cakephp.org/">developer community</a> means that we can quickly train programmers to become familiar with and productive with CakePHP in a matter weeks. </p>
<p>A real world case demonstrating the benefits of CakePHP comes from our experience with ICEF Online 2.0&#8217;s development. For this project we managed to take the version 1.0 program, which was developed without a framework, and re-code it from the ground up with 20+ additional core features in three months using one full time and one part time programmer. The part time programmer had never used CakePHP before and was able to implement our ordering system with less than one week training. </p>
<p>The product delivery time was a great improvement over version 1.0, which took well over six months using the same amount of human resources. We also saw improvement in the size of the code base, shrinking it from 137 megabytes to just under 50 megabytes. <strong>With all things being equal we have basically managed to half  quoted times in our client application development and create a much higher quality application.</strong> This was possible because we were able to focus on what was important to the client, instead of worrying about the low level mechanics of the application.</p><!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em> </em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fwww.marvelig.com.au%2Fmore-for-less-using-cakephp%2F115&amp;submitHeadline=Delivering+more+for+our+clients+in+less+time+by+utilizing+the+CakePHP+framework&amp;submitSummary=" rel="nofollow" title=" &nbsp;Buzz"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/buzz.png" title=" &nbsp;Buzz" alt=" &nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.marvelig.com.au%2Fmore-for-less-using-cakephp%2F115&amp;title=Delivering+more+for+our+clients+in+less+time+by+utilizing+the+CakePHP+framework" rel="nofollow" title=" &nbsp;Del.icio.us"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/delicious.png" title=" &nbsp;Del.icio.us" alt=" &nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.marvelig.com.au%2Fmore-for-less-using-cakephp%2F115&amp;title=Delivering+more+for+our+clients+in+less+time+by+utilizing+the+CakePHP+framework" rel="nofollow" title=" &nbsp;digg"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/digg.png" title=" &nbsp;digg" alt=" &nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.marvelig.com.au%2Fmore-for-less-using-cakephp%2F115" rel="nofollow" title=" &nbsp;Facebook"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/facebook.png" title=" &nbsp;Facebook" alt=" &nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.marvelig.com.au%2Fmore-for-less-using-cakephp%2F115&amp;title=Delivering+more+for+our+clients+in+less+time+by+utilizing+the+CakePHP+framework" rel="nofollow" title=" &nbsp;Google Bookmarks"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/google.png" title=" &nbsp;Google Bookmarks" alt=" &nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.marvelig.com.au%2Fmore-for-less-using-cakephp%2F115&amp;title=Delivering+more+for+our+clients+in+less+time+by+utilizing+the+CakePHP+framework" rel="nofollow" title=" &nbsp;LinkedIn"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/linkedin.png" title=" &nbsp;LinkedIn" alt=" &nbsp;LinkedIn" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.marvelig.com.au%2Fmore-for-less-using-cakephp%2F115&amp;title=Delivering+more+for+our+clients+in+less+time+by+utilizing+the+CakePHP+framework" rel="nofollow" title=" &nbsp;reddit"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/reddit.png" title=" &nbsp;reddit" alt=" &nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.marvelig.com.au%2Fmore-for-less-using-cakephp%2F115&amp;title=Delivering+more+for+our+clients+in+less+time+by+utilizing+the+CakePHP+framework" rel="nofollow" title=" &nbsp;Stumble Upon"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title=" &nbsp;Stumble Upon" alt=" &nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.marvelig.com.au%2Fmore-for-less-using-cakephp%2F115" rel="nofollow" title=" &nbsp;Technorati"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/technorati.png" title=" &nbsp;Technorati" alt=" &nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Delivering+more+for+our+clients+in+less+time+by+utilizing+the+CakePHP+framework+@+http%3A%2F%2Fwww.marvelig.com.au%2Fmore-for-less-using-cakephp%2F115" rel="nofollow" title=" &nbsp;Twitter"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/twitter.png" title=" &nbsp;Twitter" alt=" &nbsp;Twitter" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwww.marvelig.com.au%2Fmore-for-less-using-cakephp%2F115&amp;t=Delivering+more+for+our+clients+in+less+time+by+utilizing+the+CakePHP+framework" rel="nofollow" title=" &nbsp;Yahoo My Web"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/yahoo.png" title=" &nbsp;Yahoo My Web" alt=" &nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.marvelig.com.au/more-for-less-using-cakephp/115/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Fixed headers and columns</title>
		<link>http://www.marvelig.com.au/fixed-headers-and-columns/100</link>
		<comments>http://www.marvelig.com.au/fixed-headers-and-columns/100#comments</comments>
		<pubDate>Fri, 06 Feb 2009 01:39:56 +0000</pubDate>
		<dc:creator>Aulay Macaulay</dc:creator>
				<category><![CDATA[marvelsites]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[grid]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[table]]></category>

		<guid isPermaLink="false">http://blog.marvelig.com/?p=100</guid>
		<description><![CDATA[Recently I started creating the mock-ups for the JustRosters application. Part of this application is a calendar table that needed fixed headers and columns, with scrollable content area to fit in a restricted space. This concept can be seen in programs like in Microsoft Excel or similar spreadsheet programs, how the row and column numbers [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I started creating the mock-ups for the <a href="http://www.justrosters.com/" target="_blank">JustRosters</a> application. Part of this application is a calendar table that needed fixed headers and columns, with scrollable content area to fit in a restricted space. This concept can be seen in programs like in Microsoft Excel or similar spreadsheet programs, how the row and column numbers remain along the top and side at all times. After a bit of research, we found out that this hasn’t been done in HTML / CSS before, only full JavaScript applications with big budgets (like Google Spreadsheet). Since this wasn’t our case, we were after an open source solution, but this wasn’t easy to find or achieve.</p>
<p>After what felt like a million Google searches, we finally came across a script that would have done exactly what we wanted it to do, only to find out that it was incomplete. It had some of the features we needed, fixed header, fixed columns and scrolling of the inner data cells while remaining lined up. It just wasn&#8217;t cross browser compatible, did not support fluid width columns or row heights. I installed the script and after fixing it up for a few days, I got it to work&#8230;.. sort of. </p>
<p>What we needed was to have the data table take up maximum width and height of the browser content area, but doing this broke the script or the cells didn’t line up. After a lot of trial and error, tweaking the JavaScript and the css, I was finally able to create a fixed header and column table with dynamic resizing based on browser window size, row count and column count. The resulting table can be <a href="http://www.justrosters.com/new.php">viewed here for now</a>, and will be integrated into the finished <a href="http://www.justrosters.com/" target="_blank">JustRosters staff scheduling application</a>. When I get a chance I will post code snippets.</p><!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em> </em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fwww.marvelig.com.au%2Ffixed-headers-and-columns%2F100&amp;submitHeadline=Fixed+headers+and+columns&amp;submitSummary=" rel="nofollow" title=" &nbsp;Buzz"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/buzz.png" title=" &nbsp;Buzz" alt=" &nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.marvelig.com.au%2Ffixed-headers-and-columns%2F100&amp;title=Fixed+headers+and+columns" rel="nofollow" title=" &nbsp;Del.icio.us"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/delicious.png" title=" &nbsp;Del.icio.us" alt=" &nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.marvelig.com.au%2Ffixed-headers-and-columns%2F100&amp;title=Fixed+headers+and+columns" rel="nofollow" title=" &nbsp;digg"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/digg.png" title=" &nbsp;digg" alt=" &nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.marvelig.com.au%2Ffixed-headers-and-columns%2F100" rel="nofollow" title=" &nbsp;Facebook"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/facebook.png" title=" &nbsp;Facebook" alt=" &nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.marvelig.com.au%2Ffixed-headers-and-columns%2F100&amp;title=Fixed+headers+and+columns" rel="nofollow" title=" &nbsp;Google Bookmarks"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/google.png" title=" &nbsp;Google Bookmarks" alt=" &nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.marvelig.com.au%2Ffixed-headers-and-columns%2F100&amp;title=Fixed+headers+and+columns" rel="nofollow" title=" &nbsp;LinkedIn"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/linkedin.png" title=" &nbsp;LinkedIn" alt=" &nbsp;LinkedIn" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.marvelig.com.au%2Ffixed-headers-and-columns%2F100&amp;title=Fixed+headers+and+columns" rel="nofollow" title=" &nbsp;reddit"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/reddit.png" title=" &nbsp;reddit" alt=" &nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.marvelig.com.au%2Ffixed-headers-and-columns%2F100&amp;title=Fixed+headers+and+columns" rel="nofollow" title=" &nbsp;Stumble Upon"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title=" &nbsp;Stumble Upon" alt=" &nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.marvelig.com.au%2Ffixed-headers-and-columns%2F100" rel="nofollow" title=" &nbsp;Technorati"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/technorati.png" title=" &nbsp;Technorati" alt=" &nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Fixed+headers+and+columns+@+http%3A%2F%2Fwww.marvelig.com.au%2Ffixed-headers-and-columns%2F100" rel="nofollow" title=" &nbsp;Twitter"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/twitter.png" title=" &nbsp;Twitter" alt=" &nbsp;Twitter" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwww.marvelig.com.au%2Ffixed-headers-and-columns%2F100&amp;t=Fixed+headers+and+columns" rel="nofollow" title=" &nbsp;Yahoo My Web"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/yahoo.png" title=" &nbsp;Yahoo My Web" alt=" &nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.marvelig.com.au/fixed-headers-and-columns/100/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Part 4 – Building the HTML mock-ups and design</title>
		<link>http://www.marvelig.com.au/part-4-%e2%80%93-building-the-html-mock-ups-and-design/97</link>
		<comments>http://www.marvelig.com.au/part-4-%e2%80%93-building-the-html-mock-ups-and-design/97#comments</comments>
		<pubDate>Fri, 06 Feb 2009 01:27:43 +0000</pubDate>
		<dc:creator>Aulay Macaulay</dc:creator>
				<category><![CDATA[justrosters.com]]></category>
		<category><![CDATA[marvelig]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[mockup]]></category>

		<guid isPermaLink="false">http://blog.marvelig.com/?p=97</guid>
		<description><![CDATA[At this stage of development, all the designs we had on paper were rough sketches and ideas in our heads. So it was now time for me to step in and create digital mock-ups that turned these ideas into a functional interface.

The first step was to create a simple template for JustRosters to make user [...]]]></description>
			<content:encoded><![CDATA[At this stage of development, all the designs we had on paper were <a href="http://blog.marvelig.com/part-2-sketches-and-feature-refinement/53">rough sketches</a> and <a href="http://blog.marvelig.com/justrosters-brainstorming-research/32" target="_blank">ideas in our heads</a>. So it was now time for me to step in and create digital mock-ups that turned these ideas into a <a href="http://www.justrosters.com/new.php" target="_blank">functional interface</a>.

The first step was to create a simple template for <a href="http://www.justrosters.com/">JustRosters</a> to make user interaction as easy as possible. I created the design using Photoshop, and then converted to a HTML template using my favourite scripting program, Notepad++. We kept the template very minimalist to maximise screen real estate for the major functionality, including the main roster interface.

We also decided to have all user &#8216;action&#8217; forms displayed in a toolbar on the right side, which is shown at all times. The forms are added to the toolbar using the javascript library jQuery. We used the side action bar for a number reasons:

<strong>1.</strong> The user never has to navigate away from the page they are currently on to perform related actions.
<strong>2.</strong> The roster interface is never covered by a pop-up when a action needs to be made.

<a rel="lightbox" href="http://blog.marvelig.com/wp-content/uploads/2009/02/blank-template.png"><img class="alignnone size-medium wp-image-104" title="blank-template" src="http://blog.marvelig.com/wp-content/uploads/2009/02/blank-template-300x172.png" alt="" width="300" height="172" /></a>

<a href="http://jquery.com/" target="_blank">jQuery</a> was used a lot throughout the interface for a number of different functions and effects, from adding the input forms to the toolbar, to styling the tables and forms.  I use it because it is very easy to use and lightweight, and it achieved its functionality automagically without adding extra markup to the HTML.

The next step was to turn each of the sketches into functional pages, this is where we ran into our first <strong>major hurdle</strong>. The main page of the roster interface needs to display a calendar that shows the dates of the roster period along the top row, and the staff members of the roster listed down the left column. It sounds simple until you start testing with a 2 week roster featuring 50 staff&#8230;. in a small screen. We needed the grid to scroll but it was important to keep the top row (dates) and left row (staff) in view at all time. After about 4hours of Google searches we found no real solutions (but hundreds of people looking for one).  After a lot of playing around with this, we <a href="http://www.justrosters.com/new.php"><strong>got it working</strong></a>!!! When we get some time we will release the code snippeits.

From here on it was all smooth sailing. The rough sketches were transformed into an <a href="http://www.justrosters.com/new.php">easy to use interface</a>.

After 96hours working on the mock-ups (40hours spent on the roster view alone), they are finally complete. Now it is time for Paul to step in and code the guts of the application, turning it from a puppet to the real thing. I will have bigger rant about the roster view shortly <img src='http://www.marvelig.com.au/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> <!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em> </em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fwww.marvelig.com.au%2Fpart-4-%25e2%2580%2593-building-the-html-mock-ups-and-design%2F97&amp;submitHeadline=Part+4+%E2%80%93+Building+the+HTML+mock-ups+and+design&amp;submitSummary=" rel="nofollow" title=" &nbsp;Buzz"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/buzz.png" title=" &nbsp;Buzz" alt=" &nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.marvelig.com.au%2Fpart-4-%25e2%2580%2593-building-the-html-mock-ups-and-design%2F97&amp;title=Part+4+%E2%80%93+Building+the+HTML+mock-ups+and+design" rel="nofollow" title=" &nbsp;Del.icio.us"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/delicious.png" title=" &nbsp;Del.icio.us" alt=" &nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.marvelig.com.au%2Fpart-4-%25e2%2580%2593-building-the-html-mock-ups-and-design%2F97&amp;title=Part+4+%E2%80%93+Building+the+HTML+mock-ups+and+design" rel="nofollow" title=" &nbsp;digg"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/digg.png" title=" &nbsp;digg" alt=" &nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.marvelig.com.au%2Fpart-4-%25e2%2580%2593-building-the-html-mock-ups-and-design%2F97" rel="nofollow" title=" &nbsp;Facebook"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/facebook.png" title=" &nbsp;Facebook" alt=" &nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.marvelig.com.au%2Fpart-4-%25e2%2580%2593-building-the-html-mock-ups-and-design%2F97&amp;title=Part+4+%E2%80%93+Building+the+HTML+mock-ups+and+design" rel="nofollow" title=" &nbsp;Google Bookmarks"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/google.png" title=" &nbsp;Google Bookmarks" alt=" &nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.marvelig.com.au%2Fpart-4-%25e2%2580%2593-building-the-html-mock-ups-and-design%2F97&amp;title=Part+4+%E2%80%93+Building+the+HTML+mock-ups+and+design" rel="nofollow" title=" &nbsp;LinkedIn"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/linkedin.png" title=" &nbsp;LinkedIn" alt=" &nbsp;LinkedIn" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.marvelig.com.au%2Fpart-4-%25e2%2580%2593-building-the-html-mock-ups-and-design%2F97&amp;title=Part+4+%E2%80%93+Building+the+HTML+mock-ups+and+design" rel="nofollow" title=" &nbsp;reddit"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/reddit.png" title=" &nbsp;reddit" alt=" &nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.marvelig.com.au%2Fpart-4-%25e2%2580%2593-building-the-html-mock-ups-and-design%2F97&amp;title=Part+4+%E2%80%93+Building+the+HTML+mock-ups+and+design" rel="nofollow" title=" &nbsp;Stumble Upon"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title=" &nbsp;Stumble Upon" alt=" &nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.marvelig.com.au%2Fpart-4-%25e2%2580%2593-building-the-html-mock-ups-and-design%2F97" rel="nofollow" title=" &nbsp;Technorati"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/technorati.png" title=" &nbsp;Technorati" alt=" &nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Part+4+%E2%80%93+Building+the+HTML+mock-ups+and+design+@+http%3A%2F%2Fwww.marvelig.com.au%2Fpart-4-%25e2%2580%2593-building-the-html-mock-ups-and-design%2F97" rel="nofollow" title=" &nbsp;Twitter"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/twitter.png" title=" &nbsp;Twitter" alt=" &nbsp;Twitter" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwww.marvelig.com.au%2Fpart-4-%25e2%2580%2593-building-the-html-mock-ups-and-design%2F97&amp;t=Part+4+%E2%80%93+Building+the+HTML+mock-ups+and+design" rel="nofollow" title=" &nbsp;Yahoo My Web"><img class="social_img" src="http://www.marvelig.com.au/wp-content/plugins/social-bookmarks/images/yahoo.png" title=" &nbsp;Yahoo My Web" alt=" &nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.marvelig.com.au/part-4-%e2%80%93-building-the-html-mock-ups-and-design/97/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

