Posts Tagged ‘open-source’

WIPUP 21.02.10 released and out in the wild.

Sunday, February 21st, 2010

WIPUP is a way to conveniently share progress on your projects. Given the mix of solutions used before such as work-in-progress forum threads, blog posts, mailing lists and microblogging, we’re creating a flexible and friendly solution to answer the question “what’s up?”.

People focus so much on the finished product they ignore the beauty of the creation process behind it.

Yep, it’s WIPUP 21.02.10a and it’s still (denoted by the postfix “a”) alpha. This means it’s unfinished and not yet ready for the general public. However despite this a huge amount of progress has been made since the first and a lot of polish along with it. I highly recommend those who’ve been edging towards trying WIPUP out to take the leap. The full details are given in the release notes (comments appreciated).

After you’ve skimmed through the release notes go check out the site. Or if you’re curious you can check out my profile, which serves as a pretty good demo of WIPUP in use.

As for potential developers, here’s a friendly reminder that WIPUP is open-source and I’d love to see a few new faces.

Time for a break.

The economics of technology

Saturday, January 16th, 2010

The long-term success of a company is caused by its people. The long-term success of a product is caused by the producers. Consumers are not the cause of success, they are a symptom of success.

That was the ideaology I got into a debate with my friend the other day. I was pro and he was con – mainly citing how the age-old laws of economics don’t simply break down in an industry and should be the be-all and end-all. I still disagree and have always believed there was something very fundamentally wrong with the whole science of economics. Before I continue I will have to admit that I’m not a fan of economics – you cannot put people on a graph. Even if you were dealing with statistically large enough numbers of people to create an average behavior we must still look to the very core of our behavior – why we do what we do.

A while back I told people why you do what you do – in a nutshell, every action you take is the action that you believe will cause yourself the most happiness, given the conscious or subconscious knowledge you have at the time. If being sad will make you happy – be sad! If you purposely choose to hurt yourself to prove me wrong, it is the satisfaction you gain from proving me wrong that gives you that happiness. If you sacrifice yourself for the benefit of others, it is because you prioritise the happiness of others, and following your belief will make you happy. If you choose to stab yourself, it’s because you believe stabbing yourself is the best thing you could possibly do (otherwise you would’ve have done it). This creates the question on whether or not “which” happiness is the best, but that’s a highly subjective question and thus we must leave delusion to a topic of its own. For this reason instead of referring to it as happiness I would refer to it as the “best”, to remove confusion as to the actual definition of happiness.

When applying this mentality to a society, it still doesn’t change one bit – and will never change no matter how large the sample. When looking at this from an economic perspective, for example in the labour market, we understand that people choose jobs because of this very same trait – and will not leave the job until the benefits of leaving are greater than the benefits of staying. For the factor of production enterprise, we understand that they take the risks and shape the market from what they believe is best. Capital and land are simply instruments of the former two and are therefore only tools that will accelerate the choices of the former two. When looking from the demand-side of things, we see that consumers purchase what they believe is the best to purchase – and it is empirically evident that their purchases will affect the choices of labour and enterprise.

However what I propose is that this influence is very much a short-term effect. If somebody invents a product, that product will exist as long as there is developer interest in the product. The greater the developer interest, the higher potential success of the product. In the long-term, seeing as all factors of production are variable we see that there will always be developer interest in the product as long as one person believes it is the best thing to do at some point to develop the product.

Developer interest is what causes the product to evolve. The product can evolve in either a market-orientated view or a product-orientated view. The market-orientated view is when the actions of labour and enterprise are being influenced by consumers, whereas the product-orientated view is based solely on the producer’s own beliefs. For a product to be successful in the long-term it has to undergo innovation – without this it will be pushed out through the process of creative destruction. Innovation by definition, no matter what its orientation must be producer-originated – and fundamentally the producer will produce what they believe is best. If other developers believe in the same, they will contribute and offer support, causing the product to grow, continue to innovate, and ultimately succeed in the long-run. Why? Because the very reason consumers will buy the good or service is due to this growth and innovation.

The conventional view is that this is a circular process – that consumers influence developer interest and developer interest influence consumers. However I believe otherwise – that producers have the final say in the long-run, but more importantly, in the very-very short-run. The reason is that there two root causes of what might seem to be a circular process, society and money.

  • Money is seen as the primary medium through which consumers can influence enterprise and labour. However in the very short-run money is almost completely disregarded in people’s decisions. Ideas will be chosen on the basis of their substance, not their potential earnings. In the long-run, money is as unpredictable as any other factor and it’s inflow is actually determined by the original short-run ideas.
  • Society is when the decision is based on the reactions of others. When dealing with an idea owned by a single entity, such as in innovation, society plays an almost negligible role in determining the realisation of the idea, even though it may play a role in either impeding or accelerating its progress.

From this we see that the circle is merely a single line of processes. What consumers buy depends on what producers make. How much a consumer will buy in the short run depends on the magnitude of developer interest. In the medium-term consumers will determine what happens to the product but the product will only survive in the long-run if developer interest is maintained.

A quick look at today’s market shows that this “long-run” period is indeed extremely long – almost synonymous with the business cycle. This inability to survive in the long-run is understood, yet disregarded as it is too far into the future to infer any meaningful derivations. This is very true – for most industries. However for the technology industry simply because it is at the forefront of progress this business cycle has been shrinking at an alarming pace, meaning that understanding how ultimately goods and services are producer-determined becomes very important. The implication is that trying to influence consumer-related symptoms, such as advertising, prices, quantitative or qualitative restrictions should be given second priority to trying to influence the mindset of producers.

To illustrate how this mindset is currently not understood I will ask a simple question. You work for a company. Let’s say your manager comes up to you and tells you to create a computer program of your liking. You scratch your own itch, so to say, and develop a product. A few weeks later your manager comes back with the production department manager and takes a look at your product. Both of the managers say “I really like that! I think it’s going to be a huge success!”. Now is the manager a producer or a consumer? If you said producer, you are wrong – they are both consumers. They have the ability to consume the good, but not to develop the good. It is important not to confuse the accelerating properties of capital and land with the developing properties of labour and enterprise. For this reason the success is not likely until other potential developers recognise merit in your work.

Some examples of how success has been producer-originated is in the iPhone, where the main reason consumers buy it is due to the amount of applications available on it. The Windows Mobile phones, due to the large number of applications on it, but failing because there is a lack in core developer interest (the OS has not been updated in ages). Android by Google, whose producer-embracing philosophy of so-called open-source has spun up almost 20,000 applications since its launch and is currently seeing a huge acceleration in market share. Linux – whose stubborn developers continue to progress despite the desktop market saying the complete opposite is now appearing like hot cakes in the market. Firefox and their thousands of add-ons – and its current battle with Chrome, which has exhibited innovation in browsers (and will be pushed out of the market if developer interest is lost or transferred to Chrome). Internet Explorer 6, where developer interest is finally moving away because they finally realise they don’t care about the customers when making websites that much (thank goodness). You think you use Windows because it’s good? No – it’s because it became a standard (even though back then Apple’s OS was miles ahead), which is what attracted developer interest. The list goes on.

This trend is most easily recognised in the technology industry (software, specifically) but is starting to be seen elsewhere, especially in other creative industries. A simple measure to determine the extent to which this trend has progressed in an industry is to ask an employee “why did you choose the job in the first place?” In the future this trend will start to bleed into other industries due to the increasing mobility of factors of production, increasing integration of markets into a worldwide affair, and of course the results of mass-amateurisation.

Finally as a closing note I’d like to throw in the topic of dogfooding – when producers use their own products, thus duplicating the roles of consumers as well as producers (hint: used really extensively in Google for a long time). This is a recipe for a self realising upward spiral of developer interest and consumer interest – finally creating the conventional circular process we think will always exist otherwise.

Perspective July 2009 Released

Monday, July 13th, 2009

snapshot13As many people know, I am the layout editor of my school’s “Perspective” magazine. It is a student run organisation and this will be the last issue I design before I hand over my role to the year below (it’s a yearly thing).

I am happy and proud to announce what I believe is the best issue I have ever produced, and you yourself can compare it to the first, the second, and the third issue.

Perspective is made using free and open-source software including The GIMP, Scribus, KDE, Okular, and Vim. However as the industry standard is the proprietary format Adobe InDesign, I am required to convert it to this format at the final stage. However rest assured this is nothing more than copy and pasting – I present to you a magazine made (almost) completely with free software.

This issue is special because you can download this magazine in PDF format. Feel free to read it – it includes a lovely front-page article by me, 3 entires into the art pages at the end, as well as a two-page article about open-source nearing the end featuring pictures of KDE and Elephant’s Dream – the open-source movie by the Blender Foundation. Some kid also wrote an article about the history of web browsers, but I was quite shocked to see that one line said “Google Chrome was released as a beta in September 2008 by Microsoft” – I think they meant for Windows. Nevertheless, my job is to bother about the design, not the standard of articles, and I’m happy to say that this has upped the bar – from what I see at least.

Clickety here to download.

Oh, and for the lazy, here is the thumbnail view of the entire magazine.

perspective_final_compressed

Thank you for scrolling through, I hope you’ve enjoyed the magazine over the year, goodbye and good luck to whoever replaces me.

Chrome in the Clouds: The Google OS

Friday, July 10th, 2009

If you read my initial post about Google Chrome (the OS, not the Brow- wait a minute, is there even a clear distinction anymore?) you would have realised that I didn’t really give opinions on what I felt about it but instead  how I visualised it to be. I believe in designating some mull-over time before making a judgement. (hypocritically speaking, I did not do that when constructing my conspiracy theory when Google Wave came out)

Now is the time to see what exactly is going on.

My feelings in a nutshell

  • Would I buy such a product? If it were cheap (100 dollars or so), yes.
  • I feel Google is harming open-source.
  • Cloud computing is very important to me for accessibility and synchronisation.
  • We cannot fight, and should not fight.

The story behind it

The first point is easy to justify and I do believe this is very agreeable. This is an area of the markt people have always looked towards with an expectation of a “trustworthy” brand, and Google has just provided that to them. People will buy for this OS.

To a company, Google is probably executing its marketing strategy in the most effective way possible. They use a product-orientated approach, making the product first then selling it to the market – or so it seems. Google knows two things: 1) They have craploads of data, and 2) They own (pretty much) the biggest mass marketing device in the world. However they do know that even though they “own” this realm, they cannot control it. It’s like a pet – you own but cannot control it.

They way you control it is by feeding it. Such is the nature of open-source development. However Google is able to turn open-source into money by producing a good percentage of the product before open-sourcing it. This allows Google to keep the leash on the project. You developers aren’t building the product side by side – no: you are doing the grunt work that turns a framework into something consumers will love – something with the name Google slapped onto it.

Let’s move onto my third feeling. This is because of a trend I have noticed over time. Computers is no longer about being in full control of your data – it’s about being in full control of your data no matter where you are. Cloud computing sorts this out – it’s no wonder Google’s objective is “to be the hub through which all the world’s information passes through“. Sorry guys, but the fact is that most consumers want this. The only time they won’t is when the company providing it has a bad reputation – but Google? No, Google’s never been evil have they? Not to the average joe they haven’t. It’s the average joe that changes the workflow – it’s the average joe that makes such a way of working part of your daily routine.

You see, Chrome isn’t about making an operating system to do useful stuff – Chrome is all about changing people’s workflow to become web-centric. Instead of moving into the desktop market, what Google is doing is moving consumers into the web market.  Why do you think it’s named Chrome after their browser? It saves on the advertising costs. You advertise the OS, you advertise the browser. Google is pushing ahead HTML 5 specifications to redefine what the web is capable of, and their browser Chrome going to be the biggest, baddest boy in the playground that knows the meaning of the word “compatibility” backwards. Advertise them both at the same time – what you get are people getting the “wow” experience Google can provide with all its toolkits online from the browser, and making it easy as pie to integrate it into how they work. It’s not because Google Docs is simply an application that allows you to edit documents online, it’s because it’s a shared, accessible, compatible, synchronised alternative.

We cannot and should not fight.

Yes. My last point is so awesome it deserves its own special section.

You cannot fight once a market leader has made a choice on a product/system. We saw it with Windows and we may very well see it again. (I assume you have all seen Google Wave?) Instead we have to understand the market. What does the market want? How do we provide for it?

Now, I am a KDE user myself but what I see as major areas for Linux and DEs in general to focus on are:

  • Plasmoids (in KDE at least) – this is a stepping stone to integrate new technologies and the web into the desktop workflow
  • Provision of private clouds, complying with open-standards – for private, secure and PERSONALISED (imagine giving users the freedom to shape their cloud environment) mobility and synchronisation
  • The social desktop
  • The semantic desktop

Am I right, am I crazy, have I missed out stuff?

Shower me with your thoughts please.

Blender 2.5 Features Video

Friday, July 3rd, 2009

blender2.5-dev1Hello everybody, I’m back from my 5 day jungle trek and I’m just catching up on what I’ve missed throughout the week. I was initially going to award you all with a post about the trek itself, but it turns out Jonathan Williamson from Montage Studio (the very same who does the Blender screencasts and gave some good tips for ThoughtScore) has got himself a Blender build for Windows 7 and has recorded a short screencast demo-ing the development.

I am truly amazed with what has been going on and I will definitely throw myself back into Blender this holiday and its stuff like this that really shows what open-source is capable of. Blender is one serious threat to the huge commercial monopoly in the 3D industry. Here is a short list of the features he describes:

  • New design/look
  • Panel splitting/deleting/management
  • Not limited to one window only
  • Massive reorganisation of features that make it more intuitive
  • Real-time playback animation while editing
  • Real-time playback animation while rendering
  • Every single value in Blender can now be animated
  • Support for macro options
  • New transform panel
  • Search option for features

Without further ado:

Clicky here to watch the video.

Perspective in progress

Sunday, June 21st, 2009

I had skipped my last scheduled blog post because things have been busy. One of those busy things involves the Perspective magazine, which I last touched way back in February. The last time I mentioned it, I also shared my feelings about the workflow. Between that time and now, there has been one Perspective issue, which was not actually designed by me but instead by another who did a green overlay on everything and redid the issue. This was because I had refused to do it – I had less than a week, about 4 week days if I remember correctly. This is of course with other activities going on, and completely out of the blue.

This time it seems as though on the design side of things people have been listening. I have been alloted 2 whole weeks (including an extended weekend!) to work on the design. I’m a happy person, and happy people make happy things. I wish I could say the same for the article-writers, but that’s another story I will share later.

Meanwhile, as dedicated observers of my blog you are all treated to a preview of the work-in-progress magazine. The inside pages have a distinct new feel of polish, modern and clean. I will also be releasing under PDF format all of the magazines once this issue is published. There have been great leaps in design after each issue, and this is just another stepping stone.

Without blabbering too much, here are two screenshots of what I’ve been working on:

snapshot11

…and another!

snapshot12

…as usual, just click on them to see it large-scale.

Of course, majority of the work is all done with open-source tools, just a bit at the end to slot in the articles with Adobe InDesign. This will really show what is possible with free software.

Progress on Eadrax

Sunday, June 14th, 2009

Even though me blabbering about project Eadrax doesn’t seem to interest most people (see: 0 comments on previous 2 posts) and it seems as though nobody has responded (yet) on the mailing list, I do not consider it a total failure.

I’ve decided to share just how much data you can actually gather from taking a peek at the logs behind Eadrax.

Allow you me to indulge you in a recent graph from GitHub showing some logs of the progress on Eadrax:

snapshot8

For those unfamiliar with version control, think of it has a log of every single change that was made. Like a save file. Each dot over there represents an edit.

Those subscribed to the mailing list and that have read the Eadrax Space will have known that I have restarted Eadrax as an open-source project. The graph up there shows two people, ukd1 and Moult (me). ukd1 (Russel) is another developer I met in the #kohana IRC room, willing to join in the project. Before continuing, you cannot see this from the image, but just as a note, every single update done up there was done by me. The little tags represent “branches”, essentially different features/sections of the site that are broken down so that people don’t get confused what belongs where (and also so somebody doesn’t screw up everybody elses work). The master branch is the overall project (well, sort of).

From this you can garner some very interesting information:

1) Only Moult has done anything on the project so far.

This is not a bad thing–at early stages of the project getting so many people to create the underlying structure of the web application can lead to some very confusing situations. I also know that the other developers have been extremely busy with other things, but hopefully this will change in the near future.

2) Russel (ukd1) apparently decided to work on the project a while back, but then just stopped. His line is quite left behind with the recent changes.

Obviously he has some catching up to do.

3) When Russel last updated his project, only two branches existed, “master” and “users”, now there are many more.

This shows that the application structure is probably mature enough to start introducing new sections of  the site and thus more branches. This is a very good sign for progress.

4) The latest branch is no longer the “users” branch – in fact, it has been left behind.

Well, the users branch obviously has to do with the user system – logging in, registration, etc. This is very good proof that there is already a clear structure behind the system and now we can just build up upon it.

5) Recently the code has been splitting up and merging together.

Obviously I’ve been developing some things here, some things there, and it’s now good to start pulling things back together into a simple structure so other coders can know exactly where the code currently stands.

Summary: Well, nothing much interesting to be seen on the front end of things yet, but just a very good sign that things are moving along, and moving along quick. Expect by next week to have most of the code ported over from the previous Eadrax version.

Beware of Google.

Saturday, May 30th, 2009

gooburnsGoogle is, actually, one of my top three disliked companies. The other two are Microsoft and Adobe. Why I dislike Microsoft and Adobe is a post for another day, but today I would like to talk about Google. Believe it or not, I will explain this without ONCE saying any personal bad experiences with Google’s services.

Google has recently unveiled at a developer preview their new product “Google Wave”. If you have not yet read about this, or watched the introduction video available on their webpage, I suggest you click here to go there now, and watch it.

If you have heard of it, and if you’ve watched the demo, you will be amazed. Not only have Google come up with a killer product, they’re going to open-source it, and developers will have access to the most amazing resources to produce the most amazing web applications possible. If you’re still reading and you haven’t watched the video, please go watch the video first.

Right – so the question is, why, especially if it’s open-sourced, are you against Google?

Try to look at it from this perspective. At this moment, we have three main operating systems, Linux, Mac and Windows, each with desktop applications built to cater for the underlying system. You might prefer one more than the other, and thus the more popular ones get more applications built, developers move to develop on the platform, and when the developers move, most users don’t realise this, but it’s where the developers like to go that determines what will progress and ultimately be used by you regular folks.

Right. So it’s a bit stupid to have a lot of competing technologies, and it’s obviously better to have one uniform system that just works ™ for all. That’s why we start to depreciate older technologies, merge together technologies, define standards, etc to make desktop systems more integrated, etc. This is well seen in stuff like KDE, GNOME, etc.

However, Google’s seen something a lot of others have been blinded about. The web is the only cross-platform, standardised system that exists. So whilst Microsoft, Linux and Apple go and fight their differences, Google, armed with its existing monopoly in the search engine system (yeah, indexes the internet, nice one) decides to take over the internet.

Here’s where you roll your eyes. But I’m not joking. Allow me to explain.

Since nobody can actually own the internet, Google has managed to think up another way of doing it. The plan starts with creating a lot of “uncanny” web applications. The uncanny valley was a concept used to describe the point at which one’s appreciation of technology due to its advancement changed to disgust because the technology became too “humanoid”. Eg: a humanoid robot only gets so awesome until it starts look identical to you, and better too, and with a hidden flamethrower. When used in the context of web apps, this is where the website’s interface mimics that of a desktop application. Like, for example: Google Docs.

This impresses a lot of users really quickly, as it allows them to do what was only previously possible if the software was installed on the system instead anywhere around the world with an internet connection and with a decent browser.

…and then Google starts releasing web APIs and toolkits to allow developers to take advantages of the systems it has created. This sounds really good, until you think about what else Google is doing.

Google releases their web browser, Google Chrome. Google Chrome is a breakthrough in certain technologies, allowing separate processes per tab, and support for some seriously cool javascript, ajax, whatever. Google’s aim in Chrome is “to show what the web is capable of”, pushing the limits, etc. With this browser, users can experience the best in uncanny websites, hence all functionality of your average desktop application can now, actually be done right in your browser. Again, Google Docs is a perfect example of this. Don’t believe me? Why don’t you try Photoshop in your browser, right now.

Once Google has a place in the browser market, they have every right to start sticking in their own ideas into the new HTML 5 standards. Now Google has their arsenal to define exactly what the browser is capable of. Together with their existing web toolkits and demos on the amazing stuff that is capable, who wouldn’t be happy to oblige?

Well, nobody. Google has made it so easy for the average person to access all of these great features. Even though Google Sites is a complete joke for web developers, for Joe down the street who can’t spell out HTML to save his life, Google Sites is amazing.

So people start switching. Because the technology behind it, too, is so impressive, developers start switching. In the end, what we now have is in effect “an operating system right in your browser“. Or as one person in IRC put it, another layer to depreciate the coding layers below it. Soon we will not need desktop applications any more, and everything will be done on the web. (of course there are also technical implications about this, like what will happen to the rest of the programming languages)

No, the web is still just through one browser you say, it’s not at all useful like that.

Actually, what about Chrome running as separate processes? What’s the difference between that and different applications? All that means is that instead of running KMail, your notetaking application, Pidgin, IRC client, OpenOffice and feed reader, now you’ll be running 6 or 7 Chrome separated tabs (so they’re just like individual applications) connected to GMail, Google Notepad, GTalk, Google Docs and Google Reader. In fact, you can have *deep breath*

google_evilGMail, Google Notepad, Google Calendar, Google Docs, Google Talk, Google Reader, Google Contacts, Google Desktop, Google Gears, Google Maps, Google Earth, Google Sites, Google Books, Google Translate, Google Scholar, Google Medical Records, Google Directory, Google Groups, iGoogle, Google Adsense, Google Streetview, Google Sync, Google Android, Google Youtube, Google Analytics, Google 23andme, Google Lively, Google Dictionary, Google Voice, Google Feedburner, Google Chrome, Google Chrome OS, Google Public DNS, Google Go, Google Shopping, Google Checkout, Google Apps, Google News, Google Video, Google Blogspot, Google Finance, Google Sketchup, Google Orkut, Google Trends, Google Code, Google Picasa … and now Google Wave.

Every single thing to replace every single desktop application you’ll ever need save for some development tools. I swear I could actually live a year with only using Google Products.

So once people try to compete with the huge massive framework Google has created for itself, the only way to create competitive products is to either rebuild your own framework (which is likely to be extremely time consuming and impractical) or …. Use Google Toolkit and Google API and Google Code.

So even though Google doesn’t own the web, Google has taken over the web. It doesn’t matter if it’s open-sourced, if you have to use Google Toolkit to make anything decent, that’s “Google is here to define what can be done” for you. The ultimate czar of the Internet.

Welcome to the future, where nobody knows what “desktop application” means.

Edited Dec 09 to add 8 more Google products to the list.

Remember The Milk: A Great Online To-do List Service

Sunday, May 17th, 2009

2009-05-14-203431_1280x800_scrotRemember the milk? What an awesome name for my newly discovered service. Just yesterday I was poking around the my newly installed KDE 4.3beta (4.2.85) and I came across the “Remember The Milk” plasmoid hiding in the kdeplasma-addons package in the kde-testing overlay. That was the beginning of about 2 hours or so spent discovering more about Remember The Milk.

Wait, what actually IS Remember The Milk?

It’s a todo list website. You can create categories, and put tasks in them. You can also prioritise tasks from High, Medium and Low. Tasks can also have due dates, and be recurring.

But What’s so amazing about it?

Well, I am no stranger to to-do applications. I have used the Windows Mobile 6’s todo on my phone to quickly note stuff down, I have used KTodo (and despised it), I’ve used devtodo (highly recommended CLI todo list), I’ve used stand-alone plaintext files for todo lists, post-it notes, calcurse (CLI ncurses-based calendar + todo app)…well, a lot of to-do things. Over time here are the things I’ve decided that make a to-do service useful:

  • You make an effort to use it yourself. You don’t use it, it’s not useful.
  • Priority system, but not a bloody /10 rating for each task.
  • Due date system.
  • Fast and accessible.
  • Simple and intuitive interface.

Here’s what makes Remember The Milk great. For a priority, you have a choice of 3: high, medium, low. I think that’s the best combination. It’s awesomely accessible, giving the flexibility of access-the-website-anywhere with a KDE plasmoid to quickly access it on my desktop. It’s fast – it sports an uncanny interface (‘uncanny’ used in the technical sense of the word) with plenty of what looks like jquery usability tweaks (if it’s not jquery, so sue me).

Oh, and the greatest thing is how intuitive and simple it is to use. I can type in “Visit X for dinner tomorrow“, and it’ll parse the “tomorrow” and put it as a due date accordingly. Same with “Mechanics exam on monday“. It’s all automated.  Even cooler is the recurring function, I can do “blog post every two days“, and it’ll work it all out for me. The categorising feature allows me to group it easily in the projects I’m involved with.

It also has the amazing feature of sharing todo lists and publishing them publicly/privately. This allows me to set up a collaborative todo list for a mini-project or such – allowing me to communicate development easily to the public and letting them use it as a wishlist! I can also send/receive todos from other users. I swear, if I were leading any sort of team in a business, I would make it compulsory for them to use this – it’s great for collaboration!

Well, that’s my two cents, and I suggest you check out RememberTheMilk!

The Blender Model Repository and BlenderNation: open-source merger?

Friday, May 15th, 2009

2009-05-15-005937_1280x800_scrotAs some might know, Blender is an open-source 3D content creation application – it’s cross-platform, a pioneer in the free 3D application market, and I use it. Not only do I use it, love it, and hang out in the #blenderchat IRC channel on freenode, I host the Blender Model Repository, taking over from Andrew Kator long time ago when he suffered legal issues. It’s been running stable for the past year or so, every so often getting new model submissions, and users finding it a useful resource.

Even if you know nothing about Blender, help me in this open-source dilemma, please read on.

Recently, Bart Veldhuizen over from BlenderNation.com started beta-testing for a new resource sharing system known as BlenderNation Links. BlenderNation, for those that don’t know, is the central news website for all things Blender related. It’s the central hub that Blender development and community news goes through – outside the official blender.org website, which is a bit more boring and just says “hey guys, new version” – as do most official websites. (Just joking!)

I was recently pleased to be given the opportunity to beta-test the new system. Well, this new BN Links categorises things as “individual” items – a model repository, as one might expect is not just one individual item, but instead a whole other resource system. The thing I’m wondering about is “how do I make the repository’s resources just as accessible through the BN Links system?“.

A while back I wrote the second part of my open-source analysis article, called “The Open-Source Market – Limitless and Forever Expanding?” (click it to read the article – it might interest you) One of the conclusions I came up with there was that in the short term, open-source should have plenty of choice and competition, but in the long-term, it must realise the synergy is what is needed to ensure its survival and continued growth. This is a perfect example of this concept in real life. There are two resource sites, one obviously much larger and more popular than the other, originally offering slightly different things. BlenderNation focuses on news, and has a small tutorials/resources section, whereas the BMR (Blender Model Repository) focuses on…hosting models and tutorials. Now BlenderNation wants to increase its focus on tutorials and resources, thus duplicating the BMR’s function somewhat. Is this, perhaps, the time to synergise?

Firstly, let’s get the facts down:

  • BlenderNation is much more popular and well known than the BMR. It also has a cooler name.
  • The BMR is a hub for models. I have no legal right to give all my models/let them be published on BN Links.
  • Competition is good, but function replication is not.
  • I do have the legal right to “link” to each individual model, but such manual addition is tiresome, and will have to be constantly updated as new models come in.
  • The BMR does have a built-up reputation for those that know it. It’s not very nice to say “hey guys, we’ve uh, disappeared – check out this cooler site
  • The BMR is running on depreciated technology – sad but true. Whoops, did I just say that? But hey, if it ain’t broke, don’t fix it.
  • The BMR is a bit like a music collection with some missing metadata. Some files are hosted elsewhere, some don’t have preview pictures. This means that links die out.
  • The BN Links system, from what I’ve seen, seems a lot more flexible and makes it much easier for users to find what they want, which is great for the community.
  • I juggle a lot of projects. BMR maintenance is somewhat of a gypsy on my todo list.
  • I’m human – try ask someone else to delete a section of their site so somebody else can run it. (Ok, that sounded very selfish and attached)

Well. Here’s where you guys come in. To what extent can I realistically share resources, how should this be done, and tell me – is this the time to synergise?

Please leave a comment. Even if you know nothing about Blender.

Kaizen and Kakushin’s Practicality in Open-Source Business Models

Wednesday, April 22nd, 2009

Note, this is a long post. It also covers a tiny fraction of what is out there to understand. More updates will come about the open-source culture in the future. This text is also mainly written for those familiar with the Linux culture (as I use them as an analogy) – though regular business model analysts are welcome to share their ideas too.

Recently I’ve been analysing quite a bit of the open-source business model and its practicality to actually be introduced into commercial industries. A lot of this was analysed by looking at Linux and smaller Linux-related activities (eg: individual distributions or desktop projects like GNOME and KDE) as an analogy.  So when I talk about Linux, I can be referring to any Linux or open-source project, be it KDE, GNOME, Ubuntu, Gentoo, etc. One of the topics I covered in my analysis was the concept of Kaizen and Kakushin. Seeing that recently Aaron Seigo posted an article related to it and the flaws with its methodology, I decided to have my own say.

Although my analysis covered a lot more than Kaizen and Kakushin, I decided to start with those as they were introduced by another (more influential) blogger and I think it’s good to follow up on his ideas. Aaron Seigo probably has the benefits of actually working in an open-source culture, whereas since I am not a developer in a major project (or even any public ones) I probably can say I do not have the same level of personal experience. Therefore let’s just say my ideas are a lot more generalised, and looks at things from the broader picture, encompassing the users and the developers and comparing the two.

Let’s start with Kakushin. For those who are unaffiliated with this term or haven’t read Aaron’s post, it is when leaps are taken in the progress of development. What happens as that over time, the business would set a new quality standard and everybody will be trained to practice this new standard.  This may be done through many methods, such as a work study. This concept is a manager driven approach, as the manager’s job is to view the “big picture” around this organisation, and decide what the next benchmark will be. Though there are obvious disadvantages, such as the distance between the manager and the project (which may cause misinformed decisions on benchmarking), this technique is the most common in the industries. One example of this is Apple and Microsoft. They release a big version every so often with massive updates, led by managers decision on what the business’ vision is. One visionary would be Steve Jobs from Apple.

If we plot a graph of quality over time, we can see this sort of relationship.

diagram1

However, Linux seems to follow a different sort of model. The Japanese have come up with the Kaizen model of quality management, also known as “continuous improvement”. This quality management model is workforce driven. Individual workers are self motivated to continually improving every single process existing within the business, be it production, manufacture, services, or even management and administration. This can therefore not be labeled a model, but instead a philosophy. In the case of Linux, our workforce are our developers, each creating features not because they believe it is for the best. The difference with this model when we plot the quality-time graph can be seen below.

diagram2

Now people who have studied these two concepts before would know that if the graphs are combined, the area, and hence “benefit” of each concept, of the Kaizen model is greater than the Kakushin model. This can be shown mathematically, but here is a graph to explain it clearer.

diagram3

Therefore, theoretically the Kaizen model should be a lot more successful in terms of the business (or in this case the open-source community). However, as we all can see, Microsoft and Apple seem light years ahead (seriously, look at the average Joe’s idea of an OS) compared to Linux, who seems to be turtling along. Why is this so?

Let’s take a look at Linux’s and open-source’s philosophy. There are quite a lot of theories, and one of them is ‘release early, release often‘. This works very well with version control, and allows a lot of developers to work together without compatibility issues. It is this theory that forms the basis of Linux’s Kaizen approach. It is also obvious that a Kakushin approach to development is ridiculously impractical. People turning up with patches of hundreds of lines of code at a time would lead to a lot of disorganisation, and progress would be hindered. Therefore, it can be said that Kaizen is the most effective for developers.

However, why does Microsoft and Apple succeed with their apparently Kakushin approaches? This is because Kakushin is applied to their marketing strategy, not their developing strategy. This difference between development and marketing is rarely identified in the open-source culture, and is one of open-source’s major flaws. Microsoft and Apple’s developers work in a similar version controlled system, no matter how monolithic the project they are working on. However, to the user, we do not experience the Kaizen that the developers do, instead we experience Kakushin.

Even though we previously theoretically disproved Kakushin’s effectiveness of Kaizen, there are factors which prove this theoretical approach false. The two factors are what I like to call “change rewarding“, and “resistance to change“.

Let’s start with “change rewarding“. When Microsoft releases their new version of Windows, Microsoft’s marketers know that there is going to be a lot of change that the user must experience. In order to cancel out the “resistance to change“ factor, they combat it by creating buzz and excitement about the release. This makes the user more accepting for what they are about to experience. Microsoft also looks at things from a user’s point of view, knowing that interface and fancy eyecandy are one of the things that actually gets noticed, and so therefore tries to put this into every new release. Therefore when users finally check out the product, they experience the “wow” factor, and they love the upgrades. They feel as though it’s new, improved, and they embrace the change. Take this for an example. Let’s say we are developing your average application. A month later, you release a new version, but you only change the splash image. Nothing else. The first impression on the user will be a positive one (unless you choose a crap splash image) – they will embrace the change and expect big things. This is how Microsoft’s Kakushin approach is effective. (Note: I am not saying Microsoft executed it pretty well – for example their release of Windows 7 beta was a huge failure)

However, I’m not saying it’s all good. I’m not saying we should stuff eyecandy and make useless interface changes just to give the illusion that things have improved. Here is where the “resistance to change” factor comes into play.  Change too much and your users will hate you. Take a look at KDE, Amarok, or Vista. (Let us for the moment disregard the fact that sometimes these are required for innovation and survival of the project – more on this will be covered in the future). In fact, I recently read an article where US businesses were starting to say that when Windows 7 came out, they would not switch their systems. This is because they were worried about compatibility. This is very understandable, and shows one of the disadvantages of the Kakushin concept.

Of course, Kaizen isn’t perfect either. For example, Kaizen needs variations in its curve. Even though Kaizen seems to work forever in a culture (such as Linux), Kaizen is not self-sustainable within a single project. Incremental upgrades all the time with no big successful release is demoralising to the workforce (our developers – [one of] our most important assets). Imagine if you never tagged a release version in the version control? Well, this is what we result in.

diagram5

Of course, this can be eliminated through effective developer sprints – also known as a Kaizen blitz according to Aaron. Variations should be introduced.  One example of a project that needs this (please, no offense) is GNOME. Google does this extremely well in its Google Summer of Code projects, and I know this is also done in KDE (such as Kamp KDE and so on), and this sort of activity should no longer be considered an every-so-often event of the developers, but a required part of the open-source business model in order to succeed.

This (highly summarised – sorry, but it is a blog post after all) analysis does not say Kakushin or Kaizen is better. What it does say is that they both have their benefits, and can be each be effectively utilised – what matters is the manner in which they are both combined. It can therefore be said that open-source businesses, or in this case, we are beginning to see the emergence of a culture of open source, should recognise users needs and developers needs.  We don’t just need hackers – we need artists, business orientated people, marketers, multimedia specialists, people who understand management and delegation. I believe this was also recently stressed on another blog post in Planet KDE.

In order to bring Kaizen and Kakushin to a practical business model – or culture, which I shall now refer to it as, we need to understand people’s needs.  Developers in the open-source model are workforce driven – they don’t need a manager. The Kaizen approach is effective for them. However, the users (not all users! Please do not be mistaken) need to experience the “wow” factor more than ever. However, we should obviously not overload them with changes, which brings me to my next section.

Users are a whole different ball game that most developers don’t understand.  Proof that you (no matter how wonderful you all are ;) ) don’t understand is that Linux is still highly considered a geeky or techies’ system by the average Joe.  You can’t argue with that. Because the developers don’t understand it, they just decide to impose their own ideas on users, and if they don’t like it, get out.  There are advantages to this ideology – for example, it keeps out idiots which may hinder development (wow, that was blunt!). However the developers need to understand that we actually can accommodate these idiots whilst not hindering development!

Allow me to explain. There are many levels of users. Some may be power users who dream in code, and some might be your grandmother down the street. Therefore what we can do is segment our market (users) based on their tech savvyness. I use Gentoo myself, and I have seen this segmentation employed in the form of Portage overlays. This may be compared to as Debian unstable, and developer releases of Ubuntu. What this does is allow average users to enjoy the stable system and experience the “wow” factor, whilst it allows more technically literate people to enjoy the Kaizen incremental improvement, staying more bleeding edge. It seems that knowledge/interest of the industry is proportional to the persons preference of Kaizen over Kakushin. This, of course, ties in very well with the open-source philosophy of choice.

If you’ve understood much of what I’ve written, you would have realised that what I am suggesting is that segment the market further, but at the same time blend in the change from Kakushin to Kaizen based on the users’ choice and preferences. Users must be given the knowledge that they have a choice, and hence freedom of what they want to experience, how they want to experience, and when they want to experience it. The benefits of this can be seen in the graph below.

diagram4

As can be seen, the wow factor is increased (higher jumps in Kakushin), and due to the increased blend in change from Kakushin to Kaizen for developers, as this makes it easier for developers to contribute to the project, this will also accelerate development, resulting in a higher gradient. This shows a wonderful benefit for both users and developers. (and of course, like Aaron mentioned, there’s nothing wrong with developer sprints!)

Of course, there are a couple quirks still to be worked out, and since this blog post is…well, a blog post, I shall probably save these for future posts.  However, for those interested, here are the quirks.

  1. To what extent should the “wow” factor be increased until we encounter a “resistance to change”?
  2. How do we apply this concept? It is impractical to suddenly lump a bunch of managers into a highly technical industry and ask them to create this difference in change. (I shall cover a proposed method to introduce this changes in a later blog post)
  3. How do we communicate this choice of how “into” the project they become to the users? How will they know which “level of complexity” is appropriate for them?
  4. The open-source culture is very modular, how do we enforce uniformity between all the different projects? Each have their own development cycle, and how do we ensure compatibility is continued? (Imagine is all of a sudden KDE 5 was introduced, and all the people who ported their applications to KDE 4 had to re-port everything – they would hate it!)
  5. To what extent should we segment our market before it gets too confusing? (For both developers and users)
  6. and finally, how economical is it for this change to happen?

I thank you for taking the time to read this post, and I hope you have feedback, as I believe over the course of these posts which I plan to talk more about my ideas about the open-source culture there are actual practical solutions which can be put into place. For example, the Linux Foundation for a start.

I hope you enjoyed reading it!

Edit: I want two things to be understood. 1) There is plenty more stuff to consider and cover- which I will likely release in future blog posts, and 2) It isn’t that our Kaizen system is bad, it’s just that there is a whole market segment of users who do not appreciate the Kaizen approach (just if you like it doesn’t mean everybody else does too – it’s all about choice!) – it’s just not suitable for them (like your grandma, perhaps).

A little (re)introduction to POSE2 and ThoughtScore

Friday, March 20th, 2009

OK, it’s Penguin Day again! Those who have been spying via the  Twitter feed would’ve noticed quite a few feeds formatted as a Git commit as well as some references to project ThoughtScore and POSE2. I do believe I’ve talked about those two projects of mine before, but always pretty vaguely. So I’ve decided to dedicate today’s post to clarifying a few things, as well as to provide some useful insight into what I’ve been up to.

POSE2, what? Where? I thought it died?

Let’s start with POSE2. E2-Productions was the name of my original site, and it still is. E2-Productions serves as the face of my online freelancing events, and it is the name I go under. thinkMoult was started to define the separation between professional services I provide and the fun activities I indulge myself in. POSE2 stands for Project Open Source E2. It originally referred to the similarly named “POSE2 PHP Framework” which was a freely available (hence open-source) MVC framework I made to faciliate future development of E2. However, as POSE2 developed, it stood to become any main website of which I would document the progress of and show people snapshots of development. Therefore, the first POSE2 project that emerged after the POSE2 framework was mature enough for development (about version 1.1) was E2 version 6, which over time split from the main E2 site to become VisionBin. Though VisionBin was actually closed-source (no such thing as an open source website as such!) it represented a huge learning curve, of which I duly shared with others.

Those who were around the release of VisionBin witnessed a sudden surge of popularity…then a sudden drop and eventual death of VisionBin. Right now another project is replacing VisionBin (with some similarities and some differences) and so that is what POSE2 now refers to. I’m making much more of an effort on this one, and hence one of the differences outsiders can notice is that it’s now version controlled/tracked by Git. This way you guys can always check up on my progress via the Twitter feed. I would use Github if it was open-source, but unfortunately not. For those unfamiliar with Git, the Twitter update gives a short summary of what I’ve updated, as well as how many lines of code I’ve inserted/deleted. So over the past week, I think I’ve given a general idea of “hey, I’m making massive progress!” – and pretty soon I will be welcoming alpha testers. Anybody who is interested in testing out the website should contact me and make sure you can stick on the IRC channel #gisklm on irc.freenode.net as it’ll be easiest to discuss/contact there.

Project ThoughtScore, the one that’s taking ages.

Yes. It IS taking ages. That’s the whole point of it. (no, not really) For the uninitiated, ThoughtScore is the name of the movie I am making. This is an animated movie. It is 3D…and it’s probably a thousand times more open-source than POSE2. Firstly because only open-source software will be used in its production (Blender, Linux, FFMPEG, Audacity, GIMP), secondly because I will release all the source files when I’m done, and finally because I am documenting my progress publicly. I haven’t touched Blender in more than half a year, so now I am coming back to continue on this project. I’m actually doing the animation now, and I’ve got a decent amount of material ready to work on the first two minutes of animation. (Which is a long time – actually). Those who lurk in the IRC channel #gisklm would have already seen some of these, but I’ve decided to post them up here just to make this post a bit more picture friendly. Here goes:

test2

That is a picture of the second scene in the movie. It is the transport pod being launched. It is an early render, and there are many modifications to be made and even more work to be done to animate it.

I want to get involved and stay up to date – how’d I do this?

Right, my Twitter feed occasionally gives summaries on what I’m up to, and I also post my Git commits over there. However, there is still a lot of stuff that goes unheard of on Twitter, and most of these are test renders for ThoughtScore, simple questions on “hey, any suggestions for this?” or even general trash on what’s the latest joke that’s going around. To enjoy these, I’ve started up the #gisklm channel on the irc.freenode.net IRC server. For those wanting to check it out, download an IRC client such as XChat or HydraIRC (on windows), Colloquy (for mac), or XChat or irssi (for Linux). To join, first connect to the IRC freenode.net server (it’s different for each client, but find some way to connect to the freenode.net server – the command for it is `/server irc.freenode.net`) then join the #gisklm channel – type the command `/join #gisklm`. To change your nickname, try `/nick my_new_nick`. Note: alpha testers for the new POSE2 are required to be on the IRC, it’s a bit annoying to find you otherwise.

The Open Source Nature

Friday, January 30th, 2009

Some people have heard things like “open-source”, “freeware”, “hacker etiquette”, etc. However, a lot of people are doubtful about it and this is mostly because they don’t understand it fully. I have decided that for today’s post, I will shed some light on the background behind open source culture.

Yes, there is such thing as free software

Most of the technologically savvy teenagers will go “yeah, duh” at this. However, the fact remains that when computers were coming out, if you weren’t into Unix or bothered to learn much more that “Start up. Type. Print. Shutdown”, you’d might be one of those who don’t think free software exists. There was this article about a teacher who confiscated Linux CDs because “ I am not sure what you are doing is legal. No software is free and spreading that misconception is harmful” Sounds like she needs a little exposure. Even Microsoft gives out free software. Want to bet? Look on your computer. Do you have Microsoft Movie Maker on it? How about MSN Messenger? Yes. That’s right. Free software. What about Apple? It gives us QuickTime (the player). iTunes is another one.

Free as in they don’t charge money for it?

No, not necessarily. Though this is generally the case. Free can also be as in freedom. Freedom to look at the source code and edit it. Freedom to use the program for any use. Yes, that’s right, even steal it, put it under another name, make some changes, and sell it again.

Take for example the Linux kernel. It’s free. Everybody can edit it. Everybody can do whatever they want with it. The result of this is a huge amount of Linux “distributions” which are specialised flavours of the same operating system. Benefits to the consumer? You bet. There’s lots of competition. Standards are kept high. People choose what suits them. Lots of choice.

If everybody can contribute, where’s the quality control?

Aha yes. More than half the programmers that think they’re good are crap. (Heck, I could be one of them!) They insert horrible code. They don’t follow conventions. This is why open source projects need good user and technical guidance and support, either through documentation or tutoring techniques. One popular choice is for an open source projec to have “beginner jobs”, which are simple tasks a beginner or a person just entering the project can tackle. This will give them a feel as to the style of the project, where things are located, and is a form of self induction training.

Also, it is important to note that most open source projects work in a method which can be described as people cloning the project, making edits, then applying their edits to a central repository which everybody clones from. Whilst doing this, people write logs about what changes they have made, and so on. All this information is tracked by a system. This technique is called version control. With version control, people can see what others are up to. In general if somebody sees something stupid being done, they fix it, or restrict the user from contributing further. This ensures contributions are beneficial.

Induction training? Nobody wants to do something for free.

Actually, yes they do. This is a big part of hacker etiquette. When the term hacker here is used, I am referring to the proper term hacker, which is basically an enthusiast for a certain subject, willing to delve deeper into it and learn more about the topic to suit their needs and interests. A hacker is not some idiot who tries to crack your computer.

Hackers believe in the sharing of information. They will willingly go out of their way to demonstrate a technique or to help beginners. They are fueled by personal interest. If they like a project, they will contribute. That’s how open-source projects get successful. They need to make the project appealing to developers. More developers joining will make the project progress a huge amount. This will benefit the users, who will then advertise it to the user community. Hackers interested in a topic will always hear the buzz in the relevant user community, and will then try to join too. Take for example KDE 4. These series have been all about revolutionising the desktop. They’ve done a good job of it too. Look at the logs of their version control system? You will see that the number of different people commiting changes have increased, and the frequency at which they commit changes have also increased. So yes, developers will willingly do it for free, especially if it’s something they use themselves. (dogfooding)

Uh, dogfooding? What?

This is a technique where software developers use their own software. Let’s say you were Nokia. What if all your employees used non-Nokia phones? That wouldn’t be very good for your image. Not only your image, but all your development. The best way to know what improvements would be best is to use it yourself. This is what open-source is all about. Making the improvements that people need.

When I said quality control, I meant does it provide what the user wants?

Yes. I’ve talked about the developers. To be honest, it can be said rather bluntly that developers are selfish people. If they want a feature, they add it. If they see something they don’t really care about, they won’t add it. They act in their own interests, not yours. However, since most developers are dogfooders, they themselves have similar wants to you. The way the open source community surpasses this developer-user gap is by introducing bug tracking systems and feature brainstorm systems. This allows the community to voice their ideas. Of course, the hacker are always looking at the buzz, so it’s quite likely someone will help. If a large user base agrees on the same feature being needed, a developer will always dedicate time to it. Not necessarily due extreme personal interest, but because it’s part of the hacker culture. In conclusion, this means that yes, it does provide what the user wants. I once read a quote about the upcoming Vista release: “I sure hope the Vista release is amazing, because I know that Linux will have all the same features within a year.” That’s right Vista, and there’s nothing you can do to stop them. The hacker response is “because I can and believe I should.

Give me real life proof.

Sure thing. Paulo Coelho supported piracy of his own books because he believed in the culture of sharing. Not quite open-source, but close enough. What was the effect? His book sales jumped up like crazy. It was a benefit to provide a good book for free so that people would get the hardcopy from the library. (to be honest, nobody in their right mind would only read softcopy books).

Mozilla Firefox. Supposedly the best browser on the market today. The only people trying to challenge that is the Opera people, who live in a world of their own. Pity them. Anyways, Mozilla Firefox is an open source project, and that’s what has mdae it the best browser. Does it attract developers? Sure does, the amount of addons, themes, and customisation that firefox can offer is amazing. What about Safari? Safari runs on Webkit, which was a fork of KHTML. KHTML was open source, and free software. All Apple did was steal it from the Linux KDE guys, develop improvements on it in secret, then release it under a new name. Shame on you Apple. However, that’s open-source culture! There is nothing wrong with Apple doing that. Of course, it’s a sin in hacker culture, but that’s why there’s discussion about merging Webkit and KHTML again (just google it).

Google. Google releases thousands of lines of code. Look at Google Android, the Google phone operating system. Google is a prime example of open source nature.

Wikipedia. Wikipedia runs on Wikimedia, and that is downloadable is free software. People can create their own wikis, anytime, anywhere.

Many country’s government all run Linux. Not because all governments are short on money, but because it provides what they need. The open source nature has made Linux possible to be made extremely secure and customised. The American security agency or whatever their name is all use Linux. Obama right now is encouraging businesses to consider open source and free software and viable alternatives.

One great example I read by Jeff Atwood over at Coding Horror was the comparison of open source to the self-service checkout counters available in most supermarkets nowadays. Think about it. Normally you would pay some guy to sit there checking out your stuff. This is proprietary software. Now you have the user doing their job, all for free. Why? because the user is interested in the stuff in your store (attracting developers). They are willing to do this. Not only that, but they are willing to do it well and get it done quickly and efficiently. Get it done well? This means no stealing stuff, etc. Why? because there are a dozen security cameras watching you (version control). Why quickly and efficiently? Well, nobody else in the store wants to you to check out more than you yourself do. This is a self motivated drive.

Think about open source. True, in some situations, it might not be applicable. However it’s always an option, and most of the time you just don’t see it!

Linux: Open Source Theory

Wednesday, October 1st, 2008

Recently I’ve been rather interested in the whole theory that Linux runs on: Open-Source. Open source software is free software. Free as in freedom, not only free beer. We’ve all heard that phrase before. At the other end of the spectrum is proprietry software, such as Microsoft’s XP, Vista, and the whole series. The main advantage that proprietry software gets over the open-source equivalents is that they get easier access to money, and its this very same money that they can blow on advertising, providing top notch development workspaces, and the like.

Whereas in the open source theory, with Linux being the prime example, we see people dedicating hours of tough work to produce something they’re going to give to everybody. It’s a bit like doing unecessary homework at school – if I’m allowed to use an analogy. The main benefit to the person slaving away their hours is simply self-satisfaction. Whereas the proprietry software folks get some money.

Not to try to suggest anything negative about open-source development, but this is strikingly similar to the idealogy behind blokes who produce computer viruses. Sure, they don’t share their code all the time, and sometimes the incentive behind it is for money, but the rest of the time, they just feel like annoying the heck out of others. This being the Antichrist example of open source probably has a lot to say about why people do things – which is something I’ve been noticing a lot myself lately. Do I feel like I want to start up a huge successful website to get huge amounts of money, or would I rather develop my own skills in other areas that probably won’t immediately give me large sums of cash? The answer at the moment is leaning towards the personal development side of things.

The main point is what happens when open source and proprietry software compete? Proprietry software obviously have the upper hand when getting customers. Open-source is believed to be a lot better/faster/securer method of producing a “quality” product (using the theory of synergy). Proprietry software have more influence over potential business partners and complementary products. Open source guys offer freedom of choice. In my personal opinion, this leads to a total mess of everything. For example:

Windows 95, 98, 2000, XP, Vista.

Linux: Ubuntu (Kubuntu, Xubuntu, Edubuntu), Gentoo, Mandriva, Suse, Debian, Redhat, Mint, Fedora, Sabayon, Xandros, DSL, Slackware, Puppy, Arch, MEPIS, Linspire … and the other 200 or so. Not to mention GNOME, KDE, Blackbox (and deriviatives), Ratpoison, Enlightenment, XFCE, Rox … etc. Each of these with their own versions.

The general outcome of this is that freedom of choice leads to arguments. I’m not saying all open-source folks do this, but we occasionally get the boron who says “Mine is better than yours”. Even right now we have people petitioning for others to say “I like what I choose. You like what you choose. We’re all a big happy family.”

In reality, let’s take a look at how competition actually is. Windows owns 90% of the computer market, with Linux chugging around 1.3-1.4%. Windows (yes, really) owns 70% of the server market now. We also see that for years Linux folks have been predicting the day where Linux will rule the world. 2002? 03? 04? 05? 06? 07? 08? Now what, 09?

Look at reality. Absorb it.

No, seriously. Statistics are probably the most blunt way of expressing things. Can Linux’s market share be accurately measured? What about computers which shipped with Windows but were replaced? What about older computers replaced with Windows? Is open-source dying, when we clearly see applications like Blender, OpenOffice, Firefox and the such rising at such incredible speeds? It doesn’t matter. The fact is, now, we’re not exactly getting anywhere that people can say “wow – I see the light”. Sure, we got some deals with Dell and whatnot which’ll be a popular asset in the future, and we’ve also got “We’re Open Souce” becoming as hip and trendy as “We’re Green” – but in the end, it’s what people see that count.

The real question is, what’s the method to right all this madness and put Linux’s place where it truly belongs? Is using commercialised avenues the right way, does it ruin the whole concept open source is run on?

Yet again, another open-source article ends with no real point being made. I hope you enjoyed reading it, and I’ll probably come up with more meaningful rants in the future.

GIMPup A Webdesign

Wednesday, July 23rd, 2008

Seem as though The GIMP has finally gotten on my list of “Awesome Applications”. That list is basically all the stuff on the computer which I know I cannot live without. They already include Vim, Blender, Apache, MySQL, PHP …. etc – but I’ll save that for another post. All of the applications I use are open-source and completely free. Except for Adobe Photoshop.

But Photoshop rules! Why switch to The GIMP?

You’re right. No way saying The GIMP is more powerful than Photoshop. Not saying the switch over to learning The GIMP wasn’t filled with “argh! Where did my other kabillion windows disappear to“. Also not saying that all the industry professionals should switch over to The GIMP right now.

However, I like to place my faith in open-source software (Blender being an excellent example) – the main reason being that open-source development is crazy fast, and the community in general is great. So I wouldn’t be too surprised if 5-10 years later The GIMP is the ultimate graphics tool.

So, how to learn The GIMP? Simply by using it to do what I would otherwise do in Photoshop. Some methods of working I have developed is that my two panels are always set to “Always On Top”, and my window manager set that a double click on the windows title bar will shade the window. One of the external window contains the toolbox, and nothing else, and the other contains everything else that I use frequently in tabs. This way I get quite a lot of screen space for what I’m working on. I’d also like to mention that learning the hotkeys for the tools in The GIMP is definitely something really useful to do for a beginner.

Here’s a design I churned out after 4 hours of working out how stuff is done in The GIMP. I hope you like it. Click the image to get a full size picture.

Of course, comments welcome.