Pains

2403 pains collected

Category:
Tech:
Severity:

Scalability Limitations for Large-Scale Projects

6

Vue.js lacks scalability and is not suitable for large-scale enterprise projects due to its narrow community, lack of corporate backing, and limited support infrastructure compared to React or Angular.

architectureVue.js

Linux debugger (gdb) complexity and poor UI compared to Visual Studio

6

GDB and its frontends are significantly less user-friendly than Visual Studio's debugger. They have a steep learning curve, and discovering and configuring advanced features (e.g., build-id directories, substitute-path) requires extensive effort.

testinggdb

Desktop environment version stagnation and lack of updates

6

Some Linux distributions ship with outdated desktop environments (like very old GNOME versions) and fail to provide timely updates. Using unacceptable base versions (e.g., 22.4 in 2025) creates a poor user experience and limits access to modern features.

compatibilityLinuxGNOME

Secure Boot compatibility issues preventing system boot

6

Earlier versions of Linux distributions could not boot with Secure Boot enabled, forcing users to disable this security feature entirely. While this has improved, it historically created a security-usability tradeoff.

securityLinux

Outdated package versions and insufficient repository updates

6

Certain Linux distributions maintain outdated package versions in their repositories and don't update frequently enough. Alternative packaging formats attempted as solutions (like Flatpak forks) lack functionality and provide minimal improvement.

dependencyLinuxFlatpak

Fraud Prevention Tool (Radar) Has High False Positive Rate

6

Stripe Radar's fraud prevention tool produces too many false positives, blocking legitimate customers especially for digital goods and international buyers. The tool lacks transparency in how it scores transactions, making it difficult to adjust settings or understand why charges were blocked.

securityStripeStripe Radar

Terminal-first workflow required for basic tasks

6

Linux forces users to open a terminal for routine operations like installing software, fixing dependencies, and setting up drivers. This creates poor UX even for developers who prefer GUI-based workflows.

dxLinux

Fragmented developer workflow for email template management

6

Managing email templates requires running separate dev commands for local repositories and email services, creating operational friction. The workflow lacks integrated version control, code review processes, and team collaboration capabilities.

dxReact Email

Linux desktop display protocol fragmentation (X11 vs Wayland)

6

Developers must support multiple display protocols—X11 and Wayland—as Linux transitions from X11 to Wayland. Not all distributions have fully adopted Wayland, and XWayland compatibility is inconsistent, causing software to run less smoothly than on X11.

compatibilityX11WaylandXWayland

Loss of 32-bit support libraries in modern Linux distributions

6

Linux distributions are dropping default 32-bit support libraries, preventing users from running 32-bit software on 64-bit systems and reducing available software compatibility.

compatibility

Desktop environment major version incompatibility (GNOME 2 to 3)

6

GNOME 2 was completely incompatible with GNOME 3, breaking all installed addons and presenting a completely different UI, creating a disruptive upgrade experience.

compatibilityGNOME

EGL graphics API is fragmented and poorly documented

6

EGL requires separate extensions for basic GPU functionality (existence, enumeration, info retrieval) with inconsistent implementation across platforms, in contrast to Windows' unified DXGI API with clear documentation and guaranteed availability.

compatibilityEGLDXGI

Limited language support for desktop environment development

6

Desktop environment frameworks restrict language choices: KDE requires C++ and Qt, GNOME favors JavaScript, with Rust largely unsupported and minimal learning resources. Developers using Kotlin, Swift, Java, or Objective-C are unable to contribute.

ecosystemKDEGNOMEQt+1

Linux installation complexity and poor onboarding UX

6

Linux distributions have historically required users to possess detailed technical knowledge before installation, making the process unintuitive and inaccessible for average users and beginners. While improving, installation remains a barrier compared to mainstream operating systems.

onboardingLinux

Developer Environment Dependency Management Challenges

6

Stripe's practice of continually adding and reworking dependencies (e.g., Redis for rate limiting) requires developers to install and configure new tools locally. Updating configuration across developer laptops is challenging and often left to informal word-of-mouth communication.

buildStripeRedis

Inconsistent and incomplete API documentation

6

Stripe's documentation lacks clarity and comprehensiveness, leading to increased development time. 47% of developers report unclear API guidelines as a leading cause of project delays.

docsStripe

International payments and multi-currency complexity

6

Supporting multiple currencies and regional regulations adds significant complexity. Developers must understand currency conversion processes and region-specific rules to maintain seamless transactions.

configStripe

Asynchronous API Call Handling

6

Developers struggle with managing asynchronous actions when making multiple Stripe API calls. Dealing with callbacks and promises becomes tricky when coordinating responses from different endpoints, particularly around error handling and retry logic.

dxStripe

Complex pricing models require custom solutions

6

Subscription services often require tiered or variable pricing strategies that Stripe's standard model doesn't natively support, necessitating custom development.

configStripe

API rate limits cause service disruptions

6

Stripe's API rate limits (100 requests/second) are easily exceeded during normal operations. 30% of applications exceed their limits without proper monitoring, leading to service disruptions and 429 errors.

performanceStripe

Payment Processing Performance Optimization

6

Developers struggle to optimize payment system performance as slow processing times degrade user experience and customer satisfaction. Minimizing API calls, implementing caching, and optimizing code requires careful consideration and testing.

performanceStripe

High and Unpredictable Transaction Fees

6

Stripe's transaction fees (2.9% + £0.30) are competitive but not the lowest in the industry. Additional charges for chargebacks, international transactions, and premium support accumulate unexpectedly, making it difficult to forecast expenses and maintain sustainable profit margins.

configStripe

API versioning breaks integrations frequently

6

Stripe frequently updates its API and deprecates features, causing 25% of developers to face integration disruptions due to outdated API practices. Staying informed on changes is labor-intensive.

compatibilityStripe

Limited Local Payment Method Support

6

Stripe is optimized for card payments and US-centric payment methods but has limited support for local payment methods that dominate in regions like Europe, Asia, and South America. Businesses operating internationally cannot fully serve their regional customer bases.

compatibilityStripe