NASA's Astronomy Picture of the Day is one of the most popular websites for amateur and professional astronomers. Every day it shows a cool recent space photo with a brief explanation. I like checking the site frequently, and thought it would be cool to be able to see the current picture every time my computer goes to screensaver mode.

What it does

It fetches today's image and description from APOD using API from and displays them in the screensaver. The image slowly zooms in while the text scrolls at the top of the screen.

How I built it

I used MacOS's way to build screen savers by creating a subclass of ScreenSaverView. I used Objective-C and developed in Xcode.

Challenges I ran into and what I learned

  • limited experience with Objective-C
  • learning Cocoa Drawing from scratch (that transparent text box was tricky!)
  • learning how to use http api from within the screensaver

Accomplishments that I'm proud of

I got it to work! And I am planning to be using it as my screen saver. Especially happy that it works with external display.

What's next for SkySaverAPOD

Animation can be made more smooth and advanced! Also it would need to handle cases when today's picture is a video (like today! that's why the current version just always gets the picture for 2020-07-24 :) ). It should be able to resize the image properly when it has different aspect ratio than the screen - currently it would just stretch it. It could also be cool to have "Screen Saver Options" that users can modify to their liking.

Built With

Share this project: