A brief look back on another year of Hacking with Swift
What the heck just happened? 😂
Many people – myself included – had big plans for the year. I wanted to work more on my open source software (Unwrap, Control Room, Sitrep, and more), I wanted to update a whole collection of books to be more focused on SwiftUI, I wanted to write new, shorter books to go alongside SwiftUI By Example, and more.
And then COVID-19 happened.
This meant my kids were home from school for many months, it meant I spent way too much time scrolling through depressing news rather than working, and honestly it meant a lot of the time I struggled to find the willpower to think about – never mind write about – anything.
So, this year turned out quite different from what I had anticipated, but there were still a few highlights…
Advance warning: This is a hugely self-indulgent article talking about what went well – and not so well – in my Hacking with Swift work this year. Hopefully you don’t find it too dull, but I only do it once a year!
This year I published a new, free book called Understanding Swift, which was entirely unlike all the other books I’ve written previously because I wanted each chapter to answer one question. The goal here was to focus firmly on why Swift is the way it is, because there are lots of code samples out there for any given topic but not a great deal of explanation of why features and functionality exists in the first place.
So, you’ll find chapters such as “What the heck are closures and why does Swift love them so much?”, “When should you write throwing functions?”, “How do Swift’s memberwise initializers work?”, and more – all questions that I was commonly asked by folks who were completing the 100 Days of SwiftUI.
I also published Swift on Sundays Volume 1, which was a written up collection of tutorials based on the popular YouTube series I streamed in 2019. Although I know many folks love videos, just as many prefer to read books because they can go at their own pace, search for something easily, copy and paste code, and more.
Later in the year I went back to my book Hacking with watchOS and rewrote it from scratch for SwiftUI. This meant recreating every WatchKit project using SwiftUI, then rewriting every chapter of the book from scratch to follow the new projects – all delivered as a free update for existing readers. This wasn’t possible previously because SwiftUI for watchOS was missing several key components to make the apps happen, but it’s great to see all the pieces in place now.
And of course there was SwiftUI itself. I wrote a lot about SwiftUI this year, not least adding many new pages to SwiftUI by Example to reflect all the new iOS 14 improvements. However, there’s so much more I wanted to do that I just haven’t found time to publish – so many draft articles that are missing final touch ups before release, so many videos I haven’t had time to record.
So, although 2020 was a good year for my work with SwiftUI, I still feel it should have been better. Yes, I know the virus etc, but still – I put together the Complete Guide to NavigationView in SwiftUI and the Complete Guide to Layout in SwiftUI, and there’s no reason I couldn’t at least make more of those guides, or find some extra time to polish up and release all the other SwiftUI drafts I have sitting on my desktop.
Of course, I also carried on publishing videos both on Twitter and YouTube, but here again the virus really swayed my direction. So, I did lots of live stream interviews as part of a new Swiftly Speaking podcast where the goal was to chat to well-known folks in our community in a time of international lockdowns, I ran several installments of a new Big Swift Quiz to give folks a fun distraction from virus anxiety, and even on my birthday I ran a three-hour SwiftUI live stream to help raise money for a charity that helps folks hit hardest by these horrendous times.
And there was more – whether it was a long “what’s new” live stream during WWDC, a video on common SwiftUI mistakes, or a whole series of daily tips to help you use Xcode better, I certainly felt like I got a lot done, and hopefully helped folks feel a bit less alone even when they are stuck at home.
But in June I started a new approach to video…
This year I launched a new subscription service called Hacking with Swift+, giving subscribers exclusive new tutorials that go into much more depth than I normally would. This new format allowed all sorts of things, including:
A few months after HWS+ was announced I opened up free trials for everyone, and another few months later I announced annual subscriptions were now available. Writing great tutorials will always be the most important thing, but I also want to keep refining the platform itself – it’s an ongoing effort.
Hacking with Swift+ is the future of my work, and it’s going to expand a huge amount in 2021. In fact, just today I’m announcing a collection of free bonus gifts that will get mailed out to subscribers – pin badges, magnets, stickers, and more – all as a thank you for supporting my work.
What HWS+ won’t do is replace my free work. Again, I wrote and recorded a huge amount of free content in 2020 and that will absolutely continue in 2021.
There is so much more to come with HWS+, and I hope to have a big announcement ready for April or so depending on how I get on. Trust me, if you’re a subscriber you’re going to be happy!
Beyond just creating more articles and videos, I’ve also worked hard to improve the site itself.
This took a few different initiatives, but there are three I want to focus on here.
The first is the Hacking with Swift forums, which I created because I felt there was no safe, judgement-free area where folks could post coding questions and ask for help – I was really tired of directing folks to Stack Overflow, and wanted to make something better.
Well, about nine months after launch almost 6000 messages have been posted to the forums, and hundreds of those have replies marked as the correct solution to the problem or question at hand. This has worked really well, and I’ll be expanding the forums later this year – more on that later!
The second is massive improvements in privacy. This started out as a review of all my pages to make sure I was using third-party services like YouTube and Vimeo as conservatively as possible, but ended up with me removing Google Analytics entirely. I was barely using it anyway, so it was a tiny change to remove the last vestiges and any final tracking from the site.
This means that Hacking with Swift now doesn’t track you at all. The server keeps no logs of the pages you visit, third-party services such as YouTube and Twitter should keep tracking to an absolute minimum if at all, and the only data stored is that which you request – forum messages you post, for example.
Putting all that together, I’m happy to say that Hacking with Swift is one of the most transparent, privacy-preserving sites in our community, and I hope it will continue that way for a very long time.
Third, I normally spend quite a lot of time going back over old articles to update them for the latest Swift changes, but this year I also went the extra step to look out for places where accessibility could be improved. For example, I transcribed every one of the Swiftly Speaking videos, breaking them down into sections by topic to make them easier to browse through.
I’m not going to lie, transcribing such a massive volume of video was a ton of work, but it’s work that really matters – I’m committed to making my work available for as many people as can, and not just when it’s easy to do.
All in all, I think the results speak for themselves. Recently I took a look at a web traffic estimator called SimilarWeb, who use a variety of data sources to try to estimate how popular a website is – it was recently rated the most accurate estimator out there, although I was quite dubious until I tried it for myself and found it was reasonably close to the mark.
I’m not going to bore you with numbers, but suffice to say I’m really happy with the way the site continues to go from strength to strength.
I believe everyone has a part to play in our community if they want, and I have always worked incredibly hard to play my own part as best as I can. This year was a little more subdued simply because so many conferences didn’t happen, but I still managed to speak at iOS Conf SG, UIKonf, and NSSpain – two of which were with my daughter, Sophie.
I am really, really grateful to all the speakers who took the time to prepare and deliver talks at events this year. I’ve been to so many conferences in the past and honestly it’s great fun – you get to fly around the world and meet a wide range of interesting people, and of course learn a ton from other speakers too.
But this year was different, because most events were online. Many speakers simply disappeared and that’s a shame, but many others stuck it out: they did all the same work of making a great talk, even doing so under the challenging conditions of this year, while knowing they weren’t going to get to attend a physical event somewhere fun, because they knew they were helping support networking events around the world.
Conferences are the real lifeblood of our community, because not only do they help produce literally hundreds of high-quality videos every year from their sessions, but they also house workshops, provide networking spaces, promote diversity, and so much more. So, to everyone who gave a talk in 2020 – thank you!
But my own work didn’t stop at speaking, because in 2020 I started running free adverts for conferences to help build awareness and drive ticket sales. Normally companies who want to sponsor my site pay for the spot on a weekly basis, but right now events need support more than ever so I decided to give up advertising slots to both NSSpain and iOS Conf SG. This will happen again in 2021 because I know things are still rocky, so if you need some help to promote your Swift event please reach out to me at email@example.com.
In 2020, I also ran the second edition of Hacking with Swift Live, my own event designed to raise money for charity. This was originally going to be a two-day in-person event, but when it moved online thanks to the virus I extended it to four days so everyone could be sure of getting great value for their ticket price. This was the single most complex piece of work from my whole year – preparing and delivering four days of hands-on workshops pushed me harder than anything else I can remember.
Was it worth it? You bet it was – we managed to raise $38,000 for charity in those four days. That’s a lot of money in any year, but right now so many charities are seeing fundraising events being cancelled or cut back so it’s more important than ever.
Hacking with Swift Live will definitely be back this year. In what form I don’t know – we’ll need to see what our friend the coronavirus is up to – but despite the epic workload this is an area where I can make a real difference to folks who need it the most.
There’s one last thing I want to mention, which is that I was lucky enough to be able to help launch the new Diversity in Swift initiative at the end of the year. I generally talk a lot about the need for more diversity, more inclusion, more sponsorship, and more mentoring, but I hope my actions go far beyond my words. This is a fantastic new initiative that’s supported but not directed by Apple – it’s being run through the Swift community so that everyone can benefit, and I’m really excited to see where it goes.
Most of us had big plans for 2020, and most of us fell short for all the reasons I’ve mentioned repeatedly already, but I still want to try to set equally big plans for 2021.
First, Swiftly Speaking is coming back with another round of interviews from folks around our community. Although the goal is to continue these on YouTube, I know already that some will be released as audio only because I’ll be giving guests the option to choose which format they prefer.
Second, Hacking with Swift+ is due for a major upgrade sometime around April. It’s going to take a lot of preparation work to get that upgrade ready, but I know for sure every subscriber will benefit.
Third, I need to keep plugging away at updating my books for SwiftUI. This means full rewrites for both Hacking with macOS and Hacking with tvOS, which is an enormous undertaking – not least from a willpower perspective! Again, I know folks will really appreciate having this work done, so I just need to knuckle down and focus until the work is complete.
Fourth, I’m putting together a batch of upgrades for the forums. Based on a recent Twitter poll, folks most wanted to be able to search for messages, then have non-English forums, and finally @-mention notifications. So, I’ll definitely work on the first two as soon as I can, then see how it’s received – perhaps I’ll move onto the third, or find something else to work on.
Fifth, Hacking with Swift Live will be coming back for its third outing this year, again with the goal of raising money for charity. I don’t have firm dates yet because everything is up in the air thanks to You Know What, but we’ve raised so much money in the previous two years I feel certain we should push ahead and have another great event this year too.
Finally, although I have big plans for Hacking with Swift+ I also remain firmly committed to producing high-quality, free Swift tutorials everyone can benefit from. If you’re able to support my work by buying a book or by subscribing to Hacking with Swift+, it would be really helpful!
Thank you for taking the time to read this hugely self-indulgent article – I hope it gives you some insight on how my plans for the year went, and hopefully also gives you some idea of where I want to take my work in this coming year.
Happy new year!
Paul Hudson is the creator of Hacking with Swift, the most comprehensive series of Swift books in the world. He's also the editor of Swift Developer News, the maintainer of the Swift Knowledge Base, and a speaker at Swift events around the world. If you're curious you can learn more here.
Link copied to your pasteboard.