Fitting in to the visual appearance of the native operating system may seem like a reasonably obvious decision, but it certainly isn’t one that every cross-platform application or windowing toolkit makes.
For instance RealPlayer (image) uses a custom appearance across operating systems, as do applications built using Java’s Swing windowing toolkit (image). Personally I think a unified cross platform UI results in applications that at best feel foreign everywhere, and at worst don’t even feel like real applications.
From Alex Faaborg's Blog - The Firefox 3 Visual Refresh: System Integration
That's the reason why Swing sucks and Real became the second worst tech product in history.
P.S. a little bit more quote:
Mozilla’s user experience team literally wants to do a better job of visually integrating with Windows than IE, and a better job of visually integrating with OS X than Safari.
อ่านบล็อก Mozilla Lab ซึ่งหลักๆ เขียนโดย Alex Faarburg (usability designer ของ Mozilla, เคยเขียนถึงผลงานเค้าไปบ้างแล้ว) พูดถึง extension ตัวใหม่ที่ชื่อ CoScripter
CoScripter พัฒนาโดยโครงการ alphaWorks ของ IBM หน้าที่ของมันคือเอาไว้ record การกระทำที่เรามักทำซ้ำๆ ในเบราว์เซอร์ รู้สึกว่ามันอธิบายยาก ดู screencast เข้าใจเร็วกว่า
ลำพังแค่ไอเดียเรื่อง record การกระทำก็ไม่แปลกเท่าไร (เคยเห็นพี่ป๊อกใช้ใน Emacs ตอนงาน BTD2 หรือ vim เองก็มี record mode) แต่ที่ประทับใจคือ
ยังคิดวิธีการเอา CoScripter ไปใช้แบบเจ๋งๆ ไม่ออก รู้แต่ว่าต่อไปนี้เวลาไปเดโมหรือพรีเซนต์อะไร ใช้แค่ S5 กับ CoScripter ก็น่าครอบคลุมเกือบหมด
วันนี้อ่าน Monologue เจอบล็อกของ sp2hari พูดถึงของใหม่ใน Firefox 3
เจ้า Places กับ new Download Manager นั้นเห็นในรายงานต่างๆ มาเยอะแล้ว (คิดว่าหน้าตาของ Places คงเปลี่ยนอีกหลายรอบนะ) แต่ FTP interface อันใหม่กลับไม่เคยเห็นมาก่อนเลย มาแบบเงียบๆ มาก
ไหนๆ ใช้ Firefox 3 nightly อยู่แล้วก็ขอลองซะ
โอ อลังการจริงๆ นอกจากจะ sort ได้ ยังเอาไอคอนตาม MIME type ของระบบไปแสดงอีกด้วย เผอิญไม่ได้ลองบนลินุกซ์ ไม่รู้ว่าเป็นอย่างไร
Robert O'Callahan คนที่ดูแลเรื่อง Text Layout ใน Firefox 3 เขียนถึงบั๊ก #336959 ที่พี่เทพจัดการ checkin เข้าไปใน source tree เรียบร้อยแล้ว
Another great piece of work that just landed was a patch by Theppitak Karoonboonyanan. His patch collects runs of "hard" characters (currently Thai and Lao) and calls Pango to perform line-breaking on them. Thai line-breaking is a hard problem, requiring dictionary-based analysis, and modern Pangos can hook up to libthai to make this happen. This analysis requires unbounded context, but again thanks to the new-textframe work, we can provide all the context needed. So as of yesterday our Thai support should be greatly improved on modern Linux distributions. Someone still needs to write the glue code to hook up Uniscribe and ATSUI (or other libraries?) in the same way. This work is easily extensible to any other "hard" languages we may discover. It's also quite efficient because the new-textframe infrastructure caches the results of line-break analysis in textruns. #
ประเด็นสำคัญอยู่ที่ตัวหนาข้างต้น ว่าแล้วก็โฆษณาโครงการสร้าง patch ตัดคำแบบเดียวกันบนวินโดวส์กับแมคเสียหน่อย
ไปทำท่าไหนไม่รู้ฟอนต์ภาษาไทยบน Firefox ใน Ubuntu Feisty มันเละ (hint เน่าเลย) ลองแก้กลับไปกลับมาก็ไม่สำเร็จ สุดท้ายต้องกลับมาเซ็ตใหม่ มาจดไว้กันลืม
ขั้นตอนทั้งหมดทำตาม การปรับแต่งฟอนต์ไทยบน Ubuntu ของคุณกำธร ต่างกันนิดเดียวตรงที่คุณกำธรเลือกใช้ Loma เนื่องจากเป็นฟอนต์ไทยมาตรฐานที่มากับ Ubuntu แต่ผมดันพิสดารอยากใช้ Tahoma ที่ลงเองทีหลังเพราะว่า hinting มันสวยกว่าเยอะ
ผมแก้ 66-ttf-thai.conf โดยเพิ่ม Tahoma เข้าไปใน <Alias> และ <prefer> ที่ยากหน่อยคือส่วนของ <match> ซึ่งระบุวิธีการ hinting ซึ่งลองแล้วแบบที่เวิร์คสุดคือ
<test name="family">
<string>Tahoma</string>
</test>
<edit name="autohint" mode="assign">
<bool>false</bool>
</edit>
<edit name="hinting" mode="assign">
<bool>true</bool>
</edit>
<edit name="embeddedbitmap" mode="assign">
<bool>True</bool>
</edit>
คำอธิบาย: ไม่ใช้ autohint (hint โดยอาศัยซอฟต์แวร์คำนวณ) เพราะว่า [manual] hinting ของ Tahoma (ทำโดยผู้เชี่ยวชาญด้าน hinting ของไมโครซอฟท์) นั้นสวยอยู่แล้ว ส่วนอันสุดท้ายคิดว่าใส่อะไรก็คงไม่ต่างกัน เพราะเราคงไม่ได้ใช้ฟอนต์เล็กขนาดนั้นอยู่แล้ว (มั้ง)
ผลที่ได้ก็ฟอนต์ภาษาไทยสวยงาม คมกริบ ถ้าใครขี้เกียจก็ดาวน์โหลด 66-ttf-thai.conf เวอร์ชันของผมไปใช้ได้