Đăng ký nhận RSS Feed

<?php echo 'Welcome to my blog!' ?>

one true brace

viết về những thứ tớ quan tâm, thế là đủ

jgrabber hay câu chuyện về một trong những project của tớ

Sở thích của tớ là code, và thường thì tớ hay có nhiều ý tưởng đủ thú vị để mình bỏ ra ít nhất vài ngày và biến nó thành hiện thực. Một trong những ý tưởng đó là jgrabber - project mà tớ tự hào là đã đi đủ hết mọi giai đoạn: từ nằm trong đầu đến thực hiện rồi ra mắt, kế đó được cập nhật liên tục trong một thời gian và… bỏ lửng đấy cho chết còng queo.

Tính đến jgrabber đã “thoi thóp” khoảng nửa năm, và chiều nay nếu không tình cờ chat với một người muốn tớ phát triển tiếp thì có lẽ phải khoảng ngần đó thời gian nữa tớ mới thăm lại xem project này đã “đi” thật chưa.

Bài viết này coi như để “tưởng nhớ” một project với hơn 600 nghìn lượt sử dụng…

1. Chỉ cần một ý tưởng

Ý tưởng ban đầu của tớ về jgrabber rất đơn giản: một công cụ lấy link down nhạc hay file video từ các trang kiểu YouTube, Google Video, cũng như một số trang trong nước như nhacso.net, clip.vn, vân vân.

Thời điểm đó (cách đây khoảng một năm), những công cụ tương tự đã nhiều như lá mùa thu. Không kể những trang nước ngoài như KeepVid, các trang trong nước như kiểu feelingtea cũng nở rộ. Vậy nên có thêm một trang web mới mang chức năng tương tự cũng chẳng có nghĩa lý gì, trừ phi tớ tạo được điểm gì độc đáo hơn những thứ đã có.

Vậy nên thay vì code jgrabber bằng PHP, tớ chọn JavaScript. Một bookmarklet sẽ hay hơn rất nhiều so với một trang web hoàn chỉnh, bởi người sử dụng sẽ thấy nó rất tiện lợi. Người ta sẽ không phải làm những bước “truyền thống” như copy URL của trang cần lấy link, chuyển tới trang web cung cấp dịch vụ, paste vào và bấm Get link; thay vào đó, họ chỉ việc bấm vào bookmarklet trên toolbar, một thông báo sẽ hiện ra cho biết link muốn down ngay lập tức.

Về code cũng sẽ có nhiều cái lợi: Tớ có thể tận dụng ngay trình duyệt và JavaScript để lấy link, gửi request qua Ajax bằng chính những function mà trang web đã sử dụng, thay vì phải viết lại bằng một ngôn ngữ server side như PHP. Điều đó sẽ giúp tớ tiết kiệm được rất nhiều thời gian.

Tên của project cũng được chọn: jgrabber. j là viết tắt của JavaScript, và grabber đương nhiên nghĩa là grabber.

2. Thực hiện

jgrabber

Việc thực hiện không khó khăn gì. Tớ viết khoảng 10 module cho 10 site nhạc và video phổ biến, mỗi module tương ứng với một file JavaScript ngắn khoảng trên dưới 30 dòng code. Tớ test đi test lại các module để đảm bảo chúng hoạt động trong cả 3 trình duyệt: Firefox, IE và Opera.

Khi chuyển cho vài người bạn nhờ test thử, tớ nhận được những nhận xét rất khả quan.

Giờ chỉ việc cho ra mắt.

3. Ra mắt

Một năm trước tớ không có blog. Điều đó có nghĩa là tớ chỉ có 2 cách để giới thiệu jgrabber đến mọi người: qua gửi tin nhắn hàng loạt trên Yahoo! Messenger hoặc post lên forum mà tớ tham gia. Cách 1 không ổn, và xem ra chỉ có cách 2 là hợp lý. Nhưng trước hết, tớ cần làm một trang web dành riêng cho jgrabber đã.

identical.sf.net

Đến giờ nghĩ lại tớ vẫn thấy mình đã sáng suốt khi quyết định hoãn việc ra mắt lại một tuần để làm công việc mất thời gian này. jgrabber thực sự chỉ là một bookmarklet với 1 dòng code ngắn gọn, nhưng tớ muốn mọi người giới thiệu cho nhau về bookmarklet đó qua trang web đứng đằng sau nó, hơn là truyền tay dòng code trên. Tại sao? Bởi vì dòng code đó có thể bị một số kẻ thay thế, sửa đổi tác giả, và thực tế chứng minh những kẻ này không phải là hiếm. Khi có một trang web, tớ sẽ dễ dàng chứng minh code đó thuộc về ai hơn.

Mất một tuần để customize Textpattern thành một trang web phù hợp, chọn ra một template vừa mắt, kiếm một slogan đơn giản (jgrabber - it’s as simple as that), cuối cùng tác phẩm của tớ đã hoàn thành: http://identical.sf.net, một trang web host tại SourceForge.

4. Tồn tại và phát triển

jgrabber tồn tại và phát triển trong một thời gian không quá ngắn bởi thời gian đầu tớ cập nhật nó khá thường xuyên. Một vài module cũng được thêm vào, nâng tổng số site hỗ trợ lên 21.

Đến khi được giới thiệu trên eChip, lượng người sử dụng jgrabber tăng vọt lên mức kỷ lục - 165000 lượt chỉ trong một tháng, bằng gần 1/3 tổng số lượt trong gần một năm qua.

jgrabber cũng được giới thiệu tại không ít các forum cũng như blog.

Chỉ là tập hợp vài file JavaScript bé tẹo teo, nhưng tính ra lượng băng thông tiêu tốn hết cũng lên đạt ngưỡng 20 GB.

Với tớ đó là thành công.

5. Tàn lụi

Chart

jgrabber dần đi vào hồi kết, bởi nó là ThemWare - tớ viết nó cho người khác chứ bản thân tớ không dùng. Không có lý do gì buộc tớ phải cập nhật jgrabber thường xuyên. Đơn thuần đó chỉ là sở thích, và khi đã chán thì tớ bỏ. Mỉa mai là slogan của jgrabber cũng đúng với điều này - it’s as simple as that.

I claim here that there are three categories of software:

  • MeWare: The developer creates software. The developer uses it. Nobody else does.
  • ThemWare: The developer creates software. Other people use it. The developer does not.
  • UsWare: The developer creates software. Other people use it. The developer uses it too.

For completeness, I suppose I should probably mention the obvious fourth category:

  • NobodyWare: The developer creates software. Nobody uses it.

- Eric

6. Kết

Chỉ đơn giản là, nếu ai đó, tình cờ đọc blog tớ, và thích thay tớ phát triển tiếp project nho nhỏ này, thì cứ liên lạc với tớ…

Bài viết được gửi hôm 05.03.08 · Mang các từ khóa ,

Từ Lightbox đến Slimbox
Quick comment cho WordPress &rarr

Bài viết liên quan:


2 phản hồi

  1. htl gửi hôm 06.03.08 lúc 9:04 am #

    Muốn phát triển tiếp thì cần biết gì nhỉ :”>

  2. QAD gửi hôm 06.03.08 lúc 9:48 am #

    @htl: JS bác ạ.

    Chán thật, đến lúc bác nhớ được cái :embarrassed: thì em lại gỡ mấy smilie đi rồi. Quay về :”> cho lành nhé ^^

Gửi phản hồi




Gõ tiếng Việt: Tự động TELEX VNI Off


Đăng ký nhận email dù không gửi phản hồi