Founder's blog https://www.jitbit.com/ Jitbit Sofwtare blog en-us http://blogs.law.harvard.edu/tech/rss Jitbit RSS-Generator 1.1 Tue, 30 May 2023 10:45:23 GMT Tue, 30 May 2023 10:45:23 GMT https://www.jitbit.com/news/5369-streamlining-hr-operations-exploring-helpdesk-software-solutions/ https://www.jitbit.com/news/5369-streamlining-hr-operations-exploring-helpdesk-software-solutions/ Streamlining HR Operations: Exploring Helpdesk Software Solutions <p> Human Resources (HR) departments play a pivotal role in managing an organization's workforce and maintaining employee satisfaction. With numerous tasks ranging from onboarding and payroll to performance management and employee relations, HR professionals often find themselves overwhelmed with administrative responsibilities.</p><!--more--> <p>In today's digital age, helpdesk software has emerged as an invaluable tool, empowering HR teams to streamline operations, enhance productivity, and deliver exceptional employee experiences. In this article, we will explore the benefits of helpdesk software for HR departments and highlight several notable options, including Jitbit, renowned for its flexibility and user-friendly interface. </p> <h3>The Advantages of Helpdesk Software for HR Departments</h3> <ol> <li>Efficient Ticket Management: Helpdesk software offers HR teams a centralized platform to receive, track, and prioritize employee requests or tickets. This streamlined approach ensures that no request goes unnoticed, reducing the chances of overlooked inquiries and improving response times.</li> <li>Automation and Workflow Optimization: HR helpdesk software automates repetitive tasks and simplifies workflow processes. Features such as automated ticket routing, predefined response templates, and knowledge base integration enable HR professionals to address routine inquiries swiftly, freeing up their time for more strategic initiatives.</li> <li>Enhanced Collaboration: Helpdesk software fosters collaboration among HR team members by enabling seamless ticket assignment, internal communication, and task delegation. This collaborative environment promotes efficient problem-solving and knowledge sharing within the HR department.</li> <li>Data-Driven Insights: Helpdesk software captures and analyzes data on ticket volume, response times, and resolution rates. These analytics provide valuable insights into HR operations, allowing teams to identify recurring issues, bottlenecks, and areas for improvement. Data-driven decision-making helps HR departments optimize their processes and enhance employee satisfaction.</li> <li>Self-Service Options: Helpdesk software often includes self-service portals, empowering employees to find answers to frequently asked questions, submit requests, or access HR-related resources independently. Self-service options not only reduce the HR team's workload but also empower employees to take charge of their own HR-related needs.</li> </ol> <h3>Top Helpdesk Software Options for HR Departments:</h3> <ol> <li>Jitbit: Jitbit is a leading helpdesk software solution renowned for its flexibility and intuitive interface. It offers robust ticket management features, automation capabilities, and extensive customization options. With Jitbit, HR teams can easily streamline their processes, track employee requests, and collaborate effectively. <li>Zendesk: Zendesk is a widely recognized helpdesk software that caters to diverse industries, including HR. It offers a comprehensive suite of tools for ticket management, automation, and reporting. Zendesk's user-friendly interface and customizable workflows make it a popular choice for HR teams seeking a scalable solution. <li>Freshdesk: Freshdesk is a cloud-based helpdesk software that provides HR departments with efficient ticket management, automation, and self-service options. It offers an intuitive user interface and robust collaboration features, enabling HR teams to enhance their service delivery and optimize employee interactions. <li>ServiceNow: ServiceNow is a powerful helpdesk software platform that serves HR departments with its comprehensive suite of tools. It offers advanced features such as case management, knowledge base integration, and self-service options. ServiceNow's robust analytics and reporting capabilities empower HR teams to make data-driven decisions. </li></ol> <p>In today's fast-paced digital landscape, <a href="https://www.jitbit.com/news/internal-help-desk/">internal helpdesk software</a> has become a crucial asset for HR departments aiming to streamline their operations, improve employee satisfaction, and drive productivity. The flexibility and user-friendly interface of Jitbit, along with other notable options such as Zendesk, Freshdesk, and ServiceNow, make these solutions ideal for HR teams seeking efficient ticket management, workflow optimization, and data-driven insights. By implementing the right helpdesk software, HR departments can revolutionize their processes and focus on strategic initiatives that contribute to organizational success.</p> Tue, 30 May 2023 10:45:23 GMT https://www.jitbit.com/news/5368-6-lesser-known-helpdesk-ticketing-features-everyone-loves/ https://www.jitbit.com/news/5368-6-lesser-known-helpdesk-ticketing-features-everyone-loves/ 6 Lesser Known Helpdesk Ticketing Features Everyone Loves <p>We track feature usage. And as it turns out, along with the "core" helpdesk functions, like tight email integration (creates tickets from incoming emails), or "single sign-on" (authenticates users against the company's existing accounts), here's some lesser known but VERY productive help desk features our customers love:</p><!--more--> <h2>1. Automation</h2> <h4>used by: <u>79.4%</u> of Jitbit customers</h4> <p style="text-align: center;"><img src="https://i.imgur.com/7ZIIlq4.png"></p> <p>"If this - do that" engine opens up endless possibilities. How about when a ticket has "printer issues" in the subject line - the helpdesk app launches a script that cleans up the printer spooler via an API call? And then auto-responds "please try again". It's the little automations like that, the ones that depend on content of the incoming email, that can ease your support load drastically.</p> <p>Here's more automation examples:</p> <ul> <li>A ticket with "Critical" priority stays unanswered for an hour - send an alert to admins</li> <li>A user started live chat session and no one responded in 5 minutes - send a "everyone's busy, give us a moment"</li> <li>When a ticket comes in - send an API call to external CRM</li> </ul> <h2>2. Email forwarding</h2> <h4>used by: <u>74.5%</u> of Jitbit customers</h4> <p style="text-align: center;"><img src="https://i.imgur.com/zHttsj3.png"></p> <p>Imagine someone sent an email to your <i>personal</i> mailbox by mistake, instead of emailing the support inbox? Forward the email to the "official" helpdesk-monitored address, and have the app create a ticket as if the end user had emailed techsupport themselves. That's called "email forwarding" and it extracts the original sender from forwarded email. Our customers love this feature.</p> <h2>3. "Company" accounts and contact management</h2> <h4>used by: <u>84.4%</u> of Jitbit customers</h4> <p style="text-align: center;"><img src="https://i.imgur.com/0ocVqPG.png"></p> <p>When a ticketing app is used, for example, by an MSP - the MSP needs to know which company (or department) the user belongs to. What were the previous interactions, how they were resolved and how long it took. Of even better - have a setting that maps email domains to companies automatically: "all email from the <code>XYZ.com</code> domain maps to company account XYZ" without the need to connect the dots manually. And you can see assigned "assets", pre-populate client information from an external source (like your in-house CRM system) etc.</p> <h2>4. Ticket dependencies</h2> <h4>used by: <u>43.7%</u> of Jitbit customers</h4> <p style="text-align: center;"><img src="https://i.imgur.com/gYjxUb3.png"></p> <p>The ability to quickly build a simple "project" out of a collection of tickets. Linking tickets, merging related tickets, make one ticket a "subticket" of another, creating custom statuses for tickets, managing "due dates" and seeing that on a calendar view or a Gantt chart.</p> <h2>5. Templates, custom fields and customizations</h2> <h4>used by: <u>80.7%</u> of Jitbit customers</h4> <p style="text-align: center;"><img src="https://i.imgur.com/Ww231yC.png"></p> <p>Having ticket templates that depend on a ticket "category" can be a life saver when filling out repetitive information. Custom fields like "job title", "issue type" etc. come useful too. And not just for tickets - for users accounts and "companies" too.</p> <p>That's not all. Power users love our "custom JavaScript apps" that you can embed right into our pages, along with custom CSS code, HTML announcements. Not familiar with code? Not a problem, we also have visual color editors, logo/favicon upload for less tech savvy users.</p> <h2>6. Time tracking</h2> <h4>used by: <u>58.9%</u> of Jitbit customers</h4> <p style="text-align: center;"><img src="https://i.imgur.com/FSa9TIo.png"></p> <p>Every time someone is working on a ticket, the helpdesk app can track the "time spent" - via manual entry or automatic timer/ticker. Allowing you to track where your teams time is going, quickly identifying pain points.</p> Mon, 02 May 2022 21:01:38 GMT https://www.jitbit.com/news/5366-how-we-migrated-a-1tb-database-from-win-to-linux-with-no-downtime/ https://www.jitbit.com/news/5366-how-we-migrated-a-1tb-database-from-win-to-linux-with-no-downtime/ How we migrated a 1TB database from Win to Linux with no downtime <p> Our helpdesk app, both the <a href="https://www.jitbit.com/saas-helpdesk/">SaaS</a> and the <a href="https://www.jitbit.com/helpdesk/">self-hosted</a> version - is powered by SQL Server. The SaaS version additionally uses S3 (to store file-attachments), Redis (to persist in-memory cache between deploys and restarts) and other fancy cloud stuff, but there's still one big ass SQL Server database at the heart of it. </p> <p><b>And this Christmas we've migrated it to Linux.</b></p><!--more--> <br> <blockquote class="twitter-tweet tw-align-center"> <p lang="en" dir="ltr">We've just migrated a 1TB (!) database.<br><br>From a Windows server to a Linux one.<br><br>With zero downtime. <a href="https://t.co/DyhlGBcK1B" rel="nofollow">pic.twitter.com/DyhlGBcK1B</a></p>&mdash; Alex Yumashev (@jitbit) <a href="https://twitter.com/jitbit/status/1475541328750592005?ref_src=twsrc%5Etfw" rel="nofollow">December 27, 2021</a> </blockquote> <script async="" src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> <p> It's been 4 years since MS has first announced Linux support for SQL Server. We were super excited, but didn't want to rush things up. The nature of our app is too critical to afford betatesting new hotness. We wanted to wait this out... 4 years forward, SQL on Linux has matured from a fun little experiment into a first class Linux-citizen. Microsoft claims there are tens of millions of SQL Servers running under Linux (and that's just the ones with telemetry enabled) and the docker image has 70 million pulls. Time to give it a try. </p> <h3>Why Linux?</h3> <p> <b>Performance</b> while "windows vs. linux" SQL benchmarks are nearly identical, one still gets better performance on Linux. Simply because Linux adds less overhead. The OS footprint is much smaller even compared to "Windows Core" or whatever the "headless" Windows version is called nowadays. AWS's default bare-bones Ubuntu image uses only ~150MB RAM to run, and you can reduce this even further by removing unneeded stuff like "Amazon SSM Agent" etc. This results in faster startups, warmups and <i>service restarts</i> - the SQL process takes only a couple of seconds to restart on a Linux machine even under a heavy load, while on Windows this can take literally minutes. </p> <p> <b>Cost</b> Windows is 2X more expensive in the cloud. Our typical database server is a 4-core 32GB RAM instance, which makes about $250 per month at AWS. By simply moving to Linux we get a 2X more powerful machine (8-core 64GB RAM) for less ($230/month). </p> <h3>Migrating a huge database with minimum downtime</h3> <blockquote>This section is not specific to SQL Server, you can use a similar technique with any relational database</blockquote> <p>Our database is nearly 1 TB big and is spread across 3 drives for speed (two for the data, one for the transaction log). It's basically performance 101: keep the most frequently JOIN'ed tables on different disks and move the transaction log away from both.</p> <p>To move this whole setup between servers with minimum downtime, SQL Server, basically, offers three ways of migrating:</p> <ul> <li>Database mirroring - not available on the Linux version and some MS docs even mention this feature is about to be deprecated (?)</li> <li>"Availability groups" - PITA to set up, tried, failed</li> <li>Log shipping - the option we've chosen</li> </ul> <p>"Log shipping" technique is not unique to SQL Server and exists in almost any RDBMS engine, including PostgreSQL and MySQL. It is the process of taking transaction log backups at the <i>primary</i> server and applying them to the <i>secondary</i> server. It can be scripted or manual, either way the best part is that you can use the existing full/diff/log backups you're already taking (are you?). The servers do not need to "know" about each other, you don't need to set up partnering, mirroring, security or online connectivity between the two.</p> <p>The steps are fairly simple:</p> <ol> <li>Make sure all your backups are compressed, so a 1TB database shrinks down to a ~180GB file. Makes copying much faster</li> <li>Restore the full backup on the new server well in advance</li> <li>Apply all the diff backups if any</li> <li>Apply incremental log backups that you're already taking, one by one</li> <li>Make one final log backup by hand, restore it on the new server too</li> <li>Take a break and breathe &#128521;. At this point you have a replica that is only 1-5 minutes behind the primary server</li> <p>The next steps can be done manually, but we wrote a script to make the whole transition more "atomic"</p> <li>Take the app offline and "pause" all the HTTP traffic on the load balancer (or set it to retry failed upstream requests after 20 seconds, HAProxy can do that), so it just looks like regular "sluggishness" to an end user</li> <li>Make one final transaction log backup (it's fast and results in a very small compressed file since we're only minutes behind)</li> <li>Copy & restore the file at the new server (again, fast, see above)</li> <li>Switch the app connection-string to the new server</li> <li><s>Start praying</s></li> </ol> <p>We've managed to keep the downtime under 25 seconds. Our customers have barely noticed anything. The ones who keep working on a Christmas weekend anyway.</p> <p>Funny enough the biggest challenge came from an unexpected source - how do we copy a huge backup file over from Windows to Linux? It's kinda sad that in 2021 you still have to use the good old <code>scp</code> (<code>WinSCP</code> on Windows) and cannot simply detach a network drive from a Windows instance and plug it into the Linux one (b/c of the incompatible file systems obviously).</p> <h3>SQL Server on Linux first impressions</h3> <p>We were expecting all kinds of glitches, hiccups, bugs and slowdowns, but it all went surprisingly smooth. The Linux machine has calmly picked things up and is carrying the load just fine. SQL Server Management Studio works perfectly from an external machine and the whole DBA experience is just... the same.</p> <p>The only gotcha we have found so far, is that the "max memory" SQL Server setting was being ignored under Linux. We've set it to 62 out of 64 GB, but the memory was stuck at 47GB. Turns out SQL simply does not "see" all the RAM available, reporting only 50GB out of the 64GB we actually had. It appears you have to tweak the Linux-exclusive <code>memory.memorylimitmb</code> <a href="https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-configure-mssql-conf?view=sql-server-ver15#memorylimit" rel="nofollow">setting</a> otherwise SQL Server "thinks" there's only 80% of RAM available on the machine.</p> <p>Overall our app handles 1000-1100 requests per second on a busy day and the new database works just fine.</p> Wed, 29 Dec 2021 22:29:53 GMT https://www.jitbit.com/news/saas-sla/ https://www.jitbit.com/news/saas-sla/ SLA's are sadly uncommon in the SaaS space <p>After the recent Facebook outage I got curious how many SaaS B2B products have an actual SLA - a Service Level Agreement with a legally binding <b>uptime commitment</b>. Turns out SLA's are very uncommon in the SaaS space. Here's a little comparison table I compiled, just for illustration purpose.</p><!--more--> <p>First I tried to remember every well known product like Github, Salesforce or Basecamp. When I ran out of ideas I opened <a href="https://www.indiehackers.com/products" rel="nofollow">IndieHackers</a> (for the lack of a better "saas database") and went through the most notable bootstrapped products with revenue > $200k/mo. I also asked around (friends and coworkers mostly) and finally filtered the list down to "critical" B2B services only, where an SLA would actually make sense. We can all live without a social media scheduler or an image editor for 5 minutes. But help desk ticketing, issue tracking, payment processing, CRM, project management, email marketing and any form of IaaS (VoIP or ESP) should probably stay up at all times.</p> <p>For every product I tried googling for "{{product}} sla", "{{product}} service level agreement" or "tos" and looked through the legal docs to find any form of uptime commitment. Here's what I found:</p> <p> <table border="1" cellpadding="5" style="font-size:90%" align="center"> <tr> <th>SaaS</th> <th>Target uptime</th> <th>Moneyback</th> </tr> <tr> <td>Intercom</td> <td>99.8%</td> <td>none (right to cancel without penalty)</td> </tr> <tr> <td>Salesforce</td> <td>none</td> <td>none</td> </tr> <tr> <td>HelpScout</td> <td>none</td> <td>none</td> </tr> <tr> <td>Stripe</td> <td>none</td> <td>none</td> </tr> <tr> <td>Basecamp</td> <td>99.99%</td> <td>10x refund for the time it was down</td> </tr> <tr> <td>Slack</td> <td>99.99%</td> <td>10X refund for the time it was down</td> </tr> <tr> <td>Freshdesk</td> <td>none</td> <td>none</td> </tr> <tr> <td>Mailchimp</td> <td>none</td> <td>none</td> </tr> <tr> <td>ConvertKit</td> <td>none</td> <td>none</td> </tr> <tr> <td>Zendesk</td> <td>99.95%</td> <td>10% monthly credit</td> </tr> <tr> <td>SendPulse</td> <td>none</td> <td>none</td> </tr> <tr> <td>Mailgun</td> <td>99.99%</td> <td>5% monthly credit for every 30 minutes</td> </tr> <tr> <td>Gumroad</td> <td>none</td> <td>none</td> </tr> <tr> <td>Zoho</td> <td>none</td> <td>none</td> </tr> <tr> <td>Gitlab</td> <td>none</td> <td>none</td> </tr> <tr> <td>GitHub</td> <td>none (99.9% for "enterprise")</td> <td>none (10% quarterly fee for "enterprise")</td> </tr> <tr> <td>Jitbit &#128075;</td> <td>%99.98</td> <td>10x refund for the time we're down</td> </tr> <tr> <td>Retool</td> <td>none</td> <td>none</td> </tr> <tr> <td>Ghost</td> <td>99.9%</td> <td>5% monthly credit for for every hour</td> </tr> <tr> <td>JivoChat</td> <td>none</td> <td>none</td> </tr> <tr> <td>MailUp</td> <td>99%</td> <td>none</td> </tr> <tr> <td>Baremetrics</td> <td>none</td> <td>none</td> </tr> <tr> <td>Typeform</td> <td>none</td> <td>none</td> </tr> <tr> <td>Notion</td> <td>none</td> <td>none</td> </tr> <tr> <td>Happyfox</td> <td>none</td> <td>none</td> </tr> <tr> <td>Grasshopper</td> <td>none</td> <td>none</td> </tr> <tr> <td>Less Annoying CRM</td> <td>none</td> <td>none</td> </tr> <tr> <td>Shopify</td> <td>none</td> <td>none</td> </tr> <tr> <td>Sentry</td> <td>none</td> <td>none</td> </tr> <tr> <td>Linear app</td> <td>none</td> <td>none</td> </tr> <tr> <td>Newrelic</td> <td>99.8%</td> <td>none (right to cancel without penalty)</td> </tr> </table> <br><br> <h3>Notable comments</h3> <p>1. I mean no disrespect to fellow self-funded SaaS bootstrappers, we all have our plates full. Hey, we at Jitbit didn't have an <a href="https://www.jitbit.com/saas-helpdesk/sla-policy/">SLA</a> up until recently! So I actually expected the lesser known products to have no SLA, but was really surprised to discover giants like Shopify, Salesforce and Stripe havign no uptime commitment.</p> <p>2. I might have missed something in my research, many companies publish a spaghetti of PDFs that are hard to get through. Also a couple of companies do promise "best effort" uptime percentage in casual Twitter threads and support forums, but I guess that doesn't count as a legal obligation.</p> <p>3. Worth noting that all major cloud providers (AWS, Azure, GCP) all have solid SLA's in place</p> <p>4. Feel free to send more examples and corrections.</p> Fri, 05 Nov 2021 04:39:39 GMT https://www.jitbit.com/news/5364-jitbit-helpdesk--v10-on-premise-rc/ https://www.jitbit.com/news/5364-jitbit-helpdesk--v10-on-premise-rc/ Jitbit Helpdesk v10 On-Premise (RC) <p>We've just published <b>Jitbit v10 - Release Candidate</b> for our self-hosted customers - the next gen <i>.NET Core</i> based version that works on both Linux and Windows.</p><!--more--> <h2>What happened?</h2> <p>As you might know, Jitbit has been <a href="https://www.jitbit.com/news/5363-jitbit-is-ported-to-net-core/">ported</a> to .NET 5 / .NET Core last month. This new port has already been battle-tested by our SaaS customers for more than 5 weeks and we think it's ready for the on-premise customers.</p> <p>After a decade of being based on .NET Framework, it's time to move our Helpdesk to ".NET Core", which is a new cross-platform thing from Microsoft. Your options are not limited with Windows and IIS any more, you can now run Jitbit on Ubuntu, CentOS, Red Hat, behind an Nginx, Caddy or HAProxy webserver. Or you can decide to stay on Windows of course (that's what we do internally, for now), but in that case there's a new prerequisite: IIS now requires you to install "ASP.NET Hosting Bundle" on your server, which is a small MS addon.</p> <p>You'll find the release notes and detailed upgrade instructions <a href="https://www.jitbit.com/helpdesk/versionhistory/">here</a>.</p> <h2>Why "Release Candidate"?</h2> <p>Currently the new version has been tested on numerious virtual machines with different Windows Server versions, a Ubuntu Linux, CentOS Linux etc. It also has been powering our <a href="https://www.jitbit.com/saas-helpdesk/">SaaS</a> for almost 2 months. And about 40 of our customers have already upgraded their on-premise installations.</p> <p>But we've been shipping Windows software for almost two decades now, and we've seen so many weird edge-cases that we're not ready to trust ourselves just yet. We've already received a couple of pretty weird bug-reports (all fixed) from the Windows customer, so yeah, it's an "RC" for now.</p> <p>So please backup your application folders before trying this release, so that you can roll-back any time (rolling back is really easy, just overwrite everything with your old files). The data layer hasn't been touched, and we've paused all database schema migrations for the last2 months, so there's no risk losing production data. Just the risk of freezing the app unresponsive.</p> <h2>Why .NET 5?</h2> <p>Because (a) Linux, (b) MS is sunsetting .NET Framework in favor of .NET Core, (c) .NET Core is <i>much faster</i> and we've already received some very positive feedback about how snappy the new ticketing app has become.</p> <h2>Any plans to support Docker?</h2> <p>Yes! But not in the nearest future.</p> <p>Give it a try and happy ticketing!</p> Mon, 18 Oct 2021 11:52:59 GMT https://www.jitbit.com/news/5363-jitbit-is-ported-to-net-core/ https://www.jitbit.com/news/5363-jitbit-is-ported-to-net-core/ Jitbit is ported to .NET Core <p>I figured we owe this post to our customers (mostly) because of all the fluctuations we've been going through lately.</p><!--more--> <p>There's been no downtime, but every now and then some of the customers did experience hiccups with the SaaS-version of our Helpdesk. Some people reported UI bugs, some experienced the occasional "HTTP 503" errors in their browsers this past weekend, a small number of folks complained about the sluggishness and a couple of people even said their Office-365 email was delayed... Etc.</p> <p>That's because...</p> <h2>We rewrote Jitbit Helpdesk last week</h2> <p>Well, this was not a <i>complete</i> rewrite, but... Yeah, Jitbit SaaS has been ported to ".NET Core".</p> <p>As you might know, Jitbit Helpdesk is (was) based on ".NET Framework", particularly "ASP.NET". It is a robust, well documented and battle-tested web application framework. And I'm a <a href="https://www.jitbit.com/alexblog/276-thoughts-on-tech-stacks-for-bootstrapped-startups/">huge fan</a> of old, boring, unsexy and reliable tech (as opposed to "hot", "new" and "awesome") when it comes to production, client-facing code... But it's time to move on. Mainly from ".NET Framework" to ".NET Core" (aka ".NET 5" as Microsoft decided to drop the "Core" from the name confusing some people along the way).</p> <p>Even though the new name sounds similar and uses the same C# programming language, about 50% of the code is mostly incompatible and needs to be thrown away. System libraries and classes have been renamed, moved and sometimes... deleted, so you have to hack your way around. Not to mention it uses a completely new runtime that has nothing to do with the "old" .NET Framework.</p> <p>It's like rewriting an app from Windows to Mac. You use the same programming language, even some overlappng libraries, but the toolset, the code, the boilerplate - are very different. I'll post a more detailed technical article about the actual rewrite later, consider this a quick writeup to keep everyone updated.</p> <h2>Why move?</h2> <p>Some of the customers have asked a fair question - why even do that? Why take a reliably working app and tear it apart? Oh, believe me, we didn't do it out of fun. It's been 2.5 weeks of nonstop hard work, staying up late, writing thousands lines of code and testing, testing, testing... And before that - months and months of preparations to make the code more "portable".</p> <p>I even wrote an angry post about <a href="https://www.jitbit.com/alexblog/301-reasons-not-to-upgrade-aspnet-to-aspnet-core-but-you-will-have-to-anyway/">not moving to .NET Core</a> right in the middle of the rewrite... So why do that?</p> <h3>1. Performance</h3> <p>.NET Core is <i>fast</i>. Ridiculously fast. Even faster than C++ on some <a href="https://devblogs.microsoft.com/aspnet/wp-content/uploads/sites/16/2020/10/grpc-perf-graph.png" rel="nofollow">benchmarks</a>. In fact, .NET is currently the fastest backend technology available.</p> <p><b style="color:#bd1e20;background:#ffe6e6">.NET is 20x faster than Ruby, 10x faster than Python, 7x faster than PHP, 5x faster than Node.js, 2x faster than Kotlin/Java, 10% faster than C++ and 5% faster than Go.</b> Rust is the only thing that beats it (for now).</p> <p>.NET is truly async (means the app keeps processing other requests while i/o operations are pending), and uses less memory.</p> <p>But enough with the technical details. What this means in plain English, is that our customers get a helluva snappy app. The TTFB (time to first byte) is 3-4 milliseconds. Three to four! <s>Try to beat that, Ruby!</s></p> <h3>2. Linux-compatible</h3> <p>Finally. This is not something our SaaS clients would care about, but it still counts: linux is faster than Windows and it takes the app less time to "warm up".</p> <p>Also this is a huge, huge benefit for our self-hosted customers, who are getting the linux compatible update within 2 months.</p> <h3>3. Most importantly: .NET Framework is dead</h3> <p>It still comes bundled with Windows and all, it is still supported, but make no mistake, MS's attention is with "Core" now. All the latest fixes, updates and performance improvements are going that way now. The more we postponed our rewrite, the more incompatible our codebase would become.</p> <h2>What's next</h2> <p>The SaaS-version is now .NET 5. We still keep a close eye on the app, the logs and the metrics, but most of the bugs and hiccups have been fixed. Next week we'll get back to working on your feature requests and the backlog.</p> <p>In 1-2 months we hope to release the self-hosted, linux compatible version. Probably even sooner but I'm being cautious.</p> <p>Stay tuned!</p> Mon, 13 Sep 2021 16:26:47 GMT https://www.jitbit.com/news/5362-amazon-vs-the-rest-of-the-faang/ https://www.jitbit.com/news/5362-amazon-vs-the-rest-of-the-faang/ Amazon vs. the rest of the FAANG <p>About eight years ago someone hacked into our AWS account and launched hundreds of GPU virtual machines for cryptomining. Our monthly bill went from the regular $200 to over $50k overnight. We did not have a paid "support" plan, we were not a VIP client (on the contrary, we were two scared kids trying to grow our little SaaS). But one phone call - and the problem was solved in 10 minutes.</p><!--more--> <p>I didn't even call AWS customer support, I phoned the "regular" Amazon online store, the Italian one at "amazon.it". I'm not even based in Italy, it was simply the first thing popped up during my "panic-mode googling". But in 10 minutes they managed to transfer me to the AWS "US East" support line, verify my identity, connect me to the right person, who looked up the account statistics, swore "damn those miners" and reverted the $50,000 bill.</p> <hr> <p>A couple of months ago we switched our EC2 disks from "gp1" to the new "gp2". After doing that the "read/write latency" has jumped from 1ms to 4-6ms. Not a huge deal, actually. This time I didn't even write support, I just posted a screenshot to Reddit. Like, look folks, what a bummer...</p> <p>An hour later, an AWS employee showed up in the comments, provided his email, contacted me privately, CC'ed another engineer, and in 4 hours the disk was working fine again.</p> <p>Not to mention endless hours of emailing and live-chatting back and forth with the German and UK Amazon retail support while buying-returning-changing sneakers, home appliances, mechanical keyboards, laptops and who knows what else.</p> <p><b>Amazon is the only FAANG company where I can get a hold of an actual real person.</b></p> <p>And that person will most likely solve my problem. This is insanely cool. And yes - I know everything about the abusive practices, hellish working conditions, the unionization fight in the US... But from a client standpoint - Amazon is <i>addictively good</i>.</p> <p>Now try to get a hold of a real person at Google. Or Facebook. Good luck with that.</p> <p>We are currently connecting an extended Facebook API, which requires us to send a review request. For that - you need to verify the legal entity. For that - you need to have a paying advertiser account. Which we do have, but it is blocked (???) for some reason. And to unblock it, you need to file a thousand documents including passports, tax exempts and almost an STD certificate...</p> <p>And at every step of the way you're communicating with a robot. Which sends you automated replies like "we're unable to validate your documents because our OCR supports English only".</p> <p>Scott Farquhar (founder of Atlassian) once <a href="https://vimeo.com/96708171" rel="nofollow">said</a> that "great support is the best marketing". I should probably insert a joke that Atlassian is not what it used to be, but it's <a href="https://www.jitbit.com/news/189-great-customer-support-improves-metrics-the-numbers/">still 100% true.</a></p> Mon, 23 Aug 2021 06:34:26 GMT https://www.jitbit.com/news/5361-how-can-you-support-your-agents-in-2021/ https://www.jitbit.com/news/5361-how-can-you-support-your-agents-in-2021/ How Can You Support Your Agents in 2021? <p>Behind every successful help desk are agents who make them run.</p> <p>You rely on your agents to help form the impression that customers or users get of your service, to provide genuine help when people need it and to gather and pass on valuable feedback that will help your company move forward successfully.</p><!--more--> <p>The pandemic has continued from 2020 through 2021 and has presented unique challenges for many people. In the help desk world, this has often resulted in agents being overrun with requests and in danger of <a href="https://www.jitbit.com/news/helpdesk-agent-burnout/">facing burnout</a>.</p> <p>Fortunately, this is something you can anticipate early and put steps in place to mitigate. Agents that feel supported and have genuine strategies in place to help them will tend to stick around and continue to do good work for your company.</p> <p>Here are some thoughts on how your company might support your agents this year:</p> <h2>#1. Understand individual situations</h2> <p>So many people have faced huge upheaval in their lives, often to the point that there are few remnants of the previous &ldquo;normal.&rdquo; This looks different for everyone, and while people often try to put on a brave face at work, sometimes they really could do with some extra understanding.</p> <p>For example, do you have agents who are trying to support family members who are sick, isolating or at-risk? Do you have agents who are parents that are trying to juggle childcare or home-schooling, where there are limited resources for those things? Do you have agents who are worried about coming to work and being around others during a pandemic? </p> <p>It&rsquo;s always a good place to begin, to have some understanding and grace for the situations that people have found themselves in. The first step is always to acknowledge that your agents are individual humans with individual needs!</p> <p><img title="" src="https://i.imgur.com/EyI8y8e.jpg?1" alt=""></p> <h2>#2. Provide flexibility where possible</h2> <p>Some of your agents may find that they need some kind of flexibility or special accommodations that they never needed before. For example, for people who are at-risk themselves, who have at-risk people at home or who have kids at home for their school work may appreciate being able to work remotely if possible.</p> <p>Sometimes it&rsquo;s not that people need a huge change, but maybe they need to adjust their hours of work to accommodate necessary new routines. Your team will appreciate your willingness to be flexible.</p> <p>One thing you can do here is deliberately create an environment where people feel comfortable coming to you. There&rsquo;s often some perceived stigma in asking for accommodations, but make it clear that you&rsquo;re willing to see what you can do and that people are welcome to speak to you about their needs.</p> <h2>#3. Give access to needed resources</h2> <p>What can you do to help make agents&rsquo; jobs a little easier? Look at any resources they might need to help them do their jobs. For example, would a better ticketing system help? (Check out <a href="https://www.jitbit.com/helpdesk/helpdesk-features/">JitBit&rsquo;s</a>&nbsp;fantastic features for easing the load on the help desk).</p> <p>Look for any tools or programs you can put in place that will help to streamline work, facilitate clear communication and help your agents provide the best possible service. This might include any equipment or infrastructure needed to help them to work from home.</p> <p>You might also update or remind employees of access to any programs such as an Employee Assistance Program (EAP) or any other initiatives they can use. It&rsquo;s often helpful to remind people of how and where they can access those resources.</p> <p>Do your agents have all the resources they need to manage through the pandemic?</p> <p><a href="#" class="contentupgrade" data-title="8 Ways to Delight Your Agents" data-id="agents"><b>Download our 8 Ways to Delight Your Agents</b></a></p> <h2>#4. Adjust sick leave policies to account for COVID-19</h2> <p>Everyone has faced different types of stress over the pandemic. For employees, one of those has often been what they&rsquo;re going to do if they or someone in their household gets sick. The recommendation in most areas is 14 days of quarantine, but many employees don&rsquo;t have access to that many sick days.</p> <p>If your company can manage it, updating your sick leave policy to account for any COVID cases makes sense. You don&rsquo;t want people turning up and possibly spreading the virus because they&rsquo;re worried about being paid or being able to keep their job, when they should be quarantining away from others.</p> <p>A sick leave policy should be inclusive and reassure employees that they should follow recommendations for stopping the spread of COVID. They should also know that their job will be safe if they do need an extended period away due to illness.</p> <p>From a financial perspective, it may make more sense than ever to ensure that you&rsquo;ve got reliable systems in place for working from home. This would mean that your agents could choose to work from home anyway, whether or not they have to quarantine.</p> <h2>#5. Keep up team morale</h2> <p>It&rsquo;s not just your agents that may be feeling stressed or challenged from situations in their lives, but the customers or users whom they are helping as well. It can start to wear on your agents when they deal with a lot of stressed or upset people and they need ways to work through hearing people&rsquo;s problems all day.</p> <p>One way you can support agents is by finding ways to keep up team morale and help them to decompress. You might keep up team traditions or fun rituals and encourage the overall &ldquo;team&rdquo; vibe.</p> <p>You could also organize team events, even if they&rsquo;re virtual. Some examples might include surprising people with coffee or food delivery (from wherever they are working) and having a team &ldquo;happy hour.&rdquo; You might have team quizzes, challenges or other activities designed to bring in some fun and encourage camaraderie.</p> <p><img title="" src="https://i.imgur.com/9ZghCeX.jpg?1" alt=""></p> <h2>#6. Keep agents informed</h2> <p>If your team is working remotely, or even if they&rsquo;re working together with COVID distancing protocols in place, it can be easy for them to feel less &ldquo;in touch&rdquo; than they were before. This makes it very important to find effective ways to keep them informed, especially if any changes are happening.</p> <p>It&rsquo;s key to take an inclusive approach to keeping agents informed by making sure that your communication methods are easily accessed by all. For example, even if you announced something at a meeting with everyone in attendance, make sure that it is documented in written form so your agents can revisit it if needed. This also gives them time to process and respond to the information. This is a good practice to follow, pandemic or not!</p> <h2>#7. Fine-tune your systems and processes</h2> <p>Throughout everything, having streamlined systems and processes in place is a great way to support your agents in their work and ensure that the help desk continues to perform efficiently. Now might be a great time to review - is there anything that needs improvement?</p> <p>Consider things like how agents and users access information, how tasks and messages are communicated and tracked, and how any issues are escalated. The aim should be to ensure systems and processes are as painless as possible, allowing agents more room to deliver their best service.</p> <h2>Final thoughts</h2> <p>These are some trying times for most of us, not least for your help desk agents who often have to deal with the stress of other people, too! The ideas above are just some ways you can ensure you have an inclusive, supportive work environment.</p> <p>When you look after your agents, they feel appreciated and supported. They may feel better-enabled to continue doing a good job at work, helping you to retain good staff. To everyone doing their best to manage through the stress and challenges, all the best from us. We hope to see a return to better times soon!</p> Thu, 05 Aug 2021 08:53:30 GMT https://www.jitbit.com/news/5360-the-dangers-of-not-having-a-help-desk/ https://www.jitbit.com/news/5360-the-dangers-of-not-having-a-help-desk/ The Dangers of NOT Having a Help Desk <p>Believe it or not, a question comes up every now and then - can I get away with not having a help desk app?</p><!--more--> <p>What the person usually means is, &ldquo;how about we just handle emails or phone calls as they come in and avoid putting any sort of formal ticketing system in place?&rdquo; </p> <p>Sure, you could do that. Many companies have. But for the most part, those companies have become studies in why that is NOT a great idea. There are several &ldquo;dangers&rdquo; that go along with not having a formal help desk - here&rsquo;s what you need to be aware of:</p> <p><a href="#" class="contentupgrade" data-title="Tips for Successful Small Help Desks" data-id="dangers-no-helpdesk"><b>Download our tips for small help desk success here</b></a></p> <h2>The &ldquo;one-man-band bottleneck&rdquo;</h2> <p>This is a relatively common scenario, especially in smaller companies or startups. &ldquo;Well, Jo is there to handle all the customer service queries and can manage that from her inbox.&rdquo; The problem is that Jo easily becomes the bottleneck.</p> <p>Now, we&rsquo;re assuming that Jo prefers not to be at work all day every day of the week. Heck, she&rsquo;d probably like to take some time off, perhaps use some of her vacation days. Now what&rsquo;s going to happen with those service emails?</p> <p>&ldquo;Oh, we&rsquo;ll have her emails forwarded,&rdquo; you say&rdquo; Great, but how will you be sure that customer requests have all been managed? How will you know someone has taken responsibility for it and how will you check any background details from previous interactions? How will Jo know when she returns from vacation which requests are done, which are in-process and which haven&rsquo;t been looked at yet?</p> <p>The danger of not having that ticketing software in this case is that you don&rsquo;t have a reliable way to check that customer requests have been resolved satisfactorily. You could even be in a situation where your &ldquo;one-man-band&rdquo; creates a bottleneck because they simply must be there for some questions to get answered. </p> <p><img title="" src="https://i.imgur.com/AFbFjy8.jpg" alt=""></p> <h2>The &ldquo;someone else will take care of it&rdquo;</h2> <p>Holy accountability, Batman! Not having a ticketing system is GREAT when you&rsquo;d rather avoid taking responsibility for an issue. After all, Jo will probably see this and it looks like the sort of thing she&rsquo;d take care of&hellip;</p> <p>Except that this is also a great way to avoid anyone taking responsibility and to seriously annoy customers or users. What ends up happening is Jo thought you&rsquo;d take care of it, so the net result is no one did. </p> <p>This is never ideal when you&rsquo;re trying to build a successful company! You need your help desk on-board and accountable for actioning customer or user requests. You can have the hottest new product or service on earth, but your business will quickly die if you don&rsquo;t provide high quality service with it.</p> <h2>The &ldquo;just do all the easy ones first&rdquo;</h2> <p>It&rsquo;s only natural that we sometimes look at difficult things, go &ldquo;ugh!&rdquo; and immediately put them on the backburner. And hey, if there are plenty of easier things to be doing, it&rsquo;s not a leap to work on those first. After all, you&rsquo;re still working, right?</p> <p>The problem with this in a customer or user support world is that those difficult requests might stay on the back burner. The customer who submitted the request might wait a very long time to get any sort of answer, if they get one at all &ndash; because you know, &ldquo;someone else will take care of it.&rdquo;</p> <p>In short, your priorities can end up backward. A proper ticketing system has the advantage of offering a way to triage tickets so that they can be put in true priority. Without it, you risk a pile up of &ldquo;hard ones&rdquo; because it&rsquo;s just easier to move onto other requests first.</p> <p>Hey look, no help desk software! This may not end well when the hard stuff gets pushed back...</p> <h2>The &ldquo;winging it, every time&rdquo;</h2> <p>How much do you love it when you&rsquo;re contacting a company for the fifth time and it goes down just like the first time? You&rsquo;re always brand new to them, as though there&rsquo;s no history of requests being made before. You find yourself explaining what happened last time, and the time before that, again, and again&hellip;</p> <p>As for the person dealing with your request, they&rsquo;re just winging it. They don&rsquo;t have any prior information in front of them so they&rsquo;re going to take a stab at it as though it&rsquo;s all brand new. You&rsquo;re loving it, right? Right, we thought you weren&rsquo;t&hellip;</p> <p>An important thing that a proper ticketing system gives you is the user history. They DON&rsquo;T want to repeat themselves every time - it&rsquo;s a waste of their time and yours. Not only that, if it&rsquo;s a similar problem, you shouldn&rsquo;t be winging it, or trying to reinvent the wheel every time. Ticketing history gives you the answers from before that hopefully, you may be able to use again, or at least use to inform your next answer.</p> <h2>The &ldquo;I don&rsquo;t know what to do with this&rdquo;</h2> <p>This is a close cousin to &ldquo;someone else will take care of it&rdquo; and &ldquo;just do all the easy ones first.&rdquo; When you don&rsquo;t have a formal help desk and it&rsquo;s just someone checking on emails, you also usually lack an escalation process for those issues that no one knows what to do with.</p> <p>In some of the worst examples we&rsquo;ve seen, issues end up getting bounced from one person to the next, sometimes for days, even weeks. The customer doesn&rsquo;t care that you don&rsquo;t know what to do with their issue, they just want to know that it&rsquo;ll be taken care of within a reasonable timeframe!</p> <p>Speaking of timeframe, no help desk software means you probably don&rsquo;t have automated messaging to set expectations with customers. If you want to avoid unnecessary complaints, setting expectations, like informing them of timeframes, is important. Ticketing software will at least send an automated message letting the user know their ticket was received and that they can expect to hear back within a certain timeframe.</p> <h2>The &ldquo;we&rsquo;re always doing great&rdquo;</h2> <p>How&rsquo;s your help function going? &ldquo;We&rsquo;re doing great! Look at us, solving issues and stuff.&rdquo; Yes, but how quickly are you solving them? What do your customers think? How long does it take for customers to hear from you once they&rsquo;ve sent in their query? Are you fully resolving all issues?</p> <p>You don&rsquo;t know, do you? Because without a ticketing system you&rsquo;re also without key metrics that will tell you how well you&rsquo;re doing. Maybe you&rsquo;re doing great, or maybe you&rsquo;re lagging far behind what typical help desk metrics should be. Not having them is a fairly effective way to get away with putting your head in the sand&hellip;</p> <p><img title="" src="https://i.imgur.com/bPotliV.jpg" alt=""></p> <p><a href="#" class="contentupgrade" data-title="Tips for Successful Small Help Desks" data-id="dangers-no-helpdesk"><b>Tips for successful small help desks - download here</b></a></p> <h2>The &ldquo;bonus dangers&rdquo;</h2> <p>Hey, bonus! There are some extra dangers that can go along with not having a help desk. Here are some of the greats:</p> <ul> <li>&ldquo;Sorry, we can&rsquo;t justify spending anything on the support function because we don&rsquo;t see concrete value from it.&rdquo; Sad, but without metrics to prove it, how are you going to respond?<br></li> <li>&ldquo;We&rsquo;re sinking and we have no lifeboats. Order lifeboats now.&rdquo; Yup, you run into the danger of always being reactive rather than proactive. A good system would have alerted you earlier that it&rsquo;s reasonable to assume you&rsquo;ll need lifeboats sometime.<br></li> <li>&ldquo;Jo, how did you manage this last time? I don&rsquo;t know - I&rsquo;m not sure how to do that.&rdquo; That&rsquo;s a missed opportunity for training that we spy, one that would have likely been on the radar earlier with a proper ticketing system.<br></li> <li>&ldquo;Huh, didn&rsquo;t we deal with three issues like this one last week?&rdquo; Yeah, you probably did, and if you had a good system in place, you&rsquo;d quickly recognize training or process improvement opportunities that should be put in place to help your users. </li> </ul> <h2>Final thoughts</h2> <p>Just get the help desk. Really. It doesn&rsquo;t matter what size your business is, you can benefit from having a reliable, trackable, proactive system in place.</p> <p>If you&rsquo;re a one--person operation, a ticketing system helps to keep you honest and to help you keep track of past dealings with the user. If you happen to be that person in a workplace service role, the one who everyone comes to in-person to ask for help, having a formal system can put some kind of order and expectations around it!</p> <p>For support functions of any other size, it just makes sense. Importantly, you can measure how you&rsquo;re doing which gives you the opportunity to manage it better. So get the help desk software!</p> Thu, 10 Jun 2021 05:12:33 GMT https://www.jitbit.com/news/5359-reasons-not-to-outsource-customer-support/ https://www.jitbit.com/news/5359-reasons-not-to-outsource-customer-support/ Reasons Not to Outsource Customer Support <p>I've recently bumped into <i>several</i> conversations about outsourcing customer support, mostly among bootstrapped software founders who are (obviously) overwhelmed with work.</p><!--more--> <p>Before running a help desk software company I used to work in support myself - as a developer intern I had to do all kinds of techsupport. And not just customer tickets, but also running around the building fixing printers and crimping RJ-45 ethernet jacks. So here's my take on why you probably shouldn't outsource it (nb: <i>in a B2B software</i> business)</p> <h2>1. Support won't magically "go away"</h2> <p>There are four types of support request an average software company gets:</p> <ul> <li>bug reports</li> <li>feature requests</li> <li>"how-to" questions</li> <li>"operations" (billing, licensing, invoicing, legal, discounts, resellers etc).</li> </ul> <p>The first two - bug reports and feature requests - should keep coming through anyway. An external support team won't fix your bugs or make product decisions for you. You will <i>keep getting</i> those tickets, just from "the support guy" now. In a more convenient, readable, filtered and verified form.</p> <p>You're not "outsourcing support", you're just moving your support from your email to your Slack.</p> <p>By basically hiring an expensive speech-2-text filtering autoresponding human machine.</p> <p>"But that's exactly what I need!" Well, let me rephrase: if "making support go away" is the main reason you're doing it, then don't. There are other ways of decreasing the load besides outsourcing.</p> <p>The "make it go away" vibe can spoil the whole process. Bad things happen when a support team thinks its main job is to minimize interaction with developers and founders, keeping support as "invisible" as possible. We've been there. Not pretty.</p> <h2>2. It takes time</h2> <p>Even when hiring a fulltime support agent (not to mention ousourcing) to deal with the last two categories - the how-to's and the billing issues - it will take many months of training. You didn't bother to write KB articles for customers, did you? Well, guess what, your support person has no KB articles to learn from. They will come to <i>you</i> for answers during those months (see #1)</p> <h2>3. Embrace the "small"</h2> <p>Being a small company is an advantage and by outsourcing support you're losing some of it. One of the reasons I, myself, as a customer, choose to buy from a small business is because I have this magical "shortcut" to connect with the founder/CEO/management directly, without all the "apologies for the inconvenience" crap.</p> <p>Sometimes that's the only reason for choosing a small quirky "indie" product over a polished behemoth.</p> <h2>4. Not doing support leads to not fully understanding your product</h2> <p>"Dogfooding", "all hands support" and similar hacks were invented for a reason. Without being close to support you understand your product less. You eventually start living in an imaginary world with imaginary customers using your product in imaginary ways. Having tickets pouring in is a <i>luxury</i>, embrace it, don't avoid it. It's dogfooding on steroids.</p> <h2>5. There are ways to minimize "howtos" and "operations"</h2> <p>There are ways to ease the support burden without outsourcing it. The "how-tos" can be automated by canned responses, documentation, knowledge base and searchable FAQ (and having a more intuitive product overall). Think of it as a marketing task - you're creating more content for Google to index. And you're removing friction from your conversion funnel by making the product more obvious.</p> <p>Billing and licensing questions are resolved by baking self-serving features right into the product: PDF quote generators, switching pricing plans, trial extensions, updating CC info, cancelling - everything can be automated. No need to write polished beautiful code, just cook something up using ugly scripts and no-code tools.</p> <p>Not to mention minimizing bugs - by writing unit tests, having a staging environment, backups and implementing robust coding practices, but you already know that.</p> <p>Every company goal is building a product that triggers minimal support. Ironically, if you outsource, you won't know which parts to improve.</p> Thu, 29 Apr 2021 06:01:53 GMT