• Thứ Tư, 27/08/2008 08:40 (GMT+7)

    Add-on tốt nhất cho Firefox thuộc về người Việt

    Dương Thành An đã đoạt giải thưởng phát triển add-on tốt nhất cho trình duyệt Firefox 3 với sản phẩm Pencil, một công cụ phác thảo giao diện người dùng.

    PC World VN đã trao đổi với anh An xoay quanh add-on này.

    Lý do nào để anh viết Pencil?

    Ý tưởng về công cụ Pencil đã có từ trước đó rất lâu nhưng nó được chỉ được bắt đầu phát triển vào khoảng tháng 1/2008. Ý tưởng này xuất phát từ nhu cầu thực tế công việc và những hiểu biết ban đầu về nền tảng phát triển phần mềm trên nền Gecko của Mozilla. Evolus (nơi Dương Thành An làm việc) là công ty chuyên cung cấp các gói giải pháp CNTT cho doanh nghiệp và trong quá trình giao tiếp với khách hàng, một công đoạn quan trọng là làm phác thảo giao diện. Công đoạn này được công ty đẩy mạnh nhằm đảm bảo sự thống nhất về yêu cầu với khách hàng cũng như đảm bảo tính tiện dụng trong giao diện người dùng thông qua sự phản hồi của khách hàng.

    Trong đa số trường hợp, MS Visio sẽ là công cụ được nhiều người lựa chọn để tạo ra các giao diện phác thảo (prototype GUI). Tuy nhiên, việc sử dụng Visio có nhiều bất cập cụ thể như: chi phí bản quyền của Visio khá cao, Visio chỉ chạy trên Windows mà công ty An thì chú trọng tính đa nền và có rất nhiều thành viên sử dụng các HĐH khác Windows, Visio khá nặng và nhiều tính năng dư thừa đồng thời chất lượng hình ảnh trong tài liệu khi kết xuất không cao. Các công cụ còn lại cũng gặp những khó khăn tương tự.

    Từ những thực tế đó, An đã quyết định xây dựng Pencil với những tiêu chí: là một công cụ với tính năng chính là hỗ trợ xây dựng các giao diện phác thảo, nhỏ gọn, chạy được trên nhiều hệ nền, tận dụng các chuẩn mới và dễ mở rộng.

    Khi bắt đầu dự án này, công ty An đã quyết định nó sẽ là một dự án mã mở với giấy phép GPL. Việc này là nhằm đóng góp trở lại cho công đồng mã mở và giúp ai cũng có thể dùng công cụ này một cách tự do.

    Điều gì đem anh đến với cuộc thi này?

    Pencil được hoàn tất phần cơ bản vào khoảng tháng 3/2008, thời điểm mà Firefox 3 chưa có bản chính thức. Thời điểm này cũng là thời điểm Mozilla công bố chi tiết về cuộc thi mở rộng Firefox 3, trong đó khuyến khích các sản phẩm tận dụng những năng lực mới được thêm vào trong nền Gecko. Nhận thấy sự phù hợp này (vì Pencil dùng rất nhiều các hỗ trợ vector graphic - SVG - mới trong Firefox 3) cùng với sự động viên từ bạn bè và những anh em trong công ty, An đã quyết định gửi Pencil đến cuộc thi này.

     

     

     

     

     

     

     

     

     

     

     

    Khi quyết định gửi Pencil dự thi, anh có kỳ vọng gì không?

    Kỳ vọng lớn nhất của An là Pencil sẽ đoạt giải, ít nhất cũng là giải khuyến khích: D. Vì một khi được nêu tên trong danh sách, Pencil sẽ có cơ hội được biết đến bởi rất nhiều người, trong đó quan trọng nhất là những người làm trong lĩnh vực liên quan đến giao diện người dùng.

    Anh có thể cho biết sơ lược về tính năng chính của sản phẩm đoạt giải? Đối tượng sử dụng?...

    Như An đã đề cập sơ lược bên trên, Pencil là công cụ được dùng chính để tạo ra giao diện phác thảo (Prototype GUI). Đây là giao diện dạng hình ảnh mô tả ở góc độ logic các màn hình trong ứng dụng ở các trường hợp khác nhau. Giao diện này được dùng chính trong thảo luận với khách hàng trong quá trình phát triển yêu cầu của ứng dụng và đồng thời cũng được dùng trong tài liệu dành cho đội ngũ phát triển trong công ty.

    Đối tượng sử dụng chính của Pencil là những người xây dựng giao diện ứng dụng (desktop hoặc web). Một người dùng bình thường trong trường hợp muốn phác thảo ra một ý tưởng giao diện trong đầu cũng có thể dùng Pencil.

    Phiên bản 1.0 của Pencil còn tương đối sơ khai. Người dùng có thể vẽ ra các giao diện bằng cách tổ hợp các thành phần giao diện cơ bản của GTK, Windows XP hoặc các đối tượng cơ bản như văn bản, đường kẻ... Một tài liệu trong Pencil có thể gồm một hoặc nhiều trang vẽ và có thể được kết xuất ra dưới dạng tập hợp các tập tin hình ảnh dạng PNG.

    Anh hoàn thành add-on này trong bao lâu? Có những khó khăn vấp phải nào khi phát triển không?

    Thời gian phát triển tổng cộng của Pencil 1.0 là khoảng gần 2 tháng. Toàn bộ ứng dụng Pencil được lập trình bằng ngôn ngữ JavaScript, chạy trên nền Mozilla XULRunner sử dụng các hỗ trợ giao diện XUL, CSS và quan trọng nhất là SVG.

    Khó khăn lớn nhất An gặp phải trong quá trình phát triển Pencil là việc thiết kế và hiện thực hỗ trợ các bộ mẫu mà người dụng có thể định nghĩa được (ví dụ, người dụng có thể thay vì dùng bộ control cho Windows XP có thể định nghĩa thêm bộ control cho Mac OS X). Đa phần các ứng dụng xây dựng giao diện phác thảo điều là mã đóng nên tìm hiểu cách tiếp cận bên dưới là khá khó khăn, đa phần dựa vào suy luận là chính.

    Là người Việt Nam đoạt giải, anh đánh giá thế nào về các sản phẩm dự thi khác của các nhà phát triển nước bạn?

    Thực sự là lúc đầu An cũng không dám nghĩ mình sẽ đoạt giải nhất và thật sự hạnh phúc khi nhận được tin từ ban giám khảo. Khi đọc bảng công bố kết quả, An thật sự hạnh phúc khi thấy tên mình được viết một cách đầy đủ bằng tiếng Việt có dấu.

    Khác với Pencil, các sản phẩm khác không đi theo hướng mở rộng Firefox thành một công cụ phục vụ mục đích khác mà là nâng cấp các tính năng chưa hoàn thiện trong Firefox. Cả 2 sản phẩm còn lại tập trung chính vào tính năng đánh tag cho một trang khi người dùng lưu trang lại trong sổ địa chỉ. Tuy chỉ tập trung vào một tính năng nhỏ nhưng cả 2 tác giả này cùng giải quyết một vấn đề thực tế là làm cho tính năng ghi địa chỉ của Firefox thực sự thân thiện với người dùng hơn bao giờ hết. Cả 2 sản phẩm điều mong muốn giảm tối thiểu công sức người người dùng trong việc đánh tag nhưng theo 2 hướng khác nhau.

    Theo cơ chế của Mozilla, mình chỉ có thể biết được những sản phẩm đoạt giải mà không thể biết được toàn bộ các sản phẩm khác đã tham gia vào cuộc thi. Ngoài các sản phẩm đã được công bố, An thực sự đánh giá rất cao một số sản phẩm khác (nhưng không biết là những sản phẩm này có tham gia cuộc thi hay không). Đó là Firebug của Joe Hewitt và DownThemAll! của Federico Parodi và Stefano Verna.

    Anh có kế hoạch gì hoặc dự án gì tương tự?

    Sắp tới Pencil sẽ là dự án chính thức của Evolus và An cùng công ty có kế hoạch phát triển thêm rất nhiều cho Pencil để nó trở thành một công cụ thực thụ cho mục đích làm giao diện phác thảo. Hiện tại đã có khá nhiều những ý tưởng mới được thảo luận bởi những người dùng của Pencil từ khắp nơi. Công ty sẽ xem xét để đem những ý tưởng này vào hiện thực trong Pencil.

    Cám ơn anh

    Lê Duy (thực hiện)

    ID: O0808_1