As few months ago, I decided to make an effort to see how much of my job I can do using only OSS (Open Source Software). I wanted to share my experience so far and welcome any tips/help you can share with me. This first post is about how I got started with a new computer/OS combo and not really much about design. The second (and third?) will be about using it to design.
I purchased a separate from my primary computer so there wouldn’t be as much temptation to switch back to my good ol’ Macbook Pro. I made sure to not carry both computers with the one exception of extended travel. I had that exception, because I’ve become exceptionally skilled at bricking the new computer.
I ended up doing some digging and asking around and ended up with the Dell XPS13 Developer edition primarily because it has such a dang nice hidpi screen. It also had some great reviews from my coworkers. I am open to alternatives if anyone has a suggestion instead.
The operating system
I am currently running Ubuntu 15.04, but started with Dell’s custom version Ubuntu 14.04. It took me less than a day (a single Friday evening specifically) to wreck their setup.
Wrecking my Dell
One of the handy features Dell had built in was similar to a Chromebook’s powerwash. I forget what it was called, but it would totally reset the computer to factory settings. After breaking it by installing a package (I think it was a theme or something), the OS was in an infinite login loop. I tried the reset and it froze partway in. After that, wouldn’t do much past the BIOS. Womp womp.
I was up all night searching for answers to questions I didn’t know how to ask yet. I learned a ton but was still struggling so I contacted Dell on Saturday via a phone call. After talking to at least four support people, I finally got rerouted to someone who knew that Dell actually has a Linux support team (maybe just one person?) and how to connect me to them via email since that team isn’t available on weekends. Sweet. Another few days of searching for answers to questions I didn’t know how to ask yet.
Finally, Monday rolled around and I was connected with Chris, a super helpful support engineer. He immediately helped me troubleshoot and hooked me up with some ideas and the Dell ISO. I ended up having a ton of issues trying to get that ISO to boot from USB and install. The first issues were because I had no idea what I was doing. I had to learn how to create a bootable USB drive. (You don’t just drop an ISO file onto a hard drive). This took much longer to get through because the odds were stacked against me. It turns out the ISO sent to me wasn’t bootable for some reason. I gave up and download stock Ubuntu 14.04 to at least see if I could install something. Created the bootable USB and, BOOM, installed a fresh operating system. Frick yeah.
Chris mentioned I might try 15.04 as well, so I decided to attempt the upgrade.
I did this when traveling (don’t do stuff like that while traveling maybe). I went through the upgrade process aaaaand bricked it again. The update apparently had some issues and was once again stuck in a login loop. I couldn’t just start over at this point because I needed the content on my computer the next day. Crap. Well. Time to do some searching again. This time I had much more success. I ended up learning via a super useful article that I could hop into something called GRUB (GNU GRand Unified Bootloader) from the login screen and do some finagling. I don’t remember exactly what I did at this point, but it involved fixing some packages. This worked like a charm.
Current feelings on the computer and OS
The computer feels super dang nice to use. The screen is brilliant. Thee keyboard feels wonderful. And, for those of you who care about aesthetics, it looks prettying dang nice once the Dell logo was covered up by a well-placed black WordPress sticker.
Hidpi support is rough
Unlike a Mac, when using Ubuntu scaling, only certain software that supports the scaling scale up. This means that instead of getting blurry scaled up software, they render at 1x. Here’s an example:
Neato. This is still a problem for me. I have two options, I can change my screen resolution and scale every time I need to use design software (thinking about creating a script or something for this) or I can wait for the software to eventually update to support hidpi scaling. This is super unlikely as issues have been open on both projects for quite some time. I’m still crossing my fingers, but there’s no sense waiting. I’m all ears if you have any ideas or workarounds.
Being comfortable with the command line isn’t required when starting out, but after a few weeks, it’ll be second-nature. This was a bit of a blessing since I ended up learning all sorts of nifty tricks.
I know using the Terminal seems weird and scary, but give it a shot. It’s not so bad and, when comfortable with it, it’s even faster than using a GUI to do the same things.
I have come to really prefer using the terminal for anything I can. I even use Weechat, a Terminal application for IRC (which is a pain to set up but I find it super nice).
Ubuntu (with some visual tweaks) is a beautifully designed OS. I think there are a few clunky bits that could be improved, but the majority feels really good to use. It has window snapping, a super key for opening apps without digging through menus, multiple workspaces, and a bunch of other niceties. It feels really fast to use. To be clear, I’m not talking about how fast software runs or any of that. Navigation between programs and around the OS feels really fast and intuitive.
One of the fun things about attempting to use only OSS software is that I can contribute to it. I have not yet, but when looking into it, I found their design standards. (+1 bazillion bonus points for having design standards)
Brand assets. Colors. Typesetting. Web standards. Nice job to those of you who put this together.
Missing software I replaced with the web
As you can imagine, not all software has Linux alternatives, but no worries. I’m trying to stick almost entirely to OSS anyway. The web to the rescue!
Simplenote, Twitter, Slack, and a slew of other applications I use regularly don’t really have a Linux alternative or, if they do, it might not be so pleasant to use. Thankfully, their web version work pretty darn nicely.
I’d like to note that Simplenote’s web app has a super handy feature I didn’t know existed. I can actually preview markdown in it. Neato.
I’m using Firefox (versus my usual of Chrome) as my primary browser. I do have and use Chrome for web development because it’s inspector tools are incredibly powerful. I’ll eventually be attempting to use Firefox’s tools instead, but one thing at a time.
I am using Google Inbox instead of a Mail application, but I might try one at some point. I quite dislike Google Inbox.
I have also been inspired to step up my security game so I’ve been doing some reading and learning everything I can. I’m encrypting as much as possible and learning what information I’m sending out into the world.
What’s security have to do with design? Well, it turns out some people are (rightfully) concerned with how much data is collected of theirs. The way the web is experienced can be drastically different depending on how secure you want to be with your data.
One issue that drives me crazy is, when using TOR, CloudFlare sometimes thinks I’m a robot and presents me with a CAPTCHA that I’ve successfully deciphered once out of dozens of attempts.
Please, CloudFlare, change this. I don’t mind a captcha as long as it’s possible for a human to decipher. It’s incredibly infuriating.Still here?That’s about it for an intro before I get into the next post or two on design and web development using only open source software. Have any of you tried something like this? Got any sweet tips or suggestions?
Slack has a Linux client (it’s based on Electron pretty much like Atom). For the mail client you could use Thundebird, which has worked for me for over a decade I think and you can integrate it perfectly with Gmail and others.
For safe browsing I rely on OpenVPN among other things.
Unfortunately there’s nothing on par to replace certain design apps/software. You can run Virtualbox with Windows in it (no OSX chance) and use things like Photoshop there. If your machine is powerful enough and has a lot of RAM, you can run those apps in a Virtualbox window and they will feel almost native (including drag and drop and so on).
Apart from this, Ubuntu is very solid and I don’t miss anything for web and software development, as well as day to day use.
Totally. It’s a bit buggy, though (might be because we’re pushing its limits). I opted for the web version as it’s a bit more stable.
Thunderbird is totally a possibility. It’s been a good client for quite some time and I have used it off and on. I’m also trying out Geary currently which also seems pretty good.
Awesome. Definitely will look into OpenVPN.
Yeah. I might have to do that, but that’s going to be a last resort. I’m also not sure how well it will do with a hidpi screen.
I totally agree. It’s been pretty dang pleasant to use once I got the hang of its idiosyncrasies.
This is really interesting to me. I nearly bought a Dell XPS13 Developer edition for a personal machine. But I stopped short because I worried about missing software I grew to rely on. Oddly, I’ve grown to like iCloud and its integrations across Apple devices even if it’s not perfect. I’m thinking about dual booting Linux on a machine to see how I’d like it, and give a test run.
I’d worry about using it on a work machine too because of the lack of needed design software. I think I’d get annoyed at running virtual machines, etc.
The design software isn’t really there yet and the hidpi screen makes working with the design software a bit tougher than it would be on a 1x screen. Give it a test run anyway.