You can check out any time, but you can never leave...
I've not been involved in Plone much in the past year. After organising the annual Plone Conference in Bristol last year, and after leaving Netsight to work on something different, I needed a mental break for a bit. I've been involved with Plone for nearly 15 years now, and that is quite a long time working with the community and evangelising the wonders of Open Source content management.
So I wasn't going to be going to Plone Conference this year. My current main client, enquos, uses Plone for their online help centre, but it is not something I am directly involved with. So the justification of me going to the conference this year was not that strong...
The strangest thing happened a few months ago. My wife, Vik, who has been a 'Plone widow' for a number of years, putting up with me jetting off to far corners or the globe to attend Plone events saw a conversation between two Plone community members, Cris Ewing and Kim Nguyen talking about the upcoming conference in Bucharest. She has met a number of the community at events when I've dragged her along (OK, so not much dragging needed to get her to Sorrento for Plone Open Garden).
"I want to go to the Plone Conference" she said "I miss these people"
"Really? I we could go anywhere on holiday" I replied.
"Yes, but I only see these people a few times a year and I like them"
So I thought I'd submit a talk for the conference, and that would decide if we go or not. It got accepted. So we booked flights and hotel to go to the conference with a view that it would be part conference and part holiday.
I think it certainly says a lot about a community that one's spouse misses them as much as you do. In fact, by the end of the conference the joke was that it was Vik that would be invited to the next conference, and perhaps Mr Vik would tag along too ;)
So a few weeks later we were driving to Luton airport to fly to Bucharest. Alas, no direct flights from Bristol to Bucharest. We could have flown to Budapest and then got the train, which would have been quite fun, but also take more time that I wanted to take off.
Bucharest is a beautiful city. There are so many impressive old buildings, and very welcoming people. We stayed at the Hotel Epoque, which was stunning and fantastic service.
Some observations and highlights, in no order:
Eric Steele's keynote on the State of Plone
I've not been involved much with Plone in the past year... and WOW, has a lot happened. So many pieces of work that were underway when I last looked are now not only in Plone 5, but look like they properly belong there. Dexterity is now the default content type system, and the new Diazo theme editor makes creating themes even easier. The new base theme for Plone 5 is much easier to work with, and the new toolbar UI is a massive visual and functional refresh.
The best description of Plone 5 was Eric talking about the apocryphal story of 'My Grandfather's Axe' (also know as the Ship of Theseus). "This is my grandfather's axe. It has had the head replaced twice and the handle three times, but it is still my grandfather's axe". Plone has had many parts of it replaced and it feels fresh and modern, but it still retains the underlying feel and ethos of 'My Grandfather's Plone'. Those of you in the UK may remember Trigger's Broom in Only Fools and Horses.
I was very pleased to see the stronger and more definitive stance taken on a few issues, both politically and technically. Plone.app.multilingual is now shipped with Plone by default. Plone has taken a strong stance on the future of Zope2 and is making bold moves to refactor the bits it needs.
Plone 5 also has fixed up a lot of accessibility issues that have crept in over time. 10 years ago Plone was a leader in accessibility for CMSes and I'm glad to say it looks like it is back in that spot again. One of the main mantras being:
All the content. All the time. For all the people.
Max Nakane's Keynote on Accessibility & Open Space
Whilst on the topic of accessibility, it was great to see the keynote of Max Nakane. Max is a Japanese developer who has been blind since he was a few years old. It is certainly humbling to see a keynote by someone for whom English is not their native language and whom has never even seen the slides they have written and are presenting to the audience.
I have some experience with working with the blind as my son lost the majority of his sight a few years ago. But it was great to hear from someone with absolutely no vision for, practically, their entire life and how they interface with the digital (and physical) world. He is also a FreeBSD advocate, so a good guy in my book ;)
Max talked about a number of practical issues around accessibility and gave a number of tips on helping provide access to information and processes to as wide an audience as possible.
Not only does he talk about people with disabilities, but also talked about 'situational disability' the context that someone might be impaired temporarily due to other factors. This is something I've been thinking about a lot recently working with mobile development. Unlike 'traditional' desk-based usage of applications and web sites, a mobile user is likely to be carrying an umbrella and a cup of coffee, walking down the street, trying to avoid other pedestrians, navigate to their destination and use your app at the same time.
A good friend of mine, Oliver Humpage at Watershed, has written a great blog post on how they embedded text subtitles on a live streamed conference they were organising. One bit that really caught my attention was the reasoning why they did the subtitles:
Well, people who are deaf or hard of hearing shouldn’t be excluded from your event. Pretty simple, really.
But it’s not just for them. Live captions benefit:
viewers whose first language isn’t English (or whatever’s being spoken at your event): it’s much easier to follow a foreign tongue when you can read as well as hear
people who are watching in an environment – e.g. on public transport, or when getting a baby to sleep, or in bed, or in a huge number of other situations – where it’s more convenient to watch without the sound on.
There are more people in that second category than you might think – we got many tweets from people grateful that the captions were there.
His full write up on the technical details of how they did it is fascinating. And something I'd really like to see if could be implemented at future Plone Conferences. We have a very linguistically diverse audience at the Plone Conference, and I'm sure if you are, e.g., A Slovenian trying to understand a French person speaking English whilst in America... having live subtitles of the speaker would be useful.
Max lead an Open Space session the next day on his day-to-day use of accessibility technologies to give people a bit of an insight as to how he 'sees' the digital world and some of the challenges. Watching someone firsthand use a braille reader or text-to-speech to navigate certainly showed some of the issues faced. More importantly it was great to see the strategies that people relying on assistive tools use.
Plone Internet Consortium
The Plone Intranet Consortium had no less than six talks at the conference. Ranging from 'state of' talks from Guido Stevens to more technical talks such as the User Profile implementation talk by my former colleague at Netsight, Matthew Sital-Singh.
The Plone Intranet Consortium is an interesting model of funding development. It works on a number of member companies contributing to a central fund which in turn pays for some of the central skills used, such as the designer responsible for the coherent look and feel of all the parts.
The Plone Intranet Consortium was a project initially started whilst I was at Netsight as a collaboration between Netsight, Cosent and then bringing in a number of other Plone companies who develop intranets. It is fascinating to see how far it has come in the past year and how, not only the technical progress, but the concept as a whole. The project is not just trying to build software, but fundamentally analyse the way in which business culture and organisation affects the procurement, use, and adoption of enterprise software.
One of the talks I specifically liked the format of was Matthew Sital-Singh's talk as mentioned above. The talk was about the user profile system in Plone Intranet. This is an area I've worked on a lot whilst I was at Netsight as I was usually responsible for the Authentication integration we did. Integrating with a corporate LDAP or Active Directory server for instance. These kind of things were always a bit bespoke as every project and client was slightly different in their technical setup and organisational arrangement.
Matt's talk broke the functionality of the add-on into four specific areas:
i.e. here is what you can expect to get 'out of the box' when you first install the product. Here is what you get with a bit of customisation (i.e., selecting checkboxes in a config screen somewhere). Here is what you can do if you write some extension code and extend or change the behaviour of the product. And here is how this product integrates with other products out there and what additional products provide additional combined functionality.
This is a format I'd love to see for more presentations on Plone add-ons as it allows the user to see exactly what level of experience or skill (or cost) they will need to achieve certain changes in functionality.
Once again, Maurits van Rees was live blogging all the talks he was in. This was a fantastic resource, not only for those unable to attend, but also for when you ended up wanting to be in two talks at the same time. Maurit's notes can be found on his blog.
Adventures in Wonderland
I gave a talk at the conference on my adventures in the past year in mobile app development. I talked about some of the skills and tools I'd learnt from Plone to iOS development.
As usual, the Plone Community is awesome. These are some of the most fantastic people I know. And as usual, I spent way too long in the evenings drinking and chatting with so many of them. There were some usual faces who couldn't make it, but conversely a lot of fresh new faces as well. I won't put all the incriminating evidence on here, but checkout out the link below to some of the photos on Flickr of the event.
Following on from the accidental pattern of so many Plone conferences recently being held in cities starting with a 'B' (Budapest, Bristol, Brasilia, Bucharest)... Plone Conference 2016 will be held in Boston. It is being organised by Cris Ewing, Sally Kleinfeldt and Kim Nguyen and will be held at Microsoft's Research Campus. I'm so glad to see a Plone Conference in North America again, as the last one, San Francisco in 2011 seems so long ago now.
So, thanks to Alec Ghica and the team at Eau de Web for organising a fantastic conference. I know how much time it can take, and they did a fantastic job. Thanks to all the event sponsors too and the community for making such an enjoyable event once again.
The slides from my talk at Plone Conference 2015 in Bucharest.
After 15 years of working purely in Python, I was thrown head-first into
the world of iOS development. Taking over the management of a mobile app
being developed for a Python web application, I’ve had to deal with
managing iOS developers, understanding the iOS ecosystem, and working
out Apple’s byzantine procedures and processes.