RSS feed
The Fastest Way to Invoice Your Clients

Archive for October, 2006


Yesterday, Microsoft released its ‘final’ version of IE7.  New features include tabbed browsing, a new look, and some updates to certain web standards.  There are some nice usability tweaks as well.  Feel excited and ready to download the newest version?  Maybe you should consider holding out for a while. 

IE7 has been plagued with a number of bugs during its BETA stages, and we received a few reports with irregularities when using previous version of IE7 in FreshBooks and in other web applications.  Hopefully with their final release, Microsoft has finally ironed out all the bugs.

Why hold out now?

Well for one reason, it’s new.  I’m betting that in a short period of time, Microsoft will be releasing a patch for some serious security issue in its new ‘final’ release.  One reason is that there are too few people using IE7 to really find and report all the existing security issues and bugs.  This also means that there are less people who are actively finding security holes for un-lawful purposes … for now. 

If you check out the latest browser stats for the month of September.  Only 2.5% of the web community are on IE7. However, 2.5% was a 0.5% increased from previous month and that’s huge!  Our web stats indicate that 3.92% of users are using IE7 this month which is up from 3.79% for last month. While FreshBooks works great on all the popular browsers, we look forward to begin testing on the new official release so we can add it to our list of supported browsers.

I definitely tip-my-hat to Microsoft for recognizing their product flaws and for actively trying to address them, but my consumer confidence in their products is really at a low point.  I’m not saying that MS products don’t work.  I’m just saying whenever they release another serious security patch for any Microsoft product; I’m not surprised at all.

Hopefully when Microsoft’s new OS, Windows Vista, is finally released, it will bring confidence back to me and other users who feel the same.

Great advice for home office businesses from a recent article in Forbes.com (check out that crazy advertisement it flashes before actually seeing the article!). Thanks to Rich from the archives of the Business Opportunities Weblog:

Alterations to the tax code in 1999 made it easier to qualify for home-office tax deductions. For instance, engineering and construction types who spend lots of time in the field, but do most of their administrative work at home, can still qualify for certain deductions.

I don’t want to post the entire article here, and I don’t want to pretend I know very much about US tax law, but it’s certainly worth a read if you are running a business out of your home.  They are suggesting deducting infrastructure, home mortgage interest and property taxes, travel expenses, one-time office equipment purchases, and family members that are doing work for you. 

Can any readers suggest anything else that many of us may not consider?

 

In a recent Fortune magazine article, Adobe is credited with being the first company ever to receive a platinum award from the non-profit US Green Build Council.

Adobe earned the award by retrofitting its existing office. Highlights include:

  • Adding fluorescent lights where incandescents were used before - Cost: $11,000, Annual Savings: $105,000
  • Motion sensors ensuring stairwells and alcoves are lit only when used - Cost to Implement: $89,831, Annual Savings: $24,475

Motion sensors…that just seems *so* obvious.

[Hat tip to Fortune, whose magazine I love and whose on-site search tool stinks.]

Some tips from Joe on presenting:

I just finished a class critiquing 25 presentations from students. Here are some minor points that came up that might be helpful to others.

Title slide
Leave it up long enough for audience to digest (Title, date, presenters)

Footer
Must have page numbers and perhaps also the title or names of presenter(s)

Have an outline slide
Perhaps a running outline down the side, if it can be tight

Keep slides clean
No extra unecessary graphics

Apply some color
To emphasize key points (but not too much)

Have a cue
On the last slide, indicate that the presentation is over and Q/A ready to go.

The most important points I emphasize to them to make the best presentation is:

1. Preparation — know what you are talking about, make good slides.
2. Practice, practice, practice.
3. Practice, practice, practice.

Thanks for sharing Joe.

I am back from Office 2.0 and over the weekend my vocal chords seized. I can’t say a word.

Yesterday was difficult. I wasn’t able to tell people how the conference went…I was expecting that I would recover within hours…so I waited. Today I’m still…err…speechless.

I’m appreciating the web in a whole new way though. Without being able to speak, with the help of email and GTalk, I can be heard. For example I have a mesh conference call this morning at 10:00. I’m going to listen and send thoughts, give approval, via GTalk.

I’m inspired by what the web can be for the hearing impaired. It enables communication without speech.  FreshBooks has clients with hearing impairments and we have always been able to help. Support by Email.  Telephone support via relay services.  These calls can take a while at times (we strongly recommend email because it’s a faster way to communicate in the end), but we are glad to help.  Next we want to assist the visually impaired by making our application compliant for them. It’s on our road map and we look forward to the day all the web is accessible to everyone.

A few months ago, Michael mentioned his computer was running way too slow and was considering buying a new computer.  Michael was using an old, but not outdated DELL desktop which is a cost-effective solution if you are not planning to play games in the office. http://www.scottweichert.com/

Before I told him to buy a new computer, I asked if I could see what I could do to solve his computer woes.  What ended up happening was I backed-up all his data, installed a fresh copy of his operating system, and did a number of tweaks to the operating system to really give it some extra performance.  This took a lot of time, but Michael said he felt like he had a new computer when he got it back.

I know everyone might not have the time or expertise to completely reinstall their operating system, but I’ll share one quick tip that is fast and should have a big impact of the speed of your PC if you are running Windows XP.

Turn off all those windows styles and extra graphics.  If you prefer speed over graphics, you can turn off a number of windows styles that just slow down your computer.

  1. Click your Start menu->Settings->Control Panel.
  2. Double-click on “System”.
  3. Click your “Advanced” tab above.
  4. Click your “Settings” button under the ‘performance’ category.
  5. Uncheck as many options as you can or select “Adjust for best performance”.
  6. Click your ‘OK’ buttons for both open windows.

I hope this helps.  Feel free to post a comment on what you feel might help others speed up their computer, but will only take a few minutes to complete.
 

Today is the second in a series dedicated those crazy people who don’t spend every waking moment reading our blog.  Last edition, I gave you a review of five great blog posts that were useful for small business.  This week I am going to list five great blog posts that are useful for web designers and web developers.

Don’t Split Your PageRank
“When someone links to your website, you do not always have control over the URL they choose to use.  They could include the “www” or not. Because of this inconsistency you could be splitting the number of inbound links to your website thus splitting your PageRank. The key is to be consistent and consolidate to one URL.”

Good Web Design is Not Guesswork
“I want to tell you about a process you can use to design your pages.  Your users will benefit from the time you invest in page layout, and so will you because it will reduce the number of changes you need to make later to get a page right.  Also, your site will be more successful so your client will want to invest in additions and that means more revenue for you.”

On Design: We Thought it Would Help
“We track how many people look at our subscribe page, and how many people then go on to sign-up. In this case, over 2% FEWER people are signing up now… I can select date intervals in my web analytics for before and after the change, and draw meaningful conclusions.  If you maintain a website and making periodic changes, keep a change log. It’s worth the effort.”

Two Must Haves for Business Websites
“Trust is a huge factor if you want people to interact with you online. By not helping people learn more about your organization, or by making it hard to reach you, you are fostering mistrust – and it will cost you.”

On Design: What Does Red Mean?
“To confirm a message when you are building web apps, use a happy colour like green and reinforce good behaviour and build trust. Doing this also lets you save red for when you need it … to alert and alarm your users when they have done something, or are about to do something, they need to be aware of.”

A while back ago, I made an introductory post on AJAX and today I’ll go through a very basic example of an AJAX function.  I recommend you read over the Ajax Lesson 01, if you are not familiar with AJAX or need a good refresher. 

Have you ever created a new username (the page refreshes) only to find out your username has already been taken? Check out this input form below.

http://www.freshbooks.com/Developers/ajax/lesson02/ajax.html

If you input the username ‘daniel’ and click off the input form, you’ll get an alert pop-up that tells you the username has already been taken.  However, the page didn’t refresh when you entered the username.  Further more, the code did not contain any checks for the name ‘daniel’.  Instead the username was actually located in this text file:

http://www.freshbooks.com/Developers/ajax/lesson02/username.txt

Ok, I admit if this were a true AJAX example, the username would have been stored in XML.  For simplicity, this example will not use XML, will not have a lot of error checking, will not work on some browsers, but WILL be easier to follow.  I will go through a more complex example with all those bells and whistles in due time, but for now, a simple example.  The recommended background knowledge for this tutorial is intermediate HTML, JavaScript and some knowledge of object oriented programming.

Download Source Code Now

Step 1: Input Form.

Ajax Code 1

Ok, nothing too complex here for starters.  We have our standard input form, and when you change something in the input field it runs the function checkUsername and passes the URL location of where the text file is stored.

Step 2: XMLHttpRequest().

Ajax Code 2

XMLHttpRequest() is the object that allows you to access another URL without refreshing the page.  The first thing the checkUsername function does is create the object XMLHttpRequest().  Don’t worry about the ActiveXObject(”Msxml2.XMLHTTP”) object, it’s is just Microsoft’s equivalent to XMLHttpRequest() and is required for AJAX to work in IE6.

Step 3: Make the connection to the file.

Here’s the tricky part in AJAX and this is often where most people get confused.  In regular JavaScript, code is run line by line.  Normally, line by line execution would involve one line of code completing its job before proceeding to the next line.

Let’s use the example of accessing the text file I mentioned earlier, username.txt.  Regular access to an online file would involve waiting for confirmation that the connection was successful before proceeding to the next line of code.  This would mean that the user couldn’t interact with the web interface until accessing username.txt was completed.

AJAX works differently.  Remember that Ajax will allow us to access a username.txt without having to refresh the page.  As a result, the user can go about their business after invoking the Ajax function.  So what does this all mean?

The object XMLHttpRequest() which we called GlobalAjaxObject will allow you to run a separate process that will access ‘usernames.txt’.

Ajax Code 3

Looking at the code above, once the function ‘keepChecking’ is executed, the keepchecking() function will keep on checking the status of our attempts to access username.txt.  GlobalAjaxObject.readyState will increment from 0-4 based on the following: 0 un-initialized, 1 loading, 2 loaded, 3 interactive and 4 complete.

Once the state reaches 4, we can check the status.  Status ‘200’ means it was successful, and as you may have guessed, if the status was ‘404’ then the file would not be accessible.  Finally, GlobalAjaxObject.responseText takes the text from username.txt and we compare it to the username we supplied.  If the text entered into the form field is equal to the text in username.txt, then an alert box should pop-up.

There is a lot of missing error checks in my example, but that’s the price of simplicity.  More information on the XMLHttpRequest() object can be found here, which should explain all the different values for ‘.readyState’ and ‘.status’.  This tutorial was based on Bill Bercik and Eric Pascarello’s excellent AJAX tutorials.

Did you like this tutorial or did you find it totally confusing?  Let me know what you found confusing and I’ll definitely make some changes.  I’ll have another one coming up with more error-checking, XML, and more bells and whistles.  I’ll also show you some more complex examples which will allow you to access database information in real time so Stay Tuned!

Since there are a whopping 74 shopping days left, I thought now would be a good time for the handy types among you to start making your loved ones’ presents. Here are some ideas:

  • Operation: Thunder Table is a gift the whole family can enjoy: “a box that can dish out those punishing, chest-thumping tones, yet also function as an aesthetically pleasing coffee table”

Time-sensitive bonus links:

As usual, deets are on Paruba (thanks to Donna for the link to Blik). I’d love to know how you get on; should you chose to accept any of the above missions, please send me a picture and I’ll feature it in a future blog post.

Over-delivering, creating a remarkable experience…whatever you want to call it, many bloggers and good marketing minds are recommending you do this to make your small business stand out.

Seth Godin gives this advice to a marketing strategist who was considering lowering her prices:

I just got an angry note from Anna in the Midwest. She read one of my books, got the coupon for unlimited free consulting by email and decided to cash it in. She sent me a note asking me to persuade her bosses that the best way to grow their resort was to lower prices.

When I responded that perhaps she ought to consider raising prices and using the extra money to create a remarkable experience, she got really angry with me. Of course, I refunded her consulting fee. Actually gave her three times back what she paid…

Tara Hunt talks about California vs. Old World wine and makes a great comparison to the trend in software to take special care and craft your work:

Yeah. It’s only software. But, at one point, wine was only a beverage. Sustenance. I don’t know at which point it flipped to being an art form. I look forward to the day that our industry evolves from being ‘only software’ to being an art form (I think 37 Signals is one of those shops that is leading us there with their full-on integrity).

Or maybe it doesn’t matter whether software ever gets there. What matters is the attitude behind crafting it, which I think is well on its way, and the attitude behind delivering it up.

All I know is that my palette is ruined for ‘good enough’. I now, especially, want a world where everyone over-delivers and delights.

At first glance, this advice actually all seems very obvious and intuitive - “of course I want to take care in crafting my product” - “of course I want to surprise my customer with a remarkable experience” - but in the day to day business of building your product, your brand and marketing it, the over-delivering ideas can easily get lost and forgotten.  Good thing we have some thought leaders out there reminding us what is important.

What is FreshBooks?

FreshBooks is an online invoicing and time tracking service that helps professionals in over 100 countries save time, get paid faster, look professional and focus on what they love to do — their work. Read our 2007 customer survey results — 99% recommend FreshBooks. FreshBooks users are served by a tight-knit team of 17 dedicated individuals based in Toronto, Canada who've been at this since 2003.
Learn More or Sign Up For FREE

Get Blog Posts

 


FreshBooks is Hiring