Remembering Why – Part 2

Horizon

Some time ago I wrote a blog post on remembering why I got into developing web applications in the first place. At the time I was struggling to find my focus as a developer. I’m happy to report that since then I have (more or less) figured that out.

I’ve since realised that one of my problems is that when I started out, I didn’t have a vision, mission statement or personal creed for why I wanted to do what I am doing. I just knew that I wanted to do it. Being on my own I didn’t think of such things, I tend to just rush in where angels fear to tread and then figure it out as I go along.

Today I was introduced to the Automattic creed and I was blown out of my socks. It really resonated with me, as every point in the creed is something that I believe in, a reason why I became a web developer and why I support and believe in open source as more than just a decision on software licensing. So, going into 2017 I am going to remind myself of this as much as possible.

Here is the Automattic creed:

I will never stop learning. I won’t just work on things that are assigned to me. I know there’s no such thing as a status quo. I will build our business sustainably through passionate and loyal customers. I will never pass up an opportunity to help out a colleague, and I’ll remember the days before I knew everything. I am more motivated by impact than money, and I know that Open Source is one of the most powerful ideas of our generation. I will communicate as much as possible, because it’s the oxygen of a distributed company. I am in a marathon, not a sprint, and no matter how far away the goal is, the only way to get there is by putting one foot in front of another every day. Given time, there is no problem that’s insurmountable.

That’s pretty powerful stuff!

Turn any button into an Add to Cart button

Turn any button into an add to cart button

The thing I love about blogging about WordPress is how many great questions come out of the comments of previous blogs.

Today, on my post on ‘Adding the cart button to your shop pages in Divi‘, I was asked the following:

I am trying to put an Add-to-cart button in the main Divi slider. Now Divi slider only gives an option to input a URL for the default slider button. But i was wondering is there a way to modify that button and convert it into a WooCommerce AddtoCart button?

So, there’s no way to make a slider button (or any other button for that matter) an add to cart button. But what you can do is replicate the Add to Cart functionality on any button by entering the right url.

What a lot of people don’t know is that all the Divi add to cart buttons are doing is performing the add to cart action behind the scenes. To add a product to your cart all you need to do is pass a a variable called ‘add-to-cart’ with a value that is the id of a product and WooCommerce will add that product to your cart.

So lets say your site url is http://www.myawesomeshop.com/. To turn that url into an add to cart url you just need to add ?add-to-cart=[ID] to the end of it, where [ID] is the id of the product you want the customer to add to their cart.

http://www.myawesomeshop.com/?add-to-cart=[ID]

If you aren’t sure what the product id is, just look at any product. It’s the value that appears next to ID when you hover over a product. If you edit a product, its the value for post that appears in the address bar

http://www.myawesomeshop.com/wp-admin/post.php?post=[ID]&action=edit

Also, make sure you include the trailing slash at the end of the site url, otherwise things won’t work.

So that’s it, append ?add-to-cart=[ID] to the end of your site url ( don’t forget the trailing slash ) and turn any url into an ‘add to cart’ url.

Happy Diviing.

 

Codeable Review – October 2016

work-review

October marks my second month at Codeable. My first month was very quiet, mostly because I was still busy with other things in September, including WordCamp. I also took my time getting into the Codeable process, commenting on only a few smaller tasks. I closed my first small task mid October, so I’m considering October as my first official month as a Codeable developer.

It should be noted that due to my other commitments I only have an average of about 20 WordPress development hours available in a week, which I try to split between plugin development, blogging and Codeable work. This means I tend to focus on smaller projects that don’t require my time for longer than about 4 – 6 hours a day, unless the deadline is very flexible.

Fellow Codeable expert, WordCamp speaker and all around nice guy Nathan Ello believes “transparency trumps secrecy” and I tend to agree with him. With that in mind, below you will find my income and client reviews from Codeable for the month of October.

Show me the money

First, a quick calculation. Based on the minimum number of hours I have available for Codeable development (4) and the Codeable minimum suggested hourly rate of $60, I am aiming to earn about $720 per week or about $2800 per month. For some this may not be much, but for my situation it is an acceptable amount (for now). I am also basing my income for the month on the amount I can withdraw on the 25th of that month, so any project I get hired for during or after that day, or that gets paid out after that date, gets moved into the following month.

So how did October go? To be honest it wasnt amazing, but I am happy with it. I’m already on a good path to more than double my October income in November and I’ve more or less figured out a good balance between Codeable work and my other ventures.

My total Codeable income for October is $504.50. Now as you will agree that’s only about a quarter of my target amount above, but I really only closed those projects in the last week of October. I was also hired for a task of about $1000 in October that is still ongoing and I have another project of a little over $1000 lined up for November. So November is already close to my target within the first week.

Happiness report

More important than the money is how my clients view my work. As I don’t have a lot of closed tasks for October I don’t have a huge amount of reviews on my profile, but those that I do have are very positive.

“Jonathan is The Best! Very knowledgeable and Very Professional. He is the right man for all Tasks. Glad to find him here. :)”

“Perfect teamwork. Clear communication and perfect coding.”

“A star! Smashing tutor”

A few thanks

Getting through the first few months at Codeable wasn’t easy with my specific situation. I had a few ups and downs, and I probably wouldn’t have made it this far without the help of the Codeable support team (Chris, Raleigh, Liam, David and Per) and a few fellow developers (Justin, Robin, Panos and anyone else I’ve forgotten to mention, who make hanging out on the Codeable Slack a blast) who helped and guided me along the way. A special shout out to Justin who had a nice little chat with me on Slack one day and gave me the push I needed to get back up in the horse, thanks man!

October was OK, November is already looking good, here’s to wrapping up the year on a great footing to kick off 2017 with a bang at Codeable!

4 WordCamps in 4 Months

WordCamp

Last year at WordCamp I decided I would speak at the next one, this year I did just that. So when I heard that there would be 3 new WordCamps happening in Africa this year (one in Johannesburg, one in Nairobi and one in Harare) I decided on the spot I want to attend all three.

In deciding to do this I realised that, with my attendance of WordCamp Cape Town in September, I’d effectively be able to attend a total of 4 WordCamps in 4 months (Johannesburg in November and Nairobi and Harare in December). The downside (as always), finding the money to do it.

As a self employed developer finding $2000 – $3000 to cover flights, accommodation and general expenses for the three extra trips is not easy. As such I am reaching out to the greater community, in Africa and internationally, to assist me in my plan.

Over at Elegant Marketplace I developed a really small plugin (that was released for free) which simply adds a ‘Next’ and ‘Previous’ link at the end of every blog post. For the month of November I’ve changed the pricing model to a ‘choose your own price’ option, with a minimum of $2 and a suggested price of $5. Elegant Marketplace has kindly offered to give me the full proceeds of the sale of this plugin for the month of November, waiving the usual management fees I pay for my other products.

If I can get 600 people to buy this plugin I’ll be able to cover the costs of my trips. Even if you never use the plugin, or you could really write one your own, I’d appreciate your support in making this trip possible.

You can read more about the trip and how it came about in my Elegant Marketplace blog post or you can just go ahead and buy the plugin here.

Thanks.

Why upholding the GPL might be so important to Matt.

Freedom

For those of you who don’t follow WordPress news and updates as I do, over the weekend Automattic CEO Matt Mullenweg wrote a post accusing WordPress competitor Wix of stealing code. The CEO of Wix responded shortly thereafter. It’s been an interesting few days for WordPress and the GPL, with some people supporting and praising Matt for his post, while others have suggested that his post indicates a lack of leadership or that he was foolish calling out Wix publicly.

I’m not going to comment on either side. Nor will I be able to successfully comment on the legalities of different open source licenses. What I would like to do is offer some insight as to why I believe Matt is such a strong defender of the GPL.

Last night I started reading Milestones: The Story of WordPress. It traces the history of WordPress all the way back to the b2/cafelog days. In chapter 2 it talks about the original b2 developer, Michel Valdrighi, and his reasons for choosing the GPL license.

“It was important to Michel that b2 remain free, even if he stopped working on the project. He also wanted his code to remain free if other developers took it and used it in their own project. He recalls now that “at the end of that elimination process, GPL remained. It helped that there were already some projects using it, as I didn’t want the code to end up abandoned and forgotten because of the choice of an exotic license.”

Michel’s choice of license was prescient. Under a GPL license, software can be forked, modified, and redistributed. If development stops (as it did with b2), the ability to fork, modify, and redistribute can prevent software from becoming vaporware.”

It is vital to note that the freedoms provided by the GPL meant that Matt and Mike (the co founders of WordPress) were not only allowed to fork b2, but were allowed to study it, edit it, improve it and release it back to the community for further study, editing and improvement. All that had to be maintained through each iteration of the software was that it retained the GPL license and the freedoms it provided.

It’s probably safe to say that without the GPL license, Matt and Mike may not have chosen to fork b2, WordPress may never have existed, 25% of the web would be run on something else and the millions of people around the world (including me) would not have jobs today.

So, thanks Matt, for having the moral character to stand up for the GPL and it’s freedoms, the same freedoms that allowed you to create WordPress in the first place.

Sometimes the right thing to do isn’t always the popular thing to do.

Going out with a bang!

We’re already halfway into the month of October, so this post is a little later than planned. I’ve just got back from a short break with my family and I’m recharged and ready to create new blog posts and plugins (or complete existing ones) until the end of the year. I thought it might be fun to post a little about what I have in store for what’s left of 2016.

Elegant Forms

I haven’t touched Elegant Forms since I blogged about it but I am recommitted to completing and releasing the plugin before 2016 ends. The one area that Divi is sorely lacking in is a better form module so I hope to bring this to the community as soon as possible.

Admin Title

On of the great ideas that came out of the Divi Theme Users group was a plugin that automatically updates the admin title of a module based on a specific field in the module itself. I coded up a proof of concept on the night of the discussion but it pretty much stayed there, so I want to revisit and release this little plugin as soon as possible, specifically for all the site builders out there.

New Directions

I want to start moving into Divi Layout and Child Theme creation. As I am not a designer I have to rely on the work of others to help fuel this, so today Atlantic Wave released a bunch of Elegant Themes inspired layouts for Divi. I have a few child themes I am working on that I also plan to release in the very near future, also inspired by the Elegant Themes demo designs, but with a little Atlantic Wave development twist.

Development

As always, I constantly on the lookout for new ideas and new areas of development. If you have a plugin or theme development idea you would like to work on, feel free to get in touch.

Taking the pain out of self managed cloud hosting with ServerPilot

(Disclaimer, links to ServerPilot and Digital Ocean contain referral codes, if you use them and make a purchase you’ll be putting a few extra $’s in my pocket)

As the web and it’s associated technologies move ever forward, the solutions available for hosting your website are about as abundant as the options available for creating it.

One of my favourite advances in hosting options has been the advent of Virtual Private Servers or VPS. What I like about VPS is that it gives you the same level of control to the base system as a physical server, but at a fraction of the cost, and with similar performance to a physical server. Over the years services like Amazon AWS, Digital Ocean and Linode have really reduced the cost of creating and managing your own web server using VPS technology. The only problem with using a VPS is that you need to have a level of understand of server technology, software and server administration to be able to setup and manage such a server, something which most web designers, developers and builders do not.

With this in mind I was quite pleasantly surprised when someone pointed out ServerPilot to me. ServerPilot provides a fast, managed and secure way to manage your VPS without needing too much technical knowledge. On installing ServerPilot on your newly purchased VPS, you are given tools which allow you to create and manage multiple PHP apps on your server. What is even better is that ServerPilot supports WordPress straight out of the box, so setting up a new blank WordPress site is a simple matter of clicking a few buttons.

Without a doubt one of the things I love about ServerPilot is the technology stack. It’s built using Nginx in front of Apache, comes pre installed with PHP-FPM and supports PHP 5.4, 5.5, 5.6, 7.0, and 7.1, all on the same server. It even installs and configures a firewall on your server as well as SecureFTP access, automatically updates itself and supports LetsEncrypt SSL, giving you the option to install and configure free SSL certificates for all your sites. Finally, depending on the package you choose, it provides various levels of server monitoring, from basic server CPU and Memory usage, all the way up to slow script reporting.

ServerPilot is about the best tool for web professionals who would like a little more control of their (and their client’s) hosting options. At $10 for the ‘Coach’ version, you can install and manage as many servers as you like. It’s designed to use Digital Ocean servers, but supports the majority of the VPS services out there (Amazon AWS, Rackspace, Linode, Microsoft Azure, Google Cloud).

If you are currently using VPS based services or are looking for alternatives to your current hosting provider, I highly recommend to try out the free version of ServerPilot. If you don’t want to spend any money on the VPS to try it out, you can use my Digital Ocean referral link for a $10 credit, which is enough for a 512MB droplet for two months, more than enough time to test out the service.

New challenges

A short while about (July to be exact) I published a post about why I got into software development. At the time I was dealing with a bit of a personal crisis. I had reached a point (for the second time) of burning the candles at both ends so much that I was probably not thinking straight. So I had this daft idea to launch a Patreon account to try and crowd fund my goals. No prizes for guessing how that turned out.

What that post did however do for me is define why and more importantly how I want to make my living as a freelance developer. It also helped me realise that perhaps the tools I need to be using are out there and I just need to take the proverbial bull by the horns. So, with that in mind, I am very happy to announce that I am, as of September, one of the newest experts at Codeable.

If you have never heard of Codeable, it is the worlds #1 WordPress specific outsourcing platform. The founders, Per and Tomaz, are WordPress experts themselves and their business model and making huge inroads into bringing expert WordPress developers in contact with realistic clients who appreciate and understand the value of paying a fair price for excellent work. I’m happy to say that I’ve already completed my first few tasks at Codeable and collected a couple of great reviews.

Working at Codeable does mean that (for now at least) I have a little less free time for blog writing and replying to comments. If you were one of the people who commented on my articles during September, this is where I apologise for my lack of replies. Going forward I’m going to try and focus on publishing at least one web development specific blog post a month, so bear with me. I don’t have an army of writers like the guys at Elegant Themes.

Oh, and if you want to hire me to work on your project, just use the ‘Hire Me’ link over on the menu.

A friendly challenge to all WordCamp Cape Town 2016 Workshop Speakers

It’s Sunday morning 11 September and I am still coming off of the high that is WordCamp.

However, one thing makes me sad. Due to constraints the day 1 workshops were not filmed. While I do understand the logistics of this and why it was not possible, I gets me thinking that it would be amazing if there was some way to still capture this information for those who attended, or better yet, those who could not make it.

And then it hit me. We live in a digital age. There is nothing stopping each and every workshop speaker from taking an hour of our their day, recording their own session and uploading it to YouTube.

So, if you were a workshop speaker on day 1 of WordCamp, I challenge you to redo your workshop in the comfort of your home or office, record it and share it with the world. If your workshop was fairly seamless ( we’re looking at you Konstantin 😉 ) then it will be really easy. If, like me, there were things you could improve to help fit it into 1 hour, then make those changes and record your session.

I’m letting Steve and Danielle off the hook, I’m not sure they could record their talk and recreate the magic without an actual audience. 😉

I also already know Chris Muller is off the hook, as his team filmed his talk for him. So Chris, you are first up, upload the video, share it and inspire the rest of the community to record theirs.

You can expect mine by the end of the week!