I have spoken at quite some conferences over the last years. Part of the talks were just me speaking with some (hopefully not too ugly) slides behind me. Some were live demos. Either way, I'm almost never happy with my talks and therefore constantly looking for ways to improve. But in order to improve, first you need to know what your audience like and don't like. It all comes down to feedback and constructive criticism. Some conferences are quite good at collecting feedback. Polish Confitura is on the top of my list, sending me a document that not only shows how people voted but also all the comments from their online survey. Most conferences though don't bother to give feedback to speakers. Some don't ever bother to collect it. It's therefore been on my mind for a while to try to find a fun and easy way for attendees to provide feedback during (not after) my talk.
Based on many conversations I've had with attendees in the past, I figured they are more likely to give feedback the moment they disagree with you or the moment they are impressed by something. If you ask them after the talk, the moment is gone and all you get is the overall feeling, most of the time highly influenced by what you have said in the last 5 minutes. Let me give you an example. I have a couple of 45min to 1h long talks about Java modularity. Apart from introducing myself and who I work for in the beginning, I only talk about technologies, methodologies and concepts and never mention Liferay for about 95% of the time I have. Than I take 3 to 5 minutes at the end to explain how we apply those concepts in our products. This looks like both fair and useful approach to me. Yet every time I get feedback after the talk, there will be some people complaining that I'm advertising my company too much. And that would be actually OK if it wasn't the only thing they have to say about the whole talk.
So I thought, what if I can get them to send feedback during the talk via some web application. Most people are constantly online these days anyway, so it shouldn't be too big issue. To make it more fun and motivate more people, I could even display their comments on the big screen once in a while during the talk. I can then adjust my talk based on their comments and ratings and answer their questions while still relevant without them having to interrupt me and shout from the other end of the room. I had no idea if this will work, but it was worth trying. The only question was, how do I build this web application?
Building simple app as "Talkback" (this is what I ended up calling it) was amazingly easy and straightforward! OK, that's a bold lie! It wasn't! I struggled a lot with the UI part. Not only I'm not any good UI developer but (since I'm modularity freak) I also decided to learn better Polymer and WebComponents while doing it. So building a static HTML site out of web components took me quite some time and raised my frustration to higher level! But at the same time I learned a lot about front-end modularity (which is perhaps a topic for another post). At the end it wasn't the prettiest thing on earth, but for someone who has spend his entire professional life on the backend side, I was satisfied with the result.

With a static HTML app in place, I had to implement authentication and some remote services to store and retrieve the data. OK, "implement" is what I would have to do without WeDeploy - "the service that gives you access to intuitive APIs and help you create modern apps faster". Yes, it is built by Liferay. Yes, you can again blame me for advertising the company I work for. But it doesn't change the fact it's a great service that allows rapid application development! And no, you don't need to take my word for it! You can (and if fact should) try it yourself! It's free! So, in the case of "Talkback" all I had to do was to configure auth and data services provided by WeDeploy and I was done! Learning curve aside and having the UI ready, one can really build such app in minutes! I thought that was something worth sharing and this is how "From 0 to production in one conference talk time" live demo was born.
The first conference to give me the opportunity to present it (or run my experiment if you prefer) was JavaSkop - a lovely event in Skopje, Macedonia. And it went surprisingly well! People seamed to have fun playing with the app as I was creating and deploying it! It was a relief to see so many (now I know the number is 25) "thumb up" comments, 3 "average" ratings and only two "thumb down"s. There were a few questions as well, some of which I left unanswered, so let me fix that here:
If you have more questions about WeDeploy please use the conversations on wedeploy.com or join WeDeploy's Slack!
So that's how the experiment went! I got quite some feedback about the technologies I demonstrated. I also got zero feedback about how I was doing as a speaker :) I guess I need to figure out a way to encourage people to rate that aspect too. Overall, despite the fact I'm still scared I'll see many "thumbs down", I'm looking forward to improve the app and "build it from scratch" at few more conferences in the future.
What do you think about the idea? Would you use something like "Talkback" to get feedback live during your talk? Honestly speaking, it's not something I was planning to release as service that can be used by others, but with WeDeploy that would be quite easy. Or do you have better ways to collect feedback? I'd love to hear your stories.
All Those Little Things
As developer advocate, I do a fair amount of traveling. Most of my journeys start with about an hour long drive to the airport. It's nice highway, not a big deal, easy to do it without needless stops. Yet I like to make one stop, get myself out of the car for a while, grab a coffee, smoke, ...
What to expect in post-JPMS Java world
The atmosphere around Java 9 (and most notably JPMS a.k.a. JSR 376 a.k.a. Jigsaw) is getting really hot. Java community seams to be divided into 3 camps "developers who honestly believe JPMS can simplify modularity", "developers who have been dealing with modularity long enough to clearly see the issues Java platform architects don't want to see" and "developers who don't care (for now)". I personally think the 3rd group is by far the largest and this is the main issue and the main reason for the noise. Why? Because those are the developers who never cared about modularity. Most of them still don't care, but now they will be forced to learn about modularity. The question is what will they learn? Real modularity as described in Modulariy Maturiy Model or limited version of it wrapped in a package with a label "simple" on it?