Redesigned Swift.org is now live

This was also posted on the Swift.org blog

Over the past few months, the website workgroup has been redesigning Swift.org. On behalf of the website workgroup, I'm pleased to announce that we have merged the initial changes.

Our goal with the site redesign has been to make Swift.org more approachable for newcomers to Swift, highlight the language’s technical strengths, and make it easy to get started. That led to a focus on the website's appearance, improving the user experience, and emphasizing important features such as Swift’s multiplatform support.

Today's release includes refreshed home and install pages. Additionally, new pages have been designed to explore Swift use cases, including cloud services, command line tools, and embedded software. Looking forward, we plan to take an iterative approach to improving the website, including pushing changes live as we complete their design and implementation.

Brand new design

We explored several design options and found that the latest design conveys the fluidity and creativity of Swift through the splash of orange and the bird animation in the background.

Curated content and examples

The homepage now highlights Swift's strengths alongside code examples that illustrate them. Additionally, we showcase various types of software that can be developed using Swift; these new use case pages provide information such as relevant packages, examples of Swift in action, code snippets, and links to resources for further learning.

Next Steps

We look forward to hearing your feedback on this first set of changes as we continue to redesign other sections of the site. There are several ways to offer feedback on the redesign and to get involved:

Thank you to the @swift-website-workgroup and community members for contributing to these improvements.

94 Likes

Big congratulations to everyone involved!

7 Likes

Beautiful design, congratulations to all involved!

Now I am interested to see when String’s is-ASCII check switches to code similar to the one from the Fast section of the website :slight_smile:.

2 Likes

Congrats! Meanwhile, we're still waiting for Packages page on Swift.org: relevance of a “Persistence” or “Databases” category?. The pull request is stuck.

3 Likes

I think having type identifiers and keywords highlighted with the same colour looks a bit strange, am I the only one seeing that?

3 Likes

The design is beautiful. Gorgeous.

Just wondering about this line here

Swift is the only language that scales from embedded devices and kernels to apps and cloud infrastructure.

1 Like

My first impression is that the new website looks very sleek!

I’ll have to spend more time poking around, but a few things jump out to me right away:

• • •

1. Some of the text comes across as excessively self-aggrandizing:

Swift is the powerful, flexible, multiplatform programming language.

Swift is the only language that scales from embedded devices and kernels to apps and cloud infrastructure.

I’ve been using Swift and contributing to Swift Evolution for a decade, it is by far my favorite and most used programming language, and I am a huge fan.

Nonetheless, when I read those lines, my immediate reaction is “Wait, the, and the only? Are they saying that no other language does those things?”

Even if true, statements like that make me question the reliability of the narrator, and they come across as somewhat disparaging of other languages rather than just building up this one.

I think it would be more effective to change “the” to “a” in the first quote, and “the only” to “a” in the second.

• • •

2. Two things that I would hope and expect to see featured prominently on the splash page are “Learn Swift” with a link to A Swift Tour, and “Try it now” with either a coding playground or a link to one.

Those seem like some of the first things that people new to Swift would want to reach for. Even better if the playground had an interactive tutorial, though that might be more work.

• • •

3. The header at the top has a mostly-transparent background (at least on my device), so when the page is scrolled down and has text behind the header, it is nigh-impossible to read the words in the header (eg. “Docs”, “Community”, etc.).

I expect that should be easy to fix.

29 Likes

Congrats to all involved, this looks really nice!

That being said, may I suggest updating the example code of the "Expressive. Concise code. Powerful results." section on the homepage?

Specifically: the sample code could also highlight Swift Concurrency by using AsyncParsableCommand

Here’s a snippet from the docs, which illustrates this idea nicely:

import Foundation

@main
struct CountLines: AsyncParsableCommand {
    @Argument(transform: URL.init(fileURLWithPath:))
    var inputFile: URL

    mutating func run() async throws {
        let fileHandle = try FileHandle(forReadingFrom: inputFile)
        let lineCount = try await fileHandle.bytes.lines.reduce(into: 0) 
            { count, _ in count += 1 }
        print(lineCount)
    }
}

I think adding an async/await example would be a small but meaningful win, as it further showcases Swift’s expressiveness. But, regardless of whether you do this or not, the site looks great!

It has been a long time coming, but Swift finally has an official landing page I can actually recommend to people curious to learn more about the language.

The recent case study about Apple's password monitoring service migrating to Swift is also fantastic. I've been begging the Apple folks since forever to release these kinds of numbers showing off Swift in their large-scale deployments, so I'm really, really thrilled about the direction the website is heading. We're making a much more persuasive pitch for Swift.

So huge thanks and congratulations to everyone involved!

--

P.S. I think we should mention that Apple's Secure Enclave processors run software written in Embedded Swift, as was announced at WWDC last year. Apple shipped 225 million iPhones (just iPhones) in 2024, so that's a very large deployment by any industry's standards.

I have some friends in the defence industry, and like any embedded developers they have big C++ codebases and struggle with the usual C++ challenges. They are considering options for a long-term successor language, of course considered Rust, and have the usual Rust challenges (steep learning curve, 'fighting the borrow checker'). Swift could be a great fit, and for those who don't already watch WWDC talks, hearing about Apple's large-scale deployment of Swift in critical security processors for millions of customers would be very compelling IMO.

P.P.S. Also, I think we should make the links to the forums more prominent, and possibly add a link to the forums at the top. Basically, if anybody has questions, we should encourage them to come here as their first place to ask.

18 Likes

Looks nice, congrats!

I suggest to bring back an 'announcements' page, or a section on the home page. Just a few days ago I saw the v6.1.1 announcement here on the forum. Now the new site says "Install (6.1.2)". I didn't find any indication on this forum, nor on the site, nor on the site's blog page, of the 6.1.2 release. Could be confusing especially to new users.

It's very good, i hope it can be redesigned also in https://docs.swift.org/ also. Btw, is it using framework front end to build new fresh landing page?

I love the design overall. But yeah, the text reads like someone trying to sell me an overpriced software package, not an open source language.


It might be worth pointing out that that first line:

Swift is the only language that scales from embedded devices and kernels to apps and cloud infrastructure.

Appears in a modified form further down the page:

The only language that can span from embedded and kernel, to server and apps.

When I see that kind of writing, I can only think "if they're willing to exaggerate to such an extent there, what can I trust on this page?"


But I do think that's a minor thing that's easily fixed. I really do like the way it looks. Well done to everyone involved.

6 Likes

The new images are quite big - the first load for me is visibly slow, especially hero-bottom.png or swoop-0.png are slow loading, as they weight in at 2302 KB and 1611KB respectively. They're served with just 3 minute cache header, which means that the CDN will almost be a cache-miss. How much control do you have over the headers?

Converting images from png to webp or avif formats, there is some tiny loss of detail but one needs to be actively looking comparing what has changed, but this reduces the size by 4-8x times:

convert swoop-0.png swoop-0.webp #down to 461KB
avifenc swoop-0.png swoop-0.avif #down to 182KB

There are some nice tools showing the site load times and suggestions:

11 Likes

While I generally like the overall effort, I have to say I am not impressed design-wise with this version. Maybe it's just me, but a few things look very wonky to my eye. I understand that many consider "beauty" to be a subjective thing, but basics like balanced spacing and contrasts (especially for text) could definitely be aligned better with UX "industry standards" in my opinion.

Also, having an eye on loading times (especially for somewhat unnecessary images) is not exactly a matter of taste either.

Here are a few things that immediately stuck out to me as a first impression with a desktop-view width in dark mode (see screenshot)

  • the main header text "Swift is the ..." does not read well over the bright artwork in the background
  • the contrast between the "pill" shapes for "iOS apps", "Windows apps", ... and the background is not great
  • the vertical spacing of the boxes for "Cloud Services", "Command Line", ... feels off, also the icon size, title and text sizes are a bit wonky (at least to my eye)
  • the "Install" text on the button feels unbalanced font/size/tracking width wise (to me at least)
  • in general, spacing and sizing feels somewhat random and unsettled to me

And, a more subjective bonus opinion:
I am not sold on the big, playful background artwork and scroll animations. I think they add more chaos and distraction than they bring value. At the very least these things should not mess up text legibility or create "ugly" contrasts with other UI elements.

5 Likes

@Sarunas Thanks for pointing this out. I took a shot at compressing these images with pngquant. I ran it with pngquant --quality=45-60 and it many cases it compressed images ~80-90%. PR is up here: Compress large PNGs by plemarquand · Pull Request #1057 · swiftlang/swift-org-website · GitHub

6 Likes

Meaning Java? https://github.com/swiftlang/swift-org-website/issues/1044

1 Like

I definitely agree that readability and spacing should be improved, e.g. this bothers me whole day :sweat_smile:


(also I found some rounded corners radius sometimes questionable)

8 Likes

Thank you for showing me that link!

I share this impression. I really appreciate the intention behind the redesign: making the site more colorful and playful is a refreshing contrast to other language's landing pages. That said, I feel the execution falls short in several key areas. Honestly, I was surprised to see an Apple associated project miss the mark on design fundamentals like this.

Building on @sliemeobn’s observations, here are a few additional points:

  • The “Install” button is disproportionately large, which unintentionally gives off a childish or desperate impression.
  • The navigation bar is unusually tall, awkwardly overlapping with the hero illustration and detracting from its impact.
  • The icon and font weights are mismatched, which creates visual dissonance.
  • Clickable containers like “Cloud Services” lack clear affordances to suggest interactivity.
  • Generally, hover effects across the site are either non-existent or inconsistent.
  • Some text and border elements use opaque grays that clash with the vibrant background; these would benefit from being transparent shades of the primary label color.
  • Design tokens — including font sizes, spacing, colors, and corner radii — appear inconsistent or arbitrary.
  • The site doesn’t apply font smoothing, which causes fonts (especially SF Pro) to render poorly.
  • The brush stroke illustrations vary in scale, leading to inconsistent texture fidelity across the layout.
  • The animation on the hero illustration feels unnatural, likely due to a linear easing curve — and as mentioned, it’s partially obscured by the nav bar.
  • Simon already pointed this out, but it bears repeating: the hero title clashes with the illustration in both light and dark modes. This looks unpolished and jarring (and fails accessibility standards in dark mode).

To be fair, the old site wasn’t particularly exciting, but it also didn’t try to be. The new site sets its sights higher, which I appreciate, but the execution doesn’t carry it across the finish line. In the end, the contrast between ambition and outcome makes the shortcomings feel even more glaring.

2 Likes

I am not a designer, so probably most of your criticism is valid, but I cannot agree to everything you mentioned:

There is plenty of empty space on the page, like on any modern website. A smaller button would look even more disproportionate and will get lost on the page.

Not sure about that. To my eye they quite match, both on the left of the navigation bar, and on the "Cloud Services", "Command Line", and "Embedded" sections.

I'm for opaque grays for color consistency.

On my Windows 11 PC with Mozilla Firefox the text definitely uses subpixel antialiasing:


I did not know that a site should do something special to enable font smoothing.
Update: Good to know: font-smooth - CSS: Cascading Style Sheets | MDN

It's definitely non-linear. Unnatural? Don't know. What is natural? Simple ease-in-ease-out?