Millenials, Digital Native and Mobile Native

millenials

Photo credit: Optician Training

I often hear about these terms, mostly in demographic discussion around marketing segments. So I’m writing down some notes gathered around to clarity the (fragmented) boundaries of each group.

Millennials: born from 1980-1995, nowadays 21 to 36 years old. They prefer access (Zipcar, Airbnb) over ownership, have childhood experiences with technology and they saw a rapid increase in personal Internet usage.

Digital Natives/Generation Z: born from 1996-2008, nowadays 8 to 20 years old. They raised in a digital, media-saturated world, have attention spans of 8 seconds, spend 10+ hours of time online daily, majority on their smartphones. They prefer multi-tasking and like being on 5+ screens at once.

Mobile Natives: born from 2009-Present, nowadays up to 9 years old. 7% of babies under the age of one have used a smartphone. Nearly ⅓ of babies under the age of 2 can navigate mobile phone without help. By age 4 over 35% of toddlers use a smartphone for an hour a day.

Nice to know that, even if one age-generation separates me and my son, it seems there is a 4 consumer-generations gap between each other. Oh yes, I’m a Generation Y, not even a Millenials ;)

CLSxItaly: The Community Leadership Summit event is a reality

CLSxItalySome months ago, I threw a stone in the pond: I launched the idea to organize an event focused on community management for the Italian tech community ecosystem. Something new for our country, never realized before, something I consider really helpful for the peculiar ecosystem situation we’re living now. Thanks for all the support and feedback I’ve received so far, the ideas has became reality. On February 27th, in Milan, Talent Garden Calabiana is hosting the first CLSxItaly.

Should you come? If you’re the manager of a tech community of any kind (development, makers, operative systems and many more) and you want to learn more about your “job/passion” as a community manager, definitively yes! If your company is working on a technical product and considers the community a crucial part of its development cycle, you should come. If you think you have something to say about diversity in the IT world, you have to come!

How the event will be? A Community Leadership Summit X event type follows a precise licence, so the CLSxItaly will. The event will start on Saturday morning with plenary sessions (have ideas? Ping me please!), then the lunch and then the afternoon will be dedicated to unconference sessions, where participants can discuss topics, needs and ideas they like. A final aperitif will close the day together. This is the “official program”, them I’m sure lot of satellite events will happen, at the end community managers live on that!

What are the CLSxItaly’s goals? First, meet the other Italian community managers face to face. As already discussed, I know different tech communities that have gathered under a national umbrella (GrUSP, GDG ItaliaUGIdotNET, JUG, LUG etc), but I also know they don’t exist important cross-community relations, so the event can be the occasion to create them: similar experiences I had in other countries told me that it can only be a good thing. Then, I don’t know about any occasion in Italy to discuss, explore, share and experiment around the “art of community management”, so why don’t create one? Finally, I want to give back: communities have always been one of my passions since the far 2007, when I founded the CMLug, until today, when they are part of my daily job. And passions matter!

So, save the date (February 27th, Milan), spread the voice using the CLSxItaly hashtag and, if you’re interested in joining the adventure, please let me know, even in the comments: there are plenty of things to do (and to learn) and your hand, although small, is more than welcome. To make it more clearer: we need to start from the basics, from building the website… Any help on that?

Organise a national community summit – during the event

GDG Leads Summit France 2015

GDG Leads Summit France 2015

Between September and October of this year, I organised two national community summits, one for Italians Google Developer Group leads, the other for French. 70 people in total, a weekend each, lot of fun! After explained the reason why I worked on that, my stream of consciousness continues along a temporal line: the before the summit, the during, discussed in this post, and the after, subjects for future post.

As described previously, the summit agenda is co-decided together with the participants, and it can be very fluid and dynamic. But there are some activities I always run, because I consider them structural to a good summit.

Define summit objectives, and their importance

Summit goals

Summit goals…

The opening activity defines a list of common summit objectives, from participants point of view. We need concrete metrics to measure summit success, and the number of achieved goals from that list by the end of the event is a good one.

There are plenty of techniques to create that list, but I personally prefer to ask participants to write down on sticky notes the two most important objectives they want to achieve at the summit. After 5 minutes, I start asking to a person to read her first goal and then, back to all the participants, how many have reported a similar goal. Then, we may slightly adjust the original goal to include also the others, copy it into a whiteboard and add how many people have it in common. Finally, all the sticky notes covered by that goal are discarded. And I repeat, until all sticky notes are finished. When discussing a goal, I try to be specific and precise, because it’s easy to move to very generic objectives hard to measure, like “Getting ideas to improve the quality of my community”. Improvements regarding what aspect of your community? Number or participants? Core organisers? Speakers? Sponsorships?
Writing down on two sticky notes, instead of freely asking what those goals are, allows to focus on the really important ones. Otherwise, without selecting them first, it would be easy to say multiple times “Oh yes, true, this point is important also for me”, losing the importance dimension.
In addition, the list provides insights on potential topics to discuss in the months after the summit, during the follow-up community management training sessions.

Identify common pain points, and who has already solved them

... And pain points

… And pain points

The second activity is for creating a map of current weaknesses the communities have. I use this map, again, both to measure summit success, in terms of useful replies provided to those points during the event, and to plan after the summit. And it has another great use: it can connect people who don’t know each other: in a summit with 20+ community managers with different level of expertise, it’s easy that one pain point has been already solved by another community, so it’s worthwhile to chat with its managers to understand how. In fact. I often run this activity just before the lunch or the first long break, to warm-up the informal conversations.

Among the many techniques to create this map, I proceed like previous activity: one sticky note each attendee where write down the most important need their community has. Similar discussion to find if others have same need, copy it to the whiteboard, together with the number of sharers. But now, before moving to the next one, I ask how many people have already solved what we just highlighted on the board. If someone raises her hand, I say to the people with the need: “Memorize her face, now you know near to who you have to sit down during the lunch”.

During the summit

Then the summit continues, with its specific agenda. One attention I have is to leave different free moments for destructured chats. Moments with nothing to do, but I don’t give the impression they are empty slots of time: I put them in the agenda, using terms as “Free chats”, or “Coffee machine chat moment”, so attendees know what they are supposed to do.

Inevitably, the summit also arrives near to its end, and I reserve the last two hours for three activities: a free Q&A session, a quick summit retrospective and the group photo.

Free Q&A session

Despite the unplanned free chat moments, I’ve seen that some questions are common to lot of people, so discuss them all together can save some time and allows to stay all aligned, and I reserve 45 to 60 minutes for a firechat with me and the other Googlers. In the past, we have gone from the kind of support Google can offer for their activities, to national events we can plan together, from details on some Google-wide initiatives, to complaints from managers. We’ve also discussed the evolution of a national community identity, a strategy to record, edit and publish sessions presented during the community events, if and how to do social media involving all the communities and much, much more.

Summit retrospective

In order to verify summit success, I reserve another 45 to 60 minutes to a quick retrospective. We start from the first whiteboard created at the beginning, asking, for each objective, how many people feel it has been achieved. Then, some simple math: if 7 people participated to the summit to figure out the next step of their community in term of event format, and 5 of them have been able to find good ideas, we had a good success on this goal. Clearly, only people who proposed an objective can decide if it has been reached or not. The sum of the success scores for each point defines how the summit has met the expectation of the attendees, if the time they bet on the event was well spent or not.
Similar approach, but this time for needs partially or totally solved.

Then we decide if there are Action Items we need to carry on after the summit. Writing them down and assigning responsibilities and deadlines for them is crucial, because the day after the summit is… A totally different day and it’s easy to forget everything!

Last part of the retrospective is dedicated to fill a form I prepared with evaluations for every single activities and sessions proposed during the summit, in a scale from 1 to 5, plus some bonus questions like the global usefulness of the summit, the best thing, the one to improve for the next time etc. Ten minutes are reserved for this activity, because… Again, tomorrow is Monday, and we have already forgotten everything!

Group photo

Picture, or it hasn’t happened“, so it’s time for the group photo. And to start saying goodbye, or having the lunch together. And, for me, to start thinking to the summit follow-up ;)

Raspberry PI, Logitech c920 and WebRTC videocall: #fail

I had the idea to create a no-brain and enjoyable setup for my parents to videocall with me. I know I can use Skype, Hangouts or lot of similar apps on any PC / tablet, but for me no-brain and enjoyable means sit down on the living room couch, press a key somewhere, look at the big TV screen and start talking with me.

There are solutions like Chromebox for Meetings (hardware here and here) or the GT Mini 3330, but the price is too high for a whim like mine. After different iterations, I’ve figured out a solution, although final result is still not working for some reason. This post describes what I’ve done so far.

General architecture

TL;DR: A RasPI 2B connected to the TV, Logitech c920 webcam, WebRTC video call in a fullscreen Chromium tab.

An easy way to do bidirectional video call, nowadays, is to use dedicated apps like the before mentioned Skype, Hangouts, Ekiga or many others. But you often need a PC connected to the TV, you cannot automate the connection process, plus most solutions are using proprietary protocols. The alternative is to rely on the promises of WebRTC project and create a multi-party video chat. Nothing more than a browser and a camera is needed. Sounds good!

A Raspberry PI 2B model is powerful and cheap enough for running such setup and, connected to a TV screen via HDMI port, can use the TV for video and audio output.

As for the camera, I went for a Logitech c920. Why? Because it’s supported out of the box on Raspbian, works with fswebcam and it doesn’t need a powered USB hub, has a wide-angle lens very good for video calls, has a good directional microphone and can produce an hardware encoded FullHD H.264 video stream (it can be checked with v4l2-ctl –list-formats), with no additional computational overload on the RPi side. And it costs around 80 euros. Video quality is excellent and audio recored is loud and clean even if the speaker is 3 meters far from the camera: huge enough to cover the average distance between a couch and a TV :)
It may happen to see a rainbow square top right on the display while using the camera: it’s the under-voltage warning of the RPi, so connect it to a more powerful USB port, to an external USB power source or, as last resource, connect the camera to a powered USB hub.

Regarding the software, nothing more than a WebRTC-compatible browser, running on RPi, is required: IceWeasel and Chromium have it. To host the WebRTC call, there are plenty of solutions: AppRTC, Jitsi, OpenTokRTC, just to mention few, are online services that can be used to start a WebRTC video call. Source code is even available for OpenTok and AppRTC, to create a personal server.
Once selected the service, a script can open a fullscreen browser window pointing to the desired chat room url, once the RPi graphic environment starts, so the only action required is to power-up the Raspberry and wait to be connected. Bingo :)

Step-by-step config

Basic system
Downloaded NOOBS offline, formatted the SD card as one FAT32 partition using GParted,  and unzipped the NOOBS archive on SD card. Inserted the SD on the RPi and booted. Selected Raspbian Jessie, waited for the installation to finish. Alternative instruction for Linux here.

Run the usual sudo apt-get update, sudo apt dist-upgrade, sudo rpi-update commands triad

Browser
Regarding the browser to use… Well, it’s complicate.
As first try, I followed this guide that suggested to use Iceweasel. It was as simple as a sudo apt-get install iceweasel, but unfortunately vLine is not active anymore, with appRTC IceWeasel crashes and Jitsi.org doesn’t support Iceweasel < 40 (Jessie has v38 on the repo).
So I installed Chromium following this guide, using the precompiled armhf packages from Ubuntu Ports. But also this guide works, using packages in the Launchpad Librarian.

Why Chromium v45? Because v47 has a annoying bug that prevent a correct render of YouTube, appRTC and Jitsi, among the other.

Time to start my first WebRTC video call: I opened a Jitsi link to launch a test call on RasPI and my PC, authorised the website to use my mic and camera and I had both sides connected, audio and video working as expected. Wow moment, I’m an happy man!!!!

Unfortunately, after 30 to 60 secs, audio from the RasPI side stops working, and only the video is transmitted. I can see video from the RasPI side of the call, but I cannot hear the audio. Instead, on the TV screen, it’s possible to see and hear my stream. After tons of tests, I still don’t know why this is happening and how to solve it. Also a post on Raspberry PI forum isn’t helping. This is the biggest blocker I have right now :(

Organise a national community summit – before the event

IMG_20141005_131433_cropped

Italian GDG Leads Summit 2014

Between September and October of this year, I organised two national community summits, one for Italians Google Developer Group leads, the other for French. 70 people in total, a weekend each, lot of fun! After explained the reason why I worked on that, my stream of consciousness continues along a temporal line: the before the summit, discussed in this post, and the during and the after, subjects for future posts.

The summit is own and decided by the communities

A summit cannot be good if participants don’t feel the need of having one: they have to find their motivation to come, participate and share. During the discussions I have with the leaders of the communities I can scout for these motivations, raise the awareness and collect potential topics, but the communities have to decide, eventually. The summit itself is put under discussion every year, because it shouldn’t be taken as granted and has to be seen as a real resource from the communities. At the end, it’s an exchange: usefulness versus their time.
Once decided for having one, it’s crucial they’re involved in its organisation. Share and vote ideas using a document or a board, create a summit council in charge of the agenda, facilitate the communication: whatever is useful to contribute to a consensus-based process, because consensus generates involvement.
I generally take care of the boring stuff, like finding a location and manage the logistic of the travels, maintain the focus on the parts that need to be decided together etc, so communities can spend time on the most valuable part: the content. But I know groups that take care of everything, location included.

Set the date and announce it as earlier as possible

I reserve for the summit two days, generally the weekend: when people need to travel 4 or more hours, one day event don’t worthwhile the trip. And because they are running the community as a passion, asking to take two days out from work is not feasible. Fri-Sat might be another good alternative. In any case, I run a poll with potential dates, and the communities choose. I like to have the summit when the “community year” restarts, to have time for planning together. In Europe, this means just after the summer, September or early October. I generally start the discussion about the date of the new summit in June, to confirm it by the beginning of July.

Carefully select the summit location

This kind of summit can be easily organised in an hotel at the city center, sometimes even at the Google office. No way. I like to experiment with places detached from the everyday context, generally with nature around. A medieval farmstead in Tuscany, a country club near Paris, a dedicated structure. It may be hard to spot the right one: price, distance from train stations and airports, services offered: all need to be taken into account, but the impact on the final result really worthwhile the search. One year we went in a location barely covered by mobile connection, with Internet available only at the reception, and very slow. After an initial moment of panic, people realized that not having the connection for a weekend wasn’t a big issue. Panoramas and sun were far better.

Ask what attendees need and what they can provide

Even if the participating communities are all technical, I try to exclude tech topics from the agenda. I would like to provide contents for doing better as a community manager. Those contents are generally harder to find than tech content, and tailor them specifically for the needs of Google Developer Groups in their particular context, is practically impossible to find outside the summit. So, once we know the summit happens, the attendees list on a shared doc two things: what they want to know more and what knowledge they can offer to the others. In less than a week we create a road map, useful to understand where they are and where they want to arrive. Of course, year after year, I can recognise patterns on this map, and it’s not rare that requests and offers of the leaders recourse based on the maturity of their communities. Never mind, it’s important to verify every assumption. This initial and shared road map is used as raw base to work on summit contents. In addition, it is extremely useful to drive the “after summit” follow-up. Eight weeks before the summit are a good timing for this activity.

Set my goal

In addition to the general motivation for supporting this national summits, I need to set the specific event goals and metric meaningful for me, and different from the ones of the attendees. Clearly, they depend on the level of the local ecosystem: if it isn’t so active, an increase in the event number during the 6 months after the summit can be a good metric. If the goal is to improve the skills of the communities, track how many managements techniques presented at the summit have been adopted is important. Or, for a mature local context, maybe the birth of cross organised events, decided at the summit, is the success metric. Or the number of “organizer’s issues” solved at the event. Or the tangible development of the mindset around a national community of community organizers. In any case, it really depends on the general strategy and local context.

Balance between contents internally and externally provided

I like to have mixed sources of content during the event. Part from external experts, and part from the internal group of attendees.
For the first category, I brought at past summits a social media expert, a professional community manager, a person that was working around diversity and gender gap in the tech ecosystem, Improvisation theater trainers, a psychologist. As “external guest”, she should be able to provide fresh air, new points of view and high level of expertise around one inspirational topic I suppose can help the communities to grow better and stronger. Previous road map guides me in this selection, but I generally take some freedom of choice here.  To be really able to push them further in one direction I think is important.
For the second category, and thanks to the previous road map, I both identify communities that are doing great under one or more topics leaders want to know deeper, inviting them to present a session, and pick-up some of the “offered sessions”: maybe a successful activity analysis, ideas they want to share, community experiences they find valuable. Everyone can present, not only the most experienced communities.
Time balance between these two sources depends on local context. Ideally, I would keep at least 1/3 – 2/3 division, if not a 50%-50%.

Insert a fun, and unexpected, activity

I’m proud to always bring one fun and unexpected activity during the summit. An activity that helps the community-making process, last for a couple of hours, relax the evening atmosphere and different from a session. In the past I used the community dinner format, where each leads bring some food or wine from her city a and, all these food together, and only these, are used for the dinner. I’m from Italy, after all! Or the “My Story” activity, where each attendee has four minutes to talk about her to the rest of the group, using only one slide and with free choice on arguments relevant in her life and useful for others to better know the speaker. Or animate the evening with an Improvisation theater activity, perfect to create stronger bounds and to stretch some public speaking skills. Fantasy it’s the key here. One suggestion: keep diversity in mind, and propose activities suitable for all genders, even if male is the predominant one at this kind of summit.

And now?

Having all these stuff arranged, probably makes already halfway to a memorable event. Now it’s time to make it happens!

Two key tips to organise a women inclusive community tech event

IMG_20151128_185858On Nov 28th I attended an event where 50 women gathered together to learn the basics of JavaScript. Huge round of applause for MilanoJS, Girls in Tech and Women@Google that made the event possible. From the many conversations I had with the attendees, I extracted two key tips that should be *always* kept in mind to be more gender-inclusive when communicating about a community tech event. It’s not a guarantee that gender gap will be reduced but, at least, basic misunderstandings will be avoided.

1) Be explicit that you’re caring about women participation, even if it may seem obvious to you. Include in the event description that women are welcome, partner for the communication with a group that is associated with a female context, like Girls in Tech, Rails Girls, Women TechMaker or any other reality of the local ecosystem, use creativity that includes both genders. Fight the language stereotypes: in Italian we use the masculine for referring to the whole category, so use explicitly “sviluppatori / sviluppatrici”, instead than just “sviluppatori”. Remember, you have to communicate that you’re caring about the whole spectrum of your community, all the minorities included.

2) Be explicit about your target audience. Different women I talked with told me they came because they were searching for a beginner training on Javascript, and so the event was advertised, as a beginner training. I argued that it wasn’t the first organised in the Milan area, and they replied that it was the first beginner training on JS, all the others were training on JS, so the target audience wasn’t clear and they feared to be in a class with people already good with Javascript. And I asked if the same applies also for a “Polymer Hack Up” or a “Apps Script Hackathon“, and the reply was yes: hackathon format is perceived as an event for people with already some skills on the topic, not suitable if you know nothing about it. Curious enough, the two mentioned were organised to introduce the technologies to people with zero knowledge on them. So, explicitly mention when the event is for beginners, that you’re welcoming also attendees that haven’t heard anything about the argument.

I have to say that both tips don’t come out totally of the blue: there are different studies on gender inequality in schools and in business, and we all see the world behind the lens of unconscious bias, so the same situations applies also in a community. In addition, once discussed deeper with the attendees, asking the whys and the whats, everything resonates very well together. Happy to provide more details in the comments, if asked.

As final suggestion, if you decide to apply these two simple tips (and you should), please make an additional third step: ask for feedback to the new women at your next event, ask if they come thanks to one of the suggestions you’ve put in practice. I know it can be hard but, as for any hypothesis, it has to be verified.

Those learnings, I think, can be generalised to each event than want to include a minority. Maybe women, maybe any other. Explicitly be inclusive, do not take it for granted. And yes, I’m still generally agains gender-only events, but it had a sense in this particular context.

Organise a national community leads summit – Why?

20151108 - community_8_bit_wallpaper_by_zequihumano

Credit to zequihumano

Between September and October of this year, I organised two national community summits, one for Italians Google Developer Group leads, the other for French ones. 70 people in total, a weekend each, lot of fun! This and the following posts would be a stream of consciousness around different topics, maybe helpful to someone.

Why a summit?

Before talking about a specific event like the summit, let’s do a step back and understand why a company as Google is supporting “offline communities” like Google Developer Groups. The one-sentence reason is getting more consensus in my Developer Relations team right now is:
“Increase developer engagement and skill level on Google technologies by building a trusted community through strong relationships with influential local developers”
There is the final goal to increase developer engagement and skill level on Google technologies. The strategy to reach the goal is building a trusted community and the way to implement the strategy is through strong relationship with influential local developers.

The trust component is fundamental for maintaining a serene and solid two-ways communication channel. One side, I can suggest interesting content to discuss based on what Google cares in a particular moment of time, pass tips about community management methodologies, suggest improvements, share inspirational initiatives. On the other side, they can try to ask Google support for their activities, feel hears when proposing new or better ways to collaborate together, report me developer’s feedback and, for very specific cases, they can also count on me to try to solve a problem they have with Google as a company, like a support center not replying, an internal point of contact they need etc.

The community model is a way to implement the one:few:many outreach model, where I and my colleagues working with communities are the “one” part, the influential local developers are the “few” part and the audiences attending their events are the many part. This “many part” is also the reason why these “local developers” are influential: because they can reach and teach to a broad “last mile audience”.
It is also a way to get in touch with a group of people that care about particular values: they recognise the importance of the “giving back”, they like to share knowledge and try to create something better together. I personally love, and prefer, to work following this mindset, and the community model itself filters out who diverges too much from this approach.
The community helps, in addition, to reduce the dependency from the single point of failure: me! Yes, because I can leave my job, shift priorities or have less time. Instead, a network model, where newcomers are helped by expert, where the natural internal group sharing creates a positive spiral, where group culture is naturally breath by all the members, where sharing and synergies happens, is more resilient to failure when important nodes go down. I’m not saying it would be the same without me, but I can take a short break without too many damages.

Back to original question, it’s now easy to understand that a summit can be a convenient way to build and maintain strong relationships with these influential local developers. It offers unique advantages compared to other solutions: dedicated time to discuss and share, face to face approach, the feeling participants have been taken into account, occasions to have fun together and much more: all bring to a better knowledge and, ultimately, to a stronger feel of trust and respect among the group members, myself included. In addition, such occasion allows serendipity to happen, brainstorming of new ideas possible, makes feedback easier to receive and provide, a quicker notion sharing. And it brings real people knowledge, beyond the simple fact of being community managers: it create personal relationships, people get closer. And the closer they are, the more trust and strong relationships happen, the more the ground is fertile to create a national community of community leads. Regarding the fun part, I’ve learnt to never underestimate the power of shared experiences and positive remembers on the life of a social group.

The other ways I tried, all lack of some element: visiting groups creates strong connection between me and them, but doesn’t allow groups cross-pollination. Online meetup are useful to sync-up and share, but are sharp focused on the agenda, hard to run when more than 7/10 people are online and there is no room for fun, serendipity and personal connections. Podcasts, blogposts, newsletters are good to share a message, but are impersonal. On the other side, all of them are cheaper than a summit and require less effort to be arranged and run.

Regarding this very last point, I believe the best community you can build is the one that can happily survive when you leave, so the summit can be the moment of truth to verify the maturity of the community. If I’m the one that, year after year, propose the summit, arrange it, run after the leads to have them in, probably I’m not doing a great work. Instead, if after some years of first-person involvement, I receive an invitation for the next community summit, this could be a strong sign of a well-done job.

As mentioned before, in addition to create this trusted communication channel with the leads, it’s also crucial for me to build a strong network among the different community leads, a community of community leads. This will be the topic of one of the next posts in the series.