The Proposed WordPress Developer Code Of Honour

Over at WPShout Fred Meyer has published a proposed Code Of Honour for WordPress developers.

The article is address to developers of SME websites and is addressed to both developers and their clients. It addresses problems with SME website projects and puts forth a solution in the form of the code.

It’s a reasonably long read. And if you are either a business owner about to engage in a web project, or if you are web developer who builds out projects single-handedly – then it’s well worth reading.

Immediate Thoughts

After reading the code I had some immediate thoughts: the article and the post itself is timely. In fact, it’s overdue: many good developers have the experience of being pulled into an SME project to discover that the previous developer didn’t know his stuff. Consequently budget gets sucked into cleaning up unholy messes.

Web development professionals aren’t just in it for the money. We want our clients to be happy. We want the projects we work on to succeed. We want to create websites to return an investment. We don’t like seeing clients in pain because the previous team didn’t know what they were doing.

The code requests the developers use professional best practices. Best practices in technically building the project, and in client communication. It requests that developers be accountable to their clients.

The very existence of the code also creates a condition of accountability: accountability to a community that declares itself for the code.

I like this.

Unexpected Controversy

I’ve been in private discussions with people who are in the business of delivering web projects for SME’s. These people are both solo developers and agency owners. These people are good providers and all have records of delivering great projects and making their clients happy.

They largely agree in principle with the code itself. But to my surprise they had two objections to the article itself.

“The problem isn’t the developer. It’s the client”

According to this critique, projects don’t fail because of the developers own weaknesses. They fail because the of faults on the clients end.

There’s some truth to this. Some projects do indeed fail because the client makes unreasonable demands, micromanages the project and doesn’t trust the authority of the agency or the developer. Clients sometimes don’t understand the work that’s involved, and make unreasonable demands. Often clients fail to honour the process by which agencies and developers create good results.

I think that agencies can have good reasons for thinking these things. But I also think that ultimately it’s the responsibility of the agency or the developer to guide the client on these matters. Or to simply turn away clients that won’t work within the process of the agency.

Besides, in all fairness Fred links to content about how to avoid bad clients. And how to be a great client.

“The article is elitist. The author favours programmers over non-programmers”

Now as I mentioned above, the people I heard this critique from have histories of delivering great work. They’ve built many projects that make their clients money. I believe that these people are non-programmers themselves. And they seem to feel that the article shows a kind of hidden contempt for non-programmers the deliver WordPress projects.

But personally I think the critique is baseless.

Someone responsible for delivering an SME WordPress website can deliver without knowing how to program. They can simply hire a programmer.

But the reality is that the better someone knows how to program, and specifically how to program within the WordPress world, then they are in a better position to quickly solve the kind of problems that will come up within the project.

Non-programmers who build websites are spoilt silly by the WordPress world: there are extensions for pretty much everything. From creating real-estate listings, to assessing your content for search engine visibility. There are plugins that promise to make your website faster. Plugins exist for layout out page, for capturing leads, for social media…

There’s a huge amount that you can done without being able to program.

But ultimately if a provider doesn’t understand the underlying technologies then they are disadvantaged.

Understanding the underlying technology brings some significant advantages. Here are just a few.

  1. A programmer can anticipate problems before they happen
  2. A programmer can often solve these problems faster
  3. Cost estimates for projects will be more accurate
  4. When bugs rise from common extensions, programmers can find the cause
  5. … and probably fix them

To clarify: non-programmers can be competent and even excellent at delivering satisfying projects. And sometimes programmers don’t have non-programming skills that great results require.

But personally I think that everyone who is in the business of delivering an SME web project should at least be learning the underlying technologies.

My Endorsement

Personally I endorse Fred’s Code Of Honour 100%.  At this point I have zero reservations about it. If the code was “officially released” today in it’s current state then I would commit to it.

The “wild west” period of web contracting is coming to end. Even though cowboy agencies and developers still exist, their opportunities are fading.

Fred’s code is a an idea whose time has not only come: it may be overdue.

So you have an existing website. You have either just launched it or perhaps it’s been live for a while. The design is solid. But now you want to improve your position in Google’s search results. Maybe you want to see your page on the front page.

First Step: have you taken care of the fundamentals?

Before attempting to improve your search results positioning some things have to be taken care of first. Both in terms of design as well as under the hood.

Development

Is the underlying code as clean as possible? Have on-page technical SEO requirements been met?

These questions are difficult or impossible or impossible for non-tech to answer. To have these questions resolved you need a qualified and experienced developer. Hopefully the person who built your site was qualified and experienced. But trying to push pages higher up Google’s search engine results without having these things taken care of first handicaps you from the start. Poor development practices

Design

Does your site generally and your pages individually communicate your message clearly to your target audience? Do you have clear calls to action? Is your copy great?

If your copy doesn’t grab and keep the attention of your target audience than good search engine results positioning won’t help you as much as you think. Your conversions will suffer.

Design issues can be taken care of by recruiting a good designer and/or copywriter.

Hosting

Google rewards sites with good hosting and punishes sites with bad hosting. A good hosting company will provide you with an adequately fast server. They will give you good advice on which of their offerings suits your needs. They will help you in maintaining SSL certificates. Generally speaking, you get what you pay for when it comes to hosting. So don’t use crappy cheap hosts if your website is important to your business.

So, with the fundamentals taking care of, we can begin…

Improving Your Search Engine Positioning

When Google accesses your page it assess it for two things: Quality and Relevance.

How do we know this?

Google is open about the broadest aspects of how it ranks sites and pages.  It publicly releases information to the public, including some of it’s internal documentation. However, Google keeps many details secret. Both to prevent people from gaming the system and to remain competitive.

Now that we know about Quality and Relevance, how to make sure our pages and sites have both of these things?

Quality

We can glean what Google considers Quality by looking at a document that Google provides to an internal testing team. There’s a lot of detail and context that I won’t go into. But here’s what we can tell that this team within Google are told to test for:

  • A “satisfying amount of high quality content”
  • Page design that satisfies the visitors needs
  • Articles written with effort and skill
  • Articles written with “Expertise, Authorativeness and Trustworthiness
  • Helpful supplementary content
  • A positive reputation

Conclusions Google’s Quality Guidelines

The interesting thing about the quality guidelines that Google gives to it’s own testers is that they pretty much make sense to non-technical folk. It helps to have an understanding of web content generally. But generally the guidelines are intuitive.

Practical Steps To Improving Search Engine Positioning

There are two points at which you can take practical steps to implement the quality guidelines:

  1. When creating new content
  2. When editing existing content

Either way, you can treat Google’s quality guidelines as a checklist. When creating or editing content you can look at your text and ask if it meets those guidelines. If you aren’t sure on the meaning of the guidelines you can read the document itself.

User Advocacy

It is extremely important not to be self-justificatory when critiquing your own copy against the guidelines. Don’t look at compare your text against the guidelines and think “this text matches my visitors needs” without really thinking about your visitor and their needs.

It’s too easy to confuse the needs of our visitors with our own needs as the content publisher. They are not the same. We need to step back and be honest about the human desires and needs of the consumers of our content.

Speed Matters

Users of the web have ever-increasing expectations. These days users expect content to be delivered swiftly and smoothly, and with as few obstacles as possible. A slowdown measurable in microseconds can affect conversion rates and thus the profitibility of your website.

Google made speed an index ranking factor five years ago. Amazon discovered that a slowdown of 1 millisecond caused sales to drop immediately.

So if you want to keep visitors, improve your ranking and turn visitors into customers then you need your website to load fast and perform with excellence.

So how do you achieve this

Performance must be built in from the ground up

This is something that developers have know for a long time. If you have an existing site and you want it be faster, there are things that can be done. But if your foundations are poor then any improvements to speed and performance could be minimal.  If you are starting a website from scratch then you are in a great position: you can make decisions right from the beginning that will assure great performance.

Start With Solid Hosting

“Pay peanuts, get monkeys” applies here. Hosting is a commodity, and the cheaper you go the less performance you can expect. Furthermore, if you buy at the bottom of the market to get started with then you can expect trouble when attempting to migrate your site to a better host.

The solution here is to get hosting advice from someone with experience in the world of hosting.

Hosting is a complex world with many different types of hosts across many different vendors, including shops that offer hosting specifically for WordPress sites.

Use a well-engineered theme

Assuming that you are using WordPress then you need a theme that is built well.

Of the thousands of themes on the various marketplaces – many look great. The demos available through envato’s marketplaces or through the many theme shops will show themes that look great. But just because a theme looks great doesn’t mean that all is well under the hood.

Many themes come loaded with redundant, inefficient database calls, a zillion options which will go unused and poorly performing, poorly tested code. Showrooms are designed to make products look great. But only qualified programmers can tell what’s going on beneath the surface.

To get a performant theme you have three options:

Have a qualified programmer build your theme from scratch,  choose a theme from a good theme shop, or have a qualified programmer choose your theme for you.

Themes to avoid

There are some very popular, very well-marketed themes that are just going to slow down your content delivery. Not everyone is going to like hearing this. But some very popular themes simply shouldn’t be used by people who are ambitious about their project.

Avoid any theme built with many options. One such popular theme is Avada. Its only one example. Such themes are built for all all possible scenarios, and finely tuned for nothing.

Optional: use a Content Distribution Network

Using a good CDN can really speed things up. But to get this advantage you need to have the foundations sorted first. The advantages of a CDN will be minimal if you haven’t got great hosting and a well-engineered theme. Paul Irish, a chief developer at Google has said “CDN’s are the gluten-free of the web” when talking a lack of solid foundations.

Cloudflare is a CDN offers a free level of service that includes some protection from DDOS attacks.  It’s a great start. Amazon’s Cloudfront is a popular service that can store items of your content across it’s global network. There are many other such services.

Asset Management: minify images

This can be critical.

The file size of an image can be relatively independent of it’s visual quality. That is, you can have two versions of the same image on a screen. They can both look the same to the eye. But they can have very different filesizes. Your website should be using the version with a lower filesize.

A lower file size will result in faster delivery.

Before uploading images to your site: reduce the file size.

Photoshop has a filter for saving images for the web. So does Gimp. If you don’t have either of these programs then you can use an online service for reducing your image file sizes.

Use as few images as possible per page

You probably worked that out from reading the last point.

Images are important for web pages. Images should reinforce the message of the page. They can illustrating a point or draw the user to another related message. But the more images you have, the slower the page will be. Even if highly-compressed images are being delivered from CDN’s: more images makes for heavier pages.

Conclusion

Fine-tuning the speed and performance of website is something that developers are always working on. Every page should be built with speed as a consideration. Great developers have an arsenal of strategies and tactics to keep website performance as fast as possible. There are many things that site operators can do as well. But speed must be built in from the very foundations.

I’m often approached by people asking the questions “How much does a website cost?”. The questioner is often someone who has never owned a web property before. Sometimes the questioner has (or does) own a site. But they need to know how much it will cost to build a new site.

The answer is always “it depends”.

This post will give you a better idea of what the total cost will depend on. If you are planning on owning a new site that you intend to be a real asset to your business then this article will give you information that you need to know in order to make buying decisions.

What does the cost of a website depend on?

The cost will depend on many factors. And a worth web design agency or developer will never tell straight away what your site will cost. Instead they will ask you lots of questions first. The questions will include:

  • What is the nature of your business?
  • What is your websites role in your business?
  • Do you have existing branding?
  • Do you expect your designer/developer to create branding for you?
  • Will you selling products or services directly from your site ?

… and so on.

The critical thing is this: context is everything. A good developer or agency will want to remove all guesswork, all assumption before providing a figure.

The Discovery Process

The process of questioning that is required to occur before an estimate is given is called ‘discovery’. And it can some time. Often the conversation is broken into several sessions. In the end, the more the developer know about what you want, the greater the chance that you will get a great website. The developer that understands your needs most deeply is the developer who will deliver you the most value.

The business owner will sometimes be charged for discovery from the outset. Sometimes early discovery is not charged while the the agency or developer is still trying to work out whether they are a good fit for the project.

At this point the business owner is paying for the developer or agency to bring their expertise to bear on the challenges that the business owner is facing. A good process is worth paying for: it saves money.

External Costs

Developers and agencies have different ways of calculating the labour cost of website building. But outside of labour overhead there are some costs that the client will be expected to cover.

  • Web Hosting
  • Email Hosting
  • Domain Names
  • Website Software

The quality and cost of all of the above vary widely. Most often the developer will choose a combination based on the clients needs and budget. Website software can start from ‘free’ and go up to thousands of dollars. Web hosting cost and quality widely varies.

Labour Cost

An estimate will have the cost of the agency’s labour built in to it. Different developers and agency’s calculate this cost differently. If the discovery process was sufficient then the cost of labour becomes a lot more predictable.

Conclusion

By now you can see that the question “how much will my site cost” will not yield an immediate answer. It’s a little like asking “how much does a house cost”. The answer depends on many factors.

A while ago I posted a list of free sources of images for web design.

I’ll be using this post to maintain lists of free web design resources and assets.  There will be some commercial sources in this list as well. But I’ll be keeping the emphasis on free materials. The point is to find assets for quickly kickstarting web design projects. I’ll be keeping this list updated.

Selfy Market

Creative Market

Pixelbuddha

Pexels

Image from Bigstock can be imported into your WordPress site directly through the Bigstock official plugin.

 

Wherein I compare those things called “frontend frameworks” and hopefully bring Bourbon to the attention of more developers.

Following is a light, comparative review of some frontend frameworks. I give a glimpse into the existing landscape.

Context: Bootstraps Dominance

Presently and for at least two years or so, the most popular “front-end framework” has been bootstrap. It’s everywhere. It’s an industry standard. Job postings all over the web ask for applicants to have “experience using bootstrap”, as if seasoned frontend developers don’t have skills that are transferable to any frontend framework.

Bootstrap has little appreciable competition for mindshare in the webdev world even though there are other frontend frameworks in existence. Zurbs’ Foundation is notable. It’s been around for a long time. It’s mature and people know about it. It’s thought of as “the alternative to bootstrap”.

Pros and (mostly) cons of Foundation

My opinion is conventional: that Bootstrap is easier to simply load and use, and that Foundation takes a little longer to learn. Where I’d stray from conventional opinion is that I don’t think that all bootstrap sites have to look the same. It depends how you use the framework.

zurb's yetiI’ve enjoyed using Foundation in the past. But going back to it, I simply can’t tolerate it’s installation processes. There are three options and all of them are… a bit icky. In theory you can just download the library and pull Foundation components into your project. But it’s not easy to figure out. It’s undocumented. And the installation paths that are documented are done so lightly. You can beat through the thorny path if you are a seasoned Ruby developer. But there’s no sane reason for way you should have to be a seasoned Ruby developer if you just want to install some frontend components.

Foundation promises to make development faster. But the complicated magic dance required to actually get started using it annuls that promised benefit.

Newcomers based on Googles Material Design

mdGoogle Material Design is a pattern language for design. The purpose of which is to encourage UI designers to create beautiful interfaces by using taking improved metaphors for web design into the realm of responsive design.

Google supports its Material Design language with its Web Starter Kit.

I have yet to experiment with Web Starter Kit. But I’m looking forward to it. Another project is Material CSS. It’s a student project out of Carnegie Mellon University. There is also LumX, a toolkit that includes and is geared forAngular.js. I haven’t tried these either, but may well do so in the future. Obviously a huge amount of work has gone into them and they look… delicious.

Bourbon

Bourbon.io provides sets of mixins for sass. That’s all. It’s really that simple.

Like Foundation, you have to the gem installed. Unlike Foundation, the installation of the Bourbon gem doesn’t require the same tightrope-walk and chicken-sacrificing. Combined with it’s sub-projects neat, bitters and refills, it provides most every component that either Foundation or Bootstrap do. And some that they don’t.

I’ve been using bourbon for at longer then I recall and I’m surprised it’s not more popular. It’s dead easy to pull it into an existing project or start your own project around it. My initial attraction was that earlier versions of Bootstrap didn’t have integration with sass, so the only way to use bootstrap was to clutter up the DOM with nonsemantic markup. Bourbon Neat let me use a grid system without cluttering the DOM.

Bourbon itself provides a range of conveniences documented here. It’s sibling libraries, dependent on Bourbon provide a grid system, typography and a collection of compents like headers, footers, navigation bars and tab systems.

Bootstrap also has a sass version, but I’ve found it more difficult to install then Bourbon. With Bootstraps Sass library, you have to pull in the deps with bower. And to tidy your project up before deployment, you’d probably have to handcode a Grunt task to move your files to the right place.

You don’t have to do that work with Bourbon.

In conclusion, Bourbon is easier to install then Foundation but you aren’t compelled to build your whole app around it. It has pretty much all the tooling of either Foundation or Bootstrap, but it’s much easier to get started with and you probably won’t really lose anything.

Can This Tool Help Me Build My Site Faster?

That’s the question I ask when I look at new tools. And it’s one of the ultimate benchmark tests that I consider when assess any new tool or process.

My core toolset is entirely programmatic. I either build custom themes from scratch, build child themes on top of existing themes, and plug the gap with plugins that I either get from the wordpress repository or build myself.

A handful of tools dominate the market for “visual builders” allowing people who are creating sites to build without having to code. Or at least minimising the amount of code that has to be written.

Over the last few days I’ve taken a look at a few of these tools. I’ve partly been motivated glowing reviews in the community, including from the likes of Chris Lema. Such posts often have a trail of positive comments talking of the wonders of these tools. That’s another motivation.

However my overall impression is that none of these tools offer a clear advantage over either customizing a child theme or coding from scratch. I’m likely to continue climbing the learning curve just in case something clicks. But the claims of added convenience and speed just don’t amount to much.

Here’s a summary of each of the builders that I’ve looked into, and my impressions.

iThemes Builder

iThemes Builder
iThemes Builder

Steep learning curve. Big and complicated. Unconventional coding makes child themes difficult to work with. iThemes provided themes are built very unconventionally and I learnt the hard way that you can’t just child them and expect to be able to use them without having learnt Builder deeply. I wouldn’t recommend picking up iThemes Builder as an experiment for an client project.

Support staff are responsive.

I’m uncertain that I’d ever use this for a real project. I can see that they’ve put a lot of work into it, but currently I can’t see the benefit of using Builder over creating a custom theme.

Ultimatum

ultimatum-logo-white

Also big and complicated with a steep learning curve. Advertises a “drag and drop builder”.  The term “drag and drop” gives an impression of simplicity. However, Ultimatum’s builder requires that you learn a complicated interface and new terminology. All of this has to be learnt before any dragging and dropping is done. An interface for customizing CSS the ultimatum way is too constraining for some simple things (You might have to add your own plugin to inject CSS into the footer). It isn’t helpful that they’ve overloaded the term ‘template’, already used by wordpress.

Subscription gives access to a bunch of plugins that you’d otherwise have to buy separately on codecanyon. I don’t know how they offer support for these.

Documentation is very detailed. However some parts of it are unclear, particularly when it comes to adding custom CSS.

I could end up using Ultimatum for a real project. But I wouldn’t expect to see any advantage in the speed of site creation over building from a child or custom theme.

Headway

headway
headway

A much more slick product then the previous ones but not without it’s own frustrations. It’s polish doesn’t prevent you from having to learn it’s nuances and many configurations. You get to the “drag and drop” action faster then you would if using Ultimatum. But it’s still big, complicated and constraining: as far as I can tell, if you are building a layout then you can’t create a custom loop within that layout.  You can add a “code area” with your own php. But thats frustrating, because you can’t code with the convenience of a proper text editor. So testing becomes a pain.

The actual “drag and drop” editing screen is also confusing for while. Power and simplicity do not go hand-in-hand.

An alternative is to drop in a widget area and then find a widget that lets you create a loop. But that’s much more of a pain then just, say, coding your own Page Templates from. Also, using a widget would require that you do custom styling without access to markup (annoying) and make it very difficult, if not impossible, to work with data created with tools like pods. This is entirely unnappealing.

I could possible use Headway for a real project. But I’d have to sink more time into learning it and I still wouldn’t expect to see a speed advantage.

**update: jan 5th 2015 **

Headway can be great for quickly laying out or prototyping sites. The difficulty comes when you need to use custom code. Headways templates allow you to drop in custom php. However, the workflow for this isn’t smooth. So the convenience of fast layout and intuitive layout production is offset significantly by clunky workflow. The headflow developers have clearly done much hard work on this polished product. But it isn’t developer-friendly.

Conclusions

For all of the above tools it could be relatively straightforward to build a simple site. But if you wanted to build a simple site you wouldn’t want to spend money and time on a new tool when you can just use an existing theme and possibly child it. Or code from scratch.

What I’m probably seeing is the emergence of niche: wordpress tools for “developers” who don’t actually do programming.

I don’t mean to sound like  grumpycat. I can see that the developers of these tools have put in a lot of work building their tools, marketing them and providing support. All the vendors have been industry players for at least a year and get a lot of great reviews – reviews that encouraged me to test their wares.  Clearly a lot of people in the industry are getting value from them.

And I’m likely to continue to experiment with these tools. Maybe I’ll have an “aha moment” with one of them. But for the moment the appeal of each of them is limited.

At first I didn’t understand the point of Aesop Story Engine.

I installed it in a local test instance of wordpress, and started using it. Initially all I could see that it let me add blocks of content via the editor. But members of the wordpress design and development community whose opinion I really trust are quoted as saying that it’s the best thing since sliced bread.

A couple of things helped me to ‘click’. First I read this article in the documentation. About halfway through reading it, I started to get it.

 The Niche

The marriage of digital storytelling and longform journalism has some produced some remarkable, and remarkably compelling pieces of online content. Here’s a famous example from the New York Times. Wired magazine produces some masterful pieces as well, including this one Edward Snowden.

The examples linked to above represent the state of the art, produced by a team of people fulfilling the roles of designer, developer and art director.

Can a wordpress plugin help you craft beautiful pieces of masterfully designed digital storytelling?

Probably not. Masterful craftsmanship takes more then a plugin. But Aesop Story Engine can give you a start in that direction. And in my opinion, if you channel skill, focus, time and digital resources into it, then maybe with ASE you an create something that approaches the state of the art.

 How Aesop Story Engine Is Being Used Today

The showcase has a mixed bag of examples that is, overall, inspiring. The showcased sites use themes available from ASE. Some of the uses are really great. In terms of presenting content all of the examples are at least pretty good. I think the ASE developers should be really proud of the possibilities that they’ve enabled for content producers.

The Ecosystem

aesop homepage

ASE can be downloaded for free. It’s available from the wordpress plugin repository and from github. Once enabled from the wordpress backend, it can be used straight easily and immediately from the wordpress editor for posts and pages. Although that probably isn’t what you want to do (more on that in a bit).

Official themes for ASE are available for download at cost from the ASE website. They aren’t as cheap as most themes, but I have no doubt that they are worth it: wordpress themes generally are underpriced and I’ve got faith that the team behind ASE produce great themes. My only reservation was that I’d love to be able to take an “official” theme for a test run and dig into the code.

However, there is this: a minimal example sample theme on github, offered for free by the developers.

It was pondering the way that the example theme worked that made me click to the “why” of ASE’s existence.

Now, there do not seem to be any free themes made for Aesop. But I suspect that they may come. Personally, I find this empty niche interesting. I can see third-party developers creating themes in the future and I’m tempted to build one myself.

The ASE site offers a bunch of inexpensive plugins, none of which I’ve tried. I’m sure they could save some development time for coders and non-codey site operators. Personally I couldn’t justifying shelling out for any while just test-driving ASE. Besides, I’d probably want to buy them all.

Why And How I Want To Use ASE

Digital multimedia storytelling can look beautiful and be really compelling. I’m dying for an excuse to use ASE.

Personally I think that multimedia digital storytelling can be more powerful if the content has some kind of contrast against it’s immediate context.

Here is what I mean by that:

Articles in this style in Wired magazine online look different from other articles in wired. They contrast. And that contrast adds to the character of those articles.

So for a website focussed on text content, I would like take either a few or none of the default styles and create specific articles with ASE using the minimal sample theme on github. I’d use something like  this plugin to deploy the custom theme for a specific post. (Thanks to an article in wpmudev for making me aware of that plugin).

Now some developers would wonder why I would use ASE if I’m going to code for that article anyway. My answer is “pure curiousity”. I might be able to achieve the same thing in roughly the same amount of time if I can do it by hand. I really don’t know if this is the case but I’d like to find out.

— edit —

Taking a slightly closer look at some of the features and add-ons to ASE, I can definitely see how building a story with ASE can be faster then doing it all by hand.

Update December 2016

http://thestocks.im/

Update May 16 2016

http://www.elegantthemes.com/blog/resources/free-creative-commons-images-for-business-websites

New Old Stock

Update August 30 2015

pixabay: thousands of large, high quality images image available for free.

stocksnap: “Hundreds of high resolution images added weekly”. Nicely designed homepage too.

Isorepublic: Photographer Tom Eversley’s site. Contains lots of  Urban or Architecture pictures. Also has a lot of great images that can be used for textures.

Realistic Shots: lots of CC licensed images. Not so many categories or images: but fewer choices means less time sucked into searching. Besides, the images are great.

Update June 27 2015

Gratisography: Free high-resolution pictures you can use on your personal and commercial projects. Updated weekly.

Little Visuals: No longer updated due to the death of the curator. However it has great resources. The blog maintainer requests that if you use images from the site, then kindly donate to Hands On Heart.

Ruamrot: categorized images.

Refe: beautiful images captured on mobile devices. Free images with an alternative paid subscribtion plan. Refe also has a marketplace.

Magdeleine: Daily updated free images.

Picography: Free hi-resolution photos.

Imcreator: Categorized high-resolution images.

New Old Stock: Vintage photographs from public archives. Free of known copyright restrictions.

wptavern publishes posts on all things wordpress. I’m sub’ed to their newsletter. One recent newsletter linked to this post:
“13 Sources For Free Public Domain and CC0-Licensed Images”

update Feb 8 2015

Some more sources:

Little Visuals: hi-res images zipped up in your inbox every

Picjumbo: Large collection of images free to use. Mixed quality, but lots of great usable images.

imcreator: Large collection of catagorized images.

isorepublic: another large collection, loosely catagorized.