252 comments

[ 3.1 ms ] story [ 245 ms ] thread
I know it doesn't matter for the point the author is trying to make but, Such a tease, what does the app do?
Given they got suspicious about if their idea was stolen, it'd be interesting if the app solves something unique, or some very common problem.
Yeah I'm fully expecting it to be something like a project management app. There are tons of ideas which you think are unique, but many, many others have them as well, because they run into all the same problems as you in their day to day life.
I remember he at some point had a landing page for a browser that would show you a web page in multiple resolutions, all at once, with hot reload. Not sure if this is the application, he might have had another one.
A big fallacy that I always see - and that is implied by this post - is that the work ends after shipping, a.k.a. "build it and they will come". That doesn't happen any more. So after you "ship" it, you need to promote it, advertise it, create buzz around it and make people use it. And that is a totally different kind of beast than coding something.

But on the flip side, if you develop a side project just for yourself, you most certainly learn something. Heck, the author explicitly mentioned learning React Native, which is absolutely great and definitely worth investing time into.

Learning things is valuable in itself.

Yes, Given they couldn't develop the app without planning the release, I wonder if they'd have time to properly support it if they shipped..
'So I deployed it on Vercel, bought a domain name and posted it on the brand twitter account we created a few days ago. Why am I not getting users?'
> "build it and they will come"

I also used to think that build it and they will come was a big fallacy, but it's not really. The fallacy is, "build it and the whole world will fight to get what you built". That sure won't happen by itself or by chance.

But if you build something reasonably good, some people will come. That may not be enough for you to make a living out of it, but it will make it worthwhile.

> Learning things is valuable in itself.

From the same author:

> Open source, writing blog posts, and playing with tweaking lint settings and editor themes all day are completely fine until your landlord knocks on your door or you're at the checkout at the grocery store. You're doing a crazy 2-hour commute every day telling yourself "well at least I'm learning a lot about SVG". Fuck that.

https://kitze.io/posts/github-stars-wont-pay-your-rent

(I am actually, currently learning a lot about SVG and love it; but the quote is right that it's not paying the rent.)

Learning helps you pay your rent in the long run though, as it lifts your overall qualification level.
That can decay to ~zero from a career-agency standpoint though if it's not the limiting reagent for professional access to the next level—that is, if the assignments you can get next all include the same thing at the same speed regardless of whether you also learn it independently or not.
One thing I've found to not be fallacious is "if you don't want them to come, they will come". With open source this is so true. My projects that I don't want to actively maintain anymore are always the ones that generate lots of issues and pull requests and stars, versus the ones I actually use on a daily basis that no one but me cares about.
I saw one startup whose "launch" was a splash page with a logo, description of an imaginary product they hadn't built yet and a Hubspot signup form that you sign up for news. These guys had it right. Get customer insight while you build features. In fact, they were building something that has been solved since before the computer was invented, they were just going to have a splashy brand.
Serious question, how do you know whether it's your product or your marketing that sucks?

For example, I tried twitter ads for my product [1] and I got zero sales after spending $50.

What are good marketing strategies for niche hardware products?

[1] https://www.invisible-computers.com/

Looks like it's sold out, which is a pity, I enjoy the design. You have a typo on the front page, 'eletronig' for 'electronic'.
I fixed the typo, thank you!

You can leave your email to be notified when it's back in stock.

[1] looks like a hastily prepared landing page for a dropshipped AliExpress product. 1 photo, no video. Why only Google Calendar? How to 'use your phone to connect'? Is there a companion app? Why is contact page under Policies and labelled Imprint? Why 2 Privacy Policy links? About us section reads like boilerplate scam and links off-site to some random blog. Line height config looks ugly in bottom nav area.

At least it works without Javascript.

Hi, thank you for having a go over it! This is great feedback.

I find it really, really hard to take good pictures and even harder to take video. I am getting help with that and I hope the situation will improve.

yes, there is a companion app, should I make that more clear?

The contact page is labelled imprint because that's the law here in Germany... I could have an additional contact page though.

The two privacy policies are because one is for visitors of the website and one is for users of my product. Two totally different contexts, and I was unsure how to fuse them. Probably also something I should get help with.

I cut down on the about us section. But I agree this needs some work still...

Looking better already!

On clickthru Shopify page, there are some decent photos. But would replace/remove the Amazon text in one of them.

Also would show the back / cord & connector.

Yes, would have apps page with direct links to store.

Re: contact page. Is this actually true? This page for example still says contact when viewing Germany version of page. https://teenage.engineering/contact

Re: privacy: you could have one link, with some way to show both once you get to that page. Few will read this anyway, may as well not clutter home page with 2 links.

Good luck my friend.

> Re: contact page. Is this actually true? This page for example still says contact when viewing Germany version of page.

That is a Swedish site and as a foreign organisation, they are exempt from the Imprint requirement in Germany.

Imprint is generally something that should be present on a german website, though it isn't really enforced. You could get sued though if you don't have it.

That's precisely the thing i am going to be looking for soon. Yours looks pretty good, but i find the product page to be a bit lacking in detail and polish ( including typos like "come with wooden stand" instead of "comes"), which can be off-putting.
If your business wraps up does this turn into a pretty brick?

My instant wonder and would be a deal breaker until I found out if the device pulls from the calendar directly or via a proxy you run if it helps any

Going by the language in the privacy policy it’s the proxy method. I’d have to pass, personally. Looks great but I got no use for it if you shut down

Also it’s “sold out” so I assume it doesn’t and won’t exist until you get enough interest. For me this is more an impulse buy, give me a week thinking about it and I’d forget about it completely (then 2 years later I get an email “xyzzy is complete and shipping now!” with no reminder of what it is)

It’s pretty cheap to keep the API running and I promised myself I’d be doing that for many years even if I make 0 money with it.

But I want to be upfront about the fact that there are things beyond my control that might force me to shut down some or all functionality. For example, if google shuts down access to the calendar API, the calendar feature will be in trouble.

I’ll buy one. Agree with the comments that you need to put a little time in to describe this thing in a lot more detail!

That said, I would love to have my calendar always just sitting there on my desk. This is the perfect item for anyone with adhd or similar. I would target that niche.

I’ve heard that before from another customer, that it’s a good product for ADHD.
Twitter ads are widely seen as ineffective versus other advertising channels (to verify for yourself, you can check r/PPC, r/marketing, and other subreddits via a site:reddit.com Google search). Results are likely lower due to poorer analytics, which translates to your ads not appearing to the most relevant people.

Google Search Ads and Facebook/Instagram ads are seen as more effective in comparison (results are likely higher as Facebook/Meta are relatively better at analytics, so advertisements appear to more relevant people).

In addition, $50 is not a lot to spend on an ad campaign. It generally takes a higher number of advertisement views by the same person (preferably across different websites and channels) to produce an intended result.

Let's say you are a guy in a basement spending your own money. What is the minimum spend that you see for advertising to be at all effective?
It depends on what you’re selling, but roughly $500 per month is seen as solid on the r/PPC forum (that is, no major objections when brought up), with $100 a month as not outrageous (especially as a starting point). My assumption is that the forum is credible and not astroturfed (which seems fairly reasonable from intuition).

I wish there were a scientific study to lean on as a more credible source. I personally don’t have direct experience for budgets smaller than $1,000 a month, back when I did work with some non-profits.

Roughly $100 a month sounds plausibly viable at the lowest uncomfortable end with skill, but you also need that skill in graphic design to make an effective ad, persuasive writing, and a good idea of how to target the right audience. That perspective also costs time to learn from books and/or money if outsourced.

You might be able to get some customers with that spend on average, but could have hit zero just from bad luck (randomness is clumpy). Customers can easily cost tens of dollars to acquire.

As an example, for my own subscription box service the cost to acquire a customer from YouTube ads was ~$49.

Do you have any plans to bring Japan candy back to life?
Yeah, your website sucks. The product looks really nice, but the landing page barely even feels like it wants me to check it out. I can barely even tell it’s a landing page.

I was actually thinking about exactly this product earlier this week. I have kids and their schedule is really complicated these days - some days some of them need packed lunches, uniform is different on PE days etc etc. I want to walk into the kitchen and have the details for the day right there. There’s a real use for the product, you need to work on the landing page (I’d suggest considering starting again with a template)

Puh, I tried so hard with that website. I don't know, design and marketing is just sooo hard for me.

Do you have a template that you think I should use?

And do you know maybe somebody who could help me build a better landing page without costing me all my life savings?

Make a website with an online builder and use their templates. For example:

- Webflow: https://webflow.com/templates

- SquareSpace: https://www.squarespace.com/templates

- Shopify: https://themes.shopify.com/

I'd recommend Shopify, and a minimalist, light theme such as the one below, since your product is made of light wood.

https://themes.shopify.com/themes/craft/styles/default?surfa...

I already use shopify for the shop page, https://shop.invisible-computers.com/products/invisible-cale...

But I’ve been wary of using it for the whole website since I didn’t want my whole page structure and content coupled to shopify.

And I didn’t want it all to feel like a shopify store.

But maybe that was a bad priority and I should just get over it.

Thanks for the tip with the theme, btw

Yeah, at risk of sounding brash, I do think you should "get over it" as your main priority is to sell items, not to build a well-structured website in HTML. The latter is ancillary, merely a means to an end.
Sorry, didn’t want to poo poo the whole thing. Don’t get down about it! This is an opportunity to rework the site so it works for you.

As sibling comment says, use a website builder instead. Something like shopify will have everything you need (though I’m not massively familiar with it myself).

Another suggestion I have is to focus on the target audience. I skimmed the doc you linked to about uploading images (couldn’t find any extra docs on the site at a glance btw) and it felt geek heavy in terminology.

The shots of the device look nice, but there’s an app for managing it? Is it easy to use? If I buy this device would my wife ever use it or is it too complicated?

Are you actually making these devices yourself? If I were hand making these my starting point would be to sell to friends so I could iterate on the whole thing. There are a lot of people on here talking about ads and marketing but honestly, hustle is how you get started.

Nono, I am very grateful for your feedback! If my website is bad it means that it can be improved and then my conversions will go app and that's great news!

I don't define myself by my design skills so you didn't hurt any feelings :D

I am a bit wary of using Shopify for landing pages because I'm worried it will make it feel even more like a dropshipping enterprise...

But maybe that's the smaller problem if at least my website looks good then!

'Yeah, your website sucks.'

I was expecting some geocities crap. From what I see, the landing page is clear, concise and shows me the relevant info I'm looking for.

Piling on for some feedback here. This isnt a product that people need. Everyone already has access to a calendar on their phone, on paper, on a whiteboard, whatever.

So it has to be something people want. And it doesnt look cool/sleek/exciting enough for people to want it. The bezel is huge, its black and white, and looks overpriced.

Some marketing angles work, but your product has to honestly support them. Ex:

- hackable. Need to show off connection interface, API, some cool project examples. As far as I can tell, LEDs never hurt here.

- sophisticated/elegant.

- useful. Seems easier to use /better than what people are already doing.

- cool. Buys access to a group of exciting people you wouldn't get to meet otherwise.

But the absolute best way to market a hardware product is to stop making it about tech. My dad bought a digital picture frame a while back as a gift. Thats a way easier bar to clear, its emotional, sentimental, symbolic, so the technical execution doesnt need to be as flawless.

Hey, this is kind of cool! If only it supported caldav I might get one.
It's not clear who your product is for. "Everyone" is the wrong answer, BTW. If you try to make everyone happy, you usually end up making no one happy. It's super important to focus on actual user problems.

1. Is this solving a pain point the user has already?

2. Do they currently have some less-than-great solution in place?

3. Are they willing to pay for something which will solve their problem?

Looking at your product, I see a possible market, but it might need to be tuned (UX and/or marketing) to be successful.

A relative of mine needs 24/7 in-home care. There are a number of people involved and a decent number of Dr appointments etc to coordinate. The people involved with elder care are super low tech, but in her case, a shared visible calendar could be useful.

In general, the products for seniors and/or people with dementia or other disabilities tend to have horrible design and still aren't really suited to physical/cognitive challenges of the users and their caregivers. It's a niche, but one that could use a lot of developments.

Hi s1mon, thanks for your feedback.

I'd say I have two customer groups in mind:

1. Technologically open-minded people who have a bit of money and want an e-paper calendar in their office or for their family. They can buy my e paper screen and set it up with the mobile app in 2 minutes.

2. Developers who want to build their own e-paper application and need a platform to build it on. They can buy my device and use the image-url feature to display their own designs.

I don't think the landing page is bad. Product seems cool. I don't agree with the people talking about extra features. The main issue I feel is that this is something only people with quite a bit of money and leisure can afford (because it's not solving a direct problem, it's just for convenience). So you need something on the page that will unconsciously persuade these people that it's cool. It's an upmarket product but the website doesn't advertise it as such.

Rather than doing online ads I think a promo vid with a progressive looking family / hipsters would be more effective. ;)

I think like others have said, it does depend on whether you are targetting the mass market or a smaller (and hopefully more lucrative) niche.

Plenty of companies don't do what you say and still become successful.

However, for a pure software solution with little market expertise, I suspect what you are saying is correct because the barrier is so low. If you can "build an app" in a weekend, so can 1000s of other people.

They "can" but will they?
If it prints money and can be made in a weekend then of course. However, the more niche it is to an audience or knowledge needed beforehand (i.e. simple music generator) it would no longer be a weekend project.
this is with regards to GP

GP asked 'They "can" but will they?'

No, they won't

in reality most people won't do it because they don't know whether it will print money

your comment "If it prints money" doesn't apply in reality and it comes off as if you won this argument to HN readers, which in fact no

I completely agree. A couple months ago I received the same "Ship It" advice on a HN Comment.

I did, but no one came. Marketing feels like an orthogonal skill but can not be overstated enough.

I think it was the book called Blitzscaling that talked about the fact that some kind of "unfair advantage" with regards to access to market should be built in to your product. They mentioned LinkedIn and their "import address book" feature
You're so wrong. I built it and they came. And when I say they, I mean millions of users. Here's my blog post about it: https://catonmat.net/if-you-build-it-they-will-come
Congratulations! Though in claiming that since it worked in your case, it will work in the majority of cases you commit the anecdotal evidence fallacy.
aka Survivorship bias.
Aka the best type of bias.
It's certainly the best bias to suffer from as it means your project succeeded. It does mean people should take your advice with a grain of salt.
Thanks! I love the anecdotal evidence fallacy. It's my favorite fallacy.
I also think they didn't learn one important lesson (maybe). MVP's don't need bells and whistles. Stop adding that "one last thing". It's a Minimum Viable Product. It should be lean, and somewhat polished. Add features later.
The biggest fallacy in my experience is that the thing you built isn't done at ship because your first build is only what you thought of to build. Your users might need some of what you built, but the feature requests will quickly show you that you only thought a fraction of the possible things a user would want.
most importantly you also need to continue developing it
From the headline, honestly I thought this was going to involve a death.
Yes, I would say the “just ship the Therac-25 with the Therac-20 firmware” to be a few degrees sadder.
I actually thought it was going to involve a Boeing product manager. /potshot
Yep, I'm there, been going for a year, it's amazing how quickly time passes by. Getting ready to ship, for realsies this time. Maybe I'm imagining, but due to the unimaginable number of apps and SaaS out there today, it's not as easy to put out something you're embarrassed about. The only way to do that is to have something extremely small and polished, in which case it's almost certainly been done already multiple times. I'm sure there are some niches still to be filled, but it sure was easier back in, say, 2012.
You can do it! HN believes in you.
> it sure was easier back in, say, 2012

I was on HN in 2012. It was not any easier. People said the same thing back then. “Oh, if only I had gotten started in 2005, with DHTML, when things were easier.” “I wish I was paying attention when iPhone app store came out.”

Just because you missed one boat doesn’t mean you’ll miss the next one. Keep an eye out for it.

«History merely repeats itself. It has all been done before. Nothing under the sun is truly new.»

I hope you're right!
“Now when I got to Hollywood, I was discouraged with animation. I didn’t think I’d ever do another animated thing. I said, I think I’m getting in it too late. Felix the Cat was going then, [and] other things, and I just said, it’s too late. I should have been in the business six years before.”

— Walt Disney

It still isn't too late to finish the app/site and put it out there. Instead, it seems that the author burned out. With that said, there's no shame in dropping the project to stay sane.
"... fuck it, I'm gonna work on WEB DEVELOPMENT. That bad."

I hear you!

This article made me so sad - the author really doesn't need to be as hard on themselves as they are!
I think he was exaggerating to make it a more interesting read. Or, at least, I hope so...
Kinda feel the app that managed to ship deserved a shoutout in this. Your idea is already out there, the value is 0.
Being a solo dev on some app/website is not really worth it these days. There was a time when you could single-handedly create a million dollar app in some niche. But now the competition has increased so much that you need VC money or atleast a team if you want to create any impact whatsoever.
I don't believe this. A solo developer can create a more focused product, with less features, and still do well for themselves. Once you accept VC money you need to do well for the entire company, and the expectation is to be less niche to meet many users. Just talking very generally.
Is this not debunked by Wordle's success? That was a single dev effort, and sold for multiple millions.
If your only KPI is "Am I at unicorn valuation yet?" then yes, but I'm sure you can do well being a small fish in a big pond. There are still underserved markets out there. Find your niche and build your product around it.
I think this is a valid comment questioning where one puts their goalpost for their realisation of a funded MVP coming from their idea. The market has shifted alot from what it was 5 years ago... 10 years, 15, 20, 30...

Ideas are what has gotten humanity this far and I am happy to see technological advances, in product that makes me happy, that come from our Haxor within, so to speak.

It is a big ladder to climb between Idea and Product, one step at a time is the only way.

How would one possibly eat an elephant?

Tools are required, for catching, skinning, cooking blah blah... and help from folks can be another tool within your toolbox whilst you fly solo dev.

Is the statement that the elephant is now too big to catch? It is hard to find other hungry folk to help hunt a big thing? Where is the hunting ground? Where do you get helping from other hungry solo devs to kill an elephant with only your inputs of skill, effort and time?

> My app is officially dead.

Most markets are large enough to accommodate several businesses. There's really no reason to stop working on something just because you find that there is already someone solving that same problem. Who knows, they will shut it down at some point, or might head upmarket or pivot to a tangential area.

If you have one project that’s already successful, however, it’s probably best to keep focusing on that and not be distracted by the one that never shipped.
Exactly. In fact, it's even a bit of validation that maybe the market you're trying to address actually exists.
And especially if the would-be competitor is so crap, as described? I don't really understand the leap from 'oh something like this already exists but it sucks' to 'no point shipping any more my life is over blog about it instead'.
I'm sitting here running the 200th uptime monitoring service, laughing at the notion you have to be first to ship a solution to a problem.

Build something good, that people want, and iterate rapidly as feedback comes in.

I think an uptime monitoring service will be my back up idea. It is like a pizza business, you can always find people who want pizza and who will rave about your pizza. Dominos and Pizza Hut are not a problem.
That's a good analogy, there are some pieces of software that are used by so many people that there's always room for a slightly different spin on it. Look at notes apps for example.
As someone who built and sold an uptime monitoring service - don't*.

You will have a hard time attracting customers as most common marketing channels are very saturated.

*unless you're going to approach it from a unique angle AND have access to a customer base; even then, it won't be a walk in the park

Yeah, now that you say that it sounds a bit like starting a pizza restaurant I guess: hard work. Probably harder as the Pizza restaurant has physical presence and proximity, where as online, it is more democratic: we are all equally shouting into the void for attention.
If I may ask: how did you get your early users? and what kind of money is this making? (thanks for writing the blog posts, I will also read them later).
It seems a bit rich to say that when your SaaS has <$5k in lifetime revenue.

https://news.ycombinator.com/item?id=30427048

I'd say it's even contrary to "laughing at the notion you have to be the first to ship a solution to a problem".

Why?
Because the GP said "most markets are large enough to accommodate several businesses", but I don't see enough evidence that it's true in your case yet given your lifetime revenue so it's really odd to see you emphatically agree with the GP's assertion and provide your own business as an example.
There's over 200 players in this market, and I've made over 4k so far off a couple hours a day before work (i.e, my main marketing channel is shitposting on twitter) - that's not accommodating several businesses?
I'm actually quite liking the looks of your service, and I'll probably start using it soon. I have only a few suggestions for additional features:

1. Check for open ports, to allow for non-websites (is my ssh server running) 2. icmp ping. (My ssh server is inaccessible. Is my networking/router down, or is it just my computer/program crash) 3. RSS feed for each defined check. This would allow integration with other services like IFTT. 4. Push notifications. First party or via other services; I personally send Pushbullet notifications for stuff via [1] (and currently looking at [2]), previously with npm and bash scripts; Pushover is fairly similar, and I've seen a newish offering called Pushkeep. Generalized webhooks might also work (I believe Pushbullet can be used this way, not sure about others).

[1]: https://github.com/GustavoKatel/pushbullet-cli python [2]: https://github.com/CaptnCodr/pushbullet-cli f#

(comment deleted)
You're damn right about that. Just take a look at ipinfo.io, site is generating millions for something maxmind had complete dominance for decades.

People give waay too many points to having an original idea and very little to marketing - yet it's the latter that is responsible for the lion's share of any project's success.

Yesterday I got a voice mail from a cold call at work from some rando (I have no idea how they got my phone #), and they mentioned they work for some infrastructure tooling site. I share a name with someone higher up in the company so I occasionally get cold emails/calls from people thinking they're talking to someone with actual purchasing authority, trying to hustle some business.

Anyways out of curiosity I go to the site and it's a business that's built around a single api call that my organization uses internally. I'm simplifying a little, but I can't believe someone built a business around this thing that, to me, is incredibly simple. (I understand it's more complex than that, and we have entire teams backing the goings on behind this api call, but still). From their "who's using us" block on the landing page they look successful. It's interesting to learn how small businesses can find success in the most surprising of places.

Kitze is a nice guy and an entertaining follow. I do think he needs to switch off more, however. He leans into tech in a very emotional way, and is very specific about what he wants. Which are good qualities, but they become bad when you can't switch off.

I think at one point he mentioned he stopped listening to learning podcasts when going for daily walks, and instead let his mind rest and enjoy the walk. If anyone feels like they are becoming their own worst enemy with their projects, then that sort of thinking is a good idea.

Having said that, he's also very successful with his other project. So he's a good follow, if you don't mind the trolling about web development ;)

I find podcasts very relaxing. So relaxing that I often listen to them to fall asleep, especially ones where the presenter has a nice soothing voice. Very important to turn off the auto-play feature, however!
I use podcast/audiobooks exclusively to fall asleep. But indeed, the narrator/presenter needs to have a soothing voice and no intro and outro jingles.
"Maybe this is actually obvious, but it's still a common mistake in startups so I'll say it - you don't have to believe your product is good to start selling; you just have to be better than not having the product. You don't even have to believe it's the best, or believe it's complete, or even like it. People will happily give you money for anything that makes their pain point slightly less painful."

Me, 3 hours ago. https://news.ycombinator.com/item?id=31351147

I wouldn't quite agree that people will happily give you money for anything that makes their pain less. There is still oboarding friction, possible import issues, fear of vendor lock-in etc.

I think it is something that is easy to describe in theory, "ship what people want", "pivot quickly" etc. but the truth is most of us think we have solved a problem with our product but as soon as the first customer says, "I would buy it if you changed all those things", we quickly get stuck between, "product market fit" and "I am not solving your problem so let's find the customer whose problem I am solving" to avoid creating something that only customer wants.

There is still oboarding friction, possible import issues, fear of vendor lock-in etc.

My point isn't really about the customer - it's about the startup, and the belief that you'll get to where you want to be eventually. Every single reason a founder can come up with not to be out there selling like "The product isn't finished", "It needs feature X", "It's not fast enough", "It needs better design", etc is wrong. No matter how bad your product is, if it's enough to solve the problem a bit then someone will pay for it. Any improvements you can make after that just increases the number of people who'll buy.

The fun game of running a startup is to make sure you're finding enough customers to make enough money to pay for building new things that enables you to find more customers, until you're big enough to either be self-sustaining or exit.

> My point isn't really about the customer - it's about the startup,

Startups are about the customer. Every single thing we do, whether related to tech or not, is to find and satisfy a customer's need in order to make it worth their while to give us money for our product. I think we agree on that, but if you ever disconnect your perspective or decisions from the customer, you open yourself up to going off-track.

> Every single reason a founder can come up with not to be out there selling like "The product isn't finished", "It needs feature X", "It's not fast enough", "It needs better design", etc is wrong.

But don't you run the risk of some potential customer coming, trying it, deciding it's crap, moving on, and now they are burned for the foreseeable future? So, once your product isn't that crap anymore, they won't come back try again, since your brand is burned and has built a "that's crap" reputation?

This is a problem in a market where they are maybe a small # of potential customers (ie. a niche market like 'satellite imagery data'), but not if your market is the Fortune 10K
>I wouldn't quite agree that people will happily give you money for anything that makes their pain less.

I think OP's point is that the customer is a better judge of "worth" in the sense of money spent vs pain reduced than you are.

It's impossible to do that worth test yourself. Expose to what you make to customers; see if they vote with their dollars.

We are our own worst critics, and that truth prevents so many dope ideas from becoming real.
This is extremely true.

I think some people are "maximizers" - They will always do research to seek out the "best" for their given budget for even moderately priced purchases. Engineers tend to fit this profile, so its easy for them to get psyched-out when trying to ship a product.

But people - and businesses - aren't always like this. They will buy what's available and seems to get the job done and seems like less of a hassle.

I worked at a company that at one point had an inferior product to our biggest competitor. We survived and they went out of business. Looking back, one big reason was the fact that we were able to fly under their radar until we had feature parity. We had no fear of shipping early... or shipping half-baked features. I kind of cringe now looking back. And when we finally eclipsed them (as those half-baked features slowly became fully-baked) we were still invisible to them - it wasn't until we started poaching some large accounts of theirs that we finally landed on their radar.

It's worse if we routinely read highly critical message boards like this one. I'm currently developing a desktop app using Electron, but comments like this [1] make me wonder if I should scrap it and start over using purely Rust and/or C++.

[1]: https://news.ycombinator.com/item?id=31350035

I couldn't imagine building a desktop app with anything other than Electron these days UNLESS I had significant prior experience with some other toolchain.
As Charm would say: "haters > /dev/null". Build what you want!
“talk to the hand” in pre computer speak I guess!
Honestly, I say this as a big Rust user: ignore that shit. At the level of writing a desktop app, the truth is that you're already using a vast amount of CPU and memory, and eking out performance gains on that level is not going to make a vast difference. It's very likely that your Rust code would end up being littered with .clone() and the like, and likely less performant than well-written JS.

Also, V8 is an incredible piece of technology, and is not that far off being competitive with Rust or C++. In some scenarios GC (by which I mean tracing) can outperform reference counting, or even Rust-style malloc+free. The event loop architecture is also very naturally fitted to user interfaces.

Ignore the HN opinionmongers and build with whatever tools you can work with. You'll be much faster and more flexible, and you'll gain an understanding of what the bottlenecks are, which you can use to do targeted optimisation later on :)

100%! I had the same fears when I started rewriting a native Mac video editing app in Electron last year, that it would be a big hurdle and that people would hate it. I don’t think that’s actually true anymore outside of our limited tech bubble. I also don’t think it’s necessarily true that “Electron == slow”, especially if you can offload the heavy stuff to native code and use Electron just for the UI.

I switched to using Tauri recently though, with the same sort of architecture - Svelte front end, Rust for the heavy stuff, and it’s working out nicely. It’s actually faster than the Mac app in most ways (and to be fair, Electron worked well too, but the installer size and startup time bugged me)

If you don’t like the bloat of Electron and don’t mind dealing with 2 browser engines instead of 1 (Webview2 + Safari), Tauri is worth a look. Doubly so if you already know some Rust. They’re still a bit early days in some respects, so it depends on what Electron features you need.

Ignore that! I mean I do hope Electron one day adds performance tuning knobs, to disable some browser behaviours so you as a dev can speed up the electron app. But yeah use what you want. I would use it for desktop (I would probably just wrap a web app in it, 2 for 1)
You have to just ignore software moralizers like that; people who have goals other than solving problems for users in a cost effective way. They aren't common, they're just really loud. There's a reason Electron is incredibly popular and it's not because the developers are stupid or careless.
I'm someone who tends to hate on electron, but definitely ignore those comments. If you have a large, experienced team who can easily crank out a native app, then there is potential for increased performance, but for solo projects and small teams the increased productivity alone is worth it. It's way better to have something available than a promised feature that may ship in 2 years.

Plus, there are tons of slow buggy apps that are written in c++, that doesn't guarantee performant software. Electron doesn't need to be slow either, VSCode demonstrates that. Especially for a solo dev or small team, electron is for sure the right choice for a desktop app.

Edit: the reason I tend to dislike electron is that apps don't often follow native UI trends, which is definitely a solvable problem.

Nah, if you do really believe creating what is effectively a web app is faster than a proper desktop one, go ahead and create it.

The only useful recommendation here is that, when you have some time, and don't have to rewrite an entire app, and if you expect to target the desktop again, you will gain from learning desktop frameworks. But absolutely not now while you are on the middle of something.

I find it really fascinating how a completely different subset of Hackernews users answers to you than are present on other threads. As literary no sibling is voicing a dissenting opinion I feel compelled to present it:

Purely from the user perspective I hate electron, because of its RAM usage. The speed argument is a straw man: Of course V8 is fast. And yes, VSCode is a very good IDE. But the problem is real world electron application don't scale down. In my (of course biased) experience even simple electron applications use at least half a gigabyte of RAM, often a whole gigabyte. If you're on a beefy 32gb machine you'll never noticed the difference. But on the 8gb machines most people around me use, these electron apps really take up a huge fraction of RAM. And swapping is definitely noticeable slow, even on SSDs. The "think about the planet" argument comes to play, when I need to upgrade my PC because RAM is the bottleneck. And seriously what fraction of the population even has the knowledge to only upgrade the RAM and not buy a whole new PC.

If I had to advise you personally, I might even tell you to choose electron. But be aware that you are using the "defect" option in the prisoner's dilemma: as everybody around you is choosing the societally harmful option of wasting resources you are at a competitive disadvantage to do the right thing. And also: electron has stolen mind share off of better solutions, so the documentation there is also not in the best place.

And even worse, those people I reach with my argument, and thus put at a competitive disadvantage because they are going the extra mile to do the rights thing, might be those that I want to support the most, because they might be willing to the right (IMO) things at other topics I value as well, like the importance of privacy.

So what is the conclusion? I have no idea how to fix our collective resource waste and it is hard to assign individual responsibility and I'm deeply dissatisfied by the whole situation.

> I find it really fascinating how a completely different subset of Hackernews users answers to you than are present on other threads. As literary no sibling is voicing a dissenting opinion

I suspect the difference is because they are responding from a developer's mindset, not a user's. For devs, Electron really is the easiest way to make desktop apps, especially if one already has web experience. Users who dislike Electron are generally seen as a vocal minority (how many people use Slack or VSCode vs non-Electron variants?). But then you have this vocal minority congregating on HN, which is especially focused on speed, and you get comments like the parent linked, dismissing Electron.

The dev point of view is more prevalent in this thread because the linked article is all about how a dev failed to ship an app because they thought it wasn't good enough, which is exactly the problem Electron solves, even if it's worse for the user.

> For devs, Electron really is the easiest way to make desktop apps

For developers who have never heard of Visual Basic, Delphi, or Free Pascal / Lazarus, Electron really is the easiest way to make desktop apps they know of.

There, FTFY.

I'm gonna be honest, vanishingly few people use any of those technologies these days, and I'm speaking as someone who has used VB and some Delphi before. Electron and JS has magnitudes more libraries and support than all three of those technologies combined.

To think that devs these days should use any of them is to be tone deaf to how the tech world works these days. Good luck convincing a dev, much less their boss, to use Delphi to develop their cutting edge desktop apps.

> Electron and JS has magnitudes more libraries and support than all three of those technologies combined.

Libraries and support for what? Betcha 99 percent are for stuff that 99 percent of developers don't need.

> Good luck convincing a dev, much less their boss, to use Delphi to develop their cutting edge desktop apps.

Wasn't this a discussion about the single bloke working on his Minimum Maybe Viable Product? He's his own boss. And if he doesn't want to be convinced to use the best tools for that -- his problem, not mine. I was just correcting your factual error about the easiest way to make desktop apps.

As it happens, the deciding factor in my choice to use Electron in this particular product is that, thanks to being built on Chromium, Electron includes high-level WebRTC APIs with a complete media stack (including advanced stuff like audio streams from multiple sources). Good luck getting that working in Delphi or Free Pascal.
Bah, dang rich one-percenters looking down on us CRUDdy peons! ;-)
> So what is the conclusion? I have no idea how to fix our collective resource waste and it is hard to assign individual responsibility and I'm deeply dissatisfied by the whole situation.

I think the most likely conclusion is that once OSes are guaranteed to have a modern-enough browser engine (this is close to being true for Windows since they introduced WebView2), Electron could update their framework to use the system's native webview (or at least make it available as an option for the developer). This would bring back the problem of having to test in multiple browsers, but I'd rather test against an old version of Chromium, or even Safari, than have to test against the old Edge engine in WebView1.

Edit: Did some more reading, and the way Electron discusses WebView2 doesn't seem to imply that they're interested in integrating with it: https://www.electronjs.org/blog/webview2

But regardless, I think all it would take is someone else making a framework that uses native webviews and implements enough of Electron's APIs/tooling to be close to a drop-in replacement. (Then again, how many people are using Preact?)

"Desktop App" could be anything from a taskbar app with a couple screens, to a CRUD app, to something that plays video, to a screenshot app, to something that only deals with audio, to something that only really needs system dialogs, etc, etc...

Electron works great for some of those use cases.

The other stuff works great for other use cases.

Anyone giving general advice on that is giving bad advice, period.

> They will buy what's available and seems to get the job done and seems like less of a hassle.

Enter AWS and GCP. People wonder why businesses seem to burn 10s of millions of dollars by choosing AWS instead of self-hosting, but the personnel and time advantage of offloading to AWS is often worth it.

For sure. And I'd add that although engineers tend to be more prone to behave as optimizers, we are all optimizers for some things and satisficers for others.

If you're starting to sell a product, it's really valuable to spend some time thinking about areas in which you behave as a satisficer, a person who's just looking for "good enough". Maybe it's buying rice. Or apples. Or where you fill up your car. Or buying jeans or flatware or toilet paper. There will be some things where your goal is to devote as little time and attention to possible to make the choice. Where you just want it to work adequately for your purpose.

The truth is most people are in satisficer mode for most purchases, if only because we don't have the time to really dig in on everything. Thinking about one's product from a satisficer perspective can be really helpful, as they tend to value things differently. They can also be much easier to sell to and are more likely to stay loyal as long as things are going smoothly.

In fact, you don't even have to have a product to start selling. All my successful products and companies started by selling first and building something only once I already had someone who wanted it. Those turned into companies generating $100k/mon.

The ones where I just went and built something and started selling the MVP are making a couple $100/mon.

Mind me asking what they are?
This is the general answer to "why is there so much bad code?" in almost any context. The marginal value of a poorly-written solution compared to no solution is usually much larger than the marginal value of a well-written solution compared to a poorly-written solution.
In some ways it's a rule that only bad code gets shipped. I find that heuristic helpful in my day job.
(comment deleted)
I think, one factor of this is attaching your pride or self worth to the product you are building and picking wrong KPI.

This thing you are building will prove everyone how smart or [SOMETHING ELSE] you are and the only way to have this happen is to strike at once, shock and awe everyone with your brilliance. You can't simply launch an imperfect product, what that will say about you?

My only comment here is you got to have thick skin if you want to follow this advice. Once you ship it, you will get a hundred compliments, and thousands of critiques (mostly from the jealous people).

When you don't have thick skin, you don't ship. Ever.

So true. I think my biggest negative when it comes to the idea of running a business is that thick skin. Not so obnoxious that you don't take feedback but realistic that opinions are free and come thick and fast!

I think this also plays out when people are always comparing themselves to their competitors instead of just concentrating on what they are doing well. Just because "Big Company" does it, doesn't mean it is worthwhile and that they won't pull it in 6 months when they realise they created something useless!

Er, nice story, really entertaining to read, but I think it would benefit from actually mentioning the "competitor" app that he ended up paying money for. I mean, he won't ship his own app anymore, so no harm done in mentioning it, right?
I could see that distracting from the main point. Then it becomes "Why were you solving that problem?" "Why did you insult their app, it's really great!" "The author's right, no one should use app X."

It's not the point of the story.

It's not really a story as it is now though. Someone did something better than this guy. It's just a stream slightly coherent gonzo ranting.
In other words, a story? An account of something that happened to that person? Does he have to state the names of every road he was on and every cafe he went to?

I like this site, but the one thing I'll never understand is the outrageously entitled attitudes of so many people when it comes to free content, like fat and delirious blog-reading Ubus.

Until he adds some actual facts, I’m going to assume the story is not true.
Agreed, you see it all the time on HN, commentors bikeshedding insignificant parts of an article. I'm glad the author didn't put in the competitor in the article.
Yeah, it's hard to know how to feel about this without that detail. Would the author's app have beaten it to market? Was the competing app actually there all along, and the author hadn't done market research? Are they really even solving the same problem? I've had plenty of instances of "I thought of that 10 years ago!" or even "I solved that 10 years ago!" but it's not that simple. My solutions wouldn't have succeeded because they weren't usable enough and I wasn't motivated enough.
Mine was when the iPhone SDK was released. I’d made a small Mac thing and gone to a few WWDCs, and really wanted to be an app developer. I brainstormed some dumb ideas, but one day I was meeting up with some friends in the city and while waiting for them to show up, I thought “there should be an app for this”.

It felt like I got a lot of blank stares when explaining the idea to people, but I went ahead and built a prototype app where you could invite friends to share their location for a limited time, and it would show you where everyone is in realtime on a map. I did a simple backend server to coordinate sending the updates between devices. There was a chat built in so you could tell people your train was running late. I sent it to a few people, we tried it out, I got busy doing other things, and never finished it.

My memory may have distorted the timeline, but it felt like a long time before I saw apps like Glympse, Apple’s Find My Friends, or Google location sharing show up. I could have easily gotten that over the line while it was still my idea. Entirely my fault, though.

Don't feel bad. Even if you had continued with the idea, it may not have worked. In 2013 there was a company called "Twist" that invited users to share their location temporarily so that co-workers could know if they would be on time to meetings. At some point they shuttered most of their employees and decided to pivot into bitcoin as "BitGo". (Note that https://twist.com/ is an entirely different company now).

I joined shortly after the shuttering. One funny thing was that the company still owned twist.com and would continually get emails for an unrelated sex club, twistsf.com.

And before that one of the founders of BitGo was at Google and and wrote much of the HTTP/2 and SPDY :)
Is that you Mike?
Lol nah. Met mike doing a project for them a few years ago when BitGo was young. Always thought it was kinda neat :)
Did we work together? I started working with them right after they started calling themselves BitGo.
Now young people are just sharing their location all the time on Snapchat and they use that to track each other's locations.

I've heard of people in relationships where their SO expects them to always have their Snapchat location on to keep track of them, which is insane to me.

I can relate. And I'm so burned out that I barely have a will to live.
Hey, have you considered doing therapy?
What are you working on? If you poured that much work into it already, I’m genuinely curious about all the details ^_^
Could have done without the violence expressed in the opening.
Not the saddest; just the most recurring "just ship it" story ever.
yeah this is the "just ship it" story with 1000 faces, not the saddest by any means
Strictly speaking, one doesn't preclude the other.

Sure, there could be other reasons this can't be "the saddest" such story, but just being common doesn't logically seem to be one.

When my oldest son was still young, I was working on my first Android game: a memory game about recognising letters, words, or anything. With a voice saying the letter, word, etc, so children would learn to match the symbol with the sound. I thought it would help my son learn to read, but before I knew it, he could read already. (At 4 or something. Never had to teach him a thing.) I lost my purpose and stopped working on it.

Years later, we had another child. Deep into his struggles with talking, and later reading, I finally remembered that unfinished app again. Didn't know where it was, didn't want to restart it, and really the ideal moment for my second son to start using it was 2 years ago, so I didn't even bother.

Most of the time "just intensely search first any competitor" before "start shipping it" works fine.
This article was funny and had a good moral wrapped in it. The part where he pays his competitor is priceless. "A tear rolled down my cheek for every single digit of my credit card that I entered in their app"
Also my favorite part. Poetry.
I've only ever "shipped" two independent projects, and they are the the best things I have ever done for myself in terms of development, both from a personal career growth perspective but even financially.

I work at a nonprofit and I had done some ABSURDLY SIMPLE data analysis on a relatively annoying public data set to consume. I'd done it for our institution, but it was sort of straightforward to generalize it to any institution for which this would be applicable. The code was... awful. Rather than doing it "properly," since I already had all the code I had written to do the analysis for my institution, I literally just ran it on the entire data set (10GB or so) for every organization that existed and then just put some result file on S3. My "site" would just let folks search for their institution, and present the data with a couple graphs, some nice visuals, and have them print it out. I was ashamed of it in a technical sense.

But I just bought a domain and tweeted at a journalist. Whelp, two weeks later, I had my picture in the city's biggest paper, my org got some positive press, did a service for other non-profits, had folks reaching out to me about jobs, etc. It took SO LITTLE effort, and every instinct I had was that it was bad and I shouldn't publish it. But the reality is I had already done 95% of the work... committing to just do the extra 5% was so hard to do, but in hindsight, so obviously amazing ROI, even if it hadn't gotten the attention it did.

Secondly, I built a reading app for a teacher at my school to let him do an activity where kids would jumble up sentences and paragraphs in order to help them understand transition words. The only reason I agree to try to do this was that I was learning React at the time and wanted to play with the React drag and drop library. After a weekend, I had it essentially working, and it was a success in his classroom. And here, too, it was to be the end of it... but I pushed myself through it, added a simple login mechanic, user account, etc. I had a small technical question as I was wrapping up, and I posted it on reddit. Someone who worked at a nonprofit mentioned to me that the app could potentially qualify for a grant that the Verizon foundation was running for learning apps. I applied... and we got it. The money award helped pay for my entire grad school tuition.

Really... just ship it!

The first project sounds like you just thought of a really clever caching mechanism :) if the data rarely changes and the cache is still valid then why not, I think you did find the “proper” way to do it!

As programmers we tend to want to generalize a lot, when in fact you can get to 80% of solving the real pain of a task with the first 20% of the work. The rest of the work can usually be done by a human much faster and with more trust than a three-thousand-if-elif-else solution would get.

> The money award helped pay for my entire grad school tuition.

Is that what the award was...intended for? You maybe don't want to brag about that on the internet.

That’s what I was gonna say lol, pretty sure that’s not legal at all.
It's a grant from a private organization. It's at worst a breach of contract. And if he simply called it a salary paid to himself to continue development and marketing of the app, that probably successfully clears any hurdles.
Usually the recruitment org will use the grant money to hire someone to work on the grant project, at which point the money is successfully laundered for any legal use by the employee.

Or you can simply attribute X% of an existing salary to the grant, and not even bother hiring someone new.

It's relatively easy to spend grant money on anything, as long as it's not in unreasonable amounts.

I assume the award was to pay for development. As long as it wasn't grossly in excess of prevailing dev wages, why shouldn't they be able to use their salary as they see fit...?
That's exactly right -- along with the money I had to introduce the app to a few schools, collect feedback, make improvements, etc., which is what the money was for and which I did. It just worked out nicely that I was in grad school at the time and it matched to what my outstanding balance was!
This is awesome!

And I want to add that the same applies if you ship it and it doesn't succeed. Because then you either learn that you're barking up the wrong tree or what to try next.

A decade ago I did a startup with a pal who is an excellent product manager. He had an idea that sounded great. So great that we actually raised some seed money. But when we built a basic prototype, it turned out people hated it. [1] That sounds like a bad outcome. But if it's not going to work, then the sooner you find that out, the less time you waste on it.

So yes, ship early and pay close attention to how people receive it.

[1] more here in a 5-minute Ignite talk he did on it: Here's a 5-minute ignite talk from him: https://vimeo.com/24749599

I've had this experience several times. The one that hurts the most I think was one I worked on with a friend called VRwalkthru that we wanted to sell as a service to real-estate agents and people selling their houses. You used a special camera to take pano photos throughout a property and keep track of your movements and directions in an app (it used accelerator / compass data). Then the photos would be converted to photo-spheres and arrows would be added you could click on the move to the next spot like google street view so you could "walk through" a property listing. We got a prototype working and sent cold emails to a bunch of real-estate agents and got... nothing, maybe one luke-warm response. We eventually gave up. That was about 2011, then a few years later along came matterport and I see it on practically every listing I look at.. oh well. I guess we didn't know how or who to sell it to, or it was not good or professional enough, I don't know...
You should have established personal relationships with a few local agents and then offered to do all the work yourselves for free to add that service to their listings. If it worked well that would have given you some positive references, or at least feedback on how to improve.