09 May, 2015

ownCloud workshops - two down, two to go.

some had already given up at this time...
The success rate is going up - where, at the first ownCloud workshop at the openSUSE conference, we had no successful installation, yesterday in Helsinki we reached a two-out-of-five. Both workshops had around 20 participants but usually people collaborated in groups of 3-5, following my guidelines on how to get ownCloud up and running on a Banana Pi development board.

Whoah, two out of five?

I admit it isn't easy and partially, that is intentional. The instructions in the document are sparse, especially for newbies - but even an experienced Arch'er threw his towel in the ring after almost three hours. Then again, what is a workshop for if not for enjoying the struggle of learning something new? And certainly everybody did that - struggle and learn new things.

The winning team still hard at work
The second team to get ownCloud running
Those who have any experience installing ownCloud know the difficulty can not be in ownCloud - and indeed, once you are set up with a running Banana Pi with SSH access, installing ownCloud is a matter of minutes. But getting there is no picnic! Why?

The hardest part by far is with the networking part of the workshop - the moment you've SSH'ed into the Banana Pi, 85% of the work is done. The challenge is significant - requiring not just Linux on the host laptop (yesterday, Ubuntu got 4 new users as neither Mac nor Windows were up to the task) but also handling stuff like tcpdump, Wireshark and a bunch of low-level command line tools like dd, mount, dpkg, ssh and so on. For most participants, the hardest challenges were:

  • Windows and Mac. I'm sure they are awesome operating systems, but something which is a few mouse clicks on a Linux system (sharing the wifi internet connection over a Ethernet cable with the Banana Pi) seems virtually impossible. On Linux, NetworkManager makes it as easy as creating a new wired connection, choosing "shared network" under the IPv4 tab and ticking the "this connection requires IPv4". Now, just enable this network after connecting the Pi and done. I have no experience with Windows or Mac whatsoever, but if nearly 15 IT students with internet access can't figure out how to make these operating systems do the same thing - I can only assume it is hard.
  • Command line familiarity. If you're new to Linux, an instruction like "mount the USB stick and copy over the data to the Pi" takes more than a few minutes and requires you to learn at least two new tools and looking through system logs. 
  • New tools. You'll be looking for alternatives to Linux commands like dd on Windows and Mac first, and once you've given up on your familiar platform you get to learn tools even most Linux users rarely need. 
  • Geeks. "Can't you do this easier with TCPDump?" "You can do this with the ip command too, you know" - I could only reply "Try, and if it works, show me how." Rest assured, I learned a few things - but haven't changed my instructions. Yet.

Seriously, I love it. Three hours of a workshop full of people trying various ways of skinning the cat. To me, the fact that nobody got completely through my instructions merely means they had a good time on the way. At least, that's what they said - "the best workshop I've been at" is just awesome to hear.
And... working! A Banana Pi was the reward.

For the next workshop (coming Thursday at the Open Tech Summit in Berlin), I'll further streamline the instructions (but not too much!) and I mean to put in some 'advanced' challenges for those who simply know too much about Linux to stay busy for 3 hours. I want to know how to do this without Wireshark and NetworkManager, to name two things...

of course - food and beer as reward for hard work
I'll also have to make Linux mandatory. The USB sticks with instructions and software I provide will be openSUSE live sticks for the next workshop, as I can't expect everybody to have Linux by default on their laptops. And of course you can use Windows or Mac if you really want and are up for the challenge, I don't mind including instructions for these platforms. But nobody got them working yet so expect some struggle.

You will also need a laptop with a working ethernet port, no amount of creativity has been enough to work around the physical limitation of not being able to plug in the other end of the networking cable...

Besides the satisfaction of getting ownCloud running, the first to succeed earns the Banana Pi they worked with!

If you can't make it to Berlin, I will give workshop later this month also in Dubrovnik (see my earlier blog) and if you'd like to have this workshop close by - let me know, perhaps we can arrange something.