For those who celebrate, happy Eid this weekend!
We have a little treat, for those of you who like coding and Swift Playgrounds…
For those who celebrate, happy Eid this weekend!
We have a little treat, for those of you who like coding and Swift Playgrounds…
It’s that time of year again, and we have such a limited time!
The Swift Student Challenge is on and it’s a great opportunity to push yourself to create something of which you can really be proud.
Now, the deadline is April 24th at midnight (Pacific time, but, as I say in the video, I would encourage you to push for your own local midnight… something always goes sideways at the end and you want to have plenty of time).
The challenge, this year, is centered around Swift Playgrounds 4, and its ability to build full-fledged apps!
I threw together a little video to help you read the T&Cs and maybe find a path towards an app you can really get stuck into. Check it out here:
And here are a few links to help get you on your way…
Swift Student Challenge: https://developer.apple.com/wwdc22/swift-student-challenge/
The full T & Cs for the Swift Student Challenge: https://developer.apple.com/wwdc22/swift-student-challenge/policy/
For students younger than 13 in the US or 16 in Europe, get your guardian to email [email protected] allowing you to apply.
Swift, Apple’s Open Source Language: https://www.swift.org
Swift Student Challenge on the Developer Forums: https://developer.apple.com/forums/tags/swift-student-challenge/
App Gallery Tutorials: https://developer.apple.com/tutorials/sample-apps
Inspiration from past winners: https://www.wwdcscholars.com
These are not the only themes you could use for inspiration or focus, but they’re a good start:
App Design Journal: https://education-static.apple.com/coding-club-kit/appjournal.key
App Design Workbook: http://education-static.apple.com/coding-club-kit/appworkbook.key
Best of luck!
Apple’s updated the Swift Playgrounds Author Template for Xcode 13, which is huge news for people (like me) who author Swift Playground Books.
I’ve talked in the past about building playground books with the author template (the video is here). It’s a great tool for helping you build rich experiences for your students.
With this new download, you can build your playground book without having to keep Xcode 12 around. Now, the template is reliant on a certain version of Swift, so you may need to install a separate build of Swift (which you can get from here: https://www.swift.org/download/), and I’ll go into how to do that (and maybe *why*) at a later date.
In the meantime, I’ve got to go grab my copy to get cracking on a few new Swift Playground books!
Well, it’s finally here: Swift Playgrounds 4.0!
You can now build entire apps on your iPad and ship them to the App Store. This is a huge update and there’s a ton of great content to go with the update that will teach you how to build apps (with SwiftUI, even!).
Go check it out and I’m sure I’ll have some walk-throughs for you soon!
This app and Swift Playgrounds (and Swift Playground Books, which we can author, ourselves — see our two videos on authoring playgrounds with the author template and by copying another book) are amazing tools for teaching coding.
But we talk a lot about prototyping when we talk about building apps. The App Design Workbook and App Design Journal teach you how to use Keynote to prototype an app experience quickly so that you can prove out your ideas and flow before you pour out the blood, sweat, and tears on the actual app.
This saves us from a lot of work that might be for nothing if our core idea isn’t all its cracked up to be. Prototypes let us figure out if there’s something there and whether it’s worth investing the time to develop the idea out into an actual app.
Well, the same thing applies when you’re building Swift Playgrounds and especially Playground Books. These are like stories and games and instruction all bundled into one package, so of course there’s a lot of complexity there.
I created a little Keynote theme that might help you storyboard out your Swift Playground Books, which you can download from here. Simply download that file an unzip it and double-click it, and it’ll install the template for you to use when you create new Keynote files.
It’ll give you a title screen first, and when you add new slides to the presentation you should choose the Playground Prototype slide type, and it’ll give you an area for prose in the upper left hand corner, an area below for code students might run on that particular page, and a dummy live view on the right hand side where you can sketch out what the code drives.
This way, just like an app, you can storyboard out your whole book experience and see how people will flow through the book. You can pinpoint what coding techniques you want to show off or teach or enable on a given page, as well as any instruction or story you might tell on each page.
Hopefully you find this useful, like I have!
It’s October again and that means EU Code Week is back!
And this year I’m working on a little project with a few brilliant folks on an EU Code Week Challenge called the Inclusive App Design challenge.
The challenge is all about considering people from many different backgrounds with many different types of abilities when you design your apps.
This activity is perfect for teachers who might have an iPad 1-to-1 classroom or school, but you can adapt it, no matter the gear you have on hand.
It’s also perfect for you if you don’t have a background in coding. We spend a lot of the activity just thinking about what makes an app and how we might design it to accommodate all sorts of users.
Now, we will still touch on coding, of course, as it is EU Code Week, but hopefully we’ll do so in as non-threatening a way as possible. To do that, I’ll show you Swift Playgrounds and the really fun Answers playground.
This is a playground where students write code to get answers from their fellow students and can use those answers in their code later.
You’ll see how you can design your code and app at all sorts of levels.
For those who want to build out their creative vision, you’ll learn about Keynote prototypes and the power you can wield, putting your idea in people’s hands.
You can read more about the activity and what’s involved here: https://apple.co/eucodeweek_UK
If you want to see how you might use this activity in your class, feel free to join us!
We’ll be running a 90 minute session on Thursday, October 21st at 18:00 CEST. We’ll walk through how to approach the activity and what you can do in your own classroom.
I hope you’ll be able to come; I think we’ll have some great tips and tricks for you to use this in your own classroom!
I had a great question from a teacher at a secondary school here in Ireland about animating images in a Swift Playground. The question was basically: How do I do it in a playground with Swift?
Our Adventures feed, for those of you just joining us, or who’ve forgotten, is aimed at slightly more advanced folks. It explores things like SwiftUI, UIKit in playgrounds, and more.
The new playground book is called Animating Images and shows you how to use some of the cool capabilities in
UIImageView to display a series of images over a certain amount of time.
The first page is an implementation of animated images using
UIImageView. We pass an array of images to a static method on
UIImage and set the duration over which they should be displayed. Play around with different numbers of images and duration to fine tune your animation. Make sure to read through the comments, which will show you other ways of using
The second page implements the same thing, but with SwiftUI. It cheats, a little bit. The
Image view that you would use to display images in SwiftUI doesn’t animate
UIImages that are animations. Try it out, instead of using our new
AnimatedImage view, comment that line out and add this line:
You’ll see a very static image that only displays our first image from the array. Our
AnimatedImage addition is simply a wrapper around UIKit’s
UIImageView. We could have used Combine or some other clever way to update our view with images. But this approach simply takes advantage of a well-known component we can re-use without too much pain.
Try it out, play around with your own images, your own timing, and see what kind of animated image you can create!
You can subscribe to our Adventures feed (or the original feed) here https://www.thecodehub.ie/playgrounds/ from your iPad. Alternatively, if you use Playgrounds on a Mac, you can paste this URL into the subscription bar: https://www.thecodehub.ie/playgrounds/adventures/feed.json
Inspired by some recent teacher questions via email and Twitter, I threw together some more advanced Swift Playgrounds.
Right now there are two of them. As Swift Playgrounds, they’re designed to run in the Playgrounds app on your iPad, so you can take your code on the go with you, or monkey around with them in the Playgrounds app on your Mac. Playgrounds is a great environment for tinkering with code and it just keeps getting better and better.
I split them into a separate feed from our normal playground feed because the original is aimed at beginners, learning to code. This new set of playgrounds comes with fewer instructions and tackles more complex material.
Add the feed from our playgrounds page, if you’re on an iPad. If you’re using Playgrounds on a Mac, you can select File > Add Subscription… and add this URL: https://www.thecodehub.ie/playgrounds/adventures/feed.json
The first playground tackles the @StateObject and ObservableObjects in SwiftUI, “the new hotness,” as my old boss would say.
In this playground, we use new files in the UserModule to create a model that will hold minutes for a timer (seconds, really)… we show you how to organize your code to keep the “model” in one place that you could use from multiple locations in your SwiftUI-based app.
The second playground shows off creating a UIView in code, making it the live view and animating an image view across the screen.
It’s a nice way to start playing with animation and checking out all the properties you can animate on a UIView.
There are more to come, of course, this is just the start. Hopefully these playgrounds will give you an idea for what you can do with the Playgrounds app. Post-WWDC, I’m sure, we’ll have lots more goodies to explore all the fun new toys we have to play with.
Last year we had a little wish list for WWDC, so I figured I would take a look at what we’d love to see today.
Well, first, what did we get last year?
From our list, we did wind up getting new books, a whole load of them! Some didn’t ship during WWDC, but now we have Develop in Swift Fundamentals, Develop in Swift Explorations, Develop in Swift Data Collections, Everyone Can Code Adventures. That’s quite a lot of stuff to read through!
We even now have a huge resource in the App Design Workbook, which introduces app design process as well as a bit of SwiftUI in Playgrounds to keep you busy.
One thing on our wishlist was more dev on iPad, and Swift Playgrounds is still getting a lot of love, which is excellent, and getting more interesting with each release on both the Mac and iPad.
Okay, so what would we love to see this year?
Obviously I’m biased towards things that will help us teach coding, but I’ve got a few more this year I’d love to see under the proverbial WWDC Tree.
readLine()… but it never hurts to have more options.
ARImageAnchors yourself), this would be a really fun addition to an incredible app. Reality Composer makes it so easy to create engaging, robust experiences with very little to no code already, but a few additions would just ice the cake.
That’s our list, what do you want to see from WWDC21?
As some of the commenters mentioned, that is a daunting session. Xcode, Swift Playgrounds Author Template, mucking around in packages in the Finder, it can certainly be overwhelming.
But the goal of these sessions is to show you how you can create a playground book, for use on an iPad in Swift Playgrounds. And Thursday was definitely not for the faint of heart.
Like we mentioned in the description of the video, if you’re really creating a playground book, you’ll want to read the Swift Playgrounds documentation. That will give you loads more information on how playgrounds are structured, how your code will interact with the app when it’s running, and other cool stuff.
Like Thursday, we’ll be using a Mac for the next session. We’ll also possibly be using an iPad, to show you how to edit on the fly on your iPad. I haven’t quite thought that one through, though, so buyer beware.
The goal of this session will be to show you an alternative way of creating a Swift Playground Book, in case the other way was too overwhelming.
We’ll monkey around with a playground book and see if we can’t cobble something interesting together.
Do you have an idea for your Swift Student Challenge but have some questions?
I can try my best to answer them on the air, come along and ask during the session!