Design

Craft CMS Review – Beautiful, Sleek & Sophisticated CMS

alpybus_website

Eight years, hundreds of web projects, and a dozen content management systems later, NMC has largely standardised on three options: Drupal, WordPress, and our own HiFi. The two open source options are popular, stable, mature, and boast active development communities. HiFi we’ve worked hard to make flexible, powerful, and intuitive. Now, we’ve made a whole bunch of sites with all three and our real clients like them — so why on earth write about how we just started working with another CMS? Because it’s super great. Like, I’m-about-to-write-3000-words-about-it insanely great.

Meet Craft CMS. It’s sublime. We’ve used it on a few projects now and more and more, we want to use it for all the things. We just finished a big, custom eCommerce Craft website that would have been a nightmare with most any other CMS. But Craft lets us spend more time delighting the client and less time-fighting software. We delivered a better product, in less time, and with less effort. The client couldn’t be happier. What’s not to love?

Craft is powerful and flexible enough to replace the need for either WordPress or Drupal (which means less code to support), beautifully designed, easy for clients to learn and use, and a pleasure to build sites with. Beyond that, we like it because it’s modern, well-supported, actively updated, easy to deploy, easy to extend, and has built-in core features that would normally cost an arm and a leg in extra add-on fees for other CMS’s. I could go on and on. In fact, I’m about to:

7 Reasons to Love Building Websites with Craft

1. Consistent, Thoughtful Design

As a professional services agency, the products and solutions we provide our clients have to do more than just solving a problem, they should also be a delight to use, easy to learn, and fast to respond. Everything about Craft feels high-end: from its marketing site to the custom illustration of its installation process, to its clear, elegant documentation pages, to the beautiful, responsive, total-lack-of-unnecessary-UI-chrome of its control panel, Craft’s design and aesthetic are refined, consistent, and attractive. Attractive things work better. Less clutter means a shorter learning curve for clients.

A design isn’t just aesthetics, though. Craft’s control panel is sensibly divided into section types such as Singles (like the Home or Contact pages), Channels (anything that represents a feed of entries, like a blog or photo gallery) and Structures (ordered pages with an explicit hierarchy, like a site map). Assets like photos and videos get lovely grid and lists views and because they can be assigned custom fields, it’s easy to add data like location and caption. Together with the extraordinary Live Preview — which shows content changes on the page in real-time — publishing content is no longer a chore to be avoided.

Oh, and did I mention the control panel is responsive by default and has been localised into 16 languages? Now they’re just showing off.

2. Exceptional Core Features

Craft is packed with features that normally would cost a small fortune in 3rd-party add-ons:

First and most important is Matrix, which allows for virtually unlimited flexibility in laying out complex web views. The Craft website has a short video describing it and A List Apart has a great feature on “long-form content” using it.
The rich text editor, Redactor, is best-in-class and easy to extend and customise. It makes it really easy to give clients the tools to edit content using the right brand-consistent CSS styles.
No need for a separate plugin to resize uploaded images: it’s easy to apply transforms. You can set up some in advance or just make it up in your template on the fly.
“Relationships” are hard to do well in a CMS: they’re a kind of reverse-lookup for entries. The docs do a good job explaining how they work but don’t really tell the tale of how powerful and useful Craft’s implementation is. The fact that I can set “Entries” as a field-type that populates a drop-down with all the entries for the client to select is amazing.
It’s hard to imagine how you lived life before global custom fields. If you come from an ExpressionEngine background as I do, you know the pain of having to re-create identical fields for each channel / section! With Craft you can create some sensible defaults once and share them among all entries, adding only custom ones as necessary. Also, 18 different fields by default? Awesome.
Again, coming from an ExpressionEngine background, tags are not built-in as a first-party implementation (though there are a few really good plugins for it). Craft’s tags are built-in, can be created by clients dynamically, and are easily editable if you make a mistake.
Managing users in a CMS is typically a giant pain because they’re designed separately from the content itself. In Craft, because users are just another kind of entry in the system, they can be manipulated in templates like any other data object with the same syntax.
Did your site get fireballed and shut down? Or maybe your e-commerce site has a million visitors a day? Either way, you’ve got some serious image-serving needs, friend. And rather than deliver all those assets from your own web server, potentially racking up a tonne of extra charges, or forcing you to pay for or create your own plugin, Craft lets you easily use a CDN like Amazon’s AWS, Rackspace, or Google Cloud Storage right from the control panel.
Craft’s drafts and entry-versioning approach is all you could ask for: when you save an entry, you can include a comment about those changes for the next editor and easily roll back to earlier versions.
Finally, Live Preview has to be seen to be believed — it really feels like the future. No more training clients to keep two tabs open and showing them how to edit, save, switch, refresh, lather, rinse, repeat.
3. Rapid Pace of Development

It’s nice to know that there’s a committed team of professionals constantly working to update the product. Browse the Craft Updates page and you’ll see that they’ve maintained a blistering pace of new features, bug fixes, and refinements. The team is incredibly responsive to support requests: send a tweet or post on the official help forum and you get replies right away.

Craft’s developers have been able to accomplish so much in a short time because they made some smart decisions to off-load development of some of the underlying plumbing to other smart teams. For example, the PHP framework they used to write it (Yii) and the software package that powers the templating language (Twig) are modern, robust, popular, and themselves rigorously maintained and upgraded by other independent teams. Craft’s developers avoid the overhead of developing all that foundation code themselves and instead focus on really improving their own product. Plus, whenever Yii or Twig gets updated, Pixel & Tonic can roll it into the latest Craft version, giving access to the new features to developers like us. The result is like having a much larger company but with smart employees… who work for free.

Good Code Libraries == Smart, Free Employees

It doesn’t just end with Yii and Twig, though. Craft includes a number of other 3rd-party libraries that are frequently updated and that make Craft such a terrific product. Excellent libraries like:

jQuery UI, Timepicker, Placeholder, & File Upload
Redactor
Velocity.js
Guzzle
Imagine
SimplePie
PEL Library
Mockery
PHPMailer, PHPUnit, & DBUnit
4. Top-notch Support & Educational Resources

New software can be challenging to learn. With Craft, there’s no shortage of places to go to ask for help, look up an answer, or even watch a video tutorial:

Official Documentation
Official Support Forum
Mijingo’s Screencast Tutorials
Friday Craft Live Chat
If you’re just getting started, I recommend Jerome Coupe’s excellent beginner’s guide and Jake Chapman’s project boilerplate. Pixel & Tonic’s Brandon Kelly has a superb comparison of the difference in templating between ExpressionEngine & Craft and, of course, you can always hit up the #craftcms hashtag on twitter to ask questions and follow the latest.

4. Vibrant 3rd-Party Developer Community

When a lot of people are excited about making plugins for your software, it’s a good sign of the health of the product. A good ecosystem is essential for supplementing the software’s core features and makes the original more valuable (think Apple’s App Store). For being a relatively new CMS, there’s a tonne of great, high-quality, and useful plugins available. And while there’s not (yet) an official plugin store or repository, the Straight Up Craft Plugin Directory is pretty close. Some of our favourites include:

Directory provides access to Straight Up Craft so you can browse and install plugins directly from the control panel
Charge is perfect for integrating Stripe for one-off payments and donations
Import allows you to import data from CSV files and map it to Craft fields
Typogrify prevents ugly apostrophes and widows
Control Panel CSS gives you easy access to styles to modify the control panel
Pimp My Matrix lets you sort Matrix block types into groups
Sprout Forms makes it easy to create multiple forms
Redactor Clips adds the “clips” plugin to insert predefined code snippets
5. Sensible Pricing

The free version of Craft, called Personal, comes with one user, one channel, five singles, and will be plenty adequate for a large majority of sites. Having a totally free-for-life version is great not just for clients’ pocketbooks but also for developers who want to download the software for their own use and learn how to develop with it.

There are two paid tiers: Client for $199 and Pro for $299, both exceptionally reasonable (especially if you’ve had clients paying $10,000+ per year per computer for a Microsoft license). The really great thing is you can use the Client or Pro versions for free when developing: if your local web development environment contains “craft.dev”, you’ll see a link in the footer to unlock all the features. Add as many subdomains as you want, like site1.craft.dev, site2.craft.dev, and you can extend it indefinitely. Then, when you’re ready to deploy to production, you can pay for the commercial license (or bill the client!).

alpybus_website

Caption: Swiss Chamonix to Geneva transfer site AlpyBus uses Craft.

 

6. Easy for Web Developers to Implement & Deploy

It’s not just our clients that like it — Craft makes our lives as developers easier, as well:

Twig

At the heart of any CMS is how to fetch & display data from the database. Every CMS uses a different templating language and they are certainly not all created equal. ExpressionEngine, for example, has a simple and powerful syntax using exp:channel:entries. For all WordPress’s strength, it altogether lacks a template language: developers just write raw PHP in the templates and even simple things like repeating calls to the Loop requires disappointing kludgy workarounds. A good CMS should abstract away the database call with simple, predictable, and flexible syntax.

That’s where Twig comes in. You’ll hear a lot of developers sing its praises and rightly so. It’s powerful, concise, and expressive and supports all manner of cleverness like performing math calculations and text manipulation filters like upper and slice. Perhaps its best known and most useful feature is how it can extend one template from another, replacing selected regions of content and easily setting variables for use in either one. (And don’t forget macros! They’re like reusable bits of code that will seriously make your life easier.)

It does take a little getting used to but its appeal is undeniable: take a look through Twig’s examples and you’ll see what I mean. Craft’s creator, Brandon Kelly, has a nice starter guide called Twig for Designers and the Craft documentation includes a handy Twig Primer.

Multi-Environment Configuration

This is so killer. Web developers typically work on websites on their own computers, usually called “local”. Then they push the site — with the database — to a test server, known as “staging”. Assuming everything is copacetic, they deploy the site to “production” where it’s visible to the world. Normally, keeping track of all the settings as the site moves from spot to spot is a gigantic hassle. But Craft feels our pain and combines all the differences into a single configuration file. No muss, no fuss.

Dev Mode

Craft allows developers to set a flag in the configuration file so that the system knows it’s under active development. The Dev Mode provides a whole suite of useful information and functions:

PHP errors and exceptions will be reported in the browser window, with a complete stack trace and code reviews
Template syntax errors will be reported in the browser, with a preview of the offending template
Craft will log the database queries, POST data, active cookies, and active session variables to craft/storage/runtime/logs/craft.log
Twig’s dump() function will be enabled
Also, developers can export the database with one click (it’s stored in craft/storage/backups/).

Easy Plugins

Last but not least, Craft’s plugin architecture is transcendent, which comes as little surprise inasmuch as the makers of Craft started as pro ExpressionEngine developers. (My guess is they saw Craft as an opportunity to make a CMS that made it as easy as possible for people like themselves to write new plugins.)

Craft makes all of its core services available to developers so that it’s easy to extend the functionality: for example if one of the 18 field types that Craft comes with isn’t enough, plugins make it easy to add another. The class reference is sensible and straightforward which means that you don’t need to be a back-end developer to supplement your project with extra functionality. The ease of plugin development is no doubt a large part of why there are so many good ones.

7. One-click Updating

‘Nuff said.

Bonus Reason: Smart People Like It

You know, great minds and all that:

Happy Cog: “Add new fields on a shared development server, download the database from the admin panel, then update your local database. Easy breezy.”
A List Apart: “I use the Matrix field to drive long form content on my own site, and you can see how much flexibility it gives me to create interesting layouts filled with images with captions, quotes with citations, and more.”
Taecho Group: “The range of built-in field types cover nearly every content scenario.”
Made by Kind: “Craft’s clean and flexible templating system allows us to then output that data exactly as we wish, allowing us to achieve very the highest level of interface polish.”
Viget: “[W]hile you are creating an entry, you can click on Live Preview to bring up a split-screen view that lets you edit and view your changes as you type. You can also generate shareable URLs so others can view the entry as it would appear on the page before publishing it.”
Matt Wilcox: “Craft doesn’t assume you’ll be wanting a blog, or that you’ll want to work in one particular way. It just provides a really solid, flexible, intuitive, and well documented set of tools to let you build your own thing.”
And Yet, No CMS is Perfect

Just because we’re big fans — and excited about Craft’s potential — doesn’t mean we’re oblivious to its shortcomings. Here’s how we think Craft could improve:

Multi-site Manager

ExpressionEngine has had a multi-site manager for years; it allows you to run the same CMS across multiple domains. This means clients only have to manage one login for several properties and is relatively rare as far as CMS’s go. I’ve heard that they’ve considered it; in fact, early versions of Craft had this functionality but that it proved to complex and buggy. Maybe some day soon! But as it stands, you need one license per domain and multiple logins.

Official Plugin Directory

The Straight Up Craft directory is good but an official one from the makers of Craft would be even better. There are rumours it’s in the works — not just an official plugin store, but one that’s built into Craft’s control panel where you can browse, buy, and install right from the dashboard. Popular developer of Craft plugins, Dukt (he of the Plugin Directory, um, plugin) was recently hired to work for Craft full-time — probably to work on this.

E-commerce Plugin

This is the big one! Though to be fair, this is no flaw of Craft itself. But for software as powerful and easy to extend as Craft, it’s surprising that there’s no great, go-to e-commerce and shopping cart plugin yet (we wrote our own for Fleet Feet Sports). There are some developers actively working on a solution but it’s not available yet and as it is right now, developers are limited to one-off charges or integrating 3rd-party JavaScript solutions like SnipCart or FoxyCart. My wish? Something like Expresso Store for Craft!

We Think You’ll Be Crazy About Craft, Too

NMC knows a thing or two about CMS’s: in fact, that’s how it all got started. Waaaaay back in 2006, two of NMC’s founders developed one while completing computer science degrees that was so promising they were awarded seed money to start a company around it. That software eventually became HiFi, our in-house CMS, which currently powers more than 500 of our clients’ websites. The right CMS can make a big difference.

That’s why when it comes to technology, we think a lot about what we use and recommend. WordPress and Drupal are common in our law firm websites and non-profit website markets, respectively, and a few years ago we used to use ExpressionEngine (that’s for another blog post). Multiple CMS competence is a lot to keep up with so most firms specialise in a single one to reduce overhead. When Craft came along, the initial idea of trying out Yet Another CMS wasn’t super attractive.

But once we started using Craft, we want to use it more and more. Craft’s developers have done an exceptional job balancing the right combination of power, simplicity, and flexibility. Good CMS’s are hard to find! If you haven’t tried it out, definitely give it a shot — you can even give it a spin with a live demo site to fool around with. If you have, what’s been your experience with Craft? Let us know in the comments.

Business

Networking to Win – 5 Steps to winning at Wedding Catering

Networking

You’ve heard it many times before, networking is critical to good business. Today we’re going to look at at Wellington based company that does wedding catering – Blue Carrot Catering.

wedding catering

Relationship building is important for all industries, but in industries where trust is paramount – word of mouth marketing is critical to a successful business model. For Weddings, where everything needs to run perfectly, people can’t afford to take a risk on a catering company that’s second rate.

 

  1. Provide Excellent Service Every Single Time

One thing Blue Carrot does incredibly well is provide an incredibly high quality service to it’s clients. Not only is this good for satisfaction ratings and re-use. But also great for word of mouth marketing.

 

2. Engage with the community

By frequently engaging with the community through giveaways and charitable donations Blue Carrot is able to become first of mind for wedding catering in the community.

 

3. Get the community to engage with them

Running online facebook campaigns that determine where money put aside for charity goes to allows the conversation to begin between customer and business. It allows the customer to feel like they’re actually contributing to the business decisions. And giving back to the community in a way.

 

4. Building relationships with key players

By making connections vertically across the touchpoints of weddings, Blue Carrot is able to get numerous referrals through this. For example, strategic alliances have been build with wedding venues like Wellington Zoo and florists like Twig and Arrow. These people will give Blue Carrot a positive referral in exchange for Blue Carrot giving positive referrals about venues or florists.

 

5. Referral Page

As many of these players now have referral pages on their websites it can be a good option to build a referral page on your site. In terms of outreach to businesses that you may not have incredibly strong relationships with, this is going to be your saving grace. You might say something like “Hey, I was wondering if you’d like to be a featured supplier on our site”. More often than not this ends up with a mutually beneficial relationship.

 

So you’ve heard it here first – these are the 5 steps you need to take to start winning at wedding catering. It’s not hard stuff, however can be time consuming.

Uncategorized

Wellington Part Time Job Startup Secures MoJo and McDonalds as Clients

Parttimer

The Wellington-based startup PartTimer, a platform for finding a part time job in New Zealand, has managed to secure two high profile clients before even launching. McDonalds and Mojo have both come on board, bringing a lot of additional jobs and stability to the fresh faced company. This solves the chicken and egg problem for part timer, which many startups face in their early days.

Everyone knows that finding part time jobs can be difficult. Especially in areas like Auckland. As it’s such a massive city, it’s nearly impossible finding a job that suits your availability and location. Searching for jobs that match all of your criteria is lengthly and stressful.

You’ve got to make sure the job fits around your hectic life of classes, study, internships, and a social life, finding one of these jobs is often next to impossible. You can try door knocking to hand out countless resumes, but this is tiring and often ends up with the CVs being thrown in the bin. There are the cold emails that go unopened or sent straight to an employers trash folder, and they’re left with no formal way to categorise or store job-seekers CVs for when the next hiring round is needed.

For many stores, the process is online: want a job at McDonalds, Countdown, The Warehouse, or any other chain store? To get even the slightest chance, you have to go through each organisations time consuming online application process, full of dozens of mind-numbing questions – frequently answering the same questions for every application you fill out. It’s an incredibly inefficient process that wastes everyones time.

Here’s where Part Timer comes in. Having faced these problems herself Rebecca Gidall decided she would try her hand to make this process easier. PartTimer was born. The idea was developed through the Venture Up program at CreativeHQ, an entrepreneurship program for 16 to 24 year olds.parttimer_team

Gidall and her team wanted to create a platform where high school students could easily detail and showcase their positive attributes and why employers should employ them, a platform which didn’t have a strong focus on experience – many of us have surely been through the frustrating ‘I need experience for this job but can’t get experience without a job’ loop.

“I think that, with a lot of traditional recruitment methods like just giving in a CV, people are held back because they can’t show the other reasons why they’re great and why they should be employed,” Gidall states.

parttimer

PartTimer, works by having an applicant create a profile by writing a bio and inputting information about what industries they want to work in, and what hours they will be able to work.

Employers view applicants via location, and add them to a shortlist – the idea is that job seekers will be more punctual if they live closer to work and will be less tired from travel. The candidate then receives a notification saying that this employer is interested in them, and if they are also interested in return, can allow for the employer to view their full profile, after which a meetings and interviews can be arranged.

“What we’re doing now is giving employers a reason to give them an interview because the applicant is close by or they’re available at the times that they need them. What that does is it actually gives them a reason beyond just experience to give them a shot,” Gidall explained.

They’re not the only Wellington based team working in the space, SeaDigital is taking a different approach to solving the chicken and egg job experience problem. By giving young people who are involved in startups an opportunity to work in their chosen industry with real paying clients, SD has found a group of highly motivated employees who want to prove themselves, and learn as much as they can while on the job.