Skip to content

Commit

Permalink
Add new blog post.
Browse files Browse the repository at this point in the history
  • Loading branch information
caesay committed Mar 8, 2024
1 parent b851c7e commit c47e290
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 1 deletion.
4 changes: 3 additions & 1 deletion blog/2024-03-02-choosing-docs-site/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@ tags: [nextra, docfx, docusaurus, documentation]

There are plenty of great options available for static site documentation generators, I wouldn't even bother trying to name them all.

The journey to find one that would work for [Velopack](/) took a few tries.
The journey to find one that would work for [Velopack](/) was painful and took a few tries.

<!-- truncate -->

## Docfx
Since we started out as a `C#` library, it made sense to start with `docfx`, which was appealing because if you just need to launch a documentation site as quickly as possible for a C# project, it seems to work well. The design is nothing to be proud of, but it's functional.
Expand Down
38 changes: 38 additions & 0 deletions blog/2024-03-07-why-is-distribution-so-hard/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
title: A developer's deployment nightmare
authors: [caesay]
tags: [cross-platform, squirrel, pain, deployment]
---

In the world of software development, crafting the application is only half the battle. The other half? Getting your hard work onto the devices of users, which, let me tell you, is easier said than done. For those of us who have wrestled with the tangled web of software distribution, the headaches are all too familiar. It's like you're expected to be a jack-of-all-trades, mastering not one, not two, but a myriad of update frameworks and installers, each as diverse as the platforms and languages they cater to.

<!-- truncate -->

## The Bane of Cross-Platform Distribution
Imagine you've just developed this killer app. It's sleek, it's fast, and it's ready to make waves across Windows, macOS, and Linux. But wait, here comes the catch – distributing this marvel. Suddenly, you're diving into the deep end of software distribution frameworks. For Windows, there's Squirrel.Windows or WiX. For macOS, you're looking at Squirrel.Mac or Sparkle. And for Linux, oh boy, you're dealing with AppImage, Snap, Flatpak, or perhaps any number of others.

And guess what? Each of these frameworks comes with its own set of quirks, documentation, and debugging nightmares. You thought you signed up to be a developer, not a juggler, trying to keep all these different platforms and tools in the air. It's enough to make anyone question their life choices.

***All this takes time away from time which could be spent improving your actual product.***

## The Installer Conundrum
Then there's the joy of dealing with installers. Oh, the installers... If you thought update frameworks were fun, installers are the party you never wanted to attend. Windows has WiX, NSIS, InnoSetup, or other commercial solutions, macOS prefers DMG or PKG, and Linux, well, it could be anything from a simple .deb to a more complex script. Each installer type is a world unto itself, requiring unique skills and knowledge to create and maintain.

The real kicker? Debugging. Something goes wrong, and suddenly you're deep in log files, trying to decipher where your installer decided to take a holiday. And let's not even start on the multitude of environments and versions your app needs to support. It's enough to give even the most seasoned developer a headache.

## A Common Approach? More Like Common Frustration
So, how do we brave souls typically tackle this Herculean task? Some of us go down the path of learning and mastering each tool and framework needed for our app's distribution. It's time-consuming, it's frustrating, and let's be honest, it's incredibly inefficient. Others might opt for a team of specialists, each versed in the arcane arts of their respective platform's distribution. Effective, perhaps, but not exactly practical or cost-efficient for smaller teams or solo devs.

And through all this, we haven't even touched on the ongoing maintenance these frameworks require. Updates, bug fixes, platform changes – it's a never-ending cycle of toil and trouble.

## Enter Velopack: The Light at the End of the Tunnel
Now, after painting quite the bleak picture, you might be wondering if there's any respite from this madness. Well, fellow developers, there is, and it goes by the name of Velopack. Picture this: a single, streamlined framework that not only spans across Windows, macOS, and Linux but embraces a multitude of programming languages. A framework that's faster, smaller, and eliminates the need to juggle a circus of tools and frameworks.

With Velopack, the promise is simple: learn once, apply everywhere. No more scrambling to keep up with the latest in installer technology or update frameworks. No more sleepless nights debugging a platform-specific distribution issue. Velopack offers a unified approach to software distribution, allowing developers to focus on what they do best – creating amazing software.

## Not Just Another Tool
Now, I know what you're thinking. "Great, another tool to learn." But hear me out. Velopack isn't just another drop in the ocean of software distribution tools. It's a lifeline thrown to developers drowning in the complexity of cross-platform distribution. By simplifying the process, Velopack frees up valuable time and resources, allowing us to channel our efforts into innovation and improvement, rather than maintenance and troubleshooting.

In the grand scheme of things, Velopack represents more than just a technical solution. It's a testament to the fact that sometimes, the best way to solve a complex problem is to step back and simplify. For developers tired of the distribution dance, Velopack offers a chance to change the tune, focusing on what matters most – delivering great software to our users.

So, if you're like me, fed up with the distribution dilemma and looking for a way out, give Velopack a try. It might just be the breath of fresh air your development process needs.

0 comments on commit c47e290

Please sign in to comment.