8 คะแนน โดย GN⁺ 2024-07-25 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • เพิ่มความสามารถให้กับ Notion + Jupyter
    • เช่น การตั้งเวลาโน้ตบุ๊ก, แปลงเป็นแดชบอร์ดและแอป, คิวรี SQL ที่คืนผลลัพธ์เป็นดาต้าเฟรม เป็นต้น
  • แก้ปัญหาของโน้ตบุ๊กแบบเดิม
    • แชร์ได้ยาก: ต้องติดตั้ง Docker+Python เพื่อดูงานของทีมข้อมูล
    • โน้ตบุ๊กซับซ้อนเกินไป: บล็อกโค้ดมีจำนวนมากจนอ่านยาก และผู้ใช้ที่ไม่ใช่สายเทคนิคเข้าใจได้ยาก
    • งานง่าย ๆ อย่างการคิวรีฐานข้อมูล, เรียก API, หรือวาดกราฟ ก็ยังซับซ้อน
  • วิธีที่ Briefer ใช้แก้ปัญหา
    • แก้ปัญหาการแชร์
      • ย้ายโน้ตบุ๊กขึ้นคลาวด์และตั้งเวลาให้รันได้
      • ใช้ CRDTs และ Yjs ในการจัดการสถานะและอัปเดตการแก้ไขแบบเรียลไทม์
    • จัดระเบียบโน้ตบุ๊ก
      • ดีไซน์สะอาดตาและจัดกลุ่มบล็อกเพื่อให้เป็นระเบียบได้
      • จัดกลุ่มบล็อกเป็นแท็บ และเลือกบล็อกที่จะแสดงในเวอร์ชันสาธารณะได้
      • มีฟีเจอร์สร้างแดชบอร์ด
    • ทำให้งานง่าย ๆ ง่ายขึ้น
      • สร้างกราฟได้ด้วยการคลิก และให้ AI assistant สร้างโค้ดกราฟที่ซับซ้อนได้
      • แปลงผลลัพธ์ของ SQL query เป็นดาต้าเฟรมอัตโนมัติ และคิวรีไฟล์ได้ด้วย DuckDB

ฟีเจอร์หลัก

  • ไฟล์ทรี
    • ไฟล์ทรีคือพื้นที่สำหรับจัดการและนำทางโน้ตบุ๊ก
    • เช่นเดียวกับ Notion สามารถเลือกไอคอนของแต่ละโน้ตบุ๊ก, เปลี่ยนลำดับ, หรือย้ายโน้ตบุ๊กหนึ่งเข้าไปไว้ในอีกโน้ตบุ๊กหนึ่งได้
    • เมื่อลบโน้ตบุ๊ก ระบบจะเก็บสำเนาไว้ในถังขยะเพื่อให้กู้คืนได้หากจำเป็น
  • บล็อกและแท็บ: โน้ตบุ๊กของ Briefer ประกอบด้วยบล็อกหลายประเภท
    • บล็อกข้อความ: ใช้เพิ่มบริบทให้กับโน้ตบุ๊ก
    • บล็อกคิวรี: ใช้ดึงข้อมูลจากไฟล์หรือแหล่งข้อมูลที่เชื่อมต่อไว้ เช่น Postgres, BigQuery, Redshift, Athena เป็นต้น
    • บล็อกอัปโหลดไฟล์: ใช้เพิ่ม CSV, XLS หรือไฟล์อื่น ๆ ลงในโน้ตบุ๊กเมื่อข้อมูลไม่มีอยู่ในแหล่งข้อมูลที่เชื่อมต่อ
    • บล็อก Python: ใช้เขียนโค้ด Python เพื่อจัดการข้อมูล, สร้างภาพข้อมูล หรือทำงานอื่นตามต้องการ
    • บล็อกอินพุต: ใช้เพิ่มองค์ประกอบแบบโต้ตอบ เช่น ช่องกรอกข้อความหรือดรอปดาวน์ ลงในโน้ตบุ๊ก
    • บล็อก visualization: ใช้สร้างภาพข้อมูลโดยไม่ต้องเขียนโค้ด
    • หลังจากเพิ่มบล็อกลงในโน้ตบุ๊กแล้ว สามารถจัดกลุ่มเป็นแท็บเพื่อให้จัดระเบียบและนำทางได้ง่ายขึ้น
  • ไฟล์และฐานข้อมูล
    • สามารถใช้บล็อกคิวรีเพื่อคิวรีข้อมูลจากไฟล์และฐานข้อมูลได้ โดยไม่ต้องเขียน wrapper หรือ connector
    • หากข้อมูลอยู่ในฐานข้อมูล ก็สามารถใช้บล็อกคิวรีเขียน SQL query และดึงข้อมูลที่ต้องการมาได้
    • หากข้อมูลอยู่ในไฟล์ (CSV, XLSX, Parquet เป็นต้น) ก็อัปโหลดไฟล์นั้นแล้วคิวรีด้วย SQL ปกติได้
    • ยังสามารถใช้บล็อกคิวรีเพื่อคิวรีดาต้าเฟรมด้วย SQL ปกติได้เช่นกัน
  • ดาต้าเฟรมอัตโนมัติ
    • ทุกบล็อกคิวรีจะสร้าง Pandas ดาต้าเฟรมที่มีผลลัพธ์ของคิวรีโดยอัตโนมัติ
    • ทำให้สามารถนำข้อมูลนี้ไปใช้ต่อในบล็อก Python เพิ่มเติมได้
    • โดยค่าเริ่มต้น ดาต้าเฟรมจะถูกตั้งชื่อเป็น query_1 เป็นต้น แต่สามารถเปลี่ยนเป็นชื่อที่สื่อความหมายมากกว่าได้
  • AI assistant
    • ในบล็อก SQL และ Python มี AI assistant รวมอยู่ด้วย
    • ทุกครั้งที่ต้องการความช่วยเหลือจาก AI assistant สามารถคลิก "แก้ไขด้วย AI" และบอกงานที่ต้องการให้ assistant ทำได้
    • จากนั้น AI assistant จะสร้างข้อเสนอและแสดง diff ให้ลองใช้, ยอมรับ หรือปฏิเสธได้
    • ในบล็อก Python, AI assistant จะรับรู้ดาต้าเฟรมและคอลัมน์ที่มีอยู่
    • ในบล็อก SQL, AI assistant รู้จักตารางและคอลัมน์ในฐานข้อมูลอยู่แล้ว จึงให้ข้อเสนอที่ดีขึ้นและช่วยเขียนคิวรีที่ซับซ้อนได้อย่างถูกต้อง
    • ทุกครั้งที่เกิดข้อผิดพลาด สามารถคลิก "แก้ไขด้วย AI" เพื่อให้ AI assistant ลองแก้ไขได้
  • ตารางเวลา
    • สามารถตั้งให้โน้ตบุ๊กรันตามช่วงเวลาที่กำหนด เช่น ทุกชั่วโมง, ทุกวัน, ทุกสัปดาห์ หรือทุกเดือน
    • เมื่อตั้งตารางเวลา ยังสามารถตั้งการแจ้งเตือนให้รับอีเมลหรือข้อความ Slack เมื่อการรันสำเร็จหรือล้มเหลวได้ สำหรับการรันที่สำเร็จ จะได้รับไฟล์ PDF ที่มีผลลัพธ์ของโน้ตบุ๊กด้วย
  • สแนปช็อตและการจัดการเวอร์ชัน
    • ทุกครั้งที่เผยแพร่โน้ตบุ๊ก ระบบจะบันทึกสถานะของโน้ตบุ๊กโดยอัตโนมัติ เพื่อให้ดูการเปลี่ยนแปลงตามเวลาและย้อนกลับไปยังเวอร์ชันก่อนหน้าได้หากจำเป็น
    • ช่วยให้ติดตามการเปลี่ยนแปลงของโน้ตบุ๊กและย้อนกลับได้เมื่อเกิดปัญหา
    • นอกจากนี้ การรันตามตารางเวลาที่สำเร็จทุกครั้งจะสร้างสแนปช็อตของสถานะโน้ตบุ๊กในขณะนั้นด้วย
    • สแนปช็อตมีประโยชน์เมื่ออยากดูว่าผลลัพธ์เปลี่ยนไปอย่างไรตามเวลา หรือเปรียบเทียบเอาต์พุตจากการรันแต่ละครั้ง
  • โน้ตบุ๊กสู่แดชบอร์ด
    • สามารถใช้ผลลัพธ์ของโน้ตบุ๊กเพื่อสร้างแดชบอร์ดได้
    • ทำให้แชร์ผลลัพธ์กับผู้อื่นได้โดยไม่ต้องใส่โค้ดหรือคำอธิบายที่ไม่จำเป็น เช่น ในกรณีที่ต้องทำ data wrangling จำนวนมากก่อนวาดกราฟ
    • มุมมองแดชบอร์ดยังมีประโยชน์เมื่อสร้าง data app ที่ให้ผู้ใช้โต้ตอบกับอินพุตและดรอปดาวน์ได้ แต่ไม่ต้องการให้เห็นโค้ดภายใน

ความเห็นของ GN⁺

  • แพลตฟอร์มนี้ดูน่าจะมีประโยชน์สำหรับงานวิเคราะห์และทำภาพข้อมูลในรูปแบบโน้ตบุ๊ก
  • เป็นระบบคลาวด์ที่รองรับการทำงานร่วมกันแบบเรียลไทม์ พร้อมอินเทอร์เฟซที่เป็นมิตรและความสามารถในการจัดระเบียบที่ช่วยให้อ่านง่ายขึ้น และทำให้ผู้ใช้ที่ไม่ใช่สายเทคนิคก็สามารถดูผลการวิเคราะห์ข้อมูลได้ง่ายขึ้น จึงช่วยเพิ่มประสิทธิภาพการทำงานร่วมกัน
  • การที่ AI assistant ช่วยเขียน SQL query และโค้ด Python ก็น่าจะช่วยเพิ่มผลิตภาพของงานวิเคราะห์ข้อมูลได้เช่นกัน แต่ความแม่นยำและประโยชน์ของข้อเสนอจาก AI คงต้องลองใช้จริงจึงจะรู้
  • ฟีเจอร์ตั้งเวลาและจัดการเวอร์ชันของโน้ตบุ๊กก็ดูน่าจะมีประโยชน์สำหรับงานวิเคราะห์ข้อมูลแบบทำซ้ำหรือการทำงานร่วมกัน แต่ทั้งหมดนี้ต้องอาศัยโครงสร้างพื้นฐานที่เสถียรเป็นเงื่อนไขสำคัญ
  • ความสามารถในการสร้างแดชบอร์ดเพื่อแชร์ผลการวิเคราะห์กับผู้ที่ไม่ใช่นักพัฒนาก็เป็นข้อดีเช่นกัน แต่ยังไม่ชัดเจนว่าความยืดหยุ่นด้านเลย์เอาต์และดีไซน์ของแดชบอร์ดจะมีมากน้อยเพียงใด
  • แพลตฟอร์มที่คล้ายกันมี Jupyter Notebook, Google Colab, Deepnote เป็นต้น จึงน่าคิดว่าจุดเด่นเฉพาะของ Briefer ที่แตกต่างจากบริการเหล่านี้คืออะไร เช่น การใช้งานที่ง่ายกว่า หรือฟีเจอร์ด้านการทำงานร่วมกันที่แข็งแรงกว่า

1 ความคิดเห็น

 
GN⁺ 2024-07-25
ความคิดเห็นจาก Hacker News
  • ผู้จัดการผลิตภัณฑ์พยายามทำให้งานง่ายขึ้นด้วยการตั้งสูตร Excel และกราฟแบบง่าย

    • รวมถึงงานอย่างการจับภาพหน้าจอ
  • วิศวกรข้อมูลใช้โซลูชันโอเพนซอร์สอย่าง Superset และ dbt เพื่อทำงานที่มีความเป็นเทคนิคมากกว่า

  • บริษัทต่าง ๆ มักพยายามสร้าง UI ขั้นสุดท้ายขึ้นมาเอง

    • จำได้ว่า Pinterest เคยโอเพนซอร์สสิ่งนี้
  • เข้าใจอย่างลึกซึ้งว่าการสร้างเครื่องมือแบบโน้ตบุ๊กนั้นยากแค่ไหน

    • มีปัญหาเรื่องการทำงานร่วมกันและ UX
  • เป็นเรื่องยากที่จะแนะนำฟีเจอร์ เพราะทั้งข้อมูลเองและตลาดต่างก็มีการแข่งขันสูง

    • จำได้ว่า Popsql ไม่สามารถเติบโตได้ดี
  • ชื่นชมผลงานของ Lucas และเสนอให้เพิ่ม CLI, คอนเนกเตอร์, symbolic computation, การรองรับออฟไลน์ และ encrypted namespace

    • สิ่งนี้จะทำให้เหนือกว่าคู่แข่งรายอื่น
    • บอกว่าคงยุ่ง แต่ถ้าอยากคุยก็ให้ติดต่อมา
  • สอน Python และ data science (ใน Jupyter โดยใช้ pandas, Polars, scikit learn, XGBoost ฯลฯ) เป็นจำนวนมาก

    • สอนแนวปฏิบัติที่ดีของวิศวกรรมซอฟต์แวร์ด้วย
  • แบ่งปันประสบการณ์ว่าการศึกษาแก้ปัญหาได้จำนวนมาก

    • เพิ่งได้ยืนยันเรื่องนี้อีกครั้งกับลูกค้ารายล่าสุด
  • คิดว่าแทนที่จะโฟกัสกับการเขียนโค้ดที่เป็นมิตรกับผู้เริ่มต้น ควรเขียนโค้ดในระดับผู้เชี่ยวชาญ

    • ผู้เริ่มต้นน่าจะไม่ชอบโค้ดแบบนี้
  • ถูกวิจารณ์บนโซเชียลมีเดีย แต่ได้รับการตอบรับเชิงบวกจากนักเรียนและผู้อ่าน

  • เคยมีประสบการณ์สร้างเวิร์กโฟลว์โดยใช้โน้ตบุ๊ก, งาน cron และการเก็บสถานะ

    • ยินดีที่ได้เห็นความพยายามในการแก้ปัญหาแบบองค์รวม
  • แสดงความยินดีกับการเปิดตัว และบอกว่า Mac Finder chrome ยุค 90 ใน GIF ตัวอย่างดึงความสนใจมากเกินไป

    • แนะนำให้จัดระเบียบให้ดีขึ้นทั้งในเชิงภาพและความหมาย
  • การรองรับ Python/บล็อกโค้ดน่าสนใจ

    • Jupyter notebook สามารถรันได้จากที่ไหนก็ได้
    • ถามว่าสนับสนุนผ่านการติดตั้งในเครื่องหรือรีเลย์การเชื่อมต่อไปยัง Python ในเครื่องหรือไม่
    • ถามว่าโค้ด Python ทั้งหมดจำเป็นต้องรันบนคลาวด์เซิร์ฟเวอร์หรือไม่ และจะไม่สามารถเข้าถึง GPU ประสิทธิภาพสูงได้หรือไม่
  • แสดงความยินดีกับการเปิดตัว และสงสัยว่าจะพัฒนาไปอย่างไรเมื่อเทียบกับเครื่องมือที่มีอยู่แล้วอย่าง Hex

  • กล่าวว่าน่าจะขายในฐานะเครื่องมือทำงานร่วมกันออนไลน์สำหรับองค์กรที่ไม่ใช่สายเทคนิคได้ด้วย

    • หลายคนต้องการเครื่องมือที่สะดวกกว่า Microsoft Access
  • กล่าวว่าน่าจะเป็นเครื่องมือที่มีประโยชน์สำหรับการสร้างแค็ตตาล็อกคิวรีภายในและแดชบอร์ด

    • ถามว่ารองรับตัวเลือกฟิลด์แบบไดนามิกคล้าย "ตัวแปร" ของ Grafana หรือไม่
  • กล่าวว่าปัญหาแรกของโน้ตบุ๊กคือการแชร์ทำได้ยาก

    • แชร์โน้ตบุ๊กกับ PM ผ่านลิงก์ GitHub