Development Life Technology

WWDC 2021 – Day 5

Writing this a bit late, but Day 5 was the best day so far for me. Why? Because I applied for a SwiftUI lab session and was lucky enough to get one! But before we get to that…

I’m a person that struggles a lot with anxiety. Mostly around social situations, my anxiety has been a darkness in my life for as long as I can remember. I have learned to live with it, even when that “living with it” is to shut myself away from the world as much as possible. If you’re wondering if the recent pandemic was a “good thing” for me, then to some extent it was amazing. Let me clarify that though; it made me realise just how bad my anxiety was when the vast majority of it was suddenly removed. When I thought lockdown was going to be eased I realised how scared I was of seemingly everything and I realised it was again time to seek help. I won’t go into the details of that, but if I say CBT then you’ll get the idea.

Fast-forward to now, to WWDC week, to me being able to do some things that a year ago I wouldn’t have realistically considered. Attending group chats and SwiftUI Lounge sessions. All virtual, yes, but still very much a victory for me. And this all culminated in me not only applying for a lab slot – applying in itself was a big thing – but actually being one of the lucky people to get one.

On Friday night at 21:30 UK time I logged on to the WebEx call and was joined by two fantastic Apple engineers who worked on the SwiftUI team. As part of the application I had submitted my questions, and Matt summarised the first one to ensure he understood what I wanted to know and the conversation began – it was awesome! They listened to me and answered everything with real clarity, expertise, and patience. They reassured me that the road I was going down was the correct one, offered suggestions for when that road may not be suitable, and offered up a couple of diversions for me to checkout ways to improve my code and use of SwiftUI. It was brilliant and I was absolutely buzzing afterwards.

Now, this may not sound like such a big deal, but to me it was. The questions I asked were things that I have been too anxious and scared to ask of the community, because I am inherently fearful of looking stupid. That can lead to a decline in my mental health and me stopping doing the things I love. Anyone who has suffered with depression and anxiety will know what I am talking about. The irony here is that instead of asking random people on the Internet for help, I ended up asked literally the most knowledgeable SwiftUI people on the planet – if anyone could make me feel stupid… Of course, they didn’t do that. They communicated with me so clearly and kindly that I was left feeling more motivated than I have for a long time.

This, then, was my highlight of WWDC. I have loved WWDC this week. Being part of it all feels right to me. My mental health has prevented me from accomplishing so much, and yet I am still here battling away and more determined than ever to release my app and once again be an iOS app developer.

Thank you to everyone at Apple for all the work in bringing us WWDC and bringing us all the new toys. Maybe one day soon I will add my own new toy to the App Store – I certainly now feel like it’s possible.

Development Technology

WWDC 2021 – Day 4

Development Technology

WWDC 2021 – Day 3

Today has been all about SwiftUI as I watched the excellent Demystifying SwiftUI session, and then hung out in the SwiftUI lounge as Apple engineers answered questions about what was in the session.

And right now I am back in the SwiftUI lounge where a couple of engineers are answering questions about building SwiftUI itself. It’s great to get answers from the people that built it, it really helps put the achievement into perspective.

That’s it for today as working during the day then spending hours catching up with WWDC in the evening is taking its toll! I need to set Focus mode to Sleep soon. Hopefully tomorrow I will get to try out the new Xcode beta and some of the new SwiftUI features!

Development Technology

WWDC 2021 – Day 2

We got the first recap video today and Serenity Caldwell knocked it out of the (Apple) park. Watching the brief-yet-info-dense recap got me excited all over again about what’s in store for this week and beyond.

Already the Apple dev community is cranking out content. My personal favourite so far is tuning into Paul Hudson’s fantastic live streams on YouTube. He’s already demoed a load of new SwiftUI code, and he’s currently live streaming all about new stuff in Swift 5.5. If you want to know about Swift’s new concurrency model then this is the place to go. You can watch the videos back after they live stream, so no rush.

I’m also partial to a bit of content from John Sundell & Friends on the WWDC by Sundell web site. John is a fantastic communicator about all things to do with Apple development, and he’s joined by Gui Rambo and perhaps others throughout the week.

I watched the Apple session “What’s new in SwiftUI” today and there is a lot of new functionality that is very impressive. Swipe actions for Lists look awesome and will be such a time-saver both in code terms and UI terms. There were a number of other great things that will help simplify development with SwiftUI – buttons, refreshable API, searchable API and so on – and I can’t wait to get started with the new Xcode beta.

Perhaps the biggest takeaway so far is the number of times that async await appears in sample code. Makes me think all code looks like this now:

@State private await var async myVar: String = await "My Value"

It’s great that concurrency is being so heavily involved in the code demos. It’s an area of programming that I’ve not dabbled in before, so I am excited to try it out.

That’s it for day 2 – the week is going by so fast!

Development Technology

WWDC 2021 – Day 1

And just like that the Keynote and Platforms State of the Union are over for another year. Although last year had the big Apple Silicon announcement, I felt they spent too long on it, so this year’s focus on the software and APIs was more interesting for me.

I particularly liked the Maps enhancements around directions (both on foot and in a car). The new Weather app, which I believe has been developed in SwiftUI, looks lovely and offers some new data points from what I could tell. Definitely looking forward to trying out.

On the Home front I love everything around home automation and HomeKit. Even if I’m not personally interested in a specific feature or device, I am always interested in seeing the use cases. I find the idea of “keys in iOS wallet” to be pretty compelling and will definitely look into how that could work for me. Even if it’s just a lock on the shed while I decide whether I trust the tech or not! And I’m also thinking about HomePod Mini in the lounge, both as audio output for the TV and also so I can “Hey, Dingus!” to get it to control the TV to some extent.

I think the most interesting developer things for me where coding SwiftUI apps on iPad in the new Playgrounds app and Xcode Cloud. Finally we get to see the fruits of the BuddyBuild acquisition and I think it sounds fantastic. Anything that can help make the process of development easier for me is welcome and I think this will do just that.

Lastly, the concurrency story for Swift and the introduction of the AAA (async, await, actors) was another interesting area. Concurrency in programming is new for me and I haven’t quite got my head round it yet, but I am looking forward to trying out the new features of Swift to see if they can help me with ExerPlan.

Overall, a good start to WWDC 2021 with plenty to pique my interest and no doubt plenty of detail still to come out over the next few days and weeks. My new SSD arrives tomorrow so I will finally have enough space to install new stuff without the fear that my Mac Mini will run out of space. Can’t wait!

Development Featured

WWDC 2021 – Pre-Conference Thoughts

WWDC 2021 is due to start tomorrow and once again it’s online only. It seems strange now that last year we were wondering whether an in-person event would be doable, and of course with hindsight the right decision was made. But not just because of the global pandemic – Apple touts inclusiveness as one of its core beliefs and the online nature of WWDC meant that it was the best “attended” WWDC in history (citation needed obvs).

This year I am once again very excited about WWDC week, last year’s event was brilliant and I was able to participate like never before. I’ve already taken part in the WWDC Trivia Party, and it was good fun again despite the technical gremlins that made it a text-only event for me this year! I’ve also signed up to a few other things during the week, which given the time difference I may not always be able to attend, but hopefully I can make some of them. There is a real buzz around the iOS dev community at this time of year and I love being part of it. One of my aims for the next 12 months is that by WWDC 2022 I can play a bigger part in it, whatever that turns out to be.

Next week I am mostly looking forward to the Keynote and Platforms State of the Union, desperate as I am for any news of SwiftUI updates and a possible sighting of SwiftData (if it even exists, which it surely must?). That takes care of Monday evening for me, and then it will be on to consuming everything I can about whatever is announced. Be that the Apple developer videos that were so brilliant last year, to all the various blogs and podcasts and videos that the wider community produces. With so much planned by so many, it’s going to be a busy week. I’m on UK time so I get to work all day and then around 18:00 the new videos will drop from the Apple developers and that’s another night gone!

My most important goal for this year is to finally release my app, ExerPlan, onto the App Store – it’s an app based around creating your own exercise plans. I have struggled for 2 years to get the app released, and it was only with 2019’s introduction of SwiftUI that I finally thought I would ever release it – yet two years later I still haven’t done it. I care less now about the completeness of the initial launch version as I do about the goal of launching – I need to prove that I can do it and move on from there.

To sum up; I am hoping that WWDC 2021 gives me the excitement and impetus to get back on track with ExerPlan and ultimately to help me towards my over-arching goal of transitioning to being a full-time app developer. And, er, SwiftData – I really want them to announce SwiftData please and thank you!

Development Featured Technology

WWDC 2021 Wish List

WWDC 2021 kicks off next week and there are a few things I am hoping to hear about. Here’s my wish list for WWDC 2020 for comparison.

  • SwiftData! The mythical beast of persistence, the talk of which persists. I am hoping for something that merges the functionality of the magnificent GRBD SQLite library with native Swift. Give me all out SQL control along with ORM-like technology for those times when something more Swifty is preferred. This post by Drew McCormack has some great ideas and more realistic expectations about how SwiftData will be to CoreData as SwiftUI is to UIKit. Whatever happens, I hope we get a top quality, SQL-based, Swifty new data framework that can handle syncing across all a user’s devices.
  • eyeOS! Come on, it’s the greatest name ever in Apple OS history and it’s not even been announced yet. This is something I hope to hear more about. Apple has been showing AR stuff for a few years now, but all the demos leave me underwhelmed. Someone holding an iPad while building virtual Lego is not where it’s at for me. I want to see some stuff that points to Apple’s wearables future, along with some of the indie AR demos that have been so captivating.
  • Continuous Integration! Will this be the year that the BuddyBuild acquisition starts to make sense to the developers? I’d really like to see Apple introduce a streamlined CI solution that enabled us to easily write-test-commit-deploy – the deploy should be straight to the App Store and take care of…well…everything from screenshots to certificates.
  • Home Automation! Recent oopsies with job adverts aside, I would love to see Apple take HomeKit and hardware on a level. I think some sort of HomePad is on its way, but perhaps a better move would be for Apple to open up HomeKit so that more devices start to support it. When looking for HomeKit plugs, for example, I can always find about 18 million Alexa/Google ones and 2 for HomeKit. I want to see fantastic developers like Aaron Pearce let loose on HomeKit to build us whole home automation apps that can run on either Apple or third-party HomeKit hardware.
  • SwiftUI! No question, SwiftUI is the best software release Apple has made since I started developing for their platforms. It is SwiftUI’s second birthday next week and I want to see it really living up to its potential. Let’s have an end to the annoying bugs and let’s get something that handles the basics of iOS apps superbly and simply. Sort out the issues with navigation, try not to introduce too many new Property Wrappers, and build on that with new controls that enable swift prototyping and development like only SwiftUI can. And integration with SwiftData would be amazing obvs. To clarify: I 100% love SwiftUI – thank you to everyone that has worked on it and made it what it is.

I am excited for the upcoming WWDC and have already registered for a couple of events over the next week or so. And maybe this year my post-WWDC buzz will last long enough to power me through to releasing my app – we can but dream!