Sunday, October 13, 2013

Cinnamon: The Ultimate Desktop Environment





Say what you want about Linux Mint - As of this moment, it's still an Ubuntu derivative, and both subject to Ubuntu's bugs, and reliant upon Ubuntu's packages. It owes a lot of its success to that of Ubuntu, but Clem and the Mint team are starting to really separate themselves from the groups they've forked code from (Debian, Ubuntu, and Gnome). The one, shining example of this is the continued evolution of the Cinnamon desktop.

I'm relatively new to the Linux scene, having just about 11 months of usage under my belt. I started with Ubuntu 12.04, then migrated to Mint 14 & 15. I did so, because Mint offered the same package structure as Ubuntu, but without all of the extraneous, bullshit flair that comes with it. Installation was just as easy, it supported my hardware, it was faster, and it was more stable. But during my period of use with Mint, I realized there was one overriding factor that drew me to it...the desktop environment. 

Cinnamon is as clean as it gets. No frills, no fancy UI elements...it just works and looks great. You can tweak it, and theme it without the extra effort of downloading, extracting, and moving files into the correct places, the settings menu is clean, elegant, and has just enough options to be all-encompassing, without becoming cumbersome, and those options make sense. Nemo (the file browser for Cinnamon) is excellent - providing the user with necessary information, and nothing more, unless you want a little something extra. The color scheme is nice and vibrant, yet minimal and unobtrusive, which makes navigating the UI both easy and pleasurable. Shortcuts can be added to the bottom panel with ease, and are arranged in a way that looks stunning, without being gaudy. 

Yet many Linux users rail against the Cinnamon project, and I don't really understand why. Cinnamon is everything a desktop should be, whether you're a power user, or a complete n00b. It's clean, easy to navigate, customizable, has a small resource footprint, and still remains powerful. KDE and XFCE both look like the cover of a Milton Bradley game box, with large, gaudy icons, UI's that require more mouse motion that is necessary, settings that are buried within settings, and require setup that many Linux users simply don't have the time and patience for. Sure, they may have more features than Cinnamon, but many users don't really care about extreme customization and tweaking. They just want something that looks great and works as expected. 


KDE desktop

 XFCE desktop

Gnome 3.10 is - in my opinion - an abomination of a desktop UI. The project is clearly being moved in a direction that will more readily support a mobile interface, and that's great...for mobile devices, but why oh why does the desktop unlock screen require an upward swipe of the mouse, versus a tap of the Enter key? If the Gnome team want to move into mobile, I wholeheartedly support that, but they're going to need to rethink their approach a bit. One UI for mobile, and one for desktops...it's really not a difficult concept to grasp.


The Gnome lockscreen looks nice, but isn't suited for desktop use


Cinnamon is everything these desktops are not. It looks great out of the box, and you don't need to spend 14 hours tweaking it, to get it to look and work the way you want it to. Clem has not burdened himself or his team with the mobile rat race that Gnome and Ubuntu are in, and I think they're reaping benefits because of it. Mint is #1 on the DistroWatch top 100 list, and I think Cinnamon is the main reason why...it looks great, and people love it. In fact, a lack of Cinnamon compatibility nearly prevented me from installing Arch Linux. I ended up scouring the web for information, and found out that Cinnamon 1.8.8 (updated to 2.02 today) was in the AUR, and haven't looked back since. Now I have a great Linux distribution, built the way I want it - no extra preloaded or proprietary crap - and I can run Cinnamon.  


My Arch Cinnamon desktop

This is, of course, simply my opinion; If you enjoy Gnome, KDE, or XFCE, keep on keepin' on. I don't hate those DE's at all...I just feel that they look hideous out of the box, and require too much effort in order to obtain the kind of look that I enjoy. They are, however, the old guard of the Linux world. They've been around forever, and many long-time Linux users have settled on one of the three. That's fine...Just don't flame me for wanting something a bit more refined, and a little less high maintenance. To each his own, but I truly believe that a DE like Cinnamon is 1) what people want, and 2) the kind of DE that will attract new users in droves. In the end, I think the Linux world will see a shift in the way desktop environments are made, and I believe Cinnamon will be at the vanguard of that assault. Cinnamon provides the best combination of user-friendliness, aesthetics, power, resource consumption, and customization, currently available - That's what makes it the best DE for Linux.

Friday, October 4, 2013

Why Linux is the OS of the Future



 No matter who you are or where you're from, you would have to live under a rock to have avoided using a computer of some kind. For someone like me - who was born in 1980, at a time when household computers were still a futuristic concept - witnessing the proliferation of tech across the globe has been astounding. The early computers I used in grade school were IBM machines, running DOS, followed later by Macintosh and then Windows boxes. I bought my first desktop - a Compaq - for my freshman year of college, in 1999, and as expected, I used it primarily for schoolwork, giving little thought to what else the machine was capable of. Back then, I had no clue what GNU, Linux, or Unix was, and even if I had, I wouldn't have been interested in learning about it... Windows did everything I needed it to do, so I had no reason to go searching for an alternative OS. Oh, to be young and naive! 

Let's fast forward to 2009... I had continued to use Windows-based machines for my computing needs, but in October of that year, I bought the OG Motorola Droid for my birthday, and my perception started to change. All of a sudden I was faced with a new ecosystem - a Linux-based OS called Android, that allowed me to gain su (root) access, and thus, modify and alter the system to perfectly suit my needs. As I learned more and more about Android - lurking in forum development and theming  threads - I kept seeing terms like 'Gimp', 'Linux', 'terminal' and 'Ubuntu' being used, and it piqued my curiosity. The more I read and learned, the more interested I became in wanting to build my own themes and ROMs, but I always operated under the assumption that Linux was the domain of those who had deep programming experience and knowledge - something I didn't have, and something I thought I could never acquire. "If I can't do it in Windows", I thought, "I'll never be able to do it".

Spin the narrative forward to last fall. I had recently purchased a Galaxy Nexus, and I was exploring the forums. By this point, I had a solid grasp of the Android ecosystem, and I had found out that I could use Gimp on Windows, to tweak and create my layouts to suit my taste... I even built a full theme for a ROM I was using at the time. I ended up hooking up with the development team that was making that ROM, and they pushed me to learn how to build from source, so I started researching the topic and pricing out new, more powerful computers. But one thing kept me apprehensive... I still felt overwhelmed by the prospect of trying to install and use a Linux distribution. About a month before Christmas, the hard drive on my laptop crashed, and that kicked my new computer search into overdrive. It was at this point that I figured, "What the hell...My computer is shot, but apparently I can install Linux on a flash drive, so why not try?". I had nothing to lose, and I had already burned an ISO of Ubuntu 12.10, so I popped it into my dead laptop, and fired it up. 

What the...?! The installation was ridiculously easy! All of a sudden, I was presented with a fully functional OS, that had all of the features I'd come to expect on a Windows system, it was faster (even on a flash drive), and it was free?!?! Ok Linux, you have my attention. I had discovered something wonderful and new. I felt like Charlie, witnessing the wonders of Willy Wonka's chocolate factory for the first time! No more downloading files, and extracting .exe files, just to get new software on Windows - I could now simply head to a centralized application repository, with a GUI, download the app, and run it right away! Ok Linux, I'm officially hooked!

From that moment on, I've fallen in love with Linux. The file system mirrored that of Android (which I was already familiar with), it was more powerful, had better tools, a more attractive UI, and uhhhh.... it was FREE! I read through countless articles about the Linux and open source ideology, I learned about the power of the command line, and I now had the ability to compile Android from source, which was my goal all along. I tried out different distros - from Ubuntu to OpenSUSE - and finally settled on Linux Mint. By New Years, I had a new laptop, and was dual booting Windows (to preserve my warranty) and Linux Mint 14, and I had begun to compile my own AOSP builds for my Nexus. I was happy, but I couldn't help but wonder what else the Linux platform could be used for. I discovered the Linux Action show over at Jupiter Broadcasting, and found out that Linux was being used to power all kinds of things, from high tech robots to home security systems. I also discovered that Linux distributions differ wildly, and that there are some distros *cough cough - Ubuntu* that were backed by corporations, that were finding creative ways to blend (read bastardize) open source principles with proprietary revenue-generating business models. 

With the recent news regarding Steam OS, the Steam Box, and an ever-growing interest in mobile Linux distributions, I've come to realize certain realities. First and foremost, Microsoft is losing both money and ground at a rapid ]pace, as more and more people grow tired of their proprietary, monopolistic business practices. By my calculations, Microsoft will cease to exist (in terms of global dominance, market share, and profit) in the way we've all come to know them. They're headed the way of IBM, due to an antiquated, archaic business model, and a stubborn, greedy corporate hierarchy. Microsoft's days are numbered, and unless they shift gears soon, they'll cease to be a major player by about 2030. 

Point two - Apple apparently has no desire to fill the void that MS is going to leave. Let's be honest, at heart, Apple is not a tech company, they're a marketing firm (and a damn good one). They are the P-Diddy of the industry - taking tech, developed by other people, and remixing it - polishing the packaging up a bit, slapping a shiny brand name on it, and selling it at a massive profit. Mac OS doesn't have a single feature that would distinguish it as an OS that masses of people would flock to in lieu of Windows. The OS seems to be the specific domain of 'Appelites' (Apple fanboys) - people who would buy a toaster from Apple, if they made it in high-gloss white, slapped an Apple logo on it, and called it an iToast.

Enter the Linux ecosystem. Whether it's Ubuntu, Fedora, Mint, or Arch (my current distro of choice), the platform has one thing the others don't... it's dynamic. You can pick a flavor of Linux that suits YOUR needs, and customize it to do exactly what you want it to do - no strings attached. Linux distros (including Android) share a common kernel base, and can therefore be run on virtually any device that supports it. That means desktops, laptops, phones, tablets... and it means that TRUE cross platform integration is absolutely possible. Ubuntu is pushing this agenda harder than anyone right now, with the impending release of Ubuntu Touch. For the first time, you'll be able to run Ubuntu Touch on your phone or tablet, and HDMI mirror it to your computer or TV, to give you a full desktop experience. It may sound like a gimmick, but think for a second... As long as your phone has enough storage (say 32GB or higher), you can effectively have your computer and all the related functions and files with you at all times, and all in the comfort of your pocket! No more lugging your laptop from place to place, no more needing to sync your cloud storage to someone else's machine in order to access your files - You can turn ANY computer into YOUR computer in seconds, and never skip a beat! I don't know about you, but that sounds awesome to me. 

The recent release of Gnome 3.10 (a popular Linux desktop environment) has seen some revisions as well - revisions clearly designed to make the DE touch friendly. That means we could see other distributions - other than Ubuntu - move into the mobile realm, thus offering even more options to users across the globe. Imagine being able to deploy Mint, Debian, Gentoo, Arch, or OpenSUSE from your mobile device to any computer you wish! That means Steam games on the go and available anywhere, your files on demand, and total freedom to use Linux anywhere you want to. 

Speaking of Steam, the Valve-powered, Linux-based gaming platform, has the ability to revolutionize the gaming industry as well. I own an Xbox 360, but many of my friends own the PS3. That means I couldn't play games like GTA V, Modern Warfare, or anything else with my friends, even if I wanted to. Steam can change that. It's already available on Windows, Mac, and Linux, and the service already has over 60 million users (second only to the Play Station network at 100 million). If Valve can attract enough developers to the Steam platform (I'm thinking of the Steam Box here), we could see global cross platform integration, allowing people in China to play with people in America, and everywhere in between. That would be massive, and could take a huge chunk out of the fairly stagnant console market pie. 

As you can see, Linux is on the come-up, and there's nothing anyone can do about it. The platform is poised to go viral within the next two years, snatching up the PC market share that Microsoft has ostracized, and filling the void that Apple seemingly isn't interested in. Linux is also positioned to make a real run at the gaming industry that has been dominated by the Xbox/Playstation duopoly since the late 90's. Linux is no longer the domain of uber-geeks, tech wizards, and hackers. It's available to and accessible by everyone everywhere. We're on the verge of a revolution, and the question is, are you going to get on board or be left behind, clinging to relics of the past? In a world that's constantly changing, evolution and adaptation are paramount. Your ticket to the global revolution is here. The future is now. 


 [Here are some resources for those who are interested in exploring the future. Get started with these user-friendly, beginner-friendly Linux distributions]

Ubuntu - discover Ubuntu
Linux Mint - explore Mint 15
PCLinuxOS - get to know PCLinux
OS4 Open Linux - delve into OS4

Monday, September 23, 2013

CyanogenMod Inc. - Building an Empire on Betrayal

Undoubtedly, the biggest hot-button issue facing the Android community today, is the current state of the uber-popular AOSP spin, CyanogenMod. Recently, the community has learned that the once fully open source firmware creation team, has taken steps to obtain funding (in fact $7 million in venture capital) and take the firmware commercial. Announced earlier today, CyanogenMod will actually be officially supported on the newly minted Oppo N1. For a single Android firmware to have come this far is nothing short of astounding, and gives even more legitimacy to the Android platform in general, and the Android development community specifically. The exposure is something that all of us should be happy about and thankful for. But wait - what if I told you that all of this exposure, all of CyanogenMod's popularity, most of its best features, and subsequently, the $7 million windfall the team is enjoying, is directly attributable to community support and code submissions from developers who are not actively on the Cyanogen Inc. team roster, and stand to gain nothing as a result of their hard work? What then?

If you browse the CyanogenMod Github or their Gerrit code review pages, you'll find thousands of submissions from hundreds of different developers, who have contributed to the project, under the premise that they were helping to grow a free, open source project. +Steve Kondik states, in a recent blog post, that he views CyanogenMod as "a mobile OS by the users, for the users" (CyanogenMod 2013).

In fact, here is how CyanogenMod itself, defines the project:

"One major advantage to having an open-source-based operating system is that many people can scrutinize the source code, looking for bugs ranging from security holes to inefficiencies to missing features and pass fixes and features and translations into new languages back to be incorporated into the next version. CyanogenMod tries to build a new, fresh "nightly" version every 24 hours for each of the devices it supports, which includes the most up-to-date changes to the source code, provided from all over the Internet" (CyanogenMod Wiki, 2013).

As evidenced above, Steve - and by extension, the team itself - still views CyanogenMod as a community driven project, nearly completely reliant on developers from outside the team to submit code, in order to keep the project moving forward. Indeed, CyanogenMod will continue to be (in some form) an open source project, free to its users. But here's the rub - CyanogenMod will also morph into a commercialized, for-profit distribution, built almost entirely by the open source community. There's no way that the 17 developers that currently comprise the team's roster, can continue to support 80+ devices, without assistance from the community, and yet, there is no compensation model in place for those who contribute code. Those developers are, in fact, submitting their talent and code to a commercial entity, and that code will be subsequently packaged and sold by CyanogenMod. This is an utter betrayal of the public trust, and blatant exploitation of a community of developers who provided the springboard for CyanogenMod's success. 

This betrayal has never been more conspicuous than in the team's recent dealings with former team members +Guillaume Lesniak ( aka xplodwild), and +Andrew Dodd (aka Entropy512). Lesniak, the developer responsible for the Focal camera app (the spotlight application for Project Nemesis), was seemingly confronted by both Kondik and Cyanogen Inc. co-founder and VP of engineering, +Koushik Dutta and told that his work (Focal) would need to sub-licensed in order to skirt the GPL, thus allowing Cyanogen Inc. to package and distribute it to their partners as they see fit. The problem? Cyanogen Inc. doesn't own the rights to the application...it was forked by them, from Lesniak's Github. Both Kondik and Dutta deny any attempts at coercion, but Lesniak explains his side of the story here.   

+Andrew Dodd responded to the situation on G+ yesterday, and hinted at his sadness, regarding the state of CyanogenMod in a post dated September 18. His reactions are logical and understandable, but as you can see if you open the comments section of the September 18 post, +Steve Kondik responded in a way that is callous, careless, and classless. His response, when Dodd was prompted to shed some light on the issues surrounding Focal, and Lesniak's departure, was as follows:

"Oh god please tell the story. grabs popcorn"

Since the announcement of Cyanogen Inc. the Android community has been abuzz with people voicing their displeasure, and of course, those who are blindly supporting the team, regardless of what has transpired. Land of Droid editor-and chief, John McKenzie wrote an excellent article three days ago, attempting to enlighten the public regarding the current state of affairs, and asked Kondik to respond publicly...which he did. You can read the article at the link above, but if you simply want Steve's reaction, then stick around.

Kondik has never hesitated to defend his and (by extension) his team's reputation, but his response to McKenzie's article was snide, crass, vulgar, and unprofessional. In an email response to the article, Kondik launches into a tirade:

"Hi John.
Interesting that you’d choose to make such a derogatory article based entirely on second-hand word of mouth and wild speculation.
Let me just make one thing crystal fucking clear.
I have spent the last three+ years of my life on this project. I live and breathe it now. There is exactly zero chance that I would jeopardize it. You’ll also find that the core CM team feels the same way..." (Land of Droid 2013)."

Classy... Now I am by no means, an accomplished or skilled developer. I build my own AOSP ROM, and I have fun doing it. I cannot - nor will I ever - be as skilled a coder as Kondik, and I'll never be so presumptuous as to tell him how to operate in that particular arena. I also respect everything he and the team have done for the Android platform. What I do know however, is business, finance, marketing, and professional decorum. 

News flash Steve - You are now the founder and CTO of a multi-million dollar company, with a public image. You are directly responsible for the livelihood of 17 other people, and indirectly for the livelihood of those at Oppo who have crawled into bed with you. You're not a private person, trolling haters on Xda anymore... You owe it to your team, your users, your investors, and your business partners to conduct yourself in a manner befitting the head of a corporation. If you continue to lash out at critics, you are putting your business and your subsequent profits at risk. Maybe you should hire a some PR personnel...or maybe (just maybe) you should put your big boy pants on, and act like you've been here before. 

Let me make this clear - I don't begrudge Cyanogen Inc. the ability to make money and feed their families. What I bridle at is the amoral and unethical practice of having thousands of people, submitting code to a project and helping to grow a global platform, only to have their work hijacked and sold for profit, by a group of people who never made their end game clear. Like thieves in the night, Cyanogen Inc. has built a brand, based largely on the work of other unaffiliated coders, and is now in the process of using that code (which doesn't belong to them) to turn a profit for a select few individuals. They have sold out their contemporaries, their coworkers, their friends, and their community.  

I strongly urge all Android developers, themers, and hackers to stop submitting code to the CyanogenMod project. If you don't place any value on your intellectual property, and simply want to watch others get paid for your hard work, then by all means, be my guest. I for one, will never again, flash a CyanogenMod ROM. I will never purchase another device, that doesn't have AOSP support, and I will never submit anything upstream to the CyanogenMod project. 

We - the community - have raised CyanogenMod to the status that they enjoy today. This business venture would not have been possible, without the support, donations, and code, submitted to the team by end users, and they have betrayed our trust, generosity, and loyalty. They have repaid the kindness of the community with subversive, deceitful, elitist behavior, and it is our job - as a community - to let them know.

But hey, you can't make an omelet without breaking some eggs, right? Cyanogen Inc. has done just that. They've built an empire based on betrayal, and they remain steadfastly unapologetic about it. It's a classic example of looking a gift-horse in the mouth. Stay classy, Cyanogen Inc. and best of luck. Lesson learned.


Additional resources:

Cyanogen Inc. homepage - http://cyngn.com/