Pitch: Add iOS, macOS, Linux categories under "Using Swift"

Right now it is considered off topic to post questions related to Apple frameworks for iOS and macOS. What if we added sub-categories for them under "Using Swift", so that people can ask there and be on topic? Those that are not interested in seeing them can easily mute the subcategories.

I know that Apple Forums exist, by I find the answers there mostly low quality, the majority of them being of the form "have you tried restarting your compiler?". And discourse has a much nicer UI.

2 Likes

I would speak against it just from the experience from a slack workspace with around 13k users asking tons of same questions over and over and not trying to think a solution but expecting some copy paste code. This would dramatically flood the forum and likely derail SE.

This sounds like an improper generalization to me. I have seen many qualified answers from Apple and non-Apple experts in the Apple Developer Forums.

I strongly support either this or renaming "Using Swift" to "Using Swift on non-Apple platforms", otherwise the current category name is very misleading, as obviously using Swift on iOS means using Swift by any measure. I also don't think it would derail SE in any way as that's what categories are for in the first place.

If anyone doesn't want to see beginner questions they're free to switch to viewing only a category that doesn't include "Using Swift" topics.

I've previously heard plenty of feedback about hostility of Swift Forums caused by marking these questions off-topic. Most of the time users start trying Swift on macOS or iOS and it's natural they would have questions related to these platforms. They start searching for communities related to Swift, where Swift Forums is the top contender. After asking a question it is removed and marked as off-topic and a user is frustrated by not finding their answer, spending time on asking the question and now not having any other place to ask it even if it's Swift-related. As was mentioned here, Apple Forums UI is much worse than Discourse, it's hard to navigate and search.

I have a feeling that majority of Swift beginners have suboptimal learning experience because of this. Instead of making the community open and welcoming, these beginners are driven away.

2 Likes

The problem I view in your feedback is that learning Swift merges two meanings, one is really learning the language and everyone is welcome to join the forums in that situation, while the other is learning app development in Swift that has nothing to do with SE and is correctly signalized using #off-topic tag. This discussion should be not focused around the UI of the platforms. Most people already realize that Apple Dev forums feel more or less dead, but that does not mean we should encourage migration of Apple platform related issues build with Swift to this forum. There are way better places for this with strong community support already established (e.g. stack overflow).

As much as I respect your feedback, I still think it would be fatal to try to solve a problem related to non-open-source part of things build in Swift in these forums. To be clear I like #swift-users and I love it the way it is moderated.

Sorry I'm a bit confused here, I'm still not sure what's the exact criteria for marking anything as off-topic. In the first paragraph you're saying that learning app development is off-topic, but I'm not sure how is that applicable to the existing "Using Swift" category? There are plenty of people discussing apps for Linux and other platforms.

In the second paragraph you mention open-source projects, but as far as I know the majority of Swift projects available on GitHub are iOS and macOS related. So I'd expect that an average Swift open-source user is developing their Swift code for iOS or macOS.

In fact there are plenty of topics in the forums about interactions between Objective-C and Swift that were never marked off-topic and Objective-C and Swift interop never worked anywhere outside of iOS or macOS. Clearly everything about Objective-C interop is related to building apps specifically on Apple's proprietary platforms.

I totally understand the need for the forums to stay readable, I'm all for it myself. But I'd love to know what's the simple criteria for making anything iOS-related off-topic as I haven't seen the criteria anywhere. And as I've mentioned, if we don't include all users of Swift this contradicts with the name of the category, which should be renamed then to make it clear to everyone. Otherwise we'll keep seeing people frustrated by their topics being removed.

1 Like

If by SE you mean Swift Evolution then note that Swift Evolution is a category in the forums and Using Swift is a sibling category. The forums are about Swift, not about Swift Evolution.

4 Likes

I don't love the conflation of "Swift (the language and open source project)" with "Apple development" (or for that matter "server development"), but for better or for worse people are going to come here with those questions, as Max says. So I'm in favor of adding these subcategories. One concern I have, though, is that this forum doesn't have many people answering those questions. We've got some nice people, for sure, but if we make an explicit space for Apple platform questions and then they just sit there, that doesn't look great either.

5 Likes

Can't remember where I got this from, and nothing official either, just my take, but I've always thought about it this way: If you can replace all the Swift in a question with equivalent Objective-C, and the question doesn't change or resolve itself, it's not a Swift question.

Wrt. allowing these kinds of questions on here, it may be worth looking at Reddit - Dive into anything for a rough idea of what might come of it. The subreddit isn't moderated heavily, relying mostly on up-/downvotes, and thus has a bunch of iOS/macOS questions (I think they have started removing "How do I best get started learning app development?" though, that was getting posted every few hours a bit ago).

I'd argue that a Q/A-focused site like stack overflow is probably better suited to help with these kinds of (mostly beginner-) questions. What also bugs me is that often the iOS/macOS questions on the Swift subreddit are really low-effort, as in you can literally paste a sentence from the question into Google and get your answer.

I'm not really sure where the right answer is here. Just putting out some thoughts.

2 Likes

I wouldn't be surprised if with ABI stability we will start seeing more Swift-only frameworks from Apple really soon. Should questions about those iOS Swift-only frameworks be off-topic? Can I ask questions about Create ML here, which is Swift-only?

The theme I see here is a concern about low quality questions, but that is applicable to any platform. If people were asking here beginner questions about Linux (especially those where you can easily Google the answer) would those be closed as off-topic?

It seems to me, we don't see these kind of questions about Swift on Linux is more of signal that Swift doesn't have much traction in that space yet. I personally would like Swift to get as much traction as possible on all platforms. A beginner who didn't google an answer for their iOS-related question could become an expert in Swift on all platforms after some time if they don't get discouraged in their learning. Otherwise, would it be fair and honest to rename the category to "Using Swift (Not for Beginners)"?

I hope we could try and see, I am personally ready to answer those questions (if I know the answer). I find that seeing what kind of problems beginners have is very helpful for me as a developer. I can better understand what concepts people are finding hard to work with, what problems exist in developer tools etc. And developer tools and making Swift accessible to beginners is of great interest to me.

I would still say that, as it stands now, they'd be off topic, since they're Apple frameworks. If we did want to support this sort of discussion, we'd need to separate it from "Using Swift" into subforms similar to the community project forums. Given the breadth of Apple's frameworks, that seems untenable. I'm also afraid that, given the poor state of the official Apple dev forums, more and more users would come here and the actual discussion of Swift as a language would be overwhelmed by requests for support for Apple's frameworks. I think it would far more beneficial for Apple and the Swift community for Apple to improve the official developer forums so that users don't need to come here to get questions answered. In general, the more topics this forum supports, the more moderation and effort are required to handle low effort questions.

4 Likes

Yeah, why not adding subcategries. I propose:

  1. General Swift Questions
  2. Swift on Unix / Linux / BSD
  3. Swift on Apple Platforms
  4. Swift on Android
  5. Swift on Windows

So everybody can mute the categories they don't like. I am not that concerned about question that don't get answered since I think the newly attracted users will start to help each other (or at least that's what I hope for). And I also hope that new users will get more experienced over time to engage in other discussions over the time. I think a little more friendliness towards those folks will pay off in the end.

3 Likes

I agree with the proposal. C'mon guys… everybody knows a programming language can't stand alone by itself. It needs supporting frameworks and libraries to make the language usable in practice. Since Swift is the main language for Apple's platforms, mainly iOS, then it's just logical the newcomers come with questions about iOS as well.

The more platforms are supported by Swift, such as Linux and Windows, even if it's unofficial, newcomers would also come from those platforms too. So, it's simply inevitable that newcomers will also talk about using Swift on those platforms. Dismissing them would make Swift looks bad to newcomers, that eventually will bring bad impression both to Swift community and Apple brand.

Apple Developer Forum is pretty much dead. Of course, it's Apple's fault, not us. It's Apple's responsibility to make it better. But as a community, we can't just blame Apple and do nothing. We could provide an alternative forum to welcome Swift newcomers. We are living on swift.org domain after all. Newcomers would very likely come first to this very site.

If we want to make Swift as a popular and cross-platform language or be the language of choice to many people, we should embrace newcomers from any backgrounds and with any intents. We can't be elitist and exclusive or even ignore those newcomers. We don't know what might come from them for Swift community in the future. We could get new Chris Lattner or new Linus Torvalds. Who knows? :)

6 Likes

My observation is that programming languages usually have separate mailing lists or forums for these fundamentally different audiences (python-dev vs comp.lang.python/python-list, Ruby-Core vs Ruby-Talk, Rust Internals forum vs Rust Users forum, etc). Intermingling them seems to me to be a bad idea that helps neither audience, causing confusion and/or annoyance. This forum has gotten away with it so far because the “Using Swift” section is relatively low volume and is generally focused on core language mechanics and not how to glue libraries together. If there's going to be a significant expansion in the scope of “Using Swift” then I would suggest following standard practice here and making separate Discourse instances, à la Rust.

Can we expect any updates or clarifications on this? I'm really looking forward to the possible expansion of the forums. I wouldn't be afraid of the increased volume. In the end, increased volume is a much better problem to have, than beginner users not able to get answers to their questions and abandoning Swift altogether because of that. If there really is an overwhelming pushback against this, I hope it's a signal then for a separate "Using Swift" Discourse instance, modeled after Rust Internals and Rust Users forums, which also use Discourse. It seems that worked really well for them.

(cc @Nicole_Jacque)

1 Like

I don't know for sure if this is the reason, but Apple is not known for having a very open, public culture. Maybe not all engineers are permitted to write on the forums, maybe the danger of accidentally leaking proprietary information is too high, or maybe they're just too busy. Swift is kind of unique in that respect, as development and feature discussion happens "in the open" on these forums and on GitHub.

If we loosened up about Apple OS-specific questions on these forums (which I suppose we should, for pragmatism's sake), I'd like to see some kind of badge for Apple employees so users can tell the difference. If they're asking questions here, they likely don't understand the difference between the Swift language and the OS frameworks and might assume any answer they get is somehow "official". IIRC the Apple forums also have a badge for employees.

It might also be good if the people who maintain the packages under the "related projects" section had some kind of badge - e.g. @gwendal.roue for GRDB.

3 Likes