In what is becoming a tradition for me I went into Dreamforce 2017 with a wildly optimistic 72 breakouts, theater sessions, and keynotes bookmarked that I wanted to attend. Like Codey desperately holding onto the clock on the Agenda page, I knew that was never going to work.
Instead I had a few key sessions and keynotes that I knew I wanted to attend. Beyond that, I just tried to go with the flow of the conference and to focus on doing things that I knew I could only do there in person.
It was certainly several whirlwind days that I'm only just now starting to piece back together from a trail of photos on my phone and tweets. Even seeing some of it coalescing in a single blog post is somewhat daunting assemblage.
Table of Contents
- Preconference
- Self Driving Astro in the IoT Grove
- Day One
- Mini Hacks
- Main Keynote
- Day Two
- Mass Actions, Composite, and Bulk APIs
- Salesforce Platform Limits
- Developer Keynote
- Meet the Apex Developers
- Dreamfest
- Day Three
- Advanced Logging Patterns With Platform Events
- Build Custom Setup Apps & Config Tools With the All-New Apex Metadata API
- The Future of Salesforce DX
- True to the Core
- Meet the Developers
- Day Four
- Lightning Round Table
- Salesforce Tower
- Walking Peanut butter distributor
- Random Photos
Preconference
According to my phone the first on the ground Dreamforce thing I did after picking up my badge was head into Moscone West. Pretty much business as usually, except it was the Sunday before the conference opened.
I was there to setup my Self Driving Astro. More on that below.
It was an interesting glimpse into what goes into setting up such a massive conference. There were a lot of people working hard and putting in some big hours to get everything setup and going in time of the opening the following morning.
On Sunday afternoon I also participated in the MVP volunteering event
Perfect way to kick off @Dreamforce! Volunteering with the MVPs at E.R. Taylor Elementary School warms my ❤️ pic.twitter.com/FPz6bWuksh
— ericakuhl (@ericakuhl) November 6, 2017
Self Driving Astro in the IoT Grove
Way back in April this year after giving my automated Einstein powered cat sprinkler talk to the Sydney Developer User Group I'd latched onto the idea to use the Einstein Vision Services to make a rudimentary self driving car. It was an itch that needed to be scratched. So I started working on it on and off since then and submitted it as a possible talk for Dreamforce.
Sadly it didn't get accepted as a talk this year. I suspect it was a little too far off the actual promoted use cases for the Einstein services. So while it was fun in concept, it could have lead to some confusion with customers about what the Salesforce offerings would be used for. Contrast it to something like the Identify Protein Structures Using Einstein talk, which sounds interesting in its own right and is on my list of sessions to catch up on.
It did leave me with a partially finished project that I'd put in all that effort and resources into. So rather than just mothball it I decided to carry on and make it a blog post instead. I'm glad I did, as it has been an excellent excuse to dive deep into the Metamind APIs and contribute to some GitHub projects along the way. It also formed part of an extended Einstien vision talk that I gave to the Auckland Developer User Group.
I published the blog post about it on the 20th of October. That was just over two weeks out from Dreamforce to avoid it getting lost in the noise of the conference. Then the next day Reid Carlberg asked if I was bringing it Dreamforce and if it could be setup on display. I jumped at the opportunity and set about reworking it from something that had only ever been run for 10 to 15 minutes at a time to something that would have to run continuously for 9+ hours a day. I had 11 days before I needed to be on my flight for Dreamforce.
Needless to say, it was a busy run up to departing for Dreamforce to:
- Print a new slightly larger seat,
- Design and print a new steering column,
- Upgrade to a larger metal gear servo,
- Print a new steering wheel for the new servo,
- Print a modified case for the Raspberry Pi to support the HAT and relay,
- Design and print a case for the Larson Scanner board to prevent shorts,
- Reinforce all the wiring to survive travel in checked luggage.
Somehow it all came together in time along with a number of software updates to minimize the API counts and make the error handling more resilient. Many thanks to:
- Reid Carlberg for the opportunity to set it up in the IoT Grove.
- Michael Machado for giving me a temporary bump on the Metamind API limits.
- Josh Birk for helping to get it setup and running. Plus keeping an eye on it during the conference along with @codefriar and others in the IoT Grove.
Look who you can find driving away in the Moscone West IoT Grove at #DF17. Insert your hand for Larson scanning. pic.twitter.com/e4rXSL51rm
— Daniel Ballinger 🦈 (@FishOfPrey) November 7, 2017
Day One
The first day went past in a bit of a blur. I was in and about the Mini hacks area volunteering during the morning and then over to the main keynote in the afternoon. In between I did a bit of exploring around Moscone West.
There were a number of areas touched on in the main keynote. In particular:
- the customization of myLightning to change the color themes and visual designs of the UX.
- mySalesforce for creating mobile apps in Lightning.
- myTrailhead for Trailhead customized to other companies.
Also confetti - lots and lots of confetti.
Confetti at the #DF17 keynote pic.twitter.com/9ME0C5q5dS
— Daniel Ballinger 🦈 (@FishOfPrey) November 7, 2017
Day Two
The day started off with finding confetti from the keynote just about everywhere in my bag.
Going into day two of #DF17 and taking handfuls of confetti out of my conference bag. #GoodConferenceProblems pic.twitter.com/3xlFwoN3bh
— Daniel Ballinger 🦈 (@FishOfPrey) November 7, 2017
Mass Actions, Composite, and Bulk APIs
I managed to catch my first full session today by @thunderberry and @abhinavchadda. While both the Bulk API v2 improvements and Open API support sound really useful, what intrigued me most was the proposed Mass Actions API. This could radically speed up a number of operations by defining a transform over a query. The exact details on how it will be split into transactions and how limits will be addressed is something to keep an eye on with this.
Salesforce Platform Limits
This session was again with @thunderberry. The proposal here is to move a number of existing limits to become "soft limits". Then depending on the pod heath you would be able to burst past the standard limit for short periods. There would still be an upper maximum burst limit. Consistently running past the soft limit will get you on a naughty list where Salesforce will encourage you to either upgrade or pin you to the existing limits. If the pod is particularly busy you would be more limited in what you could burst to.
This all sounds good in theory, but it will make debugging more difficult. Something that works within the soft limits one moment could fail the next due to the org load. This does seem a bit like the current Apex CPU limit.
A quick tip from this session:
Don't poll the existing limits API to frequently. The calls to that still count against your API call count limit.
Developer Keynote
The first thing that struck me about the Developer Keynote is what a fashionable bunch the developers are.
If time permits I'll come back to this section to recap some of the content.
Meet the Apex Developers
. @slettehaugh assures us at the #DF17 Meet the Apex developers session that switch statement support is at the top of the list now the new Apex compiler is out.
— Daniel Ballinger 🦈 (@FishOfPrey) November 8, 2017
I asked a question in this session about ENTERING_MANAGED_PKG appearing in debug logs and how it can frequently consume 80% plus of a 2MB log in a dev packaging org. They had been forewarned that this question was coming and thankfully the response was they are onto it and will be fixing the excess logging in the future. 🎉
Dreamfest
From the top of #DF17 Dreamfest pic.twitter.com/Wws5WRe6R6
— Daniel Ballinger 🦈 (@FishOfPrey) November 8, 2017
AT&T park made an excellent venue in terms of proximity to most of the hotels, visibility of the stage, and facilities for dealing with that many attendees.
Day Three
Advanced Logging Patterns With Platform Events
Using Platform Events to push logging events out and then monitoring them using a Utility Bar app.
Build Custom Setup Apps & Config Tools With the All-New Apex Metadata API
Watch your namespaces when using the Apex metadata API #DF17@slettehaugh pic.twitter.com/zusb39Qolk
— Daniel Ballinger 🦈 (@FishOfPrey) November 8, 2017
#DF17 Roadmap for Apex metadata API pic.twitter.com/EW87hCDYo3
— Daniel Ballinger 🦈 (@FishOfPrey) November 8, 2017
The Future of Salesforce DX
This session is well worth a repeat watch. Very dense on upcoming changes with DX. Mostly forward looking, but still interesting.
New Locked and Unlocked flavors of managed packages for distribution.
— Daniel Ballinger 🦈 (@FishOfPrey) November 8, 2017
Future of Salesforce DX #DF17 by @WadeWegner pic.twitter.com/gQThxX0Jij
Better support coming to sandboxes to track changes and automated change set creation from that data. #DF17 #ForwardLooking pic.twitter.com/CyyGRJCbQ3
— Daniel Ballinger 🦈 (@FishOfPrey) November 8, 2017
New Monaco and Language Services based web editor to use instead of Developer Console. #DF17 #FowardLooking pic.twitter.com/WGhYl0oDHM
— Daniel Ballinger 🦈 (@FishOfPrey) November 8, 2017
UI for the CLI. Now accepting nominations for a better name. #DF17 pic.twitter.com/LDbFSFTqym
— Daniel Ballinger 🦈 (@FishOfPrey) November 8, 2017
Improvements coming for Apex debug logs. Including streaming to get past the 2mb log size limit. #DF17 pic.twitter.com/Hn4RVXIBA3
— Daniel Ballinger 🦈 (@FishOfPrey) November 8, 2017
Change Data Capture: Data Synchronization in the Cloud
Schema ID exposed via the change data capture events. Can be used to check metadata that existed when event occured. #DF17 pic.twitter.com/KEtwUrOMgi
— Daniel Ballinger 🦈 (@FishOfPrey) November 8, 2017
Change Data Capture roadmap #DF17 pic.twitter.com/jTASYb3muj
— Daniel Ballinger 🦈 (@FishOfPrey) November 8, 2017
True to the Core
Field to field filters coming to reports. I can haz in SOQL as well? pic.twitter.com/ute5are8nu
— Daniel Ballinger 🦈 (@FishOfPrey) November 8, 2017
Apex switch statement stated for #Summer18 #TrueToTheCore #DF17 pic.twitter.com/0hlAgWHuUs
— Daniel Ballinger 🦈 (@FishOfPrey) November 8, 2017
Meet the Developers
I asked a question in this session about raising support cases for GACKs and those without Premier support being turned away to the developer forums. If you have specific examples of this happening that you want to share please see Examples of being bounced by Salesforce Support to forums when encountering a GACK
Day Four
Today was a bit interrupted from attending sessions, but in a good way!
Raw, real, and candid feedback on @salesforce Lighting happening in this room. The brain power is overwhelming! pic.twitter.com/zODXrQJTq3
— ericakuhl (@ericakuhl) November 9, 2017
Salesforce Tower - Ending Dreamforce on a high
Just going for a stroll down Mission to Fremont. Any chance you can hook us up @hollygfirestone? pic.twitter.com/aYFXwlskMD
— Daniel Ballinger 🦈 (@FishOfPrey) November 9, 2017
Awesome experience visiting the @Salesforce tower with some of our amazing Salesforce MVPs!! #df17 pic.twitter.com/lzTwtYRAtK
— Holly Firestone (@hollygfirestone) November 9, 2017
Thanks so much @hollygfirestone for taking my crude plan constructed in a paint program and doing all the hard work to turn it into reality. It meant a lot to visit the SFO skyline from such an awesome building. pic.twitter.com/xdzNLeQE28
— Daniel Ballinger 🦈 (@FishOfPrey) November 10, 2017
Walking Peanut butter distributor
This year I brought 3kg/6.6lb of Pic's peanut butter with me to give out to people. It's made right here in Nelson, New Zealand and I figured I'd be the only person giving out peanut butter at Dreamforce. At the very least it made for an interesting conversation starter. Not too many people thought I was the nutty one in the transaction (at least out loud).
And to those with peanut allergies - no hard feelings, can we still be friends? I wasn't really trying to kill you.
I think I just get the best goodie of this @Dreamforce, thanks @FishOfPrey @FuseInfoTech ! pic.twitter.com/2dDjHARHc9
— Fabien Taillon (@FabienTaillon) November 8, 2017
@FishOfPrey knew we were hungry, so he brought us yummy 🥜 butter #snacks! Find him to avoid getting #hangry at #DF17! pic.twitter.com/tDwf51waaO
— Gillian Bruce (@gilliankbruce) November 7, 2017
Sessions I mean to catch up on
Random Photos
Mental note. Next Dreamforce - vacuum bags! pic.twitter.com/nAaA83VDXI
— Daniel Ballinger 🦈 (@FishOfPrey) November 27, 2017