<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Development &#8211; LEOCODE</title>
	<atom:link href="https://leocode.com/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>https://leocode.com</link>
	<description>Next-gen Software in Digital Banking</description>
	<lastBuildDate>Thu, 15 Feb 2024 12:01:24 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.3</generator>

<image>
	<url>https://leocode.com/wp-content/uploads/2019/09/cropped-favicon-dark-150x150.png</url>
	<title>Development &#8211; LEOCODE</title>
	<link>https://leocode.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Boost Your Team: Gmail to Slack Email Summaries</title>
		<link>https://leocode.com/automation/boost-your-team-with-gmail-to-slack-email-summaries/</link>
					<comments>https://leocode.com/automation/boost-your-team-with-gmail-to-slack-email-summaries/#respond</comments>
		
		<dc:creator><![CDATA[Jakub Nowalski]]></dc:creator>
		<pubDate>Thu, 15 Feb 2024 10:01:09 +0000</pubDate>
				<category><![CDATA[Automation]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Culture]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Innovation]]></category>
		<category><![CDATA[ChatGPT]]></category>
		<category><![CDATA[GMail]]></category>
		<category><![CDATA[OpenAI]]></category>
		<category><![CDATA[Slack]]></category>
		<category><![CDATA[Zapier]]></category>
		<guid isPermaLink="false">https://leocode.com/?p=20378</guid>

					<description><![CDATA[<p>In the digital age, effective communication and information management are pivotal for any team’s success. With inboxes flooding with emails and teams juggling multiple platforms for communication, it’s easy to...</p>
<p>Artykuł <a rel="nofollow" href="https://leocode.com/automation/boost-your-team-with-gmail-to-slack-email-summaries/">Boost Your Team: Gmail to Slack Email Summaries</a> pochodzi z serwisu <a rel="nofollow" href="https://leocode.com">LEOCODE</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div style="width: 100%; max-width: 725px; background: #f1f1ef; padding: 16px; border-radius: 10px;">
<p>In the digital age, effective communication and information management are pivotal for any team’s success. With inboxes flooding with emails and teams juggling multiple platforms for communication, it’s easy to miss out on critical updates.This is where automation comes into play, offering a seamless solution to streamline communication and ensure no important information slips through the cracks.</p>
</div>
<hr style="border: 0; height: 1px; background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(55, 53, 47, 0.16), rgba(0, 0, 0, 0)); margin-top: 20px; margin-bottom: 20px;" />
<h1 style="font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, 'Apple Color Emoji', Arial, sans-serif, 'Segoe UI Emoji', 'Segoe UI Symbol'; font-weight: 600; font-size: 1.875em; line-height: 1.3; margin: 0px; padding: 3px 2px;">The Power of Automation</h1>
<p>Automating the flow of information from emails to a team&#8217;s communication channel like Slack not only saves time but also ensures that everyone is on the same page. By leveraging Zapier to connect Gmail, OpenAI, and Slack, you can create a system that:</p>
<ul>
<li>Automatically detects new emails in Gmail.</li>
<li>Summarizes the content using OpenAI&#8217;s advanced natural language processing models.</li>
<li>Posts the summaries directly to a Slack channel.</li>
</ul>
<p>This process eliminates the need for manual email checks and summaries, freeing up time for more critical tasks and reducing the risk of overlooking important information.</p>
<hr style="border: 0; height: 1px; background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(55, 53, 47, 0.16), rgba(0, 0, 0, 0)); margin-top: 20px; margin-bottom: 20px;" />
<h1 style="font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, 'Apple Color Emoji', Arial, sans-serif, 'Segoe UI Emoji', 'Segoe UI Symbol'; font-weight: 600; font-size: 1.875em; line-height: 1.3; margin: 0px; padding: 3px 2px;">Setting Up the Automation: A General Overview</h1>
<p>Setting up this automation involves a few general steps:</p>
<ol>
<li><strong>Integration of Services</strong>: Start by linking your Gmail, OpenAI (ChatGPT), and Slack accounts to Zapier. This foundational step ensures that Zapier can access and orchestrate actions between these platforms.</li>
<li><strong>Creating the Zap</strong>: A Zap is an automated workflow that defines how these services interact. You&#8217;ll create a Zap that triggers on new Gmail messages, processes these messages through OpenAI to generate summaries, and then posts these summaries to a specified Slack channel.</li>
<li><strong>Customization and Activation</strong>: Customize your Zap by specifying criteria for the emails to be summarized and selecting the Slack channel for posting summaries. Once configured, activate your Zap to run automatically.</li>
</ol>
<p><img fetchpriority="high" decoding="async" src="https://leocode.com/wp-content/uploads/2024/02/Zapier-flow-gmail-openai-slack.png" alt="" width="489" height="468" class="aligncenter wp-image-20387 " srcset="https://leocode.com/wp-content/uploads/2024/02/Zapier-flow-gmail-openai-slack.png 1830w, https://leocode.com/wp-content/uploads/2024/02/Zapier-flow-gmail-openai-slack-300x287.png 300w, https://leocode.com/wp-content/uploads/2024/02/Zapier-flow-gmail-openai-slack-1024x980.png 1024w, https://leocode.com/wp-content/uploads/2024/02/Zapier-flow-gmail-openai-slack-768x735.png 768w, https://leocode.com/wp-content/uploads/2024/02/Zapier-flow-gmail-openai-slack-1536x1471.png 1536w, https://leocode.com/wp-content/uploads/2024/02/Zapier-flow-gmail-openai-slack-1190x1139.png 1190w, https://leocode.com/wp-content/uploads/2024/02/Zapier-flow-gmail-openai-slack-700x670.png 700w" sizes="(max-width: 489px) 100vw, 489px" /></p>
<p style="text-align: center;"><strong>Zapier flow:</strong> <em>Gmail → OpenAI → Slack</em></p>
<hr style="border: 0; height: 1px; background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(55, 53, 47, 0.16), rgba(0, 0, 0, 0)); margin-top: 20px; margin-bottom: 20px;" />
<h1 style="font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, 'Apple Color Emoji', Arial, sans-serif, 'Segoe UI Emoji', 'Segoe UI Symbol'; font-weight: 600; font-size: 1.875em; line-height: 1.3; margin: 0px; padding: 3px 2px;">Let’s test the Zapier flow to see how it works</h1>
<h2 style="font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, 'Apple Color Emoji', Arial, sans-serif, 'Segoe UI Emoji', 'Segoe UI Symbol'; font-weight: 600; font-size: 1.6em; line-height: 1.3; margin: 0px; padding: 3px 2px;">Step 1: Gmail Trigger</h2>
<p><img decoding="async" src="https://leocode.com/wp-content/uploads/2024/02/Zapier-flow-gmail-openai-slack-step-3.png" alt="" width="670" height="276" class=" wp-image-20396 aligncenter" srcset="https://leocode.com/wp-content/uploads/2024/02/Zapier-flow-gmail-openai-slack-step-3.png 945w, https://leocode.com/wp-content/uploads/2024/02/Zapier-flow-gmail-openai-slack-step-3-300x123.png 300w, https://leocode.com/wp-content/uploads/2024/02/Zapier-flow-gmail-openai-slack-step-3-768x316.png 768w, https://leocode.com/wp-content/uploads/2024/02/Zapier-flow-gmail-openai-slack-step-3-700x288.png 700w" sizes="(max-width: 670px) 100vw, 670px" /></p>
<p>The process begins with a test message arriving in a Gmail inbox. This message serves as the trigger for the Zap. In Zapier, a trigger is an event that starts a Zap. When you set up a Gmail trigger in Zapier, you specify certain criteria for the emails that should initiate the workflow. For example, you might choose to trigger the Zap for every new email arriving in your inbox or only those that match specific labels or search criteria. Once the criteria are met, Zapier detects the new email as the trigger event, marking the first step in the automated workflow. This step is crucial as it sets the stage for the subsequent actions by capturing the data (such as the email&#8217;s subject, sender, body, etc.) that will be used in the next steps.</p>
<p>&nbsp;</p>
<p><img decoding="async" src="https://leocode.com/wp-content/uploads/2024/02/Zapier-gmail-openai-slack-test-email.png" alt="" width="1086" height="781" class=" wp-image-20389 aligncenter" srcset="https://leocode.com/wp-content/uploads/2024/02/Zapier-gmail-openai-slack-test-email.png 1830w, https://leocode.com/wp-content/uploads/2024/02/Zapier-gmail-openai-slack-test-email-300x216.png 300w, https://leocode.com/wp-content/uploads/2024/02/Zapier-gmail-openai-slack-test-email-1024x736.png 1024w, https://leocode.com/wp-content/uploads/2024/02/Zapier-gmail-openai-slack-test-email-768x552.png 768w, https://leocode.com/wp-content/uploads/2024/02/Zapier-gmail-openai-slack-test-email-1536x1105.png 1536w, https://leocode.com/wp-content/uploads/2024/02/Zapier-gmail-openai-slack-test-email-1190x856.png 1190w, https://leocode.com/wp-content/uploads/2024/02/Zapier-gmail-openai-slack-test-email-700x503.png 700w" sizes="(max-width: 1086px) 100vw, 1086px" /></p>
<p style="text-align: center;"><em>Tested e-mail message</em></p>
<p>&nbsp;</p>
<h2></h2>
<h2 style="font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, 'Apple Color Emoji', Arial, sans-serif, 'Segoe UI Emoji', 'Segoe UI Symbol'; font-weight: 600; font-size: 1.6em; line-height: 1.3; margin: 0px; padding: 3px 2px;">Step 2: OpenAI Analysis</h2>
<p><img loading="lazy" decoding="async" src="https://leocode.com/wp-content/uploads/2024/02/Zapier-flow-gmail-openai-slack-step-2-1.png" alt="" width="673" height="276" class=" wp-image-20399 aligncenter" srcset="https://leocode.com/wp-content/uploads/2024/02/Zapier-flow-gmail-openai-slack-step-2-1.png 943w, https://leocode.com/wp-content/uploads/2024/02/Zapier-flow-gmail-openai-slack-step-2-1-300x123.png 300w, https://leocode.com/wp-content/uploads/2024/02/Zapier-flow-gmail-openai-slack-step-2-1-768x315.png 768w, https://leocode.com/wp-content/uploads/2024/02/Zapier-flow-gmail-openai-slack-step-2-1-700x287.png 700w" sizes="(max-width: 673px) 100vw, 673px" /></p>
<p>After the email is detected by the Gmail trigger, the next step involves analyzing the content of the email using OpenAI (ChatGPT). In this step, Zapier passes the email&#8217;s data (such as the subject and body text) to an OpenAI action. This action utilizes OpenAI&#8217;s powerful language models to analyze the email&#8217;s content. The analysis can vary based on the specific needs of the workflow; for instance, it might involve summarizing the email, extracting specific information, or even assessing the sentiment of the message. This step is automated and occurs in real-time, providing immediate insights or processed data from the email content. The outcome of this analysis will determine the nature of the data or insights that are then passed on to the final step in the workflow.</p>
<h2></h2>
<h2 style="font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, 'Apple Color Emoji', Arial, sans-serif, 'Segoe UI Emoji', 'Segoe UI Symbol'; font-weight: 600; font-size: 1.6em; line-height: 1.3; margin: 0px; padding: 3px 2px;">Step 3: Slack Notification</h2>
<p><img loading="lazy" decoding="async" src="https://leocode.com/wp-content/uploads/2024/02/Zapier-flow-gmail-openai-slack-step-3.png" alt="" width="678" height="279" class="wp-image-20396 aligncenter" srcset="https://leocode.com/wp-content/uploads/2024/02/Zapier-flow-gmail-openai-slack-step-3.png 945w, https://leocode.com/wp-content/uploads/2024/02/Zapier-flow-gmail-openai-slack-step-3-300x123.png 300w, https://leocode.com/wp-content/uploads/2024/02/Zapier-flow-gmail-openai-slack-step-3-768x316.png 768w, https://leocode.com/wp-content/uploads/2024/02/Zapier-flow-gmail-openai-slack-step-3-700x288.png 700w" sizes="(max-width: 678px) 100vw, 678px" /></p>
<p>The final step in this automated workflow involves taking the analyzed data or insights from the OpenAI step and posting it to Slack. Based on the results of the OpenAI analysis, a custom message is crafted. This message might include a summary of the email, key points extracted by the AI, or any other relevant information determined in the previous step.</p>
<p>Then, using a Slack action in Zapier, this message is automatically posted to a specified Slack channel or sent as a direct message to a team member. This step ensures that the team is promptly informed about the important aspects of the email, leveraging the analysis done by OpenAI, without having to manually check their emails.</p>
<p>It streamlines communication and ensures that actionable insights derived from email communications are efficiently shared among team members.</p>
<div style="width: 100%; border-radius: 4px; border: 1px solid rgba(55, 53, 47, 0.16); padding: 16px; color: #37352f; text-align: center;">
<p style="margin-top: 16px;">🔥 And here is how it looks on Slack in this case:</p>
<p><img decoding="async" src="https://leocode.com/wp-content/uploads/2024/02/Zapier-gmail-openai-slack-summary.png" alt="Slack Summary Example" style="width: 100%; max-width: 1071px; height: auto; border-radius: 4px; display: block; margin: 0 auto;" /></p>
</div>
<hr style="border: 0; height: 1px; background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(55, 53, 47, 0.16), rgba(0, 0, 0, 0)); margin-top: 20px; margin-bottom: 20px;" />
<div style="padding: 10px; margin-bottom: 20px; max-width: 725px; border-radius: 10px;">
<h1 style="font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, 'Apple Color Emoji', Arial, sans-serif, 'Segoe UI Emoji', 'Segoe UI Symbol'; font-weight: 600; font-size: 1.875em; line-height: 1.3; margin: 0px; padding: 3px 2px;">Why Embrace This Solution?</h1>
</div>
<div style="border: 2px solid #eee; padding: 10px; margin-bottom: 20px; max-width: 725px; background-color: #ecf4ee; border-radius: 10px;">
<h3 style="font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, 'Apple Color Emoji', Arial, sans-serif, 'Segoe UI Emoji', 'Segoe UI Symbol'; font-weight: 600; font-size: 1.5em; line-height: 1.3; margin: 0px; padding: 3px 2px; color: #448361;">Time Efficiency</h3>
<p style="margin: 10px 0;">Automating the summarization and sharing of email content can save countless hours that would otherwise be spent manually sorting through emails and writing summaries. This time can be redirected towards more strategic tasks that require human insight and creativity.</p>
</div>
<div style="border: 2px solid #eee; padding: 10px; margin-bottom: 20px; max-width: 725px; background-color: #f4eef8; border-radius: 10px;">
<h3 style="font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, 'Apple Color Emoji', Arial, sans-serif, 'Segoe UI Emoji', 'Segoe UI Symbol'; font-weight: 600; font-size: 1.5em; line-height: 1.3; margin: 0px; padding: 3px 2px; color: #9065b0;">Consistency and Accuracy</h3>
<p style="margin: 10px 0;">OpenAI&#8217;s summarization ensures that the essence of the messages is captured accurately and consistently, reducing the risk of human error or bias in interpreting the information.</p>
</div>
<div style="border: 2px solid #eee; padding: 10px; margin-bottom: 20px; max-width: 725px; background-color: #e7f3f8; border-radius: 10px;">
<h3 style="font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, 'Apple Color Emoji', Arial, sans-serif, 'Segoe UI Emoji', 'Segoe UI Symbol'; font-weight: 600; font-size: 1.5em; line-height: 1.3; margin: 0px; padding: 3px 2px; color: #337ea9;">Improved Team Collaboration</h3>
<p style="margin: 10px 0;">By funneling important email content directly to Slack, teams can quickly discuss and collaborate on updates without switching between platforms. This not only speeds up response times but also enhances team synergy.</p>
</div>
<div style="border: 2px solid #eee; padding: 10px; margin-bottom: 20px; max-width: 725px; background-color: #f8efe9; border-radius: 10px;">
<h3 style="font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, 'Apple Color Emoji', Arial, sans-serif, 'Segoe UI Emoji', 'Segoe UI Symbol'; font-weight: 600; font-size: 1.5em; line-height: 1.3; margin: 0px; padding: 3px 2px; color: #9f6b53;">Accessibility of Information</h3>
<p style="margin: 10px 0;">Summaries in a Slack channel make it easier for team members to stay informed, regardless of their email access or inbox management habits. This democratizes information access and supports a more inclusive work environment.</p>
</div>
<hr style="border: 0; height: 1px; background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(55, 53, 47, 0.16), rgba(0, 0, 0, 0)); margin-top: 20px; margin-bottom: 20px;" />
<h1 style="font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, 'Apple Color Emoji', Arial, sans-serif, 'Segoe UI Emoji', 'Segoe UI Symbol'; font-weight: 600; font-size: 1.875em; line-height: 1.3; margin: 0px; padding: 3px 2px;">Conclusion</h1>
<p>Incorporating automation into your team&#8217;s workflow can transform how information is managed and shared. By leveraging Zapier, Gmail, OpenAI (ChatGPT), and Slack, you can create a streamlined process that ensures important email content is quickly summarized and accessible to all team members.</p>
<div style="width: 100%; max-width: 725px; background: #f1f1ef; padding: 16px; border-radius: 10px;">This not only enhances productivity but also fosters a more collaborative and informed team culture. Embrace the future of work by automating the mundane, freeing your team to focus on what truly matters.</div>
<p>Artykuł <a rel="nofollow" href="https://leocode.com/automation/boost-your-team-with-gmail-to-slack-email-summaries/">Boost Your Team: Gmail to Slack Email Summaries</a> pochodzi z serwisu <a rel="nofollow" href="https://leocode.com">LEOCODE</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://leocode.com/automation/boost-your-team-with-gmail-to-slack-email-summaries/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Universality, because accessibility is not about disability</title>
		<link>https://leocode.com/development/universality-because-accessibility-is-not-about-disability/</link>
					<comments>https://leocode.com/development/universality-because-accessibility-is-not-about-disability/#respond</comments>
		
		<dc:creator><![CDATA[Adam Filipowski]]></dc:creator>
		<pubDate>Mon, 02 Oct 2023 06:23:44 +0000</pubDate>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Culture]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[accessibilty]]></category>
		<guid isPermaLink="false">https://leocode.com/?p=20219</guid>

					<description><![CDATA[<p>I’m going to start with quite not politically correct, yet very much true statement. We, the developers, get sick and tired, as soon as we hear “accessibility”. There is a...</p>
<p>Artykuł <a rel="nofollow" href="https://leocode.com/development/universality-because-accessibility-is-not-about-disability/">Universality, because accessibility is not about disability</a> pochodzi z serwisu <a rel="nofollow" href="https://leocode.com">LEOCODE</a>.</p>
]]></description>
										<content:encoded><![CDATA[<figure class="yg yh yi yj yk yl mr ms paragraph-image">
<div role="button" class="ym yn by yo bm yp" tabindex="0">
<div class="mr ms yf"><picture><img decoding="async" alt="" class="bm yq yr c" width="700" height="591" loading="eager" role="presentation" src="https://miro.medium.com/v2/resize:fit:700/1*ShNRgWz8FMiw3AZxRH7omg.png" /></picture></div>
</div>
</figure>
<p id="2c0e" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">I’m going to start with quite not politically correct, yet very much true statement. We, the developers, get sick and tired, as soon as we hear “accessibility”. There is a simple reason behind it. Often times the word “accessibility” is used very wrong. Many people think that accessibility equals aria labels and making you app usable by the blind. But this is only a small fraction of accessibility.</p>
<h1 id="c3cc" class="zm zn up al zo zp zq zr nl zs zt zu nq zv zw zx zy zz aba abb abc abd abe abf abg abh bp" data-selectable-paragraph="">So what “accessibility” is?</h1>
<p id="56a7" class="pw-post-body-paragraph ys yt up oh b yu abi yw yx yy abj za zb nr abk zd ze nw abl zg zh ob abm zj zk zl lo bp" data-selectable-paragraph="">Let’s start the other way round and explain disability. We all know disability as a permanent state where a body doesn’t have all motor skills, but that’s again, just part truth.</p>
<figure class="abo abp abq abr abs yl mr ms paragraph-image">
<div role="button" class="ym yn by yo bm yp" tabindex="0">
<div class="mr ms abn"><picture><source srcset="https://miro.medium.com/v2/resize:fit:640/format:webp/1*9Y815QFOtzOuNuXHTTAgtg.png 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*9Y815QFOtzOuNuXHTTAgtg.png 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*9Y815QFOtzOuNuXHTTAgtg.png 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*9Y815QFOtzOuNuXHTTAgtg.png 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*9Y815QFOtzOuNuXHTTAgtg.png 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*9Y815QFOtzOuNuXHTTAgtg.png 1100w, https://miro.medium.com/v2/resize:fit:1400/format:webp/1*9Y815QFOtzOuNuXHTTAgtg.png 1400w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px" type="image/webp" /><source data-testid="og" srcset="https://miro.medium.com/v2/resize:fit:640/1*9Y815QFOtzOuNuXHTTAgtg.png 640w, https://miro.medium.com/v2/resize:fit:720/1*9Y815QFOtzOuNuXHTTAgtg.png 720w, https://miro.medium.com/v2/resize:fit:750/1*9Y815QFOtzOuNuXHTTAgtg.png 750w, https://miro.medium.com/v2/resize:fit:786/1*9Y815QFOtzOuNuXHTTAgtg.png 786w, https://miro.medium.com/v2/resize:fit:828/1*9Y815QFOtzOuNuXHTTAgtg.png 828w, https://miro.medium.com/v2/resize:fit:1100/1*9Y815QFOtzOuNuXHTTAgtg.png 1100w, https://miro.medium.com/v2/resize:fit:1400/1*9Y815QFOtzOuNuXHTTAgtg.png 1400w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px" /><img loading="lazy" decoding="async" alt="" class="bm yq yr c" width="700" height="278" loading="lazy" role="presentation" src="https://miro.medium.com/v2/resize:fit:700/1*9Y815QFOtzOuNuXHTTAgtg.png" /></picture></div>
</div>
</figure>
<p id="cb64" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">Looking at the picture above you probably already are aware that at some point of our lives we’ve all experienced some sort of disability. Either temporary (broken arm) or situational (occupied hands). Cambridge dictionary defines disability as “an illness, injury, or condition that makes it difficult for someone to do some things that other people do”. Taking this one step farther, physical disabilities are not the only ones that exist. Any learning impairment, like dyslexia, is also a disability, but again this one in a permanent one. Taking it a step back to temporary / situational mental disabilities as well as definition “difficult for someone to do things that other people do” even not knowing a language well, regardless if it’s due to some learning impairment or that language not being one’s native tongue.</p>
<p id="f13f" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">For all this, I want to introduce a better way of saying “accessibility” namely, as the title of this article states, “<strong class="oh gk">universality</strong>”. To me this is a better term, as we all do want our apps, documentations, articles be universally accessible by as many people as possible, regardless of their physical location and their own ability to access your content.</p>
<p id="773b" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">What “accessibility” really is, is an answer to a question “<strong class="oh gk">Can I get access to information?</strong>”</p>
<p id="33eb" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">Here, I don’t want to focus on good HTML structures or aria labels, there is plenty great articles about that.<span> </span><strong class="oh gk">I want you to improve your way of thinking about accessibility. I want you to make information as much accessible as possible.</strong></p>
<h1 id="ddfe" class="zm zn up al zo zp zq zr nl zs zt zu nq zv zw zx zy zz aba abb abc abd abe abf abg abh bp" data-selectable-paragraph="">Touch</h1>
<p id="77fb" class="pw-post-body-paragraph ys yt up oh b yu abi yw yx yy abj za zb nr abk zd ze nw abl zg zh ob abm zj zk zl lo bp" data-selectable-paragraph="">We’ve all seen people, usually older, using styluses to navigate their phone. Some of us might even laught, but have you ever wondered why they do it? It’s simply because they have hard time taping on items they’d like to navigate to. This happens because, as you get older your motor skills worsen, but to be completely honest with you, I sometimes struggle to tap on the thing I’d like to. Why? Mostly because of bad UX. See it for yourself.</p>
<figure class="abo abp abq abr abs yl mr ms paragraph-image">
<div role="button" class="ym yn by yo bm yp" tabindex="0">
<div class="mr ms abt"><picture><source srcset="https://miro.medium.com/v2/resize:fit:640/format:webp/1*N4H_ILAqSrZQAOEvIGyrFg.png 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*N4H_ILAqSrZQAOEvIGyrFg.png 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*N4H_ILAqSrZQAOEvIGyrFg.png 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*N4H_ILAqSrZQAOEvIGyrFg.png 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*N4H_ILAqSrZQAOEvIGyrFg.png 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*N4H_ILAqSrZQAOEvIGyrFg.png 1100w, https://miro.medium.com/v2/resize:fit:1400/format:webp/1*N4H_ILAqSrZQAOEvIGyrFg.png 1400w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px" type="image/webp" /><source data-testid="og" srcset="https://miro.medium.com/v2/resize:fit:640/1*N4H_ILAqSrZQAOEvIGyrFg.png 640w, https://miro.medium.com/v2/resize:fit:720/1*N4H_ILAqSrZQAOEvIGyrFg.png 720w, https://miro.medium.com/v2/resize:fit:750/1*N4H_ILAqSrZQAOEvIGyrFg.png 750w, https://miro.medium.com/v2/resize:fit:786/1*N4H_ILAqSrZQAOEvIGyrFg.png 786w, https://miro.medium.com/v2/resize:fit:828/1*N4H_ILAqSrZQAOEvIGyrFg.png 828w, https://miro.medium.com/v2/resize:fit:1100/1*N4H_ILAqSrZQAOEvIGyrFg.png 1100w, https://miro.medium.com/v2/resize:fit:1400/1*N4H_ILAqSrZQAOEvIGyrFg.png 1400w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px" /><img loading="lazy" decoding="async" alt="" class="bm yq yr c" width="700" height="386" loading="lazy" role="presentation" src="https://miro.medium.com/v2/resize:fit:700/1*N4H_ILAqSrZQAOEvIGyrFg.png" /></picture></div>
</div>
</figure>
<p id="1bfd" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">Looking at this map, at the first glance you realize that, tapping on the correct map pin is nearly impossible. A very simple fix for this may be grouping some nearly located pins into one that would cause the map be zoomed in to that area with nicely spread pins.</p>
<p id="6518" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">Generally with any touchable / clickable area a great rule of thumb is “could I tap it”. The more touchable area the better, but the minimum should be 48dp (or 48px / ~3rem) [<a class="ay hj" rel="noopener" href="https://medium.com/analytics-vidhya/what-is-the-difference-between-px-dip-dp-and-sp-e4351fefa685" target="_blank">what is a dp?</a>] .</p>
<h1 id="1455" class="zm zn up al zo zp zq zr nl zs zt zu nq zv zw zx zy zz aba abb abc abd abe abf abg abh bp" data-selectable-paragraph="">Contrast</h1>
<p id="3fc3" class="pw-post-body-paragraph ys yt up oh b yu abi yw yx yy abj za zb nr abk zd ze nw abl zg zh ob abm zj zk zl lo bp" data-selectable-paragraph="">Here I won’t say a word about colorblindness, nor any other permanent disability. Just look at the picture below.</p>
<figure class="abo abp abq abr abs yl mr ms paragraph-image">
<div role="button" class="ym yn by yo bm yp" tabindex="0">
<div class="mr ms abu"><picture><source srcset="https://miro.medium.com/v2/resize:fit:640/format:webp/1*xZB6gf5Y59tqHh5AQ7FoDA.png 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*xZB6gf5Y59tqHh5AQ7FoDA.png 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*xZB6gf5Y59tqHh5AQ7FoDA.png 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*xZB6gf5Y59tqHh5AQ7FoDA.png 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*xZB6gf5Y59tqHh5AQ7FoDA.png 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*xZB6gf5Y59tqHh5AQ7FoDA.png 1100w, https://miro.medium.com/v2/resize:fit:1400/format:webp/1*xZB6gf5Y59tqHh5AQ7FoDA.png 1400w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px" type="image/webp" /><source data-testid="og" srcset="https://miro.medium.com/v2/resize:fit:640/1*xZB6gf5Y59tqHh5AQ7FoDA.png 640w, https://miro.medium.com/v2/resize:fit:720/1*xZB6gf5Y59tqHh5AQ7FoDA.png 720w, https://miro.medium.com/v2/resize:fit:750/1*xZB6gf5Y59tqHh5AQ7FoDA.png 750w, https://miro.medium.com/v2/resize:fit:786/1*xZB6gf5Y59tqHh5AQ7FoDA.png 786w, https://miro.medium.com/v2/resize:fit:828/1*xZB6gf5Y59tqHh5AQ7FoDA.png 828w, https://miro.medium.com/v2/resize:fit:1100/1*xZB6gf5Y59tqHh5AQ7FoDA.png 1100w, https://miro.medium.com/v2/resize:fit:1400/1*xZB6gf5Y59tqHh5AQ7FoDA.png 1400w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px" /><img loading="lazy" decoding="async" alt="" class="bm yq yr c" width="700" height="394" loading="lazy" role="presentation" src="https://miro.medium.com/v2/resize:fit:700/1*xZB6gf5Y59tqHh5AQ7FoDA.png" /></picture></div>
</div>
</figure>
<p id="0ef3" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">Screens get better and better in terms of brightness, but if you never had an issue with sun making your screen unreadable, you probably live in the dungeon. This one is a struggle for every single person in the world every single day. When you create your app with bad contrast or some unusual fonts, you make it a lot worse for your users to<span> </span><strong class="oh gk">get the information they need</strong><span> </span>from you website.</p>
<p id="f0b0" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">An excerpt from “Refactoring UI” by Adam Wathan &amp; Steve Shoger says:</p>
<blockquote class="abv abw abx">
<p id="59e5" class="ys yt aby oh b yu yv yw yx yy yz za zb abz zc zd ze aca zf zg zh acb zi zj zk zl lo bp" data-selectable-paragraph="">By designing in grayscale, you’re forced to use spacing, contrast and size to do the heavy lifting. It’s little more challenging, but you’ll end up with a clearer interface with a strong hierarchy that’s easy to enhance with color later.</p>
</blockquote>
<p id="c3a5" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">Leave handwritten fonts for logos, leave weird colors schemes and just make it simple. Simple is better.</p>
<h1 id="213d" class="zm zn up al zo zp zq zr nl zs zt zu nq zv zw zx zy zz aba abb abc abd abe abf abg abh bp" data-selectable-paragraph="">Language</h1>
<p id="5593" class="pw-post-body-paragraph ys yt up oh b yu abi yw yx yy abj za zb nr abk zd ze nw abl zg zh ob abm zj zk zl lo bp" data-selectable-paragraph="">Simple is better, but what’s even more better, especially with language, is plain. I left this one to the end on purpose. This is a point relevant not only to copy writers or developers, but honestly to everyone. Ever written documentation? Procedure? Email to employees? A Slack message?<span> </span><strong class="oh gk">You need to understand that plain is better.</strong><span> </span>And now plain language is also an ISO standard.</p>
<p id="4d21" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">I said earlier that accessibility is the answer to “Can I get access to the information?” question. What is better for that than a language. A language is the key to get out message across. Regardless of what that message is.</p>
<p id="eec4" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">If English is your native language, you are in a better position, as majority of the web is in English, but keep in mind that there are millions of users that either know English as a second language, or don’t know it at all. Think what is easier to translate. I personally worked with an app where where you could have peers instead of friends, principals instead of leaders and articles could be appreciated, not liked. People sometimes think if they do things different, they will be better, but in communication this is not the way.</p>
<blockquote class="abv abw abx">
<p id="b8fd" class="ys yt aby oh b yu yv yw yx yy yz za zb abz zc zd ze aca zf zg zh acb zi zj zk zl lo bp" data-selectable-paragraph="">If you’re happy and you know it, clap your hands.<br />
If you’re happy and you know it, clap your hands.<br />
If you’re happy and you know it, and you really want to show it.<br />
If you’re happy and you know it, clap your hands.</p>
</blockquote>
<p id="291d" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">We all know this nursery rhyme, it’s one of the most popular ones that is used in English as Second Language teaching as well. If you look at it again, what do you see? There’s a lot of repetition and simple words.</p>
<p id="1cb9" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">This brings me back down the memory lane when I was studing English teaching. We were to create a children Christmas story, but the goal was to use no more than 30 different words. Tough challange, but has its point. Same as the nursery rhyme. That’s how we learn and understand language the best. With simple words and repetition.</p>
<p id="0817" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">An average 5–6 year old child knows 2500–5000 different words, by the age they’re 9 their primary set of words is around 5000, and secondary around 10000. If you think it’s more when you’re an adult you’d be wrong. It is basically this for the rest of our lives. We tend to use same words over and over again, and you know what? It is good! Using complex and unusual words does not make us sound smarter. It’s just making us less understandable.</p>
<h1 id="fed1" class="zm zn up al zo zp zq zr nl zs zt zu nq zv zw zx zy zz aba abb abc abd abe abf abg abh bp" data-selectable-paragraph="">Keep it simple!</h1>
<p id="2597" class="pw-post-body-paragraph ys yt up oh b yu abi yw yx yy abj za zb nr abk zd ze nw abl zg zh ob abm zj zk zl lo bp" data-selectable-paragraph="">Look at the examples below, they both mean exactly the same, but which one is actually understandable?</p>
<blockquote class="abv abw abx">
<p id="bac7" class="ys yt aby oh b yu yv yw yx yy yz za zb abz zc zd ze aca zf zg zh acb zi zj zk zl lo bp" data-selectable-paragraph="">The recently implemented categorical standardisation procedure on waste oil should not be applied before 1 January 2015.</p>
</blockquote>
<p id="67d3" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">or</p>
<blockquote class="abv abw abx">
<p id="1856" class="ys yt aby oh b yu yv yw yx yy yz za zb abz zc zd ze aca zf zg zh acb zi zj zk zl lo bp" data-selectable-paragraph="">Do not use the new waste oil standards before 1 January 2015.</p>
</blockquote>
<p id="e27a" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">What is more, when we use longer words (8 or 9 letters), users are more likely to skip shorter words (3, 4, or 5 letters) that follow it. People just don’t read one word at a time. They bounce around, especially online, and anticipate words, subconsciously filling them in.<strong class="oh gk"><span> </span>You don’t need to read every word to understand what is written. It is estimated that people can drop around 30% of text and still understand it perfectly.<span> </span></strong>An exception from that rule are people with learning disabilities who read letter for letter, and do not bounce around like other users. However, keep in mind that they cannot understand a sentence if it’s too long!</p>
<h1 id="56df" class="zm zn up al zo zp zq zr nl zs zt zu nq zv zw zx zy zz aba abb abc abd abe abf abg abh bp" data-selectable-paragraph="">THIS IS MEGA IMPORTANT</h1>
<p id="6a83" class="pw-post-body-paragraph ys yt up oh b yu abi yw yx yy abj za zb nr abk zd ze nw abl zg zh ob abm zj zk zl lo bp" data-selectable-paragraph="">Capital letters are harder to read. By around 13 to 18%.</p>
<p id="5296" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">Capital letters were great when you started learning to read. At first, you might sound out every letter, but you did not understood the concept of lower and upper case by the age of 6. At this point instead of letters, you start recognising the shape of words. This speeds up comprehension and speed of reading.</p>
<p id="e747" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">People do not read words, people recognise the shape of a word and understand it. It is a lot faster that way, and we all value our time greatly.</p>
<h1 id="df89" class="zm zn up al zo zp zq zr nl zs zt zu nq zv zw zx zy zz aba abb abc abd abe abf abg abh bp" data-selectable-paragraph="">Online vs Paper</h1>
<p id="ff8e" class="pw-post-body-paragraph ys yt up oh b yu abi yw yx yy abj za zb nr abk zd ze nw abl zg zh ob abm zj zk zl lo bp" data-selectable-paragraph="">Users read very differently online to paper. They do not read top to bottom or even from word to word. Instead, users only read about 20 to 28% of a web page. Think of a letter<span> </span><strong class="oh gk">F,<span> </span></strong>that is a shape in which users browse content of a web page. they want to complete their task as quickly as possible, so they skim across the top, then down the side, reading further across when they find what they need. So,<span> </span><strong class="oh gk">Keep it Simple. Give access to the information as quickly as possible.</strong></p>
<h1 id="db4e" class="zm zn up al zo zp zq zr nl zs zt zu nq zv zw zx zy zz aba abb abc abd abe abf abg abh bp" data-selectable-paragraph="">Learnings?</h1>
<ul class="">
<li id="72f8" class="ys yt up oh b yu abi yw yx yy abj za zb nr acc zd ze nw acd zg zh ob ace zj zk zl acf acg ach bp" data-selectable-paragraph="">be concise — simple and shorter is better. Be understood, especially when you write procedures.</li>
<li id="4ea5" class="ys yt up oh b yu aci yw yx yy acj za zb nr ack zd ze nw acl zg zh ob acm zj zk zl acf acg ach bp" data-selectable-paragraph="">address the user — use active voice</li>
<li id="ca8b" class="ys yt up oh b yu aci yw yx yy acj za zb nr ack zd ze nw acl zg zh ob acm zj zk zl acf acg ach bp" data-selectable-paragraph="">DO NOT CAPITALIZE — unless it’s logo</li>
<li id="3b76" class="ys yt up oh b yu aci yw yx yy acj za zb nr ack zd ze nw acl zg zh ob acm zj zk zl acf acg ach bp" data-selectable-paragraph="">use text version of signs — and is easier to read and understand than &amp;, same with dates use to instead of —</li>
<li id="fa7f" class="ys yt up oh b yu aci yw yx yy acj za zb nr ack zd ze nw acl zg zh ob acm zj zk zl acf acg ach bp" data-selectable-paragraph="">Be gender neutral — use plural “they”</li>
</ul>
<p id="fbe6" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">And make sure you use plain language, see<span> </span><a class="ay hj" href="https://www.gov.uk/guidance/style-guide/a-to-z-of-gov-uk-style" rel="noopener ugc nofollow" target="_blank">https://www.gov.uk/guidance/style-guide/a-to-z-of-gov-uk-style</a><span> </span>for full list of words that can be easily replaced. But to give you a few to avoid that I’ve seen use quite extensively:</p>
<ul class="">
<li id="d190" class="ys yt up oh b yu yv yw yx yy yz za zb nr acn zd ze nw aco zg zh ob acp zj zk zl acf acg ach bp" data-selectable-paragraph="">collaborate, use ‘work with’</li>
<li id="b329" class="ys yt up oh b yu aci yw yx yy acj za zb nr ack zd ze nw acl zg zh ob acm zj zk zl acf acg ach bp" data-selectable-paragraph="">empower, use ‘allow’ or ‘give permission’</li>
<li id="03b2" class="ys yt up oh b yu aci yw yx yy acj za zb nr ack zd ze nw acl zg zh ob acm zj zk zl acf acg ach bp" data-selectable-paragraph="">key (unless it unlocks something), usually not needed but can use ‘important’ or ‘significant’</li>
<li id="316a" class="ys yt up oh b yu aci yw yx yy acj za zb nr ack zd ze nw acl zg zh ob acm zj zk zl acf acg ach bp" data-selectable-paragraph="">streamline, use ‘simplify’ or ‘remove unnecessary administration’</li>
</ul>
<p id="b012" class="pw-post-body-paragraph ys yt up oh b yu yv yw yx yy yz za zb nr zc zd ze nw zf zg zh ob zi zj zk zl lo bp" data-selectable-paragraph="">I hope that now you understand better what is the goal of accessibility. It’s simply to allow as many users access the information you want to provide in a way they can understand it as you intended. I believe you want that too.</p>
<figure class="abo abp abq abr abs yl mr ms paragraph-image">
<div role="button" class="ym yn by yo bm yp" tabindex="0">
<div class="mr ms acq"><picture><source srcset="https://miro.medium.com/v2/resize:fit:640/format:webp/1*34rHefWXpVBQ4Fg5LVVynw.png 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*34rHefWXpVBQ4Fg5LVVynw.png 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*34rHefWXpVBQ4Fg5LVVynw.png 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*34rHefWXpVBQ4Fg5LVVynw.png 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*34rHefWXpVBQ4Fg5LVVynw.png 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*34rHefWXpVBQ4Fg5LVVynw.png 1100w, https://miro.medium.com/v2/resize:fit:1400/format:webp/1*34rHefWXpVBQ4Fg5LVVynw.png 1400w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px" type="image/webp" /><source data-testid="og" srcset="https://miro.medium.com/v2/resize:fit:640/1*34rHefWXpVBQ4Fg5LVVynw.png 640w, https://miro.medium.com/v2/resize:fit:720/1*34rHefWXpVBQ4Fg5LVVynw.png 720w, https://miro.medium.com/v2/resize:fit:750/1*34rHefWXpVBQ4Fg5LVVynw.png 750w, https://miro.medium.com/v2/resize:fit:786/1*34rHefWXpVBQ4Fg5LVVynw.png 786w, https://miro.medium.com/v2/resize:fit:828/1*34rHefWXpVBQ4Fg5LVVynw.png 828w, https://miro.medium.com/v2/resize:fit:1100/1*34rHefWXpVBQ4Fg5LVVynw.png 1100w, https://miro.medium.com/v2/resize:fit:1400/1*34rHefWXpVBQ4Fg5LVVynw.png 1400w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px" /><img loading="lazy" decoding="async" alt="" class="bm yq yr c" width="700" height="729" loading="lazy" role="presentation" src="https://miro.medium.com/v2/resize:fit:700/1*34rHefWXpVBQ4Fg5LVVynw.png" /></picture></div>
</div>
</figure>
<p>Artykuł <a rel="nofollow" href="https://leocode.com/development/universality-because-accessibility-is-not-about-disability/">Universality, because accessibility is not about disability</a> pochodzi z serwisu <a rel="nofollow" href="https://leocode.com">LEOCODE</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://leocode.com/development/universality-because-accessibility-is-not-about-disability/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Neovim: a way to program faster</title>
		<link>https://leocode.com/development/neovim-a-way-to-program-faster/</link>
					<comments>https://leocode.com/development/neovim-a-way-to-program-faster/#respond</comments>
		
		<dc:creator><![CDATA[Adam Filipowski]]></dc:creator>
		<pubDate>Tue, 23 May 2023 16:17:00 +0000</pubDate>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Future]]></category>
		<guid isPermaLink="false">https://leocode.com/?p=20154</guid>

					<description><![CDATA[<p>In a Hollywood movie, there is often a scene that many of us are not fond of. It&#8217;s the moment when a so-called &#8220;hacker&#8221; sits at the keyboard and flawlessly...</p>
<p>Artykuł <a rel="nofollow" href="https://leocode.com/development/neovim-a-way-to-program-faster/">Neovim: a way to program faster</a> pochodzi z serwisu <a rel="nofollow" href="https://leocode.com">LEOCODE</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><i><span style="font-weight: 400;">In a Hollywood movie, there is often a scene that many of us are not fond of. It&#8217;s the moment when a so-called &#8220;hacker&#8221; sits at the keyboard and flawlessly hacks into something. We see their fingers dancing on the keyboard, and different windows flashing on the screen filled with text. It looks so surreal and unlike our regular work that when someone asks us if that&#8217;s what we coders do, we either nod fearlessly or simply deny it. Because that&#8217;s just a Hollywood movie, it&#8217;s all fiction.</span></i></p>
<h1><strong>Reality of programmers</strong></h1>
<p><span style="font-weight: 400;">Let me tell you how I discovered a solution that enables me to efficiently perform my daily tasks and solve problems in seconds, not days.</span></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">I sat in my chair, hunching over with cramped hands and twisted wrists, using a small pointing device for menus and web browsing. And I couldn&#8217;t help but wonder if I was the only one suffering from what I call FWF –  Fatal Wrist Factor, or maybe I&#8217;m just a dinosaur. So I decided to ask…</span></p>
<p><img loading="lazy" decoding="async" src="https://leocode.com/wp-content/uploads/2023/05/grafika_4chan_2.png" alt="" width="1024" height="6161" class="aligncenter wp-image-20156" srcset="https://leocode.com/wp-content/uploads/2023/05/grafika_4chan_2.png 1190w, https://leocode.com/wp-content/uploads/2023/05/grafika_4chan_2-50x300.png 50w, https://leocode.com/wp-content/uploads/2023/05/grafika_4chan_2-170x1024.png 170w, https://leocode.com/wp-content/uploads/2023/05/grafika_4chan_2-768x4621.png 768w, https://leocode.com/wp-content/uploads/2023/05/grafika_4chan_2-700x4212.png 700w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>&nbsp;</p>
<h1><strong>What is a Neovim?</strong></h1>
<p><span style="font-weight: 400;">I came across a potential solution on a developer forum and decided to try it out. It&#8217;s called </span><a href="https://neovim.io/" target="_blank" rel="noopener"><span style="font-weight: 400;">NeoVim</span></a><span style="font-weight: 400;">, which is a version of Vim that utilizes LUA to enable scripted extensions to the editor. I quickly realized that it not only fulfilled all of my requirements, but also had a streamlined approach to keyboard commands that allowed me to effortlessly and rapidly edit my files.</span></p>
<p><span style="font-weight: 400;">I quickly picked up NeoVim and found myself completing all coding tasks much more efficiently compared to using a mouse and a full IDE, thanks to NeoVim&#8217;s approach to text editing and the extensions I added to it.</span><a href="https://github.com/VonHeikemen/lsp-zero.nvim" target="_blank" rel="noopener"><span style="font-weight: 400;"> The </span><span style="font-weight: 400;">LSP-ZERO</span></a><span style="font-weight: 400;"> plugin fixed all syntax highlighting issues, while </span><a href="https://github.com/lewis6991/gitsigns.nvim" target="_blank" rel="noopener"><span style="font-weight: 400;">Gitsigns</span></a><span style="font-weight: 400;"> made my editor aware of all git changes in the edited files, filling all the gaps of the</span><a href="https://github.com/tpope/vim-fugitive" target="_blank" rel="noopener"> <span style="font-weight: 400;">Vim Fugitive</span></a><span style="font-weight: 400;"> project for git management.</span><a href="https://github.com/nvim-treesitter/nvim-treesitter" target="_blank" rel="noopener"> <span style="font-weight: 400;">Treesitter</span></a><span style="font-weight: 400;"> made code completion work flawlessly, and</span><a href="https://github.com/nvim-telescope/telescope.nvim" target="_blank" rel="noopener"> <span style="font-weight: 400;">Telescope</span></a><span style="font-weight: 400;"> and</span><a href="https://github.com/ThePrimeagen/harpoon" target="_blank" rel="noopener"> <span style="font-weight: 400;">Harpoon</span></a><span style="font-weight: 400;"> made NeoVim project-aware entirely. And let’s not forget</span><a href="https://github.com/puremourning/vimspector" target="_blank" rel="noopener"> <span style="font-weight: 400;">Vimspector</span></a><span style="font-weight: 400;">, which helps you debug all your code.</span></p>
<p><span style="font-weight: 400;">There was one thing missing, though. Not everything could be done solely within the editor. I needed the terminal &#8211; one that could be made project-aware like I did with my NeoVim. However, there were other factors that raised concerns, such as having multiple graphical interfaces open at once…</span></p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" src="https://leocode.com/wp-content/uploads/2023/05/grafika_4chan_3-1024x637.png" alt="" width="1024" height="637" class="aligncenter size-large wp-image-20155" srcset="https://leocode.com/wp-content/uploads/2023/05/grafika_4chan_3-1024x637.png 1024w, https://leocode.com/wp-content/uploads/2023/05/grafika_4chan_3-300x187.png 300w, https://leocode.com/wp-content/uploads/2023/05/grafika_4chan_3-768x478.png 768w, https://leocode.com/wp-content/uploads/2023/05/grafika_4chan_3-356x220.png 356w, https://leocode.com/wp-content/uploads/2023/05/grafika_4chan_3-700x435.png 700w, https://leocode.com/wp-content/uploads/2023/05/grafika_4chan_3.png 1190w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>&nbsp;</p>
<h1><strong>How the Terminal Multiplexer (TMUX) concept works?</strong></h1>
<p><span style="font-weight: 400;">The idea behind TMUX is to organize your terminals into windows, each of which can have multiple panes. You can name your windows like projects, for example, and the panels will display the currently running task in the title. Since NeoVim is already running in your terminal, you can easily script TMUX to quickly switch between projects in your folder. This creates a powerful IDE that doesn&#8217;t require a mouse.</span></p>
<h1><strong>What was all that about?</strong></h1>
<p><span style="font-weight: 400;">To sum up, was this just a middle-aged hippie trying to come up with an excuse to use more terminals on a modern computer? After all, one can always learn to use the mouse more efficiently and adapt, right?</span></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">Well, the answer is both yes and no. It wasn&#8217;t just about alleviating cramps, although that did help. By repositioning my screen and choosing a better keyboard, I was able to overcome the challenges of aging. However, it had some incredible side effects.</span></p>
<h1><strong>Side effects: more and faster</strong></h1>
<p><span style="font-weight: 400;">Firstly, it made me more conscious of the systems and tools available to me. All command line tools I used to use before I found more flexible and faster than any plugin you could add to my Visual Studio Code or any other graphical IDE, for that matter.</span></p>
<p><span style="font-weight: 400;">But it also significantly accelerated everything I was doing. By focusing on a screen full of text and knowing all the shortcuts for better and more efficient editing and finding solving issues in seconds rather than days.</span></p>
<p><span style="font-weight: 400;">And maybe that&#8217;s just my romantic nature, but thanks to all of that, I feel more like Hemsworth or Reeves now than a dinosaur with a hump and two cramped hands.</span></p>
<p><b>Do you want to join a team where you will be able to use the latest technological solutions? We are hiring! </b><a href="https://leocode.com/careers/"><b>See open positions</b></a><b> at Leocode</b></p>
<p>Artykuł <a rel="nofollow" href="https://leocode.com/development/neovim-a-way-to-program-faster/">Neovim: a way to program faster</a> pochodzi z serwisu <a rel="nofollow" href="https://leocode.com">LEOCODE</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://leocode.com/development/neovim-a-way-to-program-faster/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>AI Implementation for Enhanced Software Development</title>
		<link>https://leocode.com/ai/ai-implementation-for-enhanced-software-development/</link>
					<comments>https://leocode.com/ai/ai-implementation-for-enhanced-software-development/#respond</comments>
		
		<dc:creator><![CDATA[Adam Filipowski]]></dc:creator>
		<pubDate>Wed, 17 May 2023 16:35:51 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Development]]></category>
		<guid isPermaLink="false">https://leocode.com/?p=20166</guid>

					<description><![CDATA[<p>The rapid development of Artificial Intelligence (AI) has had a significant impact on numerous industries, including software development. As a game-changing technology, AI has the potential to streamline workflows, enhance...</p>
<p>Artykuł <a rel="nofollow" href="https://leocode.com/ai/ai-implementation-for-enhanced-software-development/">AI Implementation for Enhanced Software Development</a> pochodzi z serwisu <a rel="nofollow" href="https://leocode.com">LEOCODE</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="font-weight: 400;">The rapid development of Artificial Intelligence (AI) has had a significant impact on numerous industries, including software development. As a game-changing technology, AI has the potential to streamline workflows, enhance efficiency, and improve the overall quality and security of software products. </span></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">In this comprehensive article, we will explore the benefits, challenges, and future prospects of implementing AI in our company&#8217;s software development processes, emphasizing the importance of proper training and adoption strategies.</span></p>
<p>&nbsp;</p>
<h1><strong>Benefits of AI in Our Company&#8217;s Software Development</strong></h1>
<p><span style="font-weight: 400;">The integration of AI into our company&#8217;s software development processes offers numerous benefits. Our internal research and testing suggest that AI can increase developers productivity by 20%, leading to more consistent coding styles, secure software, and better optimization. AI also allows developers to focus on more complex tasks while AI assists with repetitive code generation and research. </span></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">At the planning and architecture stage, AI can detect potential issues and recommend a better alternative. Furthermore, AI aids in automating documentation and testing processes, as well as designing views and making simple changes.</span></p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" src="https://leocode.com/wp-content/uploads/2023/05/unnamed-1-1024x576.png" alt="" width="1024" height="576" class="aligncenter size-large wp-image-20167" srcset="https://leocode.com/wp-content/uploads/2023/05/unnamed-1-1024x576.png 1024w, https://leocode.com/wp-content/uploads/2023/05/unnamed-1-300x169.png 300w, https://leocode.com/wp-content/uploads/2023/05/unnamed-1-768x432.png 768w, https://leocode.com/wp-content/uploads/2023/05/unnamed-1-1536x864.png 1536w, https://leocode.com/wp-content/uploads/2023/05/unnamed-1-1190x669.png 1190w, https://leocode.com/wp-content/uploads/2023/05/unnamed-1-700x394.png 700w, https://leocode.com/wp-content/uploads/2023/05/unnamed-1.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<h1><strong>Challenges in Implementing AI</strong></h1>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">Incorporating AI into everyday programming tasks introduces a range of challenges, including the creation of a strong work ethic with AI. This is important, as AI may inadvertently lead us astray, necessitating that these tools act as assistants rather than fully taking over our work. Staying abreast of the latest tools and techniques is vital, as AI technology is in a constant state of evolution. It is essential to ensure that our programmers possess the required skills to utilize AI tools both effectively and safely. </span></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">Our company has noted that, prior to AI implementation, 40% of developers held a neutral stance toward AI, 20% were resistant, and only 40% were enthusiastic about its use. We are now in the midst of integrating AI, and addressing these challenges is crucial for its successful incorporation. Encouragingly, preliminary tests on a smaller group of developers indicates that, with appropriate training and guidance on correctly using these tools, even those with negative attitudes can be persuaded of their advantages.</span></p>
<p>&nbsp;</p>
<h1><strong>Training and Adoption Strategies</strong></h1>
<p><span style="font-weight: 400;">To fully leverage the potential of artificial intelligence, our company is instituting all-encompassing training and adoption initiatives. We are conducting pilot tests of AI tools with a select group of developers to proactively identify and address potential challenges before deploying these tools throughout the organization. </span></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">Customizing training programs to cater to each developer&#8217;s unique needs and skill set is crucial for optimizing AI integration efficacy. Sharing real-world examples of successful AI implementations can enable developers to grasp its practical applications, while providing them with ongoing support during the adoption of AI tools is key to ensuring sustained success.</span></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">The AI tools encompass machine learning algorithms for automating monotonous tasks, natural language processing for code completion and analysis, and predictive analytics for detecting potential issues before they arise. We are confident that incorporating these tools into our daily programming activities can notably improve our software quality and expedite development. </span></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">Nonetheless, we acknowledge that the triumph of these tools necessitates thoughtful consideration of potential risks, such as biases in AI algorithms, and balancing automation with human discernment. As a result, we persistently assess and fine-tune our AI integration strategy to guarantee alignment with our company&#8217;s values and objectives.</span></p>
<p>&nbsp;</p>
<h1><strong>ROI and Client Perception</strong></h1>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" src="https://leocode.com/wp-content/uploads/2023/05/AI-Implementation-for-Enhanced-Software-Development.png" alt="" width="1024" height="576" class="aligncenter size-full wp-image-20169" srcset="https://leocode.com/wp-content/uploads/2023/05/AI-Implementation-for-Enhanced-Software-Development.png 1024w, https://leocode.com/wp-content/uploads/2023/05/AI-Implementation-for-Enhanced-Software-Development-300x169.png 300w, https://leocode.com/wp-content/uploads/2023/05/AI-Implementation-for-Enhanced-Software-Development-768x432.png 768w, https://leocode.com/wp-content/uploads/2023/05/AI-Implementation-for-Enhanced-Software-Development-700x394.png 700w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">Most clients appreciate the potential for faster work, increased efficiency, and enhanced software security offered by AI in software development. However, some clients face legal limitations that may hinder their ability to embrace AI-driven solutions fully.</span></p>
<p>&nbsp;</p>
<h1><strong>Future Prospects and Preparing for Changes</strong></h1>
<p><span style="font-weight: 400;">AI offers significant growth potential for our company&#8217;s software development processes. As technology continues to advance, we should stay updated on emerging trends and solutions, preparing to integrate them into our processes. By proactively embracing AI and its benefits, our company can position itself at the forefront of innovation in the software development industry.</span></p>
<p>&nbsp;</p>
<h1><strong>Conclusion</strong></h1>
<p><span style="font-weight: 400;">As AI technology continues to reshape the software development landscape, our company is well-positioned to reap the benefits. By focusing on AI&#8217;s benefits, addressing challenges, and investing in comprehensive training programs, our company can ensure a smooth transition into the AI-driven future of software development. Embracing AI can unlock a world of possibilities and drive innovation in the field of software development for our company.</span></p>
<p>&nbsp;</p>
<p><b>How to convince your team to introduce AI?</b></p>
<p>&nbsp;</p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Check out how we did it &#8211; talk to us!</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Let&#8217;s draw a roadmap for your business</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Present to your team and create and implementation plan</span></li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Artykuł <a rel="nofollow" href="https://leocode.com/ai/ai-implementation-for-enhanced-software-development/">AI Implementation for Enhanced Software Development</a> pochodzi z serwisu <a rel="nofollow" href="https://leocode.com">LEOCODE</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://leocode.com/ai/ai-implementation-for-enhanced-software-development/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Mission: LEOCoin – revolution or another crypto?</title>
		<link>https://leocode.com/development/mission-leocoin-revolution-or-another-crypto/</link>
					<comments>https://leocode.com/development/mission-leocoin-revolution-or-another-crypto/#respond</comments>
		
		<dc:creator><![CDATA[Zofia Figiel]]></dc:creator>
		<pubDate>Wed, 10 May 2023 16:24:28 +0000</pubDate>
				<category><![CDATA[Blockchain]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Future]]></category>
		<guid isPermaLink="false">https://leocode.com/?p=20160</guid>

					<description><![CDATA[<p>LEOCoin is a digital currency that claims to be a revolutionary solution for businesses that are looking to motivate their employees and increase their profits. As a journalist who’s investigating...</p>
<p>Artykuł <a rel="nofollow" href="https://leocode.com/development/mission-leocoin-revolution-or-another-crypto/">Mission: LEOCoin – revolution or another crypto?</a> pochodzi z serwisu <a rel="nofollow" href="https://leocode.com">LEOCODE</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="font-weight: 400;">LEOCoin is a digital currency that claims to be a revolutionary solution for businesses that are looking to motivate their employees and increase their profits. As a journalist who’s investigating the legitimacy of this new cryptocurrency, I’ve visited the headquarters of Leocode, the company behind LEOCoin.</span></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">Is LEOCoin just another worthless coin? Why does the owner call it a revolutionary solution? I visited Leocode, and I already knew the truth. When I heard about the next revolutions, only one word kept ringing in my head: scam. I quickly created a new identity: The owner of a tech company from Botswana. Difficult to verify, and at the same time, a potential customer. Bull&#8217;s-eye. It worked.</span></p>
<p>&nbsp;</p>
<h1><strong>Straight into the lion&#8217;s den</strong></h1>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">Leocode. The lion on the building tells me I&#8217;m in the right place. 5 minutes to the meeting. I&#8217;m going in. Of course, I have a briefcase and a laptop with me. I prepared myself well so that they wouldn&#8217;t get suspicious. I sit in the conference room. Everything is minimalist and modern. We&#8217;ll see if it&#8217;s just appearances.</span></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">It starts normally. I am talking about my equally modern and revolutionary technology company in Botswana. They are impressed – so am I. But I&#8217;m getting to the point. I want to strengthen the loyalty of my employees and introduce non-standard employee benefits. A friend told me about the amazing “Treasury” project. And I want it.</span></p>
<p><img loading="lazy" decoding="async" src="https://leocode.com/wp-content/uploads/2023/05/artykul2_komiks-1024x1024.png" alt="" width="1024" height="1024" class="aligncenter size-large wp-image-20164" srcset="https://leocode.com/wp-content/uploads/2023/05/artykul2_komiks-1024x1024.png 1024w, https://leocode.com/wp-content/uploads/2023/05/artykul2_komiks-300x300.png 300w, https://leocode.com/wp-content/uploads/2023/05/artykul2_komiks-150x150.png 150w, https://leocode.com/wp-content/uploads/2023/05/artykul2_komiks-768x768.png 768w, https://leocode.com/wp-content/uploads/2023/05/artykul2_komiks-400x400.png 400w, https://leocode.com/wp-content/uploads/2023/05/artykul2_komiks-1536x1536.png 1536w, https://leocode.com/wp-content/uploads/2023/05/artykul2_komiks-1190x1190.png 1190w, https://leocode.com/wp-content/uploads/2023/05/artykul2_komiks-700x700.png 700w, https://leocode.com/wp-content/uploads/2023/05/artykul2_komiks.png 2000w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<h1><strong>The &#8220;Treasury&#8221; project – a modern bonus system</strong></h1>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">Let&#8217;s start with the basics. I want to know what the solution is. You may find it hard to believe, but&#8230; the Treasury project is a great way to show appreciation for the hard work and dedication of our employees. By setting aside a portion of profits each year to be distributed as bonuses, Leocode can motivate and incentivize workers to continue striving for excellence.</span></p>
<p>&nbsp;</p>
<h1><strong>Red Flags: Does LEOCoin Work?</strong></h1>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">The first red flag. LEOCoin enables the company to grow by paying bonuses to employees. Impossible, right?</span></p>
<p><span style="font-weight: 400;">The second red flag. That&#8217;s where I&#8217;d end a date, but this is a business meeting&#8230; I don&#8217;t believe that employees are certainly happy to accept imaginary LEOCoins instead of cash.</span></p>
<p><span style="font-weight: 400;">The third red flag. When deciding to introduce LEOCoins, do I lose control over the implemented bonus system?</span></p>
<h1><strong>Red flags turn green</strong></h1>
<p><span style="font-weight: 400;">It turns out that Leocode transfers power to its employees thanks to the “Vault”. We all know that power works like a magnet. An employee who joins the Vault is given the opportunity to decide who will receive a bonus in a given month.</span></p>
<p><span style="font-weight: 400;">Tokens, which are awarded as part of the commitment to the company, build a sense of community among employees, as they all strive for a common goal, which is to increase the value of the company.</span></p>
<p><span style="font-weight: 400;">Each employee decides for themself whether they want to join the project. An additional motivator is the fact that the earlier you join the project, the more you can earn.</span></p>
<p><span style="font-weight: 400;">As an owner, I don&#8217;t lose control. Rewarded workers can convert tokens strictly after transfer into cash. All of these terms are gathered in one place – the terms and conditions. The document has been individually suited to the needs and expectations of the board and workers and meets the legal requirements.</span></p>
<h1><strong>Is virtual currency a real risk?</strong></h1>
<p><span style="font-weight: 400;">Hearing &#8220;cryptocurrency&#8221;, I see many risks. Leocode replies: Are you sure about that? The Treasury project is strictly related to the company’s profits. After finishing each financial year, the board decides how much of the year’s profits will be put in the treasure pocket intended for the worker’s bonuses. What&#8217;s more? It contributes to the increase in the value of LEOCoin. </span></p>
<p><span style="font-weight: 400;">The Treasury’s value is expressed in amounts, and every year, the value of the treasure pocket is getting higher as part of the company’s development. Every awarded worker becomes part of the Treasury project and collects the tokens in the Metamask Wallet. </span></p>
<h1><strong>Leocode found the Holy Grail?</strong></h1>
<p><span style="font-weight: 400;">I spent many hours talking to Leocode, looking for an answer to the question: is LEOCoin the holy grail? Imagine that… The LEOCoin is an innovative type of token that offers many benefits to the company and its employees. Being emitted on the Polygon chain means that it is reliable, secure, and can handle large volumes of transactions quickly and efficiently. The fact that the tokens can be converted into cash also makes them a valuable asset for employees, who can use them to supplement their income or invest in other opportunities. </span></p>
<p><span style="font-weight: 400;">The regular updates to the token&#8217;s value based on the company&#8217;s profits ensure that it remains a fair and accurate reflection of the company&#8217;s success.</span></p>
<h1><strong>Can I trust you? Treasury Management</strong></h1>
<p><span style="font-weight: 400;">Effective treasury management is crucial for the success of the project and the company as a whole. It is the responsibility of the owner and administrators to ensure that the rules and regulations of the project are followed and that workers understand their rights and responsibilities. </span></p>
<p><span style="font-weight: 400;">Clear communication and transparency are key to maintaining trust and accountability among all parties involved. By working together, Leocode can ensure that the project is run smoothly and that all workers receive the recognition and rewards they deserve.</span></p>
<h1><strong>Am I ready for a powerful tool?</strong></h1>
<p><span style="font-weight: 400;">The &#8220;LEOCoin&#8221; panel is a powerful tool that enables the company&#8217;s owners and administrators to manage the tokens effectively and efficiently. With features designed specifically for their needs, they can easily track the value of the tokens and make decisions about how to distribute them among workers. The panel also allows for easy communication and collaboration between different departments and teams, helping to streamline the process and ensure that everyone is on the same page. </span></p>
<p><img loading="lazy" decoding="async" src="https://leocode.com/wp-content/uploads/2023/05/image-33-1024x460.png" alt="" width="1024" height="460" class="aligncenter size-large wp-image-20163" srcset="https://leocode.com/wp-content/uploads/2023/05/image-33-1024x460.png 1024w, https://leocode.com/wp-content/uploads/2023/05/image-33-300x135.png 300w, https://leocode.com/wp-content/uploads/2023/05/image-33-768x345.png 768w, https://leocode.com/wp-content/uploads/2023/05/image-33-700x315.png 700w, https://leocode.com/wp-content/uploads/2023/05/image-33.png 1068w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>&nbsp;</p>
<p><strong>In summary, the main functions of LEOCoin:</strong><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;"><br />
</span><strong> The Administrator:</strong></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">has the ability to freeze tokens,</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">sets the accumulator address for token collection,</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">adds tokens within the set limit,</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">burns tokens,</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">adds a new administrator using their wallet address,</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">transfers coins between accounts.</span></li>
</ul>
<p><strong>The Owner:</strong></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">has the ability to change the emission limit,</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">adds a new administrator using their wallet address,</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">allows administrators to run the &#8220;coin transfer&#8221; function.</span></li>
</ul>
<p>&nbsp;</p>
<h1><strong>Mission successfully completed</strong></h1>
<p><span style="font-weight: 400;">Overall, the Treasury project and the LEOCoin offer a unique and innovative way for a company to reward employees and incentivize them to work towards a common goal. Effective treasury management is crucial for the success of the project, and the LEOCoin panel provides a powerful tool for owners and administrators to manage the tokens efficiently and effectively. </span></p>
<p><span style="font-weight: 400;">By maintaining clear communication and transparency, Leocode can ensure that the project is run smoothly and all workers receive the recognition and rewards they deserve. With the right tools and resources in place, the Treasury project can be a great success and benefit everyone involved!</span></p>
<p><b>If you want to talk to us about your idea, let&#8217;s arrange a virtual coffee!</b></p>
<p><b>[Contact us]</b></p>
<p>&nbsp;</p>
<p>Artykuł <a rel="nofollow" href="https://leocode.com/development/mission-leocoin-revolution-or-another-crypto/">Mission: LEOCoin – revolution or another crypto?</a> pochodzi z serwisu <a rel="nofollow" href="https://leocode.com">LEOCODE</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://leocode.com/development/mission-leocoin-revolution-or-another-crypto/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>LEOCODE AI is born!</title>
		<link>https://leocode.com/ai/leocode-ai-is-born-how-it-will-impact-2023/</link>
					<comments>https://leocode.com/ai/leocode-ai-is-born-how-it-will-impact-2023/#respond</comments>
		
		<dc:creator><![CDATA[Damian Winkowski]]></dc:creator>
		<pubDate>Thu, 06 Apr 2023 09:54:26 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Future]]></category>
		<guid isPermaLink="false">https://leocode.com/?p=20000</guid>

					<description><![CDATA[<p>Guess what? We are joining the AI revolution! At LEOCODE we’ve been building internal tools for last few years. We wanted to simplify processes and address our own needs. With...</p>
<p>Artykuł <a rel="nofollow" href="https://leocode.com/ai/leocode-ai-is-born-how-it-will-impact-2023/">LEOCODE AI is born!</a> pochodzi z serwisu <a rel="nofollow" href="https://leocode.com">LEOCODE</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p data-renderer-start-pos="1"><strong>Guess what?</strong></p>
<h2 data-renderer-start-pos="14">We are joining the AI revolution!</h2>
<p data-renderer-start-pos="51">At LEOCODE we’ve been building internal tools for last few years. We wanted to simplify processes and address our own needs.</p>
<p data-renderer-start-pos="180">With the chatGPT and AI revolution we decided to go a step ahead. We created <a href="https://www.leocode.ai/" target="_blank" rel="noopener">LEOCODE AI</a> &#8211; a toolbox full of inspirations (tools, prompts etc) for every business owner, where you find a suitable tool, test it in action and apply to your needs in different areas (development, marketing, sales etc).</p>
<p data-renderer-start-pos="426"><img loading="lazy" decoding="async" src="https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-6-o-11.49.39-1024x629.png" alt="" width="1024" height="629" class="aligncenter size-large wp-image-20011" srcset="https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-6-o-11.49.39-1024x629.png 1024w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-6-o-11.49.39-300x184.png 300w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-6-o-11.49.39-768x472.png 768w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-6-o-11.49.39-1536x944.png 1536w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-6-o-11.49.39-2048x1258.png 2048w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-6-o-11.49.39-356x220.png 356w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-6-o-11.49.39-1190x731.png 1190w, https://leocode.com/wp-content/uploads/2023/04/Zrzut-ekranu-2023-04-6-o-11.49.39-700x430.png 700w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p data-renderer-start-pos="452">This site was done in a few hours with NoCode tools like Softr + Airtable. Seriously. No developer was involved. We will add more relevant content every week.</p>
<h2 data-renderer-start-pos="452">Plans for the future</h2>
<p>We would love to gather like-minded people and explore some possibilities together. Join our <a href="https://www.leocode.ai/communities" target="_blank" rel="noopener"><strong>WhatsApp group </strong></a>and share some inspirations. Let&#8217;s sit together in the front seat of this revolution and build some practical tools.</p>
<p>In upcoming weeks we will be adding more micro tools (made by LEOCODE), inspirations and some discussions. We will shape the vibrant community and give people voice.</p>
<h2 data-renderer-start-pos="452">What&#8217;s in it for me?</h2>
<p data-renderer-start-pos="452">A lot. Join the ride. We will test and analyze different AI tools, that can boost the business and development. If you have some challenge or problem you would love to address let us know. We won&#8217;t build it for ourselves, it&#8217;s for you!</p>
<p data-renderer-start-pos="580">So, ready to jump to the Rabbit Whole and explore?</p>
<p data-renderer-start-pos="692">Let us know, we will be more than happy to guide you here.</p>
<p>Artykuł <a rel="nofollow" href="https://leocode.com/ai/leocode-ai-is-born-how-it-will-impact-2023/">LEOCODE AI is born!</a> pochodzi z serwisu <a rel="nofollow" href="https://leocode.com">LEOCODE</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://leocode.com/ai/leocode-ai-is-born-how-it-will-impact-2023/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Improve Your Cybersecurity Today: Make your passwords easy to use</title>
		<link>https://leocode.com/quality-assurance/improve-your-cybersecurity-today-make-your-passwords-easy-to-use/</link>
					<comments>https://leocode.com/quality-assurance/improve-your-cybersecurity-today-make-your-passwords-easy-to-use/#respond</comments>
		
		<dc:creator><![CDATA[Jakub Nowalski]]></dc:creator>
		<pubDate>Wed, 29 Mar 2023 13:14:05 +0000</pubDate>
				<category><![CDATA[Quality Assurance]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Trends]]></category>
		<guid isPermaLink="false">https://leocode.com/?p=19961</guid>

					<description><![CDATA[<p>About Shortcuts Users of iOS from 2018 and macOS from 2021 can use the Shortcuts app. It allows you to create simple ( and not so simple!) automation that can...</p>
<p>Artykuł <a rel="nofollow" href="https://leocode.com/quality-assurance/improve-your-cybersecurity-today-make-your-passwords-easy-to-use/">Improve Your Cybersecurity Today: Make your passwords easy to use</a> pochodzi z serwisu <a rel="nofollow" href="https://leocode.com">LEOCODE</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1 id="About-Shortcuts" data-renderer-start-pos="1">About Shortcuts<span role="presentation" class="heading-anchor-wrapper"><button aria-label="Skopiuj łącze do nagłówka" class="css-779anb"><span role="img" aria-label="Kopiuj" class="css-1afrefi"><svg width="24" height="24" viewbox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"></path><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"></path></g></svg></span></button></span></h1>
<p data-renderer-start-pos="18">Users of iOS from 2018 and macOS from 2021 can use the Shortcuts app. It allows you to create simple ( and not so simple!) automation that can make using both operating systems much more effortless.</p>
<p data-renderer-start-pos="218">By default, the app offers such shortcuts as recording water drinking, displaying the word of the day or an image (randomized from a NASA database). These automation, while quite valuable, are not wow-inducing functionalities. You can create a number of automation yourself, or use solutions developed by the Shortcuts community (e.g., on Reddit), which will significantly improve daily work on Apple devices.</p>
<h1 id="iCloud-Keychain" data-renderer-start-pos="630">iCloud Keychain<span role="presentation" class="heading-anchor-wrapper"><button aria-label="Skopiuj łącze do nagłówka" class="css-779anb"><span role="img" aria-label="Kopiuj" class="css-1afrefi"><svg width="24" height="24" viewbox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"></path><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"></path></g></svg></span></button></span></h1>
<p data-renderer-start-pos="647">An example of such a shortcut, which I personally liked very much, is the shortcut that opens iCloud Keychain. A keychain is a password manager whose database is stored in iCloud. This allows a single password library to be used simultaneously on several Apple devices logged in with the same Apple ID.</p>
<p data-renderer-start-pos="951">Until now, the user path using a keychain could look as follows.</p>
<ol class="ak-ol" data-indent-level="1">
<li>
<p data-renderer-start-pos="1019">When logging in to a website or application, there is a prompt for verification via biometrics (Touch ID / Face ID) after which the user&#8217;s data in the form of (usually) login and password were completed with the data from the keychain.</p>
</li>
<li>
<p data-renderer-start-pos="1258">when logging in to a website or application, the prompt to use the keychain does not appear. Then the user is forced to open the keychain manually. This one is found in the system settings after scrolling halfway through the settings list.</p>
</li>
</ol>
<p data-renderer-start-pos="1501">The extended user path can cause frustration. Why is it taking so long to access iCloud Keychain?</p>
<p data-renderer-start-pos="1600">The solution to this problem is a shortcut created in the Shortcuts application. Its overview looks as follows:</p>
<p data-renderer-start-pos="1600"><img loading="lazy" decoding="async" src="https://leocode.com/wp-content/uploads/2023/03/e34cc9ed-cc81-4753-9b77-be36f3932565-1024x695.png" alt="" width="1024" height="695" class="alignnone size-large wp-image-19962" srcset="https://leocode.com/wp-content/uploads/2023/03/e34cc9ed-cc81-4753-9b77-be36f3932565-1024x695.png 1024w, https://leocode.com/wp-content/uploads/2023/03/e34cc9ed-cc81-4753-9b77-be36f3932565-300x204.png 300w, https://leocode.com/wp-content/uploads/2023/03/e34cc9ed-cc81-4753-9b77-be36f3932565-768x521.png 768w, https://leocode.com/wp-content/uploads/2023/03/e34cc9ed-cc81-4753-9b77-be36f3932565-1190x807.png 1190w, https://leocode.com/wp-content/uploads/2023/03/e34cc9ed-cc81-4753-9b77-be36f3932565-700x475.png 700w, https://leocode.com/wp-content/uploads/2023/03/e34cc9ed-cc81-4753-9b77-be36f3932565.png 1312w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<div class="ak-editor-panel css-2yylw6" data-panel-type="success">
<div class="ak-editor-panel__content">
<p data-renderer-start-pos="1717"><strong>When run, the script checks what device the user is using and, depending on the operating system, runs the appropriate file containing a link to <em data-renderer-mark="true">Settings → Passwords.</em></strong></p>
<p data-renderer-start-pos="1717">
</div>
</div>
<p data-renderer-start-pos="1887">The biggest advantage is the ability to add a shortcut to the <strong data-renderer-mark="true">Dock</strong> (iOS/iPadOS/macOS) or <strong data-renderer-mark="true">Menu Bar</strong> (macOS).</p>
<p data-renderer-start-pos="1887"><img loading="lazy" decoding="async" src="https://leocode.com/wp-content/uploads/2023/03/e6b33085-e3b6-4c52-a1f8-88ead7d709da-712x1024.png" alt="" width="712" height="1024" class="size-large wp-image-19963 aligncenter" srcset="https://leocode.com/wp-content/uploads/2023/03/e6b33085-e3b6-4c52-a1f8-88ead7d709da-712x1024.png 712w, https://leocode.com/wp-content/uploads/2023/03/e6b33085-e3b6-4c52-a1f8-88ead7d709da-208x300.png 208w, https://leocode.com/wp-content/uploads/2023/03/e6b33085-e3b6-4c52-a1f8-88ead7d709da-768x1105.png 768w, https://leocode.com/wp-content/uploads/2023/03/e6b33085-e3b6-4c52-a1f8-88ead7d709da-1067x1536.png 1067w, https://leocode.com/wp-content/uploads/2023/03/e6b33085-e3b6-4c52-a1f8-88ead7d709da-1423x2048.png 1423w, https://leocode.com/wp-content/uploads/2023/03/e6b33085-e3b6-4c52-a1f8-88ead7d709da-1190x1712.png 1190w, https://leocode.com/wp-content/uploads/2023/03/e6b33085-e3b6-4c52-a1f8-88ead7d709da-700x1007.png 700w, https://leocode.com/wp-content/uploads/2023/03/e6b33085-e3b6-4c52-a1f8-88ead7d709da-486x700.png 486w, https://leocode.com/wp-content/uploads/2023/03/e6b33085-e3b6-4c52-a1f8-88ead7d709da.png 1640w" sizes="(max-width: 712px) 100vw, 712px" /></p>
<p data-renderer-start-pos="1887"><img loading="lazy" decoding="async" src="https://leocode.com/wp-content/uploads/2023/03/70bb632a-be14-4c7e-812a-68829a0c5029.png" alt="" width="464" height="136" class="size-full wp-image-19964 aligncenter" srcset="https://leocode.com/wp-content/uploads/2023/03/70bb632a-be14-4c7e-812a-68829a0c5029.png 464w, https://leocode.com/wp-content/uploads/2023/03/70bb632a-be14-4c7e-812a-68829a0c5029-300x88.png 300w" sizes="(max-width: 464px) 100vw, 464px" /></p>
<div>
<div id="content" data-inline-comments-target="true" data-testid="page-content-only" class="highlighter-context page view">
<div class="_1bsb1osq _19pkidpf _2hwx1wug _otyridpf _18u01wug">
<div data-testid="pageContentRendererTestId" id="main-content" class="wiki-content css-ptwjze e4p5jys0" data-test-appearance="full-page">
<div class="renderer-overrides">
<div class="ak-renderer-wrapper css-2c6ch1">
<div class="css-1d82orx">
<div class="ak-renderer-document">
<p data-renderer-start-pos="2087">Also, a huge plus is an ability to share the shortcuts you created 😎.</p>
<p data-renderer-start-pos="2160">If you think you might find this one useful, click on the link:</p>
<p data-renderer-start-pos="2225"><span><span aria-expanded="false" aria-haspopup="true" data-testid="hover-card-trigger-wrapper"><a href="https://www.icloud.com/shortcuts/2cba9a28a7884f24b5d7ebba57775968" role="button" data-testid="inline-card-resolved-view" class="css-6uefhw eeajecn0" tabindex="0"><span data-testid="inline-card-icon-and-title" class="css-1p7ax5 e158gagu2"><span class="smart-link-title-wrapper css-0 e158gagu8">Shortcuts</span></span></a></span></span></p>
</div>
</div>
</div>
</div>
</div>
<div id="comment-container" data-testid="comment-container" class="css-1hr6rxf e3p9ckn0"></div>
</div>
</div>
</div>
<p>Artykuł <a rel="nofollow" href="https://leocode.com/quality-assurance/improve-your-cybersecurity-today-make-your-passwords-easy-to-use/">Improve Your Cybersecurity Today: Make your passwords easy to use</a> pochodzi z serwisu <a rel="nofollow" href="https://leocode.com">LEOCODE</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://leocode.com/quality-assurance/improve-your-cybersecurity-today-make-your-passwords-easy-to-use/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ISO 27001 Implementation at LEOCODE.</title>
		<link>https://leocode.com/development/why-so-secure-a-few-thoughts-about-iso-27001-implementation-at-leocode/</link>
					<comments>https://leocode.com/development/why-so-secure-a-few-thoughts-about-iso-27001-implementation-at-leocode/#respond</comments>
		
		<dc:creator><![CDATA[Zofia Figiel]]></dc:creator>
		<pubDate>Thu, 05 Jan 2023 09:42:59 +0000</pubDate>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[innovation]]></category>
		<category><![CDATA[security]]></category>
		<guid isPermaLink="false">https://leocode.com/?p=19849</guid>

					<description><![CDATA[<p>Did I have any doubts about the certification before starting? A lot! To be honest I was quite a sceptic at the beginning. I imagined that all this paperwork wouldn&#8217;t...</p>
<p>Artykuł <a rel="nofollow" href="https://leocode.com/development/why-so-secure-a-few-thoughts-about-iso-27001-implementation-at-leocode/">ISO 27001 Implementation at LEOCODE.</a> pochodzi z serwisu <a rel="nofollow" href="https://leocode.com">LEOCODE</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h3>Did I have any doubts about the certification before starting?</h3>
<p>A lot! To be honest I was quite a sceptic at the beginning. I imagined that all this paperwork wouldn&#8217;t bring any benefits other than good marketing. I was wrong. ISO 27001 standard helps to shape processes in the company in a well-structured and secure way.</p>
<p>It’s not commonly discussed, but consistency is a precious benefit of having ISO 27001 implemented in the organisation. These standards prompt us to build a coherent system for securing information. The system is a keyword in this context. I mean that all processes need to be integrated and work well in every single department. In such a shape, it&#8217;s much easier to avoid gaps or edge cases that could create risk. While you are making preparations for audits, you also improve organisation in the whole company.</p>
<p>We learned a lot during these months of preparations. However, the most crucial knowledge was about ourselves. We found some operational weaknesses, which needed to be addressed before the external audit. We were screening every single department and looking for fragility. As a result of these internal audits, we planned activities to improve the level of security at LEOCODE.</p>
<h3>We were preparing LEOCODE for an external audit for several months and we found out that there are some milestones that have to be done before inviting auditors:</h3>
<ul>
<li><strong>choose the certifying body,</strong></li>
<li><strong>set up an internal team</strong> that would take care of ISO 27001 implementation and will be informing the board about the progress,</li>
<li><strong>plan and conduct internal audits</strong> for every department. Prepare reports which are describing potential non-compliances, among other things.</li>
<li><strong>take care of found issues:</strong> measure the risks, plan how to manage them, and keep resolving tasks one by one.</li>
<li><strong>keep informing the whole organisation about changes</strong> you implement. Remember &#8211; your system doesn&#8217;t change anything if you do not inculcate it with your employees.</li>
<li><strong>Invite auditors when you are ready.</strong> Ready means you know the system and it actually works. Auditors are going to ask for proof that your whole organisation acts like it was planned in system documents. If you have considered carefully the suggestions contained in the ISO 27001 standard while creating your Information Security Management System, don&#8217;t worry. After a dozen hours of interviews with auditors you can enjoy the meritorious certificate.</li>
</ul>
<h3>Is this the end of the story?</h3>
<p>Nothing further from the truth. Implementing ISO 27001 is a continuous process of adapting the organisation to security standards. The business environment is changing, so you need to be ready for new security threats. However, by using the standards offered by ISO 27001, you can feel confident and secure in your pursuit of excellence.</p>
<p>Artykuł <a rel="nofollow" href="https://leocode.com/development/why-so-secure-a-few-thoughts-about-iso-27001-implementation-at-leocode/">ISO 27001 Implementation at LEOCODE.</a> pochodzi z serwisu <a rel="nofollow" href="https://leocode.com">LEOCODE</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://leocode.com/development/why-so-secure-a-few-thoughts-about-iso-27001-implementation-at-leocode/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Password security</title>
		<link>https://leocode.com/development/password-security/</link>
					<comments>https://leocode.com/development/password-security/#respond</comments>
		
		<dc:creator><![CDATA[Leocode]]></dc:creator>
		<pubDate>Wed, 23 Feb 2022 20:42:21 +0000</pubDate>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[security]]></category>
		<guid isPermaLink="false">https://leocode.com/?p=17511</guid>

					<description><![CDATA[<p>This blog post should be suitable for both technical and non-technical people Using the same password everywhere The starting point would be to use the same password everywhere. To some,...</p>
<p>Artykuł <a rel="nofollow" href="https://leocode.com/development/password-security/">Password security</a> pochodzi z serwisu <a rel="nofollow" href="https://leocode.com">LEOCODE</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div>
<div><span>This blog post should be suitable for both technical and non-technical people</span><span></span></div>
<h3><span>Using the same password everywhere</span></h3>
<div><span>The starting point would be to use the same password everywhere.</span></div>
<div><span>To some, this may sound like a good idea. At least it&#8217;s easy to remember.</span></div>
<div><span>But no software is considered ultimately secure.</span></div>
<div><span>Password database leakages happen. </span><span><a href="https://haveibeenpwned.com/" target="_blank" rel="noopener">Have I Been Pwned</a></span><span> keeps track of password leakages.</span></div>
<div><span>If such a password (that is used everywhere) is obtained by the attacker, it&#8217;s best to change the password in all services where the user is using the same password.</span></div>
<div><span>But first, the user must know, that such leakage happens. The later he/she knows, the worse.</span></div>
<div><span>Online services may hide this information from their users because they may not want bad PR or they may think that they stored passwords in a secure way, so nothing bad happened (more on that later).</span></div>
<div><span>Also, the user needs to track information published by all the services that he is using, which is virtually impossible, </span><span>although there exist services like </span><span><a href="https://monitor.firefox.com/" target="_blank" rel="noopener">Firefox Monitor</a></span><span> which automate this process.</span></div>
<div><span>Therefore, it is a bad idea to use the same password everywhere. At least a user can dodge the bullet, and have only one account compromised, </span><span>instead of all of them, if a unique password is used for all services.</span></div>
<h3><span>Password storage</span></h3>
<div><span>A service needs to store its user&#8217;s password somewhere, and usually, it is stored in a database.</span></div>
<div><span>A good practice among software developers is to </span><span><a href="https://en.wikipedia.org/wiki/Hash_function" target="_blank" rel="noopener">hash</a></span><span> passwords, before putting them into the database.</span></div>
<div><span>In short, hashing is an operation, that produces a very random string of characters (hash), based on the original input, and the hash is always the same for exactly the same input.</span></div>
<div><span>Even the slightest change in the input changes its hash completely. Also, you cannot compute the original input from the hash: it&#8217;s only one-way.</span></div>
<div><span>The database can store the user&#8217;s hash, when the account is created, and then, during login, compare given hashed input, with the hash stored in the database.</span></div>
<div><span>This way, the password, even when leaked, is effectively unusable for the attack. Or is it?</span></div>
<div><span>There are basically three attacks, that can be performed, when the attacker has access to the hashed version of the password:</span></div>
<ol>
<li><span><a href="https://en.wikipedia.org/wiki/Rainbow_table" target="_blank" rel="noopener">Rainbow table</a></span><span> attack. An attacker (or all of them in cooperation) can use a precomputed list of hashes for every possible string combination, </span><span>and then look for the hash in such a list. The answer to this problem is another good practice that can be used by software developers: </span><span><a href="https://en.wikipedia.org/wiki/Salt_(cryptography)" target="_blank" rel="noopener">salting</a></span><span>. </span><span>Salting basically means adding any long-enough and random-enough string of characters to the user password before hashing (and before comparing). Salt does not have to be obfuscated. </span><span>This way, the password will have a completely different hash, and probably won&#8217;t be present in the rainbow table.</span></li>
<li><span>Exploit security issues of the hashing method itself. Hashing is based purely on math. And in math, often there are shortcuts to achieve the same result. The same applies to hashing functions. </span><span>If the hashing function is not strong enough (and usually modern enough), then an attacker can very quickly compute (by guessing) the password that produces some particular hash.</span></li>
<li><span>Guess the password (and therefore the hash if it is not salted) in a clever way. As long as rainbow tables just take a pure brute-force approach to the problem, we can use tools like </span><span><a href="https://hashcat.net/hashcat/" target="_blank" rel="noopener">hashcat</a>,</span><span> which along with an attacker&#8217;s experience, can very quickly build hashes not of random characters, but of popular words, numbers, combinations of those and so on. This is nicely described in </span><span><a href="https://www.youtube.com/watch?v=7U-RbOKanYs" target="_blank" rel="noopener">video by Computerphile</a></span><span>.</span></li>
</ol>
<div><span>So if we can </span><strong>trust</strong><span> the service provider (remember this emphasis, since it will be important later on), </span><span>that it is using a strong hashing function and salting alongside, we can be calm. Or can we?</span></div>
<h3><span>Remembering all of the passwords</span></h3>
<div><span>I&#8217;ve already described, that we all should use a different password for each access.</span></div>
<div><span>It&#8217;s impossible to remember all of them, and that&#8217;s where password managers come in.</span></div>
<div><span>A password manager is a tool that stores all passwords in one place, and expects the user to remember only one password (sometimes called a &#8220;master password&#8221;), </span><span>that is used to access all other password.</span></div>
<div><span>Password managers usually have very useful features. Do you need all of them? Each useful feature makes application more complex, therefore increasing the </span><span>risk of security problems. And each of these features (and the company itself) you have to </span><strong>trust them</strong><span> &#8211; again, more on that later.</span></div>
<h3><span>On single sign-on (SSO)</span></h3>
<div><span>Instead of storing passwords inside a password manager, we can use single sign-on (SSO), which is a technique of passing user verification to another service.</span></div>
<div><span>For example, if we want to log in to a given site, sometimes there is an option to &#8220;<em>Sign using Google</em>&#8221; or &#8220;<em>Sign using Facebook</em>&#8220;. That&#8217;s basically SSO.</span></div>
<div><span>This is actually an excellent technique, and I have almost nothing bad to say about it.</span></div>
<div><span>First &#8211; we don&#8217;t have to trust a service provider to securely store our password. It is not storing it at all.</span></div>
<div><span>When we want to change a password for any reason, we change it in one place, and we&#8217;re done.</span></div>
<div><span>Instead, we </span><em>only</em><span> have to </span><strong>trust</strong><span> Google or Facebook, and such big companies have the highest security standards, or do they?<br />
</span></div>
<div><span>Also, such SSO providers, are </span><strong>very</strong><span> likely to be attacked since a successful attack will grant access to a number of accounts at once.</span></div>
<h3><span>Lack of encrypted connection</span></h3>
<div><span>We all know the padlock icon in our browsers. This means that the connection to the service provider is using a secure (encrypted) connection. But what does it mean?</span></div>
<div><span>Whenever we send (for example, login information) to another server (website) it gets encrypted. This prevents man-in-the-middle attack. Who is this man in the middle?</span></div>
<div><span>When we establish a connection to the given server, information is not sent there directly (unless our device is connected directly to it). Multiple routers, ISP-providers, </span><span>and other devices are in-between, and redirect requests to each other, until finally it gets to the target.</span></div>
<div><span>If connection is </span><strong>not encrypted</strong><span>, each of these devices can look into the information we send. Therefore, each of these devices can steal our password.</span></div>
<div><span>This becomes especially dangerous if we are using public WiFi networks.</span></div>
<blockquote>
<div><span>Hey, I&#8217;m using VPN bro, I&#8217;m secured, no worries! :-)</span></div>
</blockquote>
<div><span>Well, yes and no. While the connection to the VPN provider will be encrypted, if the target service doesn&#8217;t support encryption, information from the VPN provider to this service will be sent unencrypted.</span></div>
<div><span>And we don&#8217;t know what device is working between the VPN provider&#8217;s server and the service&#8217;s server. This gives a false impression of security. And still, we have to </span><strong>trust</strong><span> the VPN provider in such a case.</span></div>
<h3><span>Convenience</span></h3>
<div><span>Providing a password every time the user wants to use the service is troublesome. That&#8217;s why services often provide a feature called &#8220;remember password&#8221;.</span></div>
<div><span>Well, the name is kind of misleading, because surely the password is not &#8220;remembered&#8221; anywhere (hopefully) &#8211; usually some access token is stored alongside its expiration time, </span><span>after which the user will have to use their password once again.</span></div>
<div><span>But this remember password feature is actually another security hole.</span></div>
<div><span>What if somebody can have access to the device with password remembered? An attacker can have such access through a trojan virus or just have the access physically (e.g. when a device is lost or left unprotected in a public space). In such a situation even if we had the strongest password, used a password manager, and the password was stored securely by the service provider, the attacker got access to our account.</span></div>
<div><span>All in the name of convenience. Unfortunately, convenience and security </span><em>typically</em><span> go in the opposite direction.</span></div>
<div><span>That&#8217;s something worth remembering, to </span><em>at least</em><span> take the risk consciously.</span></div>
<h3><span>Trust</span></h3>
<div><span>And then comes the trust. In my opinion, the most important factor in account security.</span></div>
<div><span>It seems that you have to trust a service provider to securely store your password, or trust a password manager to securely store/encrypt/send to you your password.</span></div>
<div><span>But how much trust can be put into companies, that prefer centralization and authoritarian (not to say totalitarian) control over their users?</span></div>
<ul>
<li><span>What guarantee do we have, that our password manager account won&#8217;t be locked for any reason, and we&#8217;ll lose all of our passwords?</span></li>
<li><span>What guarantee do we have, that everything is stored securely, when we actually </span><strong>cannot check</strong><span> how it&#8217;s stored?</span></li>
<li><span>What guarantee do we have, that service provide doesn&#8217;t have bugs, that allow to access account without password at all?</span></li>
</ul>
<div><span>Well, as long as we physically don&#8217;t store anything by ourselves, we don&#8217;t have any guarantee that something bad won&#8217;t happen.</span></div>
<div><span>And that&#8217;s something, that </span><strong>everyone has to take into account</strong><span>, and unfortunately, this mindset is not very popular these days.</span></div>
<div><span>Quite the opposite, despite the network being more and more present in our lives. </span></div>
<div><span>We are storing everything in the </span><em>cloud</em><span>, not understanding how anything works, and we are happy.</span></div>
<div><span>While we may not be able to give up on some external services, and we just may have to trust them, </span><span>we can do something about storing our passwords.</span></div>
<h3><span>What to do?</span></h3>
<div><span>First is to store our passwords locally (in the form of an encrypted backup, or just by using an offline password manager like </span><span><a href="https://www.passwordstore.org/" target="_blank" rel="noopener">Pass</a></span><span> which I highly recommend, although it requires some technical knowledge to make the best use of), so we are </span><strong>independent</strong><span> &#8211; another word probably already forgotten nowadays.</span></div>
<div><span>Another, unfortunately not widely supported, possibility is to use </span><em>keys</em><span> (software or hardware based ones) that implement asymmetric encryption (build of public and private key concept)</span></div>
<div><span>To illustrate in a simple way asymmetric encryption login, imagine envelope, lock, and a key. You give such a lock (public key) to anyone, any service. You own the only key that can open the lock (private key).</span></div>
<div><span>The online service has your lock (and so anyone can have one), and it can send you a message in the envelope (encryption) locked with this lock. You open it on your computer, see what&#8217;s inside, and </span><span>send this message back to the service. This way, the service knows, that you are you (private key owner), and not someone else, because you were the only one to see what&#8217;s inside the envelope.</span></div>
<div><span>In practice, this technique is actually used in a reversed (and more technical) way: a service sends you a message, you encrypt this message, and send the encrypted message back &#8211; and they are able to decrypt it.</span></div>
<div><span>Yet another way to improve security is to use an open source software (OSS) password manager, if you are using a password manager at all.</span></div>
<div><span>And I&#8217;m not saying, that OSS is more secure, but at least </span><strong>you have the possibility</strong><span> to check, whether something is stored securely or not.</span></div>
<div><span>Using VPNs, popular password managers, or SSO (Google, Facebook, etc.), you don&#8217;t even have this possibility. And you never know, if they don&#8217;t hide something nasty from you.</span></div>
</div>
<p>&nbsp;</p>
<p style="text-align: right; font-size: 16px;">Author: Mateusz Koteja</p>
<p>Artykuł <a rel="nofollow" href="https://leocode.com/development/password-security/">Password security</a> pochodzi z serwisu <a rel="nofollow" href="https://leocode.com">LEOCODE</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://leocode.com/development/password-security/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
