Archive for April, 2009

Windows 7 “feature”: let’s include XP!

Wednesday, April 29th, 2009

Boring Introduction I recommend you skip reading but you’ll read it anyway.

Firstly, hello Planet Larry! For existing readers, thinkMoult is now also a citizen of Planet Larry, which is governed by a cow named Larry (isn’t Larry a guy’s name?), and is mainly populated by geeky blogs. I decided to delay my next article about the practicality of the open source business model/culture and instead have a very quick post about a feature I read about in Slashdot. The next part of my analysis will likely come soon after.

Ok, now for the actual post itself.

Apparently Windows 7, the upcoming buzz from Windows land will have as a “free” feature (add-on, actually) for its professional and ultimate (hence, not really “free”) editions which will allow virtualisation of the Windows XP operating system. For those casual readers of my blog, it’s like running an operating system on an operating system, a bit like what I did when I reviewed Windows 7, except instead of Linux, you’re running XP on Windows 7. I wrote about how the majority of US businesses had stated that they would not switch to Windows 7 due to worries over compatibility issues, but this just might be overdoing it.

On one end of the spectrum, you have Windows Petite, which is supposed to take over the mini-computer market, with one super feature: you can only run 3 programs at one time. Oooh, then they can advertise along the lines of “Hey guys, we don’t lag at all!“. And then you’ve got the other end of the spectrum where you’ve got two operating systems lumped into one. This got me thinking. What if I wanted to install Windows Ultimate on a netbook, then run XP on it at the same time, will it explode or something? (Wait, do netbooks even support hardware virtualisation?)  Obviously somebody in Microsoft’s marketing departments didn’t talk with the product design department.

Not to mention the support hell it will all create. Where you once had to support 10,000 copies of Windows, you now have to support 20,000. (yes I ripped that shamelessly off somewhere I can’t remember now) Oh, and what was that about Windows stopping their support for depreciated Windows versions? Looks like it might not happen.

Seriously, somebody please help me understand the thinking that goes behind all of this. “Let’s create two products to cover all our bases. One will only allow 3 programs to be run at one time, and another we’ll simply take our 7 year old product we once said we wouldn’t support anymore, and lump it in one big package.

Oh wait a minute, why didn’t they choose to lump Vista with it?

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).

Windows 7 Review

Friday, April 17th, 2009

To those who have been keeping up with all the Windows 7 buzz, this post will seem very “behind the times”. Well, I don’t care :) To those who are just casual browsers of the thinkMoult blog, this might interest you. (Well, it was also in my drafts folder for a long time, and I decided to finish it off)

Let’s start off by saying I do not hate Microsoft with a vengeance. True, I do think their Windows operating system is a flop, but let’s not have that impression taint the new Windows 7, eh? For the more technically inclined, I ran Windows 7 build 7000 – amd64, on a VirtualBox. The actual OS underneath was Gentoo Linux. Let’s take a look at what we see first (after it’s all installed):

windows7_bootup

Well, the install process was…slow. I had to leave it overnight. (started the install at about 12:00AM), and things has a knack of staying at 0%. Choosing the date and time seemed a bit bugged, as I could change the time, but not the date (which was wrong). Of course, the slow install could’ve been because I was running it on a virtual box. (Compared to the Ubuntu install, the Ubuntu was faster, and more user friendly).

The start up screen was nice, and had a flashy little animation showing the Windows logo glowing somewhat. The logon was pretty dumbass proof (type. in. password), and up there you see the screen it shows when you log in. I think there was something wrong because I expected compositing of some sort, but I didn’t get any. So as you can see, the taskbar there is pretty darn opaque. This also meant I didn’t get a lot of the eyecandy, including the well-publisized show desktop effect (which I don’t see what the hype is about anyway).

The taskbar, as you can see, is the most obvious change. The first thought that came across my mind was “This looks like KDE 3.x”. In case you don’t know, KDE is a user interface for Linux, and the 3.x version is … old :) I’m not saying it’s bad, I’m just saying Windows has stolen an old idea of Linux. Apparently each application now only shows as a huge icon on your taskbar. At the same time, you have quicklaunch icons which look pretty much identical. I found it a bit disconcerting at first, but to be honest it wasn’t hard to confuse against. However, this concept also made each application have to group, and since I tend to run quite a lot of applications (especially because Windows doesn’t have any concept of multiple desktops – gosh they are slow) this new task bar would personally act as a cripple to my workflow. It would make it hard to manage a lot of open windows. Especially because it doesn’t show the names of the windows, which can show a lot of useful information (eg: file browser – which folder you are in, web browser – the website you’re on, email client- which folder, irc- which channel, etc). Of course, I’m sure there is a legacy option, but I believe this change was for the worse. The ratio of the size of things on the taskbar to the area of the taskbar seem very uneven, and so I also find that there is a lot of space wasted – which is a sign of bad design. Of course, some times these can have good aesthetic effects, but not in this case (in my opinion).

windows_1

When initally poking around, I was quite impressed with the changes. As you can see, the calculator has been beefed up (small things do count), you can see the grouping in the taskbar, some desktop widgets, and a theme that has been applied. When poking around a bit more, I found that the experience got worse and worse. My initial reaction to the possibility of the themeing support (in the control panel – more about that later) was “finally!”, but apparently all it does is change your wallpaper and your clock design. Ooooh. Innovation. What a anticlimax. The grouping likes to split the tabs in internet explorer into separate items. What a waste of tabs in the first place if you’re going to treat them like separate applications in your task bar. I was also quite disappointed with the packaged set of desktop widgets – hardly any of them would be actually practically useful for me.

windows_2

Next up was IE. They apparently did upgrades. And yes they did. It looks…bulkier than ever. The menus and such take up about 300 pixels, if not more. The bookmark support is pathetic, the url bar doesn’t guess well, the new compatibility mode is well… hell for web designers, as now we’ve got even more stuff to try and insert hacks for, the refresh and stop buttons are put… well, at the opposite end of the interface. This is quite daft to be honest. THe search uses live search which is next to useless, and it still likes to block my downloads randomly. The zoom has improved though, and I have heard the speed has increased, but since I use TMNet as my ISP, this is uncertain. If you look on the taskbar, you can also see that  a little extra line has appeared next to the IE icon, this shows I have more than one tab open. This is useful. However treating tabs as separate applications like I mentioned before, is not.

windows_3

Finally we look at the start menu and the control panel. The conrol panel is a maze. There are about a hundred options, and within them cross links to each option, and further subsections. Take a look at the screenshot. See how many are shown (there are two columns), then look at the scroll bar. Thankfullly they’ve implmented a Control Panel Search option – however the search doesn’t yield very useful results. That control panel really needs to be completely redone -it’s horrible.

The start menu is … well, not much of a huge change since vista.  For some reason they thought it might be a good idea to put a “screen capturing” application as one of the options in the main start menu. Personally I believe that space should be reserved for the most often used and important applications. Oh well. Also, all the other power management options have been put into a menu that you can access when you press a tiny little arrow next to the shut down button. There are 5 options you can do there. So much for keeping things simple – mark my words: that menu’ll confuse people. Oh, and here’s the really great thing, the shut down doesn’t ask for any confirmation. Once you click it (especially easy because it’s right next to “My Programs”, some options, and the power management options) it just shuts down whether you like it or not. Who cares about your work, now Windows wants you to be able to shut down with one click. Might as well pull out the power plug whilst your at it. The lack of session management is also disappointing.

Oh, and finally for general things I didn’t like. The sticky notes seemed to be a whole other application on itself, and not integrated at all. I might be wrong, but that was how it seemed to be managed. Solitaire lagged like crazy (maybe because I was on a VirtualBox, but all the same, nothing else seemed that laggy – just the usual Windows speed). Paint had stolen some ideas from Linux’s KDE Paint (KolourPaint I think it was called) and now has a ribbon – wow, how complex do you want to make it? Also, the file structure has gone bonkers. The Documents and Settings has been replaced by “Users”. Also, who uses My Documents, My Music, and My Pictures etc as they should be used? (eg: Documents only for office docs like .doc, .ppt, etc, music for music files, pictures for picture files) Most people create their own structure all within My Documents. Windows trying to enforce some crappy file directory structure upon people, telling them how it should be organised is pathetic. Especially because now we have My Docuements, My Pictures, My Videos, My Music, My Links, My Saved Games, My Notes, My Bookmarks, and a whole bunch more “My” folders.

Now, it wasn’t all that bad. There were a lot of new special effects, and enough glowing items to make me die of epilepsy if I move my mouse across the screen of the regular file manager. They’ve really overdone the characteristic glossy style that Windows has been employing lately, and though I hate that style, maybe some like it.

A change nonetheless. A change worth a couple hundred bucks and the next gen hardware? Probably not.

ThoughtScore Scenes 1-5 Sneak Preview

Thursday, April 2nd, 2009

The ThoughtScore Project has made crazily slow but steady progress over the past few months. But those watching the Twitter feed would have noticed that I’ve spent a lot more work on it recently, mostly being re-renders and overnight-renders. Of course, with the ability to use Blender on my phone work has sped up considerably.

The ThoughtScore Project is, of course, completely open source, and this also means that I would like to share the development with you guys, and let you choose what you like, don’t like, and I sincerely welcome all your ideas for changes. Well, enough of the waffling, here are some in-movie frames as a quick preview for the impatient:

temphighway

Highway scene 4.

132

Forest chase scene 5.

…and without further ado:

Click to Watch ThoughtScore (WIP Scenes 1-5)

Comments welcome!