Hadn't seen the union approach in #2 before, I like that a lot. The 2 named properties are intuitive to other developers reading it, but now we also get compile-time safety that the combinations they use are valid. Thanks!
1 + "2" (12) does a string concatenation.
1 - "2" (-1) does math.
That said, whilst JS is loosely typed and won't fall over when you do this, I'd just see it as bad form to find code mixing types to this extent. Just because the language will let you do it, doesn't mean you should actually do it!
I don't know your specific metrics, but one way to consider it is to forget about money for a minute. If you were to use one of those metrics to judge how successful your users were, which would it be?
Intercom.io is a brilliant example of this. They could have priced a million different ways, but they chose to charge by active users on their customer's apps. Now I don't even care about the price, I'll be happy to be doing so well each time I go up one of their price bands!
"We think getting your whole team on Intercom is a good thing. And we think talking to your customers is a good thing too. So we won’t tax you for either. We charge you more as your user base grows. Our interests are aligned."
Given the histories of these 2 writers, I'd have hoped for a bit more substance in such an important post for them.
They don't mention anything specific about the new site, and given how many other good tech sites there are, the vagueness doesn't make me curious enough to come back.
And in terms of journalistic integrity with full disclosures; I learnt more about what has really happened from the comments here than I did in that post. Surely they should have disclosed that a need to "refresh, reimagine, remake and reinvent" wasn't the only thing in play here.
It's worth considering how poorly handled the communications were here. No blog posts, no responses to the forum thread that mostly started all of this [1], nor the story that hit HN's front page [2].
Just Twitter. Which is something, but not enough when you have a PR issue this big...
I just don't store credit card details in my browser. Auto-complete for emails is extremely handy and I use that all the time, but does purchasing things online really need to be any easier?
I don't mind reaching for my wallet there; it forces you to make a conscious decision to spend the money, which is at least slightly better than a 1-click impulse.
Surely there was a better way to handle this? 1.1 million users in 8 hours on an un-official version? That's brilliant enthusiasm, which Blackberry don't often get these days. Simply shutting that down and telling them to register for some email updates is a bit of a dampener.
Couldn't they have become some massive trial group etc.? A giant set of early adopters to keep rolling out improved versions too (All with a big "alpha" caveat if that's what it takes), that can get people not yet in the group excited.
I think the little bit of hype and excitement from interested users is just the sort of thing BlackBerry needs, and putting a plug on that is crazy.
Perfectly framed letter, it's interesting that he doesn't make mention of a single negative point or competitor. All very reassuring instead, and it reads like he has just been given the reins essentially and won't be rocking the boat for a while.
$100 per month isn't bad for the inevitable crisis when you really will need a good sysadmin's help.
For me, the biggest reason for paying for managed services like Heroku etc. is avoiding that risk. This sort of thing would make me far happier to ship some of the load back onto Linode. Can't fault their hardware. :)
I can see what Wade is saying here, but I don't agree with the conclusion.
"So when you begin a startup, make sure to think long term. Will you still want to do this if a family member gets sick? Will you want to do this if you have kids? Will you want to do this when _____ happens?
If the answer is “no”, then you’ve saved yourself a lot of unnecessary heartache."
I think it's fine for the answer to be no to some of these, but still want to do a startup.
If your partner was hit by a bus, then in that instant almost everyone would prefer to be at some large company where you can hand off your responsibility in no time and the company will support your time off etc.
That just makes it easier to be a good person in those times. Everyone could do with a break in times like that, if it was an option.
I don't think hunting down the most severe scenarios that could happen to you in the next x years and trying to find one where you'd rather not be running a startup is a valid reason not to start one.
This seems like it does just about everything under the sun (Basecamp, helpdesk, invoices etc. all in one app?)
That could be very handy of course, but it's a lot for someone to make the change to. I think rather than doing more and more, you need find a way to make one or two features totally compelling.
One general thing I would say is that in all your tables of links (e.g. Dashboard > Messages, Accounting > Invoices etc.), then clicking anywhere in the row should load that item (And feel free to lightly highlight the whole row on hover).
Just makes it easier to click around fast, because the app as a whole seems to load very quickly. Well impressed with that aspect. :)
Like other readers have said, the real step forward in this area would be chip and pin. That raises a potentially more interesting question though, how do you transfer a country the size of the US from swiping to the chip and pin?
Even here in the UK, where absolutely everywhere that uses a card is using the chip, a bank can't ditch the magnetic strip because then suddenly they're the only bank where you can't use your credit card abroad.
Would ATMs that read the chip without actually taking the card in the whole way work to obsolete these skimmers? (The chip is always at one end of it, so why does the rest of the card need to enter the machine?)
For anyone else that this was new to, Flow has documented these as "disjoint unions": https://flow.org/en/docs/types/unions/#toc-disjoint-unions