Full Feed https://www.addedbytes.com/feeds/full/ en Web Development in Brighton - Added Bytes 2006 120 6 Reasons to Choose Magento https://www.addedbytes.com/blog/6-reasons-to-choose-magento/

1. Open Source!

Not everyone is familiar with what Open Source is, or why it is important for web development.

In the good-ole-days, you would contact a web development company and they would build you a website. Their code would be written from the ground up, entirely bespoke and custom for your requirements. And that's fine, except that most of your budget would be spent on things like payment processing integration, listing pages, shopping carts and so on. And, if you wanted to part ways with your chosen web dev company, you'd have to find someone new who would be willing to take over their system - if you were allowed to continue using it at all.

With Open Source, hundreds (sometimes thousands) of developers work together on a project, making the code available for free to anyone who wants to use it. It is maintained, managed, evolved and improved by those same developers. And that means you spend no money re-inventing the wheel, building another shopping cart or handling payments through Paypal. Instead of spending money on the basics, you can concentrate on building a site that appeals to your audience. And if you part ways with one Magento development company, any other Magento company can take over in a flash.

2. Multi-site, Single Install

Want to run four shops with the same product? Want to use different currencies on each one? Want to keep stock in sync across all of them? And want to do that without needing to build and maintain four different codebases? No problem, Magento does that out of the box.

3. Easy to Extend

Most platforms allow you to extend their functionality with modules, extensions or add-ons. Very few do it as well as Magento. Extensions work within their own "space" in the code of your site, meaning interference between extensions is rare. Extensions are easy to upgrade, enable, disable or hide, and most allow you to control who can access the extension within your admin area.

4. SEO-Friendly

All e-commerce systems need some modifications out of the box. That's inevitable - search engines are changing their algorithms and ranking criteria nearly constantly, and software takes time to update. But Magento starts very well indeed - decent URLs (with canonicalisation baked in), meta tag control, site maps, great template structure in the default themes, and even mobile friendly in the more recent versions. And if that's not enough, there are plenty of free and paid extensions you can grab to tweak every aspect of your site's SEO efforts.

5. Scalable

Most people don't intend for their e-commerce shop to stay the same size. The aim is always to grow the customer base, process more orders, pull in more traffic. But not every system grows micely or smoothly as your store increases in size. Magento is built to scale, and it does so brilliantly. You can start with a single server, and expand as you need to - another web server here, a load balancer there, and without any need to rewrite code or plan for hours or days of downtime.

6. Rich in Features

Magento includes a bewildering array of features out of the box, from an extensive access control system to email template management, content page editing, multiple currencies, tax zones, customer grouping and group discounts, flexible special offer pricing and a huge collection of payment providers, shipping methods and an extensive API. And what it doesn't support out of the box can be added through the excellent Magento Connect extension marketplace.

Tue, 25 Aug 2015 13:48:53 +0100 https://www.addedbytes.com/blog/6-reasons-to-choose-magento/ Dave Child
Chess - Algebraic Notation Cheat Sheet https://www.addedbytes.com/cheat-sheets/chess-algebraic-notation-cheat-sheet/ Overview

Chess - Algebraic Notation Cheat Sheet The Chess - Algebraic Notation cheat sheet is a one-page reference sheet for chess beginners, including the basics of chess notation and annotation.


This cheat sheet is available for free at Cheatography!

Tue, 18 Mar 2014 08:01:29 +0000 https://www.addedbytes.com/cheat-sheets/chess-algebraic-notation-cheat-sheet/ Dave Child
PHP Coding Standards Cheat Sheet https://www.addedbytes.com/cheat-sheets/php-coding-standards-cheat-sheet/ Overview

PHP Coding Standards Cheat Sheet The PHP Coding Standards Cheat Sheet is a reference for the current batch of PSR standards from the PHP-FIG standards group. At the time of writing, that includes PSR-0, PSR-1, PSR-2 and PSR-3.


The PHP Coding Standards Cheat Sheet is available for free at Cheatography!

Fri, 21 Feb 2014 12:29:39 +0000 https://www.addedbytes.com/cheat-sheets/php-coding-standards-cheat-sheet/ Dave Child
Cheatography Cheat Sheet https://www.addedbytes.com/cheat-sheets/cheatography-cheat-sheet/ Overview

Cheatography Cheat Sheet The Cheatography Cheat Sheet is a one-page reference sheet for Cheatography itself, showing the various types of blocks you can use in a cheat sheet, along with a few helpful tips and tricks.


The Cheatography Cheat Sheet is available for free at Cheatography!

Fri, 21 Feb 2014 09:37:11 +0000 https://www.addedbytes.com/cheat-sheets/cheatography-cheat-sheet/ Dave Child
Readability-Score.com Gets Some Love https://www.addedbytes.com/blog/readability-score.com-gets-some-love/ Way, way back in 2004, I wrote a piece of code to analyze the readability of text using the various algorithms that had been developed for the task. It grew in usage, and became an Open Source project and got its own website over the next few years. And then, it sat around, being useful but quiet.

Every so often I would take a look at the stats, modify a little piece of code, or actually use the tool myself. But more often than not, it didn't really venture into my thoughts, except briefly when some kind soul made a donation because the site was useful to them.

But that's no way to run a website, even if it is a small, single-purpose site. So, it's had some attention. Dinner and a movie, a quick fumble behind the bike sheds - usual sort of thing.

What's New?

One of the first changes that you might spot on the new site is addition of a great big "Premium" tab. Premium supporters pay a small amount every year (as much as they like) to help pay for the site. (They also get access to the new bulk processing feature - more info below.)

Next, Readability-Score.com now supports URLs. Instead of copying and pasting text from another site, you can just drop in the URL, and it will go off, fetch the page, process the text and give you a score for the readability of the page. You can specify a single portion of the page, if you want and if you're familiar with IDs in HTML, and it will just score that part of the page - good for helping prevent navigation and footer elements from skewing your text scores.

The site is also now served over HTTPS. Because why not.

There's now a quick and convenient bookmarklet, for sending the URL of the page you're browsing to Readability-Score.com.

Next, there is now a handy bulk processing feature, for people with lots of text or URLs to score. It takes a CSV, processes the text or URLs within it, and emails the results back to you. Bulk processing is only available to premium supporters at the moment.

It's had a small set of changes made to the codebase, thanks in part to fellow text statistics enthusiasts on GitHub. So it's now a little faster and a tiny bit more accurate. Though it still can't tell how many syllables there are in moped, and doesn't handle numbers particularly well.

Finally, everyone who has donated to Readability-Score in the last couple of years has been made a premium supporter and should have received an email with their login details; if you donated and haven't received your login, please let me know.

Tue, 11 Feb 2014 14:15:28 +0000 https://www.addedbytes.com/blog/readability-score.com-gets-some-love/ Dave Child
How to Correct Magento's Paypal Rounding Error https://www.addedbytes.com/blog/how-to-correct-magentos-paypal-rounding-error/ The Problem

Magento prices can be defined as inclusive of tax (which in the UK is 20% at the moment). If you want to calculate the price of a product, without that tax, sometimes the result is not a nice round number.

For example, if you are selling a product at £9.99, then the exact price without tax is £8.325.

Paypal, unfortunately, won't allow prices set to three decimal places. This, on the face of it, makes sense - you can't charge people fractions of pennies, after all.

Here's where the problem is, though - what price do you send to Paypal? If you round down, and send Paypal a price of £8.32, then when tax is added the customer is charged £9.98. If you round up to £8.33, Paypal adds tax and the customer is charged £10.00. Whatever you send, you can't get Paypal to charge the customer £9.99 including tax.

Whichever price you send, Paypal adds up the line items, sees that the total doesn't match the order total (which you send through separately), and rejects the order with a message saying "Transaction refused because of an invalid argument", "Item total is invalid" or "The totals of the cart item amounts do not match order amounts".

The Solution

There are a few approaches to this problem which revolve around changing how Magento sends its orders to Paypal. Many people choose to send all prices inclusive of VAT, to avoid the error entirely. Sometimes, though, that's just not possible.

My preferred solution is to modify the Paypal handler for Magento, tracking the missing pennies and adjusting the first order line item price to compensate for the offset.

The first step is to copy the Abstract.php file from app/code/core/Mage/Paypal/Model/Api/ to app/code/local/Mage/Paypal/Model/Api/. You can make these changes directly to the core file if you really have to, but it's not recommended. Find the _exportLineItems function (line 390 in my version) - this is what we're going to change.

Before the foreach ($items as $item) { (around line 412) add this:

$running_total = 0;

Before the $request[sprintf($privateFormat, $i)] = $value; (around line 423) add this:

if ($publicKey == 'amount') {
    $running_total += $value;

Before the return $result; (around line 427) add this:

// Check ITEMAMT. If different to running total, offset prices
if ((isset($request['ITEMAMT'])) && ($request['ITEMAMT'] > 0)) {
    if ($running_total <> (float) $request['ITEMAMT']) {
        $difference = ($running_total - (float) $request['ITEMAMT']);
        // Apply difference to first product.
        $request['L_AMT0'] = (string) ((float) $request['L_AMT0'] - $difference);

And that's it - Magento will now play nicely with rounding of tax when payments go through Paypal.

Sun, 25 Nov 2012 00:00:00 +0000 https://www.addedbytes.com/blog/how-to-correct-magentos-paypal-rounding-error/ Dave Child
The Key to Being Acquired By Yahoo https://www.addedbytes.com/blog/the-key-to-being-acquired-by-yahoo/ Many industry commentators have struggled to detect the rhyme or reason behind Yahoo's acquisition strategy. To some it appears more like Yahoo is picking up hot young startups, taking them back to it's bachelor pad, doing the wicked thing and then discarding them like yesterday's paper.

It's not unfair to say that Yahoo has not done brilliantly with some of its purchases. Exciting projects like Flickr, Delicious and GeoCities were all bought at their peak and then stagnated for years under the Yahoo umbrella.

I can at last reveal that I've discovered Yahoo's new method for deciding which startup to buy next: Scrabble scores.

That's right, Yahoo's recent purchases show a clear relationship between a company name's scrabble score and the likelihood that they are bought by Yahoo.

Not convinced? Let's review the evidence!

Bought By Yahoo

  • Qwiki: 21 points
  • Xobni: 14 points
  • Zimbra: 19 points
  • Kelkoo: 14 points
  • Flickr: 15 points
  • Tumblr: 10 points
  • GeoCities: 12 points
  • Delicious: 12 points

Not Bought By Yahoo

  • Meebo: 9 points
  • Taleo: 5 points
  • Siri: 4 points
  • Urchin: 8 points
  • Sendit: 7 points
  • Neolane: 7 points

Yahoo clearly have a cut-off - the company name must be worth 10 points or more. Tumblr only just scraped in (maybe it was sitting on a double word score?). So, when picking your new company name, make sure you add a couple of high value letters if you want to be certain of interest from Yahoo.

Thu, 04 Jul 2013 11:21:54 +0100 https://www.addedbytes.com/blog/the-key-to-being-acquired-by-yahoo/ Dave Child
Going Freelance - Cash Flow https://www.addedbytes.com/blog/going-freelance-cash-flow/ A comment from Michael on my Going Freelance: First Impressions post raised a great (and common) question, and one that I reckon most freelancers ask themselves when starting out: what if somebody doesn't pay, or pays late?

What is Cash Flow?

Your business, like any other (and even if you are a freelancer without an official limited company) takes money in in return for work, and spends money out in expenses, wages and so on. The money that comes in is based on the work you have completed, but more often than not there is a delay between finishing the work and being paid for it.

If the money isn't in the business to pay expenses and wages, you may find yourself out of business - even if you have taken on as much work as you could handle. You can be profitable on paper, but out of cash and out of business, just because cash wasn't coming in quickly enough. Having enough cash to pay your bills is referred to as being "liquid".

Woohoo! You Got a Gig!

Well done! Convincing somebody that you are the right person to take on a paid job is the first step on the road to successful freelancing. Now, what does that mean in terms of cash flow?

Most people will look at a project, and will base their forecasts on something like this. We'll assume this job is estimated to take one month - a good sized job, and starts on January 1st. The job finishes on time on February 1st, and the invoice is sent immediately. The client pays in good time, and the money is received on March 1st. Based on this, a freelancer just starting out will only need to cope for two months with no income - achievable with minimal savings.

This would be lovely, but it's often not how things work in practice. Let's look at how cash flow can go wrong. To begin with, we'll assume this project runs long for some reason - although the bulk of the work was complete in one month, the client finishes their copy after two months, and once the copy is in they request a few changes. The job is eventually signed off in mid-March. With 30 day terms, the invoice is due in mid-April. And the client pays late - initially because they didn't receive the invoice, and then because they were just slow to pay. After a few weeks of chasing, money arrives in late May.

Four, nearly five, months, from the project being agreed to money being received. That means, assuming this was your first gig, and you had two months of income saved up at the start, you'd be looking at surviving over two extra months with no income. For most people, surviving with no income isn't an option. So you're left with two choices - take out a loan, or give up and take a salary at a company. Neither is a great start to your freelancing career!

How Many People Pay Late

I've been asked several times how many invoices are paid late, or how many clients pay late. Unfortunately, there's no right answer. Some people go for years with no late payments. Some have a particularly bad period where everybody pays late.

In my experience so far, around:

  • 25% of clients pay invoices a week or more early (deposits especially)
  • 50% pay in the few days before the invoice due date
  • 20% pay within a couple of weeks after the due date
  • 5% pay later than a couple of weeks after the due date

My latest payment was three months overdue when paid. The fastest payment was under an hour.

How to Keep Your Cash Flowing

There are three ways (other than reducing your business expenses) to keeping your cash flow from being a problem:

  1. Make It Easy to Pay On Time
  2. Chase Late Payments
  3. Reducing the Impact of Late or Non Payers

Make It Easy to Pay On Time

Paying other people money is not something people look forward to. There is a financial incentive to delaying payment as long as possible (interest earned), and it might be sensible to keep money within your company as long as possible, in case a more important bill suddenly needs paying. With that in mind, it makes sense to make it as easy as possible for people to pay on time.

Bill in stages for large projects so you're not left with a single large payment outstanding at the end. Billing at the end of each month for work completed during the month is a good way to manage long projects. And it gives smaller invoices for your client to cope with. Paying a set of small invoices over time is easier on their cash flow than paying one large invoice.

Once an invoice is sent, chase it up within a few days to make sure it has been received. It is not unknown for unscrupulous people to claim to have never received an invoice to avoid paying for another few weeks. Confirming receipt of the invoice gives one less excuse for a payment to be late.

Many people incentivise or reward quick payment. Some people give a percentage discount if payment is received within a set number of days, for example. People's experiences with this are varied, but this post by Astrid, a freelance translator matches what I have heard from other freelancers - it may work for you and your clients, but there are risks.

Make sure you accept as many payment options as is practical. If your client finds it easiest to pay by cheque, that's fine. It might not be your preferred method, but if it means they pay on time, then let them do it. By the same token, if someone offers to pay early, always accept. There's nothing stopping you charging more later if needed, or refunding money if the project is under budget, but always opt to take the money when it's offered.

Chase Late Payments

This video, from Mike Monteiro and San Francisco Creative Mornings, offers one (NSFW, language) perspective:

Chasing overdue payments can be time-consuming and stressful, but it is inevitable. Everybody handles it differently, and there is a lot to consider.

First, establish whether this is a client you want to do business with in future. Some businesses have cash flow problems themselves, but that doesn't mean they can't be a valuable client later. On the other hand, if the project has not been great for either party, you might not want to work with them again.

Some people advocate contact every day once a payment is late, ideally by phone. I tend to adopt a slightly less aggressive approach - I send a chasing email once a payment goes late, and then chase regularly every few days from there by email and phone. If I don't hear back, I will continue to keep contacting until I do. If I do hear back, then the next stages are dependent upon the client response. If not, and it's been a few weeks, I'll send recorded delivery post, and if necessary begin the paperwork for small claims court.

If the client is in contact, that's a good sign. You need to start worrying when they're avoiding you - the fact they're speaking to you indicates that they are likely to be willing to pay. Try to work out why the payment is late, if possible. If the client is having cash flow problems, you are probably not the only person chasing them, and you may find that offering a payment schedule is the best way to get the bill resolved. This kind of friendly approach may win you loyalty from your customer, and you might find that, once they are over this particular tough patch, they are a great client.

Some companies will tell you they have "45 day payment terms" or "60 day payment terms". You should have your payment terms clearly outlined in your proposals, your contracts and your invoices - and the terms they would like to pay on are irrelevant - the terms agreed in proposals and invoices are what matters. If they pay late, by the terms agreed, you can chase payment and, if appropriate, invoke penalty charges or clauses. If you didn't agree payment terms before starting, you're pretty much stuck with their standard policy.

If the client is refusing to pay, and you have delivered what was agreed, your position is tougher. At this point, you first need to establish whether it is worth chasing payment at all. There is no sense wasting days of time if there is only a small amount owed.

If you have tried to resolve the issue and got nowhere, look at your legal options. In the UK, for amounts under £10k, you can use the small claims court, which is a great, cheap option (no lawyer required) (there's a great guide to using the small claims court here). As long as you can demonstrate you have delivered what was agreed, and that you have tried to resolve the issue without resorting to court, you will likely find the court siding with you.

Unfortunately, that isn't the end of the story. The judge may not award you the full amount you have asked for. The client may still be unable to pay. And the client may still refuse to pay, at which point you will need to obtain a warrant of execution to recover goods to the value of the money owed. Between this, the initial court fees, and the time involved in chasing, you can easily end up out of pocket even if you win.

Reducing the Impact of Late or Non Payers

Some people won't pay. Some people will pay late. Some will delay for months over trivial amounts of money. Some will attempt to find excuses not to pay. These are unavoidable, but there is plenty you can do to ensure that any damage caused by late payments is kept to a minimum.

Consider getting a credit report on clients before starting work. Many people do this as standard, and pay a flat fee for the ability to do so. It's not something I've done so far, but I would do it for a client where a failed payment meant the end of my business.

Make sure you have enough cash reserves to cope with a few months of waiting. Expect people to pay late and prepare for it. If you only have enough cash reserves to cope with one payment being a week or two late, you don't have enough cash reserves. Make it a priority to build up enough of a cushion to cope with as much as you are comfortable with. Enough money to cope with at least three months with no income would be sensible.

Always ask for a deposit before starting work. I usually ask for 30%-50% in advance, except for small projects or overseas projects, where I ask for full payment in advance. This weeds out the time-wasters pretty quickly. You will find that sometimes there is a lot of pressure to start a job before the deposit is paid, and it is up to you to decide whether to do so. I have done, for time-sensitive projects, but try not to unless unavoidable. If the deposit invoice goes overdue, you may have a serious problem - I won't continue a project until that deposit is paid, and would happily insist on a further deposit also being paid in that situation. And if the client ultimately doesn't pay their final invoice on time, or at all, then you are not left having earned nothing for the work.

Add a provision for penalty charges for late payments to your estimates, contracts and invoices. Even if you never actually charge it, it is a good bargaining tool once a payment is late. The penalty charge should include a percentage fee charged on a regular basis, so that the longer the money is owed, the more the penalty. Charging a single, fixed-price penalty is only of limited use, as once it is applied there is nothing to stop the payment being delayed even further.

Finally, and perhaps most importantly, you can spread your risk by taking smaller jobs with more clients. If you have just one client, you're at much greater risk if they have trouble. If you have several, you should be able to cope better with one or two paying late (or not at all).

My approach to this last point is to differentiate between projects (work which is more than 2 days) from small jobs and maintenance work. I book in project work based on a three day week (so a 15 day project is delivered over 5 weeks). The other two days I can spend on the smaller pieces of work or my own projects. This means that even with a larger project I am still billing smaller jobs frequently. As a result of this I can also cope better with projects taking longer than expected, as I can have two projects on the go at the same time - something I couldn't do if I based projects on a five day week.

Back to Michael

Michael's comment was pretty typical of the fears most freelancers have about getting started. The beginning is stressful, and with no guarantees of rewards. But with some decent planning, a bit of hard work and some careful money management, it's all quite manageable. And while I can't speak for everyone, for me it's been worth it in every meaningful way - six months in I am happier, financially better off, working with interesting clients on interesting projects, and able to spend more time with my family, all at the same time.

Fri, 03 May 2013 10:43:46 +0100 https://www.addedbytes.com/blog/going-freelance-cash-flow/ Dave Child
Poker Cheat Sheet https://www.addedbytes.com/cheat-sheets/poker-cheat-sheet/ Overview

The Poker cheat sheet is a one-page reference sheet for beginner poker players, including how to play the three most common variants, hand ranks, and basic positional play.


This cheat sheet is available for free at Cheatography!

Tue, 02 Apr 2013 16:23:00 +0100 https://www.addedbytes.com/cheat-sheets/poker-cheat-sheet/ Dave Child
Freelancing with a Newborn - A Survivor's Guide https://www.addedbytes.com/blog/freelancing-with-a-newborn-a-survivors-guide/ Having a little gremlin that insists on being fed after midnight added to the mix when you're freelancing brings along a whole new set of challenges. Having only been working for myself for six months, perhaps this meant it was easier for me to adjust - fewer routines to break. Perhaps not, as I still have plenty of inefficiency in my working processes. Either way, these are a few of the things that have made my life as a work-from-home developer a bit easier.

This is inevitably going to be focused on male developers, because this is all from my own experience. Also, some of these tips and thoughts relate to being a new dad in general and aren't specific to being a freelancer.

Before we get started, let me introduce you to the newest member of the Added Bytes family. He screams, he poops, he smiles with his whole head and he's awesome. He's Henry:

Mr Noisy in his Mr Noisy top, making a noise.

1. Write Down Everything

As a developer, you probably (hopefully) have a pretty good memory and are used to keeping lots of threads on the go at once. When a baby arrives, that's going to change, at least to begin with. By my reckoning, I lost a third of my memory to sleep deprivation, and a third which was instead occupied by baby-related thought.

The solution for me was to write down everything. Everything. No matter how mundane. Took some paracetamol? Write down the time. Going to the shop to pick up a loaf of bread, and nothing else - write a very short shopping list. Client phoned up for a simple, easy-to-remember change? Write it down. Making notes now? Make a note to remind yourself to do it.

2. Take Time Off

My main responsibility right at the start was to look after my significant other. Dishes, laundry, fetching her water or juice, making food, making more food, making something to eat, buying food, cooking ... all of these things were my world. Clients, at the very start at least, have to take a back seat. The more stressed the mother gets, the more stressed baby is likely to get, especially if she is feeding the baby. A stressed baby makes for a stressed mother, and you'll quickly get yourself into a vicious cycle.

I've been able to grab a few minutes a day to reply to emails, just to say I'm not really around but I received the message, with a very broad idea of when I'll be back to work. I also planned ahead and booked in a minimal amount of work around the due date. That means I've not had to worry about client management or hitting billing targets.

3. Sleep When You Can

Remember how I said it's your job to look after the new mother? That also means it's important she gets plenty of sleep. You might have to man up for a while and do without sleep, but don't worry, your turn will come. That also makes it important, at the start, to grab sleep when you have the opportunity, even if it's in the middle of the day. Make a bedroom into a dark-all-day room that you can both crash in when you have a moment.

4. Have Awesome Clients

This may be out of your hands a little, but life becomes very unpredictable with a newborn, so having clients that are understanding is very handy. Phone calls with screaming in the background, late starts after bad nights and even a few short-notice cancellations of meetings are all to be expected, after all, and most clients will be fine with this, especially if you prepare them well in advance. By the same token, they aren't going to be too happy if you agree to deliver a critical project in a short timeframe around the due date and are then unable to do so - after all, you did know disruption was very likely.

5. Be Flexible

It's been a few weeks now, and I've found a routine that is working for me. I start early (6am usually), and work till 8 or 10 at night. I take Henry for an hour or so in the morning, spend an extended lunchtime with my other half and son, and take a couple of long breaks at other points in the day. Inevitably Henry has some times when he needs to be heard, so I usually down tools for a while and help with him then as well. So for a 14-16 hour start-to-finish workday, I actually work for anything from 8-12 of those hours. It's a good balance - the breaks help keep me fresh, I get to spend time with my family (which, after all, is the whole point), and I get enough good working time to keep on top of work.

I tried a few other approaches, but they all led to either not spending enough time working, or being unable to be any use when actually needed to help with Henry. Flexibility was the key, although the downside is that it's difficult to feel like you're ever not working if you're working so much! This will improve, with any luck, as Henry develops his own routines.

Not So Good

I heard and had a few ideas that I tried and that didn't work so well. Working with Henry in my office has been a mixed bag. He has a little bouncy chair he sits in, but he gets agitated after a while and needs attention. It's great having him with me for a short period, but not more than half an hour at a time.

I also tried keeping strict office hours. That was great for preventing work spilling over into the evenings, but meant that I missed out on anything interesting happening in the day. I found that approach just too inflexible (and keeping hours that suit my working patterns was one of the benefits of going freelance).

One of the biggest mistakes we made early on was trying to do too much in a day. Visiting too many people, or taking him out too long, or playing music with him for too long, all resulted in an unsettled baby for the rest of the day, and often the following night.

What Next?

As Henry grows, his needs and the challenges of working from home will change. Once he can walk, and open my office door, it's a whole different ball game.

A few people have suggested renting out an office or a desk somewhere. The idea is tempting but not something I want to do yet. If working from home becomes unproductive (and it might well do as Henry gets older, or is joined by another bundle) then an office space makes a lot of sense. It's probably inevitable at some point. For now, I'm loving being at home and involved.

For now, though, freelancing and working from home with a newborn is a great experience, and one I'd recommend to anyone starting a family.

Thu, 04 Apr 2013 13:57:00 +0100 https://www.addedbytes.com/blog/freelancing-with-a-newborn-a-survivors-guide/ Dave Child