The Intent system is what makes Android so powerful. If I have an application that wants to sent a twitter message, it can send an Intent with a request to do so. This Intent can be picked up by any of the applicaitons you have installed, so that the developer not only doesn't need to develop twitter functionality, the user can also choose to use whichever twitter application he wants, and it'll still integrate perfectly.
In case you were wondering, if more than one app is prepared to handle an Intent, the user gets an option to choose withich one should be used, and can store that as a default for the future.
Everything uses Intents, even basic functions such as sending an SMS, which is why alternate SMS applications works completely transparently. Another Intent is the one that displays the main "desktop". Again, no need to be limited to the default desktop application.
Just because no other mobile OS'es gets this right, doesn't mean that Android is wrong.
Imagine that, a software design decsision that worked. It's almost like the people who designed Unix were smart guys who knew what they were doing. Who would have though it?
Thank you, Web 2.0.
I think this is a case where the definition of the word has been extended over time, and there's nothing wrong with that. Wikipedia seems to agree with me too:
Traditionally, mopeds are equipped with bicycle-like pedals (the source of the term, motor-pedal), but moped is sometimes applied by governments to vehicles without pedals, based on their similar engine displacement, speed, and/or power output.
Even going on the freeway in a car is not a high-speed endeavour. There are just too many vehicles and people.
I can see this vehicle to be a perfect option for a lot of people.
The actual cause of this issue is a versioning incompatibility between different versions of libstdc++-so.6.
I find it to be a good compromise, and I'm actually happy that they don't include commandline tools that I won't need by default. If I need them, I can always install them.
I have a HTC Dream developer unit and I have to admit that even though I've hacked around quite a bit with it, I never felt the need to have stuff like Perl on it. Perhaps that's why Android is suceeding where OpenMoko failed. Android is a very good phone system that happens to be open and hackable. The OpenMoko devices is a linux system crammed into something where it doesn't fit.
Then there is the problem that OpenMoko just looks silly...
Not really "tool based" programming like the unix stuff that was mentionned...but for example where I work, they combine languages. Our
.NET stuff will be a mix of raw intel assembly, managed C++, C#, and F# for the algorithms.
Definitely. You also work in a shop where all kinds of different operating systems are supported and used. Windows XP, Windows Vista, Windows 2008... See?
I have to admit I smiled a bit with joy when that happened.
We warn the reader in advance that the proof presented here depends on a clever but highly unmotivated trick. -- Howard Anton, "Elementary Linear Algebra"