• Thứ Ba, 06/01/2004 12:19 (GMT+7)

    Thiết kế giao diện cho phần mềm

    Mỗi sản phẩm phần mềm đều có một yếu tố quyết định sự lựa chọn của khách hàng, góp phần không nhỏ vào sự thành công của sản phẩm, đó là Giao diện Người


     Mỗi sản phẩm phần mềm đều có một yếu tố quyết định sự lựa chọn của khách hàng, góp phần không nhỏ vào sự thành công của sản phẩm, đó là Giao diện Người
    dùng Đồ họa (GUI - Graphic User Interface) - bộ mặt của sản phẩm

    Giao diện đồ họa
    Ý tưởng về việc thao tác trực tiếp các chức năng trên màn hình ứng dụng đã mang trong nó khái niệm về giao diện đồ họa. Đây là sự chuyển đổi nội dung từ ngữ sang hình ảnh, biểu tượng, ký hiệu, màu sắc và là sự bố trí sắp xếp có thứ tự các thành phần chính, phụ sao cho chúng được xuất hiện một cách hợp lý, thuận tiện cho người dùng.

     

    Hình ảnh và biểu tượng có tác động đến nhận thức và ghi nhớ của con người dễ dàng hơn nhiều so với những dòng văn bản. Hãy thử hình dung những biển báo giao thông chỉ có thông báo văn bản thì quả thật rắc rối vì khó quan sát từ xa; và bạn sẽ nhận ra những dấu hiệu, hình ảnh, màu sắc đã xuất hiện bấy lâu bên cạnh mình, quen thuộc đến độ bạn vô tình không nhận thấy, có ý nghĩa và thiết thực biết bao nhiêu.
    Giao diện người dùng đồ họa (GUI) trong sản phẩm phần mềm như một bảng chỉ dẫn không lời, thực hiện sứ mạng mang lại sự tiện lợi, đơn giản và hiệu quả cho người dùng. Một giao diện có sự bố trí các yếu tố nội dung và hình thức kết hợp nhau một cách liền lạc, màu sắc hài hòa, tính năng thân thiện, hiển thị nhanh và dễ sử dụng không những đáp ứng được tính thẩm mỹ mà còn thỏa mãn được các yêu cầu đặc thù của người dùng. Bên cạnh đó, GUI giúp người dùng nhanh chóng nắm rõ cách sử dụng, thích ứng và giảm thời gian làm quen với ứng dụng mới. Như vậy, giao diện hấp dẫn là một lợi thế đã và đang dần chứng tỏ hiệu quả của nó trong lĩnh vực phần mềm nói riêng và trong cuộc sống hàng ngày nói chung.

    Bất kỳ nhà sản xuất phần mềm chuyên nghiệp nào cũng đều chú trọng đến GUI trong qui trình sản xuất và phát triển sản phẩm của mình. Một số đặc điểm của GUI mang lại lợi ích cho người dùng như:
     
    o Thân thiện: người sử dụng sẽ không có cảm giác lúng túng, mất tự tin khi sử dụng chương trình vì mọi công cụ đã được hiển thị rõ ràng và sắp xếp có thứ tự theo quy trình nghiệp vụ.
     
    o Dễ sử dụng: mọi danh mục, thanh công cụ, biểu tượng và chữ minh họa được thiết kế gần gũi với nhận thức của người dùng, giúp họ tiếp cận nhanh mọi chức năng của chương trình.
     
    o Tín nhiệm: một giao diện với màu sắc, đường nét sắc sảo, nội dung rõ ràng, mạch lạc và bố trí hợp lý sẽ tạo cảm giác thoải mái và tin tưởng cho người sử dụng.
    Sản phẩm đến được với người dùng, thỏa mãn nhu cầu sử dụng của họ, là tiêu chí chính của nhà sản xuất. Tuy nhiên, để đạt được điều đó, một sản phẩm phần mềm phải là tổng hợp của những nhân tố cấu thành: người lập trình, người thiết kế giao diện và cả người sử dụng.
    Thiết kế GUI và bộ ba người lập trình - người thiết kế giao diện - người sử dụng Hình 1 cho khái niệm về mối quan hệ giữa người thiết kế GUI với người lập trình (coder) và người sử dụng (user). Từ người thiết kế GUI, sản phẩm được đưa ra hoạt động thông qua người lập trình sao cho dung hòa các đặc tính kỹ thuật cũng như thẩm mỹ, với mục đích cuối cùng là người dùng hoàn toàn hài lòng khi sử dụng. Như vậy, trong mỗi một thiết kế GUI có mang theo những đặc tính, yêu cầu riêng của từng chủ thể.

    Người lập trình: Họ thường đặt sự tiến bộ về kỹ năng của mình lên hàng đầu bằng cách áp dụng những kỹ thuật mới vào chương trình, họ muốn nhanh chóng hoàn thành chương trình kể cả dùng những giải pháp có sẵn của các công ty khác.
    Họ thường ít quan tâm đến những chi tiết như: giao diện người dùng như thế nào người sử dụng sẽ làm việc, tương tác ra sao trên sản phẩm?
    Người sử dụng: Nói chung, họ không sử dụng phần mềm chỉ vì thích (game là một ngoại lệ) mà chỉ muốn hoàn thành công việc của mình một cách nhanh chóng, không phải đọc những tài liệu hướng dẫn sử dụng dài dòng hoặc luôn nhờ giúp đỡ, chí ít khi cần giúp đỡ thì phần hướng dẫn phải rõ ràng, đi ngay vào vấn đề cần giải quyết một cách nhanh chóng. Ngoài ra, chương trình cũng phải dễ cài đặt và gỡ cài đặt.
    Người thiết kế giao diện: Họ phải tìm hiểu xem người sử dụng muốn gì và như thế nào (trực giác, học nhanh, dễ sử dụng) bằng ngôn ngữ của người sử dụng rồi truyền đạt tới người lập trình bằng ngôn ngữ kỹ thuật thông qua bảng thiết kế mẫu thăm dò (GUI prototype), đồng thời cũng quan tâm đến mặt mỹ thuật, màu sắc, quyết định sử dụng những hiệu ứng âm thanh, phim, hình ảnh, thông tin... phù hợp với đặc thù của dự án.
    Điều này cho thấy người thiết kế giao diện gặp những khó khăn và thử thách không nhỏ trong việc thiết kế dung hòa sản phẩm để vừa dễ dàng thực hiện người lập trình, vừa thỏa mãn yêu cầu của người sử dụng. 

    Những thử thách đối với người thiết kế gửi
    Lệ thuộc vào người lập trình: Thông thường người thiết kế sẽ tạo bố cục và sắp xếp các thành phần như hình ảnh, nút lệnh, khung, bảng... trong chương trình như Corel Draw, Photoshop, Flash, Illustrator... và hội ý với người lập trình về khả năng thực hiện. Đôi khi bản thiết kế rất đẹp, hấp dẫn nhưng không thể hiện thực được do hạn chế của công cụ xây dựng phần mềm đang thực hiện, nên đành phải chỉnh sửa lại cho phù hợp. Vì vậy, người thiết kế GUI cũng phải am hiểu phần nào về ngôn ngữ lập trình, giải pháp, cách bố trí các thành phần như theo dạng khung (frame), dạng bảng (table) hay chia cột, đồng thời cũng đưa ra giải pháp thảo luận với người lập trình để có thể đạt được giải pháp tốt nhất, hấp dẫn, dễ thực hiện, dễ sử dụng với thời gian hợp lý nhất.
    Thiết kế không đúng băng thông: Đây là điểm đặc trưng của ứng dụng trên Internet. Mỗi khu vực, mỗi nước đều có băng thông khác nhau nên khi thiết kế cũng phải nghĩ đến điều này. Vì việc sử dụng quá nhiều hình ảnh, hiệu ứng, kỹ xảo... tuy hấp dẫn nhưng sẽ làm hạn chế tốc độ hiển thị. Thời gian hiển thị lâu người sử dụng sẽ cảm thấy mệt mỏi, không thích dùng và sẽ không phát huy được hết khả năng. Ngược lại, hạn chế quá nhiều hình ảnh, hiệu ứng, kỹ xảo... giao diện sẽ trở nên buồn tẻ và nhàm chán. Trước khi bắt tay vào thiết kế bạn phải tìm hiểu kỹ khách hàng của mình sẽ sử dụng ở băng thông nào để có giải pháp thật hợp lý.
    Di chuyển giữa các trang màn hình trong chương trình: Bạn nên quan tâm đến cách thức trình bày những nút lệnh, menu, menu phụ (sub menu) ở vị trí hợp lý để người dùng dễ dàng thực hiện và theo dõi chúng một cách nhanh chóng và nhất quán.
    Yêu cầu của khách hàng không đủ, không rõ ràng: Khách hàng của bạn đa số là người không chuyên về lập trình và kỹ thuật. Họ có thể là một doanh nghiệp hay tổ chức đoàn thể, nên khi họ đưa ra yêu cầu phần lớn là không đầy đủ, không rõ ràng, và thậm chí không biết rõ họ sẽ cần gì trong dự án mà họ muốn làm. Nên vai trò của người quan hệ với khách hàng cũng không kém phần quan trọng trong việc tư vấn, tìm hiểu và đưa ra được những giải pháp khả thi và làm thỏa mãn khách hàng. Việc phối hợp giữa người quan hệ khách hàng (Business Analist), người thiết kế giao diện đồ họa (GUI Designer) với khách hàng để lấy thông tin và đưa ra giải pháp, hình ảnh, màu sắc... ngay tại chỗ cũng là một giải pháp tốt và đáng được quan tâm.

    Minh hoạ một giao diện thành công
    So sánh 2 giao diện sau trên cùng một dự án:
    Hình a: Rối và không phân biệt rõ phần chính, phần phụ, danh mục nhiều nơi khó điều khiển.
    Hình b: Rõ ràng, thấy được mục đích và nội dung cần chuyển tải,  khắc phục được những nhược điểm ở hình a.
    Kỳ tới tôi sẽ giới thiệu về 'Các thành phần và giải pháp trong thiết kế GUI', mời các bạn đón đọc.

    Hàng Thái Nguyên
    Senior GUI/Graphic Designer
    Paragon Solutions Vietnam

    ID: A0309_117