For the Pen & Notebook Lover In Your Life ...
... the perfect gift.
Web developer with a preference for Ruby on Rails
... the perfect gift.
.. are you being productive with the work tools you have?
On a day to day basis I'm providing a service to my clients based on the programming languages I use. In time though these programming languages will fall out of favour with clients and I'll no longer be attractive as a freelance service. What can I do to change this?
My one year old son Drew is trouble. I thought my oldest son who is now seven was trouble, but he's nothing compared to the mayhem that is his younger brother. Drew loves exploring round the house, hiding in corners and inevitably getting himself into trouble. If there's something he wants within his reach, he'll try and get it. Now I could move everything that he shouldn't be touching out of his reach but that just isn't possible in our house. We still have to live. So for the moment, we'll put up with Drew's antics until he is older to recognise right and wrong.
Watching him running around the house and raiding cupboards, drawers, my desk and anywhere else he can reach is nothing more than him exploring his environment. It's healthy for him to do this. He's a growing toddler. I wouldn't expect anything less from him.
As I watch though I realise he's doing something. In each case he'll try and grab something he wants. When we tell him no, he runs off and tries to find something else. When we say he can have what he is trying to grab, his faces lights up as he's found some new artefact that he hasn't seen before. It's exploring on a micro scale. It's his way of testing the boundaries. He doesn't know what is right and wrong and so he tries in his own way to see what he can and can't get. It's a hit and miss method for him.
As a freelancer I have a small number of services that I offer based on the trend of safe technology that is available in software development. I work with Ruby for a number of reasons. It's become a popular language with many markets and their's plenty of work out there for those looking for it. In a career where the technology landscape changes on a yearly basis , should I be banking on this safe language for the future?
Ruby was the last language that I invested anytime in. Back when I first read about it during my .NET days I was in fact reading about this new framework called Ruby on Rails. I think I first read about Rails in 2005 but it would be another three years before I decided to start learning about the Rails framework and in turn the Ruby language. Since then I've rarely invested any time in learning a new programming language other than the fringe languages and frameworks that are part of the Ruby and Rails communities.
The reason I haven't done this since then is that I don't want to waste time investing in a programming language that doesn't start to become mainstream. Why be afraid of investing some time in a new programming language though? The technology world changes on such a fast pace that it's impossible to predict when that next killer language will appear.
Just like my son though I need to start testing my own boundaries and explore the programming language world around me. It will be a hit and miss experiment for sure. Over time though, I should have invested enough time to familiarise my self with a number of different languages. It's at this point I can then decide if any of these languages are right for me to consider as an extra service that I can offer to clients.
It's been far too long a time not exploring another programming languages. It's definitely time to test my boundaries and see what is happening out there. Sticking to a safe programming language is easy to do, but there will come a point in time where I will need to pick up a new programming language out of necessity rather than choice. It's at this point where I would like to have the experience of already picking up new programming languages and reducing the friction in learning it.
Start here with Nicholas Bate's summary to building a better business.
Too many beautiful bikes here to recommend one.
Nice to see a few rigid singlespeed steeds in there.
A nice reminder from Productivityist that apps are tools just like other tools and need to be revised every now and again to see if they are working for you.
Working as a freelancer doesn't offer the flexibility that I first thought it would, but is that a bad thing?
I've been freelancing for over a year now. It's been a great journey so far and long may it continue, but when people ask me if I have more flexibility in my hours, they react with surprise when I say no.
When I first wanted to freelance, one of the benefits that drew me to it was the fact that I would dictate my hours as I would see fit. I would work when it suited me the most. If I wanted to work in the morning then I would. I could take the afternoon off and then do more work in the evening. That's not how it has worked out for me though.
I work four days a week doing client work. Typically my day runs from 9am to 5pm with maybe an hour or two extra done at night if needed. Sounds like your typical work day right? Well that's largely in part due to the fact that is the hours that my clients work. They have typical work hours like most other people so it suits everyone if I work to the same hours as well.
The flexibility doesn't then come from the hours that I work then, it comes from the fact that I work at home. I can do the school run in the morning and the afternoon as well as be home for deliveries coming to the house, giving trades people access for repairs and decorating when the need arises and because I am already at home, I can use my work hour more productively by running a few errands during my lunch break when I need to.
To a degree freelancing does offer me more flexibility. I work the days that I want to and take time off as needed, however it isn't the flexible career that I first thought it was going to be. Yes it is flexible, but only in the fact that I can do a few more things extra in the day as I work from home. Work hours wise though, I'm not much better off than many others but that isn't a bad thing. Keeping to a working day means that I've got time for the family when it comes to the evening and the weekend.
When I first started blogging I thought I could simply keep on writing and the ideas would come. For a while they did and I would keep future ideas on a backlog so that I could return to them another day. Now though it seems that those ideas are not coming as fast as they did in the past. It took me a while to realise what the problem was.
My problem was that I set myself the goal of publishing more often than I could write. Yes I could publish small posts that required little effort but is that what I want to do? Minimum effort? I won't learn anything from just simply firing out a barrage of poorly written blog posts.
What I want to do is improve my writing. That means spending more time writing, editing and proof reading. I want to review my writing a few times to ensure that I am completely happy with it. This takes time, not a lot of time but definitely more than the time it takes me to write a small blog post.
Writing takes time. Good writing I mean. The kind of writing where you write a draft more than once. You sweat over the little things like word choice and grammar. You spend time on each paragraph, sentence or even word.
Writing does take time, but the rewards of better writing far out weigh that of those hasty blog posts that I used to write. It's taken me a while to learn this but it's came at a good time. I'm hoping that this is a time where I can improve on my writing over the next few months.
We'll just need to wait and see.
Nicholas Bate has the balance in productivity.

via FGGT
Three pounds got me a tea and hot roll this morning from my local cafe. A pot of tea which should give me three decent cups of tea and a toasted flatbread with sausage. A little bit upmarket when you consider this is a cafe in the West of Scotland but also good value when you consider that it's not your usual greasy spoon morning roll with a slice of cheap meat thrown in. Good value I think you would agree. I get enough fuel to see me through to lunchtime and enough tea to keep me working for at least two hours.
What about value on the Internet though? What determines value in the products and services that we buy but are nothing more than bytes that exist in the Internet?
Five dollars is a common price point for many products and services. Evernote offers extra bandwidth for synchronising data for this amount, Github offers a private repository for the same amount and you can follow more people on App.net for, yes you guessed it, five dollars. It's a common price for many services but the variety of value differs from product to product.
There is a trend on the Internet when it comes to services and value. The older the service, the more value you get. It's not true in every case, but it's certainly applicable to many.
Take Evernote for example. Back when I first took an Evernote subscription the added value I got from it was mainly their offline notebooks and extra bandwidth for synchronising my data contained in Evernote. Now though, Evernote offers collaboration, extra security, presentation and even other premium features from their other apps. Good value if you use these on a monthly basis.
Let's look at App.net now. Out of the box a free account gives you great value including the ability to use their Passport application and follow up to 40 people. On top of that you get 500MB of storage on their platform. For an extra five dollars a month you can follow as many people as you like and also get an extra 500MB of storage taking you to 1GB. Right okay, not the range of extra value that Evernote offers but it is value. App.net is young though and in time they may offer more to its paying customers to encourage free customers to upgrade.
The trouble with comparing these services and more is that there's usually only a handful of great services in each market. Comparing services from different markets isn't going to work. It's not fair to say that Evernote offers more value than App.net but in terms of a basic feature count, yes it offers more, but it depends on person to person what features they use.
For many of us that use the Internet on a daily basis though, we live in a time where five dollars is nothing. It's a fancy coffee or even breakfast. I don't think five dollars to me is a lot of money to pay for a serivce online for a month. Even the most basic service is worth paying for.
If it provides value to you as a consumer then why not?
What's the minimum you would pay for extra features and value from a service?
Also does that price change depending on the important of the service you are using. Would a service critical to your business warrant a larger minimum price so that it continues to support your business?
Yesterday I decided to pull the plug on the Netterpress newsletter. Saying no to your own ideas is difficult to do. You want it to grow. You want it to succeed. It doesn't always end up this way though. The journey to a successful product is hard work and needs a significant amount of effort. After working on Netterpress for over a month it was clear that it wasn't something that was worth doing given the amount of money that was coming in from initial subscribers. This wasn't the only problem though.
App.net is still a small community when compared to other well known social networks but it shouldn't be pushed aside for its size though. There's still a fair amount of daily interaction that goes on here and it is growing on a daily basis. It can't be compared to the millions of users that other networks can and that restricts the number of potential customers that a premium newsletter like Netterpress can have.
I was buoyant about the newsletter when I first wrote about the idea, but when I unveiled the sign up page and price, the take up for it was low. The number of interested subscribers just wasn't there. With a bigger network, there may have been more of an interest, but App.net being a small community means that there just isn't enough people there interested in the newsletter.
I had a plan at the start which involved finding content to put in the newsletter from a number of sources. The first was to follow a number of developer accounts for apps on App.net and a few other accounts that would give me news on app updates and changes to App.net.
The problem with this is anyone else on App.net can follow these accounts and get the same news for free. I was counting on the fact that I would do the leg work in correlating the news and updates from a number of different accounts and present them in one easy to read list.
Another plan I had for finding content was the use of hashtags that people could include in their posts if they want a post with a link to feature in a newsletter. Unfortunately this idea wasn't conveyed as well as I could have and was never used in the entire time that Netterpress ran.
The last strategy I used for finding content was the use of saved searches in the Felix app on my iPad. I setup a number of saved searches within the app and checked them on a daily basis. Some content for the newsletter came through this way but it wasn't the flood of newsletter content that I was hoping for.
Most of the content for the newsletter came from spending a few minutes each day searching links in my own timeline and the timeline for the Netterpress account. It was time consuming and certainly wasn't an efficient method.
One thing I took away from the experience of running the newsletter was that it is a time consuming task. I now have new found respect for those people that curate content for the benefit of others, whether they run a newsletter, a blog or even a magazine. Publishing a periodical for others to read is hard work and it needs a lot of time and thought.
You can get so far by automating the curation process but it still needs a final check to confirm that the final content is okay for the newsletter. Although I didn't get the entire process automated, the curation process for one part of the newsletter was almost fully automated but it did need a last check before publishing the newsletter.
The newsletter itself is not dead however. Shortly after announcing the retirement of the newsletter, I received an email from another App.net member who wishes takeover the newsletter and publish it on a more irregular schedule for free. I'm in the process of migrating over the assets of Netterpres including the account the subscribers that have allowed their email address to be given to the new owner.
It's good that the newsletter will in fact live on, but it wasn't a viable product during it's first run. This might change with a new owner and perhaps making it free for a while will get enough subscribers so that one day it could eventually pay for itself in some way.
I'm done with this idea though. It's time to sit back for a few days and catch up on reading, writing and code. Another idea will come along soon and when it does, I will start the process of evaluating it as a product all over again.
I'm coming to the end of a project with a client. In the past I would have made sure the client was happy, closed the project off and collected the rest of my fee for the work. So would many freelancers. The work is done, you're done. Right? Maybe not.
Over the last few months a number of projects have been started and finished with the same client. This has led to a familiarity that is great for day to day communication, but as a working team we have become complacent in the work we are doing and there is clearly room for improvement in how we work together to finish each project.
In an agile team, frequent retrospectives are used to find out what's working for the team, what isn't and areas where the team can improve. It's a time of reflection. As part of a my pledge to deliver a professional service, I'm am now going to give a retrospective for each project that I finish with a client.
Essentially it's a report of three areas. Developers will recognize the questions as they are the same questions asked when an agile team gets together for their own retrospective. So why not apply the same idea to client work as well?
Admitting where a project went wrong can be difficult for all concerned. It's not a finger-pointing exercise though. If you think I'm picking at your faults, then you're probably not the type of client I want to work with. We're simply trying to isolate the problems areas so that we can change them for the better.
Highlighting where a project went well is important for any future work I do with a client. This is often over looked and we should never just think the work that is done on time and within budget is okay. If work is carried out within these constraints, then recognising that success is a great area to start for future projects. I want to build on a set of good practices that we both recognise so that future projects become easier to do.
We found out where we went wrong from the first question, but is there something we can do to fix this for future projects? If we are to continue working together, then it would benefit everyone if we could gradually improve on projects in the past. Less bumps on the road means projects can be finished to a higher quality, on schedule and with-in our agreed budget. Who doesn't want to work like that?
I have a first retrospective coming up in the next couple of weeks, and I've already collected a number of different observations from the project where both myself and the client could improve. Not all clients will be happy to read the retrospective or even take any advice from it. That's okay, it's their choice. For those clients that want to improve on future projects when working with me, I'll be more than happy to help them resolve problems from the retrospective and suggest recommendations for future projects with them.
The project doesn't end with the last commit or deploy, it ends when I've exceeded the expectations of the client and helped them get the most from our time together working on a project.
Marketing your product online has one bad rule. It's not a rule so much as a practice. Whether it's good or bad, I'll leave down to you to decide. Here it is.
In order to market your product effectively online, you at least need a presence on each of the major social networks.
I'm talking social network accounts here. Google+, Facebook and Twitter. Without a doubt the most popular networks out there, and if you want to market your product you need an account for each of these networks so that you have an outlet for your product. I'm aware that you don't need to be sitting on these accounts on a daily basis to monitor it, but it does require some maintenance. And that's my problem. Why do you need to have an account in these networks just to market your goods? Is there an alternative?
There is and it's probably been staring you in the face since you sat down at your desk this morning with your coffee.
It's email.
Long forgotten as the first popular form of sharing content, email has been increasingly replaced by social network forms of communications. It is one of the last remaining forms of open communication that just works. You can send a message to anyone providing you know their email address. It doesn't matter which email service you use, which client you use or even if it's self-hosted. Email just works and it cuts across the borders of social networks easily. Straight to the people that matter. The people who buy and could potentially buy your product.
You might be able to reach more people by managing a separate account on each network, but do you have time for that? I sure as hell don't.
Lately I've seen a resurgence in the use of email by others to market their products and services. Newsletters are an increasingly great way to market your product to others. Letting people know of changes and offers in your product keeps your customers up to date. A call to action at the end of the email is also a great way to encourage potential customers to check out your product or even buy your product.
The best thing about it though is that it's already there.
Waiting to be used. Marketing your product starts with an email to the right person. Sometimes that's all that's needed to start selling your product.
A reminder from Michael Wade that we need log our day as it happens.
How else are you going to see where your time has gone?
A reminder from Carl Holscher that opinions on everything aren't a necessity.
For the last couple of days I've been trying to resolve a bug in an application I'm writing for a client. As I was testing and re-writing the component a first time, a thought jumped into my head, "I' shouldn't be doing it this way. It feels wrong".
A second re-write later to the component backed by tests and my conclusions were correct, I was doing it wrong. It's hard to explain if you're not a developer, so I won't go into the details, but it boils down to best practices. I initially implemented this component one way when I should have implemented it another way. It's taken me a bit longer to get there, but get there I did.
Should I be hard on myself at the fact that I didn't think of this initially? I don't think so. It's easy to be pointed in the right direction when you're part of a team with a shared pool of knowledge. When you're working on your own, you can't be always switched on to the best practices for everything that you do. Practice it enough though and it will stick eventually.
Remember having a start page? I do.
Everytime I would open my browser, I would be faced with a billboard of widgets that funnelled in data from different sources and displayed them all on the one screen. It was beautiful. Before RSS readers took off, the start page was the go to place for all your news.
I remember my first start page, the Google Personalised Homepage. It was great. All my important feeds on the one screen. Everything I wanted to read for the day in one place. Gradually this evolved over time into iGoogle and with it came changeable backgrounds, widgets created by Google and thousands of widgets created by others. It went to a tabbed page so that you could setup multiple tabs on your homepage. Now you could categorise widgets and cram more data into your home page and you wouldn't need to scroll down to view those widgets, you just clicked on a different part of the screen (yes, I'm failing to see the convenience in this too).
Along came time based backgrounds. These were backgrounds that would change over the course of the day. Now you didn't need to see the same thing in your background all through the day, it would change as the day went on. You could only see this if the you didn't have a screen crammed full of widgets.
I even tried Netvibes for a brief spell and while it as fun to try something different, I went back to using iGoogle after not using it for a week. It was just too familiar and easy to use. Also I had invested time in getting the start page setup exactly as I wanted it.
All good things come to an end though and sadly last year, Google pulled the plug on iGoogle. Online trends have moved on from start pages. Most people now open social media clients as their first port of call for the day or maybe they go straight to their favourite news site to catch up. Only the insane try and start the day by opening their inbox.
Only a few services remain now that offer the start page experience, but I don't see the benefit in using them now. There's too much data out there for me to consume, certainly too much to fit on iGoogle regardless of how many tabs you have on the page.
Feedbin is my new start page now with a greater focus on curated content rather than just letting any old thing in. It has multiple feeds in it like my start page had, but it's better at letting me choose what I want to read and that's more important now.
We IT folk love having backups of data, but what about backups of ourselves?
Carl Holscher describes more.
Yesterday I got a hold of my credit card statement. This is the statement for the credit card that I use for my freelance business. Web services, hosting, e-books and subscriptions all go on it. It's not wildy extravagant. Last month I spent just under £100 on products and services for my freelance business. I can definitely cut back on a couple of services I subscribe to and choose lower pricing plans, but there's another area where I can make savings.
Each month I pay a small amount to subscribe to a number of different services. For most of these services I'm happy to pay the monthly amount. It's always under £10 with the exception of one. Not a lot of money, but over the course of the year those add up.
Where I'm not saving money is paying the monthly subscription amount for these services rather than the annual amount. Most online products and services offer an annual discount that means you pay less for that service over the year. You do however have to pay for the annual service up front.
As I'm trying to keep a reign on my spending, I would love to switch to paying a once annual amount for these services, but with there being a handful that I can do this with, I'd rather not do it all in the one month. It would just cost too much money in the one month.
The alternative then is to stagger annual service subscriptions. Starting in April, I'm going to switch one service a month over to an annual subscription in order to save a bit more money. I'm already using these services on a monthly basis and have done for the last two years. I'm a regular payer and will continue to do so, so why not subscribe for a year and save myself some more money?
Making annual payments for products and services will increase my monthly spending for my business at first, but over the rest of the year, I'll see my monthly spending do down. There's a couple of trade-offs with this plan.
The first is that I'll be tied into that service for a longer period of time, but it's a trade-off I can live with. I've used the services I'm committing to for a few years now and I don't see me wanting to change in the next year at least.
The second is that my monthly spending projection will be hard to track given that some months will have larger one off payments. It's not a major inconvenience but I have been so used to maintaining a monthly amount that has been consistent for the last year.
Switching to annual plans for services is a difficult choice. I suggest that you only consider those services that are critical to your business and also offer a discount over paying monthly. You might only save yourself a small amount on one service, but across a handful of services you could be saving yourself a lot more. Definitely something worth thinking about.

via FGGT
As nice as this desk is from Stir, it is way out of my price league.