Jakub SteinerDesigner. Camera Pilot.http://jimmac.musichall.cz/blog2015-03-24T10:14:00+01:00Jakub SteinerHigh Contrast Refreshhttp://jimmac.musichall.cz/blog/2015-03-24-high-contrast-refresh/2015-03-24T10:14:00+01:002015-03-24T13:36:13+01:00Article Author<p class="image full">
<img type="image/svg+xml" alt="" src="/blog/2015-03-24-high-contrast-refresh/index/hc-shell.png">
</p>
<p>One of the major visual updates of the 3.16 release is the high contrast accessible theme. Both the shell and the toolkit have received attention in the HC department. One noteworthy aspect of the theme is the icons. To guarantee some decent amount of contrast of an icon against any background, back in <a href="/old/high-contrast/index.xhtml">GNOME 2 days</a>, we solved it by &ldquo;double stroking&rdquo; every shape. The term double stroke comes from a special case, when a shape that was open, having only an outline, would get an additional inverted color outline. Most of the time it was a white outline of a black silhouette though.</p>
<p class="image full">
<img type="image/svg+xml" alt="" src="/blog/2015-03-24-high-contrast-refresh/index/old-style.png">
<small>Fuzzy doublestroke PNGs of the old HC theme</small>
</p>
<p>In the new world, we actually treat icons the same way we treat text. We can adjust the best contrast by controlling the color at runtime. We do this the same way we&rsquo;ve done it for symbolic icons, using and embedded CSS stylesheet inside SVG icons. And in fact we are using the very same symbolic icons for the HC variant. You would be right arguing that there are specific needs for high contrast, but in reality majority of the double stroked icons in HC have already been <a href="https://git.gnome.org/browse/gnome-themes-standard/tree/themes/HighContrast/create-highcontrast.c?h=gnome-3-14">direct conversions of their symbolic counterparts</a>.</p>
<p class="image full">
<img type="image/svg+xml" alt="" src="/blog/2015-03-24-high-contrast-refresh/index/new-hc.svg">
<small>Crisp recolorable SVGs of the post 3.16 world</small>
</p>
<p>While centralized theme that overrides all application never seemed like a good idea, as the application icon is part of its identity and should be distributed and maintained alongside the actual app, the process to create a high contrast variant of an icon was extremely cumbersome and required quite a bit of effort. With the changes in place for both the toolkit and the shell, it&rsquo;s far more reasonable to mandate applications to include a symbolic/high contrast variant of its app icon now. I&rsquo;ll be spending my time transforming the existing double stroke assets into symbolic, but if you are an application author, please look into providing a scalable stencil variant of your app icon as well. Thank you!</p>
<ul>
<li><a href="https://developer.gnome.org/hig/stable/icons-and-artwork.html.en">GNOME icon design guidelines</a></li>
<li><a href="https://wiki.gnome.org/Initiatives/GnomeGoals/HighContrastAppIcons">High Contrast App Icon Initiative</a></li>
</ul>
Audi Quattrohttp://jimmac.musichall.cz/blog/2015-03-12-audi-quattro/2015-03-12T13:52:00+01:002015-03-12T13:56:20+01:00Article Author<p>Winter is definitelly losing its battle and last weekend we had some fun filming with my new
folding Xu Gong v2 quad. </p>
<iframe src="https://player.vimeo.com/video/121668165" class="image full" width="500" height="500" frameborder="0">
<a href="https://vimeo.com/121668165">Audi Quattro</a> from <a href="http://vimeo.com/jimmacfx">jimmac</a> on <a href="https://vimeo.com">Vimeo</a>.
</iframe>
Making of GNOME 3.14http://jimmac.musichall.cz/blog/2014-09-17-making-of-gnome-3-14/2014-09-17T15:37:00+02:002014-09-17T16:50:07+02:00Article Author<p>The release of GNOME 3.14 is slowly approaching, so I stole some time from actual design work and created this little promo to show what goes into a release that probably isn&rsquo;t immediately obvious (and a large portion of it doesn&rsquo;t even make it in).</p>
<p>
<iframe class="image full" src="//www.youtube.com/embed/Co4i_d47e1I" height="500" frameborder="0">
<a href="http://www.youtube.com/watch?v=Co4i_d47e1I">Watch on Youtube</a>
</iframe>
</p>
<p>I&rsquo;d like to thank all the usual suspects that make the wheels spinning, <a href="http://blogs.gnome.org/mclasen/">Matthias</a>, <a href="http://blogs.gnome.org/otte/">Benjamin</a> and <a href="http://blogs.gnome.org/aday/">Allan</a> in particular. The crown goes to Lapo Calamandrei though, because the amount of work he&rsquo;s done on Adwaita this cycle will really benefit us in the next couple of releases. Thanks everyone, 3.14 will be a great release*!</p>
<p><footnote>* I keep saying that every release, but you simply feel it when you&rsquo;re forced to log in to your &ldquo;old&rdquo; GNOME session rather than jhbuild.</footnote></p>
Open Flight Controllershttp://jimmac.musichall.cz/blog/2014-08-24-open-flight-controllers/2014-08-24T11:34:00+02:002014-08-26T14:07:01+02:00Article Author<p>In my last <a href="/blog/2013-11-26-flying-cameras">multirotor themed entry</a> I gave an insight into the magical world of flying cameras. I also gave a bit of a promise to write about the open source flight controllers that are out there. Here&rsquo;s a few that I had the luck laying my hands on. We&rsquo;ll start with some acro FCs, with a very differt purpose to the proprietary NAZA I started on. These are meant for fast and acrobatic flying, not for flying your expensive cameras on a stabilized gimbal. Keep in mind, I&rsquo;m still fairly inexperienced so I don&rsquo;t want to go into specifics and provide my settings just yet.</p>
<p>
<iframe src="//player.vimeo.com/video/103890639" width="100%" height="500" frameborder="0">
<a href="http://vimeo.com/103890639">Blackout: Potsdam</a> from <a href="http://vimeo.com/jimmacfx">jimmac</a> on <a href="https://vimeo.com">Vimeo</a>.
</iframe>
</p>
<h1>CC3D</h1>
<p>The best thing to be said about CC3D is that while being aimed at acro pilots, it&rsquo;s relatively newbie friendly. The software is fairly straight forward. Getting the QT app built, set up the radio, tune motors and tweak gains is not going to make your eyes roll in the same way APM&rsquo;s ground station would (more on that in a future post, maybe). The defaults are reasonable and help you achieve a maiden flight rather than a maiden crash. Updating to the latest firmware over the air is seamless.</p>
<p>Large number of receivers and connection methods is supported. Not only the classic PWM, or the more reasonable &ldquo;one cable&rdquo; CPPM method, but even Futaba proprietary SBUS can be used with CC3D. I&rsquo;ve flown it with Futaba 8J, 14SG and even the Phantom radio (I actually quite like the compact receiver and the sticks on the TX feel good. Maybe it&rsquo;s just that it&rsquo;s something I&rsquo;ve started on). As you&rsquo;re gonna be flying proximity mostly, the range is not an issue, unless you&rsquo;re dealing with external interference where a more robust frequency hopping radio would be safer. Without a GPS &ldquo;break&rdquo; or even a barometer, losing signal for even a second is fatal. It&rsquo;s extremely nasty to get a perfect 5.8 video of your unresponsive quad plumetting to the ground :)</p>
<p>Overall a great board and software, and with so much competition, the board price has come down considerably recently. You can get non-genuine boards for around EUR20-25 on ebay. You can learn more about CC3D on <a href="http://www.openpilot.org/products/openpilot-coptercontrol-platform/">openpilot website</a></p>
<h1>Naze32</h1>
<p>Sounding very similar to the popular DJI flight controller, this open board is built around the 32-bit STM32 processor. Theoretically it could be used to fly a bit larger kites with features like GPS hold. You&rsquo;re not limited to the popular quad or hexa setups with it either, you can go really custom with defining your own motor mix. But you&rsquo;d be stepping in the realm of only a few and I don&rsquo;t think I&rsquo;d trust my camera equipment to a platform that hasn&rsquo;t been so extensively tested.</p>
<p>Initially I didn&rsquo;t manage to get the cheap acro variant ideal for the minis, so I got the &lsquo;bells &amp; whistles&rsquo; edition, only missing the GPS module. The mag compass and air pressure barometer is already on the board, even though I found no use for altitude hold (BARO). You&rsquo;ll still going to worry about momentum and wind so reaching for those goggles mid flight is still not going to be any less difficult than just having it stabilized.</p>
<p class="row">
<a class="image 4u" href="https://www.flickr.com/photos/jakubsteiner/14597166712/">
<img alt="" src="https://farm4.staticflickr.com/3849/14597166712_a6d4fd2b8d_o.jpg">
</a>
<a class="image 4u" href="https://www.flickr.com/photos/jakubsteiner/14595907124">
<img alt="" src="https://farm3.staticflickr.com/2917/14595907124_63f3a1902d_o.jpg">
</a>
<a class="image 4u" href="https://www.flickr.com/photos/jakubsteiner/14411439037/">
<img alt="" src="https://farm3.staticflickr.com/2907/14411439037_11de976289_o.jpg">
</a>
</p>
<p>If you don&rsquo;t count some youtube videos, there&rsquo;s not a lot of handholding for the naze32. People assume you have prior experience with similar FCs. There are multiple choices of configuration tools, but I went for the most straight forward one — a <a href="https://chrome.google.com/webstore/detail/baseflight-configurator/mppkgnedeapfejgfimkdoninnofofigk?hl=en">Google Chrome/Chromium Baseflight app</a>. No compiling necessary. It&rsquo;s quite bare bones, which I liked a lot. Reasonably styled few aligned boxes and CLI is way easier to navigate than the non-searchable table with bubblegum styling than what APM provides for example.</p>
<p class="image full">
<img alt="" src="/blog/2014-08-24-open-flight-controllers/baseflight1.jpg">
</p>
<p>One advanced technique that caught my eye, as the typical process is super flimsy and tedious, is ESC calibration. To set the full range of speeds based on your radio, you usually need to make sure to provide power to the RX, and setting the top and bottom throttle leves to each esc. With this FC, you can actually set the throttle levels from the CLI, <a href="http://blog.oscarliang.net/naze32-on-mini-quad-fpv250/">calibrating all ESCs at the same time</a>. Very clever and super useful.</p>
<p>Another great feature is that you can have up to three setting profiles, depending on the load, wind conditions and the style you&rsquo;re going for. Typically when flying proximity, between trees and under park benches, you want very responsive controls at the expense of fluid movement. On the other hand if you plan on going up and fast and pretend to be a plane (or a bird), you really need to have that fluid non-jittery movement. It&rsquo;s not a setting you change mid-flight, using up a channel, but rather something you choose before arming. </p>
<p>To do it, you hold throttle down and yaw to the left and with the elevator/aileron stick you choose the mode. Left is for preset1, up is for preset 2 and right is for preset 3. Going down with the pitch will recalibrate the IMU. It&rsquo;s good to solder on a buzzer that will help you find a lost craft when you trigger it with a spare channel (it can beep on low voltage too). The same buzzer will beep for selecting profiles as well.</p>
<p class="image full">
<img alt="" src="/blog/2014-08-24-open-flight-controllers/baseflight2.jpg">
</p>
<p>As for actual flying characteristics, the raw rate mode, which is a little tricky to master (and I still have trouble flying 3rd person with it), is very solid. It feels like a lot larger craft, very stable. There&rsquo;s also quite a feat in the form of HORI mode, where you get a stabilized flight (kite levels itself when you don&rsquo;t provide controls), but no limit on the angle, so you&rsquo;re still free to do flips. I can&rsquo;t say I&rsquo;ve masted PID tuning to really get the kind of control over the aircraft I would want. Regardless of tweaking the control characteristics, you won&rsquo;t get a nice fluid video flying HORI or ANGLE mode, as the self leveling will always do a little jitter to compensate for wind or inaccurate gyro readings which seems to not be there when flying rate. Stabilizing the footage in post gets rid of it mostly, but not perfectly:</p>
<p><p></p>
<iframe width="100%" height="500" src="//www.youtube.com/embed/kVCTv2AlwTo?list=UUvteAidIfQtf2FkUzxr8QVg" frameborder="0" allowfullscreen>
<a href="https://www.youtube.com/watch?v=kVCTv2AlwTo">Minihquad in Deutschland</a></iframe>
<p><p></p>
<p>You can get the plain acro version for about EUR30 which is an incredible value for a solid FC like this. I have a lot of practice ahead to truly get to that fluid fast plane-like flight that drew me into these miniquads. Check some of these masters below:</p>
<ul>
<li><a href="https://www.youtube.com/watch?v=o_-r_WcFsgE&amp;list=UUkous_8XKjZkKiK5Qe13BXw">blackout the drunk</a></li>
<li><a href="https://www.youtube.com/watch?v=dLY8aHoMt1g">boris b</a></li>
<li><a href="https://www.youtube.com/watch?v=CdugKsqLH5c">juz70</a></li>
<li><a href="https://www.youtube.com/watch?v=CwcvzTURdwY">rianrex</a></li>
</ul>
<p>APM and Sparky next time. Or perhaps you&rsquo;d be more interested in the video link instead first? Let me know in the comments.</p>
<p><em>Update</em>: Turns out NAZE32 supports many serial protocols apart form CPPM, such as Futaba SBUS and Graupner SUMD.</p>
GUADEChttp://jimmac.musichall.cz/blog/2014-08-01-guadec/2014-08-01T14:13:00+02:002014-08-05T12:20:39+02:00Article Author<p>This blog post is mostly about showing some photos I took, but I may as well give a brief summary from my point of view.</p>
<p><a href="https://www.flickr.com/photos/jakubsteiner/14614571520/" class="image full"><img alt="" src="https://farm6.staticflickr.com/5555/14614571520_e6716c749a_z.jpg"></a></p>
<p>Had a good time in Strasbourg this week. Hacked a bit on Adwaita with Lapo, who has fearlessly been sanding the rough parts after the major refactoring. Jim Hall uncovered the details of his recent usability testing of GNOME, so while we video chatted before, it was nice to meet him in person. Watched Christian uncover his bold plans to <a href="http://www.hergert.me/blog/2014/07/30/leaving-mongodb.html">focus on Builder full time</a> which is both awesome and sad. Watched Jasper come out with the truth about his love for Windows and Federico&rsquo;s secret to getting around fast. Uncovered how Benjamin is not getting more aerodynamic (ie fat) like me. Enjoyed a lot of great food (surprisingly had crêpes only once).</p>
<p><a href="https://www.flickr.com/photos/jakubsteiner/14800918612" title="DSCF1919 by Jakub Steiner, on Flickr" class="image full">
<img src="https://farm6.staticflickr.com/5567/14800918612_7fc54d70d2_z.jpg">
</a></p>
<p>In a classic move I ran out of time in my lightning talk on multirotors, so I&rsquo;ll have to cover the topic of free software flight controllers in a future blog post. I managed to miss a good number of talks I intended to see, which is quite a feat, considering the average price of beer in the old town. Had a good time hanging out with folks which is so rare to me.</p>
<p><a href="https://www.flickr.com/photos/jakubsteiner/14821119933" title="DSCF2016 by Jakub Steiner, on Flickr" class="image full"><img src="https://farm4.staticflickr.com/3892/14821119933_a13ae2b1f1_z.jpg"></a></p>
<p>During the BOFs on Wednesday I sat down with the Boxes folks, discussing some new designs. Sad that it was only few brief moments I managed to talk to Bastian about our Blender workflows. Unfortunately the Brno folks from whom I stole a spot in the car had to get back on Thursday so I missed the Thursday and Friday BOFs as well.</p>
<p class="row">
<a href="https://www.flickr.com/photos/jakubsteiner/14614661918" title="Lapo hacking Software CSS" class="image 4u">
<img src="https://farm4.staticflickr.com/3839/14614661918_06932ff2d6_z.jpg"></a>
<a href="https://www.flickr.com/photos/jakubsteiner/14614661578" title="Matthew Garrett on the future of the Desktop" class="image 4u">
<img src="https://farm3.staticflickr.com/2921/14614661578_9cb6794997_z.jpg"></a>
<a href="https://www.flickr.com/photos/jakubsteiner/14614661128" title="Owen Taylor on automated testing" class="image 4u">
<img src="https://farm4.staticflickr.com/3835/14614661128_4902dc2ff2_z.jpg"></a>
</p>
<p>Despite the weather I enjoyed the second <em>last</em> GUADEC. Thanks for making it awesome again. See you in the next <em>last</em> one in Gothenburg.</p>
<ul>
<li><a href="https://www.flickr.com/photos/jakubsteiner/sets/72157645680971008/">All my GUADEC Photos</a></li>
</ul>
Adwaita 3.14http://jimmac.musichall.cz/blog/2014-06-14-adwaita-3-14/2014-06-14T11:36:00+02:002014-06-14T16:12:44+02:00Article Author<p>Now that the controversial 3.12 tab design has been <a href="https://plus.google.com/+JakubSteiner/posts/2aj87WRbZYA">validated by Apple</a>, we&rsquo;re ready to tackle new challenges with the widgetry™.</p>
<p class="image full">
<img type="image/svg+xml" alt="" src="/blog/2014-06-14-adwaita-3-14/adwaita-314.svg">
</p>
<p>Adwaita has grown into a fairly complex theme. We make sure unfocused windows are less eye-grabbing (flat). We provide a less light-polluting variant for visually-heavy content apps (<em>Adwaita:dark</em>). And last but not least we provide a specific wigdet style for overlay controls (OSD). All this complexity has made Adwaita quite a challenge to maintain and evolve. Since we were to relocate Adwaita <a href="http://blogs.gnome.org/mclasen/2014/06/13/a-new-default-theme-for-gtk/">directly into gtk+</a>, we had to bite the bullet and perform quite a <a href="http://www.bonkersworld.net/building-software/">surgery on it</a>.</p>
<p>There&rsquo;s a number of improvements we aimed to achieve. Limiting the number of distinct colors and making most colors derived makes it easier to adjust the overall feel of the theme and I&rsquo;m sure 3rd party themers will enjoy this too. Not relying on image assets for majority of the drawing makes the workflow much more flexible as well. Many of the small graphical elements now make use of the icon theme assets so these remain recolorable based on the context, similar to how text is treated. </p>
<p><a href="http://blogs.gnome.org/otte/">Benjamin</a> has been working hard to move the theme closer to the familiar CSS box model, further minimizing the reliance on odd property hacks and engines (Adwaita no longer makes use of any engine drawing).</p>
<p class="image full">
<img alt="" src="/blog/2014-06-14-adwaita-3-14/sass-goodness.png">
<small>We still rely on some image assets, but even that is much more manageable with <a href="http://sass-lang.com/">SASS</a>.</small>
</p>
<p>Anything gtk related never happens without the giant help from Matthias, Cosimo and Benjamin, but I have to give extra credits to Lapo Calamandrei, without whom these dark caverns would be impossible for me to enter. Another major piece that I&rsquo;m grateful for living right inside the toolkit, ready to be brought up any time, is the <a href="http://blogs.gnome.org/mclasen/2014/06/05/a-gtkinspector-update/">awesome inspector</a>. Really happy to see it mature and evolve.</p>