€ 20000 0.00
Please donate what you can to help make the Randa Meetings 2017 possible. Read more.

September 24, 2017

Over the last weeks I concentrated my work on KWin on what I call the XFree KWin project. The idea is to be able to start KWin/Wayland without XWayland support. While most of the changes required for it are already in Plasma 5.11, not everything got ready in time, but now everything is under review on phabricator, so it’s a good point in time to talk about this project.

Why an XFree KWin?

You might wonder why we spend time on getting KWin to run without X11 support. After all we need to provide support for XWayland anyway to be able to support legacy applications which are not yet on Wayland. So what’s the advantage if in a normal session one needs XWayland anyway?

One aspect is that it shows that our porting efforts to Wayland are finished. Over the last years I tried to start KWin without XWayland support for a few times just to find areas which are not yet ported. By being able to run KWin without X11 support we know that everything is ported or at least does not hard depend on X11 any more.

Another aspect is obviously Plasma Mobile which does not really require XWayland and also XWayland not making much sense on e.g. the libhybris enabled systems as Xwayland doesn’t have OpenGL there. By not requiring XWayland we can reduce our runtime and memory costs.

Speaking of runtime costs: not requiring X11 means that we don’t have to wait for XWayland during KWin startup. Instead XWayland can be started in parallel. This means KWin and the complete Plasma session starts a little bit faster.

And most important this is an important prerequisite to be able to handle a crashing XWayland. So far when XWayland crashed KWin terminated gracefully as KWin depends on X11. The hope is that when XWayland crashes we can just restart it and keep the session running.

How it was done

The general idea behind getting KWin X11 free is “code that isn’t loaded, cannot interfere”. KWin uses platform plugins (not Qt QPA plugins) for the various platforms KWin can run on. There is also a platform plugin for KWin/X11, so code which is only required in the KWin/X11 case can be moved into the platform plugin. As KWin/Wayland does not load this plugin we are certain that the code will not be loaded and thus cannot interfere.

But how to find code which is only required on KWin/X11? After all KWin’s code base is about 150 kSloc (according to cloc) and that makes it rather difficult. A good help here was our CI system which performs code coverage. KWin’s tests mostly are mostly based on KWin/Wayland so an area which does not have any test coverage is a good candidate for being X11 specific. By looking at these areas it was possible to find patterns which also helped to find more usages. A good help is KWin’s internal X11 API such as displayWidth, displayHeight, rootWindow and connection. The usage of these functions is partially so few that one could just evaluate each usage. As a result of this work the functions displayWidth and displayHeight are not used at all any more.

Plugin based compositors

Another idea was to get our compositors into plugins. Especially the XRender based compositor is not of much use in a Wayland world and thus should not be loaded into the binary. Unfortunately various parts of KWin called directly into the concrete compositor implementations, so to solve this we had to extend the internal API. In Plasma 5.11 the XRender and QPainter compositor are now loaded as plugins, so on Wayland the not-compatible XRender compositor is no longer loaded into memory and on X11 the not-compatible QPainter compositor is no longer loaded into memory. But also on Wayland the QPainter compositor is only loaded into memory if it is going to be used.

The OpenGL compositor is still always loaded in Plasma 5.11, but the change to have it as a plugin is already prepared and will be merged into master soonish. This will bring great advantages to the stability of the system: currently we are not able to define which platform supports which compositor as the initialization code just didn’t support being more flexible. But now with the plugin based approach I’m very confident that we can make this work in a better way.

Outlook

Being able to start and run KWin/Wayland without X11 support is of course only the start. More changes will be required. For example to delay loading XWayland until an application tries to connect to it (c.f. Weston). This would not make much sense in the start of Plasma yet as we still have applications in our startup which require X11 (e.g. ksmserver).

Another area is to try to get KWin compile without X11 support and to move everything required for Xwayland into a plugin. This will be a larger project as it will require to move much code around and to add further abstractions in some areas of KWin. Hint: this could be a nice Google Summer of Code project. As a fast step for especially Plasma Mobile and the Purism Librem phone an ifdef around every X11 code area could be a solution.

But my personal main goal is to be able to handle a crashing XWayland. This will also be an interesting task as the X11 code in KWin also depends on other libraries (e.g. KWindowSystem) which do not expect to outlive the X server. So that will be a challenging task to find all areas where KWin holds X11 data structures and to clean them up properly without crashing due to some cleanup code calling into xcb.

En realidad la campaña “Dinero público, código público” (aka Public Money, Public Code) es algo sencillo de entender ya que no es más que la aplicación de la lógica al uso del dinero de todos. Si todos pagamos por un código, ¿no es lógico que todos podamos acceder a él? Únete a la campaña de la Free Software Foundation.

Dinero público, código público

Dinero público, código públicoHace poco se ha iniciado una campaña promovida por la Free Software Foundation Europe (FSFE)  llamada Public Money, Public Code en la que se intenta concienciar a las administraciones públicas de la importancia de la ética en la gestión de los caudales públicos y la generación de código.

Dicha campaña tiene el siguiente argumentario y el consecuente vídeo explicativo:

¿Porqué el software creado con el dinero de los contribuyentes no se librera como Software Libre?

Queremos una legislación que regule que el software financiado públicamente por el sector público se haga público como Software Libre o de Código abierto. Si es dinero público, el código debe ser público.

¡El código pagado por la gente debe estar disponible para otras personas!

 

Los beneficios de esta propuesta son muchos. Por poner solo cuatro diremos que:
  • Ahorra dinero invertido en impuestos ya que la solución/aplicación/programa de una administración pública es muy probable que le sirva a otra.
  • Fomenta el trabajo colaborativo, el cual está demostrado que optimiza tiempo y recursos.
  • Es un servicio publico y que, por tanto, debe estar a disposición de todos.
  • Fomenta la innovación ya que no se debe pensar una y otra vez para reinventar algo que ya está hecho.
Evidentemente, KDE Blog se une a la campaña y realiza su obligada promoción, e invita a todo a dos cosas: divulgar en sus redes sociales esta iniciativa y a firmar la carta abierta que seré enviada a nuestros representantes políticos.
Como no podía ser de otra forma, yo ya he firmado y KDE España se ha añadido como firmante institucional. Y tú ¿a qué esperas?
Por cierto, la web no está traducida al español, vasco o gallego ¿alguien se anima?

September 23, 2017

Less than two weeks after the release of KStars 2.8.3 comes another minor bugfix release. Download KStars 2.8.4 for Windows, MacOS, and Linux.

Major highlights:

  • Robert Barlow submitted a patch to add elevation information for all cities. The information was built from Google data. It closes Bug #382462. The elevation data is also now sent to the INDI drivers.
  • Stars and Deep Sky Objects labels are now zoom-dependent so they appear larger when zoomed in which improves usability.
  • Rotators are now fully tested and supported with Ekos capture and align module. In Ekos align module, use Load & Slew to go to any arbitrary target, and then have your rotator exactly match the orientation of the target in the image!
  • Fixed several issues with internationalization of some strings discovered by Khalid AlAjaji. Khalid also submitted significant translations for KStars in Arabic!
  • Jérôme Sonrier submitted a fresh new updated Daylight Saving rules. He is also working on getting rid of the static TZ rules in KStars and using the ones provided by the system.
  • Added PSF (Point Spread Function) convoluted star detection algorithm adapted from PHD2 to improve auto-selection of stars during guide module calibration phase.
  • Fixed bug in processing Load&Slew data when some keywords are missing.
  • Fix layout issues for RTL languages.

This release is dedicated to Juli, my lovely German Shepard companion for the last 7 years. She is accompanied here by Tommy when he was just a small puppy back then. Long live and prosper my good girl!


Cuando te encuentras en una persona que solo conoces de forma virtual físicamente en un evento es una de las mejores cosas que te puede pasar. Es el momento donde se terminan de enlazar las relaciones y a partir de ese momento cuando se chatea con ella no se hace de la misma forma. Es por ello que pedí a un habitual del grupo de Telegram de KDE – Cañas y Bravas que asistió por primera vez a un evento KDE me concediera una minutos de su vda. Bienvenidos pues a la Entrevista a Jairo LeBentz que realizó a partir de conocernos (a él y a su encantadora esposa) en Akademy 2017 de Almería.

Entrevista a Jairo LeBentz #akademy2017 de Almería

Entrevista a Jairo LeBentzEn primer lugar, gracias por querer contestar estas preguntas. Para empezar me gustaría que te presentaras a tí mismo.
Primero agradecerte esta oportunidad para compartir mis experiencias e impresiones del pasado Akademy en Almería.
Mi nombre es Jairo, Jair LeBentz en la Internet, soy colombiano, nacido en la ciudad de Cartagena de Indias y los últimos 9 años de mi vida los he vivido en Alemania.
Soy arquitecto urbanista y trabajo actualmente en una oficina de arquitectura en la ciudad de Karlsruhe.
Me gusta el diseño asistido por computador, procesamiento de imágenes y creación en 3D, la fotografía urbana y de paisajes, el rock de los 80s y 90s y el cine épico.
¿Cuál es tu nivel de conocimientos en Informática?
                                   
Bueno, no soy un profesional en el área de la informática, me considero solo un usuario con un nivel un poco más alto que la media pero muy curioso en estos temas.
 ¿Cómo conociste el Software Libre?¿Y KDE?
                                   
Cuando vivía en Colombia era usuario de windows con todos mis programas versión Jack Sparrow. El amigo que me conseguía el software pirata estaba iniciando su camino en el software libre y yo de vez en cuando le preguntaba por ello por simple curiosidad y cuando viajé a Alemania por motivos de estudio él tuvo la iniciativa de regalarme un CD de Ubuntu.
Este CD estuvo bastante tiempo reposando en una caja hasta que un daño en mi computador me incentivo a instalar ese Ubuntu por primera vez pues el técnico que recuperó mis datos solo pudo hacerlo a través de un software que corría en Linux, lo cual fue para mi como una señal de que tal vez Linux podría ser una alternativa real y mejor a windows.
   
Hablamos del año 2008 y aquí me disculparan los usuarios de Gnome 2 pero ese escritorio me parecía extremadamente feo. Si, ya tenia un dual boot, mi primera distribución GNU/Linux instalada junto a Windows pero escasamente entraba a Ubuntu.
Fue cuando salio Unity y luego conocí Kubuntu que me comencé a interesar realmente y a conocer más del mundo GNU/Linux y de las herramientas del software libre.
Desde entonces probé otras distros, varios escritorios pero solamente con KDE me siento realmente cómodo.
Mi primer contacto real con KDE fue con Debian 7 pero fue una experiencia bastante desilusionante, Debian fallaba por todas partes y a veces no podía instalar programas que quería porque las dependencias eran muy viejas.  
Luego de ello instalé Chakra y la experiencia fue muchísimo mejor y desde entonces enamorado de KDE  
¿Qué distro usas?¿Y por qué?
                                   
En este momento tengo dos equipos, un portátil y una torre de escritorio y por lo general siempre suelo tener dos distros instaladas en cada equipo. Windows hace mucho tiempo que voló de mis equipos aunque mantengo una maquina virtual con dicho OS en la torre de escritorio por si acaso, pero sinceramente no recuerdo cuando fue la última vez que la utilicé
En el portátil que ya lleva unos años conmigo tengo Chakra como distro inamovible y alguna otra distro, entre las que han ido y venido puedo mencionar Ubuntu, Netrunner, KDE Neon, Maui Linux y un par de intentos con OpenSuse.
Chakra es especial por ser la primera distribución enfocada solamente en KDE y QT que existió y aunque hoy día ha perdido relevancia y su lugar ha sido tomado por otras distribuciones, sigue siendo la distro que mejor se comporta en este equipo. Además la relación con los desarrolladores es muy cercana, son gente muy amable al igual que la pequeña comunidad en español, hay veces que me siento como en familia con ellos.

Equipo Chakra en Akademy 2017

En el computador de escritorio tengo instalada Maui Linux y es por una casualidad.
Cuando compré el equipo tenia claro que iba a instalar una distribución point release, basada en Ubuntu y de gran estabilidad ya que el equipo lo iba a destinar específicamente a trabajar con programas de arquitectura, Blender y fotografía y no me puedo permitir fallos en el sistema operativo.
Me había decidido a instalar Netrunner pero en ese preciso momento hubo una reestructuración completa en la oferta de Blue systems y la versión de Netrunner basada en Kubuntu fue eliminada y en su lugar pusieron a Maui Linux.  
Sin saber realmente que esperar pues en ese momento nadie había oído hablar de dicha distribución la instalé para probar y fue una gran sorpresa, puedo decir que es a día de hoy la mejor distribución que he utilizado, es fácil de instalar y mantener y ademas de ello estable como ninguna otra que antes hubiera usado. Llevo mas de un año sin un solo problema, sin un solo sobresalto y sin pedir ayuda en un foro porque algo no funciona.
Creo ser el primero que mencionó Maui Linux en los diferentes grupos de Telegram y me alegra ver que ya es más conocida y siempre es mencionada con comentarios muy positivos.
Sé que viajaste de Alemania a Almería para venir a Akademy.  ¿Cómo conociste la existencia del evento?¿Qué te motivó?
                                   
Sobre Akademy había si oído anteriormente pero siempre como algo lejano, algo que no tenía nada que ver conmigo como usuario y que era solo para gente que trabajaba directamente en el desarrollo de KDE y Plasma, incluso la versión anterior de Akademy fue en Berlin y no tuve curiosidad de asistir.

Asistentes del evento disfrutando la noche almeriense

Para esta Akademy 2017 había algo diferente, creo que el equipo de KDE España ha hecho un trabajo excelente de difusión en las redes sociales, en Telegram y a través de los Podcast.
Esto ha acercado a los usuarios como yo mucho más al proyecto KDE y de cierta forma para esta Akademy sentí curiosidad por conocer el proyecto y la comunidad KDE.
Así que hice coincidir mis vacaciones para asistir unos días a Akademy y también conocer la región del sur de España que hasta el momento no conocía.
 ¿Qué es lo que más te ha gustado del evento?
                                   
Muchas cosas me han gustado, por ejemplo conocer la comunidad responsable de KDE desde adentro, conocer gente que está detrás de tantos proyectos que todos usamos, personas que siempre olvidamos y que están ahí dedicando su esfuerzo para hacer que todo funcione lo mejor posible.
Me ha gustado ver de cerca a representantes de KDE Neon, de Opensuse, de Netrunner, de Kubuntu, de Chakra mi distro favorita y tal vez olvido alguna otra distribución que estuvieron presentes.  
También haber conocido gente iconica dentro de nuestro mundo como Jonathan Riddell, Albert Vaca por mencionar solo algunos entre tantos que estuvieron presentes.
Me ha gustado ver en primicia lo que algunos proyectos como Kdenlive están preparando para sus próximos lanzamientos, ver a Mycroft en acción, la presentación en sociedad de Babe una nueva propuesta de reproductor musical para plasma.
Una persona que me agradó mucho conocer fue a Dmitri Popov, pues la fotografía es uno de mis hobies y he seguido el trabajo de Dmitri como difusor del uso de software libre en el mundo de la fotografía, he adquirido su libro Linux_Photography  y es un referente para mí en el área.
Hablando de las ponencias, una que me gustó mucho fue la realizada por Paul Brown, pues tocó un tema que como usuario me atiende directamente. Los problemas que existen en la comunicación de los proyectos de la organización KDE hacia usuarios y/o gente que no tiene conocimientos de informática ni de GNU/Linux.  
Si realmente se desea llevar el software libre y sus bondades a más usuarios, es importante comunicar de la forma adecuada y no solo en un idioma técnico que solo los involucrados en el desarrollo pueden entender.  
También tuve la oportunidad de ver, tocar y probar la oferta de Slimbook, si antes tenía deseos de comprar uno, ahora he quedado convencido.
Algo que no debo olvidar mencionar fue conocer a los miembros de KDE España, todos excelentes personas así como todas aquellas personas que colaboraron con la realización del evento. Me he llevado la mejor impresión del valor humano que está detrás del movimiento del software libre en España.
¿Qué es lo que menos?
                                   
Lo que menos me ha gustado fue no haber disfrutado al 100% todo el evento pues tuve que atender otros asuntos familiares y me he perdido ponencias que hubiese querido ver.
Pero es una lección aprendida, Akademy es un evento para disfrutar de principio a fin y para próximas versiones pienso dedicarle todo el tiempo e interactuar mucho más con los desarrolladores y demás personalidades que están presentes en el evento.
¿Qué mejorarías de Akademy?
                                   
Hubo un poco de problemas antes de la inauguración del evento, el proceso de inscripción estuvo detenido por algunos detalles de logística y pienso que es algo a tener en cuenta para futuras Akademys.  
Sin embargo este no es para mi el tema “a mejorar” creo que es más importante la asistencia de más personas de otros continentes para ser un evento realmente mundial.
Para abordar mi punto voy a mencionar una entrevista que escuche en el podcast de Paco Estrada “compilando podcast”, en ella Paco conversaba precisamente con Paul Brown y tocaron el tema de la poca participación de personas de otros continentes, mencionaron que en cierta forma Akademy pareciera ser un evento europeo por la cantidad de asistentes de este continente y les gustaría ver más participantes de África o Asia.
Yo añadiría a esto más participación de Latinoamérica porque es de donde vengo y sé del grandioso trabajo que han hecho personas de esta parte del mundo en todos los niveles; programando, comunicando y sobre todo diseñando.
Cuan maravilloso sería para el proyecto tener reunidos a un Fabian Alexis, un David Linares o un Jorge D’Angelo de Jomada, y lo que este evento significaría para ellos.
Me sorprendió realmente cuando pregunté a alguien del KDE VSD su opinión sobre Antü, Lux o Noc, y no tenía idea que existieran, cuando para muchos de nosotros en nuestra comunidad hispanohablante estos son los mejores temas KDE después de Breeze.
Pondría por ejemplo a Camilo Higuita quien vino a presentar su proyecto Babe.
Tal vez la única persona de Latinoamérica, su proyecto fue muy bien recibido, hubo interés y recibió un gran impulso de parte de la gente de KDE.
¿Qué te llevas de la Akademy?¿Repetirías?
                                   
Akademy fue en general una agradable experiencia, convivir junto a amantes del software libre, compartir la alegría siempre presente en todo momento, desde la mañana hasta la noche es algo que me he disfrutado mucho.
Me llevo también el haber conocido a la gente de KDE España y otros linuxeros que no pertenecen a la organización pero que son igualmente excelentes personas.
Me llevo también mi primera camiseta  de KDE ��  
Claro que repetiré. Voy a asistir a la próxima Akademy en Viena, va a estar más cerca de mi y sé que la voy a disfrutar aun más.  
Gracias por tu tiempo, espero que esta entrevista anime a otros usuarios a asistir a eventos como Akademy o Akademy-es.

September 22, 2017

Plasma MobilePlasma Mobile

Back around 2006, when the Plasma project was started by Aaron Seigo and a group of brave hackers (among which, yours truly) we wanted to create a user interface that is future-proof. We didn’t want to create something that would only run on desktop devices (or laptops), but a code-base that grows with us into whatever the future would bring. Mobile devices were already getting more powerful, but would usually run entirely different software than desktop devices. We wondered why. The Linux kernel served as a wonderful example. Linux runs on a wide range of devices, from super computers to embedded systems, you would set it up for the target system and it would run largely without code changes. Linux architecture is in fact convergent. Could we do something similar at the user interface level?

Plasma Netbook

In 2007, Asus introduced the Eee PC, a small, inexpensive laptop. Netbooks proved to be all the rage at that point, so around 2009, we created Plasma Netbook, proving for the first time that we could actually serve different device user interfaces from the same code-base. There was a decent amount of code-sharing, but Plasma Netbook also helped us identifying areas in which we wanted to do better.

Plasma Mobile (I)

Come 2010, we got our hands on an N900 by Nokia, running Maemo, a mobile version of Linux. Within a week, during a sprint, we worked on a proof-of-concept mobile interface of Plasma:

Well, Nokia-as-we-knew-it is dead now, and Plasma never materialized on Nokia devices.

Plasma Active

Plasma Active was built as a successor to the early prototypes, and our first attempt at creating something for end-users. Conceived in 2011, the idea was not just to produce a simple Plasma user interface for a tablet device, but also deliver on a range of novel ideas for interaction with the device, closely related to the semantic desktop. Interlinked documents, contacts, sharing built right into the core, not just a “dumb” platform to run apps on, but a holistic system that allows users to manage their digital life on the fly. While Plasma Active had great promise and a lot of innovative potential, it never materialized for end-users in part due to lack of interest from both, the KDE community itself, but also from people on the outside. This doesn’t mean that the work put into it was lost, but thanks to a convergent code-base, many improvements made primarily with Plasma Active in mind have improved Plasma for all its users and continue to do so today. In many ways, Active proved valuable as a playground, as a clean slate where we want to take the technology, and how we can improve our developemnt process. It’s not a surprise that Plasma 5 today is developed in a process very similar to how we approached Plasma Active back then.

Plasma Mobile (II)

Learning from the Plasma Active project, in 2015 we regrouped and started to build a rather simple smartphone user interface, along with a reference software stack that would allow us not only to develop Plasma Mobile further, but to allow us to run on a growing number of devices. Plasma Mobile (II)’s goal wasn’t to get the most innovative of interfaces out, but to create a bread-and-butter platform, a base to develop applications on. From a technology point of view, Plasma is actually very small. It shares approximately 95% of the code with its desktop companion, widgets, and increasingly applications are interchangeable between the two.

Plasma Mobile (in any shape or form) has never been this close to actually making it into the hands and pockets of end users. A collaboration project with Purism, a company bringing privacy and software freedom to end-users, we may create the first Plasma phone for end users and have it on the market as soon as januari 2019. If you want to support this project, the crowdfunding campaign has just passed the 40% mark, and you can be part of it — either by joining the development crew, or by pre-ordering a device and thereby funding the development.

Hace una semana que finalizó el evento y gracias a la colaboración de José Millán ya tenemos un informe preliminar de los primeros frutos de Randa 2017 para hacer KDE más accesible. Un pequeño artículo que tiene como objetivo mostrar que realmente se trabaja en este tipo de eventos y animar a los lectores a participar en la campaña de donaciones que sigue abierta hasta final de mes.

Primeros frutos de Randa 2017 para hacer KDE más accesible

Primeros frutos de Randa 2017 para hacer KDE más accesibleHe aquí algunos de las cosas sobre las que los desarrolladores de KDE han estado trabajando para hacerlo más accesible en el pasado Sprint de Randa 2017:

  • David Edmundson y Marco Martin han mejorado sensiblemente la accesibilidad de plasma. Ahora plasma puede ser manejado por personas que tengan algún tipo de discapacidad que requieran usar únicamente teclado y/o usar lectores de pantalla (Por ejemplo: personas invidentes). Es posible que la experiencia aún no sea óptima y que cuando estos usuarios comiencen a usar Plasma detecten problemas, pero ahora ya está en un estado que se les puede pedir que comiencen a probar Plasma para que detecten problemas y que sean solucionados.
  • Plasma mobile ha sufrido muchas mejoras gracias al trabajo de Bhushan Shah. Por ejemplo, se ha mejorado la integración con Marble Maps, se ha mejorado la integración de koko (un visor de imágenes QML) en plasma mobile y se ha comenzado las pruebas de kube, el nuevo cliente de correo. Más información sobre esto:  http://blog.bshah.in/2017/09/19/plasma-mobile-in-randaaa/
  • Frederik Gladhorn y Volker Klause han realizado un plugin para KWin que permite simular diversos tipos de daltonismo. De esa forma los desarrolladores de software pueden probar que su software va a ser perfectamente entendible por una persona daltónica (asegurándose de que si usan colores para transmitir información, esos colores son perfectamente distinguibles por cualquier persona que padezca daltonismo). Sin embargo, no servirá exclusivamente para desarrolladores de kde, si no también para cualquier persona que quiera crear cualquier material usando su ordenador (diseñadores web, material audiovisual, etc.)  Más info: https://blog.qt.io/blog/2017/09/15/testing-applications-color-blindness/

Y mención especial merecen Mario Fux, su familia y el resto de los voluntarios del equipo local se han ocupado entre otros de conseguir patrocinadores locales, comunicarse con la prensa local, comprar la comida y preparar la comida para que el resto de los desarrolladores pudiesemos simplemente centrarnos en desarrollar. Puede que no figuren en la lista de commits, pero realmente se merecen ser considerados “KDE contributors”

 

Ayuda a la financiación de los Sprints de Randa 2017

Como todos los años, se han a celebrado en una pequeña ciudad suiza situada en medio de los Alpes Suizos, los Sprints de Randa. Con esta edición se llegó a su octava edición, con lo que se sigue consolidando como una cita ya marcada en el calendario de muchos desarrolladores de la Comunidad KDE.

Por su localización, por su filosofía de trabajo, por su duración y por las personas que allí asistirán los Sprints de Randa es el evento que más rabia me da no poder asistir pero que no por ello dejo de apoyar con todo mi empeño. Es fabuloso participar de forma activa en las intensas sesiones de hacking que allí se realizan.

De esta forma me complace anunciar que se ha ampliado el plazo para ayudar a financiar los Sprints de Randa que se lanzó con el objetivo de cubrir los gastos de desplazamiento, hospedaje y manutención del nutrido grupo de desarrolladores que se van a dar cita en Randa a partir de la semana que viene. La campaña tenía como objetivo llegar a los 20000 € antes del 16 de septiembre, pero como es habitual cuando no se llega a esa cifra se ha ampliado hasta final de mes.

Así que si quieres ayudar a los desarrolladores que van a hacer el software que después tú disfrutarás libremente más accesible para todo tipo de personas no dudes en aportar tu granito de arena. Cualquier contribución es buena y cualquier promoción también. No olvides difundir la noticia utilizando la etiqueta #Randa2017.

Por cierto, aunque como he dicho toda aportación es buena, este año han sido un poco más específicos a la hora de comunicar en qué se invierten las donaciones.

Ayuda a la financiación de los Sprints de Randa 2017

 

Más información: Randa Meeting 2017 Fundraising Campaign

So, back in Randa I was splitting my energies and attentions in many pieces. Some attention went to making pancakes and running the kitchen in the morning — which is stuff I take credit for, but it is really Grace, and Scarlett, and Thomas who did the heavy lifting, and Christian and Mario who make sure the whole thing can happen. And the attendees of the Randa meeting who pitch in for the dishes after lunch and dinner. The Randa meetings are more like a campground than a 5-star hotel, and we work together to make the experience enjoyable. So thanks to everyone who pitched in.

Part of a good sprint is keeping the attendees healthy and attentive — otherwise those 16-hour hacking days really get to you, in spite of the fresh Swiss air.

Frederik encouraged us to touch the floor and the ceiling with his acro-yoga sessions; it is good to get out of the hacking room and get into shape. These sessions also teach us all trust and cooperation. And between sessions, he fixed a Qt bug that probably affects Calamares accessibility.

Calamares had some more bugs squashed, its accessibility improved — although I need to test that again and again on different setups now that I’m home, since it needs time to re-build Qt and all. Even with this fix, the goal to reduce Calamares’ root-needs remains.

You can read more of what the attendees in Randa achieved on planet KDE (e.g. kdenlive, snappy, kmymoney, marble, kube, Plasma mobile, kdepim, and kwin). I’d like to give a special shout out to Manuel, who taught me one gesture in Italian Sign Langauage — which is different from American or Dutch Sign Language, reminding me that there’s localization everywhere.

For me, being back home means sitting back at my big FreeBSD box, hacking on Calamares and ARPA and CMake and stuff again, with a renewed sense of purpose and team thanks to having worked together in Randa. If you like what KDE achieves in Randa, consider still supporting the fundraiser so that we can return to the mountains next year.

A lot happened recently regarding Kdenlive. Let’s start with a some news from the swiss mountains:

Randa!

Last week, from wednesday to saturday I attended KDE’s annual Randa sprint organized by wonderful people. This was an occasion to work fulltime on Kdenlive. Here is a resume of what happened during these days:

  • I submitted Dušan Hanuš’s color correction improvements (allow negative lift values in Lift/Gamm/Gain effect) in Movit and MLT. They have now been merged so we should soon have better color wheel correction.
  • I made the first tests with Rafal Lalik’s TypeWriter effect, that would bring back this much requested feature for our users.
  • I merged my code for speed effect and committed a very preliminary qml builtin effect stack (that should in the future allow easy adjustment of basic video properties like contrast, color balance, etc).
  • I fixed a problem preventing multithreaded rendering that we discovered with Manuel when comparing Shotcut and Kdenlive.
  • I spend several hours trying to debug a performance issue and finally discovered that it was caused by a small qml animation (blinking rectangle) – a reminder that fancy effects can sometimes really get in the way of productivity!
  • I briefly exchanged with Scarlett regarding AppImage and Snap packages
  • And several small other fixes: display warning when adding images smaller than 8pixels (not fully supported by MLT), fixed import of image sequences, removed unnecessary warning on first start about missing DVD tools (stuff from another century as I was told :).

You can still donate to KDE’s Randa fundraising to help. Kdenlive was also recently mentioned as the preferred video editor in a large survey of Ubuntu Desktop users, which makes us very proud!

First alpha testing version available

To share the result of these last months of work, I am happy to announce the first alpha version for Kdenlive 17.12, that contains the major code refactoring as well as the transition to Qml for the timeline display. This is an AppImage testing release. Just download the file, make it executable and run it. The x86_64 linux AppImage is available from the KDE servers: https://files.kde.org/kdenlive/unstable/kdenlive-alpha1-17.12.AppImage.mirrorlist
Beware: this is an experimental alpha version, allowing you to have a look at Kdenlive’s future and should not be used for production. Projects created with this version cannot be opened by previous Kdenlive releases, and many issues still have to be solved before the official december release.

Windows version updated

Vincent Pinon worked on updating the Windows version to the last stable version (17.08.1) that can be downloaded here: https://files.kde.org/kdenlive/release/Kdenlive-17.08.1-w64.7z.mirrorlist

We hope to improve our packaging soon with the help of some great people in the KDE community, more news will follow on that.

Join us!

We are always welcoming people interested to contribute and exchange, so if you want to learn more and meet us, you are welcome to participate to our next Kdenlive café on IRC, channel #kdenlive, Monday, 2nd of October at 21pm (UTC+2) (CEST).

September 21, 2017

One of the usual data visualization workflows supported by LabPlot involves the import of some external data into the application and the creation of plots. Once the data is imported, e.g. into a spreadsheet, there are basically the following steps to do in order to get the data visualized:

  • create a worksheet (if not available yet)
  • add a plot (if not available yet)
  • add a xy-curve to the plot and select the spreadsheet columns as data sources for the curve

Despite the apparently small number of steps required here, this can result in a lot of tedious work if you need to plot many different imported data sets in one or several plots.

For the upcoming release we decided to improve here and to provide the user a more faster way to get the data plotted. The new “Plot Data” dialog, reachable via the context menu of the spreadsheet, helps the user to create all the intermediate steps mentioned above for many data sets in one single step:



plot data dialog

In this dialog, the process of creation of all the required objects can be influenced via different options where the user can decide how many plots to create and where to add the generated curves. The dialog respects the selection in the worksheet and only the selected columns are plotted. In case nothing is selected in the spreadsheet, all data sets (columns) are considered:



When generating curves, LabPlot tries to automatically recognize the column that has to be used as the source for the x-data by evaluating the “plot designation” property attached to every column in the spreadsheet. This greatly helps if you need to plot a set of data series having the same x-values (usually an index or timestamp). In case there is no column with the plot designation “X”, the first selected column is used as X.

Similar for data analysis: if you wanted to, let’s say, smooth some data in a spreadsheet and to compare the result with the original data in a plot, you had previously to

  • create a worksheet (if not available yet)
  • add a plot (if not available yet)
  • add a xy-curve to the plot and select the spreadsheet columns as data sources for the curve
  • add a smoothing curve and select the spreadsheet columns as data sources for the smooth curve
  • click on the “Recalculate” button to perform the calculation of the smoothed data

Also this kind of tasks can result in a lot of manual tedious work, which already was the reason for some user complains. We addressed this, too. With the recent improvements in LabPlot, you simply select the corresponding analysis function from the “Analyze and plot data” sub-menu in spreadsheet’s context menu and let LabPlot do all the required steps



analyze and plot data context menu

The procedure here is basically the same as described above with the only difference that the user has now the chance to additionally decide in the “Plot Data” dialog whether they want to plot the result of the analysis function together with the original data or to plot the result curve only.

With the analysis workflow sketched above, the analysis was initiated from the spreadsheet. For the use cases where you already have the data plotted and now want to smooth the already visualized data, to fit a certain model to the data, etc., you can initiate the analysis step via the context menu of the curve directly in the plot:



analyze curve context menu

To further speed up the creation of data visualizations, we implemented the feature that allows the user to simply drag the columns in the project explorer and to drop them on the already existing plots – either by dropping in the Project Explorer or by dropping in the worksheet:



Until the next release, planned for December this year, we still have some time for fine-tuning and fixing the remaining issues in the new features and improvements briefly described here. All of them are already available in master and can be tried out.

Another successful Randa meeting! I spent most of my days working on snappy packaging for KDE core applications, and I have most of them done!

Snappy Builds on KDE Neon

We need testers! Please see Using snappy to get started.

In the evenings I worked on getting all my appimage work moved into the KDE infrastructure so that the community can take over.

I learned a great deal about accessibility and have been formulating ways to improve KDE neon in this area.

Randa meetings are crucial to the KDE community for developer interaction, brainstorming, and bringing great new things to KDE.
I encourage all of you to please consider a donation at https://www.kde.org/fundraisers/randameetings2017/

I am pleased to inform that Qt 5.6.3 has been released today. As always with a patch release Qt 5.6.3 does not bring any new features, just error corrections. For details of the bug fixes in Qt 5.6.3, please check the change logs for each module and known issues of Qt 5.6.3 wiki page.

Qt 5.6 LTS is currently in the ‘Strict’ phase, and only receives fixes to security issues, crashes, regressions and similar. Since end of 2016 we have already reduced the number of fixes going into the 5.6 branch and after Qt 5.6 LTS enters the ‘Very Strict’ phase it will receive security fixes only. The reason for gradually reducing the amount of changes going into an LTS version of Qt is to avoid problems in stability. While each fix as such is beneficial, they are also possible risks for behavior changes and regressions, which we want to avoid in LTS releases.

As part of our LTS commitment, we continue to support the commercial Qt 5.6 LTS users throughout the three-year standard support period, after which it is possible to purchase extended support. For description of our support services, please check the recent blog post describing the Standard, Extended and Premium Support. In May 2017 we released Qt 5.9 LTS, which includes a wide range of new features, functionality and overall performance improvements. We expect to release Qt 5.9.2 patch release still during September, including all the bug fixes of Qt 5.6.3 and many more. To learn more about the improvements that come with Qt 5.9 LTS you can find all relevant blogs and on-demand webinars here.   

If you are using the online installer, Qt 5.6.3 can be updated using the maintenance tool. Offline packages are available for commercial users in the Qt Account portal and at the qt.io Download page for open-source users.

The post Qt 5.6.3 Released appeared first on Qt Blog.


I will be next week at the SUSECON in Prague to present about the new librmb/rbox project sponsored by Deutsche Telekom. The presentation slot is Tuesday, Sep 26, 1:30 PM - 2:30 PM. If you attend and are interested on how to store emails directly in Ceph RADOS add the session to your schedule.

Less than a month after Krita 3.2.1, we’re getting ready to release Krita 3.3.0. We’re bumping the version because there are some important changes for Windows users in this version!

Alvin Wong has implemented support for the Windows 8 event API, which means that Krita now supports the n-trig pen in the Surface line of laptops (and similar laptops from Dell, HP and Acer) natively. This is still very new, so you have to enable this in the tablet settings:

And he also refactored Krita’s hardware-accelerated display functionality to optionally use Angle on Windows instead of native OpenGL. That means that many problems with Intel display chips and broken driver versions are worked around because Krita now indirectly uses Direct3D.

There are more changes in this release, of course:

  • Some visual glitches when using hi-dpi screens are fixed (remember: on Windows and Linux, you need to enable this in the settings dialog).
  • If you create a new image from clipboard, the image will have a title
  • Favorite blending modes and favorite brush presets are now loaded correctly on startup
  • GMIC
    • the plugin has been updated to the latest version for Windows and Linux.
    • the configuration for setting the path to the plugin has been removed. Krita looks for the plugin in the folder where the krita executable is, and optionally inside a folder with a name that starts with ‘gmic’ next to the krita executable.
    • there are several fixes for handling layers and communication between Krita and the plugin
  • Some websites save jpeg images with a .png extension: that used to confuse Krita, but Krita now first looks inside the file to see what kind of file it really is.
  • PNG:
    • 16 and 32 bit floating point images are now converted to 16 bit integer when saving the images as PNG.
    • It’s now possible to save the alpha channel to PNG images even if there are no (semi-) transparent pixels in the image
  • When hardware accelerated display is disabled, the color picker mode of the brush tool showed a broken cursor; this has been fixed.
  • The Reference Images docker now only starts loading images when it is visible, instead on Krita startup. Note: the reference images docker uses Qt’s imageio plugins to load images. If you are running on Linux, remove all Deepin desktop components. Deepin comes with severely broken qimageio plugins that will crash any Qt application that tries to display images.
  • File layers now correctly reload on change again
  • Add several new commandline options:
    • –nosplash to start Krita without showing the splash screen
    • –canvasonly to start Krita in canvas-only mode
    • –fullscreen to start Krita full-screen
    • –workspace Workspace to start Krita with the given workspace
  • Selections
    • The Select All action now first clears the selection before selecting the entire image
    • It is now possible to extend selections outside the canvas boundary
  • Performance improvements: in several places superfluous reads from the settings were eliminated, which makes generating a layer thumbnail faster and improves painting if display acceleration is turned off.
  • The smart number input boxes now use the current locale to follow desktop settings for numbers
  • The system information dialog for bug reports is improved
  • macOS/OSX specific changes:
    • Bernhard Liebl has improved the tablet/stylus accuracy. The problem with circles having straight line segments is much improved, though it’s not perfect yet.
    • On macOS/OSX systems with and AMD gpu, support for hardware accelerated display is disabled because saving to PNG and JPG hangs Krita otherwise.

Download

Windows

Note for Windows users: if you encounter crashes, please follow these instructions to use the debug symbols so we can figure out where Krita crashes. There are no 32 bits packages at this point, but there will be for the final release.

Linux

(If, for some reason, Firefox thinks it needs to load this as text: to download, right-click on the link.)

When it is updated, you can also use the Krita Lime PPA to install Krita 3.3.0-rc.1 on Ubuntu and derivatives.

OSX

Note: the gmic-qt and pdf plugins are not available on OSX.

Source code

md5sums

For all downloads:

Key

The Linux appimage and the source tarball are signed. You can retrieve the public key over https here:
0x58b9596c722ea3bd.asc
. The signatures are here.

Support Krita

Krita is a free and open source project. Please consider supporting the project with donations or by buying training videos or the artbook! With your support, we can keep the core team working on Krita full-time.

September 20, 2017

This week has been focused on finishing the development of persistent notifications at the top of the music views. They are intended to provide information about what happen with actions the user can take to improve things.

The following items have been pushed:

  • Clean up of dependencies. Now all frameworks come with a description. Some have been downgraded to optional or recommended. Some have been upgraded to recommended ;
  • A new version of persistent notifications.

The new persistent notifications

The player can be in four states:

  • No notifications are active
    Screenshot_20170920_224107No notifications

     

  • One notification is activeScreenshot_20170920_224429One notification

     

  • More than one notifications are active. Only one is shown such that vertical space is preserved

    Screenshot_20170920_224700.pngMultiple notifications with the first visible
  • The notifications area is expanded and several notifications are visible
    Screenshot_20170920_224830.pngShow multiple notifications

     

If the user choose to act, the buttons are temporarily disabled to provide instant feedback and the notification disappear when the root cause is fixed (like in the example, if music tracks are discovered or Baloo configuration is modified or Baloo music indexer is disabled in Elisa.).

I have tried to provide smooth transitions between each of those states. Some may still be missing. Please do not hesitate to provide feedback on this feature.

I plan to add more notifications of this kind when the software wants to provide feedback to the user and asks him to choose what he prefers.

Next week, I should continue to improve integration with Baloo. I would also like to improve (in fact allow) the keyboard interaction.


Please read the following guest post from Łukasz who joined me last week in Randa to work on KMyMoney.   Good things have happened in Randa and are going to happen to KMyMoney afterwards. During that time I’ve started to work on the appearance of the application in regard to colors. I think it’s a …


On Monday I presented at the Ceph Meetup in Berlin about a new project sponsored by Deutsche Telekom to store emails on Ceph. The project consists of librmb and rbox. While librmb (librados mailbox) is a generic abstraction layer to store emails in RADOS, rbox is a plugin for Dovecot to make use of the new library.


The code is released under LGPLv2.1 and now available at github. The project is still under heavy development and not in a released state. Therefore the code and APIs can still change, but we really would like to invite every interested party to check it out, test the code and report findings and bugs back to the project. Be part of the project and contribute code! We plan to move the librmb code later to the Ceph project and the rbox plugin to Dovecot. For more information on the project check out the README or take a look at my presentation from the Meetup.

I would like to thank our partners in this project: Tallence, Wido den Hollander (42on.com), and SUSE.

Just came back home yesterday from Randa Meetings 2017. This year, even though my major motive for the sprint was to use Qt 5.8’s Qt Speech module instead of custom Java for text-to-speech during navigation, that could not be achieved because of a bug which made the routes not appear in the app in the first place. And this bug is reproducible both by using latest code, and old-enough code, and is even there in the prod app in the Google Play Store itself. So, although most of my time had gone in deep-diving on the issue, unfortunately I was not able to find the root-cause to it eventually. I will need to pick up on that in the coming weeks again when I get time, to get it fixed. Apart from that, I managed to fix a few more bugs, and work on adding a splash screen to the Android app:

  • Made the bookmarks dialog responsive to touch everywhere. When we tapped on the Search field in the app, if nothing was written in that field then the bookmarks dialog showed up there. If the number of bookmarks was <= 6, then the far-lower part of the dialog did nothing on being tapped. Made that portion choose the last item from the bookmarks list in that case.
  • There was an issue where pressing the back-button always led to closing the app instead of handling that event depending on the various scenarios. On looking, it was found that the root-cause for the issue was lying in the code of Kirigami itself. Reported the same to Marco Martin, and fixed the issue in the Marble app via a workaround by using Kirigami.AbstractApplicationWindow instead of Kirigami.ApplicationWindow in the Qml. Also reported the issue that svg icons were not showing up in the app on Plasma Mobile because of svg icons not being enabled there.

  • Worked on adding a splash screen to the Marble Maps app. The highest resolution of the Marble logo in png that we had at the moment was 192 x 192, which looked a bit blurry, as if it had been scaled up, so I just displayed it as 100×100 for the splash screen to make it look sharp. Later, Torsten created a 256×256 version of the png from an svg, which got rid of the blur in the previous png. So I added that in the splash screen later, and the icon there looks much bigger, sharper, and non-blurry now.
    wordpress

Apart from work, there was snow this year, did some interesting acro-yoga with Frederik, did a 3-hour hike to walk across the longest pedestrian suspension bridge in the world, went on a tour to Zermatt to catch a glimpse of the Matterhorn, and ended it all with having a delicious barbecue with Emmanuel and Tomaz somewhere up in the mountains on the final evening. Thanks to Mario for organizing the meetings and the cheese and chocolates, without which no work could have been done.

banner-fundraising2017


Kubuntu 17.10 — code-named Artful Aardvark — will be released on October 19th, 2017. We need a new banner for the website, and invite artists and designers to submit designs to us based on the Plasma wallpaper and perhaps the mascot design.

The banner is 1500×385 SVG.

Please submit designs to the Kubuntu-devel mail list.

September 19, 2017

I’ve spent the last few days with fellow KDE hackers in beautiful Randa in the Swiss Mountains.
It’s an annual event that focuses on a specific topic every year, and this time accessibility was up, so Michael and me made our way up here to improve Kube in that direction (and to enjoy the scenic surroundings of course).

I have to admit we didn’t spend all our time on accessibilty, since we’ve recently done a big push in that direction already with keyboard navigation and translation preparations. Anyhow, here’s an overview on what we’ve worked on:

Query performance

While it might now be a showstopper, there is an annoyance in Kube that if you initially sync a lot of mail (my INBOX alone contains 40k) this not only uses a lot of CPU in the synchronizer process (which is expected), but also in the Kube client process, which seems odd at first.

The reason for this are the live queries, which update themselves whenever the resource signals that it has a new revision available (A new revision could be a new mail or a modification for instance). Usually, when we process an update we do so incrementally. If you just received a new mail or two, or something has been marked as read etc., that is also the sensible thing to do. It’s a comparatively tiny amount of work, and we really want incremental changes in the result anyways, otherwise we’d mess up the client’s UI state (selection, scroll position, …).

However, when we fetch 40k mails that also means we get 40k updates that we have to process and it’s surprisingly hard to avoid that:

  • We don’t know in advance that there will be 40k updates, so we have to process the updates initially.
  • We can’t really skip any updates, because any update might affect what we have in the view. We just don’t know until we’ve already processed it.
  • We can’t just fall back to redoing the full query because we need incremental changes, otherwise you’d see a blinking UI until the sync is done.
  • We don’t want to just stop updating until the sync is done, because in most cases you already have useful data to work with, so this is really a background task, and we don’t want to block all updates.

If you end up processing the larger part of the data-set as incremental update it becomes naturally really expensive, because you can’t leverage the indexes which made queries efficient in the first place. So this is not something that can just be optimized away.

This means some middleground has to be struck which allows for updates, but doesn’t render the application maxed out because it’s updating so fast.

A possible approach to fix this would be the following:

  • Set some threshold when it becomes cheaper to redo the query instead of processing the updates.
  • If the threshold is reached, redo the query from scratch.
  • Diff the current results with the redone results so we can still update the UI incrementally.
  • Apply some event compression to the revision updates, so we land in the optimized path quicker.

Given that this really isn’t a huge problem right now, since the application does remain responsive (querying is done in a separate thread), and this will only ever happen if you sync a large folder for the first time, I won’t spend a lot of time on that for now. The most important part was figuring out why this problem appeared in the first place, and understanding it’s reasons and implications. This will allow us to attack it properly once we get to it.

HTML composer

Kube’s composer is currently a simple text field where you can type plain text. This is obviously not the end goal.
To explore our options in providing a more advanced composer, we tried prototyping a simple HTML editor.
Unfortunately our experiments showed that QML isn’t really up to that yet. The official example falls flat on it’s face when trying it (it simply fails except for a few specific cases), and the “API” to do any sort of formatting is more a hack than anything else.

Granted, the API docs of the TextArea also state that you can’t modify the internal document, or in other words, no HTML composer for us.

The options we have left are:

  • Some custom text editing component (sounds like a lot of work, probably is).
  • Try to hack around TextAreas deficiencies until we find some magic combination that works.
  • Use a WebView and implement everything in javascript (now that’s just sad).

For now the item is postponed.

GPG Support

We’ve scoped out what we want to reach for initial GPG support in Kube. While we already have read-only GPG support (we can decrypt mails and verify signatures), there is some more work to be done until we can also sign and encrypt messages we’re sending. The focus will be on keeping things simple to get the job done, and not build the most advanced GPG interface ever.

Things that will happen are:

  • Key selection for the account that will then be used for encryption.
  • Key setup for new accounts that don’t have a key yet (either by importing an existing key or creating a new one)
  • Encryption option in the composer that depends on the availability of keys for all recipients.
  • Key selection for users in the addressbook.

All of it can be found on Phabricator

Cross platform builds

Since we had some cross platform building experts on site, I explored some of our options:

  • Cross compiling for Windows with MXE.
  • Building on Windows and OSX using craft.
  • Building with some custom scripts on Windows.
  • Building with macports on OSX.
  • Building with brew on OSX.

Although I had mixed feelings about craft back from the days when I used emerge (the craft predecessor) to build Kontact on Windows,
it at least looks like the most sensible option still.

Crosscompiling using MXE seems ok-ish for Windows; I had some success for parts of the stack and the rest will just be the grunt work of making tarballs and writing build definition files. At least that way you don’t have to work on a Windows system. However I heard that the compiled end-result will just not be as good as using native compilers, so perhaps it’s not worth it to trade some building convenience for a sub-par end result.
Also, writing the definition files is pretty exactly the same as for craft, and MXE would be for Windows only.

So, looks like I’ll be doing another round with craft sometime soonish.

Plasma phone

IMG_20170914_141340

It kinda works.

Bushan Sha quickly wipped up a package for the Plasma Phone and installed it, which allowed us to see Kube running for the first time on a mobile device, which felt surprisingly cool ��

There clearly are some rough edges, such as the UI being completely unsuitable for that form factor (who would have thought…), and a bug in one of the QML components which breaks folder selection using a touch screen. Still, it was nice to see =)

Input validation

To improve the UX with forms in Kube, or more specifically the configuration dialog, we wanted to provide some feedback to the user on what fields need to be filled out. Michael implemented a neat little visualization that that marks invalid input fields and gently fades away once the input becomes valid.

Screenshot_20170919_232321

Screenshot_20170919_232514

So far we only validate that fields are not empty, but that can be changed by assigning new validators that e.g. check that an email address field indeed contains a valid email address.

Recap

It was once again a very productive week, with lot’s of good food and a couple of fun hikes in between to clear out the head.
Besides the usual work going on it’s invaluable to have an exchange with other people that just might have solved the problem already that you’re going to spend the next few weeks on. So in many ways this is not only about a concentrated work effort, but also about professional training and exchange, and that is only possible in when you’re sitting together with those people.

I’d like to thank the whole team that organized the sprint, took care of us with great food and lot’s of chocolate and generally just made our stay in Randa great once more.

If you made it all the way down here and skipped the fundraiser on top, please consider donating something, it’s the only way we can keep doing meetings like this and they are invaluable for us as a community.


Last week I had a chance to attend the Randa meetings 2017, my plan was to work on the Plasma Mobile during the sprint, improve the state of current images. A few things changed over the course of the week:

New shiny wallpaper and packages

Starting from 8 Sept, we started using the packages from KDE Neon buildsystem instead of building them on the Plasma Mobile CI, this provides few benefits,

  • No need to separately build the common things like Qt5, KDE Frameworks, Plasma
  • Always up-to-date packages, no need to manually re-trigger builds for common things

We also upgraded to newer version of Qt, Qt 5.9 from the older version of Qt 5.7.1, this aligns our stack with whatever KDE Neon dev unstable edition is using.

Shiny Plasma

Rootfs for non-nexus Qualcomm devices

Non-nexus Qualcomm devices use a modified version of the hwcomposer.h which is not ABI compatible with the generic version of the android API headers, so for them the libhybris and kwin need to be separately built. Previously our CI infrastructure didn’t support this workflow, however now we are able to create the rootfs for such devices. Below is an image of Plasma Mobile running on Xiomi Mi device.

Plasma Mobile on CAF device

Marble maps

At Randa, we had a chance to test the newer version of the Marble maps, which has much more improved performance when zooming out-in. We were able to happily search locate Randa in the Marble maps.

Marble maps on Plasma Mobile

QML based mobile friendly “konsole”

Previously we were using Konsole from the KDE Applications as a terminal emulator, however Konsole user interface was not mobile-friendly, and it was not possible to e.g, tab complete the command, go through history, etc. At Randa Emmanuel Lepage Vallee pointed us to qmltermwidget, which powers the terminal application in Ubuntu Touch and Cool-retro-term application. Marco Martin was able to write a simple QML application around qmltermwidget which can replace Konsole in Plasma Mobile.

QML based Terminal application

Kirigami based koko

During GSoC 2017 lot of work has been put to port the normal QtQuick based image viewer application Koko to kirigami2, you can follow the work of Student developer Atul Sharma on his blog. At the Randa Sprint, we were able to test this work on Plasma Mobile and it shows great improvements compared to the older version.

Koko, image gallery application

Improved window switching experience

Due to a bug in the Plasma Mobile shell, shell windows such as task switcher and shell itself were also appearing in the task switcher, as a result of that user was able to close the shell window which ultimately ends up crashing the plasmashell. We were able to fix this bug in the plasma-workspace and plasma-phone-components so that Plasma Mobile shell windows would not appear in the task switcher.

Task switching

Kube(!!!)

Yes, that is Kube in the first picture, we were able to run the Kube on the Plasma Mobile, it works in theory on Plasma Mobile, however the user interface is not mobile-friendly and needs various fixes to be usable on mobile. We will work with the Kube team to fix the issues and then test them on Plasma Mobile in the future.

Conclusion

That is all for now, I would like to thank the all the donors who donated for the Randa Meetings 2017, and made it possible for me to travel to Randa, Switzerland.

If you liked the work done on Plasma Mobile during the Randa Sprint, please support us on Randa 2017 fundraiser to make events like Randa possible in the future.

September 18, 2017

Adventurous users and developers running the Artful development release can now also test the beta version of Plasma 5.11. This is experimental and can possibly kill kittens!

Bug reports on this beta go to https://bugs.kde.org, not to Launchpad.

The PPA comes with a WARNING: Artful will ship with Plasma 5.10.5, so please be prepared to use ppa-purge to revert changes. Plasma 5.11 will ship too late for inclusion in Kubuntu 17.10, but should be available via the main backports PPA as soon as is practical after release day, October 19th, 2017.

Read more about the beta release: https://www.kde.org/announcements/plasma-5.10.95.php

If you want to test on Artful: sudo add-apt-repository ppa:kubuntu-ppa/beta && sudo apt-get update && sudo apt full-upgrade -y

The purpose of this PPA is testing, and bug reports go to bugs.kde.org.

September 17, 2017

“Kube is a modern communication and collaboration client built with QtQuick on top of a high performance, low resource usage core. It provides online and offline access to all your mail, contacts, calendars, notes, todo’s and more. With a strong focus on usability, the team works with designers and UX experts from the ground up, to build a product that is not only visually appealing but also a joy to use.”

For more info, head over to: kube.kde.org

  • We now synchronize both contacts and drafts when opening the composer. The former are required for autocompletion, the latter to show your drafts.
  • A maillist filter bar to replace the currently defunct search.
  • We now synchronize the currently selected folder every 5min.
  • Bumped Qt requirement to 5.9 so we can finally use the focus stealing prevention of the webengineview.
  • Automatically launch into the account configuration if no accounts are set-up.
  • A single account mode for deployments that support only a single account. This can currently only be activated with a switch in the qml code.
  • Prototyped a simple html editor, unfortunately the QML TextArea API is just not there yet and the end result ended up buggy. Postponed for now.
  • Worked out a plan for gpg based encryption that is now available as phabricator tickets for the next milestone.
  • Improved input form validation and feedback.
  • Did some work towards improving a performance bottleneck in live queries when a lot (thousands) of updates are coming in (such as during the initial sync). Not quite there yet though.
  • Did some cross compilation experiments with MXE for Windows and without MXE for Android. WIP
  • Witnessed Kube on the Plasma Phone. This will require an adapted UI but generally seems to actually work.
  • Fixed some layouting issues where some TextAreas wouldn’t resize with the rest of the UI.

Kube Commits, Sink Commits

Previous updates


We have a new round of Kate installers for Windows. This round comes with some installer-bug fixes (all project plugin dlls) and support for editorconfig files http://editorconfig.org/.

Project plugin analyzing codeIn the above screen-shot you can see the project plugin analyzing Kate code. This works if you have cppcheck installed and added to the path.

Grab the installers now at download.kde.org:  Kate-setup-17.08.1-KF5.38-32bit or Kate-setup-17.08.1-KF5.38-64bit

Hi all,

Today I got an opportunity to celebrate Linux's 26th anniversary (17th September 1991) with the LinuxChix India team (http://india.linuxchix.org/).

I gave a talk on:

  • Unix, GNU, and  Linux's history 
  • And shared my experience using Linux, Ubuntu, and Kubuntu



It was a great interactive session. We shared some thoughts about:

  • SSH's working
  • Linux distributions
  • Flavours of Ubuntu
  • Kubuntu, KDE Plasma 5 and KDE frameworks, 
  • Linux file system 
  • Kernels and its role
  • Various Linux Commands

I would like to thank Shivani Bhardwaj and Priyal Trivedi for organising the meetup and Amit Kumar for introducing me to the team.

Link to the slides of my talk:
https://drive.google.com/file/d/0B9XiOPGG2l_vcTNNcEVhVjV1RnM/view?usp=sharing

Official Raspbian images based on Debian Stretch by default has the Pixel desktop environment and will login new users to it. But if you have had a Raspbian installation with another DE (such as LXDE), here are the steps to install and login to the Pixel desktop.

  1. apt-get install raspberrypi-ui-mods
  2. sed -i 's/^autologin-user=pi/#autologin-user=pi/' /etc/lightdm/lightdm.conf
  3. update-alternatives --set x-session-manager /usr/bin/startlxde-pi
  4. sed -i 's/^Session=.*/Session=lightdm-xsession/' ${USER}/.dmrc

Make sure the user’s ‘.dmrc’ file is updated with the new startlxde-pi session as that is where lightdm login manager looks to decide which desktop should be launched.


Tagged: linux

September 16, 2017

Let me start by annoying you with some pictures:

<3 Randa

The misty mountains below which the coders dwell.

We totally had snow in September. Well, not in Randa, but in the valley next to it, but still. SNOW!

And now for the serious part: in my last blog post, I talked about achieving our main goal for this year’s Randa meetings – we successfully ported the entire Kontact away from the obsoleted KDateTime class. Since we finished this on Thursday, there was still enough time left to start working on something new and exciting.

Volker and Frederik went on to work on a KWin plugin to simulate various kinds of color blindness which will help developers to see how visually impaired users see their software, I did a bit more code clean-up after the porting and a bit of code-review.

On Friday morning Volker and I discussed search in KDE PIM. Broken and unreliable search was one of the most often mentioned issues in the KMail User Survey, which we ran for the past month and a half, so I decided to tackle the problem and make our indexing and searching infrastructure fast and reliable.

The final plan consists of several phases – starting with reorganizing our current code to put related pieces of code (like email indexing and querying code) into a single place to make the code easier to maintain. This phase is already progressing and I hope to finish it within the next week. The second phase will involve moving the code that is responsible for indexing data into the backend Resources – whenever a backend retrieves an email from an IMAP server or an event from Google Calendar it will also index it and will send the index data alongside the raw data to Akonadi. Akonadi will then take care for just writing the data into the Xapian database. This will speed up indexing, reduce the IO load and will ensure that all data are reliably indexed and stored before they are presented in Kontact. The third phase will involve changing Kontact to query the index database directly, instead of asking Akonadi to do it for us. This will speed up the search and provide results faster. The final phase will focus on which data we are actually indexing. As they say – less is sometimes more – so having fewer, but better-defined data will allow us to provide better and more exact search results to the user.

Once this is settled, we can make applications to depend on the search index – for example KOrganizer will be able to query the index to only get events from e.g. December 2017 instead of fetching all events from the calendar and then figuring out if they should be displayed or not, making calendars of even the busiest people to load instantaneously.

All in all, it was an extremely productive hackfest for the PIM team and I’d again like to thank Mario, Christian and the rest of the Randa team for organizing the hackfest. You guys rock!

And remember, you can still donate to the Randa fundraiser to make future productive sprints possible!

This past week artist David Revoy visited the Université Cergy-Pontoise in Paris France to give a Krita training. The university’s teacher, Nicolas Priniotakis, has been using linux and other open source technology such as Blender. This was the first time the students have been exposed to Krita…and the results were a success with the help of David!

You can read more about David’s trip and see what was taught during the class from his blog: https://www.davidrevoy.com/article335/krita-digital-painting-courses-at-university-cergy-pontoise

 

September 15, 2017

Last time we heard the publictransport applet was being re-written was almost a year back now. Since then, it has indeed gone through some sorts of rewrite, but at the Randa meetings, 2017, this has taken a whole new course. Since the time I began porting the publictransport dataengine, to be used with a new … Continue reading Plasma publictransport rewrite – Part II

At the Randa Meeting 2017 Volker and I decided to write a little KWin plugin. Activating this plugin you can simulate various types of color vision deficiencies, either on individual windows or full-screen. The plugin works by running a fragment shader on the respective window/screen.

Here is a short video demonstrating what we did:

The purpose is to allow everyone to test applications problematic color schemes.
https://en.wikipedia.org/wiki/Color_blindness

The post Testing Applications for Color Blindness appeared first on Qt Blog.

September 14, 2017

On the morning of Day 5 we chased and fixed a problem that was introduced a long time ago but never caused any trouble. The code goes back into the KDE3 version of KMyMoney and was caused by some changes inside Qt5. The fix prevents a crash when saving a transaction which opens an additional …


Older blog entries

 

 


Planet KDE is made from the blogs of KDE's contributors. The opinions it contains are those of the contributor. This site is powered by Rawdog and Rawdog RSS. Feed readers can read Planet KDE with RSS, FOAF or OPML.