Meet Christopher – Collabora Software Engineering Intern

 

Collabora recruits interns to work over the summer alongside our team, and to build experience to help them assess whether they want to pursue a career in Software Engineering, but how does that work out? Let’s hear from Christopher:

Tell me about yourself!

My name is Christopher and I am currently studying Physics, Maths and Computer Science. I’ve been doing a fair amount of programming for around 4 or 5 years at home, mainly self-taught. I’ve also learnt a lot from my Dad who works as a Software and Hardware Engineer and my Grandad who is a Physicist. Outside of coding, I’ve been teaching myself to play guitar for the last year.

When did you first become interested in coding?

It was Christmas 2018 – I’d been given a coding task from my Computer Science teacher at school to make a simple game (Battleships) and I found it really interesting. As I was working on it, I got thinking how I could make it better, so I added databasing and networking functionality to it.

What’s your favourite project you’ve worked on?

The most enjoyable things for me are the functionality improvements I’ve been working on over the Summer with Collabora. I’ve made small UI changes that have made a meaningful difference to the end users.

What else have you been working on over the Summer?

I solved an existing bug with toggling elements in the notebook bar and also worked on the ability to toggle Dark Mode. I started the template for the Admin Console, creating a foundation for clustered diagnosis.

Why did you want to spend your Summer at Collabora?

I was told it would be valuable to get work experience in technology to help with my University application, and in the future it would look good on my CV. I originally heard about the Internship from the Computer Science department at my school – Michael Meeks came in to do a talk and I was inspired by his charisma. It made me excited to spend the Summer working on my skills through working at Collabora.

What did you learn from your time at Collabora?

The most valuable thing for me was learning how to work as part of a team. It’s hard to get this experience at GCSE and A Level as you’re only really given small personal projects.

What do you want to be working on in the future?

I don’t really know exactly what I want to work on yet! There’s so many different things you can do which is what attracted me to the industry. Having the skills is a real door opener and transferable across many industries.

Would you recommend an internship at Collabora to others interested in a career in technology?

Absolutely! It was challenging but stimulating – I’m very thankful for a great opportunity and to Pedro and Pranam for the skills they’ve taught me.

 

Christopher has been continuing to work on some projects for Collabora during his final year of college. We are excited to see what other UI improvements will be made over the coming months.

Why not get involved? We love to work alongside the next generation to help them discover what a career in Software Engineering might look like. If you’ve ever considered it for yourself, get in touch today!

Meet Skyler – Collabora Software Engineering Intern

 

Collabora recruits interns to work over the summer alongside our team, and to build experience to help them assess whether they want to pursue a career in Software Engineering, but how does that work out? Lets hear from Skyler:

Tell me about yourself!

My name is Skyler and I’m currently studying Maths, Further Maths, Computer Science and Business Studies at college. I spent the summer holidays doing an internship at Collabora Productivity. I’m into software development and video games, especially Minecraft and Celeste. I have a huge Steam library!

When did you first become interested in technology/coding?

When I was 11, my parents got me Raspberry Pi and I became fascinated with learning how to programme. Then in Secondary school I had an awesome Computer Science teacher who let us use old laptops to create a server where we built a small internal website. Since then I’ve been doing software development as a hobby.

What’s your favourite project you’ve worked on?

Oh, there’s quite a few to choose from! I’ve made several Discord bots which are automated game bots, including one to play Cards Against Humanity which was installed on over 2000 servers. I also made a version of Ultimate Tic Tac Toe – you can access it at https://uttt.crawling.us. I particularly enjoy creating smaller things that feed into one another to create something larger.

What have you been doing over the summer?

I’ve mostly been working on JSDialog, such as ‘repair document’, ‘number format’ or ‘split table’. I think the most common (and arguably most important) one I’ve worked on is ‘insert captions’ which is ~90% done: there’s 3 dialogs that work together to make our captioning work and I’ve converted 2 of them fully and figured out but not fully fixed an issue for the third.

Why did you want to spend your Summer interning at Collabora?

I went to a talk by Michael at my school where he told us about the benefits we’d get from doing an internship. He mentioned developing scalable techniques for big projects which I thought would be interesting and useful to learn.

I would have spent all Summer doing software programming anyway so I thought instead of letting the summer slip away, I would spend it learning. Plus it looks good on a university application!

What did you learn from your time at Collabora?

The main thing I learnt was the importance of taking notes efficiently so you can see what you were thinking and see if there were any assumptions you made that were wrong. I also learned how to implement scalable techniques (as Michael was talking about) which has really helped me.

What do you want to be working on in the future?

I’ve thought of various things I’d like to work on but I really enjoy back end development, much more than front end. I enjoy DevOps, scripts and testing – it’s satisfying to test and deploy.

I’m applying for university to do a Computer Science course focused on theory and software development and hopefully I’ll be able to get involved with some more projects at Collabora around my studies.

Would you recommend an internship at Collabora to others interested in a career in technology?

Yes absolutely, I’ve encouraged a few of my friends at school to apply!

 

It has been great to have Skyler work with us, and to see the impact on the codebase for all our users. Making our user-interface more visually consistent helps users to have a more easy to use and seamless experience. The underlying code improvements will also help to reduce complexity, making life easy for the next contributors to Collabora Online.

Why not get involved? We love to work alongside the next generation to help them discover what a career in Software Engineering might look like. If you’ve ever considered it for yourself, get in touch today!

Recent Contributions from Collabora to LibreOffice

We’re continually contributing improvements to the LibreOffice code-base as a member of the community (Collabora Online Forum). Here are a few highlights of the last week’s work on behalf of our customers.

“Collabora is a commercial organisation; of course we serve the needs of our paying customers, but it is a real pleasure to be able to contribute alongside the development community to LibreOffice,” said Michael Meeks, General Manager of Collabora Productivity. “It, not only, helps us offer our customers business values and benefits other companies can’t, but it provides us with an incredibly robust development and support resource.”

There’s a lot going on in the community and here are few current projects that demonstrate what people are hacking.

Enabling Calc support for 16384 columns by default

Over the last couple of weeks Luboš Luňák (Llunak) has been working for Collabora on the 16k columns support in Calc. There’s been a lot of work on this already by Noel Grandin and others, but so far this has been hidden behind the experimental option, and normally documents open only with the “normal” 1024 columns support. The goal of this work is to finish the 16k support stable enough for it to be the default, so that people who need this many columns can finally get them without any complications.

If all goes well, and so far Luboš doesn’t see why it shouldn’t, LibreOffice 7.4 will ship with 16k columns being the default. Calc users will then be able to get a lot more columns to work with.

This work is funded/sponsored by DEVxDAO as part of its mission to support Open Source and transparent research and development of emerging technologies and frameworks. Interestingly finishing this work was also a project that was proposed by to be funded by TDF, and ranked as one of the top requested features, it is great that this budget can now be re-applied to another task.

If you have ever been bitten by the “too many columns” dialog box then, why not find out more about what Luboš is working on.

Word-style border fixes in Writer: pages, tables and paragraphs

Miklos Vajna (vmiklos) has been looking at Writer and how it can better render Word-style borders around pages, tables and paragraphs.

Word users expect to able to import their documents to Writer and experience high-fidelity rendering. This means Writer has to support the way page / table / paragraph borders are painted according to the OOXML model as well. This is all done conditionally, so existing ODF documents are left unchanged.

As a result of this work, Writer now has a set of improvements to better render Word-style borders around pages, tables and paragraphs.

Thanks must go to Docmosis and TUBITAK that have made this work by Collabora possible.

Find out more and take a look at some of the improvements that have been made.

Sparklines in Calc

Sparklines are mini charts available in OOXML (XLSX) documents that up to now were not supported by LibreOffice Calc.

Tomaz Vajngerl explained that to add support in LibreOffice for sparklines, they first needed to be read into the LibreOffice data model, but the data model for sparklines didn’t exist, so it first needed to be created. Once the data model was ready we could render the sparklines in the cell area.

Currently the code for this is in a feature branch (feature/sparklines), but it’s in the process of being up-streamed to master. The feature will be available in LibreOffice 7.4.

Thanks to the funding of NGI and the European Union, this missing feature is now being implemented. This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 871498.

Find out more about the work going into the development of sparklines in Calc.

These are just a sample of the good work going on to support and develop LibreOffice for the next release. If you’d like to find out more about what Collabora is doing or, perhaps, you’d like to get involved then please visit the Collabora Online User Forum.

Talks and Slides by Collabora at FOSDEM 2022

FOSDEM 2022 – The Talks and Slides from the Collabora Team

Whether on-site in Brussels or as an online event like the last two years, FOSDEM is and remains the largest and most important gathering of Open-Source developers in Europe. We’d like to express our gratitude to the community and the organisers. The Collabora team gave numerous talks in the LibreOffice Technology devroom. Missed a presentation? Below you will find links to all videos and to the downloads of the slides.

 

Gülşah Köse

LibreOffice Technology devroom

OOXML Document Analysis

Collabora developer Gülşah Köse explains how we respond when we receive a problematic OOXML document from a customer and demonstrates the solution to a sample bug. See details

Watch the talk!
Download the slides!

 

Miklos Vajna

LibreOffice Technology devroom

Document Themes in LibreOffice Impress and Elsewhere

LibreOffice has been capable of handling colour palettes on its UI for a while. Meanwhile, the competition introduced document themes, which are a fixed set of 12 colours, to be attached to various parts of documents. See what we have done to bring themes to LibreOffice and find out what still needs doing and how you can help. See details

Watch the talk!
Download the slides!

 

Gökay Şatır

LibreOffice Technology devroom

Canvas For Rendering UX

Gökay Şatır shows why we chose to use Canvas for rendering the UI and the document, and explains the structure we created to execute this task. See details

Watch the talk!
Download the slides!


Mert Tümer

LibreOffice Technology devroom

Editing Simulation

Performance measurements are really challenging. This presentation by Mert Tümer covers how we can achieve reliable and repeatable performance tests by implementing clever tools that simulate realistic use cases. See details

Watch the talk!
Download the slides!

 

Jan Holesovsky

LibreOffice Technology devroom

LibreOfficeKit Recent Developments

LibreOffice can be used by other applications via its C++ API called LibreOfficeKit. Primary use cases for this are document conversion and editing in Collabora Online. The LibreOfficeKit is currently being expanded. Jan “Kendy” Holesovsky talks about these recent developments See details

Watch the talk!
Download the slides!

 

 

Michael Meeks

LibreOffice Technology devroom

Online Performance – Making Collaborative Editing Quicker

Collabora Online has a novel model that re-uses the core LibreOffice Technology to provide rich collaborative editing. Recently, we have been focusing our development on improving the look and feel of document editing. Watch Michael Meeks talk about how Online performance wins are making browser-based collaborative editing quicker. See details

Watch the talk!
Download the slides!

 

Szymon Kłos

LibreOffice Technology devroom

Building Collabora Online UI Based on the LibreOffice Components

JSDialog is a “framework” for sharing UI components between Collabora Online and LibreOffice. It was used to bring the Sidebar, the NotebookBar, and dialogs to the web. It provides native HTML widgets connected to the original LibreOffice code, giving the user rich editing options even on mobile devices. Watch Szymon Kłos‘ talk for a brief summary of what has already been done and how it works. See details

Watch the talk!
Download the slides!

 

Pranam Lashkari

LibreOffice Technology devroom

Collabora Online on Kubernetes – Setup & Deployment

See this talk by Pranam Lashkari for a comprehensive demonstration of how to deploy Collabora Online using Kubernetes. See details

Watch the talk!
Download the slides!

 

Ashod Nakashian

 16:00 – 16:30 – LibreOffice Technology devroom

Collabora Online: Async-Saving Design and Testing

This talk explores the challenge of saving and uploading documents to the storage server in an asynchronous way, to improve performance, user experience and also ensure higher reliability and resiliency. Ashod Nakashian covers both the design and the challenges of testing a highly critical component of a production product.

See details Join video & conversation

Watch the talk!
Download the slides!

 

Henry Castro

LibreOffice Technology devroom

Macro Dialog Feature

Watch Henry Castro‘s talk on the implementation of a Macro Selector Dialog on the client side to execute VBA macros on the server side. See details

Watch the talk!
Download the slides!

 

 

About Collabora Online

Collabora Online 21.11 is our latest enterprise quality release. It’s suitable for large-scale deployment, and comes with SLA, enterprise support with signed security updates as well as interaction with product management, helping to direct our development priorities. Collabora Online integrates flawlessly into Nextcloud, ownCloud, Seafile, and many of the major file sync & share, groupware and hosting solutions. It’s ideal for organizations that want to collaborate on documents, without losing control over them or compromising on privacy. With the ability to host it on your own hardware or to integrate it into a trusted environment, Collabora Online is the ideal online office suite for digital sovereignty. Enterprises interested in using Collabora Online can check out our home page for more information on partner integrations and online demos. Hosting and Cloud businesses that wish to add Collabora Online to their product portfolio can become a partner. For any questions or tailored solutions, do not hesitate to contact hello@collaboraoffice.com.

 

GSoC 21 Projects mentored by Collabora for LibreOffice

Collabora mentors students on LibreOffice projects during this year’s Google Summer of Code

Summer is synonymous with the opportunity to participate in beautiful projects. Let’s look at the students who work in improving LibreOffice during the Google Summer of Code. This year, four of the approved GSoC projects for the LibreOffice community are mentored by Collabora developers. Find out about the improvements they are currently implementing!

Tests for the VCL graphic backends

The Visual Class Library (VCL) tests identifies if a graphic backend works correctly. This is especially important if the backend depends on the client hardware or drivers (like e.g. on Skia/Vulkan). This task’s main objective is adding more test cases to the pre-existing tests, and implementing a usable UI for users to test the graphic’s feasibility themselves. This project can be considered as of medium difficulty and requires C++ knowledge. It has been taken over by Akshit Kushwaha who is being mentored by Collaborans Tomaž Vajngerl and Luboš Luňák.

Creating a powerful Text Style deck

Text Style deck mock-up by the LibreOffice design team

The current styles deck sidebar is going to see a redesign. The paragraph and character styles will be merged into a single Text Style deck, as illustrated in the mock-up to the left. Furthermore, Anshu Khare, who has picked-up this project, does also want to rework the filter workflow. Anshu Khare is being mentored by Collaborans Tomaž Vajngerl and Mike Kaganski and Heiko Tietze from the LibreOffice design team.

Making SVM format independent of the VCL Metafile

The SVM file is a 1-to-1 pullout of the content of the VCL Metafile. We mentioned the VCL already before. It is a complex code area and since the SVM should not change, stay consistent, modernizing and updating VCL is very hard. Now after this task, there will be a test for the SVM format. And there will also be new classes, making it easier to update/improve VCL. This project can be considered of medium difficulty. It is being taken over by Panos Korovesis who is being mentored by Tomaž Vajngerl and Miklos Vajna.

100 paper cuts

100 Paper Cuts is a versatile and multifaceted project in which Bayram Çiçek will be implementing enhancement requests and solving some issues on the UX side of LibreOffice. This requires knowledge in C++ and the ability to read other peoples code. Due to its nature, the difficulty of this project can vary. Bayram Çiçek is being mentored by Collaboran Muhammet Kara and Heiko Tietze from the LibreOffice design team.

More Projects – Boost.Gil 2D convolution and correlation

Apart from those for the LibreOffice project, Collaboran developers participate in other Google Summer of Code projects. For the Boost C++ Libraries organization, a 2D convolution and correlation algorithm aligned with existing 1D convolution and correlation is to be implemented. Prathamesh Tagore will improve the existing prototype and make it ready for release. He is being mentored by Collaboran Pranam Lashkari, who was himself a successful GSoC scholarship holder a few years ago.

We wish all participants an equally successful and insightful summer and would like to thank all mentors for devoting the time necessary for the success of these projects. At Collabora, we believe that the sharing of knowledge is an essential part of open source and also a driver of progress and innovation.

Searching for a mentor? Join us GitHub!

Google Summer of Code is an excellent opportunity to learn to work in many open-source projects. But where to find mentors during the rest of the year? We suggest you to take a look at the code of Collabora Online on GitHub and join the growing community there, with easy hacks to get started and regular round-ups. Community Mentor Muhammet Kara and the rest of our team of open-source developers are there and willing to share their vast experience.

Join the Collabora Online community