Wednesday 31 December 2008

Tempted by Android...

I had the occasion to have a play with a colleague's T-Mobile G1 today, and all I can say it this:
WOW!!!!!!!
Excuse the somewhat childish overuse of caps and exclamation marks, but I really had to get the point across!
I have a 32GB iPod Touch and have also tried other people's iPhones, so I have a fair idea of how the iPhone compares to the G1. And quite frankly, I think that Android is going to utterly annihilate the iPhone.
Believe me, I don't say this lightly. I'm certainly not an Apple fanboy, by any means, but I do like my iPod Touch. It's polished, it works pretty well, and the apps I've used so far have been pretty cool.
However, the iPhone and iPod Touch have plenty of flaws too. I don't like the iTunes music store - I think it's a bit of a rip-off for downloading music compared to Amazon's MP3 store, which is cheaper and DRM-free.
At present, Apple may have more apps already available, but I feel that longer-term, Android is likely to attract more developers. Here's what I find restrictive about the iPhone and iPod Touch for software development:
  • You can ONLY develops apps for them on a Mac, using XCode.
  • Apps are written in Objective-C, a programming language with little support outside the Mac community.
  • You have to be in the Developer Program which costs $99 (OK, it's not much, but it's still a barrier to development - after all, what if people in the developing world wanted to develop apps?)
  • You need Apple's approval to make your app available - this has been discouraging developers who have seen their apps being rejected for vague reasons, and these are the people you really don't want to piss off as they are the lifeblood of any software community.
Now, compare this with Android:
  • You can develop apps on Windows, Mac or Linux, with Eclipse being the main development environment, although others are supported.
  • Apps are written in Java, probably the most popular programming language in the world, with a massive existing developer base, and already widely used on mobile platforms.
  • No requirement to join a developer program.
  • No need to have Google approve your app - Android Market has no restrictions on apps, unless they are outright dangerous (OK, someone will say that makes them potentially dangerous - I'd answer that Android is Linux-based so it should be pretty rock-solid, and Java apps run in a Java VM so they are sandboxed, so I think that's probably safe enough as long as they sort out the notorious bug where it would run text commands as root...)
So in my opinion, Android has the potential to attract a LOT more developers than the iPhone. Add to that the fact that there are a large number of handset manufacturers that have signed up to the Open Handset Alliance, including well-known manufacturers such as Motorola, Sony-Ericsson, LG and Samsung, all of whom will have an interest in contributing to the pool of applications available, and I would expect Android's developer community to quickly expand over the next couple of years, until it dwarfs the iPhone developer community.

A lot of people have said that the G1 doesn't stand up to the iPhone on various counts. OK, that's fair enough, but they miss and important point - the G1 isn't Android, it's the first Android phone, and is largely for developers and early adopters. There will be others, and some of those are courtesy of manufacturers that really know their stuff. I love Motorola phones, so I might consider getting an Android-based Motorola device.

From what I hear, the Cupcake branch of Android is making staggering progress. Thanks to its being entirely an open-source project, Android can very likely develop faster than the iPhone OS can. In a year or two, I would expect Android to have outpaced the iPhone OS. If you compare Android now to the iPhone OS when it was released, I'm pretty sure Android is superior. The Android of a year hence will no doubt have seen a lot more development, and crucially, a LOT more real-world use, and will therefore no doubt be a completely different beast.

Having seen it in action now I'm sorely tempted to get a G1, and I'm only inclined to wait because of the promise of even better in the future. I've mentioned that I'm currently learning Python, and I have plans to learn another language after that. I've considered Objective-C as creating an iPhone app, even if I didn't make it available, might be an interesting challenge, but now I'm thinking that learning Java and creating Android apps might be more interesting.

Finally, just like to wish everyone a Happy New Year!

Thursday 11 December 2008

Real UNIX my ****!

I've heard that writers write about whatever gets caught in their filters, so usually they tend to write about things that piss them off. That must apply to blog authors, because I've got a real bee in my bonnet about this issue.

According to Wikipedia the current OS's which are licensed to use the UNIX trademark are AIX, HP-UX, IRIX, Solaris, Tru64, A/UX, Mac OS X Leopard (on Intel only), and part of z/OS.

Now, I don't know about IRIX, Tru64, A/UX and z/OS, but as I understand it AIX, HP-UX and Solaris are derived from AT&T's original UNIX source code, as IBM, Hewlett-Packard and Sun respectively licensed this from AT&T, so they include code from the original UNIX.

Now BSD was created at University of California, Berkeley, using AT&T's original UNIX source code. Later, in the early 90's, all the code that was licensed from AT&T was reimplemented. Therefore, as I understand it, BSD contains none of the original UNIX source code, and operating systems like FreeBSD and NetBSD can't call themselves UNIX for that reason.

OK, so that explains to my satisfaction why AIX, HP-UX and Solaris are real UNIX, and I assume the same applies for IRIX, Tru64, A/UX and z/OS. But OS X?

Unless I've got my wires crossed somewhere, OS X contains none of the original AT&T UNIX source code:
  • The XNU kernel consists of the Mach microkernel, which was developed as a replacement for the BSD kernel, together with userland tools taken from FreeBSD4.4. So, as I see it, no AT&T source code here.
  • The shell used in Leopard is bash. Many of the other tools used are also the GNU versions as used in GNU/Linux and GNU/Open Solaris.
  • I believe the X Window Server used is a fork of Xfree86.
So, correct me if I'm wrong by all means, but I can't see that OS X contains any of the original UNIX source code. If so, surely it's not really got any more innate right to call itself real UNIX than Linux has?

So far as I can see, UNIX certification means that it's been certified as being POSIX-compliant by the owner of the UNIX trademark. Well, that really doesn't mean that much, does it? To the best of my knowledge, this would just mean you'd pay The Open Group to certify it as being real UNIX. Is there any reason why any Linux vendor couldn't pay this fee and have their distro certified as being real UNIX? I really don't think this would be a good use of their money, but I see no good reason why this couldn't be done.

So, dear lazyweb, here are my questions:

1) What actual benefits are there to an OS being certified as real UNIX?
2) Does OS X Leopard contain any of the original UNIX source code?
3) If not, what right does it actually have to call itself real UNIX?

Seriously, I'm not trolling here, I just cannot see that Leopard has any more right to call itself real UNIX than Linux does on the basis of the source code. And if it's based on certification, then what's to stop a Linux distro vendor from having their OS certified as being real UNIX?

Wednesday 10 December 2008

Linux - Stop holding our kids back

This is one article that genuinely made me angry - it's worrisome how ignorant the teacher mentioned is.

read more | digg story

Wednesday 3 December 2008

Are Macs designed for the left-handed?

I had a bit of a bizarre revelation this afternoon, which I'd like to share. I own a total of four laptop computers:
  • A Dell Inspiron 1150 running Kubuntu Hardy
  • A Philips X58 dual-booting Vista and Ubuntu Intrepid
  • An Asus Eee PC 2G Surf running the default Xandros
  • An early 2008 MacBook
Now, the Dell has two USB sockets at the back, the Eee has two on the left and one on the right, the Philips has two on the left and two on the right. So with these machines you can easily have the mouse on the left or right-hand side.

The MacBook is different. It has all the USB and other sockets on the left-hand side, so you have to plug in your mouse on the left. If you want to use a mouse on the right-hand side it effectively shortens the length of the wire. Also, the touchpad has only one button, so there's no right or left button in the same way.

So that begs the question - Are Macs designed specifically for people who are left handed?

Think about it - the ration of right-to-left handedness is about 90:10, similar to the proportion of Mac users to users of other PC's (yes, Macs are PC's!). Macs have a reputation for being used by creative people and creativity comes from the right hemisphere of the brain, which is linked to the left side of the body, meaning that creative people are more likely to be left handed. So if creative people are more likely to be left handed, it follows that they are more likely to prefer a computer designed for them.

Now, I'm right-handed, and I'm also a good example of a left-brained logical type, and while I quite like OS X (I do think it's better than Windows), I prefer Linux. Linux is more likely to appeal to the right-handed, left-brained people who like getting lost in technical details simply because you can get lost in the technical details, but also most people run it on hardware other than Macs, and like I said above, my impression is that most PC's are designed more with the right-handed in mind.

It also explains why some people absolutely rave about Macs, and plenty of others (myself included) are ambivalent about them (although I am actually writing this post on my MacBook, naturally as it's what I had to hand when I first noticed this!) and can't understand what the fuss is all about. If you were left-handed, wouldn't you prefer a computer designed specifically for you, to the point that you'd never want to go back?

It wouldn't surprise me if a survey were to find out that the majority of Mac users were left handed, and I'd be curious to know if such a survey has ever been done. Any thoughts, anyone?

Monday 1 December 2008

Pownce is closing - a call for the code to be open sourced!

I was very sorry to learn today that Pownce is closing. It's a good service, and I will be sad to see it go. Although it was never as popular as Twitter, it did offer far more powerful features.
I went and logged in and people were discussing alternatives (I like Rejaw as a Pownce alternative), and someone mentioned open source microblogging software such as Laconi.ca, or perhaps a Drupal module. This gave me an idea.
Pownce was apparently created using Django (for the uninitiated, it's a web development framework similar to Ruby on Rails, but based on Python instead of Ruby). It runs on a standard LAMP stack (although with Python instead of PHP, as stated above), which is entirely open source.
Now, bearing in mind that both Python and Django are open source, and from what I read of the acquisition, it was mainly to get the people, could Pownce be open sourced?
If this was possible, it would be a great way for interested parties to set up their own version of Pownce. So far as I can see, there's no proprietary software involved that they might need to hang on to.
I'm therefore going to post this on Digg, as that would be a good way to get some feedback on what people think, and attract more attention.
So, Kevin Rose, how about it? Any chance you could open-source Pownce?