Systemd in GNOME, PackageKit and what GNOME as an OS really means

Is the sky is falling? Is GNOME going Linux only?

recent proposal be PulseAudio and systemd lead developer Lennart Poettering to add systemd raised concerns that GNOME might drop support for non-Linux platforms.

Rest assure this is not the aim. Lennart in follow ups to his proposal explains that systemd could be separated into a core set of interfaces which could take replacement backends that support e.g. FreeBSD so long as it implements the interfaces systemd cares about or as it was their init system. What Lennart doesn’t want is a lot of additional code in systemd as it is today to support these platforms as one of the main advantages is the simplicity and elegance obtained by relying on the functionality presented by Linux.

Why should we care about what systemd cares about?

Because systemd gives us a powerful set of tools to improve the user experience along the improvements promised and shown in performance and standardization (read Lennarts excellent series explaining systemd on his blog). With systemd we can replace some core functionality such as ConsoleKit which would allow for a smoother multi user experience.

Solving simple problems such as setting the pretty host name that gives your machine identity. Systemd strives to allow this now by standardizing on such things as where this data is stored and it what format. Fundamental assumptions about the system that will benefit the user experience.

Systemd goes beyond that, it’s interfaces provides us a set of information and functionality which we can use to make GNOME more user friendly. E.g. systemd lets us provide a smooth experience via it’s control group tracking of all processes. This allows balancing of CPU (and likely also IO) resources between applications making a system slow down more graceful and the overall experience smoother. This tracking also allows GNOME precise knowledge of these processes. data which might be used for improvements in how gnome-shell displays information to the user.

Shouldn’t we wait depending on systemd till other platforms are supported somehow?

In honesty, resources are scarce and the truth is that the vast majority of developers and users of GNOME are on Linux. We have a reference implementation now on that most used platform and replying on it’s interfaces would allow us to provide a superior user experience both short term and long term. Depending on ystemd only means depending on its interfaces and competing kernels can init systems could very well provide these interfaces as well. That effort is though on their shoulders but with apparent willingness to cooperate.

How this is analog to PackageKit longterm

Many people misunderstand PackageKit, mostly I suspect because they have had poor experiences with the default PackageKit user experience. PackageKit is not about these tools, PackageKit is about defining a common interface to talk to the package manager. This allows e.g. integration so that the system is requested to install support for missing formats if it is available. Common examples of these situations would be missing compression formats like .rar, missing codec support such as .mp3.

It is not about .deb vs. rpm, nor yum vs. apt-get!

PackageKit like systemd exist precisely to avoid those fights. The existing tools and package repos are excellent, what we care about is not replacing them but working with them in a consistent fashion. In PackageKit every package manager implements a backend which supports a common interface. In the same way that depending on systemd allows the assumption of a common set interfaces which can be used to enhance the user experience. There should be nothing technically baring an analog solution for systemd as what PackageKit has for separated backends.

But the PackageKit user interfaces are still ugly David!

That is true and it is widely agreed that the Ubuntu Software Center is a superb experience. It currently works not using apt-get directly but using an incompatible PackageKit fork aptdeamon. Porting this to PackageKit is being undertaken by Alex Eftimie under Google’s Summer of Code 2011 so fear not you shall have the same experience as always, and it will be available on any GNOME platform. Naturally depending on completeness of PackageKit backend and existence, though most major distributions are covered to some degree.

Ubuntu’s other tools such as the update experience are also aptdeamon tools and could be ported. My personal feeling would be that the better investment of resources would not be specifying GNOME3 stories for upgrades and updates in additions to the stories already told by PackageKit.

PackageKit and systemd are slow!

And I postulate to all that slow is a bug. In the case of systemd one of benefits should be performance an Lennart is already matching an Ubuntu Upstart powered 10 second boot. As I understand with patches to a standard Fedora 15 install and no LVM as I understand. PackageKit might have hard problems to solve to match what aptdeamon gives Ubuntu in terms of performance and certain features but Richard Hughes has shamed concerns before with actual hacking. I would trust him to solve this problem long term and reap the benefits of being allowed the assumptions PackageKit gives GNOME now.

GNOME as an OS is (partly) about interfaces, not defining a Linux only desktop that runs only on Thursdays if the window is open

Interfaces like PackageKit and systemd allow GNOME to solve problems and provide real improvements to the experience. The sad side effect of leveraging what the vast majority of GNOME users already have in Linux is short term that GNOME will be Linux only. Long term it is up to the competition to provide the same interfaces. This is no different than depending on Tracker or GTK+, these needed tools which provide the interfaces we need might not run on a given platform. Given resource constraints it must sadly fall upon these platforms to contribute in providing those required interfaces.

An adventure in Open Source contribution

I’m now officially a contributor to Banshee.

While I have done a lot of advocacy work and packaging, this is my first ever proper code contribution to Open Source. Coding as such never really excited me and as a result it has been some 5 or 6 years since I last sat down to understand and work on significant code. Even then I never really got deep into programming as specification and design always was more fun to me than implementation.

It all started when a friend buzzed me a presentation by Anders Hejlsberg titled The Future of C#. While I haven’t done much with .NET I have always been impressed by it as technology and I was eager to learn of what new tools would come in the future. Naturally the talk was also attractive to me because one of the features Anders demos (Compiler as a Service) as a coming post 4.0 release feature is in Mono today, something I always like to think about when people say that Mono forever will be “chasing the dragon”. Regardless, the talk got me excited about coding and was extremely entertaining to boot. So I wanted to try something, anything, and since I like Banshee but also see it crashing and being slow a lot as a daily stress tester and bug filer I decided to subject it to experimentation.

In comes the magic of .NET, Mono, and Ubuntu. In Ubuntu I found all the tools I needed, namely MonoDevelop, mono-tools and finally Gendarme. Gendarme is a really cool project that can inspect assemblies and executables according to a set of rules for such things as security, performance and even bad practices. So I decided to run Gendarme on then content of /usr/lib/banshee-1 expecting to see a few hits and probably a lot of false positives. However Gendarme returned more than 8800 issues even on medium settings, so I limited my focus to just the performance rules set.

Gendarmes issue reports have excellent documentation with examples of bad and good code as well as careful explanations, making it easy to pick a simple problem such as the one addressed with my patch. In this case we now determine these variables at compile time rather than at link time which is faster. It is safe to do and doesn’t break external assemblies as the fields are not shown outside. All of which was explained by Gendarme and confirmed on the Banshee IRC channel. Gendarme even explained how to fix the issue, it could not be easier. Bertrand Lorentz was kind enough to sign off the patch and commit it within minutes. As an example the Gendarme article on the issue type my fix addresses can be found here.

Regardless, that was yesterday. Today my Banshee is once again back to being a git build by hand which with the excellent Banshee daily repo hasn’t been required since I stopped contributing to Fedora. The reason is simple, I needed to compile test some more changes as I was reading the Banshee source code and learning. With friendly hints from the existing developer base also growing some basic understanding of what is going on.

Contribution is easy, zero to sixty even, with Mono and Banshee.

Paying for software and supporting Open Source

I am getting a little tired of the accusation getting levelled at me when debating with the anti-Mono crowd that I don’t support Freedom and that I am destroying Linux. I even once got accused of taking a paycheck from Microsoft and/or Novell, but to be clear neither company has ever paid me a dime for any work, in fact no technology company has ever given me a salery. I have taken gifts in return for work, e.g. Novell kindly gave me a copy of OpenSuSE 11.1 and a t-shirt for some bug reporting.

While this types of claims are entirely baseless slanter I think now is the time to come out and say that I love freedom. I love freedom so much that not only have I used Linux for more than a decade as my sole OS but I actively donate to projects and people that benefit our ecosystem.

I am a dues paying member of the EFF, I am a dues paying Friend of GNOME. I preordered the Yo! Frankie game to support open game development even though I never actually got around to playing it but it seemed like a very important missing piece in Open Source to cover high quality open gaming and show that it cam be done with full transparency.

When Richard Hughes asked for money to buy a color calibration thingy, even though I likely have no need for the work he will be doing using it I donated. Richard has donated much of his considerable talent, time and effort to projects such as gnome-power-manager and PackageKit, work for which I am grateful every day and he deserves my gratitude in the ways I can show it and my thanks for improving Linux.

Likewise I am a customer wth Fluendo, not because I feel I have to get around software patents since they are not currently legal in Denmark. However I feel as a software tester that I should test not just the solutions that are kindly available to me but those I advocate less fortunate people to examine. That being said I have actually found the Fluendo codec pack to solve issues present in the open solutions and having a working DVD player is great. I don’t especially enjoy the proprietary nature of these products but I know that much of the money I pay Fluendo will be put directly back into GStreamer development and advocacy for Open Formats.

On the open content side I make sure to buy documentaries and movies such as Sita Sings the Blues, Good Copy Bad Copy and the Piracy Documentary. I also have just signed up for a membership with Magnatune to support their fine service (about which I have have ranted previously).

Most important to me personally though is the time I put into bug reporting and following Linux every day.

All of this can of course be documented, but really it shouldn’t have to be. The accusation that I am destroying Linux is lowbrow attack which is beneath any reasonable argument. Consider this what should be a completely unneeded rebuttal to such claims.

So I ask you, what have you done for Open Source lately. Do you merely rant and leech or do you support with actions, words and wallet when you can?

Dear Canonical

Dear Canonical,

Let me start out by saying this, I am in no way opposed to you turning a profit. However I believe your recent actions, including but not limited to the Canonical-Yahoo! revenue sharing agreement (henceforth: YahooGate), are hurting Ubuntu and the Ubuntu community.

We can both I hope agree that Ubuntu is marketed as a community project and that was it not for the community Canonical today wouldn’t be where it was. Likewise without Canonical there would be no Ubuntu, you are valued community members and valued sponsors. However I feel that YahooGate shows that you are now willing to go around the community and enforce changes without debating or even proposing these changes to the community ahead of time. We were not asked if there was an interest in entering into such deals, and if so how such changes should be rolled out, let alone limited. You acted like bad community members and that cannot be allowed to happen.

As community members, it is our duty to hold you accountable, to keep you honest. Likewise I would see it as Canonicals duty to hold the community accountable to it’s actions. In that spirit I will quote the part of your own governance charter which I feel was infringed upon as a result of your dealings in YahooGate.

2. ensure that decisions regarding the Ubuntu distribution and community are taken in a fair and transparent fashion,

As you will agree I hope, you announced this change unilaterally without first discussing it in any way or form. As a result here of you cannot claim that the governance charter item 3 can be considered in effect.

3. ensure that necessary decisions are actually taken, even when there is no clear consensus amongst the community.

If we are not consulted we do not know there to be a situation we might need to take a stance on, we cannot make a fully informed decision and we cannot uphold our duty to keep Ubuntu on the path to creating the best possible experience for users.

I ask you to consider that one of the many things users might flee from in the Windows world is preinstalled trialware and other sponsored changes to the defaults, a problem so great that chains like Best Buy have started offering dubious additional fees to “optimize” machines prior to delivery, a service that effectively is comprised of removing all of these additional programs (programs the OEM, like you, make money installing) and resetting defaults. We should avoid at all costs to end up in this situation, this is why I feel that only technically grounded arguments should be valid in determining the defaults in Ubuntu. The aim should be to create a truly pleasant and enjoyable experience, that in itself I believe will prove to be a larger generator of income than any such deal might.

You have entirely failed to present a case for how this change benefits the Ubuntu user experience and in the process have also set a dangerous presidence. What defaults in Ubuntu are for sale and at what price, clearly as long as the user remains with the choice to replace any such default you can put a suitable price on any default. If not where would you define the limit? Going past any technical argument, any argument for the general benefit of the user. E.g. could I offer to pay you a one time fee to make Banshee the default mediaplayer e.g. and in that case, where would that price lie. Not that I intend to pay you but I would be interested in just how big my wallet has to be to have a voice in Ubuntu because clearly being a long time contributor isn’t enough to even get asked about the general guidelines in such cases despite the governance charter.

Then there is the problem of how this is being intended rolled out to users. I gather from the information you have released that you do not see a problem with your plan to also apply this change to upgrades not just new installs. There also has been no mention so far of any user notification at all, I would at least present the user with the information as to why this change was made and a guided way to change the default back. Here I would suggest looking at what Google does with Chrome and Chromium on the first launch. This would be sufficient I think to let the user be able to make an informed decision.

Finally there is the problem of transparency, you say that the income generated from this deal would go towards paying for open development of Ubuntu and the Ubuntu Platform. Given this premise would you be wiling to open your books and let the users see that you uphold your word and put the income you generate from this into Ubuntu?

I am not entirely opposed to this kind of deal however I believe the community and Canonical need to agree upon a set of general guidelines for areas where this would be acceptable and where it wouldn’t be. There would be a need for full transparency in this cases and the user would have to be presented with the option of making an informed decision whenever Canonical has made a change to fiancially benefit themselves to support it or not. This transparency would need to extend to the accounting, if we cannot see that the promised benefit of these deals reaches the Ubuntu user we will be forced to assume that you are hiding something.

If you expect something from us, you have to give us something in return, in this case a voice. I think the community has earned that much. Till you do so and apologize for your handling of YahooGate I will personally pledge to cease doing support, filing and working on bugs as well as promoting Ubuntu. I wish you good luck in the future.

On a personal note, I hope you will do the honorable thing and politely break off the deal with Yahoo! before sitting down with your community of contributors and working on this details. I hope you will alay the fears that this might continue to be a distraction from creating the best possible desktop experience available to mankind. I hope you will show that you despite your actions respect your contributors, that you will affirm that community is more to you than a word, that this relationship we have in order for us both to flurish needs to be a cooperative symbiotic in nature. Right now your actions speak for themselves.

I would also like to extend my apologies to Yahoo!, I have no bad feelings towards your search engine, I do however currently find it technically an inferior choice for my needs as well as those users I have the honor of working with or helping. I do not believe it to be in the best interest of Ubuntu to default to your service currently. I hope you can work on that and propose the change on pure technical grounds one day, at which point I will be happy to support your move without any need to buy your way into Ubuntu. I bear no ill will towards you but I also know that certain members of the community has been calling you names and accusing you of having impure motives to entering in this deal. I see no evidence that this is the case and in the interest of goodwill and honesty I distance myself from such reprehensible behavior. I wish you good luck in the future and hope to be able to find common ground to work with you on in the future that will benefit us both.

Sincerely,
David Nielsen, a disappointed Ubuntu contributor.

Does this droid owner have buyer’s remorse?

This is an reply to the InternetNews.com story: Will Droid Owners Get Buyer’s Remorse?

I recently bought an HTC Hero and while it is a nice phone I have found it to be slow in use and not really fulfill the promise of being much more than a phone.

I’ve learned from it that I would like something that runs a UI experience that is closer to stock Android since the porting of a large change such as the HTC Sense UI takes a long time to complete as the Android base progresses and improves. Time when the user is deprived of updates to improve the experience and instead of slow incremental changes they get rare large code dumps that likely also changes behavior. This causes issues for users learning the basically new phone all over.

I’ve also learned that I would like a hardware keyboard since I am not cut out for on screen typing. Furthermore I would like to see some of the more logic extensions be made to the platform such as letting known friends addresses appear in the map application.

Skype on Android is utterly crippled, there is some kind of restriction being enforced to disallow the application from using the data connection. That sours the experience quite a bit.

All in all while I bought the phone because I needed one and thus had to pick what I thought was the best phone at the moment. I really wish the Droid had been available to me subsidized as I am not ready to pay for an unlocked phone with the mobile contracts as they are currently since it doesn’t save me money.

The HTC Hero isn’t a bad phone but the realistic competetor available to me at the same price was a new iPhone 3GS 32GB and it is certainly an inferior phone to that on many counts.

If you are thinking of going with the Hero to support Open Source then you should also know that HTC adds a proprietary UI and know that it comes with costs though it provides a very compelling UI.

The perfect Android phone might be closer to the Droid or the Nexus One depending on your preference and use cases. They are still slower on things like loading and rendering webpages than the 3GS but the hardware is solid and should support the platform as it expands. You should expect this expansion to be directly and naturally deployed for these phones an thus be improved with updates regularly considering that they are a very standard Android deployment. You could consider it an investment of trust in the platform, it doesn’t quite provide an experience that really beats the the iPhone solidly yet but it has considerable promise and past performance as an indicator will reach it soon. Bet on it coming to these products soon.

I elected to go for openness regardless, I know I have an inferior phone for it. It’s still a good phone but it’s not more than a phone in any really revolutionary way. It’s for people like me hoping to reduce the amount of gadgets I carry by removing my mp3 player, the Hero doesn’t replace a good camera though. Likewise the experience isn’t bad but isn’t really followed through to it’s natural conclusion to the extend competitors have done. Openness outweighted that, even with the encumberance of the Sense UI, for me. It isn’t likely to be the case for a lot of people.

I don’t have remorse for buying an Android phone but I acknowledge that the competition is overall a superior choice for most people right now.

Why “helping MySQL” reflects poorly on us all

As of late Monty with the support of leading FSF figures has started campaigning to “help MySQL” since Oracle surely will mean it harm. Here is why signing such a petition in my personal opinion is a bad idea.

1) The grassroot movement is basically turning into spammers, going to every forum and other venue they can come up with an posting the same copy and pasted message without providing a reasoned argument for their case in such posts. Signing the petition is rewarding this behavior.

2) This is largely about commericalization of MySQL. Namely the right to monitize from relicensing for commercial clients who do not wish their codebase to be infected by the GPL license for one reason or another. This has nothing to do with the software’s freedom status and given the FSF’s behavior as well as argumentation throughout recent years, the entirety of the inherent freedoms remain intact even when forking the existing codebase, meaning that this is entirely about the right to make money from proprietary use cases of the code. Thus the FSF once again shows that they do not have the moral high ground given their abusive and divisive behavior towards more pragmatic community members arguing for such use cases historically (e.g.: the Miguel de Icaza traitor incident).

3) Outside of the right to monitization for proprietary use cases the only thing lost is the right to use the name MySQL. While there is a significant brand behind MySQL this is not a technical argument against the letting Oracle do with their obtained property as they please. MySQL was sold long ago along with the rights to the name and the copyright and such objections should have addressed then instead of assuming that MySQL would always remain in the hands of those we consider friendly. This is more an argument against copyright assignment than anything, if you do not agree with what is happening to MySQL right now, do not agree to contribute to projects that require copyright assignment. Now is not the time to attack a company for utilizing the rights that come with obtaining copyright assigned code and the people to do such campaigning most certainly shouldn’t be the FSF who themselves require copyright assignment.

4) The superior technical solution will eventually unseat MySQL and we already have several forks in progress including Monty’s own MariaDB and Drizzle, their respective developers will have to rewrite the code to clear the copyright ownership and learn from this incident or simply find other ways to pay the bills than selling rights to use the code under a different license than the GPL. Meaning the GPL isn’t a suitable license for such projects especially when combined with copyright assignment. In the grandest of traditions in Open Source this will spur competition and open the market to a compatible but commercially more paletable solution, unseating MySQL from new code (or existing “non-encumbered” code such as PostgresSQL) rather than a fork of MySQL. Futher underlining that this is an argument from people with a vested interest in reverting their own mistakes of the past.

5) While this is not the sole reason for the EU and similar governmental agencies holding back agreeing to Oracle finalizing their purchase of SUN it certainly isn’t helping. While this deal is in limbo, SUN is bleeding money and laying off many fine employees, in the progress directly hurting the Open Source community by removing valued contributors. Consequences for which the FSF nor Monty or any other party involved in this campaign has expressed the slightest remorse or concern. If they want to claim the moral high ground they should at least address this, apologize and amply justify their actions to the people who are left without jobs in an already hard pressed market and economy. I do not believe they are in a position to do so as they themselves are to blame for creating the situation.

In short, my opinion is that supporting this campaign makes the Open Source community look like offended children who would rather take the ball they already gave away and go home than live with their decision. It is our own failing that caused this situation and instead of attacking Oracle over it while people are losing their jobs and the Open Source community loses valued contributors we should review the road that led here and consider adding a freedom from copyright assignment clause to the list of inherent freedoms that needs protecting. Futhermore we should encourage a wide sweeping review of our existing projects and see which are in danger of ending up in the same situation as MySQL. Any action taken to deal with these situations should be above all be calm, polite and non-confrontational. if any projects show as currently being in danger and action might be needed should rational evidence based argumentation fail to work with these projects or they ask us to not argue against their policies, competition should be assumed as the natural outcome.

In the interest of intellectual honesty, the other side of the argument is available here.

Dear HTC

Considering that snowstorms made going outside unsafe during the last days I could return my Hero we are now stuck with each other so what do you say we attempt to make it a kickass experience instead?

Firstly, drop the Sense UI, I know you invested heavily in it and rely on it to sell phones with a superior UII experience and with Android versions prior to 2.1 that is likely to also have been the case. However you too must realise that it is a burden to have to port it to every new Android release to ensure that your users have the lastest version. You might not think it matters to be on the most recent release but it does, e.g. for reasons of security, unlike an old non-smartphone, my HTC Hero contains a lot of personal data such as contacts, my music, mail, Facebook login information – all information I would like to know is as protected as it can be. Ensuring that you keep up with upstream Android means that any security fixes are obtained at the cost of testing the release against the hardware and ensuring that your users are notified of the update (optimally you could offer to perform the upgrade automatically over the air – it shouldn’t be technically impossible).

Additionally you should get translations for free, when I got my Hero it only had English interface and only after going through a painful upgrading experience did I get Danish support. Being localized for free increases your potential pool of customers vastly, e.g. my mother would never use a phone that was in English, she would use one in Danish though. Working upstream is no big enlightenment for us Open Source people but I realise that it might hard to get right for you, we will be happy to help you. It is true that short term you may suffer a bit due to losing the ability to sell your phones on the preceived superior UI experience but long term you will be able to save money on maintance and development of devices. It would force you to compete on the superiority of your phones design and hardware but I am confident that you can do this as the HTC Hero I have in my hand is a solid design and very pleasing on the eyes even if it could stand to be a lot faster and smoother. People will happily pay for a good phone and with subsidized plans it’s not even going to cost an arm and a leg.

Make it easy to write text in another language without the autocorrecting spell checker doing stupid things such as replacing you with joo (which doesn’t even make sense in Danish). It’s is some what a big deal, the current generation of smartphone users are likely to both need their local language for text messaging friends but email could very easily be in English (or in my case, messages to my fiancée are in English as are 99% of my mails but text messages to my friends are otherwise in Danish). Given my usage pattern typing messages takes forever since I have to carefully correct nearly every word.

Let my contacts appear on the map if an address is known and allow me to define known locations (and let me tie those to contacts). This is pretty much a no-brainer that would enhance the usefulness and user experience of the maps application.

Include a Google Reader application, there are a few news applications in the store but none included in the bundle you get with the phone, however there are applications for monitoring stock prices. I have an overwhelming feeling that more people will benefit from a news reader so please hurry and include one.

Include a todo list program, it is really missing from the standard bundle and no good placefiller exists in the store that integrates well especially with my online experience. I can buy an app to interact with Remember the Milk but for such a simple and fundamental task I really don’t want to pay 15$, especially since Google has a similar todo list I could easily use. Bonus points would be given if it handles situations such as “Remember to buy milk” then being location aware and having access to a list of nearby stores it could beep and remind me that I need to do this if I ask it to.

Increase cooperation between applications, e.g. the other day I was having a text message conversation with an old friend and we arranged to meet up. However there exists no way to simply click the conversation and convert it to a calendar entry (it would also be interesting to be able to convert to a todo list entry since todo list entry basically are calendar entries without a date attached). Bonus points would be given if you can manage to take hints from the conversation for dates and date references such as the day after tomorrow (in multiple languages naturally) to suggest the correct date when creating the calendar entry.

Release specifications so that someone might implement a flashing tool for your devices that works under Linux. It would be nearly entirely free for you to do so and considering the popularity of Android with Linux users (as Android is a Linux platform) it would likely aid a lot of your paying customers. Given a release of specification rather than the release of a proprietary tool such as what you have for Windows would very likely also give you support for the Mac platform for free as well. Such a move would also buy your company a lot of goodwill with the Open Source community and show us that you are want to work with us, such trust is a good investment and can be the thing that tips the scale for buying an HTC device for a number of users. We’d rather own devices from companies that work with us than not and will warn each other of companies that directly work against our interests. Looking at how closed off the iPhone is and how much trouble Linux users have using their devices to their fullest, it would be very likely that distribution wikis would include a recommendation for Android devices and provided that HTC makes it easy for us to include full support a specific recommendation of your products wouldn’t be unthinkable – we are good to those who are good to us.

My stubby finger tips have a hard time hitting those on screen keys, perhaps we could find a solution for this. Hardware keyboards are good but tend to be a problem for localization and slow you down getting to market in a lot of countries. Clearly the on screen keyboard is a good idea but the keys are simply to small. Given the size of the screen it is hard to correct but ideas such as swype show promise to improve the experience. I would suggest spending some research dollars here.

As a general improvement to Android, I would really like an Audible application. I listen to a lot of audiobooks and I would love some means of buying the directly from my phone, download them and add them to my media library. Naturally the DRMed nature of Audibles products is a problem as is their complete lack of support for Open Source and Linux specifically but is a fight we’ll have to take with Audible not Android or HTC.

Finally you should provide a means for advanced users to provide bug reports, several things in your own released ROMs have flaws, given that it is related to your own fork I don’t feel comfortable going to Androids bug tracker and the only means you seem to provide is going through customer service which isn’t an interaction with the development team. This would naturally go away if you moved to providing a vanilla Android experience and you’d get help from the entire Android community to fix your bugs.

Why I will be returning my HTC Hero

Recently I bought an HTC Hero to replace my old broken phone and to bring me into the smartphone era, something I have been looking forward to for a while. For the most part I have been fairly pleased with the phone as such but it is a device with issues.

1) HTC it ifself

Don’t be under the impression that Android phones magically keep themselves updated over the wire, you have to flash the damn thing. However HTC doesn’t support Linux (nor Mac OS X for that matter). They aren’t even shy about it when I asked tech support how to perform such updates under Linux.

Thank you for your enquiry about the HTC Hero.

Unfortunately we do not support Linux and MAC operating systems but we recommend to query local community forums in the internet dedicated to the Linux platform.

If there’s any other enquiries, please let me know by responding using the link provided and I will be happy to check for you.

So they don’t provide the tools to do the job, but I am welcome to ask the community. On one hand their support department is quick to respond, on the other hand their reply is a worthless pregenerated non-answer. The end result is that Linux and Mac users will be left out of important updates which fix issues, including one might suspect security problems. Thank you HTC for entirely missing the point and endangering your customers.

The wonderful bit of irony here is that the phone underneath is running Linux, so they basically deem that it is good enough for their hardware, but not mine.

2) Performance

I’d heard bad things about the Heros performance in reviews but when I played with the store model I didn’t see any lag. However the lag very clearly appears after a night of idleness and it makes the interface nearly unresponsive. Reviews claim that a firmware update fixes this, however do to Linux being unsupported for the flashing this opens up a whole new dimension of hurt. I finally broke down and acquired access to a Windows XP machine and spend a couple of hours hunting down issues with their flashing tool (which turned out to be rooted in a broken driver for the Android phone as a USB device). After performing this gutwrenching update, the performance issues remains present, on the plus side the interface is no available in Danish which was lacking in the device as it was sold.

3) Poor quality slightly hidden

The Hero feels good in your hand, it has the right weight and size to be comfortable to use. The headset that comes with the package is sufficient to enjoy music or conversation. However the insides aren’t beautiful at all, the GPS is off by several kilometers, the camera is slow and produces blurry pictures. The touchscreen keyboard has keys roughly 1/3 the size of any normal fingertip and the spell checking will constantly replace words like “you” with “joo” unless you specifically stop it.  It’s slow to type on, the response of the device is sluggish and overall it just feels cheap in use… for a device that is supposedly the top of the line model, and at a price that would make even Bill Gates blush I definitely didn’t expect this.

4) Strange arbitrary limits on the software

I really need Skype and I need it to be portable. However on an Android phone it seems that the software is both in beta and from on high is prevented from using your 3G/wifi connection to make calls. There is no technical reason for this to be so, in fact my old phone supported Skype directly and it integrated with my contact list. This appears to be a problem rooted in cell phone providers and Google setting up this requirement which is despicable behavior that leaves my expensive phone less capable than it would be for no good reason. Further research shows that iPhone users are in the same boat but with different limitations (I believe they can only use Skype over a wifi connection). This kind of abuse of power makes smartphones far less appealing and limits application developers creativity and user freedom.

5) There is no easy way to exit applications

As part of the design Android applications never seem to quit, this means that as a user you have to remember to check the browser, close all your additional pages and reset the page that you cannot close to something you are comfortable seeing because the next time you hit the browser icon, this is what will pop up. There is a means of killing applications but you have to dig through multiple hidden menus and enter the castle of slow that is “manage applications”. This is a design decision but given the already sluggish performance, ones impression of the device isn’t exactly enhanced by leaking applications which over time makes the road to recovery a Windows style reboot. You know that you designed a piece of crap when the way to get it back to a useful state for a few hours is to reboot it.

There are good things to say about the device, the Sense UI is beautiful and overall the device is pleasant to the eye with glittery candy being spread for your enjoyment. I’ve had it for a few days now and I have to admit that the calendar application with it’s synchronization to Google Calendar is a wonderful tool that has improved my life leaps and bounds. The screen might be small but it’s clear and very readable, I have found myself enjoying checking Google Reader from my bed and marveling at the power of the mobile webpages as well as the speed of the browser application. In fact I am so impressed by the mobile webpages that for 99% of use I go to these rather than the specially crafted applications for things such as GMail since it’s faster and provides easier access to labels.

You only have about a day and halves worth of battery power so use it wisely, luckily the recharge time is short and since it is done via USB you can be assured access to a source of power pretty much everywhere even without carrying a hefty recharger. The agreement to use USB charging for all modern phones really is one of those no-brainer decisions in retrospect, for years every time you switched phones you got a new brick to carry and nobodies chargers were compatible (often even within different models with the same vendor). The amount of waste and idiocy saved by this is measurable in the real world. It fills my heart with joy to think of, and as a bonus the power brick that is supplied for when a USB port is unavailable has a clever design where you can replace the plug to suit local standards. If only the rest of the device shared this clever engineering and design – verily I submit onto you, the HTC Hero would be a worthwhile investment.

Never the less, today the HTC Hero is going back to the store. I can’t stand the sluggish interface, HTC’s swamy non-support and delivering a frankly broken Skype experience really pushed me over the top. For something I spend this much money on out of pocket not to mention the costs I tied myself to for the “unlimited” data plan I really expected better.

Why Miguel is my hero

As was recently reported by Martin Owens, at this years Software Freedom Day Richard Stallman took his behaviour to a whole new revolting level by calling Miguel de Icaza a traitor. This wasn’t related to anything except Miguels recent decision to sit on the Codeplex foundation board, a foundation whose stated mission it is to further Open Source in business. It is no secret that Microsoft is the seed of this our newest member in the family of Open Source promotors, even earmarking a million dollars to that aim and dedicating time and personnel to let the foundation reach its lofty aim. In fact in recent years Microsoft has gotten quite involved with Open Source by releasing code of their own, getting licenses approved from the OSI and donating substantial amounts of money to existing projects. In a highly published move they even recently submitted 20.000 lines of code to the Linux kernel. They are no longer the bully of the 90′s, they are changing but their transformation is not complete, and it certainly will not be the instantaneous conversion some people expect of them.

Now Miguel is no stranger to abuse, in a personally shameful moment right after the famed Novell-Microsoft collaboration agreement, fueled by Bruce Perens’, fallacious, claim that the deal was in violation of the GPLv2 even I send the Novell Open Audio podcast an angry mail asking them to dedicate time debating this on the show. Miguel kindly wrote me a lengthy personal mail calming my fears and he never used a harsh word despite what I now realize were words far outside of rational discourse. I have since that moment had a tremendous amount of respect for Miguel as a person, he is probably the person in the community who faces the most opposition and abuse despite the amount of work he has done historically and continue to do to improve the free desktop. You might disagree with his methods of improvement but I have never seen Miguel use a tone of aggression in rebutting his opponents.

If I live to be a thousand years I will never master that level of calmness while under fire, I realise that with some degree of sadness. Had Richard viciously attacked me the way he did Miguel I am sure at tirade would have ensued, I know it to be my style. Miguels reply is nothing short of admirable. It is a constructive polite call for civility in the views on how to improve our community.

I am glad our community has someone like Miguel, I am glad he does the work he does and I believe that it fills a vital piece of the puzzle to get Open Source everywhere and turn former opponents into new friends. Utopia won’t be built in a day but Miguel certain laid his fair share of rocks to let it happen.