With two jam-packed days in the books, only one day remained.  The format for the final day of ng-conf was another single room, all day series of sessions.  Much like the first day, the range of topics was both broad as they were relevant and informative.  Day 3 had a few major themes expressed in the speakers’ presentations.


Brad Green and Rob Wormald presented the keynote presentation.  They talked about how Angular fits in at Google.  And by fit in, it is more like Google runs on Angular.  Google has hundreds of its major systems running on top of Angular including data center allocations, release management, product launch approvals, and bug tracking.  Google demonstrates its commitment to Angular as well as its commitment to the ecosystem around Angular.

For many, many, many web developers, Bootstrap is as essential to their workflow as the technologies Bootstrap uses; namely HTML, CSS, and JavaScript.  In her talk, Giving Bootstrap the Boot, Alyssa Nicoll has a different opinion.  She has experienced several pain points using Bootstrap and fighting with the very things the framework is supposed to address.  Alyssa demonstrated for the audience issues around customizing CSS and having to battle Bootstrap’s CSS due to the high levels of specificity.  She sees bootstrap as a constraint to developers’ workflow instead of a benefit.  Because of this, she offers up two options to audience members.  One, completely remove Bootstrap; Two, completely remove Bootstrap, nicely.  By nicely, she means one component or area of an app at a time instead of a big bang approach.  Alyssa gives the audience a reference to Flexbox, to help layouts and positioning, which is one of Bootstrap’s defining features.  And if the reference is not enough there is a Flexbox course by Dave Geddes, one of the organizers of ng-conf, called Flexbox Zombies.

Developers from Telerik took to the stage to present Building EmotiNg: The Real-Time Cross-Platform Service You’ve Always Wanted.  They had an excellent presentation combining some cool technologies to address real problems, but they did so in a silly way.  So the technologies they combined were NativeScript for creating a mobile app, Firebase for its real-time database, and of course Angular, for building the NativeScript and companion web app.  By walking through their motivations, which could be seen as business requirements; we can see how their example’s ideas and implementation can be leveraged for real world challenges.


The second theme that was prevalent in the sessions for the day is what I would call techniques.  Techniques as in implementation strategies and suggestions to get the most out of Angular.  The Best Practices talk by Stephen Fluin focused on the following tips:

  • Tip 1: Measure Your Bundles
    • Understand deployment bundle sizes to see where you can make improvements.  You can use Source-Map-Explorer to measure bundles.
  • Tip 2: Ahead of Time Compile (AOT)
    • Use AOT compilation to remove the Angular compiler piece from deployment bundles to reduce size.
  • Tip 3: Stay Up to Date
    • The Angular team is continually introducing improvements to Angular and staying up to date allows developers to take advantage of those improvements.
  • Tip 4: Import Carefully
    • Put thought into the functionality that is imported into your app, as some imports may drastically and unexpectedly increase the size of your deployment payload.
  • Tip 5: Lazy Load
    • Lazy load everything you can to decrease app start time.
  • Tip 6: Polyfill Responsibly
    • Understand your user base so you can customize the polyfills used for your app to remove any unneeded polyfills.

Forms obtain a majority of user input for most apps, be it a medical form, signup form, or a search form.  And because forms are so important for acquiring user input, it is just as important to vet this input for validity.  Kara Erickson walked the audience through setting up basic validation using Angular’s reactive forms.  She covered built in validators and tying them to the UI as well as creating a custom validator.  Next, Kara walked the audience through some new and exciting features coming to form validation.  These features include custom validator chains, controlling the order and timing of validation execution, emission of errors when apps need them, and “push”-based validation.  A lot of impressive capabilities are going to be added to the validation toolchain shortly.

The final technique presentation I would like to mention was a talk by Shai Reznik called: Angular Router Authentication & Authorization – REAL LIVE LIVE LIVE LIVE LIVE DEMO.  As the title states, this talk was about the Angular Router and its involvement in the authentication and authorization of users.  Shai’s presentation was just so unique I am going to stop writing and just point you to the presentation so you can take in all the magic for yourself: The real recorded demo.


The final theme I would like to discuss is Experience.  Being a developer isn’t just about being heads down writing code by yourself.  Being a developer is a personal and social journey that allows for people to grow in many ways, some they might not even expect.

Have you heard of this little website called Meetup.com?  Well if you haven’t, you should check it out.  Or even better, you should do as Ken Snyder talked about and Create and Attend Meetups.  Ken’s presentation guides the audience through tips on establishing a meetup and how to make it successful.  The tips included having a consistent time and place, keeping the meetup free, starting small and being patient, as well as advertise the meetup as much as possible.  Following Ken’s tips for starting a meetup, he mentioned how as an attendee you could get the most out of your experience.  Networking and being engaged by following along or asking questions during meetups allows for participants to grow both intellectually and socially.  I find attending meetups both informative and a good way to stay connected to my local IT community; I highly recommend getting involved.

Shmuela Jacobs‘ talk, ngGirls Just Want to Have Fun, was one about inspiration.  Her goal is to inspire and empower women to take part in the world of technology.  For that reason, she has created the organization ngGirls.  ngGirls plans and executes events and activities that guide participants through the process of building and deploying Angular applications.  Besides giving participants first-hand experience with development; ngGirls will also provide assistance with the process of job hunting.  And to help offer this opportunity to as many women as possible, ngGirls provides support to people willing to host events on ngGirls behalf.  ngGirls not only helps nurture and grow the Angular community but the IT industry as a whole with its concept.

Do More with Less was a talk by Doguhan Uluca that discusses how not to be overwhelmed by JavaScript.  He tells a story that breaks down to 3 concepts, think, wait, and fast.  Think.  It involves putting thought into a design and focusing on the least amount of effort to produce the most results.  By maximizing the basic tools and libraries you have at your disposal, additional complexities are not introduced and this allows for the development experience to be more homogeneous.  But be pragmatic; when other tools are needed, do seek them out.  Wait.  Wait advises developers to not jump onto the latest betas and alphas.  Doguhan does encourage the audience to balance productivity with experimentation.  There are ways to leverage current skills and tech stacks to work toward the bleeding edge without getting cut.  And finally, there is Fast.  Fast concerning not using many different JavaScript packages.  By having a small set of packages to work with this allows a developer to concentrate on the libraries they have to master them.  These three ideas were put into context by Doguhan when he stated that with Angular, npm, and TypeScript, a developer has the means to use less JavaScript to do more app development.


As usual, ng-conf ends with the Angular Panel, a stage full of Angular team members fielding questions asked by both live audience members and those online.  As the last question is answered, ng-conf 2017 comes to an end, and my anticipation for next year’s event begins.  It was a great conference.  I depart Salt Lake City energized to take my Angular development to new heights for the year.  And if you want to be just as energized, please take a look at the materials and presentations for Day 3 at the following repo:  ng-conf 2017.

If you have not had a chance, check out Day 1 and Day 2 of my highlights of ng-conf 2017.  For another perspective on the conference, please check Dave Baskin‘s blog post: NG-CONF 2017 Day Three Highlight