01 Jul 2009

Following me or not?

No comments

Following me or not hay FMoN là công cụ mình mới viết dành cho những người yêu thích twitter. Tool này chỉ thực hiện 1 chức năng duy nhất, kiểm tra xem ai đó có theo đuôi (follow) mình trên twitter hay không.

Nếu bạn chưa biết twitter là gì, có thể tìm hiểu thêm tại đây.

Từ ý tưởng cho đến thực hiện chỉ vỏn vẹn 2 ngày, tuy vậy việc viết công cụ này cũng không hề đơn giản như mình nghĩ ban đầu.

Ý tưởng

Thực ra công cụ như thế này đã có rất nhiều, ví dụ như IsFollow, DoesFollow hay phần “Are They Following” của Twitter Grader v.v… Tuy nhiên những tool này lại đều có những điểm mà mình không thích. DoesFollow có kèm quảng cáo, và button thì khá xấu, giao diện phức tạp hơn mức cần thiết cho 1 công cụ nhỏ như vậy. IsFollow thì không còn gì để nói, giao diện rối mắt, quá nhiều chỉ dẫn. Nhưng điểm chung ở cả 2 mà mình không ưng, đó là “kiểm tra xem ai đang theo đuôi ai”. Hoàn toàn không mang tính cá nhân. Mình muốn 1 công cụ gọn nhẹ, đơn giản và hướng đến chính người dùng. Xuất phát từ chính tên miền, khi bạn truy cập http://someone.followingmeornot.net thì tức là bạn đang kiểm tra someone có theo đuôi bạn hay không (nghe cũng rất giống văn nói đúng không: “Is someone following me or not?”). Nếu đây là lần đầu bạn truy cập, trang web sẽ cần biết bạn là ai, sau đó thì bạn không cần phải nhập username của mình nữa.

CSS và Internet Explorer

Bị ảnh hưởng lớn từ Down for everyone or just me?, FMoN có một giao diện khá đơn giản. Mặc dùng đã sử dụng Tripoli (giúp trang web của bạn hiển thị tốt trên mọi trình duyệt) nhưng khi truy cập bằng IE, input box trở nên thật tệ:

IE

Mình cứ nghĩ rằng do css của mình lỗi, và thử kiểm tra với Down for everyone or just me, không ngờ kết quả còn tệ hơn (cười):

down

Nói chung, mình không ưa gì IE, cũng không có ý định làm vừa lòng các bạn dùng IE. Cho nên với IE có lẽ nên dừng ở đó. Có thể sắp tới mình sẽ thêm 1 thông báo kiểu như “Using Internet Exploere is so 2006″ cho giống các bác Mozilla.

JS và NoScript

Sử dụng API của twitter nên gần như mọi thao tác logic đều trên JavaScript chứ không phải PHP. Nếu bạn dùng NoScript hoặc tắt JavaScript thì công cụ trở nên vô giá trị:

NoScript

Khi gửi yêu cầu (request) đến twitter, hầu hết đều phải xử lý dữ liệu kiểu JSON, nhưng hàm $.ajax hay $.getJSON của jQuery lại không thể xử lý được lỗi trả về. Thành ra khi nhập vào tên người dùng không hợp lệ, jQuery sẽ không trả về giá trị nào cả, thậm chí cũng ko thực hiện script trong hàm callback luôn. Mình đã mất gần 1 ngày chỉ để xử lý chỗ này. Và thật may mắn, mình tìm ra được plugin này jQuery-json. Yay, it worked like a charm.

Hoàn tất

Sau khi script đã ổn thì là lúc mình nghĩ đến việc sử dụng wildcard subdomain. Cũng không hề đơn giản như mình nghĩ. Sau khi vật lộn 1 lúc với cPanel, Apache và .htaccess thì mình cũng xong. Mệt muốn chết =(

Hiện tại, chưa có cách nào sign out khỏi hệ thống trừ khi bạn tự xóa cookie đi. Mình muốn thêm 1 vài icons vào nhưng chưa biết nên đặt vào đâu để không phá vỡ sự đơn giản của trang web. Có lẽ mình sẽ implement sớm thôi :P

Cảm ơn mọi người trong cộng đồng tumblr đã sử dụng và ủng hộ. Cảm ơn anh Đức Ban đã khích lệ em khi tool vừa mới ra đời =D

PS: nếu bạn cũng sử dụng twitter, đừng quên follow mình nhé: www.twitter.com/mrnhim



Be to first to response

Leave a Reply