Jake's blog posts Nic's blog posts Jamey's blog posts David's blog posts

jake

Great customer support

by ~ April 17th, 2013

Who better to rate our customer support than our customers? Here are a couple of snippets of super feedback we’ve had recently:

… and a really big thanks to Becky, David, Gemma and Chris on the support team (and Tom, Lee and Jamie on the design team) for such fantastic work :D

jake

Preparing for the 2013 busy season

by ~ January 13th, 2013

Preparing for the 2013 busy season

At the end of August 2012, and after nearly two years of development, we launched our new and exciting yearbook creation system along with a raft of changes to our product and pricing. Feedback on these changes has been overhwelmingly positive, however there have also been some comments about features we used to have that were missing.

We’ve been rolling out new features and improvements since launching in August, but unfortunately the speed of the roll out hasn’t been fast enough and there was no easy way to fix this. Our yearbook business is extremely seasonal and it’s crucial that we’re able to fully support all of our customers during the busy period that kicks off this month.

At the end of November I took the decision to take the best bits of our new system and the best bits of our old system and fuse them together. This enables our customers to keep our fantastic new page designs whilst also benefiting from a quicker roll out of features that are required for the yearbook busy season. What’s lost is our new system’s book-centric interface, but we’ve worked hard to ensure this shouldn’t cause any problems. We’ve also lost some aspects of the real-time nature of the new system, but these should gradually reappear over the coming weeks.

Regards,

Jake Gordon
Managing Director
AllYearbooks Limited

Here are some answers to questions you might have about our changes:

Help! Everything looks different!

The interface has changed but all your data remains intact. Please take a few minutes to explore the new interface and do get in touch if you get stuck.

Do I need to create a new yearbook?

No – we’ve copied all your data across to our new system.

Will my or my members’ log in details still work?

Yes.

What’s the new web address for my yearbook?

Use the same web address you were using before.

How do I upload pages I’ve made myself now?

We will relaunch this feature over the coming days.

How does this affect the price of my yearbooks?

It doesn’t.

How will this affect the design of my yearbook?

It doesn’t.

Why isn’t uploading photos as quick and easy any more?

We will be makiing improvements to uploads over the coming days.

As a member, how do I preview what my profile will actually look like now?

Right now, you can’t – you can only see an HTML representation of your entry. However, on saving any answers to profile questions you will be notified how much space you have left to write in, or if you’ve gone over your limit. We hope to add a feature for you to be able preview your profile again in the coming weeks.

jake

Relaunch!

by ~ August 28th, 2012

We just relaunched. Everything. New prices. New product. New brochure website. New infopacks. And best of all – brand new, awesomely amazing online yearbook creation system. Have a look and enjoy :)

jake

Lovely testimonials

by ~ July 19th, 2012

All our hard work is made so much more worthwhile by the amazing testimonials and kind words we receive from our customers :) Thank you to Alison from Scantabout Primary School for our latest hand-written testimonial which we received in the post this morning along with a dozen or so last-minute payments from schools up and down the country :)

jake

A new logo!

by ~ July 6th, 2012

We’d like to proudly launch our new logo… with a slightly Olympic theme seeing as we have the Olympic Torch Relay coming right outside our office tomorrow, 7th July at around 7pm! A big thanks to Chris Young for designing the logo and to Lee for the Olympic-themed blurbs to accompany it. :)

 

 

jake

Towards real-time yearbooks

by ~ June 27th, 2012

We’ve been working hard for well over a year here at AllYearbooks on our new yearbook-creation system, which will completely replace our current site over the coming months. We’ve been keeping it pretty much secret until now but are bursting with excitement to take a few minutes to let you in on what’s changing and why. Oh, and of course we’re hiring (Cambridge, UK) so if this stuff excites you as much as it excites us then do get in touch.

Why we needed something new

Our current yearbook system has been used to create real, hard-copy yearbooks for approximately 150,000 happy customers but is starting to show its age. It’s a fairly traditional LAMP web application, with simple HTML pages and a sprinkling of AJAX to make it more snappy.

Two years ago we worked with UX specialists Clearleft with the remit of fixing the low-hanging fruit in our system without making any fundamental changes. Whilst their changes certainly helped make things easier for users, our greatest lesson was that we gave the wrong remit: our system required fundamental rather than just incremental changes. Some of the lingering issues that people still had were:

  • Members of books only see a textual copy of their profile which will differ in layout from the printed version — this also makes it hard for them to know how much to write
  • Editors have to click a button and wait up to around a minute to see changes rendered, then have to browse low-resolution JPEGs of pages or download a sometimes huge PDF
  • Profile page templates are limited — images are stuck to a 2×3 ratio and few design options are available
  • If something needed to be changed on a page there wasn’t always an intuitive way for the editor to make the change

These problems all stem from a similar cause, which is a lack of quick and easy feedback for users when they save changes. We made a choice with our old system that profiles should be automatically generated online so that editors could make changes quickly without having to wait hours or days for a designer, but without quick feedback to users on changes our profile designs became very limited. To alleviate issues where members wrote too much text for their entries we made text automatically resize down to fit, but this hurts the look of the pages.

Our solution

So, what are we changing? Everything! We realised we needed a solution that enabled the client to be in constant communication with the server, with changes being pushed out as and when they happened. PHP just wasn’t going to cut it for this task. As a result, our new system uses none of our existing code, and is built from the ground up in CoffeeScript using Node.js on the servers. The primary view of our new system is that of browsing a book, flicking through the pages and making changes without having to go to some random other part of the interface. If someone changes their profile picture or answers their questions then all users logged into that book see those changes almost instantly, without having to even refresh the page.

These changes free us from many concerns that forced our hand in the old system. We couldn’t make templates too custom, because we had no way to show a user what their profile would look like quick enough to be friendly. This is now fixed by rendering the page the moment the user saves changes, sending the client a new render of their page within just 2-3 seconds of the user hitting save. The old 2×3 ratio for profile photos is gone as our templates can now deal with images of any dimension, and after uploading an image the user can instantly see how it will be cropped on the page. Automatic text resizing is also gone, because the user can now see how their text fits and wraps within seconds of saving it.

Architecture

The biggest change for the new system is that the front-end is now a single-page web-app, using Backbone.js which talks to the server and listens over WebSockets (or socket.io fallbacks) for updates. The socket connections are made to a cluster of Node.js processes, synchronising state using Redis. We use PostgreSQL for the database, fronted with a lightweight API upon which the rest of the system is built.

Rendering pages has also changed completely. We used to generate entire PDFs using PDFlib and then rasterise them into JPGs so that editors could preview them. Any time anything changed in the book these files would have to be regenerated, often taking over a minute. Scaling PDFLib to multiple servers would be costly due to PDFLib licensing fees, and we wanted to go straight from code to raster images as well as just PDF. We now use node-canvas (a Node.js module which uses the HTML5 Canvas API) which can take the same code to write either to PDF or images. This lets us generate images directly, and then generate the PDF in full only when required. A future advantage of node-canvas is that our render code is compatible with the HTML5 Canvas element – we did some initial testing with this, but the text rendering was still quite different between browsers, so for now we are keeping page rendering server-side. In future we plan to have previews of changes rendered client-side, and then generate a server-side reference version once the change is saved.

Because we’re rendering pages every time a change is made by any user, rather than just when an editor requests a fresh render, we had to be really smart to keep costs down and performance up. To limit the work needed to render changes, we have a differential approach: we send a JSON representation of both the new yearbook as well as the previously rendered yearbook to the renderer. The renderer then only needs to generate those pages which have changed since the last render. This automatically aggregates things when multiple people make changes to the book in quick succession, and means each yearbook only ever needs one renderer working for it, which helps keep the renderers responsive. The front-end is decoupled from the render jobs (no-one is ever frozen waiting for a render to complete), so they can be delayed when the site is busy, and extra renderers can easily be brought online for busy periods.

Coming Soon

We’re hard at work on the new system, and are excited about getting it launched and providing a brilliant new service for our customers in the coming academic year and beyond. If this work seems interesting, we’re currently hiring a developer, so get in touch!

jake

Providing online chat support when you want it

by ~ March 12th, 2012

Starting today, we now providing full online live chat support for all our customers from 9am until 9pm, Monday to Friday. In fact, we started this last week as a trial, and the results were so overwhelmingly positive that we decided today to officially launch this new level of online chat support.

So from today you can contact us via phone during our regular office hours (around 9am until 5pm) and also via our online chat system all the way from 9am until 9pm.

We aim to reply to all chats within around 2-3 minutes except for the odd break and meeting (well… we do need to pop to the loo every now and then!).

So what’re you waiting for? Get chatting with us now! :)

jake

Creating collages that customers love

by ~ March 8th, 2012

It’s yearbook busy season, and that means it’s time to create a monstrous amount of design work for all of our customers’ yearbooks. This year our big aim is to reduce the time between submitting a page for us to make and when we create it. Our aim is to create all (or at least almost all) design work the same week it’s submitted, unless it’s submitted on a Friday in which case it’ll be created the following week.

Oh, and it helps that our customers really, really love our collages…

jake

Getting Tweety with us

by ~ January 25th, 2012

Follow us on Twitter ( @allyearbooks ) for tips and advice about your yearbook. It’s also a great way to get in touch with us quickly and easily.

jake

Top 85 yearbook awards ideas

by ~ January 20th, 2012

Looking for inspiration for what awards to have in your yearbook? We’ve trawled our database of over 15,000 different awards and present to you the top 85 that we’ve found:

- Most likely to become Prime Minister
- Most Likely to Be Famous
- Most likely to become a millionaire
- Most likely to win a Nobel Prize
- Most likely to become a WAG
- Most likely to win an Oscar
- Most likely to take over the world
- Most likely to marry for money
- Most likely to get married first
- Most Likely To Become A Model
- Most Likely To Become A Nun
- Most likely to appear on Jeremy Kyle
- Most likely to win an Olympic Medal
- Most Likely to rule the World
- Most likely to win X Factor
- Most likely to cure cancer
- Most likely to become a teacher
- Most likely to break a world record
- Most likely to become a comedian
- Most likely to win the lottery but lose the ticket
- Most likely to get ID’d when they’re 30
- Couple most likely to get married

- Best Hair
- Best Dressed
- Best Smile
- Best Laugh
- Best Couple
- Best Dressed Female
- Best Dressed Male
- Best looking Female
- Best looking Male
- Best Sportsman
- Best Sportswoman
- Best Dancer
- Best Bum
- Best Musician
- Best legs
- Best teacher
- Best Newcomer
- Best Artist
- Best Double Act
- Best personality
- Best Singer
- Best Party
- Best Driver
- Best Comedian

- Worst Driver
- Worst attendance

- Most gullible
- Most Sarcastic
- Most creative
- Most musical
- Most Blonde
- Most Hardworking
- Most Artistic
- Most annoying laugh
- Most caring
- Most annoying but loved
- Most Organised
- Most competitive

- Biggest Drama Queen
- Biggest flirt
- Biggest Gossip
- Biggest party animal
- Biggest Ego
- Biggest Poser
- Biggest chav

- Class clown
- Funniest Person
- Rear of the year
- Cutest couple
- Teachers Pet
- Loudest
- Nicest person
- Party Animal
- Funniest Teacher
- Funniest Laugh
- Nicest Smile
- Favourite Teacher
- Blondest
- Loudest person
- Quietest
- Prom queen
- Happiest Person
- The [name of school] prize for outstanding achievement in the field of excellence

Also, a word of caution: whilst awards like ‘Most likely to go to prison’ may seem funny, the person receiving the award may not be so pleased with it. In fact, we’ve had a case in the past of a parent nearly suing a school when their child was given this award – the page had to be replaced to prevent this. If in doubt, ask a teacher what’s appropriate and what’s not, and be aware that every school has their own rules.