Tag: VDG

Wallpaper Livestream (Part 2, Sunday January 9th)

Update: The Livestream is moved to Monday January 10th, sorry for the inconvenience it may cause.

After a very successful livestream at the beginning of the week (with a heartfelt thank-you to everyone who popped in) it’s time to hunker down for one more afternoon to finish what we started! This Sunday (January 9th) I’ll once again be hosting a stream, where we’ll finish the wallpaper together. All the tedious manual work is well behind us, so this round should be mostly finery and polish in addition to the background, which is all fun and creative stuff. Click here for the Youtube link to the upcoming stream if you want to set a reminder for yourself. The livestream will run at least 2 hours, but if we’re all having fun I’ll run it for an additional 2 after a brief intermission.

For everyone who didn’t have a chance to attend, in the last livestream we started with the above sketch done in Krita and experimented with a new method on-the-fly where we leaned into Inkscapes snapping features to create a 3D mesh by hand, with the plan to use the built-in “Restacking” tool to enable hand-drawn polygons with “perfect” edges. While the mesh method was a rousing success and testing the restack feature gave ideal results, near the end of the stream it was realized that watching me draw triangles for several hours was not a hip idea, so I decided to take the remainder of the more tedious work offline.

Which was a good thing, because I had to throw away hours worth of hand-drawn polygons. I was not a happy camper. There was a damper in the pamper. It was a stylistic cramper. Simply put I literally zigged when I should have zagged and half the polygons were misaligned because of it.

Not to worry though, because I had the chance to experiment a bit more with less certain ideas and while I’m still playing a bit, I’m even happier with the redone results. Almost like I had roughly 5 hours of practice…

In terms of livestreaming itself it went off without a hitch on a technical level, but the overall quality was pretty awful. I’m sorry for that, I didn’t realize how bad it was. I’ve been making improvements so the quality of future streams will be far better. Earnestly I wasn’t sure if I’d be doing it again so I didn’t put an overwhelming amount of effort into the initial setup. I fully expected to have large swaths of time without anyone watching, but while the quality of the feed was borderline unwatchable I saw far more activity than I anticipated, and the chat was more than excellent in making me want to continue doing streams. You all rock!

There’s still testing and adjustments to be made but it’ll definitely have much higher video quality this upcoming stream, hopefully have better audio quality, and there’s a 50/50 chance I’ll broadcast in (up to) 4K (if the latency is acceptable). I didn’t have hardware encoding set up, I think it’ll be waaaaay nicer for me not to be encoding 4K to 1080p video on my CPU while using a CPU-intensive drawing application. It’s almost like my video card is meant for video. Additionally, and while I make no guarantees, I’ll also be attempting to hook up screen mirroring with my Android drawing tablet so I can use both it and my desktop computer to complete the wallpaper using all the tools at my disposal on-air. While the mixing of vector and traditional art was debated in an older wallpaper, I’ll have you – yes, you! – to give live feedback.

Once again I want to thank everyone who made it (or wanted to make it) to the previous stream. It was a delightful experience and I hope to see you this Sunday!

Art Livestream (Mon Jan 3rd, 2022)

Hullo! On Monday January 3rd 5:00pm GMT (12:00pm EST) I’m going to try livestreaming work on a potential Plasma wallpaper, possibly some icon work, and other potential tangential work. I’ll also be answering questions, giving advice and tips for software like Krita and Inkscape, and if there’s time I may also show some terrible unreleased design work from the bowels of my storage drive. The stream will be of indeterminate length; at least a couple hours but it might run long.

The stream will be on Youtube for sure, please comment requesting another video service (click here) if Youtube/Google skeeves interested people out (assuming I can get them to work); here’s the Youtube link for those who may want to set a reminder.

New Icons, Iconoclast Pipeline

Over the month of November work has been started to refresh the full-colour icons in Breeze as an extension of the “Blue Ocean” initiative. With literally hundreds of hand-created vector icons in our roster we’ve had to develop new processes and are working on a more robust pipeline so this refresh can be done in a somewhat timely manner.

Preview of the new folders. Subject to change and refinement.

As was the method for Blue Ocean on the desktop widgets and design, the icons will be a gradual rollout over a few releases. We do have a strategy in place to ensure that this won’t be too jarring or inconsistent during the transition. The current plan is to update both all mimetypes and all places in time for the 5.24 release.

Like our current icons the new icons have adaptive capabilities. Beyond that some additional select icons such as the new desktop icon are also adaptive, and there are plans for other icons to also take advantage of this feature where it would not be obnoxious. Compared to existing icons the refreshed content will be softer, more detailed, and less flat. These icons are also prepared with future capabilities in mind, and as enhancements are made to KDE Frameworks these icons may expose new and interesting features.

Finally, we’re expanding the number of sizes the icons come in, so they look ideal at more zoom levels in your file browser. Currently colour places icons are offered in 32, 48, 64, and 96 pixel sizes, and mimetypes are offered in 32 and 64 pixel sizes. Refreshed icons in both places and mimetypes will be offered in 32, 48, 64, 96, 128, and 256 pixel sizes with no missing graphics. We already have all folders in all of the above sizes, and in under a month while also writing our software we have over doubled the number of folder icons in Breeze. We’re estimating we will more than triple in the number of mimetype icons.

To get this work done we’ve built new tools for the express purpose of making mass iconography far easier for even individual artists, so I’m very pleased to state that a new icon and SVG pipeline is underway and despite being unfinished is producing results. This Python-written pipeline is capable of adding guides, rulers, and setting up grids for existing icons, standardizing existing icon colours, assembling entirely new icons from templates and components, and aggressively optimizing icons. With this authors will be able to have a “golden copy” of their icon sets where they can focus purely on design, letting the software take care of cleaning up the documents and assembling the individual pieces. The folders in the above image were assembled by the pipeline, with no hand-tuning.

In terms of optimization some extreme cases have seen unoptimized Oxygen icons drop 75% or their filesize. In less ideal situations a few simple hand-optimized test icons I produced run through the pipeline saw 10-20% reductions in filesize. The new optimizer is not built on any existing tools, and is an entirely new thing. At similar settings the new optimizer is on par or slightly ahead of Inkscape in most tests, but at the same time it’s also more specialized and the output cannot be edited when certain stages are enabled. It’s also targeted towards TinySVG and should not be expected to work on full-fat images (though, accommodations have been made). There is still work to be done too, and in the future more optimization steps are on the table to further reduce output size.

Not only is this pipeline beneficial to KDE artists, but history has proven even the roughest artistic tools we produce are regularly used outside of Plasma development. With this in mind we plan to release our new tooling separate from Breeze as its own package/download after polishing it to a mirror shine. Currently nicknamed “Iconoclast”, we are specifically setting out for this tooling to be useful and ready for the wider community beyond KDE.

Iconoclast will include our new pipeline, a manual, tips and advice, and another entirely new icon set named “Bones”, which is already in progress. The pipeline itself is strongly configurable with ini files, so KDE-isms can be removed and it can be adapted to work for icons sets that may have different flows through configuration. The Bones icon set will be a minimal base which can either be built on top of, or used as a reference, and these icons will released in the public domain. Different projects with different licenses can just take it and use it, and it’s uses generic technologies not tied to KDE. The pipeline itself will be GPL, and I don’t have a specific timeline for when the kit will be released but once it’s solidified I’ll make an announcement; though it’s likely to be after the new year.

Does KDE.org look funny to you?

Our stalwart KDE homepage, which has been with us for several years, has, after serving us well, finally been retired.

The new KDE.org homepage, using the new theme “Aether”, is only the first step of a much longer journey to unify the disparate KDE websites. KDE.org and its surrounding network is made of many parts: forums, wikis, feed aggregates, custom solutions, etc; beyond the homepage each of these will need to be updated. It will be a long road, but the modernization is due.

This new design is still using direct and simple PHP, but the redesign effort will see us land this into a Drupal theme which will eventually be deployed for the wider KDE.org pages. We will still be using the other systems for our other non-static content, but Drupal will be used to replace any page using our current template engine “Capacity”.

I’d also like to give a special thanks to Harald Sitter for making this very quick and smooth transition possible.

If you spot any issues with the website, please report bugs to https://bugs.kde.org/describecomponents.cgi?product=www.kde.org, and I’ll watch the mailing list as well.

Plasma 5.9 Wallpaper “Canopee”

It’s that time of the release cycle! Plasma 5.9 is getting a new wallpaper, “Canopee”, French for canopy. Like the last wallpaper, Bismuth, we are again shipping with a 4K version.

canopee

(Download)

This wallpaper is aiming for the same effect as Bismuth from Plasma 5.8, but the colours have been turned down from “11”.

The development of this wallpaper was a little bit harrowing; I had several designs which were started and scrapped in rapid succession. It’s easy to imagine a few lines in pencil as looking good, but in reality only the initial vector work will tell you if it’ll work. Inkscape for some reason also evolved a rather massive memory leak, swelling to 5+ GB of RAM usage after only a few dozen gradient adjustments, sending my machine grinding to swap.

As I worked I kept snapshots of various steps, so I’ll cover how this wallpaper was put together:

The first part of the making Canopee involves using Envelope or Perspective in Inkscape to set up the initial grid of ‘polygons’, trimming excess, then punching out the unique layers. Unlike Bismuth which had one layer of polygons at varied heights, Canopee had several complete layers of overlapping polygons.

step1.png

The next step is adding gradients and closing the seams. I need to add the gradient first otherwise I can’t see what I’m doing when I close the seams. If I don’t close the seams you get those white lines you may have seen in the early 5.2/5.3 wallpapers. Below is after I added the first set of gradients, and the first few rows of “closed seams”. Seams are closed by making every triangle overlap slightly, so I start from the back and manually adjust nodes for every ‘polygon’ in the wallpaper.

(Yes, manual. If you’ve been paying attention, each successive wallpaper has more polygons. I am, in fact, being slowly driven insane by this)

step2.png

After getting the water and track done, the next step is the island. You can see that welding the seams makes things more solid. I’ve also made the yellow layers semitransparent, later they’ll glow with a soft light which is accomplished by adding a blurry solid underneath the layers.

step3.png

 

The “grass” will use vertical jittering to add texture and visual interest. This is actually one of the more time-consuming tasks as it requires huge amounts of manual correction and visual fixes. ‘Polygons’ are more often than not above and below each other when they shouldn’t be, and I have to manually add walls to make them look like columns. This is also the most error-prone part of the process, and some mistakes were caught as late as after adding post-processing in GIMP, meaning several fixes often have to be ‘backported’ to the master vector file. It was also at this point that I decided to dump purple and use exclusively ‘natural’ colours.

step4.png

Finally, I add various fine touches, including reflections, more refined shadows, large glows, particles, etc. At this point everything is set in stone, so I create 3 more layers which will serve as masks in GIMP when I do post-processing. Each mask covers one area which I’ll want to apply a specific effect to; I try to use slur, pick, and thread filters on “liquids”, and noise filters with varying adjustments on other materials.

step5.png

 

masks.png

Finally I composite it all in GIMP at a 5120×3200 resolution. This wallpaper had a huge number of corrections in post, including one missed glow, a small run of polygons which were ‘flat’, and several mistakes in the jittered layer. After those corrections the final result is at the top of this post. This wallpaper will be available for Plasma 5.9 at 4K resolutions, but if you can’t wait to get it the top image links to the 2560×1600 version.

Queueing up for Plasma 5.8

It’s been too long since I’ve posted on Planet… I missed you! But despite my slothish activity there are rituals to be followed, and so comes a wallpaper for Plasma 5.8;

Probably the first thing I’ll mention is that the Plasma 5.8 wallpaper will be shipping with a 4K UHD version. The last wallpaper was meant to have a 4K version, but it simply didn’t happen. Seemingly everyone is beginning to enjoy screens with high pixel densities, so it’s about time we shipped wallpapers to match, and it’s a fun bullet-point for an LTS release.

Here it is;

2560x1600.png
We still have a short window for tweaks and adjustments, so if there’s feedback for minor changes I can try to fit them in. I know a couple minor tweaks I’d like to make as well.

The general theme of the wallpaper is to try bringing back the vibrancy of earlier wallpapers; there’s been a trend making things progressively darker, and it had been mentioned that several people missed the energy of older wallpapers. With that in mind, hopefully this iteration has that light and energetic vibe without looking like a hot mess.

On a more personal note, some weeks ago the company I work for had been bought out. Because of that everything I was working on had to be put to the backburner while I sorted things out. I had to make some extremely difficult decisions, and I’d be lying if I said it didn’t mess me up for a while there. It’s been intense. I also still have i’s to dot and t’s to cross.

Ultimately it means that I’ll be moving from coast-to-coast and south of the border to work in the United States. It’s a bit freaky penetrating the bureaucratic nightmare that is immigration forms, and sobering as I send them out. But I’ll be joining the ranks of many great Canadians who crossed the border: Jim Carry, William Shatner, Mike Meyers… *cough*Beiber*cough*

I can’t say I know what this will do to my contributions; whether or not my new job will give me more time, less time, or if I’ll need to stay back until I even really know 100% what’s going on. I certainly don’t plan to stop contributing, but I can’t say how active I’ll be in the near future until I see where the chips fall, things are also still in a state of upheaval.

I am, however, still looking forward to Akademy. I’m set to give a 30-minute talk on design iteration; whether or not you are creating a new application or maintaining an old beast, effective iteration is the key to great design. 😉

going-to-akademy-slim.png

That Time of the Cycle

With Plasma 5.6 long out the door, it’s time for the traditional changing of the wallpapers! Or at least, showing what the next wallpaper will be.

With Plasma 5.7 we won’t be venturing too far from where we are in 5.6. As I mentioned in a previous post about wallpapers we have been paying attention to the feedback, trying to find something that hit the right balance. The 5.6 the wallpaper seemed to hit that mark, so you’ll see fewer dramatic swings in the wallpaper direction; we’re goanna stick with what works for a while.

Here’s the 5.7 wallpaper, “Skylight”;

2560x1600.png
(Download 2560×1600)

I’m keeping very close to the formula of the current wallpaper, and generally this is what people should expect for a few wallpapers for the next few releases of Plasma. I’ll vary the ‘material’ and positions a bit in the future, but I didn’t want to do that too much during our transition to perspective this release… Perspective was the one thing I meant to do with the current wallpaper, but for various reasons it didn’t happen.

One thing that also came up was assembling the old wallpapers somewhere for the people who preferred a previous release. I’d like some opinions and feedback on a few questions if we decide to do this;

  1. Where would you want all the wallpapers stored? A ‘legacy wallpapers’ package, the current additional wallpapers package, OpenDesktop?
  2. Would you want me to “George Lucas” some of the wallpapers, and tweak/improve the lower-quality ones for re-release? Or should we just drop some of the really early ones?

So, what do you think we should do with the older wallpapers? Comment below, let us know!

Touring CERN and the LHC

During the Sprint at CERN everyone got to take a tour of the Large Hadron Collider, it was a fantastic time and a proud moment for members of the KDE community to see the massive and incredible machines which happened to have KDE software running at the controls.

IMG_0574

There were many different systems on display, not just KDE!

We had a rare opportunity to actually go 100 meters underground and look at the scope of it – grand and atomic – and look at one of the greatest achievements of society with our own eyes.

IMG_0578

There were many different systems on display, not just KDE!

Once we got our eyes on the massive structure a couple of the guys pulled out a bag and said “Hey, want to see something cool?”

Of course.

IMG_0604

There were many different systems on display, not just KDE!

Over at the injector (where they feed matter into the LHC) some of the other VDG members had snuck in a bag of paintballs. It was ON. Much like a pneumatic tubes of the late 1800s, the LHC consumed the ammo with gusto. I was sure our giggling would give us away, but we made sure people crowded around the controls before anyone knew what we were doing.

IMG_0579

There were many different systems on display, not just KDE!

The way the LHC was laid out, there was various catwalks surrounding where the beam passes through. We found a pair of convenient walkways ripe for us to jump across which would let us get hit – we didn’t need to worry much about timing, after all, the gauges already indicated the first paintball was going 92.3% the speed of light.

bruise.png

The first hit! Left a small mark!

It was a good time. We had some bruises, other peoples heads and arms simply vanished at near relativistic speeds. We lost 3 members of the VDG, 5 WikiToLearn editors, and Sebas was the only Plasma developer to go, though watching him get sucked into a black hole made by a near-light-speed paintball was really, really cool.

As an aside, since he’s beyond the event horizon, I’ve taken over his blog. Any amazing accomplishments he makes from now on were actually all me, and I should get the credit.

IMG_0552

And that was our tour of the LHC. We’re confident in our productivity to take over for the now deceased community members, and we firmly believe the sacrifice was totally worth it. After the tour we got into our cars to drive back to the sprint proper – albeit with some more shoulder room in the vehicles – and we got back to work after turning the LHC into the worlds largest paintball cannon.

DWD Structured @ CERN

windeco

After a seeming eternity the unthinkable has finally happened; DWD has been discussed formally on an implementation level and it’s exciting to say that some parts are now under development. Thanks to the CERN Sprint we’ve had Martin Gräßlin, Sebastian Kügler, a couple others, and myself in one room able to make final decisions on how it will all come together.

Dare I say DWD is officially real, entering development, and coming? Yes!

Previously I’ve made two posts about DWD concepts, this post will summarize the basics of DWD as it has been finalized. Some parts of both designs previously posted have been used and I’ll make another post later including mockups with more detailed information, but for new here’s an overview of DWD basics;

Low-Level IPC

DWD will use D-Bus as its IPC, being implemented via the KWin Window Metadata Tier 1 Framework. This is for Qt/KDE driven implementations, but anyone can implement DWD via D-Bus.

Core Structure

At its core DWD will work with ‘Semantic Objects’ and ‘Priority Groups’. Semantic objects refer to things like ‘media player controls’, ‘navigation’, and ‘actions’. Applications bundle Semantic Objects into Priority Groups, then push those groups to the window manager.

The window manager will tell the app whether a group was accepted or rejected; a group is rejected if any single semantic object in that group is denied for any reason. Higher priority groups get first swing at embedding their controls, and it may affect widget placement in certain situations, such as phone controls.

From there applications just hide their own elements in response to what groups were accepted. There will be some events and flags as well, but we won’t get into that yet.

Customisation

One aspect to note is that DWD will offer no customisation on the client-side. I had gone down that rabbit-hole in an early draft and we all deemed it overcomplicated. Ultimately what applications need to know is that the controls are being served – not how or where they’ve been served.

One thing we did was look at is Gnome CSDs which offered all the craziness applications could possibly want, and we noticed they weren’t actually being all that crazy with it. Generally the same controls made repeat appearances and when it really comes down to it in practice there’s not much of a value in extreme customisation. As we said previously if you need extreme customisation and weirdness this may not be the method for you – which is fine. At the same time we would recommend application authors examine why they would need exotic controls, and why they specifically need them in the windeco.

Stewarding the Protocol

One thing that was discussed was who and how to steward the protocol. When I first posted about DWD there was backlash about KDE being a ‘protocol gatekeeper’. Afterwards I proposed an extension-based design which also had backlash because it could make the protocol technologically ‘complex and messy’.

Ultimately we decided to steward the protocol and simply work with anyone who wants to be included in the design process directly. We will accept input into where the protocol will go and provide any resources we can.

One thing that was made clear was that some groups are uninterested in considering the DWD approach after being asked. We all agreed it’s not worth making a convoluted extension system just to cater to groups which probably won’t participate, instead focusing on making the best protocol we can for those who want DWD. For those environments that will not support DWD I’m glad to say that it’s still 100% compatible and applications using it will continue to work as normal, they just won’t have content in the decoration. We will not be breaking other environments.

Again, we’ll be open and welcoming to anyone who wants to join us in working on and implementing DWD.

The Implementation Plan

Right now early work is being done on our existing frameworks to move them into position to implement DWDs. Once that is done we’ll implement the protocol with a minimal number of Semantic Objects, and using the low-level API port a small number of simple applications as a beta. Applications being considered for initial DWD tests include Konsole, Kate, KCalc, and similarly small apps with basic requirements.

After the API has proven itself on smaller-scale applications we would move up to heavier applications. KDevelop was mentioned specifically as a candidate as its relatively heavy UI could benefit from space-saving DWDs while developers could very quickly give us high-quality feedback. This may be where we move to higher-level classes which will hide away the group/object system as well.

Designs & Reference Material Incoming

I’ll be making another post later with designs which should be mostly accurate to what the final protocol will produce; accurate enough to place in the Wiki as design references for how applications should look when using the final DWDs.

While Martin will continue focusing down Wayland and making excellent progress, he also had a rough timeline for when we can expect basic DWDs make an appearance. I won’t quote him as it was an off-the-cuff estimate, but it’s exciting to know there’s light at the end of the tunnel, and that we’re out of the conceptual phase.

On a complete aside it was a complete pleasure meeting everyone. Great to see some of the friends I met last year again, fantastic to make many more new ones, and I wanted to thank everyone in the Sprint as well as those who supported it for making such a great event happen.

Special thanks to CERN for hosting this Sprint! Be awesome and support future Sprints by clicking the links below;
Via Paypal for one-time donations
Become an ongoing contributor and official supporting member

 

 

Under the Weather

The Sprint in Geneva has been a bustling experience, there’s huge amounts of throughput from every participant, and seeing the progress is exciting. There will be a great many blog posts from many people with thrilling progress. I can’t spoil everyone’s work, but I can share at least a few things.

The first is weather! It was previously announced that Plasma 5.6 will be seeing the return of the weather widget. Lots of design work and planning has been done for it and while not everything we discussed will make it in for this release I do happily get to show off our new Breeze weather icons;

weather

There’s more which will be added, but this is the base set which reaches parity with the Oxygen weather icons. Things like high wind, smog, and sandstorms are all in the works.

I’m very excited to announce an updated colour palette. The palette that we’ve been was the formal ‘core’ Breeze colours with an few extended colours I threw in for icons. While it got the job done, we’ve very obviously been using colours not in the official palette for icons using pastels and off-white tints on several occasions. The extended colours were also a bit ad-hoc, with some cases where gaps in hues and luminosity would limit what we could do if we rigorously adhered to the scheme – one thing I did in the wallpapers . Here’s the third iteration of our palette;

 

palette

It’s not yet in the wiki, but we do have it in GPL format for use in Inkscape, Krita, and GIMP (special thanks to the colour dropper widget which greatly speeded up the process). It’s not completely 1:1 with our existing colours, but it’s close enough and we’ve played loosely enough that it’s not obvious which upcoming icons use the new palette and which use the old. Eventually we may look at more formally updating existing icons, but it’s a low priority. I’m very excited for what this palette will let me do with wallpapers, as I can now make brighter wallpapers without them being over-saturated.

There’s so much more happening, but it’s impossible to write about every detail.

Support the great work of passionate Contributors via the links below!
Via Paypal for one-time donations
Become an ongoing supporter and official supporting member