• Posted on February 12, 2017 6:50 pm
    Joseph Forbes
    No comments

    Well it always happens (short post), eventually automation gets comfortable with itself and BOOM!  An Update overwrote our custom theme. Across my SNX Consulting network, I accidently applied a theme update to my custom "Vanilla" theme which I'm using as a placeholder.  Welp, it just happens to be the same name of another theme that is publically available through WordPress.   So through my "left-clicky" of Apply Updates, I ended up overwriting my custom theme. Basically means, my homepage is now showing someone else's theme work, and a nice scoop of vanilla ice cream. A Yummy Mistake!, So after I go get a bowl of Vanilla Ice Cream, I'll look for my backup. Maybe have it fixed by Monday

    Blog Entry, HAPPINESS
  • Posted on January 5, 2017 10:12 am
    Joseph Forbes
    No comments

    The problem begins with Microsoft's attempt to update things for Operating Systems (Like Windows 7), to be compatible with the newer Windows Update methods.   Since the release of Windows 8 & 10, including the 8.1, and 10 AU updates, Windows 7 has fallen behind in the care and love from Microsoft.  However sometime in July some patches were applied that broke the Windows Update process for Older Windows 7 systems.   This really affected people with clean/new installs of Windows 7, that haven't had all the updates applied since June/July 2016. I've had this problem with virtual machines I've recently setup that had clean installations of Windows 7, but Service Pack 1, is pretty far behind.  I haven't done my "due diligence" in slipstream Windows Updates into my Install ISO. After awhile, I found out that letting the Windows 7 machines just idle (tax at 100% CPU & RAM) for three days, until finally Windows Update shows a list of available updates to apply.  Then once more, having to apply those updates, and do it again to finish up with any updates that were not discovered beforehand. Step 1. Make sure you have KB 3078601, 3109094, 3138612, 3145739, and 3164033 installed You only have to do this once. To see if you're missing any of them, you can check the Windows Updates installed updates list (Start, Control Panel, under Windows Update click View installed updates). But it’s probably easier to download all of them and try to install them. If one is already installed, the installer will tell you -- no harm done. Step 1a. Make sure you know if you have a 32-bit (so-called “x86”) or 64-bit (“x64”) version of Windows 7. If you’re not sure, click Start, right-click Computer, choose Properties, and look under System type. Step 1b. Use any browser to go to each patch download site: KB 3078601  x64 x32 KB 3109094  x64  x32 KB 3138612  x64  x32 KB 3145739  x64  x32 KB 3164033  x64  x32 Step 1c. On each of those sites, Click Download. You’ll get an MSU file. In Chrome and IE, by default, you see an offer to either Open or Save the file. Save it. In Firefox, by default, the file downloads. These Microsoft servers are notorious for freezing -- sometimes the download won’t start, sometimes it won’t finish. If that happens to you, try reloading the page (click the circle-arrow near the address bar). You can also switch browsers. In any case, if you experience oddities while trying to download you aren’t the only one. Step 1d. Turn off Windows Update. The least confusing way to do that is to click Start > Control Panel > System and Security > Administrative Tools. Double-click on Services. Scroll down the list of Services and click once on Windows Update. Then, in the upper-left corner, click the link marked Stop. Step 1e. Double-click to run each of the five downloaded files. If the installer says you already have the patch, smile and go on to the next. Running those five updates will get you set up for the one significant update you need to run each month. Unless something weird changes (hey, this is Windows), you never need to go through Step 1 again. Step 2. Find this month’s favored patch and install it Unfortunately, the patch itself changes from month to month -- or at least, it has changed in every month since March. Here’s how to finish the job: Step 2a. Go to wu.krelay.de/en and find the latest magical patch. It’s listed at the top of the first table on the wu.krelay.de/en site. In July, the magic patch was KB 3168965. No doubt there will be a new one in August and another in September -- for however long we have to struggle with slow Win7 updates. Step 2b. Armed with the knowledge about whether your Windows 7 installation is 32- or 64-bit, use the links in that first table with any browser to download the correct patch. Step 2c. Save the patch but don’t install it. Step 2d. Make sure the Windows Update service is stopped. See Step 1d above. Step 2e. Double-click to run the downloaded patch. Step 2f. Reboot, as instructed after the patch is installed. (The Windows Update service will restart itself.) Then click on Start, Control Panel, and under Windows Update click Check for updates. If all went well, the check should take a few short minutes. My thanks -- and deep admiration -- to Dalai, ch100, and EP.

    Blog Entry, HAPPINESS, Patches
  • Posted on January 3, 2017 12:00 pm
    Joseph Forbes
    No comments

    Keeping track of passwords can seem like a hassle. Most of us have multiple sites we visit which require password logins. So many, in fact, that it's tempting to use the same username/password combo for all of them. Don't. Otherwise, it takes only the compromise of a single site's credentials to have a toppling domino effect on the security of all your online assets. Fortunately, there is a fairly straightforward way to have different passwords for each site you use but still make the passwords easy enough to remember. Creating Unique Passwords Before you begin creating strong passwords, you need to consider the use of those passwords. The intent is to create strong passwords unique to each account, but easy enough to memorize. To do this, first begin by splitting the sites you frequently login to into categories. For example, your category list might read as follows: social networking sites auction sites ecommerce sites email accounts banking sites forums A word of note here about forums. Never use the same password for a site's forum as you would for logging into the site itself. Generally speaking, the security on forums is not as strong as it is (or should be) for the regular site and thus the forum becomes the weakest link in their security. This is why, in the example above, forums are split into a separate category. Now that you have your categories, under each appropriate category, list the sites to which you must log in.  For example, if you have a Hotmail, Gmail, and Yahoo account, list these under the category 'email accounts'. After you've completed the list, you're ready to begin creating the strong, unique, and easy-to-remember passwords for each. Creating Strong Passwords A strong password should be 14 characters. Each character less than that makes it a little easier to compromise. If a site absolutely won't allow a password that long, then adapt these instructions accordingly. Using the 14 character password rule, use the first 8 characters as the common portion to all passwords, the next 3 to customize by category, and the last 3 to customize by site.  So the end result ends up like this: common(8)|category(3)|site(3) Following this simple rule, when you change your passwords in the future - which, remember, you should do often - you'll only need to change the first common 8 characters of each. One of the commonly recommended means of remembering a password is to first create a passphrase, modify it to the character limit, then begin swapping characters for symbols. So to do that: Come up with an 8 letter passphrase that is easy to remember. Take the first letter of each word to form the password. Substitute some of the letters in the word with keyboard symbols and caps (symbols are better than caps). Tack on a three letter abbreviation for the category, also replacing one of the letters with a symbol. Tack on a site specific three letter abbreviation, again replacing a single letter with a symbol. As an example: In step 1 we might use the pass phrase: my favorite uncle was an air force pilot Using the first letters of each word, we end up with: mfuwaafp Then we swap some of those characters with symbols and caps: Mf{w&A5p Then we tack on the category, (i.e. ema for email, and swap out one character of ema: e#a Finally, we add the site abbreviation (i.e. gma for gmail) and swap out one character: gm% We now have a password for our gmail account of Mf{w&A5pe#agm% Repeat for each email site, so perhaps you end up with: Mf{w&A5pe#agm% Mf{w&A5pe#aY%h Mf{w&A5pe#aH0t Now repeat these steps for the additional categories and sites within those categories. While this may look hard to remember, here's a tip to simplify - decide in advance what symbol you will equate with each letter.

    Blog Entry, Data Recovery, Hacking
  • Posted on June 15, 2016 10:00 am
    Joseph Forbes
    No comments

    If you've ever wanted to teach yourself how to do something, learn more about a particular discipline, or immerse yourself in something you've always wanted to know more about, then the Web is your dream come true. There’s no need to sign up for expensive college classes that can be outdated as soon as you finish them, or order books that lose their value as soon as you receive them in the mail. The Web has made all of that somewhat obsolete with free training on pretty much anything you can think of .In this article, we’re going to look in depth at online resources you can tap into for teaching yourself; some of these are email-based, some are in a game format (always my favorite!), and some are instructor-led via video. Just pick and choose the one that works best for you. unsplash.com 1.  MIT Open Courseware One of the most venerated educational institutions in the world, the Massachusetts Institute of Technology has been offering free classes taught by world-class instructors for several years now. Over 2000 (!) free classes are available in a wide range of subjects, including Computer Science. Course offerings include Introduction to Computer Science and Programming, Elements of Software Construction, and Computer System Engineering. Most are packaged with online lecture notes, multimedia content, assignments and exams (with an answer book if you get stuck), online textbooks, even study groups. No registration is required to take these classes, and no certificates or credits are granted once you take these classes. However, that doesn’t make these offerings any less valuable (especially on a resume!), and all are available to take at your own pace. More » 2.  Coursera Coursera is an online collaboration between several of the top-tiered universities in the world, with offerings from a wide variety of programs, anything from Humanities to Biology to Computer Science. Online courses include classes from Duke University, Georgia Institute of Technology, Princeton, Stanford, the University of Edinburgh, and Vanderbilt. For those of you interested in computer science or technology-related offerings, there are classes offered in Computer Science (Artificial Intelligence, Robotics, and Vision), Computer Science (Systems, Security, and Networking), Information Technology and Design, Programming and Software Engineering, and Computer Science Theory. Classes include online lectures, multimedia, free textbooks, and links to other free resources, like online code testers. Registration is free, and you will earn a signed certificate for each class you complete (must complete all assignments and other coursework). More » 3.  Code Academy CodeAcademy aims to make learning how to code fun, and they do this by making all of their courses game-based in nature. The site offers “tracks”, which are series of courses grouped around a particular topic or language. Course offerings include JavaScript, HTML, CSS, Python, Ruby, and JQuery. Registration is free, and once you get going in a class, you start to earn points and badges as a way to keep you motivated. No certificate or credits are offered here, however, the interactive classes make complicated concepts seem not as intimidating. CodeAcademy also runs CodeYear, a year-long collaborative effort to get as many people learning how to code (one lesson per week) as possible. More than 400,000 people have signed up at the time of this writing. More » 4.  Khan Academy The Khan Academy is an online library of video resources on nearly any subject you can think of, from Linear Algebra to Finance to Test Prep. They’ve got over 3000 videos from experts in the field, including Computer Science and the basics of programming. Interactive challenges and level by level assessments are available with each class, along with points and badges to measure your progress. All courses are self-paced; no credit or certificates are awarded. Videos are conversational in style, making complicated concepts easier to understand no matter what your educational level might be. More » 5.  Udemy Udemy differs a little bit from other sites on this list in two ways: first, not all of the classes are free, and second, classes are taught not only by professors but also by people who have excelled in their particular fields, like Mark Zuckerberg (founder of Facebook) or Marissa Mayer (CEO of Yahoo). There are plenty of “learn to code” classes here, but there are also course offerings here like “Product Development Process” (from Marissa Mayer), “Product Development at Facebook” (from Mark Zuckerberg), or iPhone App Design (from the founder of App Design Vault). More » 6.  Udacity If you’ve ever wanted to do something like create a search engine in seven weeks (for example), and you’d like to learn directly from one of the co-founders of Google, Sergey Brin, then Udacity is for you. Udacity offers a limited selection of courses, all computer science related, with instruction from distinctive leaders in their fields. Classes are organized into three separate tracks: Beginner, Intermediate, and Advanced. All classes are taught in a video format with quizzes and homework assignments, and final grades/certificates are awarded to students who finish the coursework successfully. One really intriguing thing about Udacity: they actually help their students find employment with over twenty technology-related companies, based on referrals from their Udacity credentials. Students can opt in to Udacity’s job program when they sign up for classes (free), where they can choose to share their resume with the Udacity team and potential employers. More » 7.  Google Code University Learning how to code from the team behind the most popular search engine in the world? Seems like a pretty good deal. Course content here includes information on Computer Science, Programming Languages, Web Programming, Web Security, even Google APIs and Tools. Google Code University is free and does not require registration; classes are offered via recorded video lectures, talks, problem sets, exercises, documents, and slides. Computer programming language courses are mostly introductory in nature, and include languages such as Python, C++, Go, and JavaScript. No certificates or credits are awarded with the completion of these classes. More » 8.  University of Reddit Reddit, one of the most popular communities on the Web today, has one of the best kept secrets online, and that is the University of Reddit: classes taught in a variety of disciplines ranging from Art to Technology by Redditors who are experts in their fields. Classes are free, and all it takes to sign up is a username and password. Depending on who is teaching the class (there’s not really a centralized source of information), you’ll get video lectures, assignments, tutorials, and collaborative instruction/feedback from others in your class. More » 9.  P2PU Peer to Peer University (P2PU) is a collaborative experience where you’re meant to learn in community with others. Registration and courses are totally free. There are several “schools” within the P2PU organizational framework, including one for Web-based programming backed by Mozilla, creator of the Firefox web browser. As you complete courses, you can display badges on your website or social profiles. Courses include WebMaking 101 and Programming with the Twitter API; no developer certifications are offered here, but the courses are well executed and worth taking a look. More » 10.  edX edX is a collaborative effort between Harvard University and MIT to bring free online courses from both institutions to the Web for anyone to take advantage of. Classes from Harvard, MIT, and Berekley are offered here for free, with more universities joining in the near future. Certificates of completion are awarded at the time of this writing for free; however, a “modest fee” for these certificates is planned for future students. Classes are somewhat sparse right now, but the origin of the classes as well as the informational content is well worth a look; for example, you could try Software as a Service from Berkeley, Introduction to Computer Science from Harvard, or Introduction to Computer Science and Programming from MIT – all for free. 11.  Stanford Stanford University – yes, THAT Stanford – offers an ongoing selection of free courses on many topics. If you’re looking for a basic introduction to Computer Science, you’ll want to check out SEE (Stanford Engineering Everywhere), which is ostensibly for students interested in engineering, but there are quite a few technology-related class offerings here as well. In addition, there’s Stanford’s Class2Go, an open platform for online research and learning. There’s a limited course offering here at the time of this writing, but more classes are planned in the future. Courses include videos, problem sets, knowledge assessments, and other learning tools. More » 12.  iTunes U There is an astonishing amount of free learning material available through iTunes, from podcasts to interactive classes to educational apps. Dozens of reputable universities have created a presence on iTunes, including Stanford, Berkeley, Yale, Oxford, and Harvard. You’ll have to have iTunes in order to use this program; once you’re in iTunes, navigate to iTunes U (near the top of the page), and you can start to check out the course offerings. Classes are delivered directly to you on whatever device you’re using to access iTunes and are available in a variety of formats: videos, lectures, PDF files, slideshows, even books. No credits or certifications are available; however, the sheer amount of learning opportunities here from world class institutions (more than 250,000 classes at the time of this writing!) more than makes up for that. More » 13.  YouTube EDU YouTube offers a hub of educational content with offerings from organizations such as NASA, the BBC, TED, and many more. If you’re a visually oriented person who learns by watching someone else do something, than this is the place for you. These are meant to be standalone informational offerings rather than part of a cohesive course; however, if you would like to dip your toes in a subject and want to get a quick video introduction from leaders in the field, this is a good solution. More » 14.  Google It While all of the resources listed here are fantastic in their own right, there are still many more too numerous to list, for whatever you might possibly be interested in learning. Here are a few Google queries you can use to narrow down what you’re looking for:learn (insert what you want to learn about here)” Believe it or not, this is an incredibly powerful search string, and will bring up a solid first page of results. inurl:edu "what you want to learn" This tells Google to search within the URL keeping the search parameters to only .edu sites, looking for what you're trying to learn.

    Blog Entry, Cloud Apps, EDUCATION
  • Posted on June 10, 2016 1:51 pm
    Joseph Forbes
    No comments

    How many times have you been completely confused at how that ‘small’ project turned into such a big one costing double and taking three times the length you estimated? Many of you will say estimating time for web projects accurately is an oxymoron, but by applying a few effective techniques it’s possible to dramatically increase the accuracy of most web project estimates. 1. Why Underestimating Is So Common Link There are several reasons, which are freely admitted amongst freelancers and web agencies, as to why web projects are so commonly underestimated – they include: The technologies required by the project have never been used before At the time of estimating, there are grey areas or complete unknowns The client operates in a specialized industry and the solution needs bespoke features that are not familiar to the supplier Splitting the project down into the detail would require as much as work as the requirements gathering phase that is chargeable However, there are also some secret reasons why web projects are commonly underestimated: The client needs an estimate for their project tomorrow or they will go elsewhere Revenue needs for cash flow now trump the effects of not winning the new work now No previous project ‘estimated vs. actual’ data analysis has been conducted to draw on Estimating time for a project is not fun Despite being true, rarely do we admit these reasons to others or even ourselves! The fact is, when working as a web professional, as a one man band or as part of a small busy web team, the secret reasons are an everyday reality that shouldn’t be hidden away. By first identifying and admitting why underestimating is so common, can you then set about implementing changes to your estimating process that will reduce the barriers each reason creates and increase your accuracy. TECHNOLOGIES NOT USED BEFORE LINK There are three approaches you can take when confronted with a brief that requires a technology you have minimal experience with: Negotiate a paid for functional specification phase as a first step Consider hiring an expert Research in your own time and make your best guess Try to negotiate with the client a mini-project where you are paid to conduct a research and functional planning stage before committing to the whole project. This way you can research the unfamiliar technology and deliver a functional specification to the client. Best case scenario You give the client confidence, have a much clearer understanding of the work required, re-estimate and are hired for the rest of the project. Worst case You have completed foundation learning of a technology you previously didn’t know that you can sell to new clients, you generate revenue and the client has a comprehensive specification they can use in their tender process. Added bonus You, and the client, get to find out how you work together, giving both the opportunity to part company before being locked into a lengthy project. If you’re not able to convince the client to pay for this initial functional planning stage, and can’t find a suitable expert in the technology, but want the work and have confidence in your ability and passion to learn what needs to be learnt, then the best advice is to do some initial research in your own time and just take your best guess! ESTIMATING TAKES TOO LONG LINK Thorough web project estimating takes time, but it tends to inherit all the same rules that apply to coding, the more thorough you are, the more accurate you’ll be. Is it possible you will spend time working out the features required only to learn you haven’t won the work? Will you have given the client a free and detailed breakdown of their project for free? Absolutely, but this is the just nature of sales, some you win, some you lose – don’t get disheartened, try to get feedback from the client on why you didn’t win and use the advice given to refine your next estimation. ESTIMATE IS NEEDED TOMORROW LINK If a client is demanding an estimate tomorrow after briefing you on the project today you should immediately try to assess if the project is right for you by: Determining if the response rate being demanded by the client, and any previous communication, is a sign of the type of client they will be to work with Assessing if the potential gain to your business from the project (high profile client or long-term repeat business) is worth the risk of underestimating and going over budget Trying to confirm a ball park budget range with the client so you can estimate realistically, or politely decline if far too low. The best kind of clients are experienced enough to know this is not someone looking to use up all their hard earned cash but someone looking to provide the best solution they can for the budget If the results of these quick steps are favorable, be positive and go for it! There will be another chance to decline if you later find out the project is not right for you, and then you may utter the words “Into the garbage chute, flyboy!” CASH FLOW DILEMMA LINK Cash flow is the life blood of any freelancer or small web agency, without they don’t survive. Occasionally a situation may arise where work will be taken on with the knowledge it may not be profitable. As gut wrenching as this can be, and despite all the comments you will hear how you should never do this, the reality is the bills and wages have to be paid! When a freelancer or business owner is presented with the choice of committing to a project for a price they know is low, but by taking on the project means they live to fight another month, or risking not taking on the work on in the hope more profitable leads appear – empathise with and respect them. It is a tough and gutsy decision that only they can make but rest assured they have their bills or your wages at the forefront of their mind when they make it and estimating low for a project isn’t always as naive a decision as it may appear to those not on the frontline. ESTIMATING IS NOT FUN LINK Ok, so it’s not as sexy as adding that beautiful grunge effect to your design, and it’s not as exciting as tweaking that jQuery plugin to work just the way you want, but estimating time for a web project more accurately is almost certainly more important than both when it comes to sustaining a freelance or small web agency business. However, while few will disagree as to its importance, many will continually find it difficult to muster up the passion and diligently estimate time for a web project, but why!? Here are more secret reasons: It’s hard work and takes many outside their comfort zone Estimating usually has to be completed alongside your plans for your already fully booked week It forces you to try and predict the future It makes you largely responsible for the business’s sales success, solution offered, project profitability and growth and survival of your business (scary stuff!) Web agencies often have the edge here because they will have dedicated salespeople or project managers who are used to the rigors of estimating, but freelancers will generally be more inclined to find the whole process rather boring and just want to get on with the fun stuff. While we can all no doubt empathise with this, the harsh truth is that, when running a small business or operating as a one man band, one or two badly estimated projects in quick succession can ultimately lead to the demise of both! So what other techniques can be used to further increase the accuracy of your estimates? 2. Consistent Project Phases And Tasks Link As previously mentioned, when being asked to provide an estimate for a project, it is invariably not something anyone has allocated time to do. As a result of this, estimates are often put together quickly and if compared to past estimates it’s not uncommon to see the same project phase or task classified in many different ways, and for similar sized projects the estimates for each to be completely different. If you win the work you may think “so what?”, and to some extent you would be right, however, the first step in creating more accurate estimates on a long-term basis is to always break down the project phases and tasks in a consistent manner. Web projects can generally be broken down into the following phases: Research and planning Solution design Design Front-end development Back-end development Content entry Testing Go-live By always beginning to compile estimates using a consistent high-level breakdown means you can have a re-usable template eventually and track the time spent on each. But don’t stop there! Consistently breaking each phase down further will not only increase the accuracy of the estimate, but again, also result in valuable data over time. 3. Getting Granular Link Now the project estimate is broken down into high-level phases, it’s time to get more granular and break each phase into tasks. This is where the estimate begins to become more tailored to the specific project, but also includes common tasks that you can add to your estimating template and use again and again. For example: Research and planning Requirements gathering Project planning Solution design Sitemap Wireframes User workflows Functional specification Design Initial homepage look and feel Content page Master content page template News main page News item Front-end development 5x Templates build XHTML/CSS JavaScript and AJAX Cross-browser fixes Back-end development CMS Setup and configuration News feature Contact us form Content entry Homepage copy Addition of 10x News items Testing Internal functional testing Client User Acceptance Testing (UAT) Go-live Live server setup 301 re-directs from old site URLs to new The page templates and features specific to the client’s project can be listed at this stage, alongside the tasks required in all web projects. Once you get into the habit of compiling estimates in this way you will find yourself envisaging the phase and tasks lists during the pre-sales initial communication with the client and this invariably: Refines your requirements gathering skills to quickly get the information you need in order to put together a thorough estimate Forces you to think the project through in a step-by-step fashion and minimises the chances of missing a large, or several small, tasks that could end up putting you over budget because you didn’t factor them in So, you now have a pretty solid phase and task list for the project and all that’s left is to estimate hours for each and send it off to the client right? Maybe, but wait, what exactly does the News feature consist of? Is your interpretation of a News feature the same as the client’s? Now is the time to investigate and define it, as opposed to after the contracts have been signed. GETTING MORE GRANULAR LINK While it’s tempting to estimate hours for the News feature and submit to the client, if possible, try to nail down exactly what the client wants from this feature at the estimating stage, after all, if you look around, you’ll be able to quickly find different variations of the same feature that have a huge differences in terms of size, features and complexity, and thus cost. Using the News feature as an example, talk to the client and determine what it needs to do so that you can again minimise the chances of missing something in your estimate that could, when added to the other ‘small’ missed tasks, amount to aserious budget overrun situation. You may find out the News feature requirements are: News feature Add/edit/delete news item Upload image Attach PDF Auto-archiving RSS Excellent, you have now defined the News feature and can confidentially estimate the time you think it will take to implement. But hidden in even the most basic and common of features lay more ‘small’ things that if not captured, considered and quoted on, can add to the likelihood of overrun. For example, the client has specified they need to be able to upload images to news items, but do they need any of the following: Auto-resize capability? Auto-thumbnail generation? Full-screen viewing? Caption addition facility? Any of the above News features could add a few hours to the overall project and thus need to be ideally catered for in your estimates – a few missed ‘couple of hours’ tasks and suddenly the project is two days over budget. Getting granular and mentally trying to build the solution means you are able to identify and address these issues early on, making sure to cater for them in your final estimate. “A Web Project Manager knows how to design and develop most of the project on his own, even if with poorer results compared to his team. This allows him to estimate projects with good approximation and to understand his team’s problems and difficulties” Introduction to Web Project Management, Antonio Volpon ADVANTAGES OF GETTING GRANULAR, FOR YOU AND THE CLIENT LINK By getting granular with project phases and tasks for estimates you are also able to tweak them very quickly if you discover the estimate you have submitted is above the client’s maximum budget. For example, how often have you been told by a client they want to go with you but your quote is ‘just a little too high’ and ‘if you could reduce it by five hours we can business’? Usually this means you have to do one of two things; drop the hours you estimated for the News feature and hope you can explain later down the line how the budget does not allow for image uploads and thumbnail generation etc., or remove the News feature altogether. But, if you have a granular estimate for the News feature, you can confidentially, and at this crucial expectation setting stage, simply remove a couple of sub-features of News and the News image upload functionality in order to align with the client’s budget. When communicating this to the client they will clearly see what you are proposing to drop and why and they will still get the News feature they need, but perhaps with a few less nice to haves. Using this approach is usually well received by clients as they have full and transparency on the reasoning behind the changes to your proposal. This kind of transparency during the sales process will invariably give the client confidence in you because it demonstrates to them you: Are an expert in your field Can envisage the project in its entirety Adopt a diligent and methodical approach and more than likely will continue to work this way on their project Best of all, if you are successful with your estimate and you are hired you already have the foundations of: An instant statement of work A defined project scope The timings you need to put together an accurate project schedule with milestones Client expectations settings very early Demonstrated your thoroughness and understanding of their business and requirements to the client So what now? Well, now you have won the work, it’s time to start collecting the data that will enable you to create even more accurate estimates in the future. 4. Consistent Time Tracking And Analysis Link Before starting the work, you should first replicate all of the phases and tasks, along with their time estimates, into your time tracking tool of choice. Once this is done, you can then begin work and make sure to be disciplined and track everything you do and log it under the right category. Of course many of you will do this by default as it allows you to: Know how long you have to complete each phase View how long you have for each task and sub-task Reporting on how long everything actually took But the real value of keeping a consistent set of high-level phases, from estimate through to time tracking, is that after a few projects you can begin toanalyse the data and start to identify averages and trends that you can use to refine your next web project estimate. ANALYSE ESTIMATED VS. ACTUAL TIME LINK This is where the real magic happens! By breaking down and tracking your time for multiple projects into consistent phases and tasks, you will have valid comparable data to analyse, for example, after five projects, once you average out the numbers, you may well discover the following: Research and planning took around 5% of the total project time to complete Solution design: 5% Design: 25% Front-end development: 15% Back-end development: 30% Content entry: 8% Testing: 10% Go-live: 2% The more projects completed that use a consistent estimating and time tracking structure, the more real your averages will become. With this valuable information you can then set about increasing the accuracy of your next estimate by being able to, assuming you can get a budget range from the client: Immediately allocate the estimated hours you need for each phase Determine the best solution you can offer the client for their budget It even allows you to accommodate the client that ‘needs an estimate tomorrow’ when you don’t have time to break it down in detail. Conclusion Link Estimating time for a web project accurately is something many attempt everyday but few manage to succeed at. There is no one formula that will satisfy every situation and the chances of estimating what a project will cost exactly are almost zero. But it is possible to drastically increase the accuracy of your web project estimates by: Identifying the reasons why underestimating is so common Understanding why it is so important Resisting the temptation to not get granular Creating a consistent, methodical and re-usable estimating process Analysing the estimated versus actual data from multiple projects to identify trends “The Devil is in the detail: When people say that the devil is in the detail, they mean that small things in plans and schemes that are often overlooked can cause serious problems later on.” Further Resources Link Here are further articles and related resources that may help you to increase the accuracy of your web project estimates: Web Development Project Estimator A neat little online tool that allows designers and developers to quickly create cost estimates for web projects. Schedule and Cost Summary This Cost Estimate and Scheduling spreadsheet provides a lightweight method for learning to estimate time to complete a web design project, and calculating cost for completion. Tick Simple to use time tracking tool that makes it easy to keep track of project budgets. How to Estimate a Web Site Project Patty Ayers discusses a five-step process for estimating web projects. Simple process to estimate times and costs in a web project Antonio Lupetti describes his process for creating web project cost estimates. How to Accurately Estimate a Web Design Project John Reeve talks about catering for the usual missing elements in estimates; project management, contingency time and margin for error. Estimating Resource Time for Web Development Projects Bill Breen explains one way to approach estimating time for web projects, and how the size of the project should influence you estimate ranges. How To Estimate Time For A Project A Sitepoint article by Alyssa Gregory.

    Blog Entry, HAPPINESS, Internet
  • Posted on May 18, 2016 12:30 pm
    Joseph Forbes
    No comments

    One of the biggest misconceptions about computers is that it takes a rocket scientist to fix any problem that might show up on one. I'm here to tell you that fixing your computer is something you can do. Now, in no way am I calling down your local computer repair person (I am one, remember) - they're by and large a very smart bunch of people, usually with a lot of education and experience. However, the fact remains that a large portion of the problems that computer users encounter can be easily solved by following freely available advice on this and many other sites online. Even more difficult problems can be solved if you're willing to invest a little time to learn a few things about your computer along the way. Important: At very least, before you take your computer in for service, there are some really simple things that anyone can do that tend to fix most of the common problems I've seen. Fixing Your Own PC Will Save You Money! Saving money is probably an obvious advantage of fixing your own computer. Getting your computer serviced at a local shop will usually run you from $60 to $90/per hour or more. Some are less expensive but that's not the normal when it comes to repairs. Remote computer support options are typically cheaper but they can only help fix some software related problems and are useless in cases where hardware is to blame. Also I noticed that scammers are using Remote Support Tools more often to ADD more problems to your existing issues. So Remote Help might not be as reliable as it used to be.  (So hire someone you know, and trust, when it comes to Remote Help) If you fix your computer problem yourself, you can completely avoid what might end up being a several hundred dollar bill. No matter what your financial situation, free is a pretty good deal. That's a lot of money you can save by investing some time in trying to fix it yourself. The best part, is you learned how to solve a problem. A skill that can only improve as you get to know your computer more. You Don't Need Expensive Tools to Fix Your Own Computer Many people think that they have to buy lots of expensive diagnostic hardware and software to fix a computer. This is absolutely not the case. Expensive tools do exist but they're usually used to help computer repair services test or solve things quickly or in bulk.  Chances are you already have 95% of the physical tools you would ever need to fix any computer problem in your toolbox or garage. Computer repair services also use many software diagnostic tools to determine what might be wrong with a computer but most of the very best ones they use are available for free online! Here are a few of my favorite free, professional level diagnostic tools available for download by anyone: Free Memory Testing Tools Free Hard Drive Testing Tools Free Tools already included with your Operating System Also, while there are a number of reasons why owning a second computer, or at least having temporary access to one, could help a lot when you need to fix yours, it's not always necessary. Your "smaller" computer - aka your smartphone or tablet - is often a huge help, at very least as a research tool. You'll Probably Be Back Up and Running Faster You might be thinking to yourself at this point that surely it'll take days or weeks to learn enough to repair your own computer and that it won't be worth the trouble. You need your computer working right now, right? First of all, unless you're lucky, after you drop your computer off at the repair shop you'll likely be waiting at least an entire day, usually longer, before you'll be able to pick it back up. You are your only client when you've become the repair person yourself so my guess is that you can get on it a bit more quickly. Secondly, you might be surprised to know that most common problems are solved by relatively simple steps. The more time you spend looking for solutions to computer problems online the more you'll see that this is true. Finally, and I really want to stress this one, you don't need to learn to solve every computer problem to solve this computer problem. A knowledgeable computer repair person has a lot of experience and education and can solve a multitude of problems with ease. You don't need to reach this level of knowledge about repairing computers. You need to solve your single problem as quickly as possible. Well written, easy to follow troubleshooting information online will get you that. You Know More Than You Think If you're having trouble using the mouse, keyboard, or screw driver then you might have a problem repairing your computer. Otherwise, you're only a step-by-step troubleshooting guide away from solving pretty much any computer problem you might see. So much great information is available to help people solve computer problems online, from self-help troubleshooting guides and tutorials like you'll find on my site here, to personal help on social networks and forums, something you can read more about on my Get More Help page on this website. If you can think logically, follow instructions in order, and ask questions when you're not sure about something or don't understand, then you should feel confident enough to try to fix your own computer problems before you even think about paying someone else to. Not Going to Happen? If all the confidence building I've done to this point isn't doing the trick, and you're absolutely sure that you'd rather have a professional tackle this computer issue, at least read through some helpful pieces about getting your computer repaired. I know the professionals can be busy at times, but to keep an open mind on most common problems people encounter, can teach you how to prevent the issue from happening again.

    Blog Entry, DATA, Data Recovery
  • Posted on May 17, 2016 11:00 am
    Joseph Forbes
    No comments

    TeamViewer is my second favorite free remote access program. It's filled with features you don't normally find in similar products, is very easy to use, and works on pretty much any device. You can download and use TeamViewer on a Windows, Mac, Linux, or mobile devices. Download TeamViewer Note: This review is of TeamViewer version 11. More About TeamViewer TeamViewer downloads are available for Windows, Mac, and Linux operating systems You can remotely reboot a computer into Safe Mode and then automatically reconnect with TeamViewer No router configurations are necessary to setup TeamViewer A remote installation of TeamViewer can be updated with ease Remote sessions can be recorded to a video file so you can easily review it for later TeamViewer can share a single application window or the entire desktop with another user Files, images, text, folders, and screenshots can be transferred to and from two computers using either the file transfer tool in TeamViewer or the regular clipboard function Files can also be transferred through TeamViewer directly from online storage services like Google Drive, OneDrive, and DropBox A whiteboard lets you draw and highlight objects on a remote screen A remote system information tool is included to easily see the basic hardware, OS, and network information of the computer you're connected to. TeamViewer can be used as a portable program for quick access or installed to always accept remote connections Pros & Cons As is probably obvious, there's a lot to like about TeamViewer: Pros: Completely free to use (Non-Commercially) Supports chat (text, video, and voice over IP) Remote printing is allowed Supports Wake-on-LAN (WOL) No port forwarding configurations are necessary Spontaneous support Works with multiple monitors Portable version is available so no install is required Can control a remote computer through the desktop program, a mobile device, or an Internet browser Cons: Can not be used for free in commercial settings exit advert, for free users. How TeamViewer Works TeamViewer has a couple different downloads you can use to access a remote computer, but they both work nearly the same. You would choose one over the other based on your requirements. Each TeamViewer install will give out a unique 9 digit partner ID number that's tied to that computer. It actually never changes even if you update or reinstall TeamViewer. It's this ID number you'll share with another TeamViewer user so they can access your computer. All-In-One is the name of the full version of TeamViewer. It's absolutely free and is the program you need to install if you wish to set up a computer for constant remote access so you can always make a connection when you're away from it, otherwise known as unattended access. You can log in to your TeamViewer account in the All-In-One program so you can easily keep track of the remote computers you have access to. For instant, spontaneous support, you can use the program called QuickSupport. This version of TeamViewer is portable, so you can run it quickly and immediately capture the ID number so you can share it with someone else. If you're helping out a friend or family member, the easiest solution would be for them to install the QuickSupport program. When they launch it, they'll be shown an ID number and password that they must share with you. You can connect to the QuickSupport computer with either the All-In-One program or the QuickSupport version - they both allow remote connections to be established. So you can actually both install the portable version and still make a solid connection with each other, which would result in the quickest method of remote access for both parties. If you're looking to setup unattended access to connect to your own computer when away, you just need to setup a master password in TeamViewer that never changes. Once that's completed, you just have to sign on to your account from a browser, mobile device, or computer with TeamViewer installed to make the connection. My Thoughts on TeamViewer TeamViewer is by far my second favorite remote access tool. The QuickSupport version is so simple and easy to use, it's always my first suggestion when providing remote support to my clients. The fact that TeamViewer doesn't require port forwarding changes is a solid plus because most people won't want to go to the hassle to configure router changes to accept remote connections. On top of that, all that must be shared is the ID and password that's clearly seen when you first open the program, so it's rather simple for everyone to use. If you're looking to always have access to your own computer from afar, TeamViewer doesn't fall short with this demand either. You can setup TeamViewer so you can always make a connection to it, which is wonderful if you need to exchange files or view a program on your computer when away from it. One thing I don't like all that much about TeamViewer is that the browser version is difficult to use. It's quite possible to connect to another computer through a browser with TeamViewer, but it's just not as effortless as the desktop version. However, I can hardly complain because there is a desktop version available and it is easy to use. The next thing I don't like much is the nag advert when using the free version of TeamViewer.  The cost of a single seat license is totally worth the price (sales happen often so one could save a whole lot more) when buying a license.

    Blog Entry, Cloud Apps, HAPPINESS
  • Posted on May 5, 2016 2:08 pm
    Joseph Forbes
    No comments

    I get to go out of town for a camping trip, and what do I do with my time? I fly my spare FX070c. It has been awhile since I last posted. Time has been spent on various software projects, and now that the major hurdles are over with. I got some time away.  (Like literally months ago, these videos were recorded before November 2015)  I am flying my secondary FX070c, only thing modified in this is weight in the nose.  I spent most of my flights in "Easy", because I wasn't sure how this secondary FX070c would handle.  My Primary FX070c was fixed and ready to go, but I didn't have a box to carry it in.  I still had the box and the secondary FX was fixed and ready to go, boxed and all.   So the choice was easy, snag a few spare batteries, and go camping in a full truck. I switched batteries, and actually took off, in 'Advance' mode after resync'ing the controller. Still controllable. . I have since taken a few more videos since the camping trip.  I eventually started using the BlackView Hero 1, for a dash camera.  Drivers in San Antonio all Suck Ass "Dee SA Essay"(tm) I also don't like the "fisheye" wide angle lens, so things didn't look all that great after comparing with a SJ7000.

    Blog Entry, HAPPINESS, TECHNOLOGY
  • Posted on April 30, 2016 11:09 am
    Joseph Forbes
    No comments

    For many people, working with technical support is somewhere near "getting dental work" on a list of fun things to do. Believe it or not, calling, or chatting with, tech support for a computer problem doesn't have to ruin your day. (For the most part) The ideas behind these tips apply outside the computer world, too, so feel free to keep them in mind when your smart-"junk" quits checking email or your DVR is stuck on one channel. I can't promise that the experience will be enjoyable, but there are several things you can do to help make talking with tech support less painful for you than it may have been in the past. Be Prepared Before Calling or Chatting Before you pick up the phone, or start typing in that chat box, make sure you're prepared to explain your problem clearly. The better prepared you are, the less time you'll spend talking to tech support. The exact things you should have ready will vary depending on your problem but here are several to keep in mind: If you have an error message: What's the exact error message on your screen? If you don't have an error message: What exactly is your device doing? "It just doesn't work" isn't going to help much. When did the problem start happening? (Think back to when it started, could remind you what changed) Did anything else happen at the same time the problem started? (e.g. a blue screen of death, smoke coming from the computer, ad pop-ups, stuck web browser, virus warning, etc.) What have you already done to troubleshoot the problem? (Restarted, etc) Has the problem changed since it first started happening (e.g. computer shuts off more frequently, error message appears at a different time now, etc.) I recommend writing all of this down before requesting any tech support. Because remembering the exact error message can be hard enough to explain, having a reference or documented proof, really helps. Communicate Clearly Working with technical support is all about communication. The entire reason for your call is to communicate to the support person what the problem is and for them to communicate back to you what you need to do (or they need to do) to fix your problem. The person on the other end of the phone might be 10 miles or 10,000 miles away. He or she might be from the same part of your country or from a part of a country you didn't even know existed. That said, you'll prevent a lot of needless confusion and frustration if you talk slowly and enunciate properly. Also, make sure you're calling from a quiet area. A barking dog or screaming child is unlikely to improve upon any communication problem you may be having already. If you're chatting, make sure to use complete sentences and avoid catch phrases, texting language, and excessive emoticons. Chat sessions are supposed to be Professional. Having a good grasp of the grammar, correct spellings, and punctuation is key.  If your Tech Support is exhibiting signs of lack of those traits, then maybe you can request a better agent to deal with. (It happens, I was seated next to an illiterate high school drop out who was providing the same level support as I was. Of course he didn't last long) Be Thorough and Specific I touched on this a little in the Be Prepared Before Calling or Chatting tip above, but the need to be thorough and specific demands its own section! You may be well aware of the trouble your computer has been having but the tech support person is not. You have to tell the whole story in as much detail as possible. For example, saying "My computer just quit working" doesn't say anything at all (Bad Example). There are millions of ways a computer might not be "working" and the ways to fix those problems vary tremendously. I always recommend stepping through, in great detail, the process that produces the problem. If your computer won't turn on, for example, you might describe the problem to tech support like this: "I hit the power button on my computer and a green light comes on the front of my computer and on my monitor. Some text shows up on the screen for just a second and then the whole thing shuts off. The monitor stays on but all the lights on the front of my computer case turn off. If I power it on again, the same thing happens over and over." (Good Example) Repeat the Details Another way to avoid confusion when communicating is by repeating what the person you're talking to is saying. For example, let's say tech support advises you to "Click on x, then click on y, then select z." You should repeat back "Okay, I clicked on x, then I clicked on y, then I selected z." This way, tech support is confident that you completed the steps as asked and you're confident that you fully understood what was asked of you. Answering "Okay, I did that" doesn't confirm that you understood each other. Repeating the details will help avoid a lot of confusion, especially if there's a language barrier. (Here is looking at you, India call centers) Don't Get Emotional No one likes computer problems. They even frustrate me. Getting emotional, however, solves absolutely nothing. All getting emotional does is lengthen the amount of time you have to talk to tech support which will frustrate you even more. Try to keep in mind that the person you're talking to on the phone didn't design the hardware or program the software that's giving you problems. He or she has been hired to help solve your problem based on the information given to them by the company and from you. You're only in control of the information you're providing so your best bet is to take another look at some of the tips above and try to communicate as clearly as you possibly can. Sometimes re examining the problem a second time, brings discovery of the underlying issue. Get a "Ticket Number" It might be called an issue number, reference number, incident number, etc., but every modern day tech support group, whether across the hall or across the world, uses some kind of ticket management system to track the issues that they receive from their customers and clients. The tech support representative should log the details of your call in the ticket so the next person you talk to can pick up right where you left off on this call, assuming you need to call again. The Only Thing Worse Than Calling Tech Support... ... is calling tech support twice. A sure fire way to need tech support for a second time is if the problem didn't get fixed on your first call. In other words, read the above tips again before you pick up the phone! If you're armed with this information before you make that first call to support, the chances of what the industry calls "first call resolution" go way up. That's good for the company's bottom line and really good for your sanity! If you find yourself having to call back, hopefully it is for similar or a whole new reason.  I experienced many times, where the problems were like playing "Wack-a-Mole". Resolve one problem, a new problem surfaced.

    Blog Entry, HAPPINESS, Technical Support
  • Posted on July 27, 2013 12:55 pm
    Joseph Forbes
    No comments

    from the you-bunch-of-sweet-talkers-you dept. "The WSJ reports that Attorney General Eric Holder promises Edward Snowden won't be tortured or face the death penalty in a new letter hoping to persuade Russia not to grant him asylum or refugee status. Holder's letter, dated Tuesday, notes that press reports from Russia indicated Snowden sought asylum in part based on claims he could be tortured or killed by the US government. It is common for the US to promise not to seek the death penalty against individuals being sought in other countries, because even America's closest allies won't turn over suspects if they believe that person might be executed. The United Nations special rapporteur on torture found Bradley Manning's detention was 'cruel and inhuman'." Update: 07/27 13:15 GMT by T : Several readers have noted that change.gov, established by the Obama transition team in 2008, has recently (last month) gone offline; among other things, it contained language specifically addressing the protection of whistleblowers.   Protect Whistleblowers: Often the best source of information about waste, fraud, and abuse in government is an existing government employee committed to public integrity and willing to speak out. Such acts of courage and patriotism, which can sometimes save lives and often save taxpayer dollars, should be encouraged rather than stifled. We need to empower federal employees as watchdogs of wrongdoing and partners in performance. Barack Obama will strengthen whistleblower laws to protect federal workers who expose waste, fraud, and abuse of authority in government. Obama will ensure that federal agencies expedite the process for reviewing whistleblower claims and whistleblowers have full access to courts and due process

    HAPPINESS, LAW, POLITICAL
  • Posted on July 26, 2013 3:40 pm
    Joseph Forbes
    No comments

    from the bofh-demands-tribute dept. July 26 is Sysadmin Day, the system administrator's version of Secretary's Day. Are you giving your hardworking sysadmin the recognition they deserve? Blogger (and, yes, sysadmin) Sandra Henry-Stocker argues that a holiday like this is needed because due to the nature of their job, in everyday life sysadmins 'get noticed least when they do the best work' So if your systems run so smoothly that you sometimes forget you even have a sysadmin on staff, be sure to recognize them for their excellent work today. First I'm going to delete your inbox. Then I'm going to switch your phone extension with Larry in facilities management. And I think this afternoon I will take the Production environment down for a little while.

    HAPPINESS, HEALTH, NERD NEWS
  • Posted on April 28, 2013 10:45 am
    Joseph Forbes
    No comments

    It's the most common question I receive from aspiring freelancers of all types: How much should I charge? The question comes packaged in various different guises—whether it is a beginner dipping their toes in the freelancing waters for the first time or someone who has been freelancing for a while but wants to renegotiate their rate with a client. Setting and negotiating rates can seem like one of the most complicated and intimidating parts of freelancing but it really doesn't have to be. Today I'm going to give you an in-depth overview of how to set and negotiate rates with prospective and existing clients. Although I'm a freelance writer, I believe that most of the following advice applies to any service-based business. Your Minimum Acceptable Rate (MAR) The first thing you must do as a freelancer is ascertain the lowest equivalent hourly rate you are willing to work for—your Minimum Acceptable Rate (MAR). If you're already a full-time freelancer (or are planning on being one), your MAR calculation should look something like this: ( (personal overheads + business overheads) / hours worked ) + tax Let's look at a practical example. Say your personal overheads (i.e. the total cost of keeping a roof over your head, food on your plate, and so on) are $30,000 p.a., and your business overheads are a projected $5,000 p.a. You plan on doing client work for 6 hours a day for 48 weeks of the year (1,440 hours total). Here's the calculation for your MAR (gross of tax): ($30,000 + $5,000) / 1,440 Your MAR (gross of tax) is $24.31. Add say 20% for tax, and your MAR (net of tax) is $29.17. If the above calculation seems a little rough, that's because it is. Don't concern yourself with trying to set a precise MAR, because there are far too many variables at play to perfect it anyway. Using the above calculation does the job well enough, as long as you err on the side of conservatism. Another way to calculate your MAR is to take your previous (or current) salary and divide it by the number of hours you plan on working. The addition of overheads should be covered by the reduction in tax from being self-employed, but you may want to confirm this for yourself. I am not a fan of this approach—you will probably be underselling yourself wildly. Freelancers should earn far more than employees, pound for pound. However, it can be a good starting point—it's the calculation I made when I was deciding whether or not quit my job. If you're just getting started with freelancing part time, your MAR is more a case of how highly you value your own time. You need to work for an amount of money that puts you in the right mindset to deliver an exemplary service. If you do anything less, you may deliver poor work and end up damaging your reputation. As you develop as a freelancer, your MAR may increase based upon how much you want to earn, as opposed to how much you need. Pricing Format When it comes to deciding how you should price your services, start with this key understanding in mind—charging by the hour is one of the worst mistakes a freelancer can make. There are two key reasons for this. It Limits Your Earning Potential If you charge by the hour, it will only be natural for you to work less efficiently than if you had priced on a per job basis. And given that you only have a certain number of hours available in the day, you are essentially capping your maximum earning potential. You can of course raise your hourly rates, but you will still only have the same number of hours to work with (literally and figuratively). If. on the other hand, you price on a per job basis, you are limited only by the speed in which you can complete your work. You will learn to work more productively, and in turn, will earn a higher equivalent hourly rate (and impress clients with your efficient style and quick turnaround). It Clouds Your Clients' Judgement An hourly rate is a big psychological hurdle for many prospective clients. The same job priced in two different ways can provoke wildly different reactions. Let me explain: Say you're presented with the opportunity to write a 1,500 word article on a complex and technical topic that you just happen to be well-educated on. Given the nature of the content, the client is happy to pay $150 for the article. He assumes it will take 3 hours, and deems $50 to be a reasonable hourly rate (but you don't know that). Consider these two different pricing approaches: State that the article will cost $150 to produce. State that the article will take you around an hour to produce, and will cost $150. The client would happily accept option 1. He would almost definitely balk at option 2. It's simple psychology—the perception of value. Chris Guillebeau touched upon this in The $100 Startup. He paid $50 to a locksmith for an ultra-quick turnaround in an emergency, yet he felt shortchanged by the transaction. Chris remarked on his illogical reasoning: …I realized that I secretly wanted him to take longer in getting to me, even though that would have delayed me further. I wanted him to struggle with unlocking my car as part of a major effort, even though that made no sense whatsoever. The locksmith met my need and provided a quick, comprehensive solution to my problem. I was unhappy about our exchange for no good reason. Our theoretical client would feel illogically unhappy about pricing option 2, in the same way as Chris did about his locksmith experience. The difference is this: most people don't have Chris' presence of mind to understand their illogical reasoning. Your competence and the speed at which you are able to do you work can have a huge impact on your bottom line. Don't undercharge yourself by charging by the hour just because you happen to be good at what you do and can do it quickly and efficiently. Service Value It is always important to view your work through your client's eyes and from a commercial perspective. Consider this: how will your work benefit the client? How will it positively affect their bottom line? The answer to this question dictates in part the amount you can charge. For instance, an article for a small business blog is likely to have a relatively limited impact. If on the other hand, if you're writing copy for a huge multinational corporation, the benefit of your services could be enormous. You should price accordingly. Bear this in mind when developing your freelancing business. When possible, place your services in what I like to call "huge client benefit areas." Instead of writing blog posts for small clients (small client benefit), migrate your services to high-end blog editing for Technorati 100 blogs (huge client benefit). Instead of designing logos for local businesses (small client benefit), work as a design consultant for Fortune 500 companies (huge client benefit). Such ideas may seem outlandish at this point in your career, but it's amazing where endeavor and planning can take you. The Competition What you can charge depends to a large extent on how much your competition charges. But what are they charging? Can you find out? Many freelancers post their rates on their websites. You might even consider asking them—the worst they can do is tell you to sling your hook. Furthermore, how good area they? How does their experience compare with yours? In essence, the overruling question is this: where do you fit in with the competition? Are you nearer to the bottom or the top of the scale? The answer to this question dictates how aggressively you should set your rates. Supply and Demand I recently negotiated an improved rate with a client of mine. However, it wasn't as high as I wanted it to be. But I couldn't argue with her point of view: Writers are, I gotta be honest, insanely easily to come by for very few dollars indeed…given that my background is in writing, it's pretty scary. I've got friends who are Financial Times journalists that are increasingly shitting themselves! I mean, it's great for the company and all that, but not for quality folk. I don't agree with her clear implication that you can't make money writing. However, I don't doubt for a moment that she can find an abundance of cheap writers for the type of content her blog produces. My point is this: an abundance (or dearth) of other freelancers like you has a hefty impact on the rate you can set. And here's the kicker: the lower the quality of work you do, the higher the supply of similar freelancers is. So be aware of supply and consider how it can affect your rate. But most importantly, work hard to get yourself above the first few rungs of the ladder as quickly as possible—otherwise you will always be dealing with negotiations like the above. Furthermore, consider the demand specific to you. Do people approach you by referral? Do they seek you out specifically because they like your work? Such prospective clients are likely to value your work far more highly than those that you seek out. Indirect Benefits When setting or negotiating a rate (and/or considering your MAR), it is important to not think solely about financial compensation. Take the client mentioned above. I continue to work for her, even though I get paid an equivalent hourly rate of about half as much as every single other client I have. Why? Because of the indirect benefits. Namely the following: It is an authoritative blog, which is good for my reputation. The byline under each of my articles drives traffic to my blog. The work is consistent and secure (i.e. I trust her). There are many more indirect benefits that can affect the rate you would be happy to accept, such as potential (could the work lead to greater things?), and referrals (e.g. a client in a new sector). Bear them in mind. Negotiating Negotiation is something that comes fairly naturally to me. I worked in property management and development in my previous life, and was no stranger to seven figure negotiations. That may well be why I have no difficulty in negotiating with freelance clients on what are, by comparison, minuscule deals. But that doesn't detract from my firm belief that negotiating does not have to be a terrifying prospect. Whilst the common perception seems to be that clients are after a cheap deal, I have found that not to be the case, for the most part. This could be a side-effect of the forward-thinking blogging culture I generally operate in, but you only have to see how well my friend Ruth is doing to see how handsomely corporate clients are prepared to pay. With that said, let's delve into the world of negotiation for freelancers. The Scope of Works Always be certain of the scope of the job you are pricing. I cannot stress that enough. A freelancer's worst nightmare is a misunderstanding between them and a client regarding the scope of the works. This can lead to a faltering relationship, and extra hours allocated to a job that you did not budget for. Make sure that you come to an agreement on the precise nature and scope of the work. If the job is to be more of a work in progress, come to a temporary agreement with the client, on the basis that a firm contract will be agreed for the long term at a future date. But whatever you do, make sure that you come to a unambiguous long term agreement regarding the nature of the work. This can be in the form of an email exchange, or a formalized contract. The point is that you must be able to clearly demonstrate that you have delivered exactly what the client asked for. Pricing a Job The key to pricing a job is to break it down into its constituent parts. Once you have segmented a job, allocate a conservative time frame to each part (plus contingency). Add up all the elements, and consider adding an overriding contingency. The client is more likely to negotiate than not, and many will feel that they are being hard done by if they don't get the price knocked down at least a little (regardless of whether or not the price represents true value). So be sure to price your job accordingly. What is hopefully clear at this point is that all of the above factors should be taken into account when pricing a job. Ask yourself the following questions: What service value am I offering? What are my competitors charging? How competitive is the market in which I am operating? How strong is the supply/demand for work of this type? Are there any indirect benefits relating to working with this client? Your MAR is your bottom line. The key now is in making a proposal that strikes a balance between maximizing your earning potential, and not scaring the client off. Worst case scenario, your prospective client sees your price, and walks away. The likelihood of this is small, unless you have really priced yourself out of the market (in which case, you need to go back to the drawing board in terms of analyzing what you deem to be a reasonable rate). It is far more likely that they will attempt to negotiate you down, which is where the conservatism you built into your price comes into play. How hard you choose to negotiate above your MAR is essentially down to how much you want the job. Do you have lots of work booked? Can you afford to play hardball? Or, are you in need of any and all work at or above your MAR? Consider your situation and negotiate accordingly. Remember, so long as the equivalent hourly rate is above your MAR, the additional pay represents the potential for a boosted income. It is not the difference between life and death. If you are genuinely in need of the work, don't try to get too cute with your negotiations. Your Bottom Line If your client attempts to negotiate below your MAR, you have one of three options: Accept Stand your ground Negotiate the scope of works Option 1 is only to be considered if you feel that the indirect benefits associated with the job outweigh the difference between the actual equivalent hourly rate and your MAR. I have a client who is a prime example of this. They pay me a little under my MAR, but I get a free link back to this blog in return, which makes up for it. After all, I expend plenty of energy in promoting this blog without any financial reward, so getting paid to do the same can't be a bad thing, can it? Option 2 should be taken if you are comfortable that your MAR should not be breached for the job at hand—a straightforward decision if there are no indirect benefits. Option 3 represents a compromise in service delivery, and I am not keen on it. It can often lead to client dissatisfaction, and a fractured relationship. Generally speaking, I will stick with option 1. After all, if they are not willing to pay what keeps a roof over your head, why on earth would you want to work for them? Finally, if a client plays hardball and you find yourself saying "I might be willing to work for a little less," it may be time to reassess your MAR. Retainers In my opinion, you should never request a retainer (unless the job is particularly large and will require a lot of upfront investment). Nothing screams "I don't trust you" more than requesting a retainer. It is not a good way to start what will hopefully be a profitable long term relationship. Instead, vet your clients appropriately. If you are uncomfortable with the proposed payment terms, suggest a shorter payment period over a probation period, followed by a permanent long term agreement (if applicable to the scope of works). Finally, understand that the occasional non-paying client is a cost of business. The sooner you accept that, the better. Rates Are Not Permanent! Budding freelancers are often paralyzed into inaction when it comes to setting rates. But remember this: each client is only one client, and rates are never permanent. In negotiating a rate with a client, the worst outcome is that you lose that client. It's not the end of the world. I've said the following to new clients on more than one occasion: Let's start with this, and take stock after a few articles to see how expectations match reality in terms of the scope of works. I have never had a client react negatively to this. The answer has always been something along the lines of, "that seems fair" (because it is fair—for both parties). If you act towards your client in such a way that demonstrates your trust, they are far more likely to want to work with you, than try to rip you off. And if you are totally transparent in the way you do business, they will want to work with you in the long term. In conclusion, the key to setting and negotiating rates successfully (beyond your reading of this article) is simply to do it. The more clients you negotiate with, the more experienced and capable you will be come. It's that simple. Freelancing: a Complete Guide to Setting and Negotiating Rates⎪Leaving Work Behind

    HAPPINESS, MONEY, NERD NEWS