Why Android will become a major player in mobile world
2009-01-10 23:31:12

Mobile technologies and services are evolving at a very fast pace, and with it, the growing need for software able to deliver this new experience to the user.
When Google started this ambitious project of universal mobile operating system this was far from a cakewalk. In this very competitive area, major player trying to keep their market share while audacious new comer are about to change mobile devices and how it will be seen by the public.

New technologies and concepts


As you probably already know Android is a Linux based operating system designed for mobile devices. But it's not just another customized version of Linux, it comes with brand new paradigm for mobility. First the graphic server is an entirely new software, and it is not X11 compatible. Second the programming language is Java, running in a custom virtual machine called Dalvik. Android takes notice that mobile device don't share that same constraints than desktop systems. Mobile device are mono-user, don't need to keep legacy compatibility.
On the other hand, mobile application must be: portable across devices, which means able to handle different hardware processor, different inputs, different screen resolutions. In addition, mobile applications must give the user a homogeneous feel: homogeneous interface, homogeneous way to access functionalities, homogeneous look and feel. Application must react in the same manner, that is interact with other application, be put to sleep when user receive a call. Mobile application are very often connected and should integrate well with each other (for example contact list should be available for any application the needs it).
While on the move, typical user will switch back and forth between application( taking call, writing notes, playing games, surfing the web, taking photos), Android is only able to display one application at the time but emphasize on being able to seamlessly switch between application without a powerful underlying hardware. And all this with very few work from application developers, thanks to the Java virtual machine and the Android system doing all the hard work.

Opposition


Android comes against very fierce opposition. Windows Mobile, Symbian, BlackBerry, iPhone every platform has it pro and cons.
BlackBerry OS by RIM: Java based with multi-tasking pretty much like Android, it doesn't offer a real market place, in addition it's to one manufacturer and doesn't share the same universal goal as it is limited to only one brand.
iPhone OS by Apple: unable to provide consistent multi-tasking, Apple decided no to make it available to the user, still the iPhone shows the leading way to Android concerning human-computer interaction abilities: full finger, touch metaphore. iTunes and AppStore are also service to learn from. As the BlackBerry OS being limited to only one manufacturer.
Windows Mobile by Microsoft: Probably the most fierce opponent to Android, both are competing in the same area, mobile operating system meant for every mobile device, unlike Android it doesn't come with centralized software download center. It still does have large application pool though due to its widespread distribution. Neither the less, as Microsoft hasn't been able to cut from the past, so WinMo is crippled by its architecture and inappropriate human interface that comes right from the desktop version of Windows. In order to keep up with the opposition manufacturer had to brand their own interface, but individual initiative cannot lead to an homogeneous system. A complete rework is needed, otherwise WinMo is meant to be left behind in the forthcoming mobile for the mass era.
Symbian OS is also an intersting competitor as it gather many phone manufacturer, recently Nokia has taken control of Symbian, an tries to move it to a more open stance. While Symbian is by far the OS leader with 46% of share market, it is declining and Nokia's action might turn away other phone manufacturer(especially Sony-Ericsson who recently join the Open Handset Alliance that support Android), living Symbian to be a "Nokia-only" OS.

Challenges


Android success may not be a straight path, it will only come with manufacturer support, user support, application developer support and less important, telecom operator support. Unlike iPhone, the Android platform is meant to be used on any hardware that fill the minimum requirement. There has always been an important need for a universal open mobile system, that why Windows Mobile became so important despite lot of lacks. Android carry two big advantage over WinMo, it's entirely free, and it doesn't rely on one company goodwill, there no need to acquire any sort of commercial right, which is good for manufacturer, especially for chinese phone builder who cannot afford R&D to build their own mobile operation system.
Users support will be gained by having an ergonomic, good looking, responsive and features rich OS. This should be realized, thanks to good developer support and good API and documentation by Google.
Most important, Android success rely on the commitment and determination of Google to support Android for a long term. It must have been quite an investment for Google to build this project and it's not clear how Google will be able to transform it into real cash. Android is right now in early development and is not completely on par with the competition, only Google long term support will make Android able to fulfill its potential. Things are most uncertain, especially with the everlasting economic crisis, and even if the smartphone market is still growing.
Dell Mini 12 vs Apple Macbook Air 1.86Ghz SSD
2009-01-09 20:56:12


I feel more and more the need for a light laptop for my personal use, that is to say mainly development, web surfing and text writing. Netbook(tm) are really too small to work comfortably, and laptop over 1.5kg too heavy to be hold in a wallet. Only choices left are ultra-portable with 12 to 13.3 inches screen.

With those restriction there's not so many choices available, so my hesitation is between Dell Mini 12 and Apple Macbook Air 1.86Ghz SSD.

As money is not a problem for me, choice would be obvious you might think, but in term of money worthy aspect it is not.

Let's compare the specs:
Dell Mini 12 UbuntuApple Macbook Air SSDAtom 1.33Core 2 Duo 1.86
40GB 1.8" PATA128GB SSD SATA
1GB DDR2(max)2GB DD3(max)
GMA500NVIDIA 9400M
Ubuntu 8.04Mac OS X Leopard
2h battery life4h battery life
12"(1280x800)13.3"(1280x800)
3in1 card readerno card reader
3 USB + VGA + LAN1 USB + 1 mini display port
1,24kg1,36kg
429€(incl. shipping2299€(incl. shipping)

Macbook air has much more horse-power in every field, in fact except for the 3D chip it does not stand far behind my desktop.
But for a machine that I will only use when on the move I have the feeling that it will be kind of overkill, on the other hand specs seems so high that the Macbook Air will probably still deliver solid performance in 3 or 4 years while that Atom might seriously be outdated, especially with the 1GB RAM being the hardware max supported for the Mini 12. This is a bit low considering that I mostly do my development using Eclipse which is memory hungry.

The 1.8" disk of the Mini 12 is slow in comparison the MBA's SSD is lighting fast. Disk performance is the most important aspect in every day use. The 1.8 disk can be replaced for a SSD so that's not an important issue. Capacity is more that enough.

On the gfx part, the Nvidia 9400M while being an integrated chipset, packs enough power to even play recent games which is really impressive for such a thin laptop, on the other hand the Mini 12 has a GMA500 which is MID gfx chip not made by Intel but by PowerVR, while not very powerful, it has at least OpenGL 2.0 support under Linux, including pixel and vertex shader support which nice and will allow for development and testing. One sad point: the external vga output is limited to 1366x768. The MBA plug is proprietary and adapter for VGA and DVI are sold separately for 29€ each which is an absolute shame considering the ultra high price of this laptop.

OS wise I'm not very fond of Mac OS X because it's not customizable compare to Ubuntu and not enough "poweruser-friendly" for me.
About battery time, the Apple can hold 4 hour, the Dell only 2 but that's not an important aspect as I will mostly use a laptop near an electric plug.

Finally the Dell Mini 12 is nice cheap laptop that suit all my present needs but will not do it as smoothly as the Macbook Air. I have the feeling that as I only need a laptop from time to time and not on regular basis use as I said earlier the Macbook Air would be overkill. On the other hand for a laptop that will be top notch from now on and for years, the Macbook Air is the way to go.

Forum topic about the Mini 12 on Ubuntu
http://guide.ubuntuforums.org/showthread.php?t=1014534

Dell Mini 12
http://www1.euro.dell.com/content/products/productdetails.aspx/laptop-inspiron-12?c=fr&cs=frdhs1&l=fr&s=dhs

Apple Macbook Air SSD
http://store.apple.com/fr/browse/home/shop_mac/family/macbook_air?mco=MTE3MDc

[UPDATE]
In conclusion to all this, I ordered the Dell Mini 12, for sure, the MBA is a much better part, but I don't know yet whether I will need all the superior features of the MBA, so the reasonable way to go is to go for the cheaper Dell, and then if I heavily feel the need for a more powerful laptop, go for the MBA.
By the way I'm still amazed on how much time I waste deciding things ! I've written an enormous post on my blog, watched every single video on youtube about the mini 12 and the MBA, went to a Fnac to see the MBA from my own eyes: pure waste of time and it's always like that !
Very nice planet render
2009-01-09 00:00:08
I worked on real-time terrain generation and rendering for some time now but there are some people out there that do some trully breath-taking stuff.

http://www.youtube.com/v/iLAc1nm6w4E&hl=en&fs=1

Seamless transition from space to ground, lighting, climatic condition, environment reflection, textures, everything is so close to perfection.

There's of course level of detail management, hidden surface removal, per pixel lighting using pixel shader, I'm not sure on how the atmospheric effect is simulated, like the horizon light at dawn, is this purposedly programmed, or a generic calculation of light travel through the athmosphere.
Idea for Android projects
2009-01-07 22:35:25
Here is some features that do not exists and would be nice to add:

- Commercial quality games: guess it will come when it will be possible to charge on the Android Market.
- PDF viewer: there's currently only one pdf viewer in trial version available
- Word/Excel viewer
- Audio player that support other format than mp3: FLAC,OGG etc...[UPDATE]Little I learn is that there is no way of playing raw pcm from memory so even if the decoding is done in the Java application, there is no way for the phone to play it.
- Video player that support other format that mp4, h264, 3GP: hard as it is the only formats exposed by the Java API.
- MSN client: there's already an AIM and Google Talk client but no MSN.
- Skype and other VoIP software [UPDATE] There is Skype on the Android Market but without any VoIP(only using phone line) USELESS !
- Software to make Android mobile act as a network gateway: operators won't like that.
- Exchange sync
- Linux shell [UPDATE]There is an application called Terminal Emulator on the Android Market that allows to input commmand and browse directory tree
How to draw fullscreen apps in Android
2009-01-04 20:46:23
One first coding tip for Android: how to make window title and status bar disappear, that's useful when an application needs to occupy the whole screen,for instance video player and games.

I did find two way of doing it:

1.
Modify the AndroidManifest.xml and android:theme
 
<activity android:name=".testgame"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
 


2.
Adding this code snippet in onCreate method of the Activity class that has to be fullscreen.

 
getWindow().requestFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
 


The main difference is that the first option modify the whole application to go fullscreen, while the second option only modify the Activity that you add the code to, so that other screens/activities may have a different layout.
Starting with Android
2009-01-02 17:22:25
Well, I started using my G1 for some time now.

First, my feeling about the phone in it self is pretty negative, it is an obviously ugly phone, build quality seems far from stellar to say the least, with plenty of plastic and crackling noises when I start moving it.

About Android: seems in a early stage right now, very limited (for instance: no virtual keyboard, no video player, no multi-touch), lack of features and the Android Market also seems limited in quality apps.

Overall user experience cannot stand the comparison with the iPhone I add time to play with. I'm ok with my choice, I bought it as developer tool, not as end-user, otherwise I would currently go for the iPhone no question.

BUT I think that the bases are solid, Android itself seems robust, responsive and ergonomic once you get into the idea that it does work with a different logic than a desktop operation system.

The hardware has lot of unused capabilites:
3D: http://www.youtube.com/watch?v=RqKCam7wgws
multi-touch capable: http://www.youtube.com/watch?v=pSBYqmWVqeM
Now software is needed!


First screen of my G1 running !
2008-12-30 08:11:28
Yes, you have to have a google account in order to use Android.
http://www.nicolasmy.com/blog/upload/android01.jpg

Btw a phone data access internet connection have to be available in order to sign-in, it's not possible to do it by WIFI.

For me who are on Debitel/Simpleo until I move to Orange next month, I set this up this way:
Name: internetdebitel
APN: internetdebitel

This works straight for me.
Android dev phone is here !
2008-12-29 23:50:16
Just open the package.
My first tought: OMG where is the packaging !
One small instruction sheet is the only document that comes with phone, I know developper are super-human that know everything but come on for 399USD !

UPDATE:
Here is that manual:
http://support.t-mobile.com/knowbase/root/public/tm30235.pdf

I shall resist the temptation
2008-12-27 23:27:16

In fact, in addition to the G1 I ordered, I did get an iPhone 3G too.
It's always interesting to study the opposition, but I'm not sure I would want to set it up, as I'm afraid I might end up using it instead of the G1.
Android phone shipped !
2008-12-23 22:30:26
I received an email telling me that the Android dev phone I ordered was shipped.

That was so quick, congratulations Google.

UPDATE: I just looked at the tracking and it appears that the phone is already on the french soil OMG!
UPDATE2: Looks like I've been over enthousiastic, the 26/12 is a day off in Germany and my G1 is stuck at Köln since 24/12 so I won't receive it till monday 29/12 :(
See 10 older news | Back to the top