• chevron_right

      Erlang Solutions: FinTech Matters newsletter | September 2021

      Michael Jaiyeola · news.movim.eu / PlanetJabber · Friday, 17 September, 2021 - 11:44 · 4 minutes

    Subscribe to receive FinTech Matters and other great content, notifications of events and more to your inbox, we will only send you relevant, high-quality content and you can unsubscribe at any time.

    Read on to discover what really matters for tech in financial services right now for the Erlang ecosystem and beyond.

    It’s back to school season following what was a disrupted summer for most, but one where the FinTech world has continued to innovate and grow – global investment in H1 reached $98bn (£18bn in the UK) and Revolut raised a funding round of $800m at a valuation of $33bn.

    Michael Jaiyeola, FinTech Marketing Lead

    [Subscribe now]

    The Top Stories Right Now

    Study To Investigate The Impact Of Open Source Software On The EU Economy

    This detailed report from the EU examines the technological independence, competitiveness and innovation around open source software. The main breakthrough of the study is described as being the ‘identification of open source as a public good’. The value of open source technologies for many modern industries is well recognised but financial services have lagged behind somewhat. It is true that in highly regulated industries the compliance requirements may require some extra work when it comes to open source, but the idea that to be successful you must build using proprietary technology is finally being dispelled. A report at the beginning of the year by ResearchAndMarkets.com forecast The Open Source Service Market to grow by 24 % by 2025.

    Communities like those of Erlang and Elixir offer collaboration and information sharing to raise standards for all – it’s not about free software. Where financial services infrastructure leverages open source technology that meets shared requirements then individual companies can focus on adding differential value to their products and services. For FinTech faster innovations while driving down development costs and speed to market is the holy trinity and open source technology enables this in the right use cases where being agile, responsive and scalable will determine competitiveness and success.

    Get the report

    Solarisbank raises $224M at a $1.65B valuation

    Solarisbank, the tech company with a banking license, (whose platform is built using Erlang and Elixir) will use the new funding to acquire Contis and expand API-based embedded banking tech in Europe. Solaris was one of the first to be a fully-fledged bank that offers Banking-as-a-Service which is one of the FinTech segments (along with embedded finance) that has thrived over the pandemic period.

    Read more

    FCA loses £300k worth of electronic devices

    In a do as I say not as I do comedy own goal, the FCA has misplaced a total of 323 electronic devices (estimated worth £310,600) over the past three years, according to a freedom of information request.  The devices are predominantly made up of hundreds of laptops, tablets, desktops and mobile phones reported lost or stolen by FCA employees. Unsurprisingly, this raises questions about data protection standards at the industry regulator.

    Read more

    Verizon and Mastercard partner to bring 5G capabilities to payments

    The strategic aim is to integrate 5G into payments focusing on contactless shopping, checkout automation and Point of Sale (POS) experience solutions. It is stated that this will be achieved by harnessing the latest in IoT technology alongside real-time edge computing.

    Read more

    More content from us

    Kivra – Nordic FinTech case study for digital document sending platform

    Memo Bank’s story – How they used Elixir to build a bank from scratch

    State of play in FinTech – I take a high-level look at some of the industry trends of 2021 so far

    Kim Kardashian’s cryptocurrency Instagram post – the ‘financial promotion with the single biggest audience reach in history’!

    When ultra influential influencers meet newly developed tokens, what could possibly go wrong? Well potentially plenty according to the head of the FCA, Charles Randell, who called Ethereum Max (nothing to do with the Ethereum platform) ‘a speculative digital token created a month before by unknown developers’. Read more

    One in four UK financial services workers want to work from home full-time

    A new survey from Accenture has found 24 per cent of the UK’s 1m financial services workers “would prefer to work entirely from home once a full return to office is possible”. Read more

    Klarna joins leading climate change programmes

    The Swedish BNPL unicorn is the first FinTech to sign up for The Climate Change Pledge and the Race to Zero campaign . Read more

    Erlang Solutions byte size

    Did you miss joining our livestream of “What’s Next for Blockchain in Financial Services’ during FinTech Week London? Well, don’t worry you can get exclusive early access to the full video of the panel debate here.

    Code BEAM America – Created for developers, by developers, the conference is dedicated to bringing the best minds in the Erlang and Elixir communities together to SHARE. LEARN. INSPIRE. over two days November 4-5

    Trifork Group (our parent company) reports revenue growth of 55% in Q2 and 46% in H1 2021. The Q2-2021 Interim Report can be downloaded here. In Q2, Trifork Labs continued its active investment strategy and increased investments in the new Fintech startups Kashet, a new mobile-first challenger bank in Switzerland, as well as in a joint-venture Fintech startup (Money), co-owned by three mid-sized banks. Trifork has entered an integration partnership with Modularbank, a cloud-native core banking as a service solution.

    To make sure you don’t miss out on any of our leading FinTech content, events and news, do subscribe for regular updates. We will only send you relevant high-quality content and you can unsubscribe at any time.

    Connect with me on LinkedIn

    Email: michael.jaiyeola@erlang-solutions.com

    The post FinTech Matters newsletter | September 2021 appeared first on Erlang Solutions .

    • wifi_tethering open_in_new

      This post is public

      www.erlang-solutions.com /blog/fintech-matters-newsletter-september-2021/

    • chevron_right

      The XMPP Standards Foundation: The XMPP Newsletter August 2021

      emus · news.movim.eu / PlanetJabber · Saturday, 4 September, 2021 - 22:00 · 8 minutes

    Welcome to the XMPP Newsletter covering the month of August 2021.

    Many projects and their efforts in the XMPP community are a result of people’s voluntary work. If you are happy with the services and software you may be using, especially throughout the current situation, please consider to say thanks or help these projects!

    Read this Newsletter via our RSS Feed !

    Interested in supporting the Newsletter team? Read more at the bottom.

    Other than that - enjoy reading!

    Newsletter translations

    Translations of the XMPP Newsletter will be released here (with some delay):

    Many thanks to the translators and their work! This is a great help to spread the news! Please join them in their work or start over with another language!

    Events

    XMPP Office Hours - Also, checkout our new YouTube channel !

    Berlin XMPP Meetup (remote) : Monthly Meeting of XMPP Enthusiasts in Berlin - always 2nd Wednesday of the month.

    Articles

    What is project XPORTA? As announced in the April '21 newsletter , the Data Portability and Services Incubator at NGI is sponsoring the XMPP Account Portability project named XPORTA. This month they host an interview with Matthew Wild about how this project came into existence.

    The "have your own TelCo based on XMPP" service jmp.chat has a new blog, with a twist, now based on Libervia so based on XMPP, with all the nice blog features that you want (like RSS) and even subscriptions via XMPP (with compatible clients like Movim or Libervia). The post announcing the new blog also covers the new registration flow and billing system. But the previous post is the real jewel, called Adventures in WebRTC: Making Phone Calls from XMPP . It details the journey through WebRTC debugging, multiple clients, NAT, ICE and all monitored through Wireshark. Get a hot or cold beverage to go with this about 70 minutes long read.

    In the previous newsletter we mentioned that Debian Linux 11 will soon be launched with updated XMPP software, as this happened in the meantime, server admins are already updating or even setting up new deployments. Such as Nelson from Luxembourg, who published a blog post about setting up a server with ejabberd on Debian 11 Bullseye .

    While the Snikket iOS client app was just released, read more below, the behind the scenes development continues. In the latest blog post, Matthew Wild announces that the expert folk at Simply Secure will be performing a usability audit of the current app , as well as conducting usability testing thanks to funding from the OTF’s Usability Lab. The analysis will help to improve the UX of the iOS app and Snikket as a whole.

    Missed in last month's issue, the folks at cometchat have blogged about XMPP's history, working architecture, stanzas and features in general in Everything About XMPP - Extensible Messaging & Presence Protocol . If you want a quick technical overview (or need one to show others what XMPP is all about) this ~15 minutes read can bring one up to speed.

    "Spaces" are the new XMPP frontier to be explored, and you'd get a glimpse of them in Gajim client news below, but the work is pretty elaborate and ongoing with many people involved. Renga 's (an XMPP client for Haiku) developer pulkomandy has blogged Some random thoughts about XMPP spaces thinking about use cases (family, business, communities) and user interfaces.

    Any Turkish speakers reading the newsletter? We don't have a translation yet, but Ged has just published an in-depth blog post about XMPP titled Hangi "Chat" Programı? . In about 40 minutes it takes the reader through the story of the protocol, tells about apps, servers, comparisons with popular apps and privacy.

    The March `21 newsletter brought the news that JSXC (the Javascript XMPP Client) got funding to work on group chat calls. This month they report on the work done and explain the current progress that can even be tested.

    Finally, how does FaceTime work? They interestingly use the same port (5223) as XMPP does...

    Software news

    Clients and applications

    Gajim 1.4 Preview: Workspaces . The Gajim team has been hard at work in the past months to prepare the next v1.4 release. The upcoming version brings a major interface redesign. In this post, they explain how the new interface works and what remains to be decided or implemented before the release.

    Gajim Workspaces (preview)

    Libervia progress note 2021-W31 is out with information about Docker integration, the translation portal and the first 0.8.0 beta. It also has plenty of details about the work done on the ActivityPub Gateway project (grant announced in the April '21 newsletter ) with SQL, DBus, PubSub and with new and updated XEPs.

    Communiqué is a new XMPP client from the Mellium Co-op team. It was announced this month and presented at the XMPP Office Hours (unfortunately recording did not work out). The source code can be found in the repository .

    Communiqué

    Monal 5.0.1 is now available for both iOS and macOS bringing mostly corrections and more polish over the previously major release.

    JSXC Openfire plugin gets a 4.3.1-1 release , with mostly bug fixes and improvements from the JSXC project.

    After so many months of waiting the Snikket iOS app is now publicly released . Snikket server admins can add the app to the invitations pages to have Apple users easily find it. If you are not running Snikket you can still use the app (you can use credentials directly) but do read the blog post to know what you need to add to your Prosody instance (invitations modules) or what limitations you might experience using any other server software.

    Snikket on iOS

    Servers

    Prosody 0.11.10 has been released with a fix for CVE-2021-37601 and some minor changes. Prosody developers recommend server admins to upgrade in order to fix the remote information disclosure issue.

    Libraries

    The Mellium Dev Communiqué for August includes updates to the Mellium XMPP library as well as the new Communiqué instant messaging client. The biggest updates this month are MAM and ad-hoc commands support! You can read more here.

    Extensions and specifications

    Developers and other standards experts from around the world collaborate on these extensions, developing new specifications for emerging practices, and refining existing ways of doing things. Proposed by anybody, the particularly successful ones end up as Final or Active - depending on their type - while others are carefully archived as Deferred. This life cycle is described in XEP-0001 , which contains the formal and canonical definitions for the types, states, and processes. Read more about the standards process . Communication around Standards and Extensions happens in the Standards Mailing List ( online archive ).

    Proposed

    The XEP development process starts by writing up an idea and submitting it to the XMPP Editor. Within two weeks, the Council decides whether to accept this proposal as an Experimental XEP.

    • No XEPs proposed this month.

    New

    • Version 0.1.0 of XEP-0460 (Pubsub Caching Hints)
      • Accepted by vote of Council on 2021-07-21. (XEP Editor (jsc))

    Deferred

    If an experimental XEP is not updated for more than twelve months, it will be moved off Experimental to Deferred. If there is another update, it will put the XEP back onto Experimental.

    • No XEPs deferred this month.

    Updated

    • Version 1.21.0 of XEP-0060 (Publish-Subscribe)

      • Revert change from version 1.15.5 which changed meta-data to metadata in wire protocol. That was an unintended breaking change which has now been reverted. (pep)
    • Version 0.3.0 of XEP-0214 (File Repository and Sharing)

      • Revert change from version 0.2.1 which changed meta-data to metadata in wire protocol. That was an unintended breaking change which has now been reverted. (rm)
    • Version 0.3.0 of XEP-0248 (PubSub Collection Nodes)

      • Revert change from version 0.2.1 which changed meta-data to metadata in wire protocol. That was an unintended breaking change which has now been reverted. (rm)
    • Version 0.2.0 of XEP-0283 (Moved)

      • Re-write the flow with a more focused approach. (mw)
    • Version 1.1.0 of XEP-0429 (Special Interests Group End to End Encryption)

      • Add discussion venue after creation by the Infrastructure Team. (mw)
    • Version 1.24.0 of XEP-0001 (XMPP Extension Protocols)

      • Change "Draft" to "Stable". (ssw)

    Last Call

    Last calls are issued once everyone seems satisfied with the current XEP status. After the Council decides whether the XEP seems ready, the XMPP Editor issues a Last Call for comments. The feedback gathered during the Last Call help improving the XEP before returning it to the Council for advancement to Draft.

    • No Last Call this month.

    Stable (formely known as Draft)

    Info: The XSF has decided to rename 'Draft' to 'Stable'. Read more about it here.

    • No Stable this month.

    Call for Experience

    A Call For Experience - like a Last Call, is an explicit call for comments, but in this case it's mostly directed at people who've implemented, and ideally deployed, the specification. The Council then votes to move it to Final.

    • No Call for Experience this month.

    Thanks all!

    This XMPP Newsletter is produced collaboratively by the XMPP community.

    Therefore many thanks to Adrien Bourmault (neox), Anoxinon e.V. community, anubis, Benoît Sibaud, emus, Sam, Licaon_Kter, nicola, seveso, SouL, wurstsalat3000, Ysabeau for their support and help in creation, review and translation!

    Spread the news!

    Please share the news via other networks:

    Find and place job offers in the XMPP job board .

    Subscribe to receive the next edition in your inbox

    Also check out our RSS Feed !

    Help us to build the newsletter

    We started drafting in this simple pad in parallel to our efforts in the XSF Github repository . We are always happy to welcome contributors. Do not hesitate to join the discussion in our Comm-Team group chat (MUC) and thereby help us sustain this as a community effort. We really need more support!

    You have a project and write about it? Please consider sharing your news or events here, and promote it to a large audience! And even if you can only spend a few minutes of support, these would already be helpful!

    Tasks which need to be done on a regular basis are for example:

    • Aggregation of news in the XMPP universe
    • Short formulation of news and events
    • Summary of the monthly communication on extensions (XEP)
    • Review of the newsletter draft
    • Preparation for media images
    • Translations: especially German and Spanish

    License

    This newsletter is published under CC BY-SA license .

    • wifi_tethering open_in_new

      This post is public

      xmpp.org /2021/08/newsletter-08-august/

    • chevron_right

      Snikket: Snikket iOS app now publicly released

      Snikket Team (team@snikket.org) · news.movim.eu / PlanetJabber · Tuesday, 31 August, 2021 - 14:00 · 4 minutes

    This is the announcement many people have been waiting for since the projectbegan!

    Opinions are often strong about which is the best mobile operating system.However, while it varies by region and demographic, wherever you are it’s verylikely that you have Apple users in your life, even if you don’t use oneyourself. We want to ensure that the platform you use (by choice or otherwise)is not a barrier to secure and decentralized communication with the importantpeople in your life.

    The lack of a suitable client for iOS was an obstacle to many groups adoptingSnikket and XMPP. For this reason, today’s release of a Snikket app for Apple’siPhone and iPad devices is a significant milestone for the project.

    A community effort

    It’s a journey that began late last year with the announcement that we wouldbe sponsoring support for group chat encryption in Siskin IM, the open-source iOS XMPP client developed by Tigase .

    The Tigase folk have been very supportive of our project, and I’d like toespecially thank Andrzej for his assistance and patience with all my newbieiOS development questions!

    There are many other folk who have also helped unlock this achievement. Thisincludes everyone who helped to fund the development work - especially WaqasHussain, the kind folk at jmp.chat and of course absolutelyeveryone who has donated to the project. The majority of donations areanonymous so it’s impossible to thank everyone individually, but the amount ofsupport we’ve received as a project is amazing, and really gives us confidencein achieving even more ambitious milestones in the future.

    Funding aside, we couldn’t have refined the app without help from our diligentbeta testers - with particular thanks to Michael DiStefano, Martin Dosch, mimi8999and Nils Thiele for their bug-catching and comprehensive feedback. Everyoneparticipating in the beta programme has helped shape the app we’re releasingtoday.

    What happens now?

    We’ll be rolling out a Snikket server update shortly that will add a link tothe iOS app from Snikket invitation pages. If you’re eager to make the appavailable to your users before then, you can add the following line to yoursnikket.conf:

    SNIKKET_WEB_APPLE_STORE_URL=https://apps.apple.com/us/app/snikket/id1545164189

    After saving the file, apply the change with the command docker-compose up -d .

    If you are using the Snikket hosting service, you will get anemail soon that explains how to enable the app store link for your instances.

    We’re not done yet

    This is a big milestone, without a doubt. But we’re not completely done. Theapp is not perfect (yet!) and we’re still working on many things. But webelieve this is no reason not to share it with the world as early as we can.

    Push notification compatibility

    The first thing to note (especially as many non-Snikket users will also beexcited about a new iOS XMPP client on the scene) is that our primary focushas been on the app working seamlessly with Snikket servers. We’re committedto XMPP interoperability, but time and resources mean we can’t develop andtest every change in pace with every XMPP server.

    Although we expect it to generally work, there are some known compatibilityissues currently. Specifically, due to the strict “no background networkconnections” policy for iOS apps, we have needed to adapt push notificationhandling slightly differently to what is supported on most XMPP servers today.The extensions we use are openly published by Tigase ,and we have made available community modules for Prosody ( mod_cloud_notify_encrypted , mod_cloud_notify_priority_tag and mod_cloud_notify_filters ),and discussion has begun onmoving these extensions over to the XMPP Standards Foundation standardsprocess. We welcome help and contributions towards evolving XMPP’s currentpush notification support. If you’re interested, reach out!

    Until then, although some backwards-compatibility considerationsare in the app, this means it’s very possible you may experience issues withnotifications on some non-Snikket servers when the app is closed (thoughTigase servers and Prosody servers with the community modules enabled shouldbe fine).

    Language support

    The app is currently only available in English, which is an unfortunatecontrast from all other Snikket projects which are available in many languagesalready.

    Updating the app to support translation of the interface is high on our prioritylist. After this is implemented, we will also be looking for help from translators,so stay tuned for further announcements.

    Other work in progress

    Other known issues that we are working on:

    • Notifications for OMEMO-encrypted messages show a potentially-confusingmessage about the app lacking OMEMO support. This will be fixed by the sameserver update that adds the app to the Snikket invitation page.
    • Group chat notifications are not yet working. This will also be rolledout as a future server update.

    Of course, we will also soon be incorporating feedback from the usabilityaudit and testing sessions when that work iscompleted.


    I want to say a final thanks to our entire community for supporting theproject. Snikket has ambitious goals , and the progress we’remaking couldn’t be achieved without all the help and support we’ve received.

    Drop us feedback about the app if you try it out, file bug reports and featurerequests to help us withplanning and, if you can, donate to help sustain the developmentof the entire project.

    We look forward to welcoming more users to the XMPP network than ever before!

    • wifi_tethering open_in_new

      This post is public

      snikket.org /blog/snikket-ios-public-release/

    • chevron_right

      Gajim: Gajim 1.4 Preview: Workspaces

      Gajim · news.movim.eu / PlanetJabber · Friday, 27 August, 2021 - 00:00 · 8 minutes

    The Gajim team has been hard at work in the past months to prepare the next v1.4 release. The upcoming version brings a major interface redesign. In this post, we explain how the new interface works and what remains to be decided or implemented before the release.

    Of course, your feedback is important ! No interface can please everyone, so please react to this post with how this change would impact you positively and negatively, and ideas you have to make it even better before the release.

    This blog post is in part based on the Gajim 1.4 UI/UX Preview given by lovetox, a current maintainer of Gajim. So if you prefer the video format, click on that Youtube link or use your favorite Invidious instance to view it with a lightweight, privacy-friendly client. That presentation was given as part of the XMPP Office Hours programme, where you can find other interesting presentations about the Jabber/XMPP ecosystem, or propose your own!

    Single-window application

    The main change in Gajim’s new release is that, in the current implementation, it becomes a single-window application. We’ve been used for over a decade to have separate windows for the contact list ( roster ) and for chats. This user interface pattern was common with early 2000’s messengers such as MSN and ICQ .

    In the upcoming release, we make Gajim a single-window application, where all features are always within your reach. This change is inspired by more recent messengers such as Element , Discord or Mattermost (among others). This is what it looks like so far:

    Gajim’s new main window

    Gajim’s new main window

    Some people feel left out by this new feature and the removal of the multi-window mode, however we hope to reconcile our users’ needs as part of the Gajim project, as explained in the Areas for improvement section of this blog post.

    Workspaces

    Gajim v1.4 will introduce a new concept: workspaces . Previously, all tabs were considered equal as a flat list within a window. We understand the need to organize some activities into a specific context, but without multiple windows, we organize these activities by workspace.

    A workspace is a collection of group chats and private chats, organized client-side. For the moment, this is a non-standard, Gajim-specific feature, but standardization efforts are explained in the Areas for improvement section.

    We introduced a new sidebar on the left of the window which allows to navigate your workspaces and accounts. After clicking any workspace, the chat list will be displayed in the sidebar. This chat list, to the right of the workspace list , provides navigation for chats (both group chats and private chats) within the current workspace. The currently focused workspace has a colored bar indicating it’s the current context.

    Below the workspace list, the sidebar lists your accounts. Clicking an account will display a page containing the contact list , your avatar, a status selector, and a list of pending notifications. Contacts in the contact list are organized by roster groups, as was already the case in previous versions.

    Account context

    Each account is attributed a specific color, in addition to its avatar. This color is reused in the chat list , alongside the tab’s avatar so you can see instantly which account of yours is used in a specific chat. When a given chat/account doesn’t have an avatar defined, one is generated from the first character of its displayed name.

    Gajim with multiple accounts

    Gajim with multiple accounts

    When a notification is received within a certain workspace, an indicator with the number of unread messages will be shown on the workspace icon and on the chat.

    Organizing your interface

    Workspaces can be reordered manually within the sidebar by drag-and-drop. However, these two different types of context are kept separate: the workspaces appear on top of the list, while accounts are listed on the bottom. When there’s too many entries to display, the workspace/chat list becomes scrollable.

    Chats can also be moved from one workspace to another, though not via drag and drop: simply right-click a chat and from there the “Move to” menu will move the selected chat to the requested workspace. However, it isn’t possible currently to copy a chat to another workspace; moving an entry to a new workspace will remove it from its previous workspace.

    Within a given workspace, chats can be pinned . These stay in place at the top of the workspace’s chat list . Chats which are not pinned are ordered by latest activity. This way you never have to scroll endlessly to find the chat that matters to you. For the moment, pinned tabs cannot be reordered like workspaces, but we plan to implement it.

    Try it out and let us know

    There’s a lot of upcoming major changes in the next Gajim v1.4 release, so stay tuned to the blog for further information. In the meantime, you can test the new interface by running Gajim from sources using just a few commands. This feature is not published in nightly releases yet because it’s still unstable, so do not use it as a daily-driver yet.

    Important: Note that you have to start Gajim with a test profile using gajim -s -p testprofile or launch.py -s -p testprofile in order to preserve your current profile. Migrating back is not possible.

    • git clone https://dev.gajim.org/gajim/gajim && cd gajim to download Gajim’s source into a gajim folder and moving there
    • git checkout mainwindow to browse the development branch with the new UI
    • pip install . to install Gajim’s development version and all dependencies to your python environment, then gajim -s -p testprofile to start
    • alternatively, ./launch.py -s -p testprofile to start Gajim without installing it, in which case dependencies should be manually setup first (for example On Ubuntu )

    Feedback is welcome in any form, whether on our issue tracker , in our community chat gajim@conference.gajim.org , or as a blog post on your own website. The main tracking issue for this new user interface is #10628 .

    Areas for improvement

    In this section, we explain the shortcomings of the current implementation of the workspaces feature, and what could be done to improve it. We are actively looking for ideas on these areas, so if you can afford it, please spend some time to gather your thoughts and help us improve Gajim.

    Accessibility

    Account context relies on user-supplied colors. However, for accessibility concerns (color-blindness), we would be interested to support other graphical patterns instead of colors. For example, dots and dashes and other visual patterns that are common in graphs and tables. However, unless we get more contributions, it’s unlikely this feature will be released in v1.4.

    Internationalization

    The main window redesign does not support right-to-left (RTL) languages in a special way yet. The navigation sidebar will be displayed on the left-side of the screen in all cases.

    UI customization

    Some users have already expressed their anxiousness at the idea of dropping support for multiple windows in Gajim. However, there is technically no barrier preventing us from reimplementing is with our new User Interface. It’s “just” a lot of hard work.

    For example, maybe we could have a mode where each account gets its own window that could move around separately? Or focus a space from the main window into its own window? That would be useful when using virtual desktops (sometimes called workspaces, what a coincidence) in your favorite desktop environment.

    In addition, we could explore to support multiple sidebars on multiple axis, so that you could decide where to place your accounts list , and divide your workspace list into a top and bottom sidebar.

    Only your imagination and contributions to the Gajim project are the limit for the kind of experience we can provide, but it’s very unlikely deeper UI customization will be implemented in time for the v1.4 release. We are a volunteer-run project and cannot afford to spend time to accommodate every single need there is, although contributions are always welcome.

    More workspace organization

    Currently, pinned tabs in the chat list cannot be reordered in the way that workspaces can be in the workspace list . Would this be useful for you?

    Moreover, Gajim’s new workspaces UI currently features a 2-level representation like Mattermost, where any chat only has a single ancestor workspace. The account roster is an exception, because it features a 3rd-level nesting in order to fit roster groups, where each entry is part of a group, which is part of the account workspace context. Maybe workspaces could benefit from this approach in order to represent 3-level hierarchies akin Discord/Element interface.

    Also, a chat can currently only be featured in a single workspace, for the sake of simplicity. That’s a fine assumption as long as workspaces are managed by a single user for their needs, but would not play well with sharing workspaces with other users, in which case a chat may appear more than once in the workspace tree.

    Standardization and interoperability

    As mentioned briefly, we’re considering how our new workspaces feature can be represented server side, so that it can be used by other clients, and maybe even shared across users.

    Sharing a workspace with several users, similar to Matrix “spaces” or Discord “servers” could prove very useful for online communities administering a bunch of channels, for example to set space-wide permissions. It could also enable to subscribe to a public workspace maintained by a contact of yours, featuring a bunch of 3rd party group chats on a specific topic.

    While there is not yet a specification for such hierarchical organization of chats in the XMPP ecosystem, there was an XMPP Online Sprint last winter studying Discord’s user experience in order to benefit the Jabber/XMPP ecosystem.

    More recently, some people have started to gather thoughts that should lead to a specification. There is a work-in-progress document (a pad ) which anyone can edit with feedback, and a spaces@joinjabber.org group chat has been setup to discuss this issue in a cross-project manner. Your ideas and contributions are more than welcome, even if you’re not familiar with the Jabber/XMPP ecosystem. Feedback on how a new specification could be made interoperable with other decentralized networks is very welcome.

    Gajim

    • wifi_tethering open_in_new

      This post is public

      gajim.org /post/2021-08-27-workspaces/

    • chevron_right

      Snikket: Improving Snikket's usability in collaboration with Simply Secure

      Snikket Team (team@snikket.org) · news.movim.eu / PlanetJabber · Monday, 23 August, 2021 - 10:00 · 4 minutes

    One of the primary goals of the Snikket project is improving the usability ofopen communication software. We see usability as one of the major barriers tobroader adoption of modern communication systems based on open standards andfree, libre, open-source software. By removing this barrier, we open the doorof secure and decentralized communication freedom to many vulnerable groupsfor which it was previously inaccessible or impractical.

    Simply Secure is a non-profit organization working in user interface (UI)and user experience (UX) design. They specialize in combining human-centereddesign with the complex technical requirements of privacy-first securesystems. Our first introduction to Simply Secure was while contributing to Decentralization Off The Shelf (DOTS) , a unique and valuable projectto document and share successful design patterns across the decentralizedsoftware ecosystem.

    Now, thanks to funding from the OTF’s Usability Lab , we’repleased to announce that Simply Secure will be working with us over the comingmonths to identify issues and refine the UX across the project, with a specialfocus on our iOS app.

    We’ve made a lot of progress on the Snikket iOS app recently,largely based on valuable feedback from our beta testers, and we are gettingexcitingly close to a general release. However there is still some work to bedone.

    The expert folk at Simply Secure will be performing a usability audit of thecurrent app, as well as conducting usability testing , which is the study ofhow people use the app, and what struggles they face while completing specifictasks.

    Using information from these analyses the Simply Secure team will assist withproducing wireframes (sketches of what the app’s interface should look like)and actionable advice to improve the UX of the iOS app and Snikket as a whole.You will find information on how to participate later in this post.

    What is UX anyway?

    The modern UX design movement is a recognition that technology should beaccessible and easy to use for everyone. Good design can assist and empowerpeople, poor design can hinder and even harm people. The need for design goesfar beyond making a user interface look beautiful. Software that is notvisually appealing may affect someone’s enjoyment of an application, but anaesthetically-pleasing interface is not magically user-friendly.

    Therefore designing for a good user experience is about more than just makingthe interface look good, it’s about considering how the software fits into aperson’s life, what they need from the software (and what they don’t need) andhow they expect it to behave.

    These are tricky things to get right. Every user is different, and a broadrange of input must be taken into consideration as part of a good designprocess.

    UX methodologies

    There are various ways to gather information useful for making informeddecisions about UX improvements. A common easy and cheap approach is to addmetrics and analytics to an app. This can tell you things like how oftenpeople tap a particular button, or view a particular screen. Developers anddesigners can use this information to learn which features are popular, whichshould be removed, or made more visible.

    This approach has drawbacks. Firstly it only tells you what users are doing,it doesn’t tell you why they are doing it, or what they are thinking andfeeling - for example if they are frustrated while looking for a particularfeature or setting. Metrics can tell you that making a button more prominentincreased the click rate, but it won’t tell you if half the users who clickedon the button were expecting it to do something else! This isn’t really goingto give you enough information to improve usability.

    Another significant drawback with a focus on metrics is the amount of data theapp must share with the developers. People generally don’t expect apps ontheir device to be quietly informing developers about the time they spend inthe app, what they look at and what buttons they press. Such data collectionmay be made “opt-in”, and there are modern projects such as Prio , workingto bring privacy and anonymity to such data collection through cryptographictechniques.

    A wildly different but much more valuable approach is to directly study peoplewhile they use the app - a technique known as “usability testing”. Unlikesilent data collection, usability testing directly pairs individual users orgroups with an expert while they are asked to perform specific tasks withinthe app. Although this requires significantly more time and effort it producesmore detailed and specific insights into the usability of an interface.

    Advantages of this kind of study include the ability to listen and learn moredeeply the needs of specific types of users, particularly minorities whoseproblems could easily be drowned out by larger groups of users in a simplestatistics-driven data collection approach. It also allows you to capturepeoples' thought processes, by asking them to explain each step as theycomplete tasks within the app.

    Participation and looking forward

    We can’t wait to begin our first usability testing facilitated by theexperienced team at Simply Secure, and incorporate their findings intoSnikket’s development.

    If you’re interested in taking part, or know someone who would be a good fitfor this project, we’d love to talk to you for 30 minutes to better understandhow to improve Snikket. There will be no invasions of privacy as a result ofthis research. All identifying information will be removed. We will take allnecessary and appropriate precautions to limit any risk of your participation.Anything that we make public about our research will not include anyinformation that will make it possible to identify you. Research records willbe kept in a secure location, and only Simply Secure and Snikket personnelwill have access to them.

    Appointment slots are available from 24th August to 3rd September. Toparticipate, registeryour preferred time and date on the calendar here 1 .

    Further reading


    1. Google Calendar currently, sorry 😕 ↩︎

    • wifi_tethering open_in_new

      This post is public

      snikket.org /blog/simply-secure-collaboration/

    • chevron_right

      JMP: Newsletter: Blog, New Registration, New Billing, New App!

      singpolyma · news.movim.eu / PlanetJabber · Thursday, 19 August, 2021 - 00:30 · 2 minutes

    Hi everyone!

    Welcome to the latest edition of your pseudo-monthly JMP update!

    In case it's been a while since you checked out JMP, here's a refresher: JMP lets you send and receive text and picture messages (and calls) through a real phone number right from your computer, tablet, phone, or anything else that has a Jabber client. Among other things, JMP has these features: Your phone number on every device; Multiple phone numbers, one app; Free as in Freedom; Share one number with multiple people.

    In case you haven't seen it yet, we now have an XMPP-powered blog! All newsletter updates, as well as other content like technical deep-dives will be published there. If you just want these updates, don't worry, the mailing list isn't going away. You can check out the blog at https://blog.jmp.chat and follow in your RSS reader or compatible Jabber client such as Movim or Libervia.

    JMP also has a new registration flow. This flow properly integrates with our new billing system and represents a lot of behind-the-scenes work to our architecture. The most important part of the new billing system is the referral system . That's right, JMP users can now get single-use invite codes to refer users. The new user gets one free month, and if they decide to upgrade to a paid account the original user will get a free month of credit too! XMPP server operators for closed or vetted groups can also contact support to ask that their server be added to an approved list where all Jabber IDs coming from that server will be given a free month, with the resulting credit if they upgrade going to the server operator.

    Speaking of our new billing system, many users have been fully migrated to the new architecture which says goodbye to PayPal and hello to automated credit card and Bitcoin deposits, as well as official support for payment by mail or (in Canada) Interac e-Transfer. Payments can also be made in Bitcoin Cash by contacting support. Users on the new system now have a prepaid balance they can top up any time they like, with the option to automatically top-up a low balance with any amount $15 or more from credit card. Deposits over $30 get a 3% bonus added, and deposits over $140 get a 5% bonus. This paves the way for calling minutes over 120 / month (which will soon be available at the rate of $0.0087 / minute) and also international calling at per-minute rates to be announced later this year. Those who prefer to pay the same amount every month or year, as is done with our legacy PayPal system, will need to wait a bit until we integrate that option into the new system.

    We've also had a volunteer working with us to prepare some new features for Android users, most notably DTMF (punching in numbers during a call) so that all phone calls can be done from inside Conversations. The code isn't quite ready for upstream yet, but drop by the chatroom if you want to try out a prototype.

    As always, if you have any questions, feel free to reply to this email or find us in the group chat per below. We're happy to chat whenever we're available!

    To learn what's happening with JMP between emails like this, here are some ways you can find out:

    Thanks for reading and have a wonderful rest of your week!

    • wifi_tethering open_in_new

      This post is public

      blog.jmp.chat /b/august-newsletter-2021

    • chevron_right

      Ignite Realtime Blog: JSXC Openfire plugin 4.3.1-1 released!

      guus · news.movim.eu / PlanetJabber · Tuesday, 10 August, 2021 - 08:20

    The Ignite Realtime community is happy to announce the immediate availability of version 4.3.1 release 1 of the JSXC plugin for Openfire, our open source real time collaboration server solution! This plugin can be used to conveniently make available the web-based JSXC client (a third-party developed project) to users of Openfire.

    The upgrade from 4.3.0 to 4.3.1 brings a small number of changes from the JSXC project which appear to be mostly bug fixes and small improvements. Please review the changelog for more information.

    Over the next few hours, your installation of Openfire should automatically detect the availability of this new release. Alternatively, you can download the new version right now from the plugin’s archive page .

    If you’re interested in engaging with the community that builds Openfire and its plugins, please come join us in our forum or chat room !
    For other release announcements and news follow us on Twitter

    1 post - 1 participant

    Read full topic

    • chevron_right

      Erlang Solutions: Why Build A Bank In Elixir – Memo Bank’s Story

      Michael Jaiyeola · news.movim.eu / PlanetJabber · Friday, 6 August, 2021 - 11:16 · 5 minutes

    Elixir is a programming language that runs on the BEAM VM – the same virtual machine as Erlang – and can be adopted right throughout the tech stack. Elixir is designed to combine Ruby’s familiar syntax with the guaranteed performance, scalability, and resilience of Erlang. When choosing a programming language for software development within FinTech and financial services, uptime and fault-tolerance are of mission-critical importance and this is where Elixir will often be the right tool for the job.

    Here we take a look at the success story of Elixir in FinTech with Memo Bank , the first independent bank to be created in France in the last fifty years, that has just completed a new fundraising round of €13 million.

    THE MEMO BANK STORY

    ‘The kind of bank we wanted simply didn’t exist; so, we decided to build it.’

    This was the ambitious starting point for the genesis of Memo Bank, we will examine why and how they chose to build a fast, innovative, and secure banking system from scratch using Elixir as the programming language of choice.

    Memo was founded in 2017 and serves the European small and medium businesses (SMB) market, helping them to manage cash flows and fund their growth as a bank ‘designed by business people for business people’. The French based bank provides all the services you’d expect from a business bank, from current accounts to credit lines.

    Why Memo Chose Elixir

    There are 2 wonderful first hand accounts detailing the planning and architecting stages of the early days of Memo which you can find on their Medium profile . This section summarises their story.

    As Jérémie Matinez explains in his post ‘Why Elixir? An alchemy between backend and banking’, the advantage of building from the ground up, was that they could incorporate the most efficient procedures and modern technologies into their systems from the very start. The guiding principle was that, when it comes to banking, data (its accuracy, accessibility and security) were of paramount importance. To comply with financial services regulations and for customer trust, Memo needed to build a system that is always available anytime, from any device. Combined, these mission-critical requirements led to the decision to adopt Elixir for the core banking system and all of the other backend applications.

    Memo was particularly attracted to building in Elixir to leverage its immutability for ease of development and easier concurrency and testability, necessary when needing 100% reliability for a FinTech system. They also pinpointed the language as being able to reach the level of system scalability and availability needed to absorb real-time transactions.

    What else did they like?

    The good trade-off between performances and high level features

    Memo found that Elixir offered them the perfect balance between performance and features to provide them with the reliable structure to facilitate their ambitions at scale and provide high availability for reliable real-time transactions.

    Being built upon Erlang and targeted to run on the BEAM virtual machine, Elixir shares its performance and ecosystem advantages and concurrency model as standard. ​Also, Erlang is part of the exclusive club of the nine nines languages which makes it one of the most available and reliable platforms out there.

    The growing and solid community

    The Elixir developer community is very friendly and welcoming and the ecosystem is growing all the time. Memo’s team found that although it is a relatively new language, it does enjoy the availability of any tool that is written originally for an Erlang codebase. They also mention some of the extremely powerful frameworks that allow full-stack development, most prominently Phoenix Live View for web application development.

    Join us and the rest of the European Elixir community September 9-10 at ElixirConf EU hybrid conference in person in Warsaw, Poland or online.

    WHAT ELSE ELIXIR BRINGS TO THE TABLE FOR FINTECH

    Elixir is built on top of really mature and stable tech (Erlang and the Beam VM) with good documentation, which is a big plus point for any startup looking to grow trust within their customer base. It is used in many other successful FinTech companies such as Klarna and SolarisBank making it a battle-tested language for innovation in the industry.

    There are some major positives to opting for Elixir which meets the requirements of startups and scaleups in the space:

    • Scalability – If you reach your goals of millions of users, then you’ll have benefited from the reliability and scalability of the BEAM VM
    • Concurrency – handling a lot of simultaneous requests reliably such as from spikes in transactions
    • Easy to develop and maintainable – ease of usage and fast development for everything from fixing bugs to adding new features

    Overall what you gain from using Elixir for your FinTech project is a smaller more manageable codebase that is faster and significantly more reliable when compared to systems built in other programming languages.

    We worked with Bleacher Report, the leader in providing real-time, social-first, mobile-first sports content, to help them move their system from Ruby to Elixir. We achieved a 10x reduction in the time it takes to update the site for a system moving from 150 servers to just 8. Check out the case study here.

    ‘They were able to come in with their expertise, help us establish best practice and give us confidence that going forward our systems would be efficient and reliable.’

    Dave MarksSenior Engineering Director @ Bleacher Report

    SUMMARY

    Overall the Memo Bank system uses modern tools and processes and is designed for speed. The transactional core of Memo Bank is now fully powered by Elixir to deliver on its mission of maintaining customer account records with the highest possible availability and reliability. The Core Banking System is easily adaptable to new customer needs and produces accounting and regulatory reporting in real-time.

    What this success story shows is that whether you need to start from scratch or you already have an infrastructure to integrate with, Elixir is a proven, sound technological choice to build software that will adapt to your business and stand the test of time and scale.

    The Erlang Solutions team has worked closely with the Elixir core team since its inception. Whether you’re new to Elixir, looking to grow your team, add new functionality or integrate with a new system, we’re here to help you make it happen. Tell us about your project requirements here.

    The post Why Build A Bank In Elixir – Memo Bank’s Story appeared first on Erlang Solutions .

    • chevron_right

      Jérôme Poisson: Libervia progress note 2021-W31

      goffi · news.movim.eu / PlanetJabber · Tuesday, 3 August, 2021 - 11:03 · 7 minutes

    Hello,

    last weeks have been exhausting with lot of things at the same time. I've been preparing the release of the 0.8 version, and I wanted to have a couple of thing ready for that, notably a proper way to do translation.

    Preparation of 0.8

    As you may know, I've implemented a docker integration into Libervia to be able to run relatively easily third party software. This is working, but when testing in the production website I had to put the finishing touches to make it work (notably I've improved HTTP proxy and HTTPS management). I have then created projects and updated a couple of translations files.

    As you can now see on https://salut-a-toi.org/ , there is a translate menu. Unfortunately I've closed the account creation for the moment, as I have to deal with licensing first. Indeed, nearly all Libervia ecosystem is for now in AGPL v3+ , as there are only a few contributors (2 mains one, then only a small patches). The intent was and still is to be sure that the ecosystem stays in an Libre license, but this license may cause trouble in some edge cases, notably if we want to make an iOS frontend (the fruit store is notoriously causing trouble with AGPL licences).

    Thus, I'll bring the subject at next general assemble of the "Salut à Toi" association, and see what we should do. One option could be to use FSF's Fiducial Licence Agreement to let the association the possibility to modify the licence as long as it stays a libre one. It would then be possible to add an exception for an iOS frontend. An other would be to avoid totally iOS. Anyway, this need some time and discussions, and if I open translations and get several contributions under AGPL v3+, it may be harder to set this up.

    Weblate integrated in the official website

    An other time consuming task was to continue with renaming and adapt package names (notably in Pypi ). I've used a little trick to redirect legacy packages to the new ones: a new version of each legacy package is a simple setup.py depending on the new package (you can see it e.g. for sat package ). I've also put in place a redirection on the Mercurial repositories, using the old repos will redirect to the new ones.

    Finally, I've published the 0.8.0 beta 1 . You can install it easily with pipx :

    • First install pipx as explained in its documentation
    • Then install the backend with pipx install libervia-backend . You can follow the documentation to see how to configure it and launch it. This will include the CLI and TUI frontends.
    • If you want to test graphical frontends, you'll have to install Libervia Media with hg clone https://repos.goffi.org/libervia-media (assuming that you have Mercurial already installed), then add it into your libervia.conf
    • To install the Desktop frontend, use pipx install libervia-desktop
    • To install the Web frontend, use pipx install libervia-web

    Note that the Desktop frontend is still for early adopters, I need to refactor message handling and do some optimisation and stabilisation to make it pleasant to use.

    Please send feedbacks either as bug reports/feature requests on the official bug tracker , or on the XMPP chat room at sat@chat.jabberfr.org . I plan to only fix major issues though, as I'm now fully working on 0.9 and I'm focusing mainly on the ActivityPub gateway. However, bug reports/feature requests will be taken into account for 0.9 if not fixed directly in 0.8.

    ActivityPub Gateway

    After the hard work to move 0.8 close to the finish line has been done, I've started to work on 0.9 and thus the ActivityPub gateway. The first major thing to do was a refactoring of offline storage. Indeed Libervia (or SàT at the time) was started a long time ago with an Async framework ( Twisted ) long before asyncio even existed. SQLite has been chosen as backend to store data, and a hand made module based on Twisted's adbapi has been created. Despite the rough edges is has been working quite well all this time, and there was even a semi automatic way to update schemas between version. But the whole thing was starting to be difficult to maintain, and the schema update instructions were all kept in the same file.

    Fortunately, SQLAlchemy , the most famous SQL databases abstraction with an optional Object Relational Mapper has recently added support for asyncio .

    SQLAlchemy is a very powerful and widely used tool, so it has been a quite obvious decision to use it to replace the old system. But to use it, Twisted needs to use an asyncio loop, and Libervia was using GLib loop (or reactor in Twisted terms), due to the dependency to dbus-python .

    Dbus-Python is, by its own authors words, not be the best D-Bus binding to use due to unfortunate design decision, so it was the occasion to replace it, and I've moved the backend to TxDBus , a Twisted native D-Bus implementation, which can run with any Twisted reactor. For technical reason, dbus-python is still used for frontends at the moment, but I plan to completely replace it before the end of 0.9 development.

    This has required some work, but it was worth it, and after that I could switch to asyncio reactor and implement SQLAlchemy. I've decided to go with the ORM and not the core only as it is opening neat possibilities. I've first made a mapping corresponding to the last version of the database used for Libervia 0.8.

    Once SQLAlchemy has been implemented and working, the next obvious decision was to use Alembic , the recommended SQLAlchemy based database migration tools (by the same authors). Thanks to this, migration files are now in separated files, and are really easy to create (Alembic can autogenerate a good part of a script when a migration is needed).

    Thanks to all this, I can now easily make changes in database (while in old system I was hesitating due to the work implied). SQLAlchemy also paves the way to support other databases than SQLite. Even if I'm currently sticking with SQLite only, to keep focus, I'll probably add support for PostgreSQL and MariaDB/MySQL at some point.

    Once all this work on storage backend has been finalised, the pubsub cache has been implemented.

    Pubsub cache is operated transparently for end-user, and stores locally pubsub items (according to internal criteria). This is useful for many reasons: performances of course, but also it allows to do data analyse/indexing, for instance to retrieve all items with some terms (e.g.: to search by categories or hashtags). Pubsub cache is also useful to store data in a component (what is of interest for the ActivityPub gateway), or to store decrypted data (which will be of interest when we'll work on the e2e encryption with pubsub).

    I'll pass the implementation details, you'll find the code on the 0.9 bookmark , notably in the pubsub cache plugin , and I've written documentation for developers for some explanations.

    New commands has been added to libervia-cli to manage the cache, in particular there is a purge command to delete items according to given criteria, which will save resources and disk space. With it, it's possible to delete only certain types of items (e.g. only blog posts), for all or only some profiles (for instance, only for the AP gateway). You can say a limit (e.g. delete all items which have not been updated for 6 months). Here again, documentation has been written to explain the commands.

    While doing all that, I've noticed problem to cache correctly items (because of the flexibility of XMPP Pubsub, it's hard to impossible to say if we can share cache between users), thus I've written a protoXEP (i.e. a proposition for an XMPP Extension Protocol, or XEP ) to fix the problem: https://xmpp.org/extensions/inbox/pubsub-caching-hints.html .

    I've also submitted a pull request to fix a problem in XEP-0060 (Publish-Subscribe) .

    While I was a working with standards, I've updated a XEP I've authored a couple of years ago to specify order of items: XEP-0413: Order-By .

    Last but not least, while doing the tests for the pubsub cache I've created some helping methods (or fixtures in pytest terms) to help doing unit test.

    This concludes the first step of the XMPP-ActivityPub gateway which was, as anticipated, a big one. The following steps should be done more quickly, and work on 0.8 should not be on the way anymore (I plan to publish 0.8 in early September).

    That's all for this note, see you next time.

    • wifi_tethering open_in_new

      This post is public

      www.goffi.org /b/libervia-progress-note-2021-w31-Ua14