Cộng đồng Tex (Latex) có một loạt các Tool thương mại (phải trả tiền để sử dụng) hỗ trợ tạo đề thi trắc nghiệm (chức năng chính).
Tôi vốn dĩ không có ý định dấn thân vào mảng này. Cũng tình cờ tìm hiểu Latex, và thấy một số công việc có thể tự động hóa bằng VBA được, tôi có tham gia các nhóm trên Facebook và chia sẻ những gì mình làm được.
Tuy nhiên những gì tôi nhận được là thái độ thiếu thiện chí của mọi người. Lúc đó chỉ có anh Trần Lê Nam là còn lắng nghe tôi nói và trao đổi, gợi mở các vấn đề xem tôi có giải quyết được không. Đây là động lực cho tôi tiếp tục tìm hiểu. Nếu không có sự động viên kịp thời này, có lẽ tôi đã chán nản và thôi không tìm hiểu Tex nữa.
Do thiếu sự hiểu biết về Tex cũng như dự đoán quy mô dữ liệu, tôi có gặp khó khăn, nhưng may mắn lại luôn gặp được những người cần gặp vào những thời điểm quyết định, vì vậy mà dự án cứ tiếp tục phát triển cho tới ngày nay.
Do hiểu cấu trúc về Tex còn hạn chế, cho nên phương án đọc và đảo đáp án của tôi chưa phải là tối ưu. Nó kéo dài từ ver 1.0 cho tới tận ver 1.2.5. Về sau khi đã hiểu rõ, thì lại ngại làm lại, dù sao thì cộng đồng vẫn đang chấp nhận nó mà không có phàn nàn gì. Vừa hay thành viên NhanSu trở lại diễn đàn sau khoảng 1 năm vắng bóng. Tôi nhớ là vậy. Với tính cầu toàn nhưng lại ngại làm, tôi tất nhiên sẽ nhờ NhanSu giúp đỡ. May mắn là tôi không phải trình bày gì nhiều, vì trong quá trình làm Tool Ex Test, tôi có ghi chú lại các suy nghĩ và các đoạn code, tôi nghĩ nó khá mạch lạc cho bất cứ ai đọc đều có thể hiểu logic tôi làm gì. Nhưng không phải dễ ăn như vậy, vẫn cần người có năng lực mới có thể tiếp nối. NhanSu không làm tôi thất vọng, chỉ 1-2 ngày gì đó, bạn ấy đã đưa ra được code tốt, thực hiện tổng quát cho việc đọc và đảo đáp án, người dùng từ nay không còn phải chú ý gì nữa. Tất nhiên không chỉ có NhanSu code, còn có cả phản biện từ các thành viên khác trên diễn đàn, điều đó cũng rất cần thiết, để Tool thực sự trở nên mạnh hơn thì cần phải vậy. Nếu cả nể, ở đây tung hô nhau hay, rồi mang ra ngoài người ta dùng, gây nên nỗi thất vọng, thì cũng không hay gì.
Tool Ex Test 1.2.6 phát hành chính là vì điều này, cập nhật code. Vừa hay, cùng lúc đó có người dùng Tool Ex Test 1.2.5 convert Word sang Tex gặp lỗi, anh em sau khi phân tích thấy rằng file word đã vi phạm tiêu chuẩn giản đơn. Tôi đánh giá có thể làm mạnh logic để xử lý cả lỗi vi phạm tiêu chuẩn giản đơn này. Trước kia code, ta đặt mọi thứ vào môi trường lý tưởng, để thuận tiện cho người code. Bây giờ, ta làm mạnh logic hơn. Đối với xử lý file Word, tôi cũng đã bổ sung thêm kiến thức cho bản thân, nên việc này cũng không khó khăn gì.
Vậy là có hai lý do để phát hành Tool Ex Test 1.2.6. Tâm lý người dùng thích điều mới mẻ, cho nên tôi đưa lý do xử lý Word lên trước, và trình bày phần đọc đảo đáp án ở phía sau.
Tôi vốn là người ngoại đạo, nhưng sản phẩm luôn bám sát nhu cầu người dùng, cho nên đã được đón nhận rộng rãi. Có rất nhiều góp ý từ mọi người trong cộng đồng, nên có thêm tính năng này, nên có thêm chức năng kia, có cả góp ý chưa tốt và cả góp ý tốt, việc của tôi chỉ đơn thuần phán đoán, nên đi theo hướng nào.
Việc này cũng không khó khăn lắm.
Chẳng hạn tôi không có ý định làm việc với word. Bản thân tôi thấy không có gì thú vị. Vì cái khó đó là chuyển công thức Toán thành Tex thì đã có Mathtype làm rồi. Code một thứ không có thuật toán gì, quả là nhàm chán. Hơn nữa tôi nghe nói cũng có tool này tool kia làm điều này rồi. Nhưng mà tôi đã nhầm.
Tại thời điểm đó, Tool Ex Test là v1.1. Lúc này qua trao đổi với Đinh Văn Lộc, tôi thấy rằng các Tool hiện nay convert Word ra Tex còn để nhiều sạn. Định dạng chưa trung thực so với file word, còn sạn này sạn kia dẫn tới khi build ra pdf bị lỗi đỏ lòm. Điều này kích thích tôi rất lớn, vậy là tôi bắt tay vào code cho bản 1.2, thực hiện chuyển đổi Word sang cấu trúc Ex Test. Sự quan tâm của cộng đồng rất lớn, nằm ngoài sự tưởng tượng của tôi.
Nếu nói về thuật toán, thì đọc và đảo đáp án là thú vị nhất. Nhưng người dùng không quan tâm tới điều này.
Sau này, các bạn ấy nói là, Tool Ex Test convert word sang cấu trúc Ex Test là tốt nhất.
Điều này cũng không nằm ngoài dự đoán của tôi, bởi rất nhiều file word chạy thử ra lỗi, tôi phải sửa lỗi dần dần. Các bạn cũng có thể hình dung ra được, file word nói là phải có tiêu chuẩn này kia, nhưng nhìn chung người dùng gõ rất tùy tiện. Nếu như code cứ ép buộc mọi thứ phải lý tưởng, thì không thể có được Tool mạnh. Mạnh tức là anh phải phán đoán được càng nhiều tình huống không mong muốn càng tốt, và làm chủ được các tình huống này.
Công sức lần mò từng trường hợp là rất lớn, một mình tôi không thể làm được. Do đó, nếu những người phát triển Tool khác, nếu không có được các cộng sự tốt, anh ta dù code giỏi cũng chưa chắc đưa ra được Tool tốt vì không lường hết được các tình huống xảy ra.
Tiếp tục là tạo file trình chiếu Beamer. Một số người nói là không cần thiết. Tôi đã nghe như vậy và không có ý định làm điều này. Nhưng khi tôi thử làm thì cũng gặp lỗi đỏ lòm. Tôi tự hỏi, liệu có ai khác cũng như tôi. Nói là đơn giản, nhưng để tạo ra output không có lỗi, nếu không biết gì thì cũng loay hoay cả ngày không biết chừng. Và vì vậy, tôi lại code cho Tool Ex Test, tạo Beamer (file trình chiếu). Lần này người dùng cũng đón nhận nồng nhiệt, nhưng không bằng lần phát hành 1.2 (làm việc với Word).
Rõ ràng nhu cầu càng phổ thông, thì lượng người quan tâm càng lớn. Nhu cầu càng cao, người dùng càng ít, với một người phát hành Tool miễn phí, nếu không có lượng người theo dõi đông, điều đó chẳng còn gì hấp dẫn.
Tới thời điểm này, tôi có thể nói, nhu cầu dùng phổ thông thì Tool đã đáp ứng được. Cũng không còn gì để mà níu kéo.
Hiện tại có một số người dùng ở mức độ cao hơn, đây là những người có sự am hiểu về Tex sâu, họ tự tạo môi trường riêng, vì vậy điều họ cần, là một công cụ cho phép họ quản lý các môi trường này. Điều này không khó, nhưng như đã nói, vì lượng người dùng tôi phán đoán là ít, cho nên lần lữa mãi chưa cho tính năng này vào Tool. Ở phiên bản 1.2.7, tôi dự định sẽ đưa tính năng này vào.
Thông qua việc luôn lắng nghe, từ đó tôi đã có những đánh giá phân tích nhu cầu người dùng một cách chính xác, làm sao để công sức bỏ ra ít nhất nhưng hiệu quả cho nhiều người sử dụng.
Sẽ thật là tốn công tốn sức nếu code một vấn đề khó nhằn nhưng lại chỉ có 2-3 người dùng, phải không nào?
Tôi vốn dĩ không có ý định dấn thân vào mảng này. Cũng tình cờ tìm hiểu Latex, và thấy một số công việc có thể tự động hóa bằng VBA được, tôi có tham gia các nhóm trên Facebook và chia sẻ những gì mình làm được.
Tuy nhiên những gì tôi nhận được là thái độ thiếu thiện chí của mọi người. Lúc đó chỉ có anh Trần Lê Nam là còn lắng nghe tôi nói và trao đổi, gợi mở các vấn đề xem tôi có giải quyết được không. Đây là động lực cho tôi tiếp tục tìm hiểu. Nếu không có sự động viên kịp thời này, có lẽ tôi đã chán nản và thôi không tìm hiểu Tex nữa.
Do thiếu sự hiểu biết về Tex cũng như dự đoán quy mô dữ liệu, tôi có gặp khó khăn, nhưng may mắn lại luôn gặp được những người cần gặp vào những thời điểm quyết định, vì vậy mà dự án cứ tiếp tục phát triển cho tới ngày nay.
Do hiểu cấu trúc về Tex còn hạn chế, cho nên phương án đọc và đảo đáp án của tôi chưa phải là tối ưu. Nó kéo dài từ ver 1.0 cho tới tận ver 1.2.5. Về sau khi đã hiểu rõ, thì lại ngại làm lại, dù sao thì cộng đồng vẫn đang chấp nhận nó mà không có phàn nàn gì. Vừa hay thành viên NhanSu trở lại diễn đàn sau khoảng 1 năm vắng bóng. Tôi nhớ là vậy. Với tính cầu toàn nhưng lại ngại làm, tôi tất nhiên sẽ nhờ NhanSu giúp đỡ. May mắn là tôi không phải trình bày gì nhiều, vì trong quá trình làm Tool Ex Test, tôi có ghi chú lại các suy nghĩ và các đoạn code, tôi nghĩ nó khá mạch lạc cho bất cứ ai đọc đều có thể hiểu logic tôi làm gì. Nhưng không phải dễ ăn như vậy, vẫn cần người có năng lực mới có thể tiếp nối. NhanSu không làm tôi thất vọng, chỉ 1-2 ngày gì đó, bạn ấy đã đưa ra được code tốt, thực hiện tổng quát cho việc đọc và đảo đáp án, người dùng từ nay không còn phải chú ý gì nữa. Tất nhiên không chỉ có NhanSu code, còn có cả phản biện từ các thành viên khác trên diễn đàn, điều đó cũng rất cần thiết, để Tool thực sự trở nên mạnh hơn thì cần phải vậy. Nếu cả nể, ở đây tung hô nhau hay, rồi mang ra ngoài người ta dùng, gây nên nỗi thất vọng, thì cũng không hay gì.
Tool Ex Test 1.2.6 phát hành chính là vì điều này, cập nhật code. Vừa hay, cùng lúc đó có người dùng Tool Ex Test 1.2.5 convert Word sang Tex gặp lỗi, anh em sau khi phân tích thấy rằng file word đã vi phạm tiêu chuẩn giản đơn. Tôi đánh giá có thể làm mạnh logic để xử lý cả lỗi vi phạm tiêu chuẩn giản đơn này. Trước kia code, ta đặt mọi thứ vào môi trường lý tưởng, để thuận tiện cho người code. Bây giờ, ta làm mạnh logic hơn. Đối với xử lý file Word, tôi cũng đã bổ sung thêm kiến thức cho bản thân, nên việc này cũng không khó khăn gì.
Vậy là có hai lý do để phát hành Tool Ex Test 1.2.6. Tâm lý người dùng thích điều mới mẻ, cho nên tôi đưa lý do xử lý Word lên trước, và trình bày phần đọc đảo đáp án ở phía sau.
Tôi vốn là người ngoại đạo, nhưng sản phẩm luôn bám sát nhu cầu người dùng, cho nên đã được đón nhận rộng rãi. Có rất nhiều góp ý từ mọi người trong cộng đồng, nên có thêm tính năng này, nên có thêm chức năng kia, có cả góp ý chưa tốt và cả góp ý tốt, việc của tôi chỉ đơn thuần phán đoán, nên đi theo hướng nào.
Việc này cũng không khó khăn lắm.
Chẳng hạn tôi không có ý định làm việc với word. Bản thân tôi thấy không có gì thú vị. Vì cái khó đó là chuyển công thức Toán thành Tex thì đã có Mathtype làm rồi. Code một thứ không có thuật toán gì, quả là nhàm chán. Hơn nữa tôi nghe nói cũng có tool này tool kia làm điều này rồi. Nhưng mà tôi đã nhầm.
Tại thời điểm đó, Tool Ex Test là v1.1. Lúc này qua trao đổi với Đinh Văn Lộc, tôi thấy rằng các Tool hiện nay convert Word ra Tex còn để nhiều sạn. Định dạng chưa trung thực so với file word, còn sạn này sạn kia dẫn tới khi build ra pdf bị lỗi đỏ lòm. Điều này kích thích tôi rất lớn, vậy là tôi bắt tay vào code cho bản 1.2, thực hiện chuyển đổi Word sang cấu trúc Ex Test. Sự quan tâm của cộng đồng rất lớn, nằm ngoài sự tưởng tượng của tôi.
Nếu nói về thuật toán, thì đọc và đảo đáp án là thú vị nhất. Nhưng người dùng không quan tâm tới điều này.
Sau này, các bạn ấy nói là, Tool Ex Test convert word sang cấu trúc Ex Test là tốt nhất.
Điều này cũng không nằm ngoài dự đoán của tôi, bởi rất nhiều file word chạy thử ra lỗi, tôi phải sửa lỗi dần dần. Các bạn cũng có thể hình dung ra được, file word nói là phải có tiêu chuẩn này kia, nhưng nhìn chung người dùng gõ rất tùy tiện. Nếu như code cứ ép buộc mọi thứ phải lý tưởng, thì không thể có được Tool mạnh. Mạnh tức là anh phải phán đoán được càng nhiều tình huống không mong muốn càng tốt, và làm chủ được các tình huống này.
Công sức lần mò từng trường hợp là rất lớn, một mình tôi không thể làm được. Do đó, nếu những người phát triển Tool khác, nếu không có được các cộng sự tốt, anh ta dù code giỏi cũng chưa chắc đưa ra được Tool tốt vì không lường hết được các tình huống xảy ra.
Tiếp tục là tạo file trình chiếu Beamer. Một số người nói là không cần thiết. Tôi đã nghe như vậy và không có ý định làm điều này. Nhưng khi tôi thử làm thì cũng gặp lỗi đỏ lòm. Tôi tự hỏi, liệu có ai khác cũng như tôi. Nói là đơn giản, nhưng để tạo ra output không có lỗi, nếu không biết gì thì cũng loay hoay cả ngày không biết chừng. Và vì vậy, tôi lại code cho Tool Ex Test, tạo Beamer (file trình chiếu). Lần này người dùng cũng đón nhận nồng nhiệt, nhưng không bằng lần phát hành 1.2 (làm việc với Word).
Rõ ràng nhu cầu càng phổ thông, thì lượng người quan tâm càng lớn. Nhu cầu càng cao, người dùng càng ít, với một người phát hành Tool miễn phí, nếu không có lượng người theo dõi đông, điều đó chẳng còn gì hấp dẫn.
Tới thời điểm này, tôi có thể nói, nhu cầu dùng phổ thông thì Tool đã đáp ứng được. Cũng không còn gì để mà níu kéo.
Hiện tại có một số người dùng ở mức độ cao hơn, đây là những người có sự am hiểu về Tex sâu, họ tự tạo môi trường riêng, vì vậy điều họ cần, là một công cụ cho phép họ quản lý các môi trường này. Điều này không khó, nhưng như đã nói, vì lượng người dùng tôi phán đoán là ít, cho nên lần lữa mãi chưa cho tính năng này vào Tool. Ở phiên bản 1.2.7, tôi dự định sẽ đưa tính năng này vào.
Thông qua việc luôn lắng nghe, từ đó tôi đã có những đánh giá phân tích nhu cầu người dùng một cách chính xác, làm sao để công sức bỏ ra ít nhất nhưng hiệu quả cho nhiều người sử dụng.
Sẽ thật là tốn công tốn sức nếu code một vấn đề khó nhằn nhưng lại chỉ có 2-3 người dùng, phải không nào?
Bạn cần đăng nhập để thấy đính kèm