Ngoài công việc chính toàn thời gian trên công ty, thì thời gian còn lại trong ngày tôi thường dùng để join các khóa học online trên HackerRank, SoloLearn, Udemy... hoặc để phát triển ứng dụng Học Tiếng Anh Streamline mà tôi đã dành rất nhiều thời gian cho nó từ năm 2018 cho tới giờ. Tôi xem đây như là một dự án cá nhân, một cái gì đó của riêng mình để có thể contribute tới cộng đồng. Vì khi làm việc ở công ty, một đồng nghiệp nước ngoài từng nói với tôi rằng: "Code mình viết ra cho công ty là tài sản trí tuệ của công ty, không phải của mình, chúng ta được thuê để làm tốt công việc của mình."
In addition to my full-time job at the company, I usually use the remaining time in the day to join online courses on HackerRank, SoloLearn, Udemy, or to develop the Streamline English Learning application that I have spent a lot of time on since 2018 until now. I see this as a personal project, something of my own that I can contribute to the community. Because when working at this company, a foreign colleague once told me that: "The code I write for the company is the intellectual property of the company, not mine. We are hired to do our job well."
Cập nhật 31/3/2024: Bản cập nhật 3.9.1 bổ sung thêm dữ liệu bài test, ô chữ, đồng thời tiếp tục sửa lỗi từ điển Anh-Việt. Phần giao diện trang chính và trang loading cũng được chỉnh sửa để cho gọn gàng hơn. Đặc biệt, sau nhiều lần được yêu cầu bởi người dùng, tính năng loại bỏ quảng cáo đã được thêm vào. Để loại bỏ hoàn toàn quảng cáo, bạn có thể bỏ ra số tiền nhỏ khoảng 1 USD để ủng hộ nhà phát triển. Thay đổi này về lý thuyết là sẽ được giữ mãi mãi. Tuy nhiên, để tránh các sự cố ngoài ý muốn, các bạn hãy hạn chế việc gỡ bỏ và cài đặt lại ứng dụng nhé.
Updated Mar/31/2024: Update 3.9.1 introduces new test data, crosswords, and continues to fix English-Vietnamese dictionary errors. The main page interface and loading page have also been edited to be more neat. Especially, after many requests by users, the ad removal feature has been added. To completely remove ads, you can spend a small amount of about 1 USD to support the developer. This change will theoretically be kept forever. However, to avoid unexpected incidents, please limit uninstalling and reinstalling applications.
Cập nhật 28/3/2013: Bản cập nhật 3.4.0 tiếp tục giới thiệu tính năng học từ vựng khá thú vị và hữu ích, trong đó các từ vựng sẽ xuất hiện ngẫu nhiên và nhiệm vụ của người dùng là chọn nghĩa đúng tương ứng. Ngôn ngữ của phần nghĩa sẽ được lấy từ cài đặt Ngôn ngữ nằm ở phía ngoài màn hình chính. Với mỗi câu trả lời đúng người dùng sẽ được cộng thêm điểm kinh nghiệm. Làm hết 10 câu sẽ có một quảng cáo xuất hiện, bạn có thể bỏ qua sau 5 giây hoặc xem hết để ủng hộ cho nhà phát triển.
Update Mar/28/2013: Version 3.4.0 continues to introduce an interesting and useful vocabulary learning feature, in which vocabulary will appear randomly and the user's task is to choose the correct corresponding meaning. The language of the meaning section will be taken from the Language setting outside the main screen. For each correct answer, the user will be awarded an additional 5 experience points. After completing 10 questions, an advertisement will appear, which can be skipped after 5 seconds or viewed to support the developer.
Cập nhật 19/3/2023: Bản cập nhật 3.3.0 đánh dấu một bước chuyển lớn của ứng dụng khi toàn bộ mã nguồn phần giao diện được tái cấu trúc để chạy mượt mà hơn, và quan trọng hơn là để đón nhận những tích năng mới đang dần được thêm vào. Quan trọng nhất là việc tích hợp hai bộ từ điển Anh-Việt (95 ngàn từ) và Anh-Anh (hơn 100 ngàn từ) sẽ giúp cho người học có thể tham khảo nhanh ý nghĩa các từ vựng của phần bài nghe (bấm vào chữ gạch chân) hoặc tra cứu kỹ càng chi tiết bằng chức năng từ điển. Thậm chí, cả phần gợi ý của trò chơi ô chữ cũng được tích hợp từ điển để người dùng vừa chơi vừa học một cách thuận tiện hơn. Và tôi vẫn nói không với các quảng cáo nhảy xổ liên tục, chỉ hiện một banner nhỏ ở góc bên dưới. Riêng trò chơi ô chữ có tích hợp quảng cáo full trang nhưng chỉ xuất hiện khi người dùng cho phép, mong các bạn ủng hộ. Giao diện phần nghe cũng đã được thay đổi với thanh tiến trình và các nút điều khiển được đưa xuống phía dưới để người dùng không phải với tay lên cạnh trên màn hình như trước nữa.
Cập nhật 16/6/2021: Bản cập nhật 3.0.1 cho phép người dùng khi bấm vào một từ có gạch chân sẽ hiển thị nghĩa tiếng Việt tương ứng. Ngoài ra, khi bấm vào tab Listen thì các từ gạch chân sẽ được thay thế bằng các ô trống để người dùng có thể nghe và nhập lại từ vào ô trống. Nếu nhập đúng, ô trống sẽ chuyển sang màu xanh, ngược lại sẽ chuyển thành màu đỏ. Những tính năng và sự tối ưu này hoàn toàn xuất phát từ nhu cầu và phản hồi của người dùng gửi đến tôi. Tôi rất cảm ơn và trân trọng mọi ý kiến đóng góp của các bạn.
Như trong hình bên dưới là giao diện thuở sơ khai bàn đầu của ứng dụng. Bên phải ngoài cùng là màn hình chính, chỉ bao gồm 3 nút xám đơn giản. Giao diện điều khiển của mỗi bài học cũng không thể đơn giản hơn với 1 nút Play/Pause, 1 nút Next, 1 nút Prev, và các nút để switch qua lại giữa các màn hình từ vựng, ngữ pháp và bài nghe. Data thời đó cũng là tôi hoàn toàn "ăn cắp" từ trang lopngoaingu.com. Nói là data cho ghê gớm nhưng thực chất mỗi bài học chỉ bao gồm 3 tấm hình tương ứng với phần nghe, ngữ pháp và từ vựng. Không biết ai là người đã soạn ra data này thời điểm đó nhưng vì tất cả đều là hình ảnh đuôi jpeg nên nội dung gần như là không thể chỉnh sửa được. Do đó, có rất nhiều lỗi chính tả, nội dung cho nhiều bài học.
Cập nhật 19/3/2023: Bản cập nhật 3.3.0 đánh dấu một bước chuyển lớn của ứng dụng khi toàn bộ mã nguồn phần giao diện được tái cấu trúc để chạy mượt mà hơn, và quan trọng hơn là để đón nhận những tích năng mới đang dần được thêm vào. Quan trọng nhất là việc tích hợp hai bộ từ điển Anh-Việt (95 ngàn từ) và Anh-Anh (hơn 100 ngàn từ) sẽ giúp cho người học có thể tham khảo nhanh ý nghĩa các từ vựng của phần bài nghe (bấm vào chữ gạch chân) hoặc tra cứu kỹ càng chi tiết bằng chức năng từ điển. Thậm chí, cả phần gợi ý của trò chơi ô chữ cũng được tích hợp từ điển để người dùng vừa chơi vừa học một cách thuận tiện hơn. Và tôi vẫn nói không với các quảng cáo nhảy xổ liên tục, chỉ hiện một banner nhỏ ở góc bên dưới. Riêng trò chơi ô chữ có tích hợp quảng cáo full trang nhưng chỉ xuất hiện khi người dùng cho phép, mong các bạn ủng hộ. Giao diện phần nghe cũng đã được thay đổi với thanh tiến trình và các nút điều khiển được đưa xuống phía dưới để người dùng không phải với tay lên cạnh trên màn hình như trước nữa.
Update Mar/19/2023: Version 3.3.0 marks a major milestone for the application as the entire source code of the user interface has been restructured to run smoother, and more importantly, to welcome new features that are being added gradually. The most important integration is the inclusion of two English-Vietnamese (95,000 words) and English-English (over 100,000 words) dictionaries, which will help learners quickly refer to the meanings of words in the listening section (click on underlined words) or look up detailed information through the dictionary function. Even the hints in the crossword puzzle game are integrated with the dictionary to make it more convenient for users to learn while playing. And I still say no to constant pop-up ads, only showing a small banner in the lower corner. The crossword puzzle game has a full-page ad integration, but only appears when the user allows it. I hope for your support. The listening section interface has also been redesigned with the progress bar and control buttons moved to the bottom so that users no longer have to reach up to the top of the screen like before.
Các tính năng mới được thêm vào từ bản cập nhật 3.3.0: Tích hợp các bộ từ điển Anh-Việt, và Anh-Anh, trò chơi ô chữ... |
Cập nhật 16/6/2021: Bản cập nhật 3.0.1 cho phép người dùng khi bấm vào một từ có gạch chân sẽ hiển thị nghĩa tiếng Việt tương ứng. Ngoài ra, khi bấm vào tab Listen thì các từ gạch chân sẽ được thay thế bằng các ô trống để người dùng có thể nghe và nhập lại từ vào ô trống. Nếu nhập đúng, ô trống sẽ chuyển sang màu xanh, ngược lại sẽ chuyển thành màu đỏ. Những tính năng và sự tối ưu này hoàn toàn xuất phát từ nhu cầu và phản hồi của người dùng gửi đến tôi. Tôi rất cảm ơn và trân trọng mọi ý kiến đóng góp của các bạn.
Update Jun/16/2021: Version 3.0.1 allows users to display the corresponding Vietnamese meaning when clicking on a highlighted word. Additionally, when clicking on the Listen tab, the highlighted words are replaced with blank spaces so that users can listen and enter the word in the blank space. If entered correctly, the blank space will turn green, otherwise it will turn red. These features and optimizations are entirely based on the needs and feedback of users sent to me. I am very grateful and appreciate all your contributions.
Các tính năng mới được bổ sung trong các bản cập nhật tháng 6/2021 |
Quá trình phát triển ứng dụng (Development Process)
Ban đầu, năm 2018, tôi viết ứng dụng này chủ yếu chỉ là để học Android. Sau đó thì gắn quảng cáo rồi up lên PlayStore để gọi là kiếm thêm ít tiền. Tuy nhiên, bẵng đi một thời gian quay lại, thấy có khá nhiều user sử dụng và đánh giá tốt cho ứng dụng, tôi bắt đầu nghĩ tới việc làm cho ứng dụng trở nên tốt hơn, thân thiện hơn, và thực sự có ích hơn. Một lý do nữa là có một sản phẩm tự làm trong CV cũng là một điểm cộng nho nhỏ trong mắt các nhà tuyển dụng (đó là tôi nghĩ thế, lol).Initially, in 2018, I created this app mainly to learn Android. Later on, I added ads and uploaded it to the Play Store to earn some extra money. However, after some time, when I returned to the app, I noticed that there were quite a few users using it and giving good ratings, so I started to think about making the app better, more user-friendly, and truly useful. Another reason was that having a self-made product on my CV was also a small bonus in the eyes of recruiters (that's what I thought, lol).
Giao diện của ứng dụng tính đến thời điểm viết bài
Giao diện thuở ban đầu của ứng dụng
Lý do tôi chọn bộ giáo trình Streamline chỉ đơn giản vì nó gắn liền với thời thơ ấu của tôi. Ngày ấy, trong nhà tôi có 1-2 quyển Streamline đã cũ, vì không có nhiều phương tiện giải trí vào thời điểm đó nên tôi thường lôi chúng ra đọc phần tiếng Anh và đọc qua phần dịch tiếng Việt. Bộ giáo trình được phát hành lần đầu bởi Oxford University Press từ cuối năm 1970, bộ gần nhất được xuất bản vào năm 2013 (thông tin được cung cấp bởi ChatGPT). Dù ra đời khá lâu nhưng giá trị học tập của nó vẫn còn ít nhiều nguyên vẹn. Mặc khác, những bài đọc ngắn và dí dỏm cũng là một trong những nét thu hút đặc trưng của bộ giáo trình.
The reason why I chose the Streamline curriculum is simply because it is closely tied to my childhood. Back then, there were 1-2 outdated Streamline books in my house, and because there weren't many entertainment options at the time, I would often read the English sections and skim through the Vietnamese translations. The curriculum was first published by Oxford University Press in the late 1970s, with the most recent edition being released in 2013 (information provided by ChatGPT). Despite its age, its educational value is still largely intact. Additionally, the short and witty reading passages are also one of the curriculum's attractive features.
Về chức năng và giao diện của ứng dụng, có lẽ khó lòng so với các ứng dụng chuyên nghiệp khác. Điểm mạnh của ứng dụng có lẽ là khả năng chạy độc lập mà không cần tới mạng Internet. Bù lại thì dĩ nhiên ứng dụng sẽ có dung lượng khá lớn cho lần tải về và sử dụng đầu tiên (gần 260 MB). Dung lượng này bao gồm các file âm thanh, hình ảnh cho hơn 500 bài nghe offline theo 2 giọng Anh và Mỹ.
Regarding the functionality and interface of the app, it may be difficult to compare with other professional apps. The app's strength is probably its ability to run independently without an internet connection. However, the app's initial download and usage may require a large amount of storage space (nearly 260 MB), which includes audio and image files for over 500 offline listening lessons in both British and American accents.
Như trong hình bên dưới là giao diện thuở sơ khai bàn đầu của ứng dụng. Bên phải ngoài cùng là màn hình chính, chỉ bao gồm 3 nút xám đơn giản. Giao diện điều khiển của mỗi bài học cũng không thể đơn giản hơn với 1 nút Play/Pause, 1 nút Next, 1 nút Prev, và các nút để switch qua lại giữa các màn hình từ vựng, ngữ pháp và bài nghe. Data thời đó cũng là tôi hoàn toàn "ăn cắp" từ trang lopngoaingu.com. Nói là data cho ghê gớm nhưng thực chất mỗi bài học chỉ bao gồm 3 tấm hình tương ứng với phần nghe, ngữ pháp và từ vựng. Không biết ai là người đã soạn ra data này thời điểm đó nhưng vì tất cả đều là hình ảnh đuôi jpeg nên nội dung gần như là không thể chỉnh sửa được. Do đó, có rất nhiều lỗi chính tả, nội dung cho nhiều bài học.
As shown in the image below, the initial interface of the app was quite simple. The far right screen is the main screen, consisting of only three simple gray buttons. The control interface for each lesson could not be simpler, with only one Play/Pause button, one Next button, one Prev button, and buttons to switch between vocabulary, grammar, and listening screens. The data at the time was entirely "stolen" from the lopngoaingu.com website. While the data may seem frightening, each lesson only included three corresponding images for the listening, grammar, and vocabulary sections. I don't know who created this data at the time, but because everything was in jpeg image format, the content was almost impossible to edit. As a result, there were many spelling and content errors for many lessons.
Giao diện thuở ban đầu của Học Tiếng Anh Streamline |
Khi đó, tôi bắt đầu nghĩ tới việc làm lại hoàn toàn dữ liệu cho các bài học, tách biệt giữa hình ảnh và nội dung text để có thể chỉnh sửa dễ dàng hơn khi có sai sót, và cũng để trình bày đẹp mắt hơn tới user. Tuy vậy, xây dựng lại data, nhập liệu nội dung cho hơn 500 bài nghe không phải là điều dễ dàng. Tôi đã phải bỏ ra khoảng 3-4 tháng liên tục để làm lại data, chụp lại hình ảnh, sử dụng các công cụ hỗ trợ để làm hình ảnh sắc nét hơn, và cho tới giờ thỉnh thoảng vẫn tình cờ phát hiện ra những lỗi nhỏ bên trong nội dung. Vậy nên nếu phát hiện ra bất kỳ lỗi nào, vui lòng gửi mail để tôi có thể hoàn thiện ứng dụng được tốt hơn. Vì dĩ nhiên chỉ mình tôi vừa là Dev, vừa là QA, vừa là PO của dự án nên tôi cũng phải dành thời gian để viết ra các unit test để kiểm tra data, tránh để xảy ra lỗi trên Production.
At that time, I began to consider completely redoing the data for the lessons, separating images and text content to make it easier to edit in case of errors and to present a more visually appealing interface to users. However, rebuilding the data and inputting content for over 500 listening exercises was not an easy task. I had to spend about 3-4 months continuously redoing the data, taking pictures, using supporting tools to make the images sharper, and even now, I occasionally discover small errors within the content. Therefore, if you discover any errors, please send me an email so that I can improve the application. Since I am the only developer, tester, and project owner for this project, I also have to take the time to write unit tests to check the data and prevent errors from occurring in production.
Nói là 3 năm thì cũng không hẳn vì khoảng năm 2019 thì tôi bắt đầu bận việc riêng (nghỉ việc ở công ty cũ, sang Thái Lan làm 1 năm blah blah...) nhưng trong đầu tôi vẫn luôn nghĩ về việc phát triển tiếp tục ứng dụng này. Thời điểm quay trở lại Việt Nam năm 2020, tôi quyết định biến suy nghĩ thành hành động. Thế là mỗi ngày ngoài 9 - 10 tiếng làm việc công ty, thời gian buổi tối tôi gần như dành toàn bộ để xây dựng lại data, sau đó là tối ưu lại mã nguồn của ứng dụng, phát triển thêm các tính năng mới như bài ngữ pháp, tính năng làm bài trắc nghiệm v.v... Chưa kể apply thêm các yêu cầu về công nghệ mới từ Google do ứng dụng gốc được xây dựng từ năm 2018 trên nền tảng technical cũ đã hơi lỗi thời.
Although it is not exactly three years since I started, around 2019, I began to have personal matters to attend to (leaving my previous company, working in Thailand for a year, etc.), but I always had the idea of continuing to develop this application in my mind. When I returned to Vietnam in 2020, I decided to turn my thoughts into actions. So every day, in addition to working 9-10 hours at my job, I almost dedicated all my free time in the evenings to rebuild the data and then optimize the application's source code, develop new features such as grammar exercises, quizzes, etc... Not to mention incorporating new technology requirements from Google because the original application was built in 2018 on an outdated technical platform.
So sánh với giao diện hiện tại của ứng dụng, có thể thấy là đã có rất nhiều sự thay đổi giữa các màn hình. Comparing the current interface of the application to before, there have been many changes between screens.
Đối tượng người dùng chính mà tôi muốn nhắm tới là những người có niềm yêu thích đặc biệt đối với bộ giáo trình Streamline (giống như tôi), hoặc bất cứ người dùng nào cần có một ứng dụng bỏ túi giúp họ có thể nâng cao khả năng nghe, cũng như khi cần tra cứu nhanh một cấu trúc ngữ pháp nào đó mà không có mạng Internet.
The main target audience that I want to reach are people who have a special liking for the Streamline curriculum (like myself), or any user who needs a pocket application to help them improve their listening skills, as well as to quickly look up a particular grammatical structure without internet access.
Vì sao ứng dụng không có cho iOS? (Why isn't the application available for iOS?)
Đây là câu hỏi mà tôi thường nhận được từ phía người dùng. Hiện tại ứng dụng chỉ được phát hành chính thức trên nền tảng Android thông qua Playstore. Lý do giản dị là vì từ lúc bắt đầu sử dụng thiết bị di động cho đến nay, tôi chỉ trung thành với Android và Windows cho mục đích cá nhân, điều đó đã trở thành một thói quen rất khó từ bỏ. Khi đi làm, tôi vẫn sử dụng các thiết bị của Apple do công ty cấp phát như Macbook hoặc iPhone nhưng chưa bao giờ có ý định sẽ chuyển sang sử dụng cá nhân.
This is a question I often receive from users. Currently, the application is only officially released on the Android platform through the Playstore. The simple reason is that from the time I started using mobile devices until now, I have only been loyal to Android and Windows for personal use, and it has become a difficult habit to break. When I am working, I still use Apple devices provided by the company such as Macbook or iPhone, but I have never intended to switch to personal use.
Lý do thứ hai là vì tôi thật sự không có đủ thời gian để có thể làm việc đó. Tôi không phải là một freelancer, tôi làm việc cho công ty mỗi ngày ít nhất 8 tiếng nên quỹ thời gian cá nhân là rất hạn hẹp. Việc phát hành ứng dụng trên iOS đòi hỏi tôi cần phải có thời gian để học hỏi về các kỹ năng lập trình cũng như các quy trình liên quan bên phía iOS, tuy nhiên, điều đó không thật sự giúp ích cho công việc chuyên nghiệp của tôi do tôi chuyên về bên Java nhiều hơn. Vậy nên, động lực chưa thật sự đủ lớn để tôi có thể port app này sang iOS.
The second reason is that I really don't have enough time to do it. I am not a freelancer, I work for a company for at least 8 hours every day, so my personal time is very limited. Releasing the application on iOS requires me to have time to learn about programming skills as well as related processes on the iOS side, however, it does not really help my professional work as I specialize more in Java. Therefore, the motivation is not strong enough for me to port this app to iOS.
Kết luận (Conclusion)
Đến thời điểm này, tôi vẫn nhận được email hoặc phản hồi từ người dùng cũng như những ý kiến đóng góp yêu cầu phát triển thêm các tính năng mới cho ứng dụng. Dù công việc chính ở công ty và việc tự học rất bận nhưng tôi vẫn cố gắng dành ít thời gian mỗi ngày, nhất là cuối tuần để tiếp tục cải tiến và hoàn thiện hơn nữa Học Tiếng Anh Streamline.
Up to this point, I still receive emails or feedback from users as well as suggestions for developing new features for the application. Although my main job at the company and self-study are very busy, I still try to spend a little time every day, especially on weekends, to continue improving and perfecting Streamline English Learning.
Hiện tại dù số lượng người dùng có thể nói là còn tương đối khiêm tốn, nhưng tôi rất vui vì thỉnh thoảng vẫn nhận được những đánh giá 5 sao trên Playstore, vẫn có những người dùng gửi mail góp ý, cảm ơn, điều đó chứng tỏ ứng dụng này cũng mang lại một chút giá trị gì đó tới những người thật sự cần nó. Và lâu (thật) lâu cũng nhận được những tấm check từ Google. Chính những điều đó khiến tôi có thêm động lực để nuôi dưỡng đứa con tinh thần của mình. Nhân bài viết này, tôi muốn gửi lời cảm ơn chân thành nhất tới những người dùng đã, đang, và sẽ sử dụng Học Tiếng Anh Streamline như một người bạn đồng hành trên con đường củng cố và rèn luyện khả năng Anh ngữ của mình. Chúc các bạn thành công!
Currently, although the number of users can be said to be relatively modest, I am very happy to still occasionally receive 5-star reviews on the Playstore, and still have users send feedback emails and thank you notes, proving that this app also brings some value to those who really need it. And every once in a while, I also receive Google checks. These things motivate me to nurture my spiritual child. With this article, I want to sincerely thank the users who have, are, and will use Streamline English Learning as a companion on their journey to strengthen and improve their English skills. Wishing you all success!