All Projects → terhechte → Swijito

terhechte / Swijito

Licence: GPL-2.0 license
An Apple iCloud Photostream Client written in Swift

Programming Languages

swift
15916 projects
ruby
36898 projects - #4 most used programming language

Important Info!

  • The code is awful. Now that proper JSON handling tools for Swift exist, a huge part of the JSON code should be thrown away
  • This was written right after WWDC 2014, when Swift relied much more on Foundation types (or rather, when one had to, because the native Swift types lacked a lot of functionality). This is not the case anymore, and the overuse of Foundation types should be thrown away.
  • I hope to find some time to properly rewrite this app. Given the current state, a full rewrite would be better than trying to fix the code as it stands right now.

icon.png

Swijito

A Apple iCloud Photostream Client in Swift

image.png

This is a simple client that allows you to view people’s iCloud shared photo streams in an app on your Mac instead of having to open a browser for them. This is a very early relese, it lacks a ton of functionality.

You can download a binary for Mavericks+ here

I’ve created it because I needed a simple non-toy project to improve my Swift knowledge. After going back and forth between different ideas, I decided to implement this, because it is something that I’d actually like to use myself

Status

  • This exists mainly to educate myself about Swift. Thus, the Swift code quality is currently sub par, as I’m trying to figure it out.
  • I plan to continously update this and refactor the Swift code to be better encapsulated, abstracted, and cleaner
  • Very limited UI
  • Can’t like or interact with an image
  • Only loads the full quality images, does not load the previews
  • Currently no support for video files (half done though)
  • This is more or less a learning project and not production quality code, so it lacks unit tests

Usage

If you add an account, you have to add the account id. I.e. in the following iCloud stream:

https://www.icloud.com/photostream/#ANJtdd8978987s

then ANJtdd8978987s would be the account id that you need to enter into the Add dialog.

Todo

Where to begin? :)

  • Load previews
  • Add icon view
  • Add support for liking items
  • Add support for commenting on items
  • Improve UI
  • Refactor Swift Code
  • Finish the work on video files
  • Add unit tests
  • Add auto-loading of more items if users scroll down and if there’re more than 100 items on the stream

License

Since I really care about improving the Swift code quality of this project, it would be sad if any work done on this ends up being proprietary instead of open for others to learn from. So I chose the GPL v2 as the license of this code. You can do whatever you want, as long as all your code modifications are also being open sourced for others to learn from.

Notes

  • “Kijito” means “Stream” in Swahili
  • Swi-jito is then the Swifting Stream
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].