coggle
coggle
bloggle
82 posts
The blog of the Coggle Team — get started at coggle.it
Don't wanna be here? Send us removal request.
coggle · 11 months ago
Text
Some highlights of what's new, 2024
We've seen a couple of larger changes to Coggle's infrastructure lately, which you might notice especially if you're an obsessive Coggle user (like me!) with huuuge diagrams, or if you use Coggle in a different language.
PDF and image downloads are massively upgraded, with support for the biggest PDF files you can imagine (seriously, we haven't been able to make a sensible Coggle diagram big enough to break the new pdf renderer yet, unlike the old one which could fall over with merely an A0-paper-size diagram).
The longest-lived bug that we've ever had – links in PDF files could sometimes not be clickable – is also finally, finally, finally, fixed! This bug was nearly as old as PDF exports in Coggle, and rapidly approaching its 10th birthday.
PNG image downloads are now also supported up to tens of thousands of pixels in size. These can take a while to generate, and for larger diagrams PDF files will be both smaller and higher quality, but if you need a raster image of your biggest diagrams for any reason you can now get one much more easily.
The new rendering engine is a huge quality and reliability improvement, and it also makes our ongoing maintenance much easier. We now have the capability to use fonts for many more languages when creating the downloaded files. If you see text in your language which is not being displayed properly in a downloaded file please let us know! If the font we're using for your language looks ugly and could be improved then let us know too :)
Translations now use Fluent: Our public translations project for Coggle now uses the more modern .ftl Fluent translations syntax. We've ported over most of the old translations (and thank you to all the people who have helped!), but if you're a technically minded native speaker of a language we don't support yet then it's easier than it ever to translate Coggle.
Posted by James, September 20th 2024.
0 notes
coggle · 4 years ago
Text
What’s new?
What's new in Coggle recently? Here's your occasional update in what we've been working on!
We love green, but, we finally decided that the old homepage was, perhaps, just a tiny bit too green, so you might have noticed our refreshed home page and documents list:
Tumblr media
Hope you like the new design - if you have any comments we love to hear them!
There have been some much less visible updates too - in particular, we've been working on improving the quality of the diagrams you find when you search for public diagrams on Coggle, by removing and hiding published diagrams that have been created for spam, and that don't contain any useful content.
We're not really sure why anyone bothers to try create spam on Coggle, because we've always had a number of ways in which we've suppressed it, and limited the ways that Coggle diagrams can be used to boost other sites.
For some reason though, people still try (and try quite a lot!), which can cause problems if these diagrams appear in search results instead of other useful content. So, we've been improving our detection, flagging, and removal of spammy diagrams, and the accounts that create them, with an even more robust system.
Hopefully you will notice an increase in the quality of public diagrams you find when searching, but if you ever come across public content which shouldn't be on Coggle, then please email us at [email protected] with a link to the page, so we can review it.
Of course as always there have been lots of other little fixes and improvements too, to make using Coggle just a little bit smoother, like improvements to the ways that buttons for adding branches in diagrams work, and improvements to text rendering in Safari.
That's all for now! As always, if you have any comments or feedback we always appreciate them, just drop us an email at [email protected].
Posted by James, October 26th 2021.
2 notes · View notes
coggle · 4 years ago
Text
Making Coggle Even Faster
Today we've got another update from the tech behind Coggle: how we cut the average response time by over 40% with some fairly simple changes, and learned a lesson in checking default configurations.
First, a bit of architecture. Coggle is divided into several separate services behind the scenes, with each service responsible for different things. One service is responsible for storing and accessing documents, another for sending email, one for generating downloads, and so on.
These services talk to each other internally with HTTP requests: so for each request from your browser for a page there will be several more requests between these services before a response is sent back to your browser.
This all adds up to quite a lot of HTTP requests - and many of these Coggle services call out to further services hosted by AWS, using (yep you guessed it!) even more HTTP requests.
So, in all, an awful lot of HTTP requests are going on.
Coggle is written in node.js, and originally we just used the default settings of the node request module, and the AWS SDK for node for most of these requests. (At this point there are better options than the request module - we'd recommend undici for new development - but there isn't a practical alternative to the AWS SDK.)
Why does this matter? Well, it turns out both of these default configurations are absolutely not tuned for high-throughput applications...
The Investigation Begins
A few weeks ago I came across this interesting interactive debugging puzzle by @b0rk - now, no spoilers here (go try it for yourself!), but when I finally got to the solution it did make me immediately wonder if the same issue was present in Coggle - as for a long time our average response time for requests has been about 60ms:
Tumblr media
It didn't take long to confirm that the problem in the puzzle was not occurring for us, but this made me wonder why exactly our average response-time graph was so consistently high - was there room for any improvement? Are all those requests between the different services slowing things down?
What About the Database?
The first obvious place to check is the database. While the vast majority of requests are very fast, we have some occasionally slower requests. Could these be holding things up due to slow trains? Tweaking the connection pool size options of the mongodb driver showed a small improvement, and this is definitely a default configuration that you should tune to your application rather than leaving as-is (note maxPoolSize, not poolSize, is the option that should be used for unified topology connections).
No dramatic improvements here though.
All Those Internal Requests...
Like the mongodb driver, nodejs itself also maintains a global connection pool (in this case an http.Agent) for outgoing connections. If you search for information about this connection pool you will find lots articles saying that it's limited to 5 concurrent connections. Ahha! This could easily be causing requests to back-up.
Inter-service requests are generally slower than database requests, and just five slow requests could cause others to start piling up behind them!
Fortunately, all those articles are very out of date. The global nodejs connection pool has been unlimited in size since nodejs 0.12 in 2015. But this line of investigation does lead directly to the true culprit.
The global http Agent which our internal requests were using is constructed using default options. And a careful reading of the http agent documentation shows that the keepAlive option is false by default.
This means, simply, that after a request is complete nodejs will close the connection to the remote server, instead of keeping the connection in case another request is made to the same server within a short time period.
In Coggle, where we have a small number of component services making a large number of requests to each other, it should almost always be possible to re-use connections for additional requests. Instead, with the default configuration, a new connection was being created for every single request!
A Solution!
It is not possible to change the global default value, so to configure the request module to use an http agent with keepalive set, a new agent must be created and passed in the options to each request. Separate agents are needed for http and https, but we want to make sure to re-use the same agent for multiple requests, so we use a simple helper function to create or retrieve an agent:
Code not formatted nicely? view on bloggle.coggle.it for syntax highlighting.
const http = require('http'); const https = require('https'); const shared_agents = {'http:':null, 'https:':null}; const getAgentFor = (protocol) => { if(!shared_agents[protocol]){ if(protocol === 'http:'){ shared_agents[protocol] = new http.Agent({ keepAlive: true }); }else if(protocol === 'https:'){ shared_agents[protocol] = new https.Agent({ keepAlive: true, rejectUnauthorized: true }); }else{ throw new Error(`unsupported request protocol ${protocol}`); } } return shared_agents[protocol]; };
And then when making requests, simply set the agent option:
args.agent = getAgentFor(new URL(args.url).protocol); request(args, callback);
For Coggle, this simple change had a dramatic effect not only on the latency of internal requests (requests are much faster when a new connection doesn't have to be negotiated), but also on CPU use. For one service a reduction of 70%!
Tumblr media
The AWS SDK
As with the request module, the AWS SDK for nodejs will also use the default http Agent options for its own connections - meaning again that a new connection is established for each request!
To change this, httpOptions.agent can be set on the constructor for individual AWS services, for example with S3:
const https = require('https'); const s3 = new AWS.S3({ httpOptions:{ agent: new https.Agent({keepAlive:true, rejectUnauthorized:true}) } });
Setting keepAlive when requests are not made sufficiently frequently will not have any performance benefit. Instead there will be a slight cost in memory and cpu of maintaining connections only for them to be closed by the remote server without being re-used.
So how often do requests need to be for keepAlive to show a benefit, or in other words, how long will remote servers keep the connection option?
When keepAlive Makes Sense
The default for nodejs servers is five seconds, and helpfully the Keep-Alive: timeout=5 header is set on responses to indicate this. For AWS things aren't so clear.
While the documentation mentions enabling keepAlive in nodejs clients, it doesn't say how long the server will keep the connection open, and so how frequent requests need to be in order to re-use it.
Some experimentation with S3 in the eu-west-1 region showed a time of about 4 seconds, though it seems possible this could vary with traffic, region, and across services.
But as a rough guide, if you're likely to make more than one request every four seconds then there's some gain to enabling keepAlive, and from there on, as request rates increase, the benefit only grows.
Combined Effect
For Coggle, the combined effect of keepalive for internal and AWS requests was a reduction from about 60ms to about 40ms for the median response time, which is quite amazing for such simple changes!
In the end, this is also a cautionary tale about making sure default configurations are appropriate, especially as patterns of use change over time. Sometimes there can be dramatic gains from just making sure basic things are configured correctly.
I'll leave you with the lovely graph of how much faster the average request to Coggle is since these changes:
Tumblr media
I hope this was an interesting read! As always if you have any questions or comments feel free to email [email protected]
Posted by James, June 16th 2021.
0 notes
coggle · 4 years ago
Text
What’s New: June 2021
Noticed a message saying to refresh the page to get the latest version, and wondering what's changed? Here's your occasional update on what's new in Coggle recently!
The Coggle servers now respond 40% faster on average to requests! - watch out for a separate post with the technical details of this soon.
Large diagrams also load substantially faster (yet again) - we've really been on a performance optimisation binge recently.
new keyboard shortcuts to paste style, modifying the colour, shape, etc of some items to match the copied one. Check out the knowledge base article for details.
SAML single sign on users can now seamlessly re-join an organisation after being removed (as long as they are still provisioned in your single sign-on system). This makes it easier to manage your costs for a Coggle Organisation by temporarily removing inactive members from the Organisation dashboard, as the people you remove can easily re-join when they need to use Coggle again.
Changed diagrams are indexed more quickly, especially for users with large numbers of diagrams.
Improved handling of slightly malformed URLs due to typos and copy+paste errors (like additional trailing slashes, or partial URL titles), so it'll now be harder to accidentally end up with 'diagram not found' when copying a link someone has sent you for a diagram.
Other little bugfixes also included fixes for an issue where the size of icons would not always be calculated correctly, where the back button from the diagram sometimes wouldn't take you to the right folder, and for an annoying bug in Safari where sometimes the first click after a page was loaded would be ignored.
That's all for now! As always, if you have any comments or feedback we always appreciate them, just drop us an email at [email protected].
Posted by James, June 1st 2021.
1 note · View note
coggle · 4 years ago
Text
What's New, and Protecting your Security and Privacy
The biggest change behind the scenes recently, has been improvements for hotlinked images (that is, images hosted on other websites and used in Coggle diagrams).
Hotlinked images are now proxied, with the files forwarded by our own servers instead of requested directly by your browser. They are also restricted in types to png, jpeg and gif images. This improves security and privacy when viewing diagrams (more on this below), and also improves performance as images can be served by Coggle's content delivery network, which can serve content very quickly anywhere in the world.
Unlike images uploaded to Coggle, there's a much bigger size restriction in the free plan for images you hotlink from your own hosting, so it's a good way to get even more out of the free version of Coggle! To hotlink an image you can use the markdown image syntax with a URL to your own image hosting, like this: ![alt text for image](https://example.com/your/image/url.jpg).
If you run an image hosting service and want to specifically block or allow images hotlinked from Coggle, then note that the referrer for our images requests will always be https://coggle.it/ - the specific diagram URL where images are used is no longer included.
How does proxying these images protect security and privacy?
A hotlinked image is loaded directly from the server which hosts it each time it is viewed: this made it possible (at least in theory) for the server to track when and how many times someone loaded the image, and by implication when they viewed the diagram. They would have also been able to collect some information about who was viewing it (including the URL of the diagram, and which browser was being used). Now that image requests are proxied, the URLs of diagrams and your browser information is completely hidden, and only a small number of requests for the image will be made regardless of how times you view a diagram, or how many people view it.
It was also not possible to know what the external server would send when a browser requested an image - the external server could theoretically send a file of any type, in an attempt to compromise your browser. While your browser should be able to safely handle any file type, there have been cases in the past where this was not the case, so it is useful to have another line of defense in our servers, which now narrowly restrict the sorts of file types which will be loaded from external servers to your browser when viewing Coggle diagrams.
It's worth noting that we aren't aware of any cases where Coggle diagrams have been tracked or compromised using these methods, so this update is a precaution to close off these possibilities pre-emptively - it adds another line of defense to the security and privacy of your data in Coggle.
If you run a web service like Coggle, and need to proxy external images for the same security and privacy reasons we do - then drop us a line at [email protected]: the proxy service we've built to do this is extremely scaleable, efficient, and globally distributed, and we'd be interested in seeing if it's useful for you too!
Other recent changes:
Keyboard Shortcuts: You can now use [ctrl] + [s] to close and save item using the keyboard: unlike just pressing [enter] this works even if an item has multiple lines of text, and makes it easier to use Coggle entirely with the keyboard.
Improved performance of the documents list, and diagram loading for certain kinds of diagrams.
As always, lots of other little bugfixes and improvements, including style tweaks for code blocks and youtube previews, cases where the history slider wouldn't select the correct version, and in some cases did not reset correctly when closed. Fixed issues with padding of task lists, and improved performance when adjusting the permissions of people a diagram is shared with.
That's all for now! We always welcome any kind of feedback, but we're particularly interested in knowing if Coggle is missing keyboard shortcuts you need, so please reach out to us if there's something missing that you'd find useful.
Posted by James, April 19th 2021.
0 notes
coggle · 4 years ago
Text
New Year New Updates
New year, new updates to Coggle! We've been sticking to our new years resolutions and fixing lots of little bugs which were annoying us, but there's a couple of new features too:
new keyboard shortcuts for adjusting colour, shape, line style, and thickness (command can be used instead of ctrl on Mac):
[ctrl] + [alt] + [c]: cycle colour
[ctrl] + [alt] + [s]: cycle shape
[ctrl] + [alt] + [t]: cycle line thickness
[ctrl] + [alt] + [l]: toggle line straight/curved (for paid subscriptions)
[ctrl] + [alt] + [d]: toggle line dashed/solid (for paid subscriptions)
Your preferred zoom level for each diagram is now saved. You can also link to diagrams at specific zoom levels by adding the ?zoom=0.25 URL parameter on links
Invitation links, and other sign-in links to diagrams owned by an Organisation with Single Sign On enabled will now redirect to the correct single-sign-on page, instead of the generic login page, and support has been added for SAML deep links.
Better handling of text pasted from Microsoft office applications (no more annoying thumbnail images of text caused by image data on the clipboard)
Improved editing of markdown links (you can now easily toggle and un-toggle the link for selected text)
As well of lots of other little bugfixes and improvements, including improvements to display of very long URLs, improved display of buttons while holding the hotkey for item removal, and a bug which could cause the cursor to jump when using some CJK input methods, and which cause cause text-input to be slow.
That's all for now! If you have any feedback about how we can improve Coggle we're always listening - just drop us an email at [email protected]
Posted by James, Febrary 25th 2021.
1 note · View note
coggle · 5 years ago
Text
Features Roundup
Noticed a banner telling you to refresh to update to the latest version of Coggle recently? Here's a roundup of what's new!
Faster Documents List For people with lots of diagrams, we've significantly improved the speed that the diagram list pages load: we no longer count all of your private diagrams before showing the page (you'll notice the private diagrams counter in the top left of the page now stops at >10, instead of showing an exact count). When you have thousands of diagrams even just counting them all takes quite a long time!
Organisation Admin Panel The organisation admin panel is now faster and more responsive, especially for Organisations with large numbers of diagrams and members, and it also now includes the guest's email address as a tooltip for guest members.
Improved ShortcutsYou can now use control + backspace to delete single words again, instead of this deleting the whole item. Use control + shift + backspace to delete the whole item. Thanks for all of your feedback about this!
Better email address handling Several commonly used email address formats were being rejected by our email inputs – now you should be able to copy and paste addresses from more applications without having to edit them first or re-type them.
Presentation Mode Links can now configure which level of a diagram embedded or linked in presentation more should be expanded by default, with the ?expand_level=2 query parameter.
Improved search Improved search indexing of recently modified diagrams, and for users with large numbers of diagrams.
As always we've also been fixing little bugs, including issues sorting and filtering guest members in an Organisation, an issue where it sometimes wasn't possible to change the order of diagrams in a folder, improvements to the Microsoft Visio export format, and some cases where our on/off switches weren't switching as easily as they should.
That's all for now!
Posted by James, November 16th 2020.
0 notes
coggle · 5 years ago
Photo
Tumblr media
New! Realtime editing activity in Coggle diagrams
With the new world of remote work, remote collaborative editing is more important than ever. We've launched a big improvement to the way this works in Coggle: now you can see which item everyone else in the diagram is currently editing, or interacting with, including when they're typing and when they're just idle.
This makes it even easier to collaborate on your mind maps and flowcharts with your remote team. If you have one of our paid plans this also includes one-click guest editing, where each guest editors have a unique colour for each editing session to help identify them.
Do you live your work life with zoom open in one tab and Coggle in another? Let us know what you think!
Posted by James, October 23rd 2020.
3 notes · View notes
coggle · 5 years ago
Video
tumblr
We've added some neat updates in the latest version of Coggle for Windows touchscreen laptops and tablets!
Pinch zoom and pan work naturally and seamlessly on windows touchscreens.
The eraser on touch-screen pen/stylus can be used to erase connections and items.
To make this snappy and seamless we've also improved the performance of zooming on all devices, whether using the zoom menu, mousewheel, or keyboard shortcuts.
Do you use a Coggle on a Surface? Let us know what you think!
Posted by James, October 7th 2020.
0 notes
coggle · 5 years ago
Text
The Graph That Could Have Killed Coggle
Today we're back for another look behind the curtain at the tech behind Coggle. This time, the economics of running a web service, and how we've made sure Coggle will be around for many years to come.
One of the most important things about Coggle has always been that we're building for the long term: a sustainable service that you can rely on far into the future. We don't have venture capitalist investors looking for a quick return, we just want to build a service that you find useful, provide it to as many people as possible for free, and charge a low sustainable price for those upgrade from free to our more advanced plans.
To make this work it's really important that Coggle is hosted efficiently, so that we can sustain a large number of free users, and keep everyone's data safe and secure without paying huge hosting costs.
Since its inception in 2013, Coggle has always mostly been on track with that, but until recently there was one Achilles' heel, a creeping cost which threatened to undermine our sustainability.
The Graph
Tumblr media
The first thing to notice about this is that it's going up. That's great, right! Right? Well, sort of. This graph is showing our database storage over time, going back five years to July 2015. An increase means more Coggle documents being created and stored, which means more people making documents, finding Coggle useful, and sharing it with their friends, which is all hunky dory.
However, database storage is *expensive*.
This might be surprising: a lot of the writing about tech companies and startups is about how hardware is cheap, how the cloud has made server costs vanishingly small, and how it's people who are the expensive part of running a business.
Well, for the growth path of venture-capital-backed companies that's often true: the team is growing just as fast as the data that's being stored, gearing up the whole company to succeed – or to fail – fast. If your company might not be around in two years, you're not worrying about how much it costs to store your data for decades to come.
But for a sustainable company like Coggle, it's different. The durability of Coggle documents is very important: we think that one of the most important aspects of a web application that replaces something as simple as a pencil and paper is that you must be able to rely on it. And rely on it not to be just as durable as the physical document alternative – but even more so.
That means we have always stored all the data of Coggle documents across multiple physically separate servers in separate 'availability zones' of a datacenter, and since February 2017 we've also stored data across entirely separate datacenters in two different countries (Ireland, and either the UK or Germany). A single failure or disaster would never destroy a Coggle document.
This durability is why database storage is expensive, any why the graph was potentially such a problem. By 2019 the simple storage cost of five copies (plus backups) of this data, stored on high-speed disks for quick database access, was the single biggest line item in our monthly server bills. And this cost was never going to go down by itself.
Costs Up and to the Right
It was apparent that this threatened the sustainability of Coggle. So, what could we do? One option would have been to either set a time limit for the storage of free Coggle documents, or add incentives for people to delete documents they no longer need.
The problem with this is it makes Coggle diagrams seem fragile, and not like a durable physical document. It's important that even the free version of Coggle is something you can use sustainably, because the free version of Coggle is the way most people first use it, and it sets your expectations of the paid version.
If the free version deleted your data, wouldn't you fear that the paid version might also delete it? What if you ever miss a payment or circumstances mean you want to downgrade again?
So deleting data, even of just free customers, is not an option for us. The only other possibility was to look at how the data is stored. Can we store documents durably, and reliably, without using such expensive storage?
Blob Storage, vs Database Storage
In short, yes.
Most of the data in Coggle documents does not need to be stored in a database. While we store each individual change that was made to Coggle diagrams (this is how collaboration and history mode work in Coggle), Coggle documents are more often accessed like files, with all of the data loaded at once, and new data added only at the end of the file.
Cloud services have always supported 'blob storage' for storing this kind of data – which is about ten times cheaper than database storage for each gigabyte stored, and has the advantage of being completely flexible, with built in archival options for infrequently accessed data: no disks need to be provisioned in advance for data which grows over time.
The challenge with blob storage is that access to the data is the primary cost, instead of the storage data size: each time a file is updated or viewed there is a small cost, and that there is no simple way of adding data onto the end of an existing file (technically speaking, blob storage is 'eventually consistent', which means all data will be saved safely, but it might be temporarily unavailable: there is no built-in way to append data without being sure something is not overwritten).
This means that to store Coggle documents in blob storage, we've built a new back-end storage service that saves and loads this data. This service does the bookkeeping necessary for adding data onto files as changes are made, and ensures every change is saved immediately.
The Great Coggle Blob Storage Migration
Over the past year, we've migrated all of the Coggle diagram data to be stored in blob storage using this new storage service. This has been a substantial undertaking, involving migrating the format of all the data being stored, and the design of a completely new storage service, but now our costs are much better matched to the way Coggle is used, with editing and viewing documents forming the majority of our monthly bills instead of simply storing data.
All data is still saved across multiple independent locations, encrypted with independent encryption keys, and in each location data is stored across multiple independent disks with 99.999999999% durability: that's a million times less likely that data is lost due to hardware failure than the chance of being struck by lightning. And, even if a tsunami, comet, or other disaster completely wipes out our primary datacenter in Ireland, a copy of everything would still be safe in Germany (hey given the progress of 2020 so far we're not counting out anything!).
I hope this was an interesting read! Here's the graph again with annotations of different points in the migration:
Tumblr media
Posted by James, August 17th 2020.
1 note · View note
coggle · 5 years ago
Text
Features Roundup
As well as introducing Sign in With Apple for privacy-discerning Cogglers, we've added some more new things recently which you might have missed! Here's a roundup:
Profile Images since Apple (and Organisation SAML Single Sign On) do not provide user profile pictures, we've added some built-in profile icons to choose from in Coggle, so you don't have to be an anonymous silhouette. Find them in the Profile tab of your settings page.
Sharing Your Awesome If you have a Coggle Awesome subscription, people you're editing diagrams with can now use most of the Awesome features too.
ID-provider initiated sign-on support for SAML authentication for Coggle Organisation single sign-on.
Updated Emoji Support: Now supporting all the latest emoji (that's Emoji version 13.0).
Improved Shortcuts: You can now delete items using the [control] + [backspace] shortcut (or [command] + [backspace] on Mac), and when you delete an item using a keyboard shortcut, we've improved the way the next item is selected.
As always we've also been fixing little bugs, including one which would prevent some .mm freemind files from being imported correctly, where pasting images wouldn't always work correctly, and also made some performance improvements.
That's all for now!
Posted by James, June 25th 2020.
0 notes
coggle · 5 years ago
Photo
Tumblr media
Introducing Sign in With Apple
Coggle now supports Sign in With Apple! This means that you can now use any Apple account to sign in to Coggle quickly, easily, and securely as an alternative to the other sign-in methods we already support.
Sign in With Apple is supported on both the web version of Coggle, and our iOS and Android apps.
What we Love about Sign in With Apple
First off, I want to share what we really love about Sign in With Apple, which prompted us to add it as an option. Like the other sign-on methods support, it provides a secure way for another company that you may already have an account with to tell us, "this person is who they say they are".
Apple provides us with the name you've chosen, and tells us your email address (more on that later), and that's it! Because we trust Apple not to let someone else sign in as you, we can use this to log you into the right account without verifying anything else.
Whenever you use Sign in With Apple on the web you'll need to verify a two-factor code sent to a device where you're signed in with your Apple account. This ensures it's really you who's signing in, and means that even if a hacker has stolen your password, they still can't get into your account.
There is also an option to hide even your email address from us, which is a privacy friendly feature that we love! For most things in Coggle we don't need to know your real email address, instead Apple provide a unique email address that forwards messages to your real one.
What about Usernames and Passwords?
We've never supported using a password to sign in to Coggle, because as simple as it may seem, providing this securely is not simple at all. Every day bots and hackers scan the web attempting to sign in to peoples accounts, take them over, and use them for bad things. Apple, and the other options we support for sign in, all provide protection against this in sophisticated ways, and we're happy to leave it to the experts.
Posted by James, June 14th 2020
0 notes
coggle · 5 years ago
Text
Mindful Mind Mapping: use Mind Maps to support your wellbeing
Tumblr media
Yoga, meditation, long hot baths. When you hear the word ‘wellbeing’ that might be what you imagine. Mind Maps? perhaps not. However we are passionate advocates for their value, and we believe that they can be powerful tools for decluttering our minds and helping to reduce anxiety.
Clear Your Head
Picture the scene: it’s long past midnight. You came to bed early, hoping for a good night’s sleep, but so far all you’ve done is toss and turn, worrying about, well, everything. Work, family, health, that stupid joke you tried to make to your cute new colleague. Every time you close your eyes another thought pops into your head and sets you off on another round of angst. Between 30-40% of people report having sleep difficulties, and one of the most commonly cited reasons is struggling to ‘switch off’. The good news is that there are some simple things that you can do to prevent this.
Research has shown that spending some time writing down your thoughts before bed can help you get that elusive ‘good night’s sleep’. The explanations around why this is the case remain somewhat hazy, but scientists have suggested that it helps us to ‘off-load’ these thoughts from our minds, which helps us to relax. Importantly, a study in Texas found that this is most effective when individuals map out a ‘to-do’ list for the following day, rather than just focusing on events that have already happened. This is because tasks that are unfinished remain at a heightened activation level in our brains, leading to heightened levels of worry, in comparison to tasks that have been completed. The other finding from this study was that the more specific you are in writing out your to-do list, the bigger the impact it will have on your ability to fall asleep quickly. Enter: Mind Maps. These are perfect for identifying all of the different tasks that you have to do, and then adding in more specific detail to break these down further.
Tumblr media
view mindmap
Challenge Negative Thoughts
You may have heard of cognitive behavioural therapy (CBT), which is an approach designed to help individuals to identify and change unhelpful thought patterns and the behaviours that accompany these. These could be thoughts which catastrophize (“I haven’t responded to that email from my boss yet- maybe she’ll fire me!”); those that focus only on negatives (“Kim said that the blue shirt doesn’t suit me and I should wear the red one because I look good in it. I can’t believe she said the blue one doesn’t suit me. Have I put on weight?”); or those that always assume that you are to blame for something that’s gone wrong (“Buster found a chocolate bar in the road and now he has to go to the vets. It’s all my fault- I should have been watching him more closely”). Whilst we would advise seeking professional support to anyone who’s struggling, there are some simple and effective things that anyone can do at home to challenge these thoughts and begin to develop more helpful thought patterns and responses.
A key part of this is to question the negative thoughts that we have:
is the thought true?
Is our worry valid?
Is it based on external information from other people, or just from our own internal dialogue?
How likely is it that our imagined situation will become reality?
What has happened in similar situations in the past?
Using the answers to these questions we can reframe our thoughts to more accurately reflect reality, rather than allowing our anxieties to spiral out of control. Mind Maps and flowcharts can be a great way of working through this: breaking down our worries into those that are valid, and those that are distorted or exaggerated. They can also be used to map out potential scenarios, in order to minimise anxiety about them, and they are a good way to track and identify triggers for our anxieties, and our helpful and unhelpful behavioural responses to those.
Tumblr media
view flow chart
Tumblr media
view flow chart
Make Time for Yourself
My current, ‘personal’ to-do list for today looks like this:
Family food shop
Order father’s day card
Book vet appointment
Phone John
Bake birthday cake for Hannah
I call it my ‘personal’ to-do list, as opposed to my ‘work’ to-do list, and yet all of those tasks are for someone else’s benefit, not my own. It’s easy to spend a lot of time thinking about, and doing, things for others and it can be a lot harder to make time to do things that benefit ourselves. It can also be easy to fall into a trap of focusing too much on one aspect of our lives, for example our work, and not make enough time for other aspects. Creating a visual representation of who you consider yourself to be as a person, and the different things that you enjoy doing, can be an important way to help you keep balance in your life and make sure that you’re making time for self-care.
Tumblr media
view mind map
The take-away message here? Not only are Mind Maps fun and pretty, they can also support your mental health.
Posted by Catherine, May 13th 2020
1 note · View note
coggle · 5 years ago
Text
Features Roundup
Coggle has seen a significant increase in use in the last few months as more people then ever are working and collaborating from home. We've spent lots of time making sure things work smoothly, and other behind the scenes improvements, but we've also made some visible changes you might have noticed:
Keyboard navigation: Keyboard navigation now uses [ctrl] + [alt] + [shift] + arrow keys, and [shift] + [alt] + arrows can be used for selecting words, [command] + [enter] is now also supported for adding new lines in a single item on Macs. The logic for selecting items when navigating with the keyboard has also been spruced up.
Improved error pages: If you click on an invitation email but the diagram cannot be shown, the error page now explains why. Possibly reasons include being logged in with the wrong account, your access having been removed, or the invitation being cancelled before it was accepted.
Improved invitations: When a new user accepts an invitation to edit a diagram they can now easily sign in with a Microsoft account, or any new login method we add in the future ;)
Improved Organisation Members List: The Organisation members list now highlights which users are using Single Sign On, and makes it easier to see the primary email address of members.
Updated Translations: We've added improved community-contributed translations for French and German (thanks Alexandre and Johannes!)
Image uploads: Image types which aren't supported will now be converted to a supported type before uploading, where possible.
As always we've also been fixing little bugs, including one which could prevent changes from being displayed correctly in history mode for diagrams created from templates, and one where sometimes clicking back from a diagram wouldn't take you to the right folder. To help us deal more efficiently with an increased number of support requests we've also stopped providing support via facebook messages – please email us at [email protected] if you need assistance with your account.
That's all for now!
Posted by James, May 8th 2020.
0 notes
coggle · 5 years ago
Text
How to Maximise Your Team’s Performance from Afar
As mentioned last time, Coggle has been a fully remote company for over 4 years. This meant that when lockdown measures came into force in March, we were lucky enough to be able to continue with business 'as usual' (with the exception of having to share our WiFi with a few more household members!).
In contrast, if you're reading this, you may have found yourself suddenly thrown into situations where you and your teams are working from home with no time to prepare. You might have settled into this well, or the last few weeks may have felt like a whirlwind of firefighting problems and hoping for the best.
As you begin to get used to this 'new normal', take some time to reflect and consider how you can improve your systems to make the next few weeks run more smoothly. With uncertainty around how long these lockdowns will remain in place, the sooner you can learn to maximise your team's performance remotely, the better. Here's our advice.
1. Maximise Your Performance First
Tumblr media
It's great that you want to support your team effectively, but before you're able to manage them well you need to make sure that you're functioning at 100% (or as close as possible!) yourself. If you're feeling out of control and stressed, this will spread to your team.
The first thing to do is to ensure that you've 'sussed' working remotely for yourself, in the current context. There are plenty of guides and resources out there to help guide you through this, but here are some key questions to ask yourself:
Do you have the equipment and software you need to work effectively, and do you know how to use it?
Have you got your own routine and working space sorted?
Are you confident in what your team goals need to be (have they changed given the present Covid-19 situation?)
Tumblr media
view this diagram on Coggle
If you're not sure of the answer to the last question, then take some time to assess the impact of risks that Covid-19 will have on your business. What can you do to mitigate them? Speak your own line manager to ensure that your priorities are aligned. This will ensure you can communicate this vision clearly to your team.
The second thing to do is to ensure that you're also taking care of your own well-being. Research has suggested that employees' response to change is based on the model provided by their manager. Present a calm and confident front to your team and this will have a knock-on effect on them. This is not to propose that you should be suppressing your own anxieties, or theirs. The world is an uncertain place at the moment and it's natural to be feeling worried, so acknowledging that in the right way may help your team to feel more open about sharing their anxieties with you, giving you a better understanding of the support they're going to need. However, you should do this alongside providing confident reassurance and practical ways forwards to help them to feel more in-control and empowered.
Meanwhile speak to your own line manager about any anxieties related to your work, and seek professional support or support from your personal networks of friends and family if you need to. Follow these tips from the NHS to ensure that you are taking care of yourself.
2. Adapt Your Methods of Communication
You've probably already had to do this, and so this list of popular searches on Google will come as no surprise:
Tumblr media
In an office we all naturally use different communication methods at different times: sometimes you need formal whole-team meetings, sometimes you need to send detailed information via email or in a shared document, and sometimes you'll have a quick informal chat when a problem arises. The same is true in a remote context, you'll need to use different forms of communication for different purposes.
There are three main types of tools that you'll need to get to grips with:
Synchronous communication: These are chat tools ('instant messaging') that allow you to be in constant quick-fire communication with your team. Slack is one of the most popular, but both Microsoft and Google also have their own integrated tools for this (Teams and Gchat). These are most likely to replicate the types of informal work-related conversations that go on in the office: "Does anyone know where I can find...", "Who was in charge of project x?". They allow individuals to get quick responses to queries, avoiding unnecessary delays in work, and they allow your team to keep one another up to date with news and progress. Using these tools will also mean your team are better able to support one another with minor difficulties/queries, freeing up your time to focus on other tasks.
Video-conferencing: This will need to replace your team-meetings and your 1-1s. Zoom is probably the most well-known, but they're not the only option.
Collaborative tools: Whether that's using cloud-based documents like Google Docs or OneDrive, project-management tools like Trello or Asana, or more creative planning tools like our very own Coggle, you're going to need a simple way for your team to be able to see one another's work, share ideas and track each others' progress on projects and tasks.
Remember that not everyone in your team will be confident in using these tools. If you know a member of your team is struggling then investing the time to help them get confident is likely to pay off in the long run. There are lots of resources to help, most tools have their own video tutorials help sites, and other resources. Aceanglia have produced easy-to-read guidance on Skype and Zoom which may be helpful for anyone with learning difficulties.
Even with help and resources, some of your employees may take longer to get to grips with these tools than others. Consider doing a 'buddy' system within your team, pairing those who are more technically confident with those who aren't.
Lastly, do make sure you have a conversation with your team about the etiquette expected when using these tools. Whilst it's important that your team still have opportunities to bond when working remotely, you don't want to be overwhelmed with notifications and keeping these chats focused on work will help to maximise productivity. You also don't want to descend into the dicey waters of having official channels being used for inappropriate jokes and office gossip. To avoid this, provide other ways for your team to bond virtually, make your expectations regarding chat usage explicit and reinforce this when necessary.
3. Schedule Regular, Structured Check-ins
Tumblr media
One disadvantage of remote working is that you may find it harder to spot when a member of your team is struggling, and they could end up feeling unsupported and isolated. Using instant messaging tools like Slack can help with this, and ensure that small problems can be fixed quickly, but this should not replace regular 1-1 conversations with your team. Studies have suggested that more than half of our communication is non-verbal and so using video-conferencing software would be best. Make sure that these are scheduled in on a regular basis, so that you can identify any concerns before they become issues, and so that your team members know that they have high-quality time set aside to discuss concerns with you.
To make the most of this time, it helps to have an agenda for these check-ins. Allowing some time for informal conversation will help you to maintain your relationship with this member of your team, but without an agenda it can be easy to forget key points that you wanted to cover. Consider having a template that you tweak for each conversation.
Tumblr media
Copy this template agenda template on Coggle
Remember to make a conscious effort to offer praise during these check-ins: when you're working remotely it can become easy to only speak to your team members when there's a problem. Employees can feel as though they're functioning in a vacuum without the feedback that tells them whether they're doing a good or a bad job, and this can affect levels of motivation.
It's also vital to make sure that you use these 1-1 check-ins to listen to your team members. Be aware that they may be struggling with more external pressures than usual, such as providing childcare or supporting elderly relatives, and they may need additional accommodations to reflect that. Stress and anxiety affect working memory and concentration levels, so the more that you can do to help support your team in reducing stress, the better it will be for their productivity (as well as, y'know, it just being the right thing to do). Showing understanding now is also likely to have a positive impact on their longer-term attitude towards the company, increasing their loyalty and investment in the team. Try to be solution-focused, empathetic, and as flexible as your context will allow you to be.
The frequency of these check-ins will depend on the size of your team, the nature of the work, and the individuals themselves. New employees are likely to need more regular check-ins than employees who have worked in their role for a long time. You should also make sure that any other employees who may benefit from more frequent check-ins, for example those with learning difficulties or mental health needs, have the opportunity for this. If the size of your team means that you don't have the capacity to provide this yourself then again you could utilise a 'buddy' system, pairing them up with a more experienced colleague.
4. Be Explicit in Your Expectations
You may be sensing a trend here, but clear communication really is key. Given that you will have less continual oversight of what your team members are doing and therefore may be less able to 'catch' errors before they are made, it's really important that your expectations are clear in the first place. This is also important for motivation: people will be more focused if they have clear goals that they can measure their progress against, and that they know they will be held accountable for.
We've also discussed the need to be more flexible at this time given individuals' other household responsibilities. However, it's important that this doesn't become a free-for-all. What areas are you willing/able to be flexible on, and what are the non-negotiables? Which members of your team does this flexibility apply to? How are you going to be measuring/judging people's productivity during this time, and how will that be affecting future performance management processes? You may need to decide these based on individuals' circumstances, but making this clear should reduce anxiety for your team members as they will be able to forward-plan accordingly. It also reduces the likelihood of later conflict if people feel they are being unfairly penalised for situations beyond their control.
Other points to consider:
Don't assume that your team will remember everything that's said during your video conferences/1-1s. Is there a designated person taking minutes, or are you expecting them to make individual notes? It's always worth making sure that someone is keeping a record of key actions points that the whole team can then access.
If at any point you know you're going to be unavailable, make sure that your team are aware of this and that they know who to go to if they have a problem.
5. Trust Your Team and Utilise Their Strengths
This is always going to be easier with some of your team than others; you know that Sarah will continue to be a super-human organisation whizz, but you've got a sneaking suspicion that Brad may take the opportunity of less supervision to sneak in a few extra games of FIFA and an "it's five-o-clock somewhere" beer. In a remote working situation you have to trust your team to continue working to the best of their ability. If you don't then you'll just end up creating more work for yourself that will prevent you from getting other jobs done. Trying to micromanage your team is also more likely to alienate, and build resentment. If you've followed our suggestions in this post, made sure that your team know what's expected of them, and have the tools they need, then you've done your bit and the rest is up to them. You may be surprised to find that with greater freedom many of your team members will perform better.
Other tips:
Continue to celebrate successes to boost motivation.
Continue to build relationships with your team so that they want to work well in your team.
Make individuals in your team accountable to one another, not just to you.
If you're really concerned about a team member's performance, then before going down the disciplinary route check-in with them to see if there's an underlying reason.
Lastly, whilst it may seem counter-intuitive, this could be the perfect time to trust some of your team members with more responsibility that they have previously had. Some members of your team may need accommodations to reflect additional family responsibilities that they're trying to manage, but others may actually welcome additional work as a way to distract from external anxieties, or to help keep themselves occupied if they're living alone. Whilst it's important not to overload these individuals, redistributing some work to reflect individuals' circumstances could be beneficial for everyone, and being trusted with additional responsibilities can be a real boost to self-confidence and motivation.
Final Thoughts
As is often the case in life the key to success will be in finding the right balance: balance between trust and accountability, and balance between flexibility and firmness. Be prepared for some trial and error, and try to be kind to your team and to yourself as you find your way into this 'new normal'. It's hard to get things perfect the first time around.
Tumblr media
Posted by Catherine, March 2020.
0 notes
coggle · 5 years ago
Text
How to use Coggle to support team planning sessions
Picture the scene: you and your team are clustered around a whiteboard trying to generate ideas for your upcoming project. Everyone is talking over each other; the whiteboard is running out of space; the pen is running out of ink; and you’ve been trying to put forward your idea for the last 10 minutes, but loudmouth Dave just won’t stop butting in. It’s like a scene from The Office and it’s hard to imagine a more chaotic meeting.
Fast forward two weeks and now everyone’s working from home. This time you’re trying to map out your project plan and allocate tasks, all via multi-way video conferencing. Tracy’s got really bad feedback; Tim’s got a time lag and Sarah’s trying to take notes on a piece of paper that she keeps holding up to the screen. It was hard to imagine a more chaotic meeting, but somehow, it’s happened.
Using collaborative mind mapping software would be the perfect solution to both of these scenarios. These tools, such as Coggle, allow everybody to contribute their ideas without the shouting match, and the end result will be a much more organised, legible and actionable board of ideas.
There are different ways that you can use Coggle for team planning sessions, and the best approach to take will depend on your goals for the meeting.
The "free for all"
This is perfect for the start of a project, when you’re generating ideas. You put the title in the middle of the mind map, set any parameters that you need to, and let your team loose on it. Everyone has an equal chance to share their thoughts, and they can build on one another’s ideas in an organic way. You could use Coggle’s chat function or a video conferencing software simultaneously to give you the opportunity to ask one another questions as you go along, but personally I prefer to just let the initial ideas flow in silence.
Once everyone’s exhausted their creativity, you can then use the resulting mind map to have a much more focused discussion, asking individuals to expand on points that they have added to the document and focusing in on the best ideas. You can also easily reorganise ideas and prune down the mind map so that just those that need following-up are left. Alternatively, you might choose to keep the original mind map to refer back to for inspiration or ‘plan B’s’ as the project progresses.
Tumblr media
view mindmap
The "drill-down" / "deep-dive"
You’ve probably all got your own management term for this phase of planning, but whatever you choose to call it, a mind map is the perfect tool to help you to map out the details of your project. You can use it for outlining objectives, deliverables and milestones, identifying, allocating and prioritising tasks, mapping out resources… the list goes on.
Using a mind map for this can help to keep your meetings much more tightly focused and ensure that you don’t forget to cover any key areas. Pre-populate your mind map to set out the agenda for your meeting and then add your notes as you discuss each area. Some mind mapping tools, including Coggle, will allow you to make links between different strands of the mind map, and to embed external links.
By the end of the meeting you’ll have a really clear visual representation of the project, helping your team to understand which tasks they are responsible for, how that relates to other aspects of the project, and who they need to liaise with on other elements of the project. It also ensures that you have a clear way to communicate this information to other stakeholders. The cherry on top? Research shows that conveying information in visual formats such as mind maps supports retention of information, meaning that your team are less likely to forget jobs on their ‘to-do’ list!
Tumblr media
view mindmap
Tumblr media
view mindmap
The Timeline
Mind maps don’t have to look like a spider’s web: they can be linear too and can be used draw up your project timeline. It’s an easy way to visually represent tasks that need to be happening simultaneously, and to see relationships between different strands of the project. To save time, you can even take the mind map that you used to originally map out your tasks and reformat it into a timeline.
Tumblr media
view timeline
These are just a few of the ways that mind mapping tools like Coggle can be used to support team planning sessions, both in-person and remotely. Play around to discover the full range of capabilities, or take a look at our gallery for more inspiration.
Have you used Coggle to support a team meeting? Comment and let us know how it went!
Posted by Catherine, March 2020.
2 notes · View notes
coggle · 5 years ago
Text
Coggle is a fully remote company – we almost always work from home, and we have for over four years. Since lots more people around the world have recently been advised, or ordered, to work from home, here are some of our experiences and tips for successful remote working.
Designate a Workspace
The absolute most important thing we've found is how helpful it is to have a specific designated place at home you work. This makes it much easier to switch into (and out of!) a working mindset, and focus on getting things done. Some people go as far as to leave their front door, walk around the block, and then come back home before starting work, as if walking to an office.
Ideally a workspace might be a separate room, but if that isn't possible even having a specific chair at the kitchen table that you sit in to work, or small table or desk in a corner is much better than sitting on the couch.
The other side of this is it's important, when taking a break or at the end of the day, to leave your workspace, instead of just sitting in the same place and opening up netflix.
Have a Schedule
When there's no one else around to remind you, it can be easy to forget what time it is, and accidentally skip lunch, or keep working late. It can seem productive in the short run, but it's really important to have a schedule to work to, otherwise the separation between working and home life starts to get blurred.
Go Outside!
If at all possible, try to go outside at least once a day – either for a walk, or even just in the garden if you have one. Its easy to end up getting no exercise or natural light by staying indoors all day. Here in the north of Europe (hello from Orkney, Scotland!) where winter days can be short and dark, we try to make the most of the short daylight we do get by taking a break in the middle of the day.
Video Conferencing and Conference Calls
If it were up to us we would do everything by text and email. Other people feel differently but inevitably, when working remotely you end up doing lots of multi-way conference calls and video chats with the people you're working with.
These calls can stereotypically be a nightmare of connections failing, incomprehensible audio, and other disasters. There are a few things that dramatically improve the experience for everyone:
Never, Ever, Use the Built-in Microphone on Your Laptop
Always use headphones with a microphone for calls of any type. The headphones that come with almost every phone include a microphone, and the headphone port on many computers will use this automatically if you plug in the headphones. As good as modern noise cancelling is, the built-in microphone will still pick up background noise and typing will deafen everyone else.
If you're able to invest in a good bluetooth or wired headset which includes a microphone then that would be even better.
Find the Mute and Un-mute Buttons
All conferencing software is different: if you've been invited to use a new one the first (and possibly only) button in the confusing interface that you need to find is the button to mute, and unmute your microphone. Whenever you're going to speak, check that you're un-muted. If you're not speaking, it's generally a good idea to mute.
Most software will automatically mute the sounds from other people when you're speaking to prevent feedback, so if you forget to un-mute you might not be able to hear them shouting at you that you're lips are moving in the video but they can't hear you!
Use the Phone-in Option
If you have sometimes unreliable or slow internet, but you have unlimited minutes on your cell phone plan (hello again from rural Scotland!) then use the option in lots of video conferencing software to 'dial in' for the audio from your phone. The phone network will often provide a more reliable voice connection than an unreliable internet connection will. If there are slides being shared then you can either ask for the deck to be emailed beforehand, or also join the call with your computer to view the slides.
If you do dial in both from a phone and a computer, make absolutely sure to mute BOTH the audio and the microphone on your computer or else you will end up with awful feedback
Test!
Finally, if you're hosting a call or inviting other people to join you, make sure you test the conference method you're going to use first (especially if they're a customer or client!), by using it with a colleague to get familiar with it.
Don't Wait to Share Updates
One consequence of working remotely can be a longer time before you get feedback from other people. Tools like google docs, Trello, and of course Coggle allow people to collaborate in real-time and see changes instantly as they're made. These are are really powerful tools for shortening this feedback loop. Even during a conference call you can use Coggle to make notes that everyone can share, and make sure that people are taking away the same key points and actions.
Don't Share Too Much at Once!
The other side of not waiting too long to share things, is you have to be mindful (especially if you're in charge of a team of people) not to share too much with them. Everything you send someone else has to read - so be mindful of saying things in the shortest and clearest way possible. Within a small team ideas should flow freely, but when you're sharing more widely it's really important to spend that time editing to make sure updates are precise and clear!
Do you have any of your own tips to share, or stories using Coggle to work remotely? let us know!
Posted by James, March 2020.
1 note · View note