Có một nghịch lý trong văn hoá thiết kế đương đại: chúng ta được dạy rằng phải lấp đầy. Lấp đầy banner, lấp đầy sidebar, lấp đầy mọi pixel bằng “thông tin có giá trị”. Nhưng có một truyền thống khác, lặng lẽ hơn, đã tồn tại hàng nghìn năm trước khi internet ra đời.
Nghịch lý của sự lấp đầy
Mở bất kỳ blog phổ biến nào hôm nay — VnExpress, Medium, Substack — bạn sẽ thấy cùng một câu chuyện. Header dính chặt, banner đẩy nội dung xuống dưới, sidebar nhồi “related posts” và “trending now”, popup hỏi email sau 3 giây, footer dài như một trang riêng.
Mỗi khoảng trống đều bị nghi ngờ là sự thiếu sót cần khắc phục. Mỗi giây người dùng không bị cuốn vào nội dung đều là một giây thất bại.
Nhưng có một truyền thống khác, lặng lẽ hơn, đã tồn tại hàng nghìn năm trước khi internet ra đời. Trong mỹ học Nhật, khoảng trống có một cái tên riêng — ma (間) — và nó không phải là sự vắng mặt của nội dung. Nó là nội dung.
Ma — khoảng trống có nghĩa
Từ ma trong tiếng Nhật thường được dịch là “khoảng cách”, “khoảng trống”, hoặc “khoảng nghỉ”. Nhưng cả ba bản dịch đều hụt. Ma không phải là sự thiếu vắng — nó là một thực thể có chủ đích, có sự hiện diện riêng.
Ma không phải là khoảng trống giữa các vật. Ma là khoảng trống tạo ra các vật.
Arata Isozaki, “Ma: Space-Time in Japan” (1979)
Nguồn gốc khái niệm
Ký tự 間 được tạo nên từ hai phần: 門 (cổng) và 日 (mặt trời). Hình ảnh gốc là ánh sáng mặt trời lọt qua khe cổng. Cái khe đó — không phải là cánh cổng, cũng không phải là ánh sáng — chính là ma.
Trong kiến trúc và âm nhạc
Trong kiến trúc truyền thống Nhật, các căn phòng được phân chia bằng những vách shoji mỏng có thể trượt mở. Một căn phòng không có chức năng cố định — sáng là phòng ăn, chiều là phòng đọc, tối là phòng ngủ. Khoảng trống là khả thể.
Một bài viết hay không phải là bài viết nhiều chữ. Nó là bài viết có chỗ cho người đọc dừng lại.
Áp dụng vào blog cá nhân
Một blog cá nhân không phải là tạp chí. Không phải là sản phẩm cần tối ưu CTR. Không phải là cỗ máy thu hút sự chú ý. Nó là một không gian — và không gian cần có chỗ để thở.
Hệ thiết kế cho blog này được xây trên nguyên tắc đó:
- Container đọc bài chỉ rộng
608px— buộc nội dung phải chọn lọc - Margin giữa các section là
96px–128px— rộng đến mức “lãng phí” - Spacing giữa các đoạn là
24px— nhiều hơn 50% so với chuẩn web - Line-height là
1.75cho body — gần gấp đôi giá trị 1.0
Trong code và data
Nguyên tắc ma không chỉ áp dụng cho visual — nó áp dụng cho cả code và kiến trúc dữ liệu. Một function 200 dòng không có khoảng trống giữa các logic block là một function khó đọc.
// Hàm có "ma" — mỗi block có khoảng trống để thở
async function processOrder(orderId: string) {
// 1. Validate
const order = await findOrder(orderId);
if (!order) throw new Error('Not found');
// 2. Calculate
const tax = calculateTax(order);
const total = order.subtotal + tax;
// 3. Persist
await saveOrder({ ...order, total });
await notifyCustomer(order.email);
return { orderId, total };
}
Kết — chỗ để dừng lại
Tôi không nghĩ blog này sẽ “thành công” theo nghĩa thông thường. Không có affiliate links, không có popup email, không có “10x your traffic” tactics. Nhưng đó cũng không phải mục tiêu.
Mục tiêu là tạo ra một không gian — nơi tôi và bạn, người đang đọc, có thể cùng dừng lại.
Bài viết này được viết trong một buổi sáng tháng năm, sau khi đọc lại “In Praise of Shadows” của Tanizaki Jun’ichirō.