iOS Dev Stories: Guilherme Rambo & wwdc.io

Thiago Lioy
Cocoa Academy
Published in
6 min readJul 6, 2017

--

This week’s guest has been programming since twelve years old, working on many different projects under different environments. Web, desktop or mobile, he does it all. Recently he got a lot of attention due to his wwdc.io app, the unofficial way to watch WWDC videos. The app has several other features like filter, favorite/unfavorite videos, among other cool things. Today I am going to talk with Guilherme Rambo, creator of wwdc.io, about development, open source, projects, tools and more.

Thiago Lioy

How and when did you start developing for iOS?

Guilherme Rambo

My background as a programmer goes back to when I was around 12 years old. My school started to offer some basic computer courses and one of them was programming in MS-DOS and Pascal, which at the time were already really old. I loved that and I convinced my parents to put me on a Delphi programming course. Delphi was an IDE where you’d drag UI components and hook them up to code (kind of like Interface Builder). After that I started to learn web development, made websites for local businesses and some other freelance work.

Around 2009 I got my first Mac — a white MacBook — naturally I started to look around and see how I could make software for it, that’s when I started to learn Mac OS X (now macOS) development. The iPhone had already been out for 2 years but it was too expensive for me, so I kept making websites and simple projects for OS X on my free time until I could afford to buy myself an iPhone.

Could you share some of your experience? Projects that you contributed for, events you went, etc.

I think I started with simple open-source libraries I made just for fun and released on Github. My first commercial app ever was Rastreador, a package tracking app for the Brazilian postal service. After that, I released a macOS app (BrowserFreedom) and an iOS app (ChibiStudio).

In open-source, I’ve released tens of projects myself, which together have collected almost 10k stars on Github. I’ve also contributed to other projects like IGListKit, Swift Foundation, Realm, Keyframes, etc.

I love to give talks at events, so whenever there’s a cool iOS event with a call for papers I try to submit something. Last year I gave talks at TDC/SP and the national CocoaHeads BR conference. This year I talked at TDC/SC and will also be giving a talk at TDC/SP and the iOS Remote Conf.

iOS Community is very active. How do you keep yourself in sync with everything that is happening in the community?

It can be overwhelming sometimes to be working in this field, since every day there’s a new cool thing and we have to keep ourselves up to date all the time. I think the main channels I use to keep up to date on iOS stuff (and programming in general) are Twitter and the CocoaHeads BR Slack. The important thing with Twitter is you have to follow the right people, I’m frequently managing who I follow on Twitter to try and keep following only the people who are the most relevant for me.

Beyond the communities, I’m also a subscriber of Swift Talks and NSScreencast and I read the Apple news websites everyone knows (9to5mac, MacStories, etc). I’m also a big podcast listener, I listen to lots of podcasts related to Apple news, iOS and macOS development and technology in general.

Whats tools do you usually use to get the job done?

Xcode, of course. It has lots of issues, but I think it does the job and Xcode 9 has improved A LOT. Can’t wait for the final version to come out later this year.

Sketch: I do some UI design for my projects and I haven’t found a better tool than Sketch for that.

PlayAlways: a little tool I made myself to create Swift playgrounds from the menu bar, really useful to try something out very quickly.

Paw: indispensable tool if you ever work with HTTP APIs.

Do not disturb mode: focus is very important for what we do, and this is the single most important tool I use when I want to get some work done

Apple Music: similar to the above, I like to put my headphones on and listen to some music while I work, that keeps me from getting distracted by ambient noises. I also found that for me, listening to music in a language I don’t understand is better since I can’t really pay attention to the lyrics. So no English or Portuguese music for me 😅

How did you come up with the idea of building The wwdc.io project?

It took me a while to get my head around Swift. When Apple first launched the language in 2014, I was scared because I was so comfortable with Objective-C. Almost a year later, after studying the language and doing small little experiments with it, I decided I had to make a “real” project with it to really learn the ins and outs.

I’ve always liked to watch WWDC videos, I find they’re a really good resource to learn about Apple’s APIs and what they expect you to do with them, but I also hate the web as an app platform, so watching lots of long videos in the browser is terrible for me. That’s when I decided that this side project would be a WWDC app for macOS.

Do you mind to share some of your plans for wwdc.io app future?

This year the app went trough a much needed redesign and rewrite. We now have a core team that’s helping a lot with the design, development and management of the project. Vicente (@vicenteborrell) is doing all of the design work, Ben (@bcmn96) is helping me with the code and project management, we have a cool new icon made by Raphael (@raphaellopesph), not to mention all of the other contributors who are opening issues and pull requests.

With this new structure, we have a better foundation upon which we’ll be able to build new features. The main one we’re aiming at are bookmarks. When you’re watching a video from WWDC, you’ll often find yourself wanting to take notes or just wanting to save a piece of the video to refer back to later. With bookmarks you can now do that, and later on we plan on expanding this feature so users of the app can share their bookmarks with others, making the experience of following WWDC more social.

Could you talk about some of the challenges behind the app?

I believe the main challenge with this app comes from the fact that it uses a 3rd party API which is not open. Apple’s REST API with all of the WWDC content can change at any moment and I have to be constantly following it to make sure it didn’t brake our app.

This year I had the app ready a week before WWDC and when Apple released the update for their iOS app, the REST API (the format of the data) had changed a lot, so I had to scramble and rewrite a good portion of the core of the app.

Other than that, it’s challenging to work on an open-source app that’s used mainly by developers, because it’s hard to avoid feature creep. Since the users are developers themselves, sometimes they just go and implement the feature they want and we have to be very careful not to accept everything, otherwise the app will become a huge mess with tons of features that only a few people use, but need to be maintained.

With that said, I encourage anyone who’s ever thought about releasing something open-source to go and do it. My open-source projects have given me a lot of exposure and that translates to friendships, job opportunities and ultimately a lot of fun.

As always any thoughts, doubts or feedback are more than welcome. =)

Ps: If you like this post, share it on twitter, recommend it on medium, or both =). This really helps me to reach more people. Thanks a lot ..

--

--

Thiago Lioy
Cocoa Academy

iOS developer, design enthusiast, blogger, weekend cook, guitar player, traveler. Creator of iOS mag: https://medium.com/cocoaacademymag