Press Review Inno #6

Design

Atomic Design

By Patrick Bracquart

Since the early days of the web, we talk about what goes into creating a Web “page”. This term shows how our vision of the web was informed since the 90s: it came from an architecture that was structured as a series of documents, like if they were printed pages of an encyclopedia.
However, for several years now, the multitude of available platforms in the Web ecosystem continues to grow and to become more complex. From the computer to the smartphone, and without forgetting the television or even smart watches, it has become clear that the concept behind the design and structure of Web pages is now obsolete.
There is a new methodology of design available that can take this into account. It is called Atomic Design, and the term was coined by Brad Frost. Thus, instead of thinking about content in the form of a page, each design element is created starting with its smallest component element (such as a call to action) and builds up to create something much bigger. We start from the atom to create the molecules, and these molecules come together in order to create a coherent and modular Web organism.

As each atom is placed individually in a library, Atomic Design saves a lot of time and makes for a more coherent and simplified end result.

Web Development

Makefiles, or How to Avoid Reinventing the Wheel

By Samuel Sirois

After having taken a break from frontend Web application development, I’ve recently jumped back into the field through two projects that I am working on. It represents a great opportunity to revisit my preconceived notions and old work habits, through a codebase that already exists and that is up-to-date with the latest stylish tools to use, ready after a simple git clone.

Wow, things do change quickly! (Even from the first line) From new versions of ECMAScript supported in modern Web clients – a panoply of pseudo-languages based on JavaScript – to the multitude of CSS pre-processors available… In addition to all these new automated build pipelines specifically created by and for JavaScript developers.

With all of these new shiny things, these automated build pipelines become essential to ensure that the minification, linking, compilation?!, of all of these files won’t cancel out the efficiency gains given by these tools which are now a necessity for the development of modern Web applications.

I still can’t keep myself from wondering if there hasn’t been a little bit of a lack of communication between those that have recently needed these complex tools in their projects (front-end developers) and those who have already faced these same requirements in the past and have discovered a solution (not the only one, mind you) to this problem, way back in the 70s!

I’ve never yet felt the need to use these new tools, as I already know Make, and having already been confronted with new, shiny, stylish solutions around the turn of the century, only to have taken some steps backward from something that already worked well. Indeed, I often insist on manually creating these Makefiles for projects I contribute to and I don’t hesitate to spend the time necessary to manage this tool.

Reinventing the wheel, i.e. to fall into the same traps and mistakes, or to really improve the situation? Here are a few interesting links to help you make your own opinions on the subject:

Contribution

From Contributions to Inno Hackfest

While evaluating the success of the afternoons we spend once per month on contributing to open source projects, we’ve decided to revise our formula a bit. Starting now, these afternoons will be held biweekly under the banner of “Hackfest”.

 Our First Few Hackfests

While working in small groups (and never alone), our SFLians have had the opportunity to learn about new technologies, to contribute to projects that they love or even to work on some new “side projects”.

In and amongst these contributions we find: initiations to the world of virtual reality (VR) through the creation of a dominos simulator using Unity and Oculus Rift; a workshop on blockchain technology and the connection with a concrete case study using the Ring software’s username database; the creation of a proof-of-concept client for a document-oriented database.

Upgrade Review

By Maxime Turcotte

The Drupal 8 migration report page, on which the modules that require migration are listed, was in sore need of a refresh in order to improve the user experience (UX). During our afternoon Hackfest, I wrote an initial patch that reuses certain design elements of the Drupal administration interface. Also, in adding just a few new descriptive icons, it is far easier to quickly find what requires our attention in this report.

 

Helpful Link:

Press Review Inno #5

Web Development

Node.js releases LTS of version 8.x

By Jacob Cook

The release schedule for Node.js provides for updates in long-term support (LTS) most every October, and this year will be no exception. Node.js offers developers a happy Halloween gift this year in transitioning its current version branch (8.x) to a stable LTS version. This means that features that have been at the cutting edge of development since early 2016 have finally been made available to users that require the stable and well-tested environment that an LTS version provides.
 

The new features in Node.js 8.x that have been eagerly awaited by developers include full support for async/await in Node.js core, updates to the V8 engine, an HTTP/2 implementation, a new version of NPM that allows for package version pinning with lockfiles, and much more.

Further reading :

Mobile

Firebase Dev Summit

The Firebase Dev Summit has just ended and several important announcements were made:
 
Following the purchase of Fabric by Google, Crashlytics will be integrated into the Firebase console. This new crash reporting system will benefit from access to other Firebase services, including Cloud Functions – which are the functions (lambdas) triggered when a Firebase internal trigger fires, or externally via a REST API call.

 

The added value of such an integration is in triggering a Cloud Function in response to some raised crashes. A crash in the main flow of the app could trigger an email to the entire team to speed up its resolution. A Cloud Function could also be used to create a task in a project management tool.
Google also announced that they are bringing machine learning to work with a new service, Predictions, which can categorize groups of users based on the way they use an application. Firebase can then present these groups with different offers or exclusive features to maintain their engagement.

 

Celebrating the Next Generation of Business Digitization Talents

       

Savoir-faire Linux and ICTC celebrate the first cohorts of the successful graduates from the Small Business Digitization Initiative (SBDI).

The first students, the pioneers, started last January their six-month journey which can position them as the next generation of digitization talents. They went through an intense in-class training helping them understand how technology opens countless improvement and change opportunities. At the same time, they tackled a real business challenge in a natural work environment, thus balancing theory and practice, through a unique approach based on agile feedback.

Some students from the class of 2017

A Training to Be Seen as the Digitization Leader’s Toolkit

Students worked on projects as diverse as delivering fresh products to Nunavut, developing local retail shops promoting health, building cool brands, improving the customer experience in-store and online, and scaling the business of a micro-brewery. They touched a wide-range of technologies from beacons, communication and collaboration technologies, business applications of all sorts from sales to accounting and customer relationship management. Some of more technical students managed to build an Android mobile app, deploying an open source internal social media, developing online stores with Shopify, WordPress or Odoo, and developing a software for a local insurance company to do underwriting online. We used Odoo, and more generally a wide range of open source technologies, which could be easily accessible and useful to students to tackle business challenges. We provided students with the necessary training and skill set to apply open source projects and combine them with other technologies while solving business related problems.


Theory Face-to-Face with the Reality

We would like to congratulate every single student for their efforts, for the challenges they bravely faced, for trying to apply their theoretical learning in real-life scenarios, regardless of the success rate!

During this 6-month long program, they confronted tough decision making situations and challenges with both courage and determination. These experiences, for some, led to new job opportunities. Some others realized that they needed more training and coaching. Some candidates evolved dramatically as a result of their flexibility and adaptations to the business context. In fact, they learned that they should accept to let go of some ambitions or had to adjust them to the real context.

One thing we are sure is that all candidates received a fair amount of constructive one-on-one training and feedback. They used these feedback loops as an instrumental tool to develop business solutions and make decisions based on what they have learned in class. After all, there may be more than one technological solution to resolve the same problem. But knowing that technology is just a tool, and not the main purpose, students learned to think globally and critically of all the stakeholders being affected by every decision. Such pluralistic approach to realistic problem solving opened a range of possibilities which demanded even a more engaged and considerate decision making process. We did our best to provide all necessary tools to the best of our knowledge and capability and hopefully we left a positive and lasting mark on them.

Savoir-faire Linux’s Role in the Program

Savoir-faire Linux is a technology and innovation company. We have been involved in this program as a business as well as technology training partner of ICTC. Furthermore, we recommended a module about sustainability to be added to the curriculum, and ICTC (our client-partner) accepted our proposal. As an Open Source Software advocate and an environmentally committed company, sustainability lies at the heart of our innovation strategy.

On the technology part, we mixed and match some general culture about IT, with hands-on exercises and feedback from our past experience pool. On the business side, we decided to broach a wide range of business processes (like a mini-MBA program), and showed the students how an ERP (in our case, the Odoo solution) was an appropriate technological solution to a functional problem. The two days of sustainability were offered as an opening subject, giving students the opportunity to imagine how the future would constrain us and change our whole way of designing, optimizing, sourcing and more globally consuming. This part was well received and gave more sens to innovation and change topics. We were really happy of how well it was received by the participants.

SBDI Participants in Action

The Future of the SBDI

We are thinking about the future of the Small Business Digitization Initiative (SBDI), as we are gathering feedback from students and employers. As this initiative was never done before, we have many ideas to adapt and improve the program. Our main challenge is to strike a more consistent balance between the theory and practice based on considerations of the received feedback and the stakeholders’ rights as well as their expectations. We have developed some answers and we will realize this goal in the next program.

To conclude, we extend our gratitude to all the team members. In fact, 11 people; namely, Marc, Mickael, Carol, Daniel, Monica, Adriana, Julien, Guillaume, Quentin, Bruno and Pascal have been passionately involved in the curriculum design and preparation as well as teaching the sessions.  They are happy and content about their contribution, experience and more important of all about the invaluable lessons learned from their engagement. Today, we are confident that we can make a significant difference in the Canadian youth’ future career development and therefore look forward to other opportunities to participate in a new project of this kind.

To obtain more information about the program or get involved, please contact our Director of Operations/COO: Mickael Brard through email: mickael.brard@savoirfairelinux.com or telephone: +1 514 276 5468 (#357)

More informations

Press Review Inno #4

Mobility

RxSwift 4.0.0 Final Version Released!

As mentioned in one of our last press reviews, we remain interested in and excited about new developments in the RxSwift project. The core developers pushing RxSwift forward have already released the fourth and most current version of it this past October 17 – i.e. RxSwift 4.0.0. You can find more information on its GitHub page here.

The version is available through various dependency management tools and GitHub. Just remember, the authors of RxSwift have always encouraged us to contribute to the project and, if you wish to do so, please follow these guidelines: About Contributing.

Android Studio v3.0

The new version of Android Studio is now available. Among the new features, we are most excited about: a new suite of tools allowing developers to profile their applications and more easily find performance issues, support for Kotlin, and a wide variety of new tools and assistants to make the use of Oreo APIs easier. 

If you are interested in learning more about the improvements and new features, please visit the
Android Developers Blog.


Netwoks and The Internet

The Internet, or How to Avoid Breaking What Is Working!

I try to avoid making the same old mistakes: i.e. breaking things that are already working or just avoid fighting against the tool itself  by regularly reminding myself of the Essence of the tools I use every day. 

Here are some articles that I find particularly pertinent regarding the “Essence” of the Internet, so that I can better avoid breaking things the next time I am asked to help put an existing Web application “in the cloud”!

Architecture and UI/UX Experiments at the DroidCon NYC 2017

Savoir-faire Linux’s Web & Mobile Development Team was at the DroidCon (@droidconNYC) in New  York on September 25th and 26th. DroidCon NYC is basically one of the biggest events on the planet fully dedicated to Android developers. During this two-day conference, more than 900 participants have been attending nearly 70 sessions on Android and its vibrant ecosystem. In this article, our team gives you an update on the presentations they have attended.


Sessions on Architecture

Model View Intent (MVI), Embracing Reactive UI’s

Our Web & Mobile Team! From the left to the right: Alexandre Lision, Hadrien De Sousa, and Thibault Wittemberg.

MVI is an application design pattern from the Cycle.js javascript library. It is based primarily on the concept of “Intents”, which represent the flow of user actions and the notion of “State”, which represents the immutable state of the application at a time T.

Intent streams are connected to the “State Reducers“. These reducers are simple functions whose purpose is to modify the state of the application step by step. The state is then displayed by the shape view of a “View State” (a pre-formatted state specifically for the view to display it).

This design pattern is therefore very much about functional reactive programming (or asynchronous dataflow programming). This is very close to Redux and highlights the interest of the immutability of the state (the mutability allows the sharing of reference on objects in memory, it is thus source of effects of uncontrolled edges) .

It also makes it possible to address the recurrent problem of managing the life cycle of the Activity / Fragment by introducing a cache of “State” on which the view will connect to each of its instantiations (in the case of a rotation for example) .

Reactive Clean Architecture

In this talk, the idea of “Clean Architecture” is based on a division of the application into 3 layers:

  • Presentation
  • Domain
  • Data

Reactive programming can help us in the communication between these layers that we present below.

Data layer

This layer exposes a “Repository” that provides public access to our data model and manages a “Reactive Store” that maintains the state of the application. Internally, this repository will rely on technical sub-layers such as network access, persistence and access to the file system.

Domain layer

This layer is based on a “Reactive Interactor” whose purpose is to manage user input. This Interactor subscribes to the “Reactive Store” in order to expose (by possibly filtering) the states intended for the upper layers (in particular the Presentation layer).

Presentation layer

This layer manages “ViewEntities” which represent the states of the application pre-formatted for the view. A “View Model” will be responsible for the mapping between the states from the “Reactive Store” (made available by the “Reactive Interactor”) and these “ViewEntities”.

In order to read more on this subject, you can consult the following article: Reactive Clean Architecture with Android Architecture Components

Opening Talk at .droidconNYC 2017

Advanced Networking with RX Java + Retrofit

While there are many useful example on how to use the “Retrofit” library, there is still need to better understand how it plays out in the context of complex cases such as the following:

  • Failure recovery,
  • The management of specific error codes,
  • Progress indicator display.

Here we provide you with some helpful tricks to address each of these cases.

The failure to recovery

  • Using the RxJava retryWhen operator.

Http errors

It may be interesting to apply the “share” operator on the observable Rx managing the requests (this makes it possible not to re-execute the request with each subscription). It is then possible to create as many subscriptions as there are error codes to manage, applying to each of its subscriptions a “filter” operator that will only pass the results with the error code to manage.

Progress indicator

The Rx stream managing the network request may someday set a “progress state” in the form of a “BehaviorSubject”. The Presenter (or ViewModel) can thus subscribe to the Observable resulting from this Subject and give rise to an update of the view.

An extra tip

It might be interesting to use RxLifeCycle combined with the MVP pattern to make it easier to manage rotations.

Kotlin

Full stack Kotlin

Kotlin is a well-known language to replace Java, especially as it proposes a more efficient syntax. Although associated with Android, it is also possible to use it in many other contexts such as: server application, native application, and Web application.

Back-end

Ktor is a library offered by Jetbrains (http://ktor.io). It allows to manage the Http layer and the WebSockets. It is therefore quite possible to develop a Rest API in Kotlin for example. Its operation is simple and passes by the instantiation of an embedded server (Jetty, Netty or Tomcat) then by the definition of routes. It is also quite possible to make him manage the static part of a website. Its main fault lies in its lack of documentation.

The following alternatives exist: Spring Boot / Javalin / Spark / Kara.

Front-end

It is also possible to write the front-end part (HTML and javascript) of a website in Kotlin with the help of the following APIs: kotlin.browser, kotlin.js, kotlinx.html. Please make sure to use the plugin “kotlin2js” instead of the plugin “kotlin”.

Native

Kotlin also allows you to write native code while having access to all the features of Kotlin 1.1.

We will be able, at the price of a compilation by type of platform, to run the same program on Mac OS, Linux, Android arm32/64, iOS and Windows. Of course, this does not concern user interfaces since each system has its particularities. In addition, one shall pay attention to correctly managing the memory in the manner of a C code. Furthermore, it is recommended to use the plugin “konan” instead of the plugin “kotlin”.

Build

Kobalt is a build system inspired by Gradle and Maven. It is written entirely in Kotlin and its compilation files are also valid Kotlin files, so it is possible to benefit from the code auto-completion features offered by IDEs. For more information, you can also access and read the Kobalt’s documentation –Kobalt: A modern, versatile build system.

Data Binding in a Kotlin World

Data binding as proposed by Google goes well with:

  • Dagger
  • RxJava
  • Kotlin
  • Architecture Components
  • Butterknife

It is, however, incompatible with:

  • Anko
  • Litho

It is possible to use an expression language directly in the XML layout (to do conditional processing, mathematical operators, etc.). This practice is not widespread since it breaks the principles of responsibility, namely write business code in the view part.


Sessions on the UI / UX Experience

View Performance Deep Dive

The Facebook teams have been trying to solve potential performance problems in rendering views, especially at the List view (ListViews, RecyclerViews …).

To do this, they made a 3-step comparison, measuring the rendering performance of the views with Google’s “Systrace” tool on a Nexus 5.

Step 1 : RecyclerView with ConstraintLayout

Each cell in the list is based on a layout type: “Constraint Layout“. The cells are relatively simple and contain only a text field, a button and an image. The performance analysis shows that the system omits some frames and therefore does not offer an optimal rendering.

Our feedback on the Constraint Layout in a recyclerView is brief; in fact, the wrap_content is sometimes misinterpreted on the height of ViewHolders which forces to use a fixed height.

Step 2: RecyclerView with Drawable

The idea here is not to build a view tree within a cell, but to draw it as a single Drawable.

The root view of the cell thus exposes its Canvas, on which we will come to draw our components. This technique requires a lot of code re-writing and does not take into account accessibility APIs or Touch events.

The measurement with Systrace shows us an obvious gain in rendering.

Step 3 : Litho

Litho is a library made available by Facebook. It relies on the declarative aspect of graphic components directly in the code, and not in XML layouts. Its primary goal is to reduce the rendering time of the view. For this, it is based on:

  • A finer division of the view tree (redraws only what is displayed),
  • An overall rendering of the view as a Drawable,
  • The rendering calculation in a “background thread”.

It also manages accessibility APIs and of course Touch events. Facebook is currently working on the integration of customs animations.

Facebook clearly shows us its intention to converge the concepts put forward in React.js with programming by Component and the use of Props and State. The internal Litho engine is responsible for mimicking the behavior of a virtual DOM. It is a competing vision of MVVM, MVP or MVI type modeling, where it will tend to use in addition to XML layouts a data binding (standard Binding of Android or RxBinding).

To obtain more information, you can read the Litho’s documentation — Litho: A declarative UI framework for Android.

Doze

Included from Android Marshmallow (API 26), Doze and App Standby are two components of energy saving. Doze is a system mode that restricts access to services, applications that use the CPU and the network extensively.

Since Android Oreo (API 26), these restrictions are even more severe and disable even implicit broadcasts (see, e.g. Implicit Broadcast Exceptions) and it is no longer possible to start a service in an application in the background.

To make it easier to migrate applications to include these new restrictions, Evernote has implemented the android-job library for creating deferred and background jobs.

The Resurgence of SQL

After a transition from mode and while many libraries of ORM can be abstracted, the SQL returns today with SQLDelight and Room.

Properly used, SQL allows you to execute the business directly in the database rather than in the code in order to gain performance.

SQLDelight

This library developed by Square generates Java models from SQL that allow to read and write in the database. SQL tables and declarations are written directly into .sq files interpreted by the library.

SQLDelight supports AutoValue but does not support Kotlin data class in its current version

Room

Room is a SQLite abstraction layer developed by Google for Android and is part of the Architecture Components such as LiveData and ViewModel.

This library generates SQL from Java using pre-processor annotation.

There are many examples of implementation of this library including Kotlin and there is more complete documentation for SQLDelight.

To obtain more information, you can consult the Documentation of Room here: Room Persistence Library

GraphQL on Android is here!

GraphQL

GraphQL is a query language for API development that aims to provide a complete description of the data that allows clients to query only what they need. GraphQL is developed by Facebook and is an answer to the problems encountered during the development of API Rest.

Apollo

Apollo-Android is a GraphQL client that generates Java templates from GraphQL queries written in a .graphql file. Generated classes are used to create network queries to the GraphQL API.

Apollo was written for the purpose of being fully compatible with the RxJava2 responsive programming library.

  • Apollo-Android is available on GitHub.

Upgrading to Moshi

Moshi is a parsing library of JSON to Java developed by Square who wants to be the successor of Gson considered inactive and heavy (1345 methods for Gson against 759 for Moshi).

The implementation of Moshi is relatively similar to that of Gson to facilitate the migration from one to the other. Some differences however:

  • Moshi has less default adapter for Java and Android platform types, forcing developers to write their own adapters,
  • For the sake of simplification, Moshi is less configurable (no naming strategy, versioning, etc.)
  • No JsonElement
  • Moshi uses the Okio bookseller for I/O and integrates perfectly with OKHttp

Moshi also supports Kotlin (moshi-kotlin) but is dependent in his current version of kotlin-reflect so size is very important for Android standards (11,500 methods).

  • Moshi is available on GitHub

Three Chief Pillars of Our Success in Liferay: Experience, Expertise, and Community Embedment

            

Since 2010, we have been training, coaching and accompanying a range of enterprises and organizations in their digital transformation based on Liferay Portal solutions. Having received a number of awards and observed the rising success of our clients, today, we have unreserved confidence in what we can offer and how we can actually transform an organization through Liferay technology. In retrospect, we believe our successful performance rests upon three chief pillars (Figure 1):

  1. Our longtime experience accumulated through working on different projects,
  2. Our expertise rooted in our engineers’ know-how of Liferay, in particular, and open source technologies in general, and
  3. Our engineer-to-engineer relationship building capability which has placed us firmly embedded in Liferay expert community.
Figure 1. Successful Liferay Implementation

Experience and Expertise: Managing the Paradox of Catch-22 Situation

When it comes to deploying Liferay Portal in an organization’s hybrid information system, two main factors: experience and expertise, play a significant role. Experience is mainly built through having years of hands-on approach to deploying Liferay on different IS platforms in a myriad of service and manufacturing industries. Expertise, on the other hand, is a matter of accessing, creating, and accumulating abstract knowledge and know-how on the related technology fields. The paradox – the catch-22 situation – therefore is, the two feed on one another. Without expertise, a team cannot deliver on project promises and obtain an enriching experience, and without actually engaging in high impact projects one cannot gain solid expertise. Learning from mistakes, learning to tackle new problems, learning to understand new business models and forecasting needs, all translate into the indispensable interdependence between experience and expertise.

At Savoir-faire Linux, the team of enterprise solutions, which is responsible for Liferay-based projects, comprises 20 highly experienced open source software consultants half of them are Liferay certified. This means that they have successfully completed Liferay training programs and passed the certifying exams. Although Liferay expertise/experience is a necessary condition to successfully complete a Liferay project, it is not sufficient. Java experience/expertise is the complementary piece. For this critical reason, we have hired, trained, nurtured, and empowered a number of experienced Java developers who know about ‘ins and outs’ of Java; namely, technical specifications, philosophy, and ecosystem.

Liferay Community: A Place for Sharing Knowledge and Experience

Liferay community comprises the following: Liferay Projects, Community Projects, Community Feature Ideas, Releases, Forums, Blogs, Wiki, User Groups, Special Activities, Upcoming Events. Each of these elements is a window to countless opportunities for developers, users, researchers and enthusiasts to engage in a meaningful conversation leading to a helpful take-away such as experience, learning, know-how, or even social capital (See Picture 1). Wining five Community Excellence Awards has been a source of pride and gratitude for us since this is a testimony to our community embedment and collaborative software R&D.

Picture 1. An Illustration of Liferay Community Knowledge and Experience Exchanges

At Savoir-faire Linux, we make sure our Liferay experts (Click here to read an example) stay connected, deeply engaged, and collaborate on online open source platforms. In fact, it is one of our core beliefs that optimal software development process depends on open scientific knowledge sharing practices, as embodied in Open Source Initiative’s definition of OS and Debian Social Contract. We also believe, we have the moral obligation to hold ourselves accountable and give back to OS communities, the same way we receive from them. Another example would be the Liferay Montreal User Group which has been a successful initiative to bring developers, clients, and users together to exchange ideas and discuss future road maps.

Picture 2. Map and Logo of the Liferay Montreal User Group Source: https://web.liferay.com/community/user-groups/montreal/welcome


Experience, Expertise, and Community Embedment… So What?

Synergy or exponential knowledge growth is an invaluable gain in open source ecosystem. The real magic happens when you have a team of engineers who know what to do, who have done it a couple of times, and when faced with the unknown, they know how to figure it out and find the missing pieces and/or co-create them in collaboration with other gurus. In business world and organizational context, the synergy of the three pillars within open source software ecosystem leads to several benefits:

  1. business need is met through digital transformation,
  2. End users are satisfied because there is a value-added innovative service to enjoy,
  3. Development costs reduce while margins increase.

Not long ago, we have completed an award winning project called HuGo for Humania Assurance. HuGo Platform has won two prestigious national and provincial recognition: Digital Transformation Award, and SME Grand Prize OCTAS 2017 Lauréat (Picture 3).

Picture 3. Awards Won by HuGo Platform Using Liferay Portal Technology

These awards are tangible artifacts that showcase abstract elements underpinning a successful case of digital transformation. The dedication of top management of Humania Assurance, the expertise, experience and community efforts of Savoir-faire Linux, as well as the accumulated know-how on open source technologies over the past decades collectively create a synergistic and pronounced result. Bottom line is easy to read. The client’s brand name strengthens as an innovative SME in insurance industry. Their end users – the source of revenue generation – enjoy seamlessly a creative service/product which facilitates their insurance policy applications painstakingly, rapidly, and easily. Savoir-faire Linux gains yet another piece of experience, circulates the expertise in-house, and solidify its commitment to progressing Liferay community platform. (read the Case Study)

Shaping the Future Ensemble

We foresee three ways to better shape the future of Liferay based digital transformation. First, we invite enthusiasts to join our Liferay Montreal User Group and participate in the events. We want you to be heard, and to this end, we organize events and invite speakers like Raymond Augé, Senior Software Architect at Liferay (@rotty3000) to make sure you receive quality responses to your queries. Second, contact us and let us know about your specific expertise and experiences. We would love to have you on our team. Third, we are currently inviting new ideas to realize in collaboration with Liferay community, you may want to consider helping us push Liferay technological boundaries forward.

Savoir-faire Linux Announces Gold Sponsorship at Liferay Symposium North America 2017

Montreal, QC – (October 11, 2017) – Savoir-faire Linux – a Canadian leader in providing expertise on a range of open source technologies to enable digital transformation strategies – announces today its participation as a Gold Sponsor at this year’s Liferay Symposium North America, hosted by Liferay.  Liferay makes software that helps companies create digital experiences on web, mobile and connected devices.Liferay Symposium North America will take place from October 16 to 17 in Austin.

This premier event for digital business and technology leaders will include two days of customer case studies, expert sessions, hands-on workshops, networking opportunities, access to Liferay’s top executives and architects, as well as the keynotes from digital experience thought leaders.

Savoir-faire Linux is proud to be a Gold Sponsor at the Liferay Symposium North America”, said Christophe Villemer (Executive VP). “We look forward to meeting other Liferay enthusiasts and offering our expert knowledge and experience in insurance, and banking as well as other sectors such as public services, education, health, mechanical and industrial to the attendees.”

This digital business technology event will showcase the company’s experience, expertise and excellence in Liferay technology field and it is poised to unveil their expertise in other domains of open source software as well.

To obtain more information on our Liferay services, please directly contact Marat Gubaidullin (VP Integration Platforms & Artificial Intelligence) through email (marat.gubaidullin@savoirfairelinux.com) or by phone (+1 514 276 5468   ext. 162).

What Could We Expect from Upcoming LDAPCon 2017?

The LDAPCon is an international conference on LDAP technology and the issues such as identity management, authentication and empowerment.

LDAPCon is a biennial event and this year it will take place from 19 to 20 October in iconic city of Brussels, the capital of Belgium, where the business of the European Union and NATO is run. In the past, LDAPCon has been held in other interesting places such as the following:

At Savoir-faire Linux, we have a team of motivated developers who are committed to LDAP community. We have sponsored this conference once in 2015 (please read the news here), and have already renewed our commitment by being their Silver Sponsor for this year as well.

Maybe Small, but a Mighty Gathering

2017 LDAPConf brings together 19 presentations and workshops within its 2-day program. Our engineer, Clément OUDOT is among the steering committee. This year’s program will showcase some interesting talks such as:

  • ReOpenLDAP: Modification of OpenLDAP for intensive use by a telecommunications operator
  • OpenLDAP – a new LDAP server for Samba4: An update on the integration of OpenLDAP in Samba 4 in place of the native directory coded by the Samba team
  • PHP-LDAP: News of the evolution of the LDAP API in PHP, abandoned for several years but now the developments are resumed
  • What’s New In OpenLDAP: News from the OpenLDAP project by Howard Chu, the main developer

Other exciting LDAP topics such as Cloud Identity Management, Authorizations / Authentication, Single Sign-On or Supervision will be addressed in the various other presentations.

Savoir-faire Linux’s representative will update various SSO protocols (CAS, SAML and OpenID Connect) in a given intervention on Friday afternoon, just before the presentation of the FusionDirectory software. The data management software of an LDAP directory , used in our internal infrastructure and for some of our customers will be discussed in his presentation.

If you are interested in this conference, you can book your tickets online on the conference website.

DebConf17: a Successful Event, a Cherished Memory, and a Promising Future

                               

During August 5-12, we actively participated in DebConf17, in several professional capacities: platinum sponsor, presenter, workshop and career fair participant, as well as social event host.

Debconf17 is the annual Debian Developers and Contributors Conference, with over 405 people attending from all over the world, 169 events including 89 talks, 61 discussion sessions or BoFs, 6 workshops and 13 other activities, DebConf17 has been hailed as a success. Indeed, we are grateful that we could be part of this fantastic, free software community-based and scientific event and play our part in its development. In what follows we provide a snapshot of our engagement activities.


The Honor of Being Part of Sponsorship Team of DebConf17

At Savoir-faire Linux, we are committed to building a sustainable economy based on cooperation, collaboration and knowledge sharing strategy.  We strongly believe, our strength depends on the quality of our partnership with, and support of, the community projects and the actors of the free software world. In order to fulfill our commitment, we have forged strong partnerships with and supported Free Software Foundation, Linux Foundation, Debian, Python, FFmpeg, and other open and free software projects. Naturally, when we heard that annual conference of Debian was going to be held in Montreal, we were thrilled and excited to be part of this great movement. In short, we think, one cannot build a freer world without supporting free software movement. And, Debian, is one of the gems of free software world.

Our Employees Already Falling Head over Hills in Love with DebConf17

Lucas Bajolet presenting his topic Unicode: a quick overview
Lucas Bajolet presenting his topic Unicode: a quick overview

The soonest our employees learned that DebConf17 was going to be in town, they started submitting their talks, presentations and workshops. We are yet to experience such a self-motivated dynamic and joyful wave of attention towards an event like this! After submissions, we had the following list of finalists announced on the official page of DebConf17’s schedule page.

Alexandre Viau (on the left) & Andreas Traczyk (on the right)
Alexandre Viau (on the left) & Andreas Traczyk (on the right)
Amir Taherizadeh
Amir Taherizadeh

A Hot & Fun Career Fair!

Cyrille Béraud (President) engaging with free software developers at DebConf17
Cyrille Béraud (President) engaging with free software developers at DebConf17

On Saturday, Aug 5, we launched the official career connect activity. Our president, Cyrille Béraud also made himself available to personally answer questions and meet with the pool of talent. It was a very successful networking event which lasted throughout the conference. We met with amazing, highly skilled free software hackers and had wonderful technical and social discussions with them. We received many CVs and some of them are now in the pipeline to be evaluated internally.

 

The Social Event: Ring on! Mix & Mingle with Ring Team

Ring is a free and universal communication platform that preserves the users’ privacy and freedoms. It is a GNU package. It runs on multiple platforms; and, it can be used for texting, calls, and video chats more privately, more securely, and more reliably.

The Social Event: Ring on! Mix & Mingle with Ring Team
The Social Event: Ring on! Mix & Mingle with Ring Team

On July 21, we released the stable version of Ring:  Ring 1.0 – Liberté, Égalité, Fraternité. However, since DebConf17 was around the corner, we postponed the celebration to share the merry moment with the DebConf free software developers. Our plan worked well!

Ring 1.0

With the help of DebConf organizers we spread the news and in the evening of August 8 we received our guests. What a magnificent crowd!  Among our guests were Daniel Pocock (Debian), John Sullivan (Free Software Foundation), Michael Meskes (Credativ), and many other wonderful ladies and gentlemen. Cyrille Béraud made a very brief speech to thank all fre#e software developers contributing to Ring Project, and showed his special gratitude to the core development team for their countless hours put in to realize this milestone.

Stefano Zacchiroli: Debian Project Leader (on the left), Daniel Pocock from Debian (in the middle), John Sullivan from Free Software Foundation (on the right)
Stefano Zacchiroli: Debian Project Leader (on the left), Daniel Pocock from Debian (in the middle), John Sullivan from Free Software Foundation (on the right)
Amandine Gravier: Communications Manager (in the middle), Dorina Mosku: Ring Project Coordinator (on the right), Chloé Nignol from DeGama (on the left)
Amandine Gravier: Communications Manager (in the middle), Dorina Mosku: Ring Project Coordinator (on the right), Chloé Nignol from DeGama (on the left)


DebConf17 Coming to an End, but the Free Software Mission Continues!

The sad truth is that once again we had to say goodbye to another DebConf! But the word on the street is: DebConf18 is going to be even greater! No matter if one DebConf ends, because Debian Community is so great to make another great one the following year!

DebConf 2017
DebConf 2017

The Future of Open Source Software in Broadcasting Industry: SMPTE BootCamp 2017

                           

Savoir-faire Linux participated at the Society of Motion Picture and Television Engineers (SMPTE)’s BootCamp 2017 having the overarching topic of Media in the IP Era. This bootcamp was organized by the Montreal SMPTE Committee including the main actor, CBC (Radio-Canada), and was held at LÉcole de technologie supérieure (ÉTS), June 12-13, 2017.

Michel Proulx addressing the audience at SMPTE BootCamp 2017 in Montreal


The Event’s Focus and Our Role

The SMPTE, including the Montreal/Quebec chapter, has three key goals: educating players in the media and broadcasting industry, communicating the latest technological developments, as well as encouraging networking and interaction among industry stakeholders. This year, the SMPTE’s BootCamp 2017 rallied participants around the following topics:

a) IP transport and the SMPTE 2110 Standards,
b) Virtualization and software.

On this occasion, our open source software (OSS) consultants: Éloi Bail and Amir Taherizadeh, jointly delivered a talk entitled Open Source Software: A Tool for Digital Transformation in the Broadcasting Industry. The first part revealed the empirical results of our joint R&D project with Radio-Canada on “how to handle IP contents in the cloud”. This includes deploying FFmpeg OSS technology on a general purpose server in order to transmit raw data at speed of 3.5 Gbps without relying on specialized hardware broadcasting equipment. In addition, Éloi demonstrated to the audience the actual data transmission, and performance on the stage in real time with the help of two generic servers and a switch. This showcases for the participants the technical implications and potential of FFmpeg in broadcasting industry for the years to come.

Amir Taherizadeh and Éloi Bail while presenting on the stage.

The second part explored the nature, inherent attributes, myths, advantages, challenges, and licensing opportunities associated with OSS. It explains OSS as a relevant, significant, and ubiquitous tool in a variety of industries including, but not limited to, aerospace as well as media, entertainment and broadcasting industries. The aerospace industry presents an interesting case as it is somewhat comparable to broadcasting industry on three dimensions. It is a rather closed and highly standard-governed industry. It is capital intensive and advances rapidly. There is also a complex and symbiotic interrelationship between hardware and software components. Amir presented an example where the networking stack of the Linux kernel drives the multi-media equipment of an aircraft. This case demonstrates how value-added solutions can be created having adopted an open and collaborative value creation process. Indeed, OSS projects like the Linux kernel and FFmpeg are testimonies to collaborative software development where private companies and communities work together towards a common objective.

From left to right: Éloi Bail, Daniel Guevin (Radio-Canada), David Beaulieu (Radio-Canada), Amir Taherizadeh, Ash Charles, and Francois Legrand (Radio-Canada)

Overall, we really enjoyed being part of this event as it highlighted the opportunity for software transformation – including using open source software such as FFMpeg, GStreamer – in the broadcasting industry.