21 Oct

Getting the hang of hanging out (part 2)

A couple of days ago I experienced some some difficulties using YouTube Live Events. So today, I was all prepared:

  • Had my phone with me for 2-factor auth so I could log into my account on a second computer in order to paste links into the chat;
  • Prepared a document with all the links I wanted to paste;
  • Had the Hangout on my presenter computer running well ahead of time.

Indeed, I was done with my prep so much in advance that I had heaps of time and thus wanted to pause the broadcast as it looked like it was not actually broadcasting since I couldn’t see anything on the screen. So I thought I needed to adjust the broadcast’s start time.

Hence why I stopped the broadcast and as soon as I hit the button I knew I shouldn’t have. Stopping the broadcast doesn’t pause it, but stops it and kicks off the publishing process.

Yep, I panicked. I had about 10 minutes to go to my session and nobody could actually join it. Scrambling for a solution, I quickly set up another live event, tweeted the link and also sent it out to the Google+ group.

Then I changed the title of the just ended broadcast to something along the lines of “Go to description for new link”, put the link to the new stream into the description field and also in the chat as I had no other way of letting people know where I had gone and how they could join me.

I was so relieved when people showed up in the new event. That’s when the panic subsided, and I still had about 3 minutes to spare to the start of the session.

The good news? We released Mahara 16.10 and Mahara Mobile today (though actually, we soft-launched the app on the Google Play store already yesterday to ensure that it was live for today).

19 Oct

Getting the hang of hanging out (part 1)

Living in New Zealand, far, far away from the rest of the world (except maybe Australia), means that I’m doing a lot of online conference presentations, demonstrations, and meetings. I’ve become well-versed in a multitude of online meeting and conferencing software and know what works on Linux and what doesn’t.

The latter always give me a fright as I have to start up my VM and hope for the best that it will not die on me unexpectedly. Usually, closing Thunderbird and any browsers helps free some resources in order to let Windows start up. I can only dream of a world in which every conferencing software also runs on Linux.

Lately, some providers have gotten better and make use of WebRTC technology, which only requires a browser but no fancy additional software or flash. Only when I want to do screensharing do I need to install a plugin, which is done quickly.

So for meetings of fewer than 10 people, I’m usually set and can propose a nice solution like Jitsi, which works well. In the past, my go-to option was Firefox Hello for simple meetings, but that was taken off the market.

But what to do when there may be more than 10 people wanting to attend a session? Then it gets tough very quickly. So I have been trialling Google Hangouts on Air recently after I’ve seen David Bell use them successfully. It looked easy enough, but boy, was I in for a surprise.

Finding the dashboard

At some point, my YouTube account was switched to a “Creator Studio” one and so I can do live events. Google Hangouts on Air are now YouTube Live Events and need to be scheduled in YouTube.

There is no link from the YouTube homepage to the dashboard for uploading or managing content. I’d have thought that by clicking on “My channel” that I’d get somewhere, but far from it. There is nothing in the navigation.

The best choice is to click the “Video Manager” to get to a subpage of the creator area. Or, as I just found out, click your profile icon and then click the “Creator Studio” button.

Finding the creator dashboard

Getting to the creator dashboard either via the “Video Manager” on your channel or via the button under your profile picture.

Scheduling an event

Setting up an event is pretty straight forward as it’s like filling in the information for a video upload just with the added fields for event times.

Unfortunately, I haven’t found yet where I can change the placeholder for the video that is shown in the preview of the event on social media. It seems to set it to my channel’s banner image rather than allowing me to upload an event-specific image.

So once you have your event, you are good to go and can send people the link to it. The links that you get are only for the stream. They do not allow your viewers to actually join your hangout and communicate with you in there and that’s where it gets a bit bizarre and what prompted me to write this blog post so I can refer back to it in the future.

Different links for different hangouts

There is the hangout link and the YouTube event link

Streaming vs. Hangout

There are actually two components to the YouTube Live event (formerly known as Google Hangout on Air):

  1. The Hangout from which the presenter streams;
  2. The YouTube video stream that people watch.

In order to get into the Hangout, you click the “Start Hangout on Air” button on your YouTube events page. That takes you into a Google Hangout with the added buttons for the live event. You are supposed to see how many people joined in, but the count may be a bit off at times.

In that Google Hangout, you have all the usual functionality available of chats, screensharing, effects etc. You can also invite other people to join you in there. That will allow them to use the microphone. The interesting thing is that you can simply invite them via the regular Hangout invite. You can’t give them the link to the stream as they would not find the actual hangout. And if you only give people the link to the Hangout but not the stream, nobody will be in the stream.

Finding the relevant links in the hangout

You can also get the two different links from the hangout. Just make sure you get the correct one.

The YouTube video stream page only shows the content of the Hangout that is displayed in the video area, but not the chat. The live event has its separate chat that you can’t see in the Hangout! In order to see any comments your viewers make, you need to have the streaming page open and read the comments there.

In a way, it’s nice to keep the Hangout chat private because if you have other people join you in there as co-presenters, you can use that space to chat to each other without other viewers seeing what you type. However, it’s pretty inconvenient as you have to remember to check the other chat. Dealing with separate windows during a presentation can be daunting. It would be nicer to see the online chat also in the hangout window.

Today I even just fired up another computer and had the stream show there, which taught me another thing.

Having the stream on another computer also showed me how slow the connection was. The live event was at least 5 seconds behind if not more. That is something to consider when taking questions.

The stream was also very grainy. I was on a fast connection, but the default speed was on the lowest setting nevertheless. Fortunately, once I increased the resolution on the finished video, the video did get better. I don’t know if you could increase the setting during the stream.

Last but not least, I couldn’t present in full-screen mode as the window wouldn’t be recognized. I’ll have to try again and see if it works if I screenshare my entire desktop as it would be nicer not to show the browser toolbars.

Not sharing of links

When you are not the owner of the stream, you cannot post URLs. I’m pretty sure that is to prevent trolls misusing public YouTube events to post links. However, it’s pretty inconvenient for the rest who want to hold meetings and webinars and share content. You can’t post a single link. Only I as organizer could post links. Unfortunately, I found that out only after the event as I was logged in under a different account.

Being used to many other web conferencing software, I’ve come to like the backchannel and the possibility to post additional material, which are in many cases links, so people can simply click on them. This was impossible in the YouTube live event as I was only a regular user. And even had I logged in with my creator account, which I’ll certainly do during the next session on Friday, nobody else would have been able to post a link. That is very limiting. I wish it were possible to determine whether links were allowed or not.

Editing the stream

Once the event was over today, I went back to the video, but couldn’t find any editing tools. I started being discouraged as I had hoped to simply trim the front and the back a bit from non-essential chatter and then just keep the rest of the video online rather than trimming my local recording that I had done on top of the online recording, encoding that and uploading it. Before I could get sadder, I had to do some other work, and once I came back to the recording, I suddenly had all my regular editing tools available and rejoiced. Apparently, it takes a bit until all functionality is at your disposal.

So I trimmed the video, which was not easy, but I managed. And then it did its encoding online. After some time, the shortened recording was available and I didn’t have to send out a new link to the video. 🙂

Summing up

What does that mean for the next live event with YouTube events?

  1. Click the “Creator Studio” button under my Google / YouTube profile to get to the editor dashboard easily.
  2. Invite people who should have audio privileges through the Hangout rather than giving them the YouTube Live link, which is displayed more prominently.
    • Co-presenters are invited via Hangout.
    • Viewers get the YouTube live link.
  3. Open the YouTube Live event with the event creator account in order to be able to post links in the chat on YouTube. Have both the Hangout and the YouTube Live event open so you can see the online chat of those who aren’t in the Hangout.
  4. Take into account that there is a delay until the content is shown on YouTube.
  5. Once finished, wait a bit until all editing features are available and then go into post-production.

Remembering all these things will put me into a better position for the next webinar, which is a repeat session of today’s and showcases the new features of Mahara 16.10.

Update: Learn some more about YouTube Live events from my second webinar.

18 Feb

Scary document morning

When it comes down to working with text documents collaboratively, I’m a happy user of the track changes and comment functionalities because they allow people working together on a document to easily communicate about the text and see each other’s changes.

Over the last few days, a colleague and I have been working on a long document in LibreOffice. The document contains a number of tables and we’ve been making extensive use of comments as well as tracking our changes in this 40+ pages document. Last night, I was working on the document and accepted changes to a table as well as deleted some comments while the changes were still being recorded. I worked away at the document saving frequently. I left the document open over night since I wanted to work on it some more this morning. All went well until I closed the document.

Before sharing it with my colleagues, I wanted to double-check something in the document, but could not open it. Instead, I was presented with the following error message: Read-Error. Format error discovered in the file in sub-document content.xml at 2,4879(row,col).

LibreOffice error message

LibreOffice error message

Before going into panic mode, I tried the obvious: Closing the document and trying to open it again: No luck. I then sent it to a colleague to check if he could open it: Still no luck. Since I don’t know XML well, I went in search of someone who might be able to provide help.

That’s when my luck turned around since the first person I asked for help (actually rather if he knew who might have some more knowledge) was Grant McLean. He offered to take a look and if he could find the cause quickly, fix it for me. We conducted a quick search that revealed that it might be a problem due to an attribute being used twice in the style definition. The instructions didn’t prove too helpful, but Grant whipped up something very quickly which I’m going to share here for others to use if they are in need and for me to refer back to if I ever come across the problem again.

The instructions are for a Linux-based environment, in my case Ubuntu 14.04.

  1. Open the LibreOffice ODT file in the Archive Manager.
  2. Drag the content.xml file out onto the desktop to extract it.
    At this stage, the xml file displays everything in one long line which is not really helpful for debugging. So Grant used a little Perl script to make the file more readable. Since we were only interested in parts of the file, this script was sufficient and put in some line breaks.
  3. The script finds every instance of “/>” in the document and replaces it with a line break before “/>”. That preserves the syntax of the document itself, but allows us to get at least some line breaks in there making the document more readable. In the terminal at the prompt, type the following:
    perl -i -p -e ‘s{/>}{\n/>}g’ content.xml
  4. If you don’t have XMLLint installed, you can get it via:
    sudo apt-get install libxml2-utils
  5. Run the XML file through XMLLint to check where the error is. Note down the line number:
    xmllint –noout content.xml
  6. Open the file in your favorite text editor where line numbering is turned on:
    vim content.xml
  7. Navigate to the line with the problem. In my case, we saw the “office:name” attribute twice for one content item. Once it was removed, I could open the document again and continue editing.

But that’s not where the story ends. That would have been too easy. 😉 Since we saw that the problem was close by to / in a table, we assumed that the problem might lie there. So I located the table and removed all formatting, saved the file and could not open it again. Next I deleted the table from the file that Grant had sent me, re-created it manually, but still no luck. After some more tries with Chris Cormack who could open the file and edit and save it, we updated my LibreOffice to the latest version hoping that the bug might have been fixed. No such luck. So I went back to Grant to get the above instructions from him on how to fix this issue as it seemed that I would not be able to erase the problem quickly, but would need work on the document and after each closing run through the procedure to open it again. For the sake of being able to continue working, I was willing to use that workaround and leave the document open as much as possible.

Grant explained the steps and we jotted them down. While we looked at the document, he also showed me a neat trick:

If you open the document in vim, navigate to an attribute and press Shift+*, you are taken to the next place in the document where the same attribute is used. That’s how we found that the issue was actually with the annotations / comments and not the tables. Somehow working with annotations (possibly in a table) and deleting them while the track changes functionality was turned on, caused a problem.

Now I could get rid of the issue entirely: I deleted all comments in the document, and I could open it correctly again without dabbling in XML.

We assume that this is a LibreOffice bug, and I am happy to report it. Unfortunately, I have not yet been able to reproduce it in a small test document. It works fine there. I’ll probably need to create a longer document similar to the one that I’m working on and see if I can re-create the problem.

I’m thankful to Grant and Chris for their help, and also to LibreOffice whose files are actually archives and include an XML file that you can open in a simple editor and manipulate when you can’t open it in LibreOffice itself.

12 Jan

The power of “Recent”

For several weeks now I have been using a functionality of my file browser that I had ignored religiously in the past. You see, Ubuntu, a Linux-based operating system, comes with Nautilus, which is the built-in file browser. For the most part, I file all my downloads or files that I create away in folders so that I can find them again later more easily and don’t have to hunt them down via search. That’s been working pretty well in the past.

However, I do save and create quite a few files per day. Especially when I save quick screenshots to send to our designers or clients, it does take a few clicks to get to the file again in my folder hierarchy. In order to speed up that process, one day I did click on “Recent” in the side panel, and a whole new world opened up. Suddenly, I had instantaneous access to all files that I had saved recently no matter in which folder they were located. Thus, I could save them in my folder structure with a bunch of clicks, but had them only one click away to add to an email or a support request.

Ubuntu Nautilus panel with recent files easily accessible

Ubuntu’s Nautilus with recent files easily and quickly at hand

17 Aug

Amazing CodeCamp

Last Friday, 8 August 2014, I had the fortune to be able to attend the demo night of CodeCamp in East Palo Alto (EPA).

CodeCamp welcomes its visitors

CodeCamp welcomes you

The power of coding

CodeCamp is an initiative by enthusiastic coders, primarily university students, to help high school students in East Palo Alto to see what they can achieve with coding during the summer and opening their eyes to possibilities for their futures.

At the end of the 4-week summer programme, a demo night was organized where this year’s students (the website doesn’t have video or their photos up yet) pitched their ideas and showed off what they had created.

But before the students had their say, there was a short keynote address by 2 co-founders of a start-up (of which I forgot the name 🙁 ). They said that besides the obvious coding skills, coding can teach the following:

  1. Power of focus
  2. Think for yourself
  3. How to build great relationships because coding is a team sport

All these three qualities were demonstrated by the students during their project pitches. We listened to pitches from 6 student groups that all had different project ideas for which they had created a website.

The projects

AfroGan is a group of 3 young women who created a site to showcase their cultural heritage and provide information about African American and Tongan culture, food, traditions etc. They created the site because they didn’t know much about their own cultures and wanted to explore them further. They invite others to participate and provide information, photos etc. to enrich the site.

The Pointeers are a group of 4 young women who wanted to give non-profits in EPA a voice and encourage young people to go to events. They would not only provide a platform where non-profits can announce their events, but also where they create activities / missions / challenges for young people to complete when they go to these events thus making it more fun for students to participate.

Vicious and delicious are a group of 3 young men who created a site where you can scan your shopping receipts so that you can look them up easily when you misplaced them or thrown them away. The site would also allow you to geotag them to be reminded more easily where you bought stuff.

Positive Vibes was created for teenagers to come to for help when they experienced abuse, bullying etc. The 3 teenagers who created the site have seen their fair share of abuse and sadness in their community, and they want to make a difference. Their site does not only offer written advice, but would also have counsellors available that could talk to the kids who seek support and help them as best as possible.

Nemesis Gaimz is a collaboration of 3 young men who created a game that you can easily play on any computer and for which you wouldn’t need fancy equipment. They created all the graphics themselves. The best thing about their game was the language used for when you you got hit by an obstacle and you lost that level. They didn’t like the “You are dead” language as it’s negative. So they came up with “You are deaded”.

And last not least, SuaveFX, a collaboration of 3 young men who set up a site to showcase local talent.  They want to get the word out about their local stars and give them a platform to present themselves.

All 6 projects were well thought out and showed a lot of maturity amongst the students for finding their topics. They were predominantly community-focused, and you could tell that they thought about their projects a lot to come up with something that was worthwhile pursuing. Part of their project presentations was also to pitch their projects to the audience as they would need funding to continue their efforts and put their sites and services up online. We did not get to vote for our favorite project (maybe something to do at next year’s CodeCamp), but could ask the students questions about their project progress, what they learned and where they wanted to go from here.

Outcomes of CodeCamp

The aims of CodeCamp were not only to teach them coding skills, but also soft skills and empower them in finding who they are. Yes, the students learned HTML, CSS and Javascript, and they worked with Foundation and Bootstrap once they had gained knowledge of how to set up a website from scratch. But they learned so much more.

I had the opportunity to speak with Shadi Barhoumi, one of the main organizers of CodeCamp, and it became clear to me that community empowerment and community building was important to him for the CodeCamp and teaching the kids. They did not only code, but they also played games and music together, went on excursions and came together as a group.

A number of the kids said during their final remarks that they have a new family in all the participants of CodeCamp. They grew very close to each other and appreciate each other much for who they are. The road was not always easy, but with the help of their mentors, they pulled through, finished the program, and now have something to show off. Some also said they got skills that will take them far, and they now have the confidence to apply for an internship or even look into studying programming at college / university. They now have a better outlook on things and see themselves a part of the tech industry that surrounds them, and will take further steps in them.

One student said: We are seeing how we want to be: loving, amazing and skillful.

I was interested in attending the demo night because we run an annual Open Source Academy in Wellington for high school students. Thus, I wanted to see what other programs do, and what we can learn from them. I learned a lot from CodeCamp just by having been at the demo night.

Shadi and the other mentors accomplished a lot with the students giving them a new outlook on their future by opening up a career path for a number of them who had not considered computer science as a career. They also helped the kids by coming together in a very tight knit community and making them see that it’s not just about the work you do, but also with whom you do it and that you need others on your team. Demo night was attended by parents and friends of the students as well as other community members who are involved in community activities in EPA, and then a few others like me who have more or less loose connections with the program.

I enjoyed watching the kids interact and move effortlessly between their work – presenting their pitches – and play and talking with members of the community about CodeCamp. Not just making it about the coding, but also having a good deal of time available for the students to just play is great. Having been located at a school where they can go outside and play ball or run around has its advantages. We’d be very limited in our multi-story building in the city center for such activities.

One thing Shadi mentioned that helped the students get into the mood for the summer of coding and for sticking with it, was the hackathon that was organized at the beginning of the program. The hackathon was so very intense and energizing that it was the perfect start to capture the students’ attention and make them want to continue. And by judging the enthusiasm that the students exhibited at the end of the program, it worked out very well.

The things that I took away from the demo night were that immense sense of community amongst the people there from EPA, the enthusiasm that the students showed throughout the event and also their insight into what their community needs, and the great opportunity for the students to demo their project results not only to their fellow campers, but to the wider community.

So, if you are looking for a talented student with knowledge in HTML, CSS and JS, watch out for the CodeCamp students.

Motto at CodeCamp: Show, don't tell

Motto at CodeCamp: Show, don’t tell