Improving the Code One Conference Experience

      1 Comment on Improving the Code One Conference Experience

After writing about my personal experience as a presenter at this year’s Oracle Code One I was asked for my opinion on what could be done to improve the experience for attendees and presenters in the future. While I have a tiny bit of experience in organizing and running conference, this year called DawsCon, having 100 attendees is not the same as having 10K+. So here are my thoughts, for better or for worse, on what Oracle’s conference organizers can do in the future.

The Venue

Let’s begin with the venue. The Moscone Center, has over 700,000 square feet of space spread across three buildings. Code One was held in the Moscone West building which has 300,000 square feet of conference space, such as meeting rooms and exhibition areas, and an additional 75,000 square feet of pre-conference space that effectively means lobby space on each of the three floors. This year Code One occupied the first floor for its exhibition space and the second floor for conference sessions. The third floor was used by Oracle Open World. In addition, the basement of the Moscone North building, where a large presentation space exists, was used for keynotes. The remaining space in the North and South buildings were used by the Oracle Open World conference with its 40K+ attendees. The South building was torn down about two years ago and its reconstruction is almost complete.

To sum this all up, the Moscone Center is huge. Therein lies the first problem with Code One this year. The venue might be too large. With a total attendance of 50K+ between the two conferences the Moscone would appear to be an ideal location. Up until two years ago Code One, then called Java One, was held in the Hilton and Parc 55 hotels and that is where I attended my first three conferences.

The West, like all the Moscone buildings, can best be described as cavernous. Developers come to Code One to be inspired by new technologies, to learn new skills, and, possibly most importantly, to network with fellow developers. I believe the Moscone Center is not up to these roles. Let me explain why.

Conference Rooms

The conference rooms are too large. Except for the spaces used by hands on labs, all the rooms seat approximately 300. What I saw this year was that unless your session had the words Cloud, AI or Microservices in the title you were lucky to have between 50 and 75 attendees. If you were doing a Birds of a Feather session in the evenings, then you were lucky to have between 10 and 50 attendees.

The rooms are poorly lit. While the lighting enhances the projected images, my PowerPoint slides never looked so good, the general lighting could best be described as dim. Presenters were difficult to see on the podiums. There is no dedicated lighting for the podium. I bought a desk lamp at Target the night before my presentation on a robot car just to illuminate it so it could be seen.

My own spotlight from Target.

The ceilings are too high. This might seem like a strange comment, but it relates to the ambience of the room. It creates distance between the presenters and the audience. I believe it hinders participation by the audience. Couple this with 300 seats with 50 attendees scattered throughout the room and you have the recipe for a cold and uninviting space.

 A standard conference room at the Moscone Center West.

Exhibition Space

A similar problem exists with the space where exhibitors have their booths. It’s a 100,000 square foot space that can never be described as intimate. Yet, the exhibitors for Code One need intimacy, in my opinion, to get their messages across. It wouldn’t surprise me if exhibitors had fewer visitors than previous years.

Exhibitors may be every bit as important as the sessions. Exhibitors provide a sense of the direction of the industry. The first year I attended Java One there were numerous companies showing CI systems. They are all gone because CI is standard equipment and the CI companies don’t need to convince us to use their products. I’m not sure what message this year’s exhibitors were saying because, quite frankly, I felt uncomfortable in the space.

Pre-Conference or Lobby Space

If you wanted to get upset with this year’s conference then how the pre-conference space was used is an excellent place to focus your anger. If you were at Code One then you almost certainly carried a laptop. This meant that from time to time you needed to find a place to possibly do some work and communicate with your company. Maybe you needed to charge your device or you required AC to work. Other than a few tables in a hacker space there was no place to work.

If there was an AC socket in the wall you were sure to find someone sitting on the floor with their laptop plugged in. I suspect, without any proof, that some people purposely went into sessions they had no interest in, sat in the back row, and worked on their laptop because that was the only place to sit down. Why else would you attend a session with 50 other people in a room that seats 300 and sit in the back row.

Speakers Presentations

Some speakers are not adequately prepared. They do not have a good sense of the experience their attendees are having. We are not entertainers, though in one session I tried to be. There are some basic principles of presentation that every speaker should be familiar with. This is not the conference’s fault. The conference, I believe does have a responsibility to provide some instruction on the art of presenting.

For example, how to create slides. It may be the largest projection screen your slides have ever been on but in the back row its still pretty small. Increase your font size. One problem from previous years has diminished and that is what I call the “Essay on a Slide” where the slide is crammed with text. Still, every now and then a slide is so full of text that while reading it you no longer are listening to the speaker.

When showing code, running scripts, or live coding increase the font size. Nothing riles me more than watching a Linux command line presentation where the text is too small to read from the third row. I have only seen a handful of presenters successfully live code. What I do when I want to show how code evolves is to prepare multiple files with more code in each file and switch between them as I talk. This year the most common keystroke during a live coding demonstration was the backspace.

Rehearse, rehearse, rehearse. Have a plan B and even a plan C if something goes wrong. Be prepared to give up on your slides and coding to just talk to your audience. Listening to a presenter apologize while they franticly try and fix something that doesn’t work and is painful for the audience because we all feel the presenters pain because it has probably happened to us at some time.

I believe that a conference should consider running a presenters Boot Camp either on site or online. We may all think we are great presenters like Venkat Subramaniam but sadly many of us come off as Donald Duck. I know this is harsh but anyone can be a great speaker as it is a skill that can be learned.

Some Further Suggestions

I mentioned earlier that the conference used to be held in hotel conference rooms. While these rooms can be quite large they are not as consistently large as the Moscone. Their ceilings are a little lower. They felt more intimate. I know nothing about what Code One costs to put on and if Oracle sees a way to better manage the cost by placing everything in the Moscone then that is their right and I support it. What I think they can do is influence the center to reconfigure their space. There needs to presentation spaces that seat no more than 100 and even spaces that seat no more than 50 attendees.

I was advised a few years ago to submit sessions to the Birds of a Feather evening track because they were poorly attended and so fewer presenters submitted to this track. It must be true because for the past two years I have had sessions accepted in this track. This year I may have even broken a record by having 47 people attend one of my BOF sessions. On the other hand, in my second BOF sessions I had zero attendees. Walking around the halls looking into other BOF sessions that night I rarely saw more than 10 people per session.

My advice, cancel the evening sessions. Conference goers are attending parties, eating out, or getting to bed early because jet lag has messed up their sleeping pattern. Heck, I had to miss a party I was looking forward to because I was presenting that evening. Continue to have BOF sessions, just have then during the day.

Keep Code One separate from Oracle Open World. Its easy to spot an Open World attendee, they are probably wearing a suit while Code One attendees are in t-shirts. I visited the Open World exhibition space and it reeked of big money. They even had better carpet padding. Open World is a very different conference and by having the third floor of West used by that conference it diluted ambience of Code One. Please don’t take offence, I have always wanted to reek of money although that ship may have sailed for me. Code One, as I’ve already mentioned, is very much about networking and the Moscone Center fails in this regard.


Everything you have just read is nothing more than my opinion. I hope to continue attending Code One for as long as my session proposals are accepted and I can get funding for my expenses. I have written this because I believe that the conference experience for both presenters and attendees can be improved. Oracle, for a fat retainer but in Canadian dollars I’d be happy to work with you.

My Oracle Code One 2018 Personal Experience

      3 Comments on My Oracle Code One 2018 Personal Experience

Code One, previously named Java One, is one of the largest conferences for software developers. While it was primarily focused on Java programming, this year it was opened to other languages. The reason for this change became apparent during one of the keynote presentations. Oracle like Microsoft, IBM, and Amazon consider cloud services a large part of what they offer to their clients. The cloud is not restricted to Java and so this year neither was the conference.

The first three years that I attended I participated on panels. This meant that I got to speak for 5 minutes, showed three slides and qualified for free admission to the conference that normally costs around $1500. In year four I submitted two proposals, both related to teaching and NetBeans, that were accepted. This year I submitted four proposals of which three were accepted.

A few years ago I was advised by Geertjan Wielenga, a product manager for NetBeans and now Oracle Jet, who had invited me to the panels and now a good friend, that there were two approaches to getting a session accepted. The first is to have your session held on the Birds of a Feather or BOF track. These sessions are held in the evening. They are also known as notoriously poorly attended so far fewer potential speakers submit to this track. The second piece of advice that Geertjan gave me is to have a catchy title.

With this advice in mind I submitted the following:

BOF Track:

  • Don’t Answer the Phone During Your Screen Cast!
  • Got a Gig Teaching Java? You Should Be Using Apache NetBeans in the Classroom
  • Let’s Be Honest, There Are More Java Villains Than Java Champions

DEV Track (during the day)

  • Running our Robot Overlords with Jakarta EE

The session on screen casting was not accepted but the other three were.

My career that started some 40 years ago in industry was one in which potential clients would ask me if I could perform a specific coding task. I would pause to consider the request and then assure the potential clients that I could. I once worked for three years coding PL/1 on the IBM PC  despite the fact that I knew nothing about that language when I accepted the gig. You have to pay the bills and I had a young family. It did work out, at least until the client’s parent company went bankrupt.

As a teacher, and along with my fellow instructors, I have found myself needing to learn new technologies. The decision to take on something new is necessary to provide our students with the knowledge and skills to find employment upon graduation. If there is one constant in software development, it is that there is no constant. This is what I have enjoyed most about this field.

Got a Gig Teaching Java? You Should Be Using Apache NetBeans in the Classroom

The same holds true for some of my submissions to Code One. Talking about NetBeans in education was the easy one. I use it in all my courses and for the use case of training Java developers I feel strongly that it is the best IDE. My other two accepted sessions could best be described as Conference Driven Development.

Let’s Be Honest, There Are More Java Villains Than Java Champions

In the Java Community there is a designation called Java Champions. A Java Champion is someone who has demonstrated leadership, innovation in Java development and the writing of highly regarded books or open source software.  They are a driving force in the Java community. I was 0/3.

That’s how I came up with For Let’s Be Honest, There Are More Java Villains Than Java Champions. Not everyone is a programming god. Not every piece of code is written to best practices using the ideal design pattern. So, I decided to do a humorous presentation on some of the bad practices that developers employ to get the job done. It was to be an homage to the journeyman developer. The truth is I saw it as a standup routine with PowerPoint slides. This was something I have never done. I can get the odd smile from my students and even a laugh or two, but 45 minutes of standup was going to be outside of my comfort zone.

Running our Robot Overlords with Jakarta EE

Two years ago, I encountered a company called Dexter Industries. They sold educational hardware for the Raspberry Pi computer. One of their products is the GoPiGo3 robot car. They had software in Python, C and some other languages but they did not have a formal offering in Java. I offered to work to produce the necessary Java programs to support the car working with my students in an extracurricular activity in return for getting some cars for free. The software was going to be open source. To my surprise I could not interest my students in programming this ‘toy’ and so the two free robots Dexter sent me gathered dust on a shelf.

That is how I came up with Running our Robot Overlords with Jakarta EE. The existing software in the other languages was meant to be used in applications that would run on the car’s Raspberry Pi. I thought it would be more interesting to create a hosting platform in Java Enterprise and then control the car remotely either from JSF web pages, RESTful services, websockets and possibly even microservices. Truly an example of Conference Driven Development. I won’t go into the details suffice to say that I expanded my knowledge of Enterprise Java, now called Jakarta EE, way beyond what I expected when I wrote the proposal. It turned into a presentation more on EE than robotics. After probably more than 100 hours I developed the necessary code to do most of what I set out to, all for a 45-minute presentation. I was still working on software issues for the presentation on the flight to San Francisco and even worked a few more hours on it in my hotel.

When the conference began I was ready. I had what I thought were three excellent sets of PowerPoint slides. I tested the robot and it worked flawlessly. After a session I attended that presented some other robots in the poorly lit conference rooms I went to Target and bought a small desk lamp so I could have a spotlight on my car. I was prepared for every eventually except one.

Monday Evening BOF

My first session was the Let’s Be Honest, There Are More Java Villains Than Java Champions BOF on Monday evening. I had 47 attendees come to hear me, a number that I was told was remarkable for a BOF. Unfortunately, all the rooms in the Moscone Center, where the conference is held, holds 300 seats. Still, I knew it was a good turnout. 

Making funny at Code One.

I nailed it. I didn’t stand on the podium but walked around the room. I was given a wireless microphone, but I never turned it on. I have a loud voice and without a full room there was no need for amplification. I opened with a Dudley Do-Right cartoon from the 60s that the attendees, all born long after the cartoon was made, found funny. This warmed up the crowd as I intended. With my remote in hand I went thru the 18 slides and those who attended laughed. They laughed at the right places and clearly were having a good time. I finally understand why some people become standup comedians. The thrill of an engaged audience is better than any drug. Don’t get me wrong, I won’t be quitting my day job to perform at comedy clubs. This humor requires an audience of software developers. Still, given the opportunity I’d love to do it again. I left the Moscone center that night with a serious case of swollen ego and head.

Tuesday Evening BOF

Tuesday evening was my Got a Gig Teaching Java? You Should Be Using Apache NetBeans in the Classroom BOF session. This is when I discovered the one contingency I could not have a plan B for. No one showed up, zero, zip, devoid of humans. I knew that this is always a possibility for the BOF track and while I took it in stride it did deflate my mood from the previous night. On Thursday evening after the conference ended I was at a house party held by some people I became friends with from previous conferences known as the UsualSuspects. As I walked around the house I came across a few people talking when one of then told the story of the session no one attended, and that the speaker actually tweeted about it. One of the people knew me and he exclaimed “Oh, you’re talking about Ken”. I guess I’m infamous for something.

Wednesday Morning DEV

The GoPiGo3 under the spotlight

Wednesday morning was my Running our Robot Overlords with Jakarta EE DEV session. Daytime sessions are the big time. The session went off without a hitch. I even had to shorten it significantly when, after explaining my project and going thru the first experiment/demo, I noticed I had only 10 minutes left and four more demos. I had a plan B and one of my experiments showed a range of Java acronym frameworks that I was confident would be new and a novel for those attending. It was a success even though I had prepared a two-hour presentation and not a 45 minute one. When I briefly spoke with some of the attendees after the session they expressed how much they enjoyed the session and that I had inspired them. The only downer was that only nine attendees came, sigh. I guess someone must give sessions that, despite the hopes of the committees that select sessions, fails to attract attendance. I just wish it wasn’t two of my sessions.

Being expressive when talking about the GoPiGo3

I have said, semi-seriously, to people I know at the conference that when I am in the classroom I am most likely the smartest person in the room. At Java One/Code One I’m likely the dumbest person in the room. This year I wanted to prove this wrong. I speak in front of students almost every day and I will never be accused of being shy. Yet, I was truly nervous this year. Here I was trying my hand at standup and presenting technical EE. Was I going to make a fool of myself?

I am confident all three presentations were up to the standards required of by Code One. Still, there is some disappointment that my sessions did not inspire more (or any) attendees to come and see what I had to say.

Duke’s Choice Award for Innovation Awarded to Apache NetBeans

Not everything was a bummer. I attended some excellent sessions. I am a proponent of NetBeans and a member, in a very small way, of the community working on it as it becomes an Apache rather than Oracle project. At Code One they hand out an award called the Duke’s Choice for Innovation and this year’s was handed out to the Apache NetBeans project. There were about 10 of us NetBeans folks who came forward  at the presentation amongst the many NetBeans family members at Code One and as a group we accepted the award. We also all got to have a professional portrait taken, one at a time, as we held the trophy. I posted that photo of me on Twitter and within 48 hours it had 19,000 impressions. Ego almost completely restored.

Accepting the Duke’s Choice Award on behalf of the NetBeans community

There is still another report to write. I receive funding to attend from Dawson College and Concordia University to help cover some but not all of my expenses. They require a report that details what I learned and how it will make me a better teacher.

So that’s my story. I know I’m a better programmer and a better teacher for attending Code One. I have networked with some amazing developers from around the world and had the chance to promote the conference DawsCon that I organize at Dawson College in January. Still, I wish I could have inspired more people at Code One.

Ken Fogel