Thứ Tư, 12 tháng 3, 2014

Facebook Paper và câu chuyện nó giúp thay đổi cách viết ứng dụng di động

facebook_paper-1.

Paperứng dụng duyệt Facebook và đọc tin tức do chính đội ngũ của Facebook phát triển với giao diện phẳng và cách xem ảnh hoàn toàn mới. Nhóm viết ứng dụng Paper của Facebook được dẫn dắt bởi một người còn khá trẻ, cách mà các kỹ sư viết ra Paper cũng rất khác và nó đã thay đổi hoàn toàn cách công ty này xây dựng ứng dụng cho di động. Bài viết bên dưới lược dịch từ trang Wired với nội dung về Paper và cách Facebook đã viết ra nó theo con đường chưa từng có trước đây.

Mike Matas đang ngồi tại một trong những văn phòng lớn nhất ở trụ sở chính Facebook và trên tay cầm một chiếc iPhone được kết nối với máy Mac qua một chiếc dây nối dài màu đen. Anh ta là trung tâm của buổi chiều hôm đó với nhiều đồng nghiệp vây quanh, bao gồm cả Chris Cox người chịu trách nhiệm giám sát việc phát triển sản phẩm mới ở Facebook và báo cáo trực tiếp lên CEO Mark Zuckerberg. Mike Matas đang giới thiệu về một ý tưởng mới mà anh đã nghĩ ra vào đêm hôm trước. iPhone của Matas đang phóng to vào vị trí chính giữa của tấm hình chụp thác Niagara, sau đó bằng cách nghiêng iPhone sang phải hoặc trái, anh ta có thể di chuyển tới những vị trí khác của tấm hình như thể đang trong một trò chơi 3D. Đó chính là cách người ta xem ảnh trong ứng dụng Facebook Paper mà Facebook gọi là "tilt-to-explore" (nghiêng để khám phá).

20140227-FACEBOOK-PAPER-ENGINEERS-0149edit.
Mike Matas đang giới thiệu về kiểu xem ảnh mới trong Paper​

Mọi người đều cảm thấy ngạc nhiên về cách xem ảnh này, nó là một tác phẩm nghệ thuật của phần mềm di động. Sẽ ngạc nhiên hơn nếu bạn biết được rằng Mike Matas không phải là kỹ sư phần mềm. Anh ấy không biết về Objective-C, loại ngôn ngữ lập trình được dùng để viết ứng dụng iPhone và bất kỳ thứ ngôn ngữ lập trình nào khác. Thế nhưng chỉ trong vài giờ, anh ta có thể hiện thực hóa ý tưởng xem ảnh độc đáo mà đến cả những kỹ sư phần mềm thành thạo cũng phải trầm trồ trong phòng hôm đó.

Bí ẩn đằng sau câu chuyện này là một công cụ thiết kế mới mang tên Origami, nó giúp Matas nhanh chóng xây dựng một nguyên mẫu phần mềm di động mà không phải viết một đoạn mã máy tính nào. Có nhiều công cụ cho phép chúng ta viết nguyên mẫu một ứng dụng nào đó nhưng với Origami, nó tạo ra nguyên mẫu giống như một ứng dụng thật và chạy trên điện thoại thật. Đây là cách mà Facebook đã viết ra Paper, Matas và đồng nghiệp đã dùng Origami để tạo ra những nguyên mẫu hoàn chỉnh trước khi một nhóm kỹ sư phần mềm khác tinh chỉnh và hoàn thiện nó trước khi phát hành cho người dùng. Origami chỉ là một trong số nhiều công cụ được dùng để tạo ra Paper và đi theo yêu cầu của Mark Zuckerberg là giúp thế giới mở và kết nối hơn, Facebook đã chia sẻ rộng rãi công cụ như Origami này cho toàn bộ người dùng.

Tiểu sử Mike Matas

20140227-FACEBOOK-PAPER-ENGINEERS-0073edit.
Đội ngũ phát triển Paper gồm Kimon Tsinteris, Mike Matas và Scott Goodson​

Ở tuổi 19, sau khi viết những ứng dụng cho Mac ở ghế nhà trường và lập công ty khởi nghiệp riêng, Matas đã được Apple thuê về làm việc. Tại đây, anh ta đã góp phần tạo ra giao diện người dùng của iOS và OS X, ở tuổi 23, anh thành lập công ty khác có tên gọi Push Pop Press cùng với một người cũ của Apple là Kimon Tsinteris. Anh này tới Facebook sau khi mạng xã hội mua lại Push Pop vào năm 2011.

Push Pop là dịch vụ cho phép tác giả và nhà phát hành tạo những cuốn sách điện tử tương tác cho thiết bị di động như iPhone, iPad nhưng sau khi bị Facebook mua lại, Matas và nhóm nhân viên của anh làm việc với một dự án khác: ứng dụng di động giúp thay đổi cách người ta dùng Facebook và kết quả cuối cùng chính là Paper. Đây là ứng dụng cho phép người dùng duyệt News Feed của Facebook, xem hình ảnh cũng như đọc tin tức ở nhiều mảng khác nhau.

Khi mà viết ứng dụng giống như chơi nhạc

20140227-FACEBOOK-PAPER-ENGINEERS-0173edit.
Các kỹ sư Paper bao gồm một thành viên 18 tuổi (áo xanh)​

Origami là ứng dụng được phát triển dựa trên công cụ đồ họa của Apple là Quartz. Nó cho phép Matas và các nhà thiết kế khác xây dựng nguyên mẫu bằng cách ghép nhiều widget đồ họa và hiệu ứng chuyển động nhỏ lại với nhau, nhưng những hình ảnh này đối xử giống như một ứng dụng thực sự. Nó không chỉ cho phép các nhà thiết kế có thể tạo ra những nguyên mẫu ứng dụng phức tạp, nó có thể làm lại những nguyên mẫu này. "Bạn sẽ thấy chính xác những gì bạn đang làm khi viết nguyên mẫu ứng dụng", Matas cho biết.

Trong quá khứ, để xem một ý tưởng hoạt động ra sao, bạn cần lập trình với những dòng lệnh, điều này thực sự rối đặc biệt với người không biết "code" như Matas. "Với ngôn ngữ lập trình truyền thống, bạn phải gõ nhiều dòng code và nhấn nút biên dịch (compile) để thấy được thành quả", anh cho biết. "Nó gần giống khi học đánh piano (bằng phần mềm), bạn nhấn nhiều phím đàn và nhấn nút để nghe âm thanh vừa chơi", Origami thay đổi điều này. "Bây giờ nó giống như chơi nhạc và bạn được nghe thành quả ngay tức thì".

20140227-FACEBOOK-PAPER-ENGINEERS-0050edit.
Mike Matas đang làm trong tư thế nghỉ ngơi ở trụ sở Facebook​

Những vấn đề thực sự

Cùng với Origami, một công cụ khác được Facebook phát triển để phục vụ cho mục đích viết ứng dụng di động đó là Tweaks. Giống như Origami, công cụ này cho phép các nhà phát triển dựng hình và tái dựng hình ứng dụng sau công đoạn viết code. Cả nhà thiết kế lẫn nhà phát triển có thể thử nghiệm những thay đổi với ứng dụng mà không phải viết lại code hoặc biên dịch lại nó. Tweaks là một công cụ đóng vai trò quan trọng giúp biến trình xem ảnh dạng mới trên Paper từ nguyên mẫu thành một sản phẩm hoàn thiện.

Tuy nhiên, có một vấn đề nhỏ với kiểu xem ảnh mới này đó là khi sử dụng nó khi đang di chuyển. Theo lời của kỹ sư Ben Cunningham, phiên bản ban đầu của kiểu xem ảnh này xảy ra rắc rối khi sử dụng trên xe buýt mà anh ta đi từ San Francisco tới Menlo Park bởi khi di chuyển, con quay hồi chuyển và gia tốc kế của iPhone sẽ bị ảnh hưởng, từ đó kéo theo sự không chính xác khi xem ảnh. Nhưng với Tweaks, anh này có thể dễ dàng tinh chỉnh những bộ lọc có nhiệm vụ phát hiện những chuyển động bất thường, chuyển động nào từ tay người dùng và chuyển động nào do tác động của ngoại cảnh (trong trường hợp này là khi xe buýt di chuyển) mà không cần phải viết lại hoặc biên dịch lại toàn bộ.

20140227-FACEBOOK-PAPER-ENGINEERS-0110edit.
Đội ngũ phát triển Facebook Paper​

Một vấn đề khác gặp phải khi viết Paper cho iPhone, có liên quan tới UI (giao diện người dùng). Giao diện người dùng phụ thuộc nhiều vào hiệu ứng vật lý và nó tiêu tốn tài nguyên của các vi xử lý trên hầu hết smartphone hiện nay, khi đó ứng dụng trở nên vô ích. Trên những đời iPhone mới, Apple đã trang bị vi xử lý đa lõi, cho phép máy xử lý đa tác vụ song song với nhau. Tuy nhiên, cách mà hệ thống của Apple phân phối tác vụ cho mỗi lõi là không phù hợp với nguyên lý hoạt động của các hiệu ứng của Paper.

Ứng dụng Paper phân phối tất cả các hiệu ứng trên lõi sơ cấp (primary) bởi hầu hết trong số đó đáp ứng lại các cử chỉ của người dùng, những tác vụ còn lại vì vậy được phân phối tới những lõi thứ cấp (secondary). Để làm được điều này, các kỹ sư của nhóm phát triển phải viết một 'engine' phần mềm cho phép họ tự do phân phối các tác vụ từ lõi này sang lõi khác của bộ xử lý trung tâm. "Chúng tôi đã phát triển nguyên một cấu trúc cho phép chúng tôi có thể tích hợp những trải nghiệm tương tác tính đồ họa cao nhưng vẫn đảm bảo hiệu năng ổn định cho hệ thống", một kỹ sư Facebook chia sẻ.

Nguồn: Wired