wwdc 2012

t would start within a week from now, the well – expected event of Apple’s world – wide developers conference of 2012 – WWDC 2012. To welcome the tech fair 😛😛, on the left is a screen capture of what I’ve been working hard on for the whole last month (the video is not really clear since it’s shot with my phone), a photo browser UI like iPad’s Photos app. It takes time to learn insights into Core Graphics, Core Animation, and I’m still learning. For all those years of graphics I’ve been through, Apple UI and its graphics sysem are still sooo… brilliant and amazing to me! (and “our love has just begun”!) Keep heading North!

apps

hẳng bao giờ muốn nói về software engineering, vì với tôi, đó là việc làm hàng ngày, đã làm hàng ngày thì có gì nhiều để mà nói!? Để ý thấy thường ai đó nói thật nhiều về điều gì (tiền bạc, tình yêu, trí thức, đạo đức…) thì tức là người ta thiếu cái đó! Tôi thì chỉ muốn nói nhiều về nhạc, vì âm nhạc với tôi là chưa bao giờ đủ! Tuy vậy hôm nay ngứa miệng nói về software engineering chút, gần đây đọc được một bài viết khá hay, trình bày lại ý chính ở đây: phát triển ứng dụng giống như là một nhà làm phim độc lập.

Phát triển app giống như làm phim: cả hai loại người này, coder và film – maker, đều có cá tính độc lập và xu hướng muốn sáng tạo, tạo nên một sản phẩm gì đó và “quăng ra” cho công chúng, mà đôi khi họ cũng không để ý đến việc quảng cáo, promotion cho sản phẩm của mình. Tuy nhiên khác với phim: kịch bản đã được viết sẵn từ đầu, việc làm app đòi hỏi coder đóng cùng một lúc hai vai: diễn viên và đạo diễn, với phần lớn khả năng là không thể biết trước được kịch bản sẽ như thế nào, sản phẩm của mình sẽ đi về đâu.

Đội một chiếc mũ khác lên đầu, ta sẽ nhận thấy apps ngày càng giống các sản phẩm bán lẻ. Nhiều coder có xu hướng “tự kỷ” cho rằng công việc mình làm là một cái gì đó “công nghệ cao” hay “to lớn”, đó là cái ảo tưởng hình thành không biết từ đâu: giáo dục, truyền thông, môi trường làm việc? Thực ra apps đã trở nên rất giống các sản phẩm bán lẻ (sữa tắm, dầu gội, kem đánh răng…), có hằng hà sa số các sản phẩm tương tự cạnh tranh với bạn, thị trường nhiều khi đến mức bão hoà, thế nên các chiến thuật marketing là một yếu tố quan trọng.

Điều này đồng nghĩa với việc coder phải chuẩn bị tinh thần để customize sản phẩm của mình theo nhu cầu của khách hàng, bỏ nhiều công sức, thời gian để cải tiến, đánh bóng các chức năng của phần mềm, đừng vội vàng tung ra một sản phẩm chưa tốt, dù vẫn biết rằng time – to – market là một sức ép hết sức lớn. Có một “thành ngữ” nói rằng: khách hàng không thông minh như ta nghĩ, và họ cũng không ngu như ta nghĩ. Điều này hoàn toàn đúng để nhận xét về chất lượng, tính cạnh tranh của các phần mềm.

Gần chỗ tôi ở có một công viên xinh xinh, cuối tuần nào ra đi dạo cũng thấy người ta mượn không gian để làm phim (đa phần là các loại phim truyền hình rẻ tiền dạng 20 triệu đồng / tập). Dừng lại và chú ý xem diễn xuất, kịch bản thì nhận ra đó toàn là những loại: con chó của tôi bỏ tôi ra đi, còn vợ tôi thì bị xe tải cán chết!, hay tệ hơn nữa là những loại: chống chỉ định với trẻ em mang thai và đàn bà dưới 16 tuổi! (đảo ngược 2 vế lại một chút 😬). Các bạn tôi ơi, khả năng kiên trì và sáng tạo của các bạn còn tốt hơn của các loại lau nhau kia nhiều… hãy vững bước trên con đường của riêng mình!

chuyện tình tự kể

gày nào, cho tôi biết, biết yêu em rồi, tôi biết tương tư, sau đây là câu chuyện tình tôi tự kể, ngày nào, biết mong chờ, biết rộn rã buồn vui đợi em dưới mưa… Chúng tôi quen nhau tính về thời gian chưa phải là quá lâu, chỉ một vài năm gì đó. Nhưng nguồn cơn, nguyên do câu chuyện có lẽ đã được vun vén, manh nha từ lâu rất lâu về trước, tôi thương em dễ có từ thủa mẹ về với cha.

Những lý do, ngọn nguồn chẳng thể nào mà giải thích và truy nguyên cho được đã dần đưa chúng tôi lại với nhau tự lúc nào. Tình yêu nào rồi cũng sẽ đi qua nhiều thăng trầm, đã có lúc tôi cảm giác chẳng hiểu gì về em, nhiều khi sự khó khăn của em làm tôi nản chí, cũng có khi tôi đã hoang mang, nghi ngờ em và chính mình.

Nhưng với tình cảm chân thành, bằng trực giác tự nhiên mách bảo, chúng tôi đã vượt qua nhiều sóng gió, để đến một ngày: ngày nào, cảnh thiên đường, đã mở hé tình yêu là trái táo thơm, tôi ghé răng cắn vào… Đến đây thì hẳn các bạn đã đoán ra nàng thơ của tôi tên là… Apple –  hiện diện trên các MacBook, iPhone, iPod, iPad xinh xắn! 😬

Bao giờ biết tương tư - Tuấn Ngọc 

con bò tím

hi còn nhỏ, tôi có một “biệt tài” là… mài dao rất sắc 😀. Một công việc tưởng chẳng khó khăn gì nhưng thực ra cũng không đơn giản lắm, muốn mài dao cho sắc và độ sắc ấy giữ được lâu cũng có khá nhiều kỹ thuật mà tôi chỉ tìm ra được sau nhiều tuần thử nghiệm. Chẳng là trong nhà họ hàng tôi lúc ấy làm cau khô: mua cau tươi về gọt vỏ, cắt miếng và sấy khô đem bán. Người ta chẳng bảo sắc như dao cau là gì, và ai đã làm công việc đó sẽ hiểu một con dao sắc là như thế nào.

Đơn giản chỉ vậy nhưng cái “niềm đam mê dao sắc” ấy, nếu có thể gọi như thế, nó đi theo tôi đến tận bây giờ. Gần đây tôi mua con dao gốm (ceramic knife) Nhật này, với giá bạn có thể mua được 10 con dao thép tốt khác. Cực kỳ sắc bén và chắc chắn, đủ bền và bén để cắt những thứ mà dao thép vẫn thường được dùng. Đặc biệt là chất liệu gốm sứ trắng muốt, trông rất mảnh mai và xinh xắn, nên chỉ dám dùng vào việc cắt, gọt trái cây hàng ngày. Đó có thể chỉ là một “impulse purchase”, thực ra tôi muốn thử một chất liệu khác biệt.

Làm một con dao, hay mài nó cũng không phải là việc quá đơn giản. Đỉnh cao như katana, kiếm Nhật, phải mất hơn 30 năm để học cách làm kiếm, và hơn 6 năm để học cách… mài kiếm sao cho sắc 😀. Nhưng túm lại thì nó có liên quan gì đến nhan đề của post này: con bò tím – the purple cow!? Một tựa sách của Seth Godin: Purple Cow – Transform your business by being remarkable mà gần đây tôi được đọc! Một cuốn sách về marketing, 160 trang khổ nhỏ, dể đọc với một số ý tưởng và khá nhiều ví dụ thú vị.

Từ những trang đầu tiên, tác giả đã khẳng định ý tưởng xuyên suốt cuốn sách là: mô hình các chữ P truyền thống: product, pricing, promotion, publicity… đã không còn nhiều hiệu quả, chữ P mới ở đây là purple cow. Nói cách khác, mô hình dựa vào những sản phẩm trung bình, và rất nhiều quảng cáo dần lùi bước, thay vào đó là những sản phẩm thực sự tốt và người dùng tự tìm đến cái họ cần. Vai trò của luật số lớn không còn như trước, ý tưởng tốt, sản phẩm tốt sẽ lấn át quảng cáo và truyền thông đại chúng.

Tôi hơi ngạc nhiên khi đọc những dòng về quảng cáo: bạn không thể làm cho tất cả mọi người phải lắng nghe mình, hãy tìm ra những người quan tâm, và hướng các chữ P vào đó. Điều này có thể bắt đầu đúng ở đâu đó, nhưng ở một xứ như VN, khi người tiêu dùng như những con bò được chăn dắt, thì tìm đâu ra một con bò tím? Ý tưởng của cuốn sách dần lộ rõ, một trong những ý tưởng đầu tiên trong thời economic recession này, khi hướng business tới chiều giảm phát, nghiêng về chất lượng để bù lại quá trình lạm phát.

Quá trình lạm phát đó đã có lịch sử nhiều thập niên với kết quả là những sản phẩm được đánh giá very good cũng không phải điều gì đặc biệt lắm. Nên trái nghĩa với remarkable là… very good. Tác giả lấy ví dụ những loài chim di cư thường bay theo đội hình chữ V. Những doanh nghiệp ăn theo xu thế cũng giống như những chú chim bay theo con đầu đàn. Nhưng điều mọi người không thấy là trong bầy chim, định kỳ vẫn có sự hoán đổi vị trí để con đầu đàn được nghỉ sức, những con chim khác đảm nhận vị trí bay đầu tạm thời.

Tác giả dành rất nhiều trang để đưa các case study minh hoạ thế nào là một remmarkable product. Một remmarkable product cũng giống như một con bò màu tím, bạn đã thấy một con như vậy ở đâu chưa, bò tím thật sự là rất khác biệt. Là một cuốn sách về marketing, tác giả dành nhiều thời gian phân tích sự nổi trội của con bò tím, hơn là cách thức tạo ra nó. Với thị trường như VN, tôi sẽ nói bạn có thể tạo ra con bò tím bằng cách phết sơn tím lên một con bò bình thường, nhưng tốt hơn hãy bắt đầu đi nghiên cứu cách biến đổi gene loài bò!

Là một người làm kỹ thuật, Purple Cow không thực sự cuốn hút tôi lắm. Nhưng nó đánh dấu những xu hướng gần đây của nền kinh tế, bạn phải tạo ra được những sản phẩm thật sự có chất lượng và thật sự khác biệt, những sản phẩm không thể chỉ được đánh giá là very good mà tự thân nó thôi đã cuốn hút người dùng, không cần nhiều đến quảng cáo. Như khi Steve Jobs giới thiệu iPhone 4, ông ta đã cố tình liên hệ: it’s like a beautiful old Leica camera, dòng máy ảnh ít tính năng, kém hiện đại mà vẫn có khoảng giá trên $6000.

Trở lại với ý ban đầu, con dao gốm thực sự là một purple cow (hay ít nhất với tôi là như vậy). Đã đến lúc phải học cách suy nghĩ để tạo ra những sản phẩm như thế. Khi sự lạm phát đảo lộn nhiều thang giá trị, khi ngay cả chữ very good cũng không gợi lên điều gì đặc biệt, thì đó là lúc học cách làm những điều bình thường nhất, không nhất thiết phải là cái gì đao to búa lớn, một con bò thì cũng chỉ là một con bò, một con dao cũng chỉ là một con dao, nhưng hãy là những con bò, con dao khác biệt mà người ta phải lưu ý và cần đến chúng.

writing on the margins

his is just a post of my truly nonsense and random thought. Some notions are just interesting in their own forms, like writing on the margins or sub luna saltamus – dance beneath the moon… I just particularly like the phrase writing on the margins, the action and its meaning, that’s why this website layout is designed with that notion in mind, the left column is reserved for additional and complementary information, as side notes along main content.

Take a look at the two iPad’s screenshots on the left and you would see how nice it is, writing on the margins in a modern and digital form, especially when you could still use your own handwriting with it. You may have noticed the two classical masterpieces (one in mathematics and the other in literature) referenced in those notes! 😀

the new ipad

ust got the new iPad (or we called it: the iPad 3) in hand today and I’m stunned by it’s new retina display. There’s not such a fever like when the iPad 2 was released, I guess since the new iPad is almost identical to iPad 2 in appearance, people will consider about the fact that they won’t be able to show it off. In term of general performance, iPad 3 does not stand out to the previous iPad, or it could be worse in term of 3D – OpenGL performance according to some reviews. From a programmer’s point of view, this could easily be understood since doubling the resolution means 4 times the memory and processing power for each graphics API, which also means Apple has been pushing things over the Moore law’s limit!

Personally I’m not really a passionate fan of these Mắc – Xinh – Tốt (Macintosh) assets, but professionally as a computer – graphics coder, I’ve always admired the prestigous 2D graphics tradition come with Apple’s products. Back to the retina display, on the left is a reduced – size screenshot of this blog taken on the iPad 3 (see full version here, it would take some times to load).

2048 x 1536 is a huge resolution that does magic to the vector things, e.g: displaying fonts! Not only the screen is much sharper, even at first look, its color tone appears to be truer, and the new iPad gamut covers 44% more into the sRGB color space compared to the previous iPad. The second picture: funny capture of Walter Isaacson’s Steve Jobs autobiography put on – top the God of Wealth’s altar in our office 😀!

⓵⏎Mắc – Xinh – Tốt: a phonetical transcription of the name: Macintosh, which is a play–on–words, Mắc means: expensive, Xinh means: cute and Tốt means: good in Vietnamese 😀.


ios-widgets

aving written myself numerous UI widgets, from simple to complex, from Windows to Linux, from 2D to 3D… but I’ve just started writing iOS widgets not too long ago. Making iOS widgets is really fun, for we have supports from the most powerful 2D graphics system ever built, that is CoreGraphics (Quartz 2D). The code, hosted on github, is released under MIT license, check it out for a demo project, I hope that these widgets would be useful somewhere, but yes, I know, don’t complain about the code quality, most is written in a rush and still have flaws in it, use at your own discretion!

1.   XFilePathHeader

This tabular header let you quickly browse a hierachy structure (like file system directories). The levels are shown as tabs, tap on a tab to jump to a parent folder, tap on the “Home” icon to jump to root folder.

2.   XSegmentedControl

The Apple’s standard UISegmentedControl only displays text, not image. This class lets you use image along with text (or image or text alone) in any orders (image then text, or text then image).

3.   XProgressTextField

This is a copy of Safari’s address textfield which shows a progress bar while the webpage is loading. Would continue to add more of these miscellaneous tiny widgets just for fun when I have time.

byzero stylus

uch an interesting device I’ve used recently, a stylus for iPad. While stylus like Wacom’s Bamboo is fine for general sketching, it’s not really suitable for fine – grained drawing. This Byzero takes a different approach as it does not use iPad’s touches, but provides its own mechanism. Image on the left: you can see that the pen is actually an ultra sound source, two microphones (and an infrared receiver) in a single piece plugged into the iPad connector port. Pen position detection is done by triangulation on the acoustic signals. This kind of setup can be found on many other things like this 3D laser scanner.

If you use the iPad seriously for taking notes and drawing, a stylus like this is a must, sometimes your thoughts, ideas can only be expressed with a pen: text, drawing and all kinds of presentations on a page. The stylus is sensitive, it can captures any glyphs you draw. However, it’s very irritating that the calibration process is not really exact: pen position is offset – ed by a small varying distance, and with a noticeable delay… This reduces the usability of the stylus much since it’s important to have immediate and correct responses on the screen for user to make micro – adjustments in his hand to produce good writing, drawing.

kindle touch

ell, having played with this “irresistible” Kindle Touch for almost two weeks. The good thing is that I can now continue with my favorite readings on e – ink display like before. The even better thing is that there’s no more clumsy buttons, only “touches”. I’m trying to keep my habit of reserving 4 ~ 6 hours a week for reading, and reading only, no email, no web surf meanwhile, just to be a little bit calm, slow and undistracted. The device now is smaller and fits into my jacket’s pocket so that I can carry it anywhere, just like a small notebook. Image on the left: Kindle Touch, next to an iPad 2 to compare the form – factors.

Updated, Jan 8th

A perfect complement for Kindle touch would be this SolarKindle, a cover and solar charger which would be available on the market next January to eliminate your need for charging a Kindle ever again!

handwriting

his is part of the really fascinating broader concept of neo – analog as mentioned in a previous post. Below is my handwriting with a stylus on my iPad (click to see large version), not too bad after 10 years of solely keyboard and mouse, not pen, right? Also, I’m quite excited with the coming Kindle touch (which should be delivered at end of the month). My thought is that it’s just a matter of time before e – ink would have color and refresh rate capabilities near those of conventional displays, and serious applications would be feasible within the vintage look and feel of e – ink!