I fully support vigilance in our FOSS efforts. However, it strikes me as odd that so many take such a narrow view. FOSS is supported in many ways:
- Open source – Make the source openly available.
- Open standards – Use or create common available specifications.
- Open development – Accept development contributions (source, review, test) from outside contributors.
- Data ownership – Allow users to maintain ownership of their data by being able to move their data between their choice of solutions or remove their data entirely.
It is NOT all or nothing and we do ourselves a disservice to pretend it is. There was a time when we just begged for companies to use open standards. Now, with few exceptions, I can open any one of those Google web-based apps (and most sites on the web) in any standards compliant open source browser, including rekonq, firefox and chromium. For all your data in those apps, you can take your data out and go somewhere else. Google Docs uses the Open Document Format, Google Chat uses XMPP and Youtube uses WebM. Google Summer of Code exists. And then there are the myths surrounding personalized search. Personalized search can be useful to me, so I use it. But there are many times when it is not useful and the many on-point concerns raised about the “content bubble” articulate those times well. Personalized search can be disabled with a button right there on the results page *and* can be turned off permanently. Personalized ads can be disabled permanently. I could keep going but I think I already sound enough like a Google salesperson and I’m not trying to convince anyone to use Google’s solutions in lieu of others that better suit your needs.
As a hobby hacker I am excited that Android is open source. Yes, Android is open source, not open development. No one claimed otherwise and it hardly means it’s all for naught. Open development for Android would be great, but the *fact* is that there are potential downsides including incompatible devices using unreleased code and fragmenting the ecosystem even more. It might not be a big deal for me personally, but I can certainly see how it could be big deal for others (including Android app developers). Pretending there are no downsides isn’t being honest. No Honeycomb was not open sourced for good reasons AND Google was rightfully taken to task for it. Yes, both can be true. Ice Cream Sandwich is open source. I’m excited by the precedent that the success of Android set for device manufacturers to look more seriously at open source. I love that I have a hackable device in my hands with so much capability. I love that we’ll be able to purchase a Spark with Plasma Active. I love the precedent that the Spark sets for future devices with a Free software stack.
We cannot be so myopic to pretend that unless we have everything, nothing matters. I love that the KDE community lives up to every one of those bullet points above in both words and deeds. Yes, no one gets a free pass and we must be uncompromisingly vigilant in pointing out to Google and others the specific areas they fall short. It is both this vigilance and the recognition we provide when companies do the right thing, that has gotten us to where we are today. However, these Tourette’s-like outbursts declaring the end of the world is nigh, are actually counterproductive. Why? Because when we use the exact same words to describe far worse offenders, it drains those words of any meaning and it deprives the rest of the community of the rhetorical tools we need to fight for the goals of this movement.
Bangarang’s development is now hosted on KDE’s git infrastructure in playground. Many, many thanks to Ben Cooksley and David Solbach for their patient help with the migration from Gitorious. I’m not a software developer by trade, so their help was invaluable. The translations are now also hosted by the wonderful KDE translation team – thanks for handling the move Albert! The new development project page is here.
Gitorious has been an absolutely wonderful host for this fun little project for the last 2 years. In that time there are many things I’ve learned and there will certainly be many things I’ll miss. That said, I am definitely looking forward to working more closely with the KDE community.
So this is your invitation to join in on the fun. As always, Bangarang remains a project I spend time on for no other reason than the joy of it. Good energy in, good energy out. Rumor has it that the KDE community has oodles of good energy!
There’s nothing like doing what you enjoy for no other reason than for the sheer joy of it. Even better, when such joy produces something you can experience. Bangarang 2.1 is now released.
I really enjoy creating stuff. Occasionally, if I’m at all like other folks (debatable, I know), I look at the stuff of other people’s passions (music, paintings, architecture, whatever) and say man I wish I could do something like that. I often find myself wishing for the passion of others while ignoring my own passions, my own motivations. Working on Bangarang is one of my own avenues of creative expression. I do it with joy. I’ve learned that, much like others who explore their own avenues of creative expression, I’m most creative when I choose not to do it from a place of anxiety or obligation to the work. It sounds stupidly simple but I have the most fun when I’m actually having fun. Fun breeds fun. Joy breeds joy. And it is not just ok, but better, to take breaks when the fun diminishes. That is the luxury of a hobby instead of a job. I do it for fun and I can take breaks whenever I want to. And the fun does diminish. It is the nature of living. We can’t go about prancing around like we’re blissfully happy and eternally creative all the time. We’re not. And that’s ok, because it allows us to appreciate those joyful times all the more.
And the Bangarang 2.1 release paired with the holiday season is one of those times for me. Happy holidays!
(Release notes are here).
Mmmm, after the jerk-flavored roasted turkey for Thanksgiving dinner (with an amazing Paula Dean corn casserole) I got some excellent coding mojo. That is, of course, after the tryptophan wore off. Then I realized that it has been over 6 months since the last bug fix release and it kinda seemed like it was about time to get these fixes I’ve worked on over the last few months more widely distributed. So I tagged Bangarang 2.1 beta last night.
There was once a 2.1 target features list, but as I’ve realized over the last few months, with just myself as the main developer, it just makes sense to work on whatever motivates me, when I’m motivated to work on it. I’ll do target features and and more fixed release schedules if the number of contributors grow. Fun is my biggest motivation and it’s gotten quite a bit done thus far. And yes, I do enjoy knocking out bugs as much as I enjoy adding features.
I think there were enough new features to warrant the bump to 2.1 instead of another 2.0 bugfix release. Anyway, I’ve really enjoyed these last few months of development and if anyone wants to join in on the fun, holler! Till then please help me test and report any issues you encounter.
So several weeks back, the wonderful Kubuntu folks, on behalf of Canonical, supplied a tablet to help me test modifications I’ve been making to allow Bangarang to be more touch friendly. Bangarang was shipped with Plasma Active One with some very basic modifications to help make it at least tolerable on a touch device. I’ve spent a little more time trying to improve the touch mode and the supplied tablet has made it so much easier for testing.
I just committed some of these updates to master and I’m looking for feedback. Feel free to use the bug tracker or Google+ to share any feedback with me. You can use the comments here as well. Here are a couple current screenshots of Bangarang in touch mode (bangarang –touch):
A few of the updates for touch mode include flickable scrolling in the media lists, playist and Info View, disabled some mouse hover interaction mechanisms and redesigned others to work better in touch mode, adjusted more widget graphics, size and spacing to work better in touch mode, touching the video during playback shows or hides the playback controls and a few bugfixes. No, I’m not totally pre-occupied with these touch mode enhancements – I’d like to tackle some bugfixing over the next few weeks. Anyone interested in helping is welcome.
I’m really grateful to the Kubuntu folks and Canonical for their generosity. I have much more touch mode work to do and, so far, having a tablet for development testing has made it much more efficient and fun.
Ok so ownCloud is just fantastic. At version 2.0 it is so polished and works so well.
So just how much do I think ownCloud rocks? This much:
You can browse and play the music on your ownCloud (or any Ampache server) from Bangarang. Added to master this weekend after a couple days of hacking.
Did I mention that ownCloud rocks?!
I started using KDE around 3.0 and it has been a blast to see this wonderful little collection energy beat so many expectations over and over and over again. Now that I’m not just a user but a developer of apps that build on the foundation KDE provides, it is wonderful to see just how far down the stack the warmness of KDE, the community, extends. Every now and then I have to remind myself that this amazing infrastructure is all developed then _voluntarily shared_ by people, despite the many pressures that exist in the world that tell you _not_ to this. This is something genuinely amazing to experience as a user and an app developer.
Remembering what it was like being 15 years old, I wonder how similarly impatient, clumsy, creative and anxiety-ridden KDE will be over the next few years. Perhaps KDE will weather those years much more gracefully than I did.
With the recent activity surrounding Plasma Active, I was inspired to do a few simple things that might make Bangarang a “touch” more tolerable on tablet devices.
I had already made a conscious effort in the existing UI design to account for lower resolution displays like netbooks. Now I hope to get to the threshold of being at least tolerable on tablet devices. This primarily means accounting for sometimes higher dpis as well as the more obvious transition from a mouse and keyboard to touch. At a minimum, this means increasing target areas and increasing the pixel size of some visuals and text. (More completely, it means a full evaluation of all the interaction mechanics necessary to execute the basic use-cases and adjusting the design accordingly).
So the result of this first step are in the following screenshots:
Touch disabled(left) and enabled(right)
And at what I think is the WeTab resolution:
I also disabled drag and drop in the Media Lists view when touch is enabled since it’s likely to be running fullscreen. Note that this is not all QMLified and fully optimized for touch (including swipe scrolling and all that)… yet. Like I said, I’m mostly hoping to get it tolerable first.
But here’s the deal. I don’t have a tablet with Plasma Active to test on. Which means I’m mostly doing this with my overly active imagination. So if anyone would like to test and can provide some feedback you can get the latest from http://gitorious.org/bangarang. To enable touch, run “bangarang –touch [any character]“. Thanks!
Bangarang version 2.0.1 has been released. This is a bugfix release.
- fix crash when playing video with phonon-gstreamer 4.5.0
- tag sorting
- updated translations
Download links are at the bottom of the page.
This is the second entry in what I might make into a “UI Considerations” series. The first entry was UI Considerations for the Small Independent Developer that covered a few basic concepts like use-cases, Information Value and Interaction Impulse. As a reminder, these entries are oriented toward to the hobby developers that do not have the resources of an expert UI design or test team, but are still seeking some easily digestible UI guidance that they can act on at design time. To be clear, this is not canonical UI guidance nor is it intended as a substitute for expert advice. These are just a collection of my observations over the years as a hobbyist and a borderline-obsessed fan of design in general and UI design in particular.
A quick recap from the first entry:
- Ideally, use-cases should be implementation-agnostic.
- The best UI allows the user to accomplish their goal(s) with minimum cognitive impact.
- Reducing or eliminating elements with low Information Values should a goal of the UI designer.
- Minimizing or eliminating high Interaction Impulse elements that do not support the use case should be a goal of the UI designer.
In this entry, I’ll take a look at layouts from a pretty high level. The focus will mostly be on the high-level layouts you see when you first encounter an application, a desktop environment, or website, not necessarily the low-level layout used for individual UI elements. These high-level layouts may also be how you recognize or remember the application. For example, when you think of a Windows 7 desktop what is the first image that comes to mind? For me that image has two general sections: the desktop area on top and the taskbar area below. How about a web browser like Chrome or Rekonq? Address bar + tabs on top, page content below. How about a file manager like Dolphin or Nautilus? Places on the left, list of file icons on the right. I’m talking about that high-level layout you encounter when you first ask yourself ”Ok, how does this thing work?” and proceed to visually scan the application for clues. Go check out your favorite app, desktop environment or website and see if you can identify the top level layout pattern.