Hacker News new | past | comments | ask | show | jobs | submit | dvdhsu's favorites login

That's how I feel about HyperCard. Some apps were so ahead of their time that when they were axed, nothing comparable replaced them.

I believe that this is due to a tragedy of the commons in the software industry. We're all so creative, with so many dreams, but spend the majority of our lives working 40 hour weeks to outcompete each other and make rent. Then when someone wins the internet lottery, they succumb to their ego and do a bunch of stuff in business to hoard even more wealth, rather than working to reform the system which keeps so many others down.

I would very much like to write a programming language, a blogging tool, a web framework, a game, a game development tool, etc etc etc. But I never will. Most of the people reading this never will either.

So I endure. I meditate, I practice stoicism, I go to the gym. But I had to let my dreams die for my own self-preservation because opportunity cost grew to consume my entire psyche. I simply can't think about all of the other things I could be doing while I have to work. And all I do is work.

There doesn't seem to be much help coming in terms of UBI or having N people split a 40 hour workweek or forming artist communes for makers. Sure, we hear the occasional stories. But it's like we're all waiting around for a billionaire to liberate us, rather than creating a scalable cooperative system to sustain all of us right now today.

What I'm saying is that until we look beyond the technical challenges and see that the problem is subjugation, we'll never get free of the lackluster tools, because we'll never have time to make better ones.


Former Uber engineer/EM here: I worked on the Rider app.

The “there are only a few screens” is not true. The app works in 60+ countries, with features shipped in the app that often for a country, and - in rare cases - a city.

The app has thousands of scenarios. It speaks to good design that each user thinks the user is there to support their 5 use cases, not showing all the other use cases (that are often regional or just not relevant to the type if user - like business traveler use cases).

Uber builds and experiments with custom features all the time. An experimental screen built for London, UK would be part of the app. Multiply this by the 40-50 product teams building various features and experiments outside the core flows you are talking about (which core flows are slightly different per region as well).

I worked on payments, and this is what screens and components are in the Uber app:

- Credit cards (yes, this is only a a few screens)

- Apple Pay / Google Pay on respective platforms

- PayPal (SDK)

- Venmo (SDK)

- PayTM (15+ screens)

- Special screens for India credit cards and 2FA, EU credit cards and SCA, Brazil combo cards and custom logic

- Cash (several touch points)

- AMEX rewards and other credit card rewards (several screens)

- Uber credits & top-ups (several screens)

- UPI SDK (India)

- We used to have Campus Cards (10 screens), Airtel Money (5), Alipay (a few more), Google Wallet (a few) and I other payment methods I forget about. All with native screens. Still with me? This was just payments. The part where most people assume “oh, it’s just a credit card screen”. Or people in India assume “oh it’s just UPI and PayTM”. Or people in Mexico “oh, it’s just cash”. And so on.

Then you have other features that have their own business logic and similar depths behind the scenes when you need to make them work for 60 countries: - Airport pickup (lots of specific rules per region)

- Scheduled rides

- Commmuter card functionality

- Product types (there are SO many of these with special UI, from disabled vehicles, vans, mass transport in a few regions etc)

- Uber for Business (LOTS of touchpoints)

- On-trip experience business logic

- Pickup special cases

- Safety toolkit (have you seen it? Very neat features!)

- Receipts

- Custom fraud features for certain regions

- Customer support flows

- Regional business logic: growth features for the like of India, Brazil and other regions.

- Uber Eats touchpoints

- Uber Family

- Jump / Lime integrations (you can get bikes / scooters through the app)

- Transit functionality (seen it?)

- A bunch of others I won’t know about.

Much of the app “bloat” has to do with how business logic and screens need to be bundled in the binary, even if they are for another region. E.g. the UPI and PayTM SDKs were part of the app, despite only being used for India. Uber Transit was in a city or two when it launched, but it also shipped worldwide.

And then you have the binary size bloat with Swift that OP takes about.


Sometimes there are a lot of people that experience part of the story that there can be multiple versions of the truth, each seemingly different, but all still fitting in with a larger narrative.

In 2012 I joined Amazon in a a small data analytics org within the supply chain. We were tasked with reducing split shipments: multiple item orders that could not ship out on a single box. The top reason for splitting a shipment was because we simply didn't have the right combination of items in a single fulfillment center. By the time I had gotten there, my manager had already successfully implemented the first transshipment network, moving items from one warehouse to another so they could ship out with the right combination of items and reduce a split shipment. But by then we were reaching diminishing returns on transshipment, and splits were still rising nationwide, and I was given the chance to provide analysis and new insights.

I probably ran a million analyses that year, but one of the most salient was that the major reason for splitting shipments was because we we sold so few of one of the items that it didn't make sense to keep more than one or two in stock nationwide. Those types of tail items were typically stocked in one of three fulfillment centers, the largest of the fulfillment centers in three regions of the US. And the number of orders getting split shipments between those three fulfillment centers was massive...more than enough to cover the cost of daily cargo plane transshipments between the three fulfillment centers.

I ended up leaving that team and moving on, eventually leaving Amazon completely. Right about the time I left, Amazon made a huge anouncement: Amazon Prime Air (eventually renamed Amazon Air to distinguish between the drone delivery idea). The press releases made it sound like they were launching it to deliver packages nationwide, but a quick call to my former colleague confirmed that upon launch, the only items they were moving was unpackaged inventory ... cargo plane transshipment, as my analyses had pushed for a few years earlier. Since then, they've expanded to actually moving customer shipments, but the service was initially entirely justified based on an analysis of split shipments I had done years earlier.

I say this because all humans like telling stories about themselves and the oversized contribution they had on something that made it big. It's cool, and it makes us feel important. But I was hardly the only person that worked on that project. There were likely dozens of others who were pushing for cargo planes for different reasons and maybe the transshipment story was enough to tip it over the edge. There were many more who bought into a crazy idea really early and came to own it, at least far more than someone who did a throwaway analysis years earlier. And they all probably have different versions of the same story. And they can all be true simultaneously, at least true enough to matter. Because none of us have a perfect recollection of the past...we all have a history written into our minds that is colored by the experience that we lived.


>A lot of people on HN are very out of touch with the realities of the working class.

Yeah, I'm always amused (and even dumbfounded) by some of the stuff I see in threads here. I'll screenshot stuff and shoot it off to friends and we'll just laugh at how entirely different beliefs, and sometimes even how delusional stuff tech people believe, can be.

I find common differences tend to be gender-issues, compensation expectations, thinking it's wholly ok to spend 10-15$ a meal for an individual on some meal delivery service, finding cars idiotic and unnecessary, thinking anything less than a 2-3k$ macbook might as well be an abacus, travel, time off etc.

Here in the midwest, you're quite happy if you get 2-3 weeks of vacation a year, you can't survive without a car, for many travel is a luxury and international travel is a rarity yet when I was in San Francisco I noticed on every popular dating app person after person with mention of 'been to 3 countries this year' '87 countries and still going' and photo after photo in different exotic locations standing in front of pyramids on two continents as well as laying next to a tiger or painted bright colors with an elephant... I was like yeahhhhh I have nothing in common with these people...

It really concerns me. In my most recent blog post I call YC out directly a bit because here they are the 'kingmakers' of the bay area and they still have this myopic view of things. The partners are founders of companies that did well, Sam was in the first batch if I recall correctly, Seibel has run 2 companies through, almost every single partner and co-founder of YC have at minimum a 4-year degree (Sam and maybe 1 or 2 others being the exception) several have masters, some have multiple masters and there's a few with doctorates. Most of them have lived in the bay area for many years, their friends are largely in the bay area, their partners/spouses are bay area culture...

Bay Area culture is not what 90% of the country is like, California itself is quite an oddity compared to rest of the country. Mutli-million dollars homes and apartments, semi-functional public transportation, app company, interview with 3-5 people to see if you're a 'fit for the company culture, do you have our vibe mannnn' is fucking alien. The blue-blooded, several thousand dollar suit, fortune 500 corporation I work for doesn't give a shit if 'you fit the company culture' they care if you can sit there as a serial number and churn out work.

Catered lunches every day, vitamin water? Dude! I've worked every Thanksgiving for the past 12 years and will again this year, in an office job, and you know what we will get? Day or two old bagels and some off-brand milk. The water that comes out of the GREEN AND WHITE stainless steel spigots in the 'kitchen' at work comes out milky, no vitamins but plenty of calcium and lime! And if the wind is right, we get to breathe jet exhaust, inside our office, a few hundred yards from some runways and our team at our hub, gets to breathe jet fuel all night as the planes idle outside of the building and that exhaust comes right inside.

It's so strange. There's such a disconnect between tech types and the rest of the world. Tens of thousands of people walked out of Google to protest, after being told it was perfectly ok. At one of my jobs, I got sun poisoning and had to make sure I didn't throw up (from the sun poisoning) in the graves I was digging and you know what, at that point in my life I was 100% fine with it because it was the best money I'd ever made and a little sun poisoning and sweating a few pounds of water weight a day was perfectly acceptable! Or how about throwing trucks for a dollar above minimum wage all year long, basically at whatever temperature outside was, ha I'd like to see a lot of tech types try that for more than a month.

sigh


In my limited experience, being a driven employee is quite literally that, in the sense that it’s someone else, the manager, who is doing the driving. Let me explain with an example.

At a previous job, I was at one time working on a large project under a enthusiastic, but hard driving project manager (he is a karate coach in his spare time). At the beginning of the project he pulled the entire team aside and held a pep talk, talking about how important this project was for the company, how hard he himself planned to work because of it, and finally how hard he expected us to work. He was upfront about the fact that there would be many days with very long hours, and he said the company was committed to doing what it would take to make it work for us: Paying taxis to get home from the client late at night, paying for meals and doing whatever to help those who had families with children (I don’t remember the specifics, as that didn’t apply to me at the time). Because of the personality of this project manager, it worked. He got us riled up, and for many weeks the whole team worked from early morning to late in the evening. At the end of the project, we received a small bonus and were commended in front of the rest of the company. During it all, the manager did what he had said he would: He worked as hard as any of us, staying each day until the last of us left, to the point where we worried about his ability to drive himself home safely.

In an environment such as this, I would expect many people who normally wouldn’t think they had it in them, would find that they also were able to perform to a level far higher than they were used to.


When I was working at Google (now retired living in Germany), I spent my first year there working insane hours and pushing myself beyond self-imposed limits. However, after dealing with burnout and having some close friends implode on the job, I soon realized that I was nothing more than a cog in a machine that would, if I let it, chew me up and spit me out.

I started gradually reducing the number of hours I worked for 'real' until, a few years later, I found myself working for two hours a day, choosing to spend the rest on things that contributed to my sanity and self-development (on company time). To fill the gap, I would work on my own software projects, socialize with co-workers, do research on things I found interesting and read books.

Needless to say, nobody noticed. I kept this up for a number of years and then I quit. Looking back on it now, those were some of the best, most carefree years of my life. There is nothing like getting paid a competitive six figure salary to mostly do the things you enjoy and not care one iota about corporate management structures.


The difference is the ability for new firms to compete.

With centralized planning, there's only one source. If that source is inefficient or corrupt, that inefficiency and corruption stays around. You can try to regulate, threaten, and police it, but nothing can really take it down.

By contrast, Walmart and Amazon might be very large, but they still have competition. Heck, Amazon started less than 25 years ago. Remember when Walmart was going to be the future of retail? Well, now people say it's Amazon. So, it's one generation for the crown to be passed? Apple was in such dire straits that Michael Dell thought they should close up shop and return cash to shareholders. Now look at Apple. Yahoo had the chance to buy both Google and Facebook. Heck, it wasn't really until the 90s that Walmart became what it is today: Sears and Kmart were the big stores.

The point is that, while companies might have large barriers to entry, competition sneaks in. Walmart looked like no one could compete with it. Today, I wouldn't say it's precarious, but it certainly doesn't look unstoppable. Sears was huge and today people make jokes about it.

Companies like Amazon and Walmart create barriers to entry by building up capital. It certainly does stop some competitors, but I don't think we've seen companies able to hold on for long.

It's also not necessarily about whether the company turns a profit. Government-owned, centrally-planned companies don't turn a profit, but they might be run incredibly inefficiently. It's not just Amazon's low-profit range, but it's efficiency that keeps it where it is. Plenty of companies are being run right now with low to negative profits, but also not being run super efficiently.

How many companies have been "the unstoppable juggernaut" for 50+ years? Can we name a few? AT&T isn't the AT&T from 30 years ago. Remember when AT&T had wireless and home TV and broadband and long distance was king? Well, that company thought long distance was the future, spun off its wireless division and sold AT&T broadband. SBC eventually bought what was left of AT&T on the cheap and renamed itself. Microsoft was the unstoppable juggernaut... and then Apple and Google came along. Walmart was that in the 90s and then Amazon came along, people started using other stores, etc. Heck, Verizon and AT&T seemed like no one could compete with them and then T-Mobile comes along and kicks of an era of amazing growth for them. That's an industry that relies on a limited amount of wireless spectrum that's insanely hard to compete in and T-Mobile started grabbing all the industry growth and forcing the big two to lower their prices and offer unlimited. American automotive companies were once kings and while they still exist, they're a lot smaller and have lost that powerful position. Office supply companies were big and everywhere and OfficeMax and OfficeDepot combined to survive and Staples doesn't seem to be anything powerful. I mean, Staples was started in the mid 80s and had a nice upward trajectory and seem to be on a graceful down-slope. Heck, Blockbuster Video. Talk about a staple of American life. Despite stores everywhere, huge brand awareness, etc. they got toppled by Netflix. Oh, Nokia! They were huge and worth nearly 6x what they're worth today a decade ago. They saw the iPhone and just stalled out. They saw Android and stalled. Finally, Windows Mobile, but it was too late/the wrong OS.

There are certain natural monopoly industries like utilities, but even in the cable TV/internet industry, they're looking less secure for the long run. Many people are cord-cutters for TV, opting for Netflix and other internet-delivered video. Many people watch on tablets which might use 4G rather than WiFi and that's likely to accelerate over the next decade as wireless networks get much faster with much more bandwidth. Tesla seems like it might want to compete with utilities over the long run with a combination of solar roofs and home battery packs.

Amazon is certainly powerful, but so was Walmart as Walmart scurries to stay in the game. It's hard to come up with companies that have really been that juggernaut for long. Walmart was a relatively new entrant against entrenched retailers like Sears. Amazon was a new entrant against Walmart. It's certainly not easy to unseat a powerful company, but it also seems difficult to stay at the top. Whether it's inefficiency, inability to pivot to new ways of doing things, or just markets that dry up as they're replaced by something else, companies have a hard time staying in such powerful positions in our society for long.

And that's the difference between a market with powerful companies and central planning. Central planning would have said that Netflix isn't a worthwhile attempt. We already have all these stores, what will we do with the employees, isn't it a waste to shutter so much investment and capital we've built up in the old way of doing things, the new model doesn't look as good economically (yet), etc. In fact, that's basically what companies do. Shipping DVDs? Ridiculous. You're maybe paying $1 for the round-trip on the DVD (including labor) and charging $10/mo for two out at a time? Seems like it would never work. Shipping books? People want to browse at their bookstore, people want goods immediately, and shipping eats into profits. Ridiculous! Better search? Nah, people want portal sites and Yahoo is the biggest! The iPhone? It doesn't even have a keyboard which is an essential part of devices like Windows Mobile. Wireless and cable? We think the future of AT&T is our long distance service which currently has better margins and lower investment cost than that newer technology.

When you have so much invested in one way of doing something, it can be hard to pivot as the world changes. You become hesitant to kill your cash cows and might not try new things aggressively. In a centrally planned economy, no one challenges that. In a market economy, companies come along and do challenge that. Even when offered their competitor, they often shrug them off! Blockbuster was offered Netflix for $50M. It wasn't profitable at the time and seemed niche - PASS. Yahoo was offered both Google and Facebook and thought the prices were too high. Apple announced its iPhone 6-months in advance and most competitors just thought it was dumb. Luckily, people can pursue these endeavors outside of one, centrally planned company.


[Breaking this into multiple comments, because it is too long. The subsequent parts will be replies to this]

We've been accepting credit cards for about 10 years, but I've recently been looking into all of this because (1) I'm pretty sure we are getting reamed on fees by some of our current providers, and (2) we are starting a new line of business under a different brand name and want to set up credit card processing for it.

The following brain dump of what I've found out might contain some things of use to you.

First of all, don't feel bad if you find payment processing confusing. I've found no site or combination of sites that is able to explain what actually goes on and who all is involved in credit card processing. Braintree has some good attempts at explanations, but they are not complete. Other resources I've found explain some of the other parts.

Two things complicate this. First, many companies provide many different services. If a company is providing both payment gateway services and merchant account services, they tend to merge those in any documents they write, because they want you to end up using them for both. Second, there is inconsistent terminology. Different companies sometimes use different names for the same thing.

Anyway, putting together all that I've been able to figure out so far, these are the entities that have their hand somewhere in your credit card processing. I would love corrections to this. I think I'll try to put together at some point some nice diagrams in OmniGraffle and put this up on the web (after any corrections are applied). When I first use a term I'll put it in quotes, and than put it in all caps in subsequent items.

I'll write this as if you are using separate companies for everything that can be separate.

1. Your "customer".

2. The "issuing bank". This is the bank that issued the credit card to the customer.

3. You, the "merchant". I assume no explanation is necessary for this item. :-)

4. Your "regular bank". This is the place you have your normal business account, and doesn't have anything particular to do with credit cards. It's just a place you keep your money.

5. The "credit card associations" are organizations like VISA and MasterCard. VISA and MasterCard are owned by the ISSUING BANKS. I'll get into their role in a bit.

6. Your "acquiring bank". You have a "merchant account" with them. When a transaction settles, this is where the money from the ISSUING BANK ends up. The ACQUIRING BANK then transfers the money to your REGULAR BANK, after deducting their fees. The ACQUIRING BANK is a little confusing because it is not really a bank. Their main role in this dance is to provide you with a line of credit in essence. If you sell a bunch of goods, the transactions settle, and you grab the money out of your REGULAR BANK and disappear without bothering to ship product, it is the ACQUIRING BANK that ends up coughing up the money when your CUSTOMERS call their ISSUING BANKS and demand that their charges be reversed. (Accordingly, this means that your ACQUIRING BANK is going to give you the biggest financial colonoscopy in this process).

7. A "member bank" is a financial institution that had a relationship with a CARD ASSOCIATION that allows them to function as an ACQUIRING BANK for cards from that association.

8. An "ISO/MSP". Those stand for "Independent Service Organization" and "Member Service Provider". These are essentially affiliates of MEMBER BANKS. They can sell you a MERCHANT ACCOUNT from the MEMBER BANKs they are associated with. I believe that ISOs and MSPs are basically the same. ISO is the term VISA uses, and MSP is the term MasterCard uses. You might think it would be best to get your MERCHANT ACCOUNT directly from a MEMBER BANK, but from what I've read it is often actually cheaper from an ISO/MSP. Also, just because an entity is a bank doesn't mean it is a MEMBER BANK. For instance, if you go down to a REGULAR BANK like BofA or Wells Fargo, they will happily sell you a MERCHANT ACCOUNT, but they will be doing so as an ISO/MSP for some MEMBER BANK.

9. A "front end processor". This is an entity that is hooked up the the CARD ASSOCIATION networks and can actually conduct credit card transactions. Your ACQUIRING BANK has a relationship with the FRONT END PROCESSOR.

10. A "back end processor". This is an entity that can actually initiate the transfer of money (via the Federal Reserve system) from the ISSUING BANK to your ACQUIRING BANK. Collectively, I've seen many people call the combination of FRONT END PROCESS and BACK END PROCESSOR a "payment processor".

11. A "payment gateway". This is what your shopping cart actually talks to, or (if you are actually physically accepting cards and swiping them) what your terminal is connected to. Its job is to accept requests from your cart ("Charge $49.95 to 5105105105105100") and then communicate with the FRONT END PROCESSOR that has a relationship with your ACQUIRING BANK in order to get the transaction conducted.


This may be a little cynical but:

"With our culture of bringing our whole selves to work and seeing team as family, with shared values we live by,..."

In the American business world, you are an employee until you aren't. Confusing being an employee with being "family" is a mistake, both for the company and the employee.

When times get bad, companies do what it takes to survive, including throwing employees overboard. That's just a fact.

Buffer may have thought it was different, but that flow-chart of how they decided who to layoff was entirely about how an employee can help the company, not how the layoff would affect the employee. That's not how normal families make decisions.

I have no problem with any of that, but anyone who thinks that way has another thing coming.

All of this isn't to say that Buffer was thoughtless or callous in how they handled it. From the outside, it looks like one of the better handled layoffs I've seen.

But still. Don't confuse your job with your family. It's a business relationship that is only maintained as long as it is in both side's interest to do so.


Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: