Sunday, June 29, 2008

The Google Android software stack in brief

The Google Android platform for mobile sounds like a very promising platform and software design. It address some of the common problems that the industry had encountered before. Android use Java as its main application development language, to make sure application is portable on all mobile devices. Android use Linux kernel which already proven as advance and stable.

There is a good Androidology video, explain on Android software platform.

Why Android sounds good?

The Android system contain 3 part of software layer:

1. Application, build by Java.
(I merge application and application framework together)
2. System library written by C and C++.
3. Kernel is base on Linux kernel 2.6.

Application layer. Java language was chosen as the development language. There is a lot of mobile developers out there already know Java language (mainly J2ME which is for mobile devices).

Java is a proven technology, portable on different software and hardware platform. Java is already available on majority of the mobile phones, only some old and low end mobile phones will not have Java included.

Current Java on mobile (J2ME) has a lot of limitation, so major mobile phone company will add in their own extension to the Java library, this make portability of Java application on mobile more difficult. Normally Java was used to create Java games on mobile, many other applications are still build on the native OS and not on the Java layer.

Sun has been pushing Java technology on mobiles for years, it was successfully deploy on most of the mobile phones, but lacking of standardization make it difficult to go further.

If there are rich and standard API stated in Android, developers can use those API to develop games and applications, integrate well into mobile phones, and Java will make Android application portable on all (Android) mobile phones.

The Java program don't run directly on Android, it was converted into Dalvik byte code. Basically Android not just can run Java but other application as long as it can be converted to Dalvik byte code.

The Linux kernel. The Linux kernel was chosen because it was proven to be stable and powerful. Linux has good memory management, process management and already build in with many other functions like tcp/ip networking which is necessary for an operating system (especially you need it to connect to data network on your mobile).

For a new hardware mobile manufacturer, the first thing to do for building an Android platform is to build the device driver on the Linux kernel, there should be a lot of developers around which already know how to do it.

There are a lot of companies try to build mobile phone operating system base on Linux kernel before Android do, but not very successful. Palm and PalmSource is a very good example, they have been working for years to develop a new Palm OS, but unable to deliver.

Even Motorola and Nokia has release some mobile and internet devices which running Linux operating system, but it was not very successful as well, like the Motorola A series phone started with A760. Nokia has an Internet Table device (N770) which build using Linux operating system too. These devices are not popular on the market, even on smart phone market.

In technical point of view, Android use Java + Linux is a smart move. Both Java and Linux is proven technology, and provide portability for mobile application on Android platform.

The system libraries. The system libraries on Android mainly build by C and C++, it should be fast and efficient. Since the library is run on top of the Linux kernel, there should be a lot of available software which ready to run on Android.

Open source. Android has use a lot of open source software to build their platform. Linux is open source, SQLite (in library layer) is open source, the WebKit to build the browser, is base on KHTML, which is open source as well.

The advantage of using these open source software, help to build up the the platform more quickly. All these open source software already proven to be usable, stable and powerful. Most important thing, these open source software will be improved in the future.

Since Android is still under development and there is no real product implementation yet, we will observed in the future how good it will be.

Sunday, June 22, 2008

The tag is brain drain, exodus and Yahoo

After Flickr co-founders Stewart Butterfield and Caterina Fake is leaving yahoo, Joshua Schacter, the founder of Delicious is confirmed leaving Yahoo too. Flickr and Delicious are web 2.0 website acquired by Yahoo in these few years. I like these two websites, and I think these two websites are two of the few potential web services which play an important part in Yahoo's future. Yahoo even close down its own online photo service and replace with Flickr.

After Yahoo rejected Microsoft bid and turn to Google, Yahoo senior executives were reported leaving one after another. Qi Lu (executive vice president of engineering for Search and Advertising), Vish Makhijani (senior vice president of search), Brad Garlinghouse (senior vice president of Communications & Communities), and more... TechCrunch run a long list of Yahoo executives who leave yahoo since January 2008, and the list keep updating very frequently.

Jerry Yang was pressured from angry share holder like Carl Icahn, criticized by writer like Joe Nocera, now facing executive exodus widely reported by news and in many blog posts, is really a hard time for Yahoo and Jerry Yang.

Monday, June 09, 2008

Apple WWDC 2008 is almost there

One more thing, 2008

Another few more hours will be the Apple WWDC (World Wide Developer Conference), what will Steve Jobs announce in the event? The development of the next release of Mac OS X 10.6 (snow leopard)? Or a 3G iPhone?

There are rumors reported that sealed boxes shipping to Apple Stores, will not be open up untill Monday (Apple WWDC).

MacRumors will have a live event coverage.

Another interesting thing to be observed is, will twitter survive through the high trafffic during Apple WWDC event? Recently twitter website experience some down time, because the system can not handle the high volume traffic. These days people like to use twitter to report during Apple WWDC(Will wwdc break twitter), it will be a critical load test for the twitter website.

Twitter official blog has a post on the Apple event as well.

Tuesday, June 03, 2008

OpenSolaris 2008.05 Installation Screenshots

The following screenshots show step by step, how to install OpenSolaris 2008.05.

Boot as LiveCD

Boot as LiveCD

Before you install, you can use the Device Driver Utility to check for hardware compatibility.

Click on "Install OpenSolaris" to install. Make sure you backup your data.

Step 1: Disk
Choose Disk
Choose the disk or partition to install

Choose which partition to install, set partition type to "Solaris". You can choose "Use the whole disk", then all data on the disk will be erased.

Step 2: Time Zone
set time zone
Set time zone

There is a world map for you to choose the time zone.

Step 3: Locale
choose locale
Choose locale

You have english, chinese, japanese...

Step 4: Users

Create the root password and a normal user(optional).

Step 5: Installation
The installation may take 30 minutes

Just wait, normally it will take about 30 minutes, but depends on your machine.

Once is done, eject the CD and reboot. Is easy right?

Sunday, June 01, 2008

First glance at OpenSolaris 2008.05

After three years of incubation development, is the announcement of OpenSolaris 2008.05 release. OpenSolaris 2008.05 is the first official OpenSolaris release with support, but I expect there will be more release update after this. I take a quick look at it before the end of May (while it still fresh and hot).

OpenSolaris 2008.05 is LiveCD for desktop (but Solaris is always a server OS than a desktop OS), you can use the same LiveCD for installation as well. The 700Mb (685Mb) iso image can be downloaded from, or website.

With the release of OpenSolaris 2008.05, it also mark as an end of SXDE (Solaris Express Developer Edition). OpenSolaris is the quick peek at what may look like in Solaris 11. OpenSolaris should be binary compatible with Solaris 10, that means your device driver for Solaris 10 can be used in OpenSolaris as well(*).

If you are able to install OpenSolaris without much problems, congratulation. You may have nVidia video card and plenty of Ram. There are some problems that I have encounter that I want to share with you all.

1. Bloated desktop? The LiveCD running very slow on 512Mb Pentium 4 machine. May be the Java Desktop Environment take up a lot of Ram, but don't blame it on Java. Java Desktop Environment is not Java, is just a marketing term, is actually Gnome. I think Gnome are bloated. That's why some Solaris distribution like Belenix use XFCE for the Desktop.

2. Limited Driver support. Don't expect it work like Windows, boot successfully on most desktop hardware, even ubuntu linux will have better support than OpenSolaris 2008.05. For display, tested and work well with Nvidia and Intel video chipset, but ATI display may have some problem (a blur screen display).

Network is a very important device other than the video display, it could be much more important than the display. A very common Intel PRO100/VE network card is not included, even through driver provided by third party is available.

3. Limited installation mode. Unable to use VESA VGA or text mode for installation, if you can't get your display setup properly, you are in trouble.

4. Unable to load extra driver. Unable to load extra driver disk, if hard disk controller card (eg. HP Smart Array) is not supported, it was unable to install.

After all the bad comment, does OpenSolaris has any good? Yes.

New package system (IPS, Image Packaging System), may improve software installation process. There are more... which I am not listed here.

Not everyone need OpenSolaris, don't get it just because is open source. I have told you my reason here, so what's yours?

* You might need to change the name from 10 to 11.

Review on zdnet.
Another installation review.