Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

So, FB app is bloated because they choose to be sloppy is what I read. Wonder how sustainable this is over the long term?


It's not sustainable.

But since software developers have been dealt a good hand (demand-wise) in these decades, we get away with it. And call it "hacker culture", so it sounds hip and even correct.


Actually, I'd counter that it is sustainable -- for Facebook. They have so much user data and so much ad revenue that they can afford to throw engineers and money at the problem. Big companies can work hard and make things work, smaller shops have to work efficiently out of necessity.


Yes indeed. From a slightly different perspective, assuming every good dev tries to be as efficient as they can be, even assuming they are, but with varying degrees of success due to various factors, a big company can hire lots of good people and only needs to get lucky and hit the mark occasionally. A small company on the other hand has to get lucky pretty much every single time.


This strategy was hugely successful for Microsoft since the early days of Windows NT 3.1: “What Intel giveth, Microsoft taketh away.”

The performance advancements on the hardware side of the platform are almost entirely consumed by the ever-increasing complexity of the most popular app on the software side.


That may be successful for the software companies. But pity the user who's stuck with old hardware and wants to know why used computers don't last as long as used cars. Maybe when Moore's Law finally becomes invalid...


Actually, the hacks they used make the app work better on older hardware. As another example, the proprietary office formats contained a lot of hacks specifically designed to make the files load faster on older PCs. Newer PCs were able to compensate with the complexity because they were faster.


Yep. 2005 G5 powermac. Totally usable machine. Can get a dual 2.5GHz boz with 4Gb of RAM for equivalent $40 in the UK.

But no, it's stuck on OSX 10.5...


Sounds like a job for Debian!


Debian was a complete dick on my old ppc g4. It sort of put me off. The was going to try FreeBSD but I have to persuade the wife to let me buy a g5 yet as they're large, noisy and entirely unnecessary. I just want one to play with and go ooh and aah and stuff :)

I did the same with old SPARC kit a number of years ago too.


PPC Debian runs just fine on my old Mac Mini. I could replace the thing, but it just keeps chugging on.


Time to have another bash I think. She might take to a G4 Mac Mini over a full sized G5 as well ;-)


Product-wise, it's likely that in the long term they're going to break up the FB app into a federation of related apps. They already did that with Messenger.


Sloppy?! Those guys have needs the majority of us will never need to deal with. Did you read the presentation?

If anything they're the opposite of sloppy.


The parent is not referring to those needs (which are legitimate). The presentation talks a lot about the hacking culture; how there is a lot of duplicate code, a lot of dead code, a lot of "temporary" code.

We call these things technical debt. But it sounds like they just never fix them. Refactors never happen.


Eventually you just hear "New version of our app rewritten from the ground up" when it all becomes one big pile of technical debt.


I sincerely doubt the fact that there are companies which thoroughly fix "technical debt".


They don't call it debt. It is simply their way of keeping their agility with a huge number of developers. If the flip side is junk that mostly impacts install space, I don't see it as a bad trade-off.

What alternative way would you suggest to keep your mega team productive and shipping features?


You can't avoid fixing tech debt. Eventually it impedes your ability to be productive. It happens, to some degree, to every software project. Someone else joked about "we wrote the app from the ground up" but that really does happen. You're not "shipping features" if you're rewriting the app.


Hiring a team whose sole job description is garbage cleanup?


Productivity != Total Output.


1. Having a core team who's job it is to maintain the app and clean up the debt.

2. I seriously have to question that they absolutely need that pace. I don't buy it for a second that any of this is necessary or better than the alternative.


Their needs don't explain all the redundant and unused code. It's slop, plain and simple.


It's not. It's just decoupling. Redundant code exists because different groups of people needed the same thing in different contexts (with probably slightly different requirements), and co-ordinating to keep this stuff centralised is hard, and most of all time-consuming.

This has two clear advantages. You don't need to fill a form every time you change the smallest of functions and when you mess up, you don't impact everyone else. Honestly, I don't get the negativity.

EDIT: I don't mention dead code because that can be, if really needed, removed by a tool so I think the point is moot.


> I don't mention dead code because that can be, if really needed, removed by a tool so I think the point is moot.

It can easily be cleaned up in an automated fashion and they don't do it. That's exactly what everyone means by slop. If you could pick up the clothes on your floor but don't, it's not because you're a hacker.

Update: not only do they not clean it up, they ship this shit to a billion people. Talk about lazy.


If the were not sloppy they wouldn't have to deal with those needs too.


Because they wouldn't exist.


Their needs are because they're sloppy. Having an overarching Core team who's job is to maintain the app and guide the architecture would cut down on what they need immensely.




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

Search: