2012-03-12

Asus Transformer Prime and Android ICS first impressions

I've recevied Asus Transformer Prime just few days back and these are my initial impressions. In case you thinking about buying one you probably allready saw bunch of reviews on youtube, so I'll try to sum up my afterthoughts. Display cons and pros. I hope it will help someone to decide. 

Just keep in mind that this is additional info that I trow into the wild. It is something that was unexpected for me after all those reviews I've seen and have red.


TL;DR
If you like Android - it is awesome. In other case, whatever I'll tell you - you won't care, so buzz off.

If you do have a chance - wait for next generation. Having in mind how much Prime got better compared to it's precesessor, next one should be awesome. However if you need a tablet right now - it is so far the best tablet experience I had so far. Sure I can compare only to Samsung Galaxy Tab 10.1 and iPad, but damn this one is good.


Bad

Grey color looks purple
Prime is available in two collors - silver and grey, atleast these two collors are being written on specification in shops I've looked at. Silver looks like elephant tusk (yellowish white) and grey model looks dark purple... Nowhere near grey. Not that I would care that mutch about collor, but still it would be nice to be happy about it. For now I can say my purple model is a bit ugly OK (after living with it few days).

Brushed aluminium looks like pre-scratched
Prime is also proud about it's metal "spun" finish. It looks as if someone would scratch it in circular motion, nothing special. Sure usualy you will find brushed aluminium to be done in straight lines, but the visual effect of this is just too small to be worth bragging so much about it.

Connection protectors - one time deal
Most of the connection slots are protected by soft plastic plugs that are quite hard to pull out. Also they are perfect parts to loose. So that is what I sugest you - just pull it out if you need that port and forget the plug...

Sloped edge connectors

Tablet has sloping edges that give smooth finish. It sure looks nice, but sticking in headphone jack will mean that on the shorter side of the connector - will stick out ~3-4mm in my case. It applies to most of the connectors, yet the most problematick might be jack one since with uncarefull actions you might damage both the plug annd the socket although build quality seems to be strong.

Noise when music app is paused
Sometimes when music app that uses sound channel is paused/muted I can hear noise in my headphones. It may be due to connector, but having in mind that I've used my headphones on numerous devices and this is the first one to have white-noise i'm blaming jack socket or the software.

Fingerprints
It is litteraly fingerprint maget. Although fingerprints are not that visible but they also are a bit harder to clean than from other devices (I'm talking abouth both - the screen and metal finish).

Heavy
As from tablet I would like that It would be bit lighter. Adding keyboard means the unit will weight over a kilo. 

No Linux support
Asus putted in some really nice apps for syncing, remote desktom and even streaming, yet non of those work under Linux. Pity.

Lousy mono speaker
Although Asus claims that they added stereo speakers, in reality there is only one. And after making some stereo tests it's clearly mono one, just maybe with seperated mid and low sound channels (doubt it). Also some people are angry that they putted in just where right handed people are holding tablet it self thus covering the speakers, but I think this is better decision that putting it on a side in other place (with exception of top/bottom center). Why? Covering grills disturbs the sound waves making them spread to any dirrection available so if you're not holding it firmly you might feel "stereo" effect. If you're on a dock, then it's totaly mono. On the right side only. Yup. It's like a youtube video just with right channel. After some time it becomes painfull to listen. I have to mention that quality of the speaker it self is actually good. It's just that it is mono and placement could be better.

No F row

Keyboard dock does not have F row keys. Yes Android does not need it, but if you connect to a remote machine via rdp/vnc/ssh you only will be able to access those true the screen if app will allow it. I think it would be an wesome if prime dock would have those accessible with fn+shortcut key.

Random reboots
I've witnesed few random reboots. 4 so far.

App refresh on keyboard plug/unplug
If you're whatching youtube video on full-screen or playng game, after connecting/disconnecting dock - app will be refreshed restarting the game or reloading youtube video. Annoying.

Slippery bottom
Although dock has rubber feets, it is quite slippery when opened since only front feet touches the surface and back ones are raised by hinge so pushing it from the table is not that hard. When closed it's quite steady.

Only few languages for dock
There is not a lot to say more. Samsung clearly does care a bit more that Asus about adding other keyboard layouts. And remmember that on-screen keyboard layout might be customized with additional apps while dock cannot. Atleast it is my initial impression, I hope I'm wrong.

Box contains
There were literally charger and USB to proprietary connector. Oh and a wiper. That's it. I hoped to get more gadgets by it. Mini HDMI to HDMI converter maybe? Although I must say it was known to me. Still, this is a field where they can do better.


Good
Aluminium
It is covered in cold and nice aluminium (with exception of front side of tablet). It mght be negative thing for some, but I do really love it.

No heating
Because of aluminium ability to transfer heat, even on high loads or charging, it remains cold. The only part that gets hot is the charger it self.

Screen

Every single review I've looked at commented how good the screen was yet some mentioned - "hey there are some problems with wifi, but you already know it!". Sure regarding the tablet it is one of the main features and boy oh boy it is good. Sure iPad3 now offers cosmical resolution, but i doubt if you need that much on such small screen. The only thing that would be cool is better resolution output true HDMI (maybe it does, haven't tested it yet) besides that I doubt that you would see a difference on the screen. Maybe. Anyway, screen is gorgeous. Crystal clear, bright and sharp.

Build quality
You feel that it is premium product. No squeeking, no wobling... Apple once was famous because of quality. This goes on the same road.

Keyboard/dock advantage
Keyboard is as in the regullar notebook, reminds me Apple MacBook. Personally - quite comfortable having in mind that I'm holding it on my knees. Sure after long time of typing your hands might start to hurt, but it a common problem with all the notebooks.

CPU power

As with all Androids from time to time you will ran into rare studdering, but besides that it is the soothest expirience so far even with quite a few apps running.

Sound true headphones
Although speaker on the tabled is a shame - sound comming true headphones is astounding. I haven't got a portable device with such hight quality in years. Besides that bug of noise on paused songs, there are no white-noise in the background while playing and music is crisp and ritch. I know that it is my new favorite device for music listening.

1080p playback


Default video played does not understand all the types of videos, but MX player does understand quite a lot of them. Also VLC is coming to town... And if Prime understands the codecs - it can playback 1080p. Great!

Battery life
That is another ace of prime. Dock contains another battery extending battery life. So far I unloaded doc's battery within 6-7 hours so I don't know yet how long tablet battery will last. Having a dock means that at most you will need to charge it once a day. At most. For me it lasted ~14 hours or so of constant usage on a single charge.

Initial app set

I own HTC Desire Z that by default contains a crap ton of apps that I don't need. Facebook, Amazon MP3 Store and so on. Also I cannot delete them and that annoys me. On this tablet on the other hand, I havent found a totaly uselless app. Maybe some news readers are not as needed but besides that there are ton of really good apps. Polaris office syncs with google docs and is perfect for Android, file manager is also really easy and nice to use. Asus really thought about what to stick in instead of trowing in what brings money.


Wifi
In quite a few reviews it mentioned wifi problems, that wifi signal is weak due to aluminium backplate. To be honest, I can't see that happening. My laptop has quite bad wifi and phone (since it is a small device) has one even worse. I hoped that this one would have atleast same strength antenna as my phone, yet it has almost as strong as my laptop, if not the same. So I really cannot say that wifi signal is that weak. Because of that many negative reviews I can say it is a good thing since I underestimated it.

Mini HDMI connection.
I'm looking forward to test it out.

Conclusion
Latter on (after a month or so) I'll try to post an update about this thus making it a proper review. I have updated only a little of this one, but I've finally have written follow-up here
Despite all that nagging with negative things so far it is worth this status:


2012-03-05

IT Window - For Loop

WTF?
IT Window is a new series of articles special for younger people who are "into computers". I have a friend who is learning programming and looking over to "big boys" tools, and sure he have some questions, those still occurs even after reading tutorial or two. Here is the place where I step in and try to help him by writing these articles. Sure samples could be done better, but I try to use as simple format as possible avoiding one liners.

Wikipedia
In computer science a for loop is a programming language statement which allows code to be repeatedly executed. A for loop is classified as an iteration statement.
Unlike many other kinds of loops, such as the while loop, the for loop is often distinguished by an explicit loop counter or loop variable. This allows the body of the for loop (the code that is being repeatedly executed) to know about the sequencing of each iteration. For loops are also typically used when the number of iterations is known before entering the loop. For loops are shorthand way to make loops when the number of iterations is known, as a for loop can be written as a while loop.
The name for loop comes from the English word for, which is used as the keyword in most programming languages to introduce a for loop. The loop body is executed "for" the given values of the loop variable, though this is more explicit in the ALGOL version of the statement, in which a list of possible values and/or increments can be specified. In FORTRAN and PL/I though, the keyword DO is used and it is called a do loop, but it is otherwise identical to the for loop described here.

http://en.wikipedia.org/wiki/For_loop

Simple
For loop is a method/function that runs for certain time - for 5 minutes, for 5 times, for 5 objects, etc. During each cycle it usually contains value that changes each time. Lets show it using pseudo-code. Lets say we have 4 friends and we want to give each a number from 1 to 10, without a loop it would look something like this:
Step to friend #1
    give him a number 1
Step to friend #2
    give him a number bigger than last one by 1
Step to friend #3
    give him a number bigger than last one by 1
Step to friend #4
    give him a number bigger than last one by 1
Already see repeating part? so with for loop we could do that:
 For each friend
    Give number bigger than previous
OK different situation - lets say we have two numbers (2 and 100) and we want to find even numbers between those two. No I won't write pseudo-code without a loop (that would be just spamming), but if we would use for loop:
For each number starting with 2 ending with 100
    if its even
        shout "EVEN!"
    else
        shout "D'OH!"
So each time (each number or loop) we would take the same variable that contains new number and look if its even or not, if its even we shout "EVEN!" if not - we shout "D'OH!".

And our third and final situation - lets say we have unknown number of apples, some are yellow, some are red and some are green. We want to count each color. In our mind it's simple task, just look at each apple and count different colors. With for cycle we do the same:
For each apple
    look at the color
    add +1 to that color
After this we would have 3 values each representing different color and count.

Python
Now lets do the same in real programming language - Python!

For our first case - firstly define our list of friends and base number:
friend_list = [['John', 0], ['Tom', 0], ['Billy', 0], ['Harry', 0]]
number = 0
Now lets do the loop:
for friend in friend_list:
    number += 1
    friend[1] = number
Have in mind that Python starts counting from 0, so second element in list is reached with array key 1 not 2. So now if we would run:
print friend_list
We get:
[['John', 1], ['Tom', 2], ['Billy', 3], ['Harry', 4]]
Now lets do the second case:
for number in range(2, 100):
    if number % 2 == 0:
        print number, 'is even'
    else:
        print number, 'is odd'
Yep, to go from one number to another just use range(), easy eh? OK now the final one. Lets define our apples and colors:
apples = ['yellow', 'green', 'red', 'yellow', 'red', 'red']
green, red, yellow = 0, 0, 0 # All colors have 0 value
Now simple for loop:
for apple in apples:
    if apple == 'yellow':
        yellow += 1
    if apple == 'red':
        red += 1
    if apple == 'green':
        green += 1
So final result is:
print 'yellow = ', yellow, ' red = ', red, ' green = ', green
And we sure get:
yellow = 2  red = 3  green = 1
More about For loop in Python - http://wiki.python.org/moin/ForLoop

Notes
In most more basic languages such as Pascal we would need to know how many elements there are in the array therefore #1 and #3 samples are different since in #3 we don't know the number of apples, yet in Python it's not a problem. In other languages we firstly would count elements in the array using some libs or hold a number somewhere to determine count of data inside an array.