Spyke
loom·Loombypexavc

Feature summary (2023-9-4) - (2023-9-10)

General Update

Busy with outside engagements at the moment. Otherwise, last week was focused on optimizations and other stability improvements.

  • Action extension to set instance url to any url you find outside of the app (tap a native share icon and then "set instance")
    • Works with RSS links / mastodon intances / lemmy instances
  • Cancel pending subscription requests
  • Ability to copy post urls to clipboard or open posts in safari via more button (three dots).
  • Added a "Set Instance URL" button to the hamburger menu to make it easier to find (Can also tap the url on the main feed header).

I will be free again This Thursday. Focused on pushing further stability improvements and nitpicks/ aligning iPad and macOS with their iOS counterpart. And finally starting the inbox/direct-messaging/push-notifications features.

Android

I have gotten a hold of a (low-end) non-foldable Android device. And am experimenting porting this work over. I also have a foldable Android device. So keeping foldable experiences when interacting with media in mind. Do not expect anything functional right now. But, 100% stay tuned for another open-source repo starting the Android version of Loom, fully native/Kotlin. Granite/LemmyKit/FederationKit will be converted over prior to the front-end app being built itself. These repos will become available October-November at the earliest.


Meta

Previous Summaries:

Loom: https://github.com/neatia/Loom

LemmyKit: https://github.com/pexavc/LemmyKit

Granite: https://github.com/pexavc/Granite

Testflight: https://testflight.apple.com/join/owwIagmV#

View original on lemmy.world
3
loom·Loombypexavc

Feature summary (2023-8-26) - (2023-9-4)

Instead of being strict on Friday updates like this. I will leave it as between Friday and Sunday.

Some features (RSS Feeds/custom feed styles) and improvements will not appear until build v1.1.0b (2023.9.4) which should be sent out by tonight PST.

Loom: https://github.com/neatia/Loom

LemmyKit: https://github.com/pexavc/LemmyKit

Granite: https://github.com/pexavc/Granite

Testflight: https://testflight.apple.com/join/owwIagmV


The 2 notable updates this week is content filtering and integrating FederationKit, which will aggregate not only Lemmy, but RSS Feeds, Mastodon, and more.

RSS and Mastodon's current integration is just for bookmarks and the main feed at the moment.

I have also added a new option to change the appearance of the feed to a more classic reader feel rather than social app.

Aggregation Sources (Aside from Lemmy)
RSS feeds can be pulled when setting the instance URL to a valid endpoint. Pagination is not currently supported, but will be in the future. Looking at supporting Atom/JSON streams as well.
Mastodon feeds can be pulled when setting the instance URL to a valid mastodon instance. Pagination is not currently supported, but will be in the future. Interactions are disabled for the time being.
Safety
On-device CoreML models + keyword filtering to remove posts from the feed. NSFW Extended will remove posts that are detected as NSFW even if they are not flagged as so. Requires an image for inference, which can be generated even without a thumbnail_url property. (As long as a post url itself is available).
Styling
Intended to allow full user customization in the future. Currently supports a "social app feel" and a "reddit-like reader".

—

Note:

This week was lots of performance optimizations on the front-end as well as major underlying API changes for communicating with federated networks.

I have not kept iPad and macOS variants up to date (or at least have not tested them thoroughly. In theory they should be at least close to upto date as its the same codebase).

But since there are more testers on iPhone at the moment. I am looking at mobile as the flagship and goal to achieve very high stability and performance up to all iOS 15.4+ devices. I am hoping to bring the other form factors up to speed by the next feature summary.

View original on lemmy.world
5
loom·Loombypexavc

Loom does not require local network access, this demo video shows what's causing it

Accessing a url with .local or 127.0 in the domain seems to be requesting this access. I have disabled setting such urls. This is just for the Testflight. Otherwise you can build the iOS/macOS client locally and allow for localhost access

Another area this can occur is in Search. I am still investigating why/how a request can push this modal through.

I have tested the API endpoint with local as a query since posts can either be federated, local or subscribed for instance, but that wasn't causing it.

Loom does not require local network access, this demo video shows what's causing ithttps://streamable.com/qmtl0lOpen linkView original on lemmy.world
2
loom·Loombypexavc

[Update] Continuing updates November 1

Hello all,

Sorry for being MIA. Personal and professional developments had me taking a step back for the past 30 days. I will be continuing some significant pushes and updates from November 1st on-wards.

Prior to November 1st, I will be pushing updates to the desktop/MacOS counterpart so it is up to date with iOS/iPad's testflight.

View original on lemmy.world
5
loom·Loombypexavc

[v1.1.0b (2023.08.29)] Client-Side Content Moderation

Felt this was important enough to share a mid-week update.

The incoming build will have a new option in settings under a section called Filtering.

The option is NSFW Extended

This will run an offline CoreML model that will run through all thumbnails and present media that is SFW. This is based on the data set used here https://github.com/bhky/opennsfw2

I will always find offline solutions first. The goal is for data to never leave the device when incorporating such solutions.

I will stay vigilant on better and more up-to date solutions. Since this is a fairly new integration, I will also spend time optimizing, but the speed of inferencing is negligible and almost instant, so experience does not seem to be affected.

I have made a new open-source package called ModerationKit, where I will incorporate solutions of any kind to prevent harmful media from entering a user's feed.

2 Notes to be aware of:

  1. There is an issue with config restoration per fresh app launch that will be resolved later this week. You may need to re-enable this filter each open.

  2. Computer Vision is never a 100% guarantee.

View original on lemmy.world
3
loom·Loombypexavc

In light of recent news. I am going to look into implementing another failsafe for content NSFW moderation this week.

The solutions I will employ will be on-device, and just be able to provide additional warnings/censorship for posts not marked appropriately and obviously for posts that are incredibly harmful. This is not the type of content I want to be building something to be near. And will do my best to find solutions in preventing such.

View original on lemmy.world
9
loom·Loombypexavc

Feature summary upto v1.1.0b (2023-8-25)

v1.1.0b is in Review. Will be available by end of day.

1.0.4b was skipped. Since lots of changes were made in Granite, decided to mark v1.1.0 to denote.

Loom: https://github.com/neatia/Loom

LemmyKit: https://github.com/pexavc/LemmyKit

Granite: https://github.com/pexavc/Granite

Testflight: https://testflight.apple.com/join/owwIagmV

Looms
Create "Looms" of any group of communities from any instance. Merging their content into a singular feed.
Explore
Visit linked instances when connected to a lemmy server. View small snippets of each and their ping response time.
Travelling Modals
Writing modals can travel with your viewing context. Allowing you to browse content in any stack prior to publishing.
Bookmark Syncing
All your saved posts and comments can be switched between accounts in a dedicated component.
Sharing
Share posts or comments as images. With the intention of supporting QR codes and Engravings in the future.
Search
Either search all, a specific subcategory with sort support. View expanded contents within the view, interacting with content as normal.
Profile
Dynamic threads, despite viewing context. Swipe to reply to comments or tap the more button, to modify, remove, block, etc.
Deleting and restoring with toast reactions.
Switch accounts, view their profiles, and their scores.
Embedded Webview
Custom JS insertion supported, customizing how webpages are viewed via direct user input is a possibility.
Light Mode
Light mode and Dark mode supported. Refer to the color group in Assets to define preferences.
View original on lemmy.world
7
loom·Loombypexavc

[Update] v1.0.4b (iOS focused) update in review, short summary

I am prepping a larger overview to cover all the changes made in v1.0.3b, but it is kinda late and still would like to share a quick update.

I feel very satisfied with how all of the underlying packages supporting Loom have gained lots of needed robustness all around. I view this to be close to the real beta. Probably should have called v1-1.0.3b Alpha.

This week, expect lots of refinements that will be much more consumer facing/front-end.

Details:

iPad and macOS versions will be ready by v1.0.4b (2). Still some things need to be revised.

Community info view (which triggers subscribe) will be functional again in v1.0.4b(2). It is inactive for this version.

  • Share screen shots of comments and posts, auto-generated
  • Slideable menu on the main feed
  • Keyboard toolbar for quick markdown shortcuts and other quality of life needs. A great little feature to keep adding to in the future.
  • Improve speed of modals appearing and navigation overall
    • Granite has been updated with a custom navigation stack. I am working on documentation to help share how to utilize this for your own applications. When working with multiple form factors and or client types (iPad/iPhone/mac) I found this solution I incorporated to be simple and powerful.
  • Names of Looms are editable again
  • Content actions revised and hooked (there's many ways to do things, so I am still making sure I get them all)
    • Edit
    • Viewing Post content
    • Block (Feed)
    • Share
    • (There are others being worked on or checked for completion, like Report)
  • Fixed image uploading, compression occurs prior. This will be customizable in a future update. It is currently targeting 100kb.
  • Lots of nitpick adjustments to design overall

Major Known Issues:

  • Login and Add Account modals dismiss prematurely. Essentially one won’t be able to login.
  • Endless spiral for loading collections of any kind, feed, community listing, post content. Simply refresh to fix it. The issue is known, just haven’t resolved yet.

Lot's more to cover. Wanted to get this build out and start the v1.0.4b journey, as I felt the quality has increased by quite a bit since the initial v1.0.3b.

View original on lemmy.world
2
loom·Loombypexavc

[Update] v1.0.3b (build 13)

v1.0.3b (build 13)

What’s New

  • UX changes for the Loom UI + Creating Posts
  • Setting custom Instance URLs
  • Editing posts/comments (only when viewing posts or within profile)

macOS build will be available soon. iPad-specific optimizations will be addressed in (build 14)

Changes

Loom UI Moved
The Loom interface moved to the view that was meant for composing posts. Creating posts has been moved to a modal format, triggered by the Loom logo button on the front page. Essentially switching spots.
Set Instance URL
Tap the “Front Page” header view text and/or the domain above it, to trigger the set instance url Modal.
  • You can now edit posts and/or comments when viewing a post or in your profile.

  • UX / design tweaks and nitpicks in various places

  • Further optimizations around state updates, bookmark component performance when switching tabs and settings component’s ability to update profile settings when logged in.

Notes

Changelog

iOS TestFlight: https://testflight.apple.com/join/owwIagmV

macOS releases: https://github.com/neatia/Lemur/releases

View original on lemmy.world
4
loom·Loombypexavc

Update on Community post cadence

The next major update will be set for Friday and the same cadence will be applied for major updates per Friday.

Expect smaller updates throughout the week to focus on various bugs and improving performance on all platforms, macOS + iPad especially.

I will primarily use the Changelog to communicate update details.

Secondary Changelog: https://neatia.xyz/post/281

New post updates will only be made if there are Major feature changes/entirely new features outside of the current feature-set. Major feature changes means, entirely new flows to execute an existing feature.

View original on lemmy.world
3
loom·Loombypexavc

[Update] v1.0.3b(10) for creating "Looms"

Known Issues:

  • community list syncing on macOS
  • certain micro-interactions
  • localization of lots of recently added strings

The last major feature for the "base functionality" build, is mod view. This will turn the interface into a "Mod Mode" where actions on posts/comments/persons/communities will have an additional control panel to apply mod actions. The date of this to be completed, is undecided as I'd like to review the performance around all of the base functionalities again this week.

Registration/uploading JPGs or HEICs is a bit finicky, this will be looked at this week as well.


When it comes to features outside of the "Base Scope". I am excited to get to this feature that has been on the GitHub for some time, Engravings. This will allow people to "invisibly watermark" their content. Allowing you to verify what content is yours. There are other applications of it, I'd like to experiment with such as creating shareable cards of a user's community, loom, profile, etc.


iOS Build: https://testflight.apple.com/join/owwIagmV

macOS Build: https://github.com/neatia/Loom/releases/tag/1.0.3b(10)

—

Looms
Create "Looms" of any community from any instance. Grouping their content into a singular feed
View original on lemmy.world
2
loom·Loombypexavc

Next Update: Creating "Looms", merge the feeds of any channel from any instance

Thinking about design a bit more, but overall I really like the idea of being able to do this.

For instance, I wanted to merge some of the music communities in Lemmy.world into 1 feed for a playlist. So making a Loom to act as my little music visualizer for all of those is nice.

Furthermore, there was a user who noted “This is why users need the ability to group multiple communities into supergroups” by @LazaroFilm some time ago. I feel this resolves that.

They also did not like the idea of this setting being platform specific. So down the line, finding a way to create a sorta schema to share with other developers would be cool. Or the other way around, where other developers were to make one, Loom could adopt.

Next Update: Creating "Looms", merge the feeds of any channel from any instancehttps://gateway.ipfs.io/ipfs/QmTQT1gsNo8yQxLxPhyZmLnJQgJbMpRW6FSuNbqT55TDUPOpen linkView original on lemmy.world
8
loom·Loombypexavc

[Update] v1.0.3b (build 8) - Bookmark syncing + more

  • visualizer (“marble”) for youtube videos
    • playback controls coming in a future update
  • debouncing/throttling logics (LemmyKit updated as well)
  • error toasts to communicate content interactions + posting errors
  • bookmark syncing (login to sync bookmarks and navigate between local + logged in)
  • new content browser
https://gateway.ipfs.io/ipfs/QmRgmnE8VQ7UX6d3BXKNdcP8pFpngHYHYC5GpFD1APhdAJOpen linkView original on lemmy.world
2
loom·Loombypexavc

Thinking of adding a PIP mode for macOS/iPad now

Well for macOS, opening in an external window would be cool.

So

  • Picture in picture (multitasking outside of app + in app while browsing)
    • it would be kinda funny (sorta cool) to have a watchOS counterpart so you can “swipe it” onto your watch for viewing when on mobile.
      • actually tvOS airplay makes more sense. Actually, airplay would be a cool browsing experience.
  • open in external window (macOS)
  • Drawer/airplay for iOS?
View original on lemmy.world
2
loom·Loombypexavc

[Update] v1.0.3b (build 6) - Explore + Optimizations

This Update (v1.0.3b(6)):

  • explore page.
    • locked to linked instances for favoriting, adding and connecting too. (Note: You may have to manually refresh the feed to see the updated perspective.)
  • memory issues
  • cached preferences will reset again (account, bookmarks)

Next Update (v1.0.3b(7)):

  • Explore page's community discovery I feel the accounts page is enough for community page discovery
  • Registration and Login keychain autofill

Entire 1.0.4b:

  • Explore page and community discovery
  • Improving sharing content outside of the app
  • Registration and Login keychain autofill
  • Going back to “Front Page” on desktop/iPad
  • Typing custom url to set app’s base instance without logging in

—-

Build is live for iOS (not optimized for iPad yet): https://testflight.apple.com/join/owwIagmV

macOS (not as optimized as the 3D scene is visible too): https://github.com/neatia/Loom/releases/tag/1.0.3b(6)

—

Note:

Still debating whether to move over to the new app bundle id for Loom. May do so after moderation tooling before another public post about Loom in other communities. I am going to keep the current build at v1.0.3 for a bit so the Testflight updates quickly.

Prior to moving onto moderation tooling, I want to experiment with additional caching solutions. I feel this could be a pain point for lots of people hosting small instances. If there’s an app that is inefficiently requesting data over and over. Even though rate limit settings are available, maybe additional work can be done on the client to balance between excessive calls + UX.

View original on lemmy.world
5
loom·Loombypexavc

Explore

Work in progress exploration screen for federated servers and uptimes. Going to circle back on a simple UI for the time being to make sure base functionalities are working optimally.

Searching for instances, viewing their local communities, viewing uptimes, and manually entering instance domains, in a basic vertical stack layout.

But, excited to keep working on this Scene/3D space to interact with Lemmy. At least to me, it truly visualizes the impact of open social networks/link aggregators.

View original on lemmy.world
4