19 posts tagged with "all"

View All Tags

Local Native 2021 SoC 4/10

  • Cupnfish demo
    • breaking down components to smaller modules
    • updates in localnative_core
    • stable rust should work
    • note on compiler flag for build
  • discussion about user installation experience
    • should be straight forward with minimum friction
  • hill suggested tool for network

TODO

  • Cupnfish
    • create 2021-soc branch
    • commit localnative_core updates
    • current progress as another commit
  • yi to explore Gitee

Local Native 2021 SoC 4/7

  • yi demo
    • GitLab Issues
      • iteration
      • how-to tag
    • educative new section for Rust GUI
    • localnative.app website code repo
      • npm run start

TODO

  • Cupnfish break down larger code merge into smaller logical merges
  • hill to raise issues with how-to tag

Local Native 2021 SoC 4/3

  • Cupnfish demo current state of PoC
    • UI
      • wrapping UI component for tags
    • compare druid and iced
      • druid
        • menu integration
        • seems more complex
          • lens concept
        • with i18n support?
      • iced
        • seems easier concepts for learning
        • performance seems good with existing app
        • seems i18n need some more work
  • yi demo current installation process using Electron
    • packing and installation of web ext host binary
    • modify manifest json file for browser

TODO

  • Cupnfish explore installation options
  • Conan explore GitLab issues

Local Native 2021 Summer of Code Team

提前完成了 Local Native 2021 Summer of Code 团队的组建。

时间线

调整和提前了主要时间线:

日期事件Note
April 3 - 24熟悉代码和框架,写计划 Blog
April 24 - June 5code() and debug() and document()June 5 Evaluation
June 5 - July 3code() and debug() and document()
July 3-17写总结 Blog 和 educative 教程文档July 17 Evaluation
TBDeducative 审核上线

成员和主要目标

  • Cupnfish

    • 实现并取代目前用 Electron 实现的 Local Native 桌面程序
    • 实现可使用的 Windows 发布版本
    • 在 localnative.app 网站 Blog 上写要在 educative.io 上加入 2021 SoC 新实现的内容的中文版
    • 写2021 SoC计划 Blog 和总结 Blog
  • hill

    • 协助实现代码和技术文档等工作
  • Conan

    • 项目管理达成目标:组织会议,在 localnative.app 写项目周报,完善文档。
    • 在 educative.io 上加入 2021 SoC 新实现的内容(翻译和完善)
    • 建立并完善 gitlab CI/CD 流程
    • 完善Browser Extension UI
    • 编写 Rust 代码

Local Native 2021 Summer of Code - Rust GUI

2021-03-20 更新

目标

推进 FLOSS 项目 https://localnative.app 的 Rust GUI 代码和相关的 educative 教程的编写, 招募代码, 文档和教程贡献同学。

  • Rust GUI 编程
    • 用druid 和/或者 iced 框架 设计, 实现并取代目前用 Electron 实现的 Local Native 桌面程序
      • 尝试用 druid 实现QR Code
    • 尝试支持 Windows 发布版本 (尝试用Rust修改注册表)
  • 给 educative.io 上相关课程加入新实现的内容
  • 写计划Blog 和 总结 Blog, 完善文档

时间线

借鉴G家2021 SoC的时间线

日期事件津贴
March 29 - April 13申请
April 13 - May 17确定申请结果
May 17 - June 7熟悉代码和框架,写计划 Blog
June 7 - July 18code() and debug() and document()July 18 First Evaluation 45%
July 18 - August 16code() and debug() and document()
August 16-31写总结 Blog 和 educative 教程文档August 31 Final Evaluation 55%

津贴

欢迎有Rust经验的同学申请!

加微信 yi-wang-dot-me 备注 SoC 发送

  • 简历
  • Rust经验/作品
  • 期望津贴

Local Native iOS v0.4.1 发布, with SwiftUI

prelude

It has been another few months since last Local Native v0.4.1 release, which was not able to include iOS version due to crashing in TestFlight. Now iOS v0.4.1 is finally released!

the bug?

I still could not identify how the crash occurs by staring at the crash log.

the fix.

It turns out the fix is to rewrite iOS code in SwiftUI.

Fortunately thanks to existing solutions for data flow, search bar, QR code, hiding keyboard, the rewrite is very pleasant and code becomes more concise by removing storyboard and view controllers.

One thing maybe a drawback from previous iOS version is that the bookmark note text is not selectable.

Local Native v0.4.1 发布, without iOS, yet

prelude

It has been a few months since last Local Native v0.4.0 release, which introduced (wireless) syncing via tarpc, database schema change and more. That is decent amount of internal data structure change and observable new features. Everything was well and I was not worrying about rushing out more features very soon, until ..

the bug.

In contrast, this v0.4.1 release is only motivated by fixing the one observed bug:

the touch input keyboard for the share extension's text fields (tag and description fields etc..) does not show up in iOS, after upgrading to newer version (iOS 13.2.2 as of writing). This prevents user to input tag or description, or change title or url for the note.

Saving note still works, but what's the fun if I can not add tags to a note?

Technically This is a new feature only in newer version of iOS. How hard could be

the fix?

Local Native v0.4.0 发布

As hinted in the previous post, this v0.4.0 release is a MVP to show sync between different devices using slightly patched tarpc . Currently sync works between desktop and desktop, desktop and mobile when they are on the same LAN/WiFi.

The schema of note table is updated to have an extra uuid column to uniquely identify and dedup records for sync. At the end of sync operation, both devices will end up with same set of uuid by appending the diff from the other device.

Mobile device can scan a QR code encoding the server address and port to connect to the server to start sync.

iOS sync screenshot:

Add uuid4 and tarpc in Local Native

uuid4

I have not cut a release yet, but the work-in-progress Local Native v0.4.0 introduced a new uuid4 field into note table.

Why?

This serves as a unique key for each record, syncing between different devices could leverage this new column. Actual code for syncing is still yet to be written. The idea is uuid4 could be used as a record identifier to compare with records with other devices.

I considered using key based on actual content, but decided that's too much and preferred true randomness.

Local Native v0.3.8 发布

localnative-desktop-v0.3.8.png

What is new?

  • This Local Native release marks as a personal milestone to satisfy my day to day use case for web bookmarking and note taking with title, url, tags and description.
  • Search, create, read, delete and pagination are implemented for desktop (gnu/linux, mac), browser extension (firefox, chrome/brave) and mobile (ios, android).
  • On desktop, time-series charts are shown to allow filtering on time range, and tag cloud are visualized.

Why Local Native?

It seems applications today are "Cloud Native" by default. For end user, it becomes expected for a "meaningful" application to have all its data available on all the devices all the time. However this assumed convenience comes with drawbacks:

  • performance for certain feature