Hi, Steve Jobs. I am a man, so I don’t use pad :D :D :D

For a long time to wait and with a lot of rumors, I saw the Mac tablet last night with named iPad. But what you see the real tablet is not what you though about it before. I think you will disappoint like me :

Design: The first impression to me, this tablet is quiet similar to big size of iPod touch …  The screen 4:3 ratio is comfortable for reading ebooks, browsing photos … but not for video :(

No Flash Player supporting: Flash is one of the most popular web technology, everyone who use iPad will say no with all interactive flash website.

Mutitask: Still bad like iphone and iPod touch. What do you think when you own MAC computer but it does not support multitasking ? I don’t understand why this product came without MAC OS inside.

No integrated camera:  You buy a 3G product and it have no camera, so you cannot use video conference feature, one of the most interested thing in 3G world =))

No USB, No extended memory card:  You must buy these accessories from Apple or you must connect this iPad to computer to transfer data.

Conclusion: I WILL NOT BUY OR PLAN TO BUY a stupid product.

I close this post with funny video. Check it out and you will understand what people laughs at the name iPad =))

Cơ chế khởi động của một ứng dụng Flex

Cách đây vài hôm, có một chú quen trên NET hỏi về việc khởi tạo của một ứng dụng Flex. Thực ra đây là một vấn đề tôi cũng đã từng tìm hiểu trong thời gian đầu tập tễnh với Flex. Tôi thử chuyển một ứng dụng đơn giản từ Flash (ActionScript 3.0) sang Flex – một ứng dụng đơn giản bắt sự kiện KeyDown, KeyUp để điều khiển một Sprite chạy xung quanh màn hình. Với ứng dụng Flash, tôi thường bắt sự kiện ADDED_TO_STAGE, rồi khởi tạo các listener cho đối tượng stage. Những hiểu biết ban đầu mà tôi có được về Flex chỉ ra rằng creationComplete là hàm được gọi khi ứng dụng khởi tạo xong. Tuy nhiên tôi gặp một tá lỗi vì đối tượng stage chưa tồn tại tại thời điểm createComplete. Sau khi tìm hiểu kỹ hơn, tôi mới phát hiện ra rằng stage chỉ tồn tại sau khi updateComplete hoặc applicationComplete được gọi.

Về bản chất, Flex tồn tại 2 dạng đối tượng là Container và Component, và 2 đối tượng này có 2 cách khởi tạo khác nhau. Container có thể là cha của các component khác hoặc các container khác, và đôi khi các container hoặc conponent con cần tham chiếu đến cha của nó, điều đó buộc container phải có những khởi tạo “trước”.

Câu hỏi được đặt ra là, một container hoặc component từ lúc bắt đầu vòng đời của nó cho đến lúc khởi tạo xong sẽ có các event nào được dispatch lên ? Và thứ tự của các event này như thế nào ? Có tất cả 5 event được dispatch trong suốt quá trình khởi tạo:

  • preinitialize: được dispatch khi component được “gắn” vào container cha, nhưng trước khi component được khởi tạo hoặc các component con của component này được tạo. Đa phần là sự kiện này được dispatch lên trước khi ứng dụng bắt đầu “sờ mó” component này.
  • initialize: được dispatch khi component đã được tạo xong và các thuộc tính của nó đã được thiết lập. Tại thời điểm này thì hầu hết các component con đều đã được tạo, nhưng chúng chưa được sắp xếp (laid out – flex có thuộc tính layout cho các container như vertical, horizontal, absolute để layout các component con, tuy nhiên thời điểm initalize được dispatch thì thuộc tính layout này chưa được kích hoạt)
  • creationComplete: được dispatch khi component và tất cả các component con, cháu, chắt, chút, chít … được tạo xong, được sắp xếp.
  • updateComplete: thực ra event này được dispatch mỗi khi container hoặc component có sự thay đổi. Tuy nhiên trong lần khởi tạo đầu tiên, updateComplete sẽ được dispatch ngay sau updateComplete.
  • applicationComplete: được dispatch sau khi Application được khởi tạo xong, xử lý bởi LayoutManager và được đưa vào display list.Tất nhiên đây là sự kiện sau cùng của quá trình khởi động được dispatch lên.

Quá trình này được minh họa bằng hình sau:

Như vậy để quá trình “hạ cánh” được an toàn, bạn nên bắt đầu ứng dụng của mình tại sự kiện applicationComplete hoặc updateComplete. Với các ứng dụng Flash, hãy bắt đầu tại sự kiện ADDED_TO_STAGE.

@Thanh: Nếu chú đọc đến đây thì anh cũng note với chú 1 vấn đề là – KHÔNG NÊN nhồi “tất cả trong một” với 1 application duy nhất – cách tốt hơn là chia nhỏ ứng dụng mình ra và thực hiện “background loading”. Anh sẽ trình bày cách thức này ở bài viết sau.

Áp dụng MVC cho ứng dụng ActionScript 3.0

Model-View-Controller (MVC) là một kiến trúc được sử dụng trong công nghệ phần mềm.  MVC chia nhỏ một ứng dụng thành ba thành phần để cài đặt, mỗi thành phần đóng một vai trò khác nhau và ảnh hưởng lẫn nhau  là Model, View và Controller.
Model: Chứa dữ liệu và các logic hoặc business rule để thao tác với dữ liệu. Thông thường Model gắn liền với các giao tiếp với CSDL.
View tương ứng với giao diện người sử dụng như Form, các Button … Trong kiến trúc MVC, View chỉ có vai trò hiển thị lên giao diện, còn việc điều khiển dòng nhập xuất là vai trò của Controller.
Controller được xem như một trung gian giữa Model và View. Controller điều khiển dữ liệu giao tiếp giữa Model và View, xử lý các input/output của người dùng tại View, hoặc các thao tác với Model.

Trong bài viết này, tôi cố gắng xây dựng một ứng dụng AS3 đơn giản nhất nhưng đầy đủ nhất trong phạm vi có thể. Ứng dụng này minh họa quá trình tải nội dung 1 file XML rồi hiển thị lên màn hình.

Với một ứng dụng AS3 (ActionScript 3.0) áp dụng MVC thì vai trò của Model, View, Controller thường được phân công như sau:

Model: Xử lý việc lưu trữ và truy xuất dữ liệu (connect với web service chẳng hạn …)
View:  Xử lý việc hiển thị  đối trượng trên Stage
Controller: Xử lý các logic của đối tượng .

Mỗi Model có thể liên lạc với nhiều View, trong khi mỗi View cần có ít nhất một Controller. Model thường được xem như Base của ứng dụng.

Tôi dùng Flash Develop và Flex SDK 3.0 để viết code và build ứng dụng này. Bạn cũng có thể build với Flash CS3, Flash CS4 nếu map file Main.as với file FLA cần được build. Với ứng dụng này, tôi cũng chi source code ra làm 3 package là View, Model, Controller để tương ứng với concept về MVC. Bạn không nhất thiết phải chia ra 3 package như tôi làm nhưng việc chia ra sẽ làm cho source code của ứng dụng dễ hiểu hơn và minh bạch hơn.

Bạn có thể download toàn bộ source code tại đây

Pictures: Sony Ericsson Faith

I hope this is not a fake since  I’ve seen some new pictures of a new unannounced Sony Ericsson phone called “Faith” at dailyMobile.se.  This phone runs on Windows Mobile 6.5 . I don’t like Windows Mobile, but you should think twice the advantage of using windows if you’re business man.

A few top feature that I am interested.
* Multi-tasking with delight
* Panels for 24 hours life
* Sleek design with beautiful ergonomic
* Qwerty keypad with good usability
* AGPS
* 2.4” QVGA touch screen
* Micro Sd Card slot
Bearer: HSDPA, WLAN, GSM Quadband (850/ 900/ 1800/1900), UMTS Dualband (900/ 2100), EDGE

It’s so sweet with both touch screen and QWERTY keyboard, and it’s 3G phone. I don’t know when it come to my country, but SE’s products have never came with cheep price

Greeting Christmas season, turn your E63 into white

I found this article on tinhte.com that guides you to change the new cover for your Nokia E63.  It’ve been one year since I bought for my own one Nokia E63 and its cover is in blue. The original version of E63 came with 2 color red and blue. A few months later, Nokia released the E63 Music Edition with black cover. It seems all the version of “Music Edition” are always in black cover. I prefer one E63 black rather than the blue one, but I could not find the replacement for blue cover. The member in tinhte.com forum has a new white cover and he starts to transform his black E63 to white.

Black monday

Once time you don’t want to work anymore due to company management. There is one way to free your mind is to quit the job and find a new one.

Working for a Japanese company, you must to have 2 conditions:

1. you must speak Japanese – never believe they speak another languages beside their mother tongue.

2. you must absolutely follow all they request whatever you don’t want.

Head hunting always lie when offering a new company for you. Do not trust them …

Adobe Unveils First Full Flash Player for Mobile Devices and PCs

This morning, I saw this new from Adobe Labs website. Since this beta version, Flash Player 10.1 can be run on both desktop and mobile device.

LOS ANGELES — Oct. 5, 2009 — Adobe Systems Incorporated (Nasdaq:ADBE) today unveiled Adobe® Flash® Player 10.1 software for smartphones, smartbooks, netbooks, PCs and other Internet-connected devices, allowing content created using the Adobe Flash Platform to reach users wherever they are. A public developer beta of the browser-based runtime is expected to be available for Windows® Mobile, Palm® webOS and desktop operating systems including Windows, Macintosh and Linux later this year. Public betas for Google® Android™ and Symbian® OS are expected to be available in early 2010. In addition, Adobe and RIM announced a joint collaboration to bring Flash Player to Blackberry® smartphones, and Google joined close to 50 other industry players in the Open Screen Project initiative.

Flash Player 10.1 is the first consistent runtime release of the Open Screen Project that enables uncompromised Web browsing of expressive applications, content and high definition (HD) videos across devices. Using the productive Web programming model of the Flash Platform, the browser-based runtime enables millions of designers and developers to reuse code and assets and reduce the cost of creating, testing and deploying content across different operating systems and browsers. Flash Player 10.1 is easily updateable across all supported platforms to ensure rapid adoption of new innovations that move the Web forward.

The browser-based runtime leverages the power of the Graphics Processing Unit (GPU) for accelerated video and graphics while conserving battery life and minimizing resource utilization. New mobile-ready features that take advantage of native device capabilities include support for multi-touch, gestures, mobile input models, accelerometer and screen orientation bringing unprecedented creative control and expressiveness to the mobile browsing experience. Flash Player 10.1 will also take advantage of media delivery with HTTP streaming, including integration of content protection powered by Adobe® Flash® Access 2.0. This effort, code-named Zeri, will be an open format based on industry standards and will provide content publishers, distributors and partners the tools they need to utilize HTTP infrastructures for high-quality media delivery in Flash Player 10.1 and Adobe® AIR® 2.0 software.

To learn more about Flash Player 10.1 and to see video demos visit Adobe Labs.

Widgets on social networking

I am deeply researching on developing widget works on Facebook. Next it will be the games …

LG GW550 – new WM phone with QWERTY keyboard

LG announced a new business-oriented smartphone at CommunicAsia 2009, the GW550. The handset comes in a candybar form-factor and features front-facing QWERTY keyboard. Its overall design reminds of the Nokia E71x, but the similarities end here. The LG GW550 runs Windows Mobile Standard and has a non-touch-sensitive 2.4-inch display with QVGA resolution. Other features of the smartphone include 3MP camera, stereo speakers, HSDPA 7.2Mbps (HSUPA 2.0Mbps) connectivity and 1300mAh battery. The GW550 will be a quad-band GSM with global 3G support, but unfortunately, information on release dates and pricing has not been provided by the manufacturer.

Photobucket

Photobucket

Photobucket

Feature highlights

RF Band: UMTS 850/1900/2100
GSM 850/900/1800/1900
HSDPA 72, HSUPA 2.0

Display: 240 x 320 (2.4″ QVGA) TFT
Dimension: 116.3 x 615 x 12 mm

Feature Highlights:
Windows Mobile Standard
Dual Stereo Speaker
3 MP + VGA for VT
Long Life Battery 1300 mAh

[Source: phonearena.com]

Some Nokia E72 pictures

Some Nokia E72 pictures and specifications. Enjoy …
Photobucket
Photobucket
Photobucket
Photobucket
Photobucket
Photobucket
Photobucket
Photobucket
Photobucket
Photobucket
Photobucket
Photobucket
Photobucket

Brand / Type
Brand Nokia
Type E72
Form factor Candybar
Color Black, Brown, Metal Grey Aluminium
Network
Phone Network 3G, EDGE, GPRS, GSM, HSCSD, HSDPA (3G)
Service 850, 900, 1800, 1900, 2100
Connectivity
Bluetooth v2.0 with A2DP
Infrared Yes
Wi-Fi (WLAN) Yes
USB YesMicroUSB v2.0
Fax / Data Yes
Display
Main display Color TFT
Color display 16.000.000 colors
Dimensions 2.4 in.
Resolution 320 x 240 pixels
External display No
Memory
Internal memory 250MB
External memory 16GB
Memory slots Yes
Storage types MicroSD
Basic
Battery Standard battery, Li-Po 1500 mAh (BP-4L)
Standby time 480 hours
Talk time 12.5 hours
Calling
Vibrate alert Yes
Photo ID Yes
Ringtones Monofone, MP3, Polyfone
Camera
Camera Yes
Megapixels 5 megapixels
Maximum photo resolution 2592×1944 pixels
Digital zoom No
Optical zoom No
Auto focus Yes
Flash Yes
Recording video Yes
Second (front) camera Yes
Messaging
SMS Yes
MMS Yes
T9 text function Yes
E-mail Yes
Internet browsing Yes
Entertainment
FM radio Yes
Java Yes
Audio player AAC, MP3
Video player MPEG4
Features
Add ringtones Yes
Organiser Organiser, Document editor (Word, Excel, PowerPoint, PDF), Voice command/dial
Video call Yes
Other features Full QWERTY keyboard, Five-way scroll key, Optical trackpad, GPS with A-GPS support, Nokia Maps, Push to talk, Printing, Hotswap cardslot, 3.5 mm audio jack. Speakerphone
Format
Weight 4.5 oz.
Dimensions (H x W x D) 4.5×2.3×0.4 in.