April 14th, 2021

14th April 2021

Attendance: @kmahar, @0xTim, @ktoso, @tomerd, @johannesweiss

Action items:

Ported forward from 31st March

  • @varland Follow-up with the Amazon OSS team re: open process questions
  • @varland Reach out to "AWS getting started guide" author
  • @0xTim to reach out to Azure contact to get Cloud guides sorted and published.
  • @0xTim and @graskind Turn SQLiteNIO and MySQLNIO into proposals

New

Talking points

  • @tomerd: Should SSWG publish a package collection for incubated packages?
    • general option: yes
  • How can we make Swift-on-Server more visible? Are we doing enough?
  • better tooling to get started (toolchain installer like rustup / Haskell Stack)
    • yes, this is important --> 2021 goals
  • should we have a centralised Slack for Swift on Server and advertise it?
    • generally people think it's a good idea
    • if we advertise a central Slack, we should take action items to make guides from recurring questions
    • talk to Helge if we can make the swift-server Slack that place
7 Likes

I'm a big +1 for a central Slack for SSS :slight_smile:

1 Like

Since most of the server-side Swift community probably uses Vapor, and Vapor already has a popular Discord channel, shouldn't we use Discord instead? If not, many people (myself included), will just keep using the Vapor Discord channel, just to avoid having to run Slack as well.

4 Likes

This keeps coming up but yeah, +1 for a discord over slack. I have an Apple Development discord setup already with over 200 people id be happy to turn some keys over and ad mods/admins but totally up to the sswg.

Yeah I'm fine with Discord or Slack, I am more just +1 for a community in general

-1 for discord. The lack of threads makes interleaved conversations very confusing.

2 Likes

Just one short feedback on:

  • How can we make Swift-on-Server more visible? Are we doing enough?

and given threads like this one about the state of swift on the server

I think it would be highly valuable to set up a repo with just markdown documents with a short intro to Linux development (most server work will be deployed there at the end of the day...) with Swift and giving links to useful technology (IDE:s, debugging tools, cross-platform considerations, ...) as well as to framework useful for server-side stuff.

I am sure there are a lot of people who could provide input to that and provide PR:s - it would become a knowledge repo for server-side development and provide a simple anchoring point / link that can be provided to anyone working with server-side Swift. I am sure there are a lot of us who keeps a link of bookmarks to useful stuff...

To start with, it could just be a structured link archive but topics could be expanded and original text written as needed going forward.

Edit: It would need to be blessed by the SSWG and perhaps linked to from swift.org too...

4 Likes

I don't think Swift on the server has a visibility issue, it has a perception issue. This is for many reasons, including platform support (Swift should be installable like any other package) and tooling. Real progress in overcoming those issues would go a long way towards organically increasing the visibility of Swift on the server.

7 Likes

Well, I can only reflect as someone who recently (in 2021) started evaluating Swift on the server - definitely agree that there are friction in getting a toolchain and up and running properly (although looking forward to try a clean 5.4 soon).

I strongly believe perception is guided by visibility - just take the linked forum discussion above - VS Code should be a clear option, but how do someone who wants to do server development find that information in the first place if they don't even know there are options? Would be nice to give people a starting point.

I can only say that from my experience there was a significant visibility issue where a lot of useful information needs a fair amount of digging and perseverance.

I found tools like heaptrack, the ability to use TSAN, found a bunch of frameworks, had to build a custom toolchain for LLDB to not trigger asserts (thanks @johannesweiss for assistance), just to mention a few things... I would have loved to have that in one place and would be happy to share such hints (like used custom memory allocators interposed and seen that it gives a nice performance boost for many use cases?)

How many people know that there is a Slack that can be joined?

Personally, I totally don't care about web related development, so references to various web frameworks which are plentiful is not very useful, but information about working server-side tools is useful!

(Server development != Web/HTTP services/apps/servers...)

And to reference the talking points at the top:

  • if we advertise a central Slack, we should take action items to make guides from recurring questions

Those guides could be hosted in this same repo for sure.

So I would propose something like the Swift Server Development Guide repo ;-)

5 Likes

Do you know about: GitHub - swift-server/guides: Guides for building, debugging and deploying Swift Server applications

4 Likes

Thanks @fabianfett - of course I don't! :joy:

Seems to be fundamentally what I propose with some massaging :slight_smile: .

Plus adding a link from Swift.org - Platform Support and/or Swift.org - Getting Started so it'd be easier to find.

6 Likes

So, have done a few PR:s now to that repo sharing some initial experiences, more later... Thanks for pointing it out @fabianfett - hope it can expand and get a more prominent linkage from swift.org in the future.

3 Likes

better tooling to get started

+1 to this! Would be amazing if on linux it was a 1 liner to install latest swift version (sudo apt-get install swift5.4).

Also quick VSCode setup on linux/macOS would be a game changer IMO. The current lsp installation process is decently hefty and still doesn't seem to autocomplete in larger packages (maybe I'm doing something wrong).

I'd imagine server devs having to screw around with getting swift set up or download Xcode just to tinker around causes a lot of interest drop-off.

So many cool things coming down the pipeline in Swift & Swift on the server it would be a shame if it was hard to start using them :)

6 Likes

Was this discussed? Curious what the end goal is here. @0xTim

Simply to have a guide for how to get Swift set up and deployed in Azure, similar to the AWS Guide

1 Like

It seems the biggest part is to buy and set up an instance. Swift-related parts are almost the same across all cloud providers.

I would expect more specific cases like serverless functions, container deployment, connecting to cloud-based DBs and so on. These are the really different parts between cloud providers and they also represent future directions.

This is what it is used in github actions and Azure Devops images. There are probably better ways to install latest swift virtual-environments/swift.sh at main · actions/virtual-environments (github.com)

I completely agree that a big problem is the difficulty to install Swift tooling on Unix.

I work in a cloud company called Clever Cloud, and we package our own Exherbo distributions for the exact environments we provide. As a Swift enthusiast, working a lot with Server Side Swift (mainly with Vapor), I proposed my colleagues to add Swift support.

Even though they are really experienced in Exherbo packaging, they told me it was a real pain to add Swift support, and paused it until it’s easier.

I think it’s by being present in front of people that SSS will be better known.

I really look forward to a Swift version easier to install.

2 Likes

thanks @RemiBardon, could you elaborate what was the difficulties they ran into? This could help prioritization in this space.

5 Likes

I asked them, and one said:

THE thing that is really missing and that would simplify everything and make the task a lot less unpleasant:
A real full release tarball that doesn't force you to download 20 others and extract them in the right place.

I hope this helps :crossed_fingers:t2: