ForwardJS x ForwardSwift ‘17: Community, Code, & Coffee

Lizzie Siegle
7 min readMar 13, 2017

--

“We choose to…do the other things, not because they are easy, but because they are hard” -JFK

I left school for spring break a few days early to speak at ForwardJS, and to attend ForwardSwift. Surrounded by developers from all over the world, I learned so much in such a short amount of time. I also loved the sense of community at the conferences and the after-events, which were two sort-of happy hours at Lush Lounge and Nick’s Crispy Tacos. Nick’s even made a list of SF’s bro-iest bars!

Lush Lounge a few days after I turned 21!

These events offered further opportunities to get to know conference attendees and speakers in a new, local setting. The people (and organizers especially) helped make the conference and atmosphere what it was — amazing, collaborative, innovative, and supportive. I low-key fangirled when meeting people I followed on Twitter, or whose workshops, projects, or tutorials I’d completed or seen, and had to tell myself that despite our age difference, I was a speaker and developer like them. Ultimately, we were all students there.

Enjoyed seeing and speaking with Justin, a former Braintree evangelist now at Jibo, again

ForwardJS

Kicking off ForwardJS were the sponsors. I loved listening to Jibo evangelist Justin Woo, as he was the first evangelist I ever met, and he taught me what evangelism was (when he was at Braintree). Next, there was a panel on “Analytics, Automation and Intelligent Agents" featuring Nexmo’s Tomomi Imura, Quantcast’s Nilkanth Patel, Ari Gesher, Tina Chen, and Todd Margolis. It was interesting to hear how different experiences shaped different people’s perspectives on security and privacy.

ForwardJS panel

The first talk I went to at ForwardJS was Hacking Web Performance with Max Firtman. While I was primarily focused on my own slides, I distinctly remember Max describing CSS as the appetizer, and JavaScript as the dessert, as well as optimizing data transfer, different image types (PNG and JPEG), and the magic of this BPG converter.

Then, I enjoyed Chris Castle’s The JavaScript Software Factory. It was interesting to hear from him about developer relations at Heroku, as well as working with a team.

This was my first technical conference talk, and it was a blast speaking about PubNub’s Project EON. Though I love this open source framework for making realtime charts and maps, and have used it a lot, in the hours leading up to it, an organizer asked me twice if I was alright! And though I started out nervously, I felt very supported and welcomed because Tomomi and Justin were there, taking pictures encouragingly like parents!

First technical conference talk 👊🏼

Following my talk, which went fairly smoothly besides ending early, I attended Dr. Doris Chen’s talk on TypeScript. I’d heard some other Forward attendees saying it was really good, so I went — and it was a full house, in the same room my talk had been in! I’d met Doris at #SFHTML5 this past summer, and she did not disappoint. I learned how TypeScript, developed by Microsoft, is a superset of JS, and it runs in any browser and on any OS. It was also interesting to hear about specific functions, common errors, optional types, and what’s new with TS 2.1.

After a short break, I went upstairs to the main room to see Ben Ilegbodu speak about React. He went over JSX, which adds XML syntax to JavaScript. It looks like HTML, but isn’t, and is compiled by Babel into actual JS code. Like XML, JSX tags have a tag name, attributes, and children, and though I used React.js for a project at my internship last summer, it was nice to learn about props, states, and other React components in a more formal manner.

The closing speaker was Elyse Kolker Gordon, talking about Building Universal Apps with React. Server-side rendered apps, apps where the user goes to a web browser, the browser talks to the server, and server talks to an app’s backend or API, are rising in popularity. React.js can be used to improve the flow, so that the browser can go directly to the backend through AJAX, getting data and populating views.

At the end of a long day of talks, everyone went out for tacos. I ended up in line with a few young dads, one of whom had attended my talk. It was interesting to hear their perspectives on recent Uber events, web development, SF/the Bay Area, their backgrounds, and more.

ForwardSwift

ForwardSwift kicked off the next day with a panel featuring Rachel Bobbins, Kristina Thai, Tripta Gupta, Dani Arnaout, and Christian Schlensker. I’m a big fan of Kristina’s WatchOS tutorials, and loved listening to her thoughts on growing the Swift community by making the language open source. Next, Ellen Shapiro talked about Better UI Testing with Swift Robots. Despite countless Chicago Cubs references (hey, go Giants!), I enjoyed this talk, which briefly covered the differences between UI tests (such as KIF/Keep it Functional, XCode7’s XCUI, and now Google’s EarlGrey) and unit tests: UI tests catch bugs as they’re written and how all the pieces work together for the user, while unit tests test small pieces of code, like classes or methods, by isolating them. The Robots pattern, also known as “controllers,” make UI testing in Swift easy and readable.

Forward Swift panel

Next, Shruti Malugu discussed iMessage extensions, or CAAP (conversation as a platform). This new conversational UI in Messenger and WhatsApp offers an alternative to a GUI. In iMessage, apps can run from within the app via iMessage extensions. These are great for planning to go to a different location so that you don’t have to leave the app to find a place, research it, etc. What makes a great iMessage extension? A fun collaborative experience that highlights interesting and focused app content with an intuitive interface. Fun fact: 80% of revenue generated from iMessage extensions come from sticker packs, which require no code.

After that talk, Ethan Fan taught us how to build great Apple Watch workout apps. I found this fun because I had worked with HKWorkoutSessions, getting sensor data, and collecting fitness data for workout apps this summer and winter breaks. After, IBM evangelist David Okun talked about Kitura, a restful API written in Swift. This was a great lead-in to the Server-Side Swift workshop I attended Saturday (more on that later).

I also enjoyed hearing about SafariViewController from former StormPath evangelist Edward Jiang. I’d noticed the new and improved flow in iOS 9, where there is faster app transition to do actions like logging into Facebook rather than opening up a Facebook app (which not everyone has). This is a limited alternative to WKWebView, but provides easy access to cookies, simplified OAuth, and quick, seamless on-boarding.

SafariViewController — interesting!

Server-Side Workshop with Paul Hudson

Given the option of attending macOS Made Easy or Server-Side Swift workshops (both taught by the amazing Paul Hudson — 10/10 would recommend, as he was mentioned often throughout ForwardSwift), I chose Server-Side because I thought it would be more helpful, interesting, and I was curious about Kitura after I walked through a Vapor tutorial by Twilio’s Brent Schooley. The first half of the workshop wasn’t bad, but in the second half, I fell behind when I stopped asking questions because I thought I was holding the class up. Everyone seemed more experienced, and in the end, I realized one of them included the second evangelist at Twilio! I’m impressed with how much I learned from Paul, who is amazing: go buy his Swift books here!

Conclusion

“What does the JFK quote have to do with anything?” you may be asking. Well, it’s similar to something Paul said: “there is no learning without struggle.” I learned a lot at ForwardJS and ForwardSwift because I was probably the least experienced person in the room (certainly one of, if not the, youngest). And I’m okay with that, because I soaked up that much more from other speakers, conference, and workshop attendees. So now, I will forward on, with less than two months left of junior year!

--

--