Welcome to Freshview thoughts, a place for our ideas and ramblings about building and supporting a popular web application from Sydney.
Stay in the loop
Dig into a category
Search all posts
Our products
The easiest way for designers to send email newsletters for themselves and their clients.
What's lunch without a tag cloud?
Posted by David Greiner on March 4, 2009 12:14 PM
For the last year or so we've been providing free catered lunches for the Freshview team. We don't provide a certain type of meal in bulk, instead every team member can order whatever they feel like that day. As you can imagine, the logistics for this can get quite complex, so I wanted to share our latest innovations in lunch management.
As part of our annual internship program, an intern will often start working on an internal app to get familiar with our development environment, coding practices, etc. This year, star intern Andrew Canby was given the task of overhauling our current lunch ordering system. This is no easy task either, hell hath no fury like 12 hungry nerds so bugs or downtime are no an option!
Andrew came up with some great innovations. I'm fairly confident this is the sweetest lunch ordering system on the planet. Here's a screenshot of the finished product right after I just submitted my order for today.

Like the other internal apps we use, the lunch ordering system is only a click away from any page on our Intranet.

The ping pong application was the brainchild of our other intern Pete, and I'll be sharing the details of that one in an upcoming post.
Inspiring your stomach
The hardest part about lunch each day is deciding what you feel like eating. Sometimes you have the perfect meal in you head, but other days your stomach isn't dropping any hints. To give you some ideas, the app shows you exactly what everyone else in the team has ordered today. With a single click, you can copy their order, make any tweaks and order away. Here's Ben's latest order history. I chose him because he's probably the healthiest eater in the office.

As well as checking out what others are eating today, you can look at their entire order history. Maybe you liked the look of that lamb wrap Jason was eating on Friday. Two clicks and the same wrap will be ready for you by lunch time.
Brainstorm with the tag cloud
I was a little skeptical about this idea at first, but it's been extremely handy. There's a small tag cloud showing the most popular items ordered by the team to date. Here's a sample of what's been popular of late. Aren't we a healthy bunch!

By clicking on any of the words, we'll show a range of popular orders that item has been included in. Say you feel like something with chicken in it. Click on that word and the following suggestions are displayed.

Click on the meal that looks best, customize it any way you like and your order is done.
Suggest as you type
If you don't want to rely on others for inspiration, you can just start typing your order. Almost instantly, similar options around the items you've entered will be suggested. You might enter turkey and avocado and be presented with the most popular orders to date that have included both of these ingredients. Very cool.
Processing the orders
The daily order cut-off is 11am, and if you haven't submitted an order by 10am, you'll get a reminder email just in case. After the cut-off, the days orders are written to a static HTML page which is then automatically faxed to the local caterer.
The caterer prepares all the meals fresh and then hand delivers them individually wrapped with that team members name on it at 12.30 each day. The whole thing runs like clockwork, so a big thanks to Andrew for a job well done.
Posted in Freshview News26 comments so far
Setting up Google Analytics and Website Optimizer across multiple domains and sub-domains
Posted by Dave Martin on January 23, 2009 11:09 AM
Setting up Google Analytics and Website Optimizer correctly across multiple domains & subdomains can get pretty tricky. With our latest release of Campaign Monitor, we wanted to make sure that we could utilize both Google Analytics and Website Optimizer to help improve our site. As a result, we had to piece together a solution from about half a dozen different articles. If you ever find yourself in the same boat, here's the step by step tutorial:
Note: This article applies only for the latest version of the Google Analytics tracking code (ga.js).
Step 1) Tag all cross-domain links and forms
The first thing you will need to do is identify ALL links & forms on your site (even links on pages that do not include website optimizer tests) that go from one domain (or sub-domain) to another and tag thcode with the following code:
For links, add: onclick="javascript:firstTracker._link(this.href); return false;"
Example: <a href="https://www.domain2.com" onclick="javascript:firstTracker._link(this.href); return false;">Domain 2</a>
For forms, add: onSubmit="javascript:firstTracker._linkByPost(this);"
Example: <form action="http://www.domain2.com" method="post" onSubmit="javascript:firstTracker._linkByPost(this);">
Notes:
- firstTracker._link and firstTracker._linkByPost are shared by both Google Analytics and Website Optimizer to track visitors cross-domain
References:
- Tagging links and forms cross-domain with Google Analytics (See steps 2 & 3)
- Using website optimizer with multiple domains
Step 2) Load JS on Domain1.com and all of it's sub-domains
Add the following tracking code to the HEAD section of all pages on domain1.com (including sub-domains, www.domain1.com & sub.domain1.com)
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var firstTracker = _gat._getTracker("UA-xxxxx-x");
firstTracker._setDomainName(".domain1.com");
firstTracker._setAllowLinker(true);
firstTracker._setAllowHash(false);
firstTracker._trackPageview();
} catch (err) { }
</script>
Notes:
- You MUST include this code above the links in step 1
- Be sure to include a "." before your domain for _setDomainName
- Replace UA-xxxxx-x with your Google Analytics profile ID
- _setAllowLinker set to true enables linking to another domain for Google Analytics
- _setAllowHash set to false prevents a unique domain hash (or numerical representation) of the domain name to be used in the cookie
References:
Step 3) Load JS on Domain2.com and all of it's sub-domains
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var firstTracker = _gat._getTracker("UA-xxxxx-x");
firstTracker._setDomainName(".domain2.com");
firstTracker._setAllowLinker(true);
firstTracker._setAllowHash(false);
firstTracker._trackPageview();
</script>
} catch (err) { }
</script>
Notes:
- Your tracking ID (UA-xxxxx-x) should be the same as in step 2
- Be sure to include a "." before your domain for _setDomainName
- See step 2 for notes and references
Step 4) Add the Website Optimizer Control Script to the top of your test page
Add the following to the very top of your test page (Before the <HTML> tag):
<script type="text/javascript">
_uhash = "off";
_ulink ="1";
_udn ="domain1.com";
</script>
<script type="text/javascript">
function utmx_section(){}function utmx(){}
(function(){var k='XXXXXXXXXX',d=document,l=d.location,c=d.cookie;function f(n){
if(c){var i=c.indexOf(n+'=');if(i>-1){var j=c.indexOf(';',i);return c.substring(i+n.
length+1,j<0?c.length:j)}}}var x=f('__utmx'),xx=f('__utmxx'),h=l.hash;
d.write('<sc'+'ript src="'+
'http'+(l.protocol=='https:'?'s://ssl':'://www')+'.google-analytics.com'
+'/siteopt.js?v=1&utmxkey='+k+'&utmx='+(x?x:'')+'&utmxx='+(xx?xx:'')+'&utmxtime='
+new Date().valueOf()+(h?'&utmxhash='+escape(h.substr(1)):'')+
'" type="text/javascript" charset="utf-8"></sc'+'ript>')})();
</script>
Notes:
- You must add a reference to _udn above the normal utmx_section function in order for your test to work
- Be sure to include a "." before your domain for _udn
- Replace XXXXXXXXXX above with the value found in the control script of your Website Optimizer test
Reference:
Step 5) Add the Website Optimizer tracking Script under the GA JS code on your test page
Your GA JS code on the test page will now look like:
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var firstTracker = _gat._getTracker("UA-xxxxx-x");
firstTracker._setDomainName(".domain1.com");
firstTracker._setAllowLinker(true);
firstTracker._setAllowHash(false);
firstTracker._trackPageview();
var secondTracker = _gat._getTracker("UA-yyyyy-y");
secondTracker._setDomainName("domain1.com");
secondTracker._setAllowLinker(true);
secondTracker._setAllowHash(false);
secondTracker._trackPageview("/zzzzzzzzzz/test");
} catch (err) { }
</script>
Notes:
- Again, be sure to include this code above the links in step 1
- Replace UA-yyyyy-y with your account ID from Website Optimizer
- Replace /zzzzzzzzzz/test with the ID of your current Website Optimizer test (Found in tracking script code when creating a new multivariate test)
- Be sure to include a "." before your domain for _setDomainName
Reference:
Step 6) Add the website optimizer page section script to your test page around each test elcodeent
It's pretty simple. You can read more about this in step two of any new multivariate experiment, or by visiting this help topic.
Step 7) Add your website optimizer conversion script to your goal page (the page that users reach after a successful conversion)
Add the following code to the end of your conversion pages source code:
<script>
if(typeof(urchinTracker)!='function')document.write('<sc'+'ript src="'+
'http'+(document.location.protocol=='https:'?'s://ssl':'://www')+
'.google-analytics.com/urchin.js'+'"></sc'+'ript>')
</script>
<script>
try {
_uacct = 'UA-yyyyy-y';
_udn =".domain1.com";
_ulink ="1";
_uhash = "0";
urchinTracker("/zzzzzzzzzz/goal");
} catch (err) { }
</script>
Notes:
- Again, replace UA-yyyyy-y with your account ID from Website Optimizer
- And, replace /zzzzzzzzzz/goal with the ID of your current Website Optimizer conversion script (It should have goal at the end instead of test)
- Be sure to include a "." before your domain for _udn
- _udn manually sets the domain for Website Optimizer
- _ulink set to 1 enables linking to another domain for Website Optimizer
- _uhash set to 0 prevents a unique domain hash (or numerical representation) of the domain name to be used in the cookie
Step 8) Add advanced filter to show domains
Add the following filter to your Google Analytics profile so that you see domains in your content reports.

Filter Type: Custom filter > Advanced
Field A: Hostname
Extract A: (.*)
Field B: Request URI
Extract B: (.*)
Output To: Request URI
Constructor: $A1$B1
That's it - 8 easy (well actually slightly difficult) steps... I hope you find it useful.
A quick thanks to Eric Vasilik and ShoreTel for their help in troubleshooting this code.
Posted in Random Thoughts10 comments so far
Codename: Voltron
Posted by Mathew Patterson on January 8, 2009 1:34 PM
Here at team Freshview, there are a lot of 80s children, people who grew up with Thundercats, G-Force, G.I. Joe... all the classics. Ranking high among them was Voltron.
Voltron, for those who are not aware, is a mighty robot and self proclaimed 'Defender of the Universe'. The robot was formed from 5 separate vehicles, and later, robot lions (clearly the best Voltron). So when we decided that our two products, Campaign Monitor and MailBuild would be merged into a single powerful product, the codename was obvious.
So began Project Voltron. At first, it was just a more convenient way to refer to the project than 'the merged Campaign Monitor and MailBuild', but it soon became clear that the team was quite attached to the idea.
Support guru Travis used his Ebay skills(z) on the sly, and one magical day there was a new member of staff, a genuine 80s Lion Voltron toy, complete with pilots. He took up pride of place protecting our lunch tables in the office.
Weeks later, a box of Voltron t-shirts arrived in a range of 2 fashionable colours, and over the next couple of months as the team worked hard to finish the project, those shirts got plenty of wear.
As it turns out, a Voltron t-shirt is an excellent way to attract attention for a certain type of person on the street, while waiting for elevators and shopping in stores. If you're a geek looking for an easy conversation starter - get yourself into some Voltron merch.
So that's the story of how an enormous, detachable robot became the mascot of an email marketing web application. Who knows which cartoon could inspire a future Freshview product!
Posted in Our Software1 comments so far
Coolest Australian company growing globally
Posted by David Greiner on September 29, 2008 2:53 PM
A couple of weeks back I mentioned that we'd been named finalists for the Australian Cool Company awards. At a glitzy ceremony at PricewaterhouseCoopers HQ in Melbourne on Thursday night we were honored to take out the award for their global growth category.
When you consider these awards cover all industries across the entire country, that's very humbling stuff.
As I mentioned when accepting the award, you can't be a cool company without a cool team behind you, so a big shout out to the Freshview team for making this happen. As well as our team, the judges were also impressed by some of the great companies like Apple, Facebook and Twitter using our software for their email marketing. Maybe we earned some cool points by association.
The prize itself was an awesome black 5'11'' swallow tail surfboard, which we'll be hanging proudly in the office. There are a few surfers in the Freshview team, so we might need to bolt it on so it doesn't go missing.
Congrats should also go to our clever friends (and customers) over at RedBubble for taking out two other awards on the night. Great stuff guys!
Posted in Buzz or Press8 comments so far
Freshview company update
Posted by Mathew Patterson on September 15, 2008 11:14 AM
When you are a web based software company, your customers don't necessarily know a whole lot about you. Many people don't realise we are an Australian company, or that we are relatively small. There is advantages and disadvantages to that, but the Freshview blog is the place to come if you want to find out all about who we are, and what we get up to.
It has been a long time since we introduced you all to a new Freshview team member (in fact, my own introduction back in January 2007 was the last). So today I want to introduce you to all the guys and girls behind Campaign Monitor and MailBuild.
In chronological order, we have:
- Dave Greiner, Founder
- Dave is the design half of the founding partnership with his mate of many years, Ben. Dave is responsible for the UI of our products, and when he is not obsessing about form layouts obsesses about over-hit backhand slices instead.
- Ben Richardson, Founder
- As the founder and original developer for Freshview, Ben has a lot of knowledge in his head. Fortunately, frequent table tennis victories have expanded it slightly! Ben also surfs at every opportunity.
- Jason Hickey, Developer
- As Freshview's first actual employee and core developer, Jason has made huge contributions to both Campaign Monitor and MailBuild. His aggressive table tennis tactics have the rest of the team ducking for cover.
- Mathew Patterson, Community Manager
- I look after all of you guys through the support system, and do a lot of the blogging, speaking and other out reach activities. 'Creative' uses of the office whiteboards fills in my spare time.
- Ken Nguyen, Developer
- Arriving to take the load off Jason and Ben, Ken has been involved throughout our applications, and also been crucial in organising the weekly grocery shopping, thereby avoiding the Coke running out and development coming to a standstill.
- Bob Carey, Quality Assurance Engineer
- We brought Bob all the way from Canada, and when not expounding on incomprehensible details about hockey, he puts in a lot of effort to make sure that Campaign Monitor and MailBuild do the job they were designed for.
- Toby Brain, Developer
- After coming through our intern program in 2007, Toby has joined the team permanently and has already built some excellent features into our products. Toby claims to have already heard all the 'Pinky and the Brain' jokes theoretically possible, but we'll keep trying.
- Phil Gilmore, Developer
- Whether you want some .Net development work done, a mountain climbed, a road trip companion, or a law of nature explained, Phil is your man. His first big project was the crucial Lunch 1.0 release.
- Diana Potter, Community support (USA)
- As our very first US based team member, Diana has very quickly become known to a lot of you! Some say she answers emails so fast that sometimes people have received replies before they have sent in their question...or before they even knew they had a question to ask. Spooky!
- Travis Bell, Community support
- Our second Canadian import, Travis brings a lot of support, scripting and design experience to the team. Combined with that is an uncanny ability to comprehend Bob's hockey talk, and an abiding love for all things Apple.
- Karen Clark, Office Manager
- It's no use having sweet offices if they are filled with disorganised chaos. Karen's arrival to handle everything required in keeping things running smoothly has given us all, especially Dave and Ben, more time to focus on the things we do well. Never leave Karen!
- Davida Fernandez, Community support (USA)
- Our second USA based team member, Davida will soon be challenging Diana as "Queen of all Campaign Monitor and MailBuild Knowledge". It's not a catchy title, but the benefits are pretty good. When you need support during US business hours, you'll appreciate Davida and Diana as much as we do.
- Scott Randall, System Administrator
- The newest member of our team, Scott is that 'right person' we've been hunting down for a long time. Scott will be responsible for keeping everything running, and for setting our future technical direction to make sure we can handle all the emails you can send!
So now you've got an idea who we are, we'd love to meet you too. So if you are attending a conference like Web Directions or Web Design World that we attend, come up and say hi! We don't bite (well, except for Jason, and he's on special tablets ;)
Posted in Freshview News6 comments so far
How cool is that!
Posted by David Greiner on September 11, 2008 3:47 PM
Every country has their awards to aspire to. Whether it's the Inc 500, the Deloitte Fast 50 or the Golden Raspberry. One particular award I've admired since it launched a couple of years back is the Australian Cool Company award.
Presented by PricewaterhouseCoopers and Australian Anthill magazine (a favourite around the Freshview office) the awards focus on rewarding that hard to define concept of "cool". Here's their take on what that means...
Cool Companies manage to stay one step ahead of the rest. They breed leaders who are rule-makers and rule-breakers. They are organisations that aspire to be admired. They are trend-setters in attitude and action. Quite simply, they are cool.
Who wouldn't want to be described like that! On a whim, I entered Freshview a couple of months back, then forgot all about it. A few days ago I got an email thanking me for entering, and link to check out the 24 finalists for the 2008 award. Amazingly, Freshview has been nominated in not one, but two categories - online business, and global growth.
While most of our work is focused on markets overseas, it's awesome to see all the hard work our team has been putting in these past few years being recognised locally. Even if we don't take the award itself out, just knowing we're considered one of the 20 coolest companies in the country is good cool enough for me. The awards are announced September 25 at a ceremony in Melbourne. Wish us luck!
Posted in Buzz or Press4 comments so far
Mixing with our mentors in Boston
Posted by David Greiner on September 9, 2008 5:46 PM
Last week Ben and I were lucky enough to spend a few days in Boston at the annual Business of Software conference. It takes a special kind of event to get us to fly to the other side of the planet for only two days, but just like last year's event, it was well worth it. The conference is put on by Neil Davidson of Red Gate Software, easily the nicest guy in the business, and Joel Spolsky of Fog Creek Software (yep, that Joel). These are two guys I have enormous respect for. Over the years they have personally taught me a great deal about how to run a software company, and have fun doing it.
We managed to see some great talks from the likes of Seth Godin (of purple cow fame), Jason Fried (a customer, friend and all round nice guy) and Eric Sink (a big inspiration for starting Freshview in the first place). It was also great to see a live usability demo from Steve Krug, which is just the motivation I needed to start including guerilla usability testing in our design process. Just like last year's conference, most of the sessions were inspirational or informative, and gave us plenty to think about.
But, as is the case for most events like this, it's the conversations you have outside the presentations that are the most valuable. It's not every day you can take Jason Fried out for coffee in the morning and then Joel Spolsky out to dinner that night. The web's an amazing thing for learning and sharing, but nothing beats some face to face time with real people. Even if they do tell Boston jokes that fly right over my head.
We also finally got the chance to catch up with Ben Chestnut, founder of the very cool MailChimp. I've been a big fan of Ben's blog for a long time now, and we're both doing some interesting stuff in the email marketing space. We recommend all of our customers who aren't comfortable coding their own emails to check them out, so it was great to finally meet him in the flesh. We also came up with some interesting ways we can work together in the future. Amazing what kinds of ideas surface over a few beers!
Judging by the feedback from other attendees, it looks like the conference will be on again next year, so if you're interested in smart, practical advice on running a software company, it's not one to miss.
Posted in Freshview News4 comments so far
Applications open for Summer 2008/2009 Internships
Posted by David Greiner on July 30, 2008 3:03 PM

Wow, has it been a year already? Hot on the heels of our successful inaugural program last year, we've just opened the doors for students interested in doing an 8-12 week internship at Freshview from December to March.
Why should I bother applying?
We do things differently at Freshview, and I'm not just talking about the $800/week salary, free catered lunches and private offices. Our internships expose you to every facet of working in a software company. From writing real, shippable code for our applications to helping out with marketing, design and even talking to customers.
What happened last year?
After a ton of applications from some great students, phone interviews and a group interview process at the Freshview office, we selected Toby and Daniel as our inaugural interns. They didn't disappoint. Here are just some of the features developed by the guys based on customer requests and their own input.
- A component allowing customers to compare multiple campaign results in a single Flash and AJAX powered report.
- An application that automatically converts externally referenced style sheets in a HTML file to inline CSS as per W3C specifications. Our customers loved this.
- A significant new feature that relied on heavily optimized queries across database tables with hundreds of millions of rows. It was very popular.
While the guys got loads of great stuff done, there was still plenty of time for them to make us all look bad when we had surfing lessons and played laser skirmish. At least us old guys got some revenge when we took them on at lawn bowls! Here's what one of the guys had to say about last years program...
"Working as a Freshview intern was an awesome opportunity! The environment was supportive, friendly and most of all lots of fun. The best part was, I had the opportunity to work on actual application features used by thousands of people worldwide and learned more about software development than I could ever learn at Uni. Plus, my ping pong game has never been better!"- Daniel Bowden, Wollongong University, Summer 2007
At the end of the program, we offered a full-time position to one of the interns, who is currently working with us part-time while he finishes his degree. For a full write-up on what the guys accomplished, check out this post.
OK, I'm interested. What now?
We've put together a page outlining the program, what we're looking for and how you can apply. Head on over to get started. Applications close on Tuesday September 30, 2008 but we review them as they come in, so all available openings may be taken well before that date. If you're interested, apply now.
Posted in Freshview News0 comments so far
Tools we use: Skitch
Posted by Mathew Patterson on June 19, 2008 1:36 PM
In the last "tools we use" post, I mentioned the excellent HelpSpot application, which we use for all our support. Today's featured tool is also used in support, but in a slightly different way.
Even though Campaign Monitor and MailBuild are both pretty straight forward, there is times when we need to explain how to do something specific, or where to find something.
Some of those questions are answered by the narrated videos, but others are one off or less broad. In those cases, I love to use Skitch. Skitch is a tool from Plasq, the awesome Mac developers also responsible for Comic Life. They are so smart they even use Campaign Monitor for some of their newsletters!
Plasq have a tagline for Skitch - "Snap, Draw, Share!" - which is pretty descriptive. You load Skitch, and take a quick snap of any part of your screen, draw over the top of it, and then you can automagically make it publicly or privately shared.
I love to use Skitch to make super quick screengrabs of different parts of Campaign Monitor and MailBuild, annotating the image to show where a setting is or where to click. I've got a folder setup on the Campaign Monitor site, and Skitch can automatically upload the image and give me back a URL for it, which I can paste into my HelpSpot response.
It will do timed screenshots too, which is helpful when showing drop downs like in the screenshot above. Skitch literally saves minutes of faffing about taking screenshots, editing sizes, uploading in FTP clients and so on, every single time I use it.
A clear screenshot can also save a lot of back and forth with customers when trying to explain in text something that can be understand visually much more easily. I highly recommend you try out Skitch yourself. You can signup for the public beta right now at no cost.
Posted in Random Thoughts3 comments so far
Freshview Favourites: Books
Posted by Mathew Patterson on May 29, 2008 1:47 PM
Although we're all the way down on the bottom of the globe, thanks to the magic of Amazon we can now get books at reasonable prices here in Sydney. I've surveyed the Freshview team and come up with a few recent favourites.
Code Complete by Steve McConnell
Selected by Jason, Freshview developer — "for developers starting out and for those with experience but who haven't really been following best practices, or any at all, Code Complete is a must read".
Good to Great by by Jim Collins
Selected by Dave, Freshview founder and designer — "Simple, practical advice using real world examples on how to build a great business".
Chicago Manual of Style by University of Chicago Press
Selected by Diana, Community and Support guru — "Not the most interesting read but where else are you going to turn to when you can't remember if it's e-mail or email?".
Positioning: The Battle for Your Mind by Al Ries and Jack Trout
Selected by Ben, founder and developer — "written about 15 years ago, and has no mention of the Internet, but very relevant to online businesses operating today".
Getting Real by 37Signals
Selected by Travis, Community and support guru — "Do they still even make books? (you're talking about that paper kind right?); Getting Real is highly relevant"
Naked Conversations by Robert Scoble and Shel Israel
Selected by Mathew, Community Manager — "Packed full of great stories and advice on using blogging to connect and converse with your customers".
Not everybody find books the most useful way to learn, but if they work for you, you could do worse than check these out. We'll post in the future about other favourites among the Freshview team; if you want to find out something specific, just ask!

