Browsed by
Category: Uncategorised

In space no one can hear you scream: An Email Tribute to ALIEN

In space no one can hear you scream: An Email Tribute to ALIEN

 

Hello!

This is a rough write-up (apologies for grammar and spelling, it’s really not my strength in case you hadn’t figured that out already. As usual I am rushing through it). If anything doesn’t make any sense get in touch, and any code you can grab from the builder link at the bottom of the blog.

So I made this

Before I go on – please be aware if you do look at the link do so in Chrome or Safari, as I’ve focussed on webkit – and although it’s largely fine in Firefox there are some CSS transitions that Firefox doesn’t like, such as the background sprite switching mid-animation keyframe. And I have not focussed on any targeting or fallbacks.

As a follow on from doing the Sonic The Hedgehog concepts, I wanted to have a play around with some other features. I wanted to do something a little more disruptive. I wanted to create something with a first person view, but also to have a desktop size and mobile size, still staying with the sprite animations. (For what it’s worth I did have a play around with a 100% fluid version, and will probably do that next-time around. But some of the assets didn’t really work well enough for it, so I’ll save that for another time). And I wanted to throw a few different techniques in there, and show some other little CSS tricks I quite like.

I initially wanted to try and ‘bring a movie poster to life’. I really like the Netflix emails where they animate, so I wanted to see where I could push that a little more. What’s great about the Netflix emails (this one) is they go against the norm, and are really fit for purpose. They do a great job of grabbing attention.
I wanted to do something scary, to see how that would translate, especially without sound.

I chose ALIEN mainly because it’s a great movie franchise (first 3), it terrified me as a kid when I saw it, It’s tense, and unsettling and I like that.
There are some great posters and fan posters out there, but also because of the ALIEN Isolation game, there were some good quality static assets already out there. So I could try and bring the two together. So it’s all a bit of a mash-up. Using whatever I could get my hands on to try and make something work.

I started with some sketches and started to roughly plan what I was going to do, but largely I just got stuck in.

diagram

diagram2

 

PART 1 – Start and Finish

At this point I’m really just working on the desktop version. The reason for that is I initially started working on both, both on mobile the space is very different. When I started by making it fluid the sprite of the setting would be small, so I decided it would be better to crop of the images and swap out the sprite with media queries. (I’ll mention the mobile version more shortly)

I started out concepting the setting, and the Xenomorph attack. And cutting out elements of it so I could “mess with the lighting” before I put the sprites together.
(initially I spent quite a while messing with these, but below this is some I created later at a bigger-size)

I was initially going for this setting, with messages falling down, and the lighting getting increasing more frantic, until eventually it goes to black, and the strapline message comes down, and then the Xenomorph comes along and gets you.
Once I made that I changed my mind and wanted more interaction, so I start again and focussed on the start and end and figured I could fill the the middle out afterwards. So Like Sonic I made 3 stages and then pieced everything together afterwards.

I probably remade or adjusted all the sprites about 3 or 4 times. Just to get something like what I wanted, and I probably could spend a lot more time on it, if I had it.

setting

The Xenomorph is a lot more like the Sonic sprites, where It’s runs through each frame step-by-step. This is a s really reliable way of doing these, as I’m letting the image do the work. CSS is great but I can be a real pain, and I’ve already mentioned the problem with Firefox earlier swapping images mid-way through, and for accuracy i find it just works better, and with less code. (Each to their own though)

alien_sprite

The setting at the start is a little like this too, but just built slightly differently, where the keyframe is more laid out with percentages of the timeline, and position changes are used a lot more, as this allowed me to move back and forth between sections, which I didn’t do too much, but would do more of later on in the build (I began to use this method more as I got frustrated editing the sprites). The benefit of this method is you can reduce the weight of your image. 

For example if you look at the image below, there are quite a few duplicates. I could have had one of each and used CSS to control the background position at each stage.

alien_seting_sprite

 

PART 2 – The Bit in the Middle

The part in the middle is a again more sprite work…. It’s no different to the other sections. But this time I switch images mid keyframe, and use CSS to move positions a lot more.

On mobile you’ll notice that this section is a little jumpy – and not as smooth as the desktop. It’s bit annoying to look at, but I’ve left it as it is as I think it’s a good demonstration as why your sprites need to be bang on, and taking the time to get these right wil save you time and headaches in the long run. I raced through the mobile sprite a lot more to get it done, and then started trying to see if I could fix it all with CSS (deliberate experiment). But it would have been quicker to spend more time getting it right.


PART 3 – The other bits

Once all my assets were sorted (to some extent) I began to bring it all together and think about animations etc.

The Title…
I have tried to copy the original poster, with wide spacing between each letter. I used letter spacing at set pixels, and then changed it at the break point. for a more fluid approach you could look to use ’em’.
I also have the text fading in an out. I initially had the text flickering, like a fluorescent lightbulb. But it was all a bit much. I actually think it’s better without the fading on the text, and it’s just solid, but I’ve left it in for now.

Buttons…
Obviously these are checkboxes which trigger the next step. I’ve used some CSS to do different things. I wanted them to seem like messages from someone, and use that to help the user through the email.

The Shakes…
When the attack happens, you make notice that the whole thing shakes. Initially I had this happen all the way through, to give the impression of breathing, and/or the setting juddering a little… but it was a little jarring, so it’s barely even there now. And just on the Alien attack.

What else was I planning for this…
1. I wanted to have a chase/panic scene. So just before the Xenomorph gets you. So you run through some corridors a little, and you see a little more of the  Xenomorph, and “your hands” appear on the screen, before the attack scene. This would be time consuming, and add more image weight. But the main problem I had was I didn’t want to just keep adding sections and it becoming more and more of a game.

2.  I was thinking about having a little checkbox pop-up on the “monitor screen”, or a light switch or something like that, like an extra transition. Initially one of my idea was to just have a dark email, a light switch, and when you turn the light on the Alien is there.

3. I wanted to make the mobile section a little better than I have. But overall there are lot’s of things I could have done a lot better, and time allowed I could.

 

So that’s about it… It’s not the norm or best-practice or gaming or even a good email. But it’s different. That’s what these have been about.
Not a gimmick. They are just exploring different ideas without conforming the rules. And if we don’t do that and see where it takes us, it all just becomes monolithic cardboard. Digital Cardboard obviously.

 

Is it scary enough to have an impact on the question “What’s the best time to send an email?”

 

 

VIEW IN CHROME OR SAFARI

VIEW IN LITMUS BUILDER

TWITTER: @joon82

 

Thanks.

Hope you like it.

Kristian

 

The Interactive Christmas Tree

The Interactive Christmas Tree

Firstly, to give you some background of how this came about, in-short, I was actually thinking about an email that I could make that my daughter (Poppy) would interact with and enjoy. Poppy is almost 5 and has no real concept of what email is, or what I do do for living and I wanted to make something that she would be interested in.

I also thought if I can interest her, then perhaps it might give me some more insights in to something that I’ve also been thinking about. Something that people could share, or post socially.

Something that:

  • Wasn’t made of the usual content, sales, or messaging, or welcomes.
  • That might just engage the person who receives it to interact
    with the brand perhaps in the way the usual social media channels do.
  • To show our clients that boundaries within email can be pushed, not just in code, but  also in it’s approach.
  • I also initially wanted to create something that had no images at all.

I don’t really feel like I achieved any of those things to any great extent, but it’s part of a larger body of work, and I learned a lot from creating it.

I think I wear my influences on my sleeve with this email, and it’s definitely a bit of a nod to them. Mark Robbins and TABLE TR TD are there for all to see. I’ve never really fully delved in to interactive email fully, I’m more of an CSS animation geek, so In fact I reached out to Mark, Camille and Miah  (Table Tr Td) to get their input on it and they were kind enough to get involved. In fact the Humbug idea came from Camille, and I think it’s my favourite function.

I also took a lot of influence from Mike Ragan‘s work on pixel-art which always resonated with me somewhat from that point of view of focussing less on that ROI/stat based email culture, and thinking about that social sharing side of things. Mike said described his pixel-art as a “labour of love” and I certainly know what he means by that after making this. But I felt the idea of the email still functioning in the same way even if the user doesn’t download the images. That would be cool.

I then just tried to combine them all with my love and hate relationship with CSS.

it went through a few stages, before ended up as what went out.

Stage 1

1

As it was coming up to christmas, and Poppy likes colouring in. I started by simply making a Christmas Tree with the simple premise of colouring it in. It was made up of 105 checkboxes and styled with a preset colour in the CSS to be activated when checked.

Poppy loved it, it was a huge success. She also made me share it with her friends so I ended up sharing a web link with a couple of her school friends parents. Which was unexpected, but nice reaction. I guess the reaction wanted despite being from a 5 year old.

Stage 2

The first version (despite it’s success with Poppy) wasn’t really going to cut it from a professional perspective and it led to the main idea which was “Decorate the Christmas Tree”.

2

So I had the tree already coloured in a create a palette of colours that you could choose to colour in baubles and then apply to the tree.

The problem with this was I wasn’t able find a reliable way to have multiple bauble colours on the tree, triggered by the menu, without heavily bloating the code. Whatever you selected in the colour palette changed all of the baubles. So because of the menu of colours it inferred that you could have numerous colours, so when using it, you were actually left disappointed. When I tested this on Poppy she just got very frustrated, and told me “IT’S RUINED!”

2a

 

Stage 3

The colour palette concept was ditched and set colour baubles to appear behind the checkboxes, by creating different colour styles for different classes and assigning them to the checkbox.

I then created a menu section which is similar to what exists now. The functionality changed to the baubles to christmas lights, and added the “Humbug” option suggested by Camille.

The lights worked well because they are change of colour animation, and when selecting each checkbox it starts from the beginning so it gives the impression of randomness.

The idea for the humbug option was initially a gif, of the tree burning down. Like when Wylie Coyote blows himself up after pressing the TNT plunger. I then changed this to a background sprite animation instead of a gif so that every time the button was pressed the animation played. (Thanks Mark for suggesting that change). Otherwise the user would have to go in and out of the email to make this function play again.

3

 

Stage 4

We then began work on the surrounding design. We wanted to keep things simple for this – so we just targeted webkit and and everything none webkit got the fallback version. Which was very much that.

Anyway we had these constant frustrations with it, and that was:

  1. The Baubles couldn’t be controlled by the user.
  2. When selecting lights the baubles would changed to lights, and the lights were much better. You couldn’t have both.
  3. If you selected your baubles and then pressed ‘lights’ they would all change and be on the same animation timeline. We didn’t have the desired affect.

So we changed it again. To how it is now.

 

Stage 5 – The Final Version

For the final version we just went with the variation of lights. This helped keep things a little simpler and work better simply because all that is now happening is that the different functions are a different CSS animation.

The only real problem I had was that in making the web version (which wasn’t just targeted to webkit and didn’t have any fallbacks etc,..), even when specific creating -moz- targeting in the animations for the mozilla, all of the animation colours for the lights were initially made up of a a skew and scale change that had varying gradients with box-shadows. However when i tested the menu functionality options Mozilla didn’t like the gradients, and wouldn’t display them, instead just displaying nothing with a box-shadow around it, and after spending a few hours trying to fix it, I decided to simplify a little. Time was pressing. So I reverted to simpler hex codes for that instead as it appeared to have problems with the linear gradient.

 

To Conclude…

It was fun experiment and will lead to more, and it was a great way to launch our newsletter. Which you can sign up to here.

And I was particularly pleased when Kevin and Jason made it the “Email of the Week” on the Litmus Email Design Podcast

Here is the code for each version. I’m sure it could have been lighter and cleaner but it was largely all born from adapting the build at each stage.
Email Build
Web Version

 

Thanks for reading.

Kristian

Background Images: Part 2 – Full Bleed Emails, VML, and OWA

Background Images: Part 2 – Full Bleed Emails, VML, and OWA

litmus

Following on from Part 1 of my blog post on background images, part 2 focusses largely on the considerations behind full-bleed backgrounds, and just finishing on a couple of other frustrations with VML and OWA you might want to be aware of.

Full Bleed Backgrounds

A simple method for adding more texture and depth to your designs, and break-away from the usual containers is to use a background image that spans the entire space of the viewing pane. I explained at #LitmusLive that my key considerations for this are:

  • Have as smaller image as possible in terms of weight.
  • Ensure that image is designed to repeat well if required.
  • Don’t base your entire design around this. Use it for enhancement.

Using backgrounds in this way becomes very simple, and doesn’t take long to implement. Much like the Litmus example above, which illustrates this point perfectly. There are a couple of quick ways to do this.

.bg {background: url('yourimage.png'),
     linear-gradient(-25deg, #262e45 0%, #222635 100%);
    }

The easiest way is to simply host the image, and add it to in the <style> of the <head> of your email. This has limited support, and won’t give you support on “Those Outlooks” and Gmail for example, but it’s a quick and easy way of providing an extra attack on the senses without having to spend too much time on it. Where the method is not supported it simply won’t appear and will gracefully degrade back to a flat background colour.

Speaking of which, you may have noticed that Kevin used a transparent PNG, and then applied a CSS gradient behind it, which also will fallback to flat colour where unsupported.

The inline method is somewhere which will offer you a little more support. You can use backgrounds.cm to set this up for ease, and this will save you the hassle, and will provide you with VML required to make it function in “Them Outlooks”

Keeping it Simple(r)

The reason I tend to stick to the 3 bullet points as rules, is to keep it simple(r) (and I have Outlook users to consider). I still believe for ideal user experience layout images (rather than content images), should still be used in this environment (unless you really know where your audience is going to open your email). This way you’re not chancing key pieces of content, key imagery, not displaying and affecting you’re overall build.

There are many fine examples of beautifully designed emails that feature a full-bleed content background images. But they are not without their issues, such as “Them Outlook versions” and “Those older Outlook Versions” squashing the images, or not rendering consistently on opening, or zooming in, or the image potentially adding significant amounts of weight to your email (if you’re not treating them right), as you’re likely to need something around 2000px wide.

If you’re looking for more my favourite approaches to full-bleed email background I’d suggest looking at Campaign Monitors and Taxi For Email’s newsletters. Key thing for me is they have chosen their images wisely. It provides them with flexibility.

The biggest issue you’ll find is in Outlook Web/365/.com (whatever it is right now).  The lack of support for “style” in background images in Outlook Web means you can’t control it, and depending on how the big/wide the viewing pane is, the content that sits on top will be in the wrong position (like below).

robot_owa

In my opinion if you are going to start diving in to full bleed emails with content; know your audience, plan ahead, think about the overall weight, but think about the overall user experience. How does it render in version of Outlook(s) at different sizes of viewing pane. You can’t just rely on your testing subscriptions for this, you need to do more thorough testing on devices and inboxes to be fully confident of their functionality. If it doesn’t render quite how it’s supposed to is the content still accessible.

You could however think about having an outlook fallback that is a restricted width. I have seen examples of this. (See the Taxi for Email Newsletter)

That being said if Outlook isn’t much of a consideration, or you have some flexibility that it doesn’t have to render perfectly to plan everywhere, then go for it.

Hopefully if the web versions of Outlook perhaps get some bugs fixed, this sort of issue will  start to go away and will be a significant step in the right direction.@litmusapp @caithartMSFT

Using ‘Cover’ and Full Bleed Backgrounds with content images

Other than some of the versions of Outlook, what else needs to be considered if you are to start thinking about using content images as full-bleed backgrounds.

Gmail

(please note that since writing this, Gmail has started supporting ‘background-position’ and ‘background-size’)

One thing I mentioned in part 1 of these blogs, was that Rémi Parmentier @HTeuMeuLeu discussed briefly at #litmuslive that background-size:cover was supported in gmail if it was set-up as shorthand.

The one thing I tend to stress with using ‘cover’, is that it will full the space and zoom-in/crop off the sides in order to fit the space (also mentioned in part 1). So depending on height of the space that it is filling, you’re going to need to still plan ahead with the images you use, and experiment back and forth to achieve the results you want. 

For this experiment I used an image that is 2000 pixels wide in a 600px hero section. You can see below that this methods works in Gmail app and the Yahoo Mail app.

robotcover

(Please remember that a non-gmail account on the gmail app will not render a background image).

<td bgcolor="#000001 " valign="top" background="yourimage.jpg"
height="auto" style="background: url(yourimage.jpg) 0 0 / cover; 
background-size:100%; max-width:600px; background-repeat:no-repeat !important; 
background-position:center top;">

Taking this to the next level and using the image as a 2000px full-bleed background, we have to change things a little. I’ve added what I did here, feel free to have a look at the code (it’s not the tidiest of code, lightweight code, or the most precise, it’s a bit over-coded, but I will go over the key parts).

The first thing is the set-up of the image itself. Again I’m sure I’ve probably over-coded this, but it’s just a dummy for testing.

<td class="yhoofx bg_cov owaoff" bgcolor="#000001" valign="top" background="http://kristianrobinson.co.uk/was-looking-mr-robot-fullw.jpg" 
height="auto" style="background: url(http://kristianrobinson.co.uk/was-looking-mr-robot-fullw.jpg) 0 0 / cover; background-size: 100%; 
background-repeat:no-repeat !important; background-position:center top;" >
<!--[if gte mso 9]>
<v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="mso-width-percent:1000;background-size:cover;background-repeat:no-repeat;"padding:0px; margin:0px; display:block;" inset="0,0,0,0">
<v:fill type="frame" src="http://kristianrobinson.co.uk/was-looking-mr-robot-fullw.jpg" color="#000001" position="0,0" />
<v:textbox inset="0,0,0,0" style="mso-fit-shape-to-text:true;">
<![endif]-->
<div>
<div style="font-size: 0; line-height: 0px; mso-line-height-rule: exactly;">

 

Yahoo

As we know from the gmail test, the shorthand version of ‘cover’ works for the mobile app, but doesn’t for the desktop web browsers. Thankfully I didn’t have to do too much digging for this either as @ericlepetitsf and @stigm kindly mentioned the fix for it recently in a discussion (thanks for that guys, saved me a good chunk of time).

You’ll see in the class of the TD that ‘yhoofix’.

@media screen yahoo {
.yhoofx] {
background-size: cover !important;
background-position: center top !important;
}
}

 

(The ‘owaoff’ class is just to turn the background image off in OWA – it’s not necessary, but I thought I would share that hack for those that don’t have it)

OWA Style for Backgrounds. (lack of)

While we’re bringing up the subject of OWA/Outlook 365 not supporting background style this then means you can’t prevent repeating.
In the example below where the idea is that if content overflows beyond the background image size, the flat background colour (set to the match the very bottom of the gradient) colour expands beyond the space. (Which in theory should be a nice idea for self service templates). We can’t stop the image from repeating.

backgrepeat

What can you do for Outlook 365/.com/OWA?

The only solution I have managed to find for Outlook 365 using the [OWA] .foo hack are is to turn off the background. In this instance that isn’t such a big deal. But for the Mr.Robot full-bleed you are removing a content image.

Of all the Microsoft platforms, Outlook 365/OWA seems like something that Microsoft could be looking to fix quite easily and quickly.
So please submit the request for OWA to start supporting styles for backgrounds by emailing outlook@litmus.com
(remember to show example use cases of why background style needs support)

VML

Vile Malevolent Language* Or VML  as it’s more commonly known, is not exactly what anyone wants to be using, but in certain circumstances it is unavoidable.
If you have a heavy Outlook audience to consider I’m sure you’ll have had more dealings with VML than you care to remember and this might be something you’ll want to consider.

Sticking with the same theme, I had been working with VML where I wanted to use a background image, but wanted the height to be variable. With VML I had removed the height and instead used “mso-fit-shape-to-text:true;”.

The problem with not having a height in the VML is that in inboxes running on PC with Outlook using the VML, is that the preview pane truncates the content. This then resolves itself on opening the email an downloading the images.

The main issue is that I know many Outlook users will only ever use the preview pane to view their emails. I am one of them. I couldn’t find any way of resolving this other than adding the height back in, which I was concerned will ruin the flexibility. However if you keep a height in as well, you may need to adapt what the height setting is in testing the preview pane, but what I found is when you open the open the email, the “mso-fit-shape-to-text:true;” will sort it out for you.

*This is not what VML stands for.

trunacting

 

2013 extra spacing

If you find when using VML that you get extra space added on platforms such as Outlook 2013. You can reduce spacing like this by adding this extra ‘div’

extradiv

<!--[if gte mso 9]>
<v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" 
stroke="false" style="width:600px; padding:0px; margin:0px; display:block;"
inset="0,0,0,0"><v:fill type="frame" src="yourimg.png"
color="#b4db0a" /><v:textbox style="mso-fit-shape-to-text:true;v-text-anchor:bottom;"
inset="0,0,0,0"><![endif]--> 
<div>
<div style="font-size:0;line-height: 0px;mso-line-height-rule: exactly;">

 

Follow me on twitter @joon82

Thanks for reading.

Kristian

 

THE GREAT FLASH CRASH

THE GREAT FLASH CRASH

It was the summer 2015 that saw Mozilla FireFox withdraw support for Adobe Flash and in doing so begin the irreversible move towards HTML5 within the advertising community. Up to that point most agencies had done their upmost to avoid adopting this new technology, siting investment costs and lack of perceived support across browsers. It was considered that HTML5 was only really necessary where Flash couldn’t be used, such as mobile advertising, where Apple had a huge market share.

In truth, people felt safe within an encapsulated environment that ran consistently across all browsers and had done so for a decade.

We couldn’t say we didn’t see this coming, Apple were lambasted for their refusal to offer Flash support on any of their iOS devices due to a perceived security risk, eventually conceding after petitioning by Adobe to allow app development only via Flash Air publishing which was considered more secure.

The whole reason for the shutdown was Adobes admission that at least three unpatched Flash exploits had been used by a group in Italy to steal around 38 million usernames and encrypted passwords. FireFox and Google soon after decided enough was enough and shut the plugin support down. Between them we are looking at around 50% market share globally of all browsers so this was always going to be big.

The chain reaction was huge, agencies desperately trying to find resource that not only knew how to code in HTML5 but also understood development for advertising which comes with it’s own set of rules and idiosyncrasies…

6 months previous to these events, TWO had been approached by a key client to look at producing HTML5 content for mobile advertising. Traditionally they had only deployed animated GIFs to this platform on the advice of their advertising agency, but being leaders in their particular sector they were looking to break new ground and so approached TWO to explore the possibilities as a global digital partner. After some period of R&D a frame work was developed along with a development methodology. In all this took around a month to perfect. In the coming months we were also invited to produced two campaigns in Flash off of the back of our willingness to support HTML5.

When the news came through about Flash our hard work of the previous few months paid huge dividends, as we were able to support our client and their advertising agency in transcoding more than 150 ads in the space of a month, ensuring maximum engagement whilst many competitor brands had to revert to animated GIFs for the interim period.

Today HTML5 plays a huge part in our business offering, and we now offer an interactive platform free of charge to our clients that allows them to amend content live on their published ads and collect live data.