I bought this domain and paid for a web hosting account right after the end of the Selenium 2013 conference in Boston. Life intervened in the form of 60 and 70 hour work weeks and a second child. This year, I wanted to tackle my long-standing fear of public speaking and submit a proposal for the Selenium 2015 conference to present an API I had developed for building generic representations of common UI components.
I was shocked when the proposal was accepted, and then I was terrified because I hadn’t written any slides. I scrambled together a very source-code heavy presentation that quickly became too long for the 45 minutes I had asked for. So lesson one from this experience is that you should have no more than one slide per minute of a presentation and even that is pushing it. A more leisurely presentation would be one slide per 2-3 minutes. Lesson number two is that source code should be limited unless you’re doing a workshop-style presentation.
My husband, Dan, and my children accompanied me to this conference and we drove from Massachusetts from Portland over four days. Dan and I had never been on a cross-country road trip, so it seemed like a good time to do this. Lesson three is that you should budget five days for a cross-country road trip with two small children. We didn’t make the hotels early enough on two nights to take the kids to the pool to relax and decompress from the long ride and we had to get up really early to drive the next day.
We took the kids to a local amusement park in Portland with some lax safety standards that allows kids under four feet to ride things most parks wouldn’t even dream of allowing them to get on even with an adult accompanying them. Of course, the first thing my 3-year-old son wanted to ride was the craziest thing he could get on as long as he was with an adult. Which was me because Dan would never consider riding anything like the Rock-O-Plane. It consists of a steel cage which you can rock insanely while you are spun around on a Ferris wheel-like structure for about 4 minutes.
I hadn’t ridden anything remotely like this since high school, and the last time I did, I puked on the ride. When the Zero-G sensation set in on the first rotation, I had my first Oh Shit! moment. There was no getting off this thing until it was over. When my son glanced at me sideways after the first two rotations with a nervous giggle and an expression that said, “Should I freak out now? Let’s see if Mommy is freaking out.”, Mommy started screaming ‘Whee!” at the top of her voice because there was no way I was going to provoke hysterical fear in my 3-year-old because I was too wimpy to handle a carnival ride that an adventurous 10-year-old would find tame. I figured I might as well get used to this because I will be riding even scarier things until he gets over the height limit for riding these things alone. Which will be a while because he is really small for his age.
The feeling I had before I started my presentation was exactly like that. Oh Shit! What did I get myself into? Why did I do this? What was I thinking? It wasn’t unlike the moment when the real labor pains set in when my son was born. But, unlike the Rock-O-Plane and this presentation, I sidestepped that whole excruciating labor business with a quick epidural. Not that having a needle jammed into my spine was not terrifying, but I could hear the muffled screams of other women in the hospital and there was no damn way I was having any of that. But, there’s no epidural for public speaking that is professionally acceptable. I am not Kanye West, after all.
So, I did it. I slammed through way too much source code. I lost my place in my slides with an errant swipe of the fingers. I tried to show a web page example which didn’t display on the projector because I had not set up my computer to handle 2 monitors. People’s eyes were probably glazing over. Lesson four: Don’t use a computer with an OS you are relatively new to to do a presentation. Lesson five: See lessons one and two.
I couldn’t see the audience. There was a bright light shining in my face the whole time. So, apparently, I was losing them with the over-whelming source code tidal wave and I was not able to see this when it was happening, but I could feel it anyway because I knew that I would be overwhelmed if I were in a presentation with this much unfamiliar source code :-/. My sincere apologies to the people who sat through my presentation. You got to experience first-time speaker syndrome. Hopefully, the release of the source code with some examples will make up for that. I am working on putting that together now. And to address the concerns that it was just all too Java, I will try to implement these ideas in Python, C# and Ruby in my free time or when the boss isn’t looking.
I love code and I wanted to share something that had speed up my page object development process by light years in the hopes that it would help others do the same. It’s my ugly baby and I adore it. It’s definitely prettier than endless if-then-else clauses to handle silent failures of native Selenium actions in certain environments and lots of repeated boilerplate code to implement the same components over and over again. See you two years from now at the next Selenium conference in the States? Don’t worry, I probably will not work up the courage to do this presentation thing again. I have crossed it off my bucket list for now, so I’m good with that.
Also, Utah, Wyoming, Idaho, and Montana are gorgeous. I can’t wait to do a cross-country road trip through the Southwest now. Portland is the nicest city I have ever visited. It has displaced Cambridge, MA as my ideal urban place to live. It is the fastest gentrifying city in the country, so it will probably be as crowded and over-priced as Cambridge very soon.
Slides from my Presentation:
Video from my Presentation: (Sorry if it is overwhelming/boring. I was just trying to get through the material and not freak out):