Categories
Development Technology

WWDC 2023 Wish List

It’s that time of year where Apple fans, particularly the software developers, get excited about the upcoming Worldwide Developers Conference. It’s become a tradition over the years for people to post their hopes and dreams, or just a wish list, for WWDC so here’s mine.

App Store
Give us free trials without having to code for them – just make it an option in App Store Connect. Paid updates would be a great addition, as this would help devs run a business without resorting to a subscription-based app which may not be appropriate for them.

AR/VR Headset
If the persistent rumours are true, then this is the event that Apple will finally announce their headset. The price is likely to be way beyond my reach, but I’m fascinated to see what Apple is offering and what it means for the future direction of personal tech.

eyeOS
This should be the name of the OS for Apple’s AR/VR headset.

M3 MacBook Air
I’m looking to upgrade my Intel Mac Mini to an Apple Silicon MacBook Air. If Apple announces an M3 MBA then I will be ordering one. Unfortunately, it seems like the only new MBA will be an M2-based 15-inch version. My wait for a new machine may last a little longer, but that will allow me to save for a better spec.

SiriGPT
I’d love Siri to get an upgrade so that I can control my HomeKit devices with much more intelligence. I want it to have context based on previous commands, and to let me speak more naturally rather than having to know the exact names of things.

SwiftData

I’m really hoping for a SQL-based, syncing, data persistence framework, that fits in well with SwiftUI. I’d love it to be SQL based, because SQL has been my day job for the last 20 years. However, I think it’s unlikely we’ll get a SQL-based framework, but I’ll compromise and take SwiftData as long as it’s nothing like CoreData!

SwiftUI
I love SwiftUI – it reignited my interest in developing for Apple platforms. Let’s see more controls that help us build better interfaces, better options for configuring the look of our views, and bug fixes aplenty.

Widgets
I’d like the ability to control parts of an app directly from widgets. Maybe even data entry to make some apps usable without opening the app itself.

There are going to be so many cool things announced, new APIs, new technologies, new hardware – I can’t wait to see it all and be part of the buzz around the community over the week of WWDC.

Find me on Mastodon if you want to let me know your wishes for WWDC 2023!

You can see my previous wish lists here:

WWDC 2020

WWDC 2021

You may spot some familiar themes too!

Categories
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.

Categories
Development Technology

WWDC 2021 – Day 4

Categories
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!

Categories
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!

Categories
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!

Categories
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!

Categories
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!

Categories
Development Technology

WWDC 2020 Wish List

WWDC 2020 is now only a few hours away and here’s a list of things I’m hoping to see.

  • SwiftUI 2.0! When SwiftUI was announced last year it rocked my world! Hyperbole, perhaps, but the paradigm that SwiftUI is ushering in makes iOS app development a joy for me. I’d like to see app navigation overhauled so as to make programmatic navigation easier, and some new controls such as a Collection View implemented. Round it off with a new level of polish and stability please.
  • ARM! The rumours have been around for a while, but they’ve really gathered pace lately. Switching to ARM chipsets will hopefully allow Apple to make improvements to their Macs more quickly and consistently. If they announce hardware I’ll be surprised, but delighted. Big shifts like this are also exciting, because you never know what might happen!
  • Xcode on iPad! I’ve been doing Swift and SwiftUI dev in Xcode on my iPad for a year using Luna Display, but I’d love a native iPad experience. No need for Interface Builder or anything like that, just the text-editing will do and I’m all set. Face it, with the move to ARM we will have Xcode running on Apple’s ARM-based hardware at some point, so why not give us a little taster now, Apple?
  • SwiftData! This is something that I would really like to see. As I am a SQL-head by trade, I’d love to see something that integrated SQLite with Swift, and also hooked into SwiftUI easily. If they can make it sync to all your devices too, that would be the icing on a very tasty cake. I want SwiftData to allow me to write all my own SQL, but it should also be ORM-based for those that want a layer of abstraction on top.

This is the most excited I’ve been about a WWDC as I feel more a part of the community this year than ever before. I can’t wait to watch the keynote, watch the tech sessions, and see just how awesome SwiftUI is going to be.

Categories
Development Technology

Fixing Int, Identifiable, and ForEach in SwiftUI Beta 5

I installed beta number 5 of SwiftUI this week and my app, ExerPlan, died an impressive death at the hands of deprecation and weirdly unhelpful error messages!

My app calls for a calendar-style interface. I use some code to iterate over the number of weeks a plan has been setup for, creating a row of UI for each week:

ForEach( 1…planDetail.planWeeks) { week in

Unfortunately, this stopped working in beta 5 as Int (which is what planWeeks is above) no longer conforms to Identifiable. It took me a while to understand the fix, but the code below eventually saw my project compile again.

ForEach( 1…planDetail.planWeeks, id: \.self) { week in

I have made sure that all relevant structs in my code conform to Identifiable, so this was a frustrating error, but at least the fix is easy.