Developer Kits

With the new Ubuntu Phone on the horizon I though I might pen something about developer kits. I think we’ve come to the group-conclusion that development on Ubuntu sucks, and it sucks in a few ways I’m going to ramble on through:

Coherence

The idea of Quickly was to make a few opinionated decisions about how programs should be made. But it seemed to very quickly delve into the empire of choices on libraries, languages project management and deployment strategies. And that’s a reflection on how hard it is to please everyone in the open source universe.

If we want to have a good developer kit, we need to have strong, very strong opinionated decisions which nail all the technical functionality that will be required for all sorts of apps. For the Ubuntu phone, this looks like Qt and OpenGL. For the desktop it looks like C/Vala/python and Gtk.

What we don’t have is a good story for the project management and deployment. It looks like deployment is going to be patched up with automated package testing and an automated security system. I’m not sure about project management on the developer’s work station yet, it’s still very ad-hoc with too much of the best workflow in the minds of the developers and not in the tools being used.

Investment

The developer desktop, tools, apis and workflows require an enormous amount of investment. Look at how much money and time Google has spent just on Android developer tools.

It’s practically another Ubuntu sized project. While traditionally we’ve had very little investment and have used whatever tools people have cobbled together as they went along with their own developer needs. It’s produced a very disjointed experience for new developers, where so much needed to be known in order to be a good developer.

That’s turning round with the new developer site and api documentation. but I’m not sure the size of investment is the right sort of scale for where we want to go with app development. Bringing together all the API documentation from our various libraries would go a long way towards centralising and authenticating the previous opinionated decisions.

The Klein Toolbox

It’s hard to know where a toolbox starts for app developers and ends for desktop/core developers. If you think about tools like bzr and Make; these tools are designed for core developers and not really intended for app developers. They require the developer to understand where to get the best workflows and be pre-trained. And this really means that as soon as a developer is capable of using these tools, they’re no longer capable of making good developer tools for app developers… how can someone be sympathetic to the needs of more casual developers when they were required to learn so very much?

I’ve never liked Makefiles, I don’t think they’re good enough and I’m damn petty about all the tools that generate makefiles too. I don’t see good design in that space and I know paultag disagrees with me quite strongly about how unawesome makefiles are.

Conclusion

We have a lot of work to do.

What do you conclude?

Understanding Free and Open Source 2

Many years ago I produced a short visual guide, well after all the small changes I decided to update the guide from top to bottom. It’s now longer and follows a stronger narrative than before.

This is a long image, for the PDF download here. Repository for the svg files and scripts to build pdf and tiled images here: ~doctormo/understanding-foss/trunk, all Creative Commons, Attribution, Share Alike.

More Issues Than You Can Shake a Kernel at

Today I made a video about my System76 laptop (COMPAL CL90) and it’s disastrous functioning with modern Linux kernels and the urgent need to get this bug fixed by the right expert. To help people understand the issues, I’ve created a video. It’s rather cute, check it out.

View Video Online, MPEG4 Video

  • Hardly working Power On
  • No Suspend
  • No Hibernate
  • Error causing virtual terminal
  • Hibernating battery detection

Do you have any ideas?

Kinnect your Face

I’ve been fascinated with technologies that allow us to interact with the computer better, everything from facial identification (who is near the computer) to expression recognition for changing the operation of the computer to reflect the user’s mood.

I discovered this organisation who are playing with Microsoft Kinect and OpenCV. OpenCV is the free and open source graphics processing library and already does some pretty amazing things (you just need a super computer to run it quickly enough for some tasks).

Using the Microsoft Kinnect device might be a smart move as getting the hight maps directly from the hardware allows the computer to cut down on the amount of calculations to figure out where faces are, how they move, and even recognition features.

What I really want of course is a GDM login screen which detects your face and asks for your password automatically (it’s used as a replacement for your username, not your password i.e. identification not authentication). This would be the pinnacle in community center login control.

What do you think?

Time to Use direct nfs uids

I’ve been trying to run an nfs server for home mounts using the rpc username syncing functionality built in. But this system doesn”t work very well in the system I have, new users are created on the fly and folder access gets messed up all the damn time.

Basically the filesystem ownership gets messed up. I have tried searching for all sorts of help, but I can’t find anything about this issue since I can only assume I’m using nfs in a special way not intended.

So since my server usernames and uids match up to the client usernames and uids, I should be able to switch off the rpc and use direct uids and get away with that.

Thoughts? Advice?

Cartoon: Goodbye Groklaw, Thanks PJ!

PJ of Groklaw is shuttering groklaw, so there’ll be no more new content on the website. Groklaw has been a fantastic reference, both in following the SCO saga and with learning more about copyright and other legal issues. The newspicks were some of the best selected of any linux related website I know and they will be missed.

For you PJ, a cartoon that took me all day to draw:

Shows Pamela Jones of Groklaw as Velma from Scooby Doo, with a Penguin by her side and Darl tied up saying: I would have gotten away with it if it wasn't for you meddling nerds!

Thanks for all the fish. Can’t wait to see what your next case is!

Video: Why Free Software Matters

This is my response to some very good comments on my last video entry which I felt should be addressed with another vlog entry.

I’ve attempted to explain why Free Software is politically important, as much as open source is important to creators; we must be supportive of Free Software for user reasons and not just consider our own hacker culture issues.

Video Problems: Go directly to the video on blip.tv here and download the source mp4 here.

Personal: The reason for begging your indulgence with the video blogs is that I’m inspired to practice my speaking skills in order to further eliminate my stammer. From a young age I was bullied and called names and I have gotten much better since, but seeing The Kings Speech really brought it all back for me.

Ubuntu Insurance?

This idea popped up in a completely different conversation and I haven’t explored the full dynamics of the idea and how it would play out legally but:

What if Ubuntu users paid into an insurance fund. The fund’s aim would be to record the primary software and hardware used by the customer and to employ programmers and QA people to ensure that this software and hardware works in the next release and with critical updates?

Payout would essentially be getting people in to fix problems if they cropped up.

This would be in contrast to the idea of paying individually for bugs to be fixed. Such as having bounties or pay only bug trackers.

The goal of course would be to collectively take responsibility for maintaining the code we have that makes our computers do amazing things. Make sure that this is sustainable and reduce the requirement for guides and “toxic workarounds” for sets of problems that crop up in releases.

Would you pay into such a scheme? Do you know users who would? Is there enough money in our ecosystem to really pay people to do a good job on fixing problems or are we just not big enough yet?

What are your thoughts?

Please Poach Our Users

As a member of the Ubuntu community I consider myself as much a part of the Free Software community as any member of any other distro. Each distro has it’s strengths and I have absolutely no problem with users flowing out of Ubuntu and into other FreeDesktop systems such as Debian, Fedora or even closer distros like mint. I don’t even mind users leaving Ubuntu to compile their own distro: