Skip to main content
Advanced Search
Search Terms
Content Type

Exact Matches
Tag Searches
Date Options
Updated after
Updated before
Created after
Created before

Search Results

457 total results found

Responsiveness

Interface Design Designing interactive, responsive inter...

General Configuration Notes

Infrastructure (Non-AWS) BunnyCDN

Click the pull zone name to go into the dashboard for it. The headers below refer to sections of the dashboard to go to. Caching -> General Enable “Smart Cache”, “Query String Sort” and “Cache Error Response”. If you are hosting videos, enabling “Optimise F...

February 28

Development Updates, pre-launch 2024

Hi all, hope you're doing well. I've had a very rough month, so I didn't feel up to writing two updates this month. Recovering a bit now I think, we'll see. Lots of updates to share, details below. As a side note, I've been continually documenting new changes...

Custom Error Pages: edge rules

Infrastructure (Non-AWS) BunnyCDN

BunnyCDN doesn't fully support custom error pages, but there is a workaround whereby you can redirect any user receiving a given status code to a URL of your choice, i.e. an error page. You need to create an edge rule that redirects to a given URL depending o...

Lambda functions and AWS API versions

Infrastructure (AWS) Lambda

Different Lambda runtimes are bundled with different AWS API versions The different runtimes, depending on how new they are, can come with different versions of the AWS APIs for the language in question. For example, Node.js functions which use 16.x or lower...

CloudFront response timeouts

Infrastructure (AWS) CloudFront

If you're performing a particularly long operation (e.g. the user submitted an AJAX request to perform some task, and the server doesn't respond for a while), CloudFront can cut off the connection with a 504 error. In the CloudFront Console -> <your distribut...

Generating Credentials: secure data sources

Security Server-side Code Security

If you have a use case where you need to give a user a one-time password or key to authenticate for something, you need to make sure that key or password has been securely generated. A common example of this would be for activation codes sent in emails to veir...

Application Load Balancer costs

Infrastructure (AWS) EC2 (Elastic Compute Cloud)

Although the pricing for ALBs is ~$18/month (before accounting for traffic), keep in mind that the IPv4 addresses assigned to it will significantly increase the costs, which while not significant in production is a big addition to the costs of a test environme...

Video Formats and Codecs

Media Transcoding Videos: Overview

Just like with images, choosing your video codec is a crucial performance and quality consideration.  The main two video codecs There are two dominant video codecs, an older one and a newer one, with their own pros and cons. x264/AVC (older) The x264 codec...

Image Formats and Codecs

Media Transcoding Image Transcoding

Image quality (particularly important for JPEGs) For JPEGs in particular, quality is not just a parameter you enter into the encoder, and it is not e.g. a linear estimate of quality. JPG quality values are on an arbitrary scale that is roughly logarithmic; go...

Use cases and limitations

Media Transcoding Videos: Serverless Code

Serverless code functions definitely can have a place in video transcoding, but because of the much heavier processing it demands, the use cases are very different. Use cases Transcoding short videos to small resolutions (<1min @ 480p, or shorter) If you ne...

Implementation: MediaConvert

Media Transcoding Videos: Dedicated Services

To transcode large video files that a serverless code function can't handle, you need to use a dedicated transcoding service. This page demonstrates how to do this with AWS. Transcoding large video files on AWS There are three main services we'll be making u...

Financial cost of video transcoding

Media Transcoding Videos: Overview

Whether you're transcoding a given video using a serverless code function, or a dedicated transcoding service, you need to consider that it is often an expensive thing to do (in the context of a website). Cost comparisons If you're using a serverless code fu...

Efficiency Overview

Efficiency & Performance

See Also

Efficiency & Performance

Media Transcoding The Media Transcoding book of this guide has a lot of useful information about transcoding (resizing and re-encoding) images and videos, which is crucial to the efficiency and cost of an art website. Poorly implemented transcoding means you...

Artwork Submissions

Code Standards: Backend Artwork Submissions

SubmitArtwork page elements Two specific ID structures exist, one for multiple submissions fields, and one for normal submission fields. Normal submission ID structure The file IDs follow the format "uploaded-image-{number}", and the containers and other pa...

Styling overrides and customisation

Code Standards: Frontend TinyMCE Standards & Overrides

Normally, customising TinyMCE's appearance means creating a new theme, compiled in LESS. For most cases that works (and is the recommended option, because it allows TinyMCE to support it), but for Deserted Chateau it isn't enough. The problem - TinyMCE requir...

Variables

Code Standards: Frontend Artwork Galleries

For each "item" in a gallery (i.e. an artwork submission, with one video or image as the thumbnail), there are a bunch of variables used to decide how to render the item. Example row sent to ArtworkGallery.js { "artwork_category_settings": "1:N,10:N,11:...

Implementation Details

Code Standards: Frontend Artwork Galleries

Dynamic resizing For the "standard" gallery layout, the code notes the aspect ratio of each artwork in a given gallery, and uses this to arrange artwork in neat rows of fixed width by adjusting the row height. This means the displayed size can vary depending ...

Considerations for displaying upload previews

Media Transcoding Videos: Overview

Depending on your use case, and how long it's acceptable for your users to wait, there's a few different ways you can choose to show a user when their video has uploaded. Approach 1: resize the video to 480p for preview This looks fancier (the user sees thei...