v0.8, The Groups Update

Don’t forget to backup before upgrading ! It is even more important than usual when upgrading to v0.8 !

Finally, Cyca 0.8 - The Groups Update

There it is. Cyca 0.8. The Groups Update. And guess what’s in it ? Groups ! I’m so thrilled with this one !

Groups in Cyca are created by users so they can share a whole hierarchy of folders, bookmarks and feeds. There are a lot of interesting use-cases.

For teams

Your company is big and has a lot of divisions ? Each division could own a group in Cyca, and invite its co-workers to join in. Division’s documentation, dedicated websites, interesting feeds are shared to the whole group as if it was each user’s tree. And, with proper permissions, each user can add his own documents and feeds.

For organization

Although the groups feature encourages sharing things with other users, it is not mandatory: you can create groups to add a level on the very top of your hierarchy. You could imagine a group dedicated to video-games, another to development, another to life-hacking. Assuming you have tons of bookmarks and/or feeds, groups can help you simplify managing such a tree of data.

Sharing interest with others

That’s genuinely my preferred way of using groups. I love a lot of stuff. Let’s take an example: I love science. Which ? Well, almost all of them, actually, but let’s say physics, mathematics, astronomy, paleonthology, anthropology, etc. The thing is, I don’t really know many sources of information as they are just “secondary” interests of mines, but I wish I could expand my knowledge via good websites.

Wouldn’t it be great to have a user on my instance that is an actual physicist, astronomer, entomologist, etc. that would create a group containing his resources gathered from years of browsing the web, and willing me to join his group ?

That’s actually exactly my vision of Internet: it’s the best way to share information, and Cyca’s Group were built for that purpose.

How it works

When registering, Cyca will create a group for your user. This group requires invitation for other users to join, and cannot be deleted. It is your group.

If you are a member of more than one group, you will see a list of all the active groups you are a member of above your folders list. You can switch from group to group just like you browse through folders.

Each group has its own root, folders tree, and collection of documents and feeds, and its own count of unread feed items. But if you mark a feed items as read in one group while it exists in another, it will be marked as read for both groups, and only for you. This is because unread feed items are associated to your user, not to a bookmark anymore.

You can create and join groups. To do so, just go to the new Groups section in your user account. You can reorder the groups, so they appear above your folders tree the way you want.

When creating a group, you can provide an additional description, and choose if it is on invitation only. If it is, you need to manually invite users into the group for them to join in (which you need to do so anyway for now, we’ll discuss on that later). Invited users can choose to accept or decline the invitation.

Other changes

Cyca becomes… very fast

Guys, this upgrade is the biggest by far, and I put a lot of work in it. For instance, Cyca is now much faster. Browsing through folders, even having hundreds of unread feed items, has never been that fast. Almost everything has been highly optimized, from SQL queries to javascript.

The homoglyphs problem

In an attempt to tackle a security concern over homoglyphs, and as a “side-project”, I have written a routine to “syntax-highlight” URLs. It is quite simple, and surely not bullet-proof, but it might help preventing access to potentially harmful websites.

It is a general concern on the web. By using homoglyphs, an attacker could direct you to a misleading website (a famous example of this is googie or goog1e, which could be mistaken for google). And it gets worse when considering Internationalized domain names.

This problem is tightened to fonts. Each font potentially has homoglyphs, but serif fonts are less likely to contain ones, because of how they look.

This is the reason why, now, in Cyca, URLs are displayed using a serif font, enlarged compared to regular font used anywhere else in the application, and colorized. Additionally, the domain name is displayed in Punycode, and letter spacing is increased.

You can see in the example above that this URL is not what it looks like…

While Cyca won’t prevent you from adding a URL having an IDN (because there are legit websites using IDNs), it might inform you that the URL you added might not be the one you wanted.

What’s next

Among other things, the following days will be devoted to:

  • Allow to change per-user permissions in a group
  • Display a list of public groups to join, so a user won’t need to wait to be invited
  • And, of course, fix what needs to be fixed