Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

OldSchoolMacGuy

Suspended
Jul 10, 2008
4,197
9,050
There is no impossible to code "app". But to say the Facebook app is trivial is quite insulting to the people who worked on it, be it the HTML5 cross-platform version or the current iOS native port.

Database programming ? I guess now we know why you think Facebook is trivial, you don't know the half of it beyond the SQL join used to extract the data from the database, "cupcake". :p

I agree that it is pretty basic. They're just taking an existing feed from Facebook and displaying it. It shouldn't have taken them years to be able to make the switch. A decent programmer could spit this app out in a week or two at the most. Instead Facebook releases statements like this that make things sound harder than they really are and pat themselves on the back when they should have been able to do this years ago and should be far beyond and better at this point.

----------

Software has sadly been going down the road of bloatware and inefficiency for some years now due to PC users being spoilt by large amounts of RAM and processing power - it's been leading to a new breed of programmers who just don't know how to write tight and efficient code, unlike those of us who grew up in the 70s and 80s.

Doing asynchronous programming to keep the UI thread clear should be standard programming practice, and it's what should have been done in the first place for such a mission critical app for Facebook.

With any luck, this rewrite exercise has taught a few developers some valuable lessons.

The thing is, this app isn't mission critical at all. They actually lose money when people use this app rather than logging on to their site as the app doesn't serve ads. Until they find a way to monetize the mobile apps, they don't want people accessing their site through the app. And until they figure out a way to make money with mobile, they'll continue to ignore it for the most part and won't bother to make the experience better.
 

Codestud

macrumors regular
Nov 1, 2011
125
137
HTML and Javascript do not count as software development.

I've been a developer for 14 years and I'd have to disagree with that. Even with these languages you still require a good amount of skill to get the job done properly. JavaScript especially can be quite an advanced topic when you get deep into it, even I can struggle with it after many years.

----------

The thing is, this app isn't mission critical at all. They actually lose money when people use this app rather than logging on to their site as the app doesn't serve ads.

I think that it does hold a level of mission criticality, because if it didn't they wouldn't have spent the time or money redeveloping it from scratch. They might try and integrate the iAd system on iOS to make a bit more money out of it, for example, but I'd agree it seems to be a hard balance for Facebook to strike to make money. Too much advertising will of course end up driving people away.
 

OldSchoolMacGuy

Suspended
Jul 10, 2008
4,197
9,050
I think that it does hold a level of mission criticality, because if it didn't they wouldn't have spent the time or money redeveloping it from scratch. They might try and integrate the iAd system on iOS to make a bit more money out of it, for example, but I'd agree it seems to be a hard balance for Facebook to strike to make money. Too much advertising will of course end up driving people away.

They would never integrate iAds. They have their own advertisers and want to use them. That's how they make their money at Facebook. Why would you give the competition money and take a much much smaller cut in doing so? As I said earlier, they're lost with mobile advertising and their directors that could have possibly helped them with that all just left.

You're right in that it is a double-edged sword for them. Adding advertisements on the tiny screen of a mobile phone will end up pissing people off and likely drive some of them away. Still, they have to figure out something.

Continue to watch their stock crash and burn with Zuck at the wheel.
 

Tommyvercetti

macrumors newbie
Aug 17, 2012
3
0
Amazing, can't upload a picture from iPhoto with this new update. I had to delete it and use safari, then reinstall Facebook app.
 

firewood

macrumors G3
Jul 29, 2003
8,108
1,345
Silicon Valley
Doing asynchronous programming to keep the UI thread clear should be standard programming practice, and it's what should have been done in the first place for such a mission critical app for Facebook.

And yet, there are so many many apps in the App store that s*ck in terms of UI responsiveness.
 

WatchTheThrone

macrumors regular
Aug 2, 2011
239
137
That's cool and all but what is most interesting is that they chose to remove landscape mode....is this the first real sign that the "new iPhone" will indeed have a longer screen?? I mean a Facebook feed on a long skinny screen would look odd in landscape specially when typing a comment or something!!
 

Mike Oxard

macrumors 6502a
Oct 22, 2009
804
458
HTML and Javascript do not count as software development.

Have you written anything for the consumption of end users in any of the following languages:
C/C++, C#, Java, Perl, Python?

I have been working as a software developer for almost 15 years and I have written mission critical software using each of those languages in my career.

I also dabbled in web development which included both client side and server side code but if someone only dealt with client side scripting and layout then they really could not rightly call themselves a "developer".

Whoopy dooo! Who cares what you can do, this is Facebook, they should never have been embarrassing themselves. Just because it's hard is no excuse for any company with that much money. The real world users won't care, they know crap when they see it. Geeks justifying it makes it even more embarrassing.
 

KiwiAdventure

Suspended
Dec 7, 2010
607
304
New Zealand
They haven't done a great job with this up date. It's still hard to edit and delete posts as well you can only add one photo at a time.
This is a slack up date Facebook.
 
Last edited:

thewitt

macrumors 68020
Sep 13, 2011
2,102
1,523
It's a very solid redesign using some interesting methods to optimize performance while working within the iOS framework and the Facebook API.

Well done Facebook.

For those who want to measure their di@&$, we have more than 60 iOS apps in all categories, some developed in HTML 5 as well, and I personally have been programming since 1972... Not that any of that matters...
 

darkplanets

macrumors 6502a
Nov 6, 2009
853
1
So much e-penis measuring in here. Not that I don't blame you -- I'm a chemist and we're just as bad.

Funny to see how the "well we're better because it's harder" line applies to everyone everywhere.

I'll still avoid the facebook app like the plague -- the first one left enough of a bad taste.
 
Last edited:

ConCat

macrumors 6502a
And yet, there are so many many apps in the App store that s*ck in terms of UI responsiveness.

So true and so unnecessary. Grand Central Dispatch is one of the easiest (if not THE easiest) to use multi-threading option out there. Really, throwing work onto another thread is absolutely trivial. I use it all the time. There's just no excuse to be bogging down the main thread on iOS.
 

AriX

macrumors 6502
Jan 8, 2007
349
0
As for me, optimizing simple processes that shouldn't have been intensive in the first place is not something I am impressed about. :cool:
That's what I got out of his remarks too. :) Facebook isn't rocket surgery. Sounds like they have a bunch of green programers trying to reinvent the wheel.

Kudos to their infrastructure and backend for handling the insane amounts of traffic but not so much for the front end design.
You obviously have not spent much time coding for iOS. Doing the type of optimizations this post discusses is difficult, and a lot of the solutions they have come up with (for example, caching the table view cell heights) are very clever.

Just because something looks straightforward does not make it a "simple process" or "not rocket surgery" (whatever that means?) If you think you can do it better, go ahead, but your comments clearly indicate that you do not have a deep technical understanding of what's going on here.
 

gnagy

macrumors regular
Sep 7, 2009
166
15
I get that programming is hard. The thing is, if it is your job, wouldn't you be embarassed to have produced this garbage?

I'm a software engineer, and I'm embarrassed ALL the time. Here are a few things to consider:

1. Sometimes, developers are given hundreds of thousands of lines of legacy code to start with. The code was expensive to produce, and most people that worked on it are not around. It's a pain to work with, but the code works well enough that the company isn't willing to throw it in the trash. The end result is an embarrassing product.

2. Sometimes the budget or time constraints are not realistic, thus features and quality has to be sacrificed. This always results in embarrassing products/code.

3. Sometimes the wrong tools are forced on the developers, and important decisions are made by people that don't fully understand the technology. Many companies are pushing HTML5 because they believe in "write once, run everywhere". It can be used to create apps that sort of function on all smart phones. The reality is "Write once, wrong everywhere", and it's embarrassing.

4. Good development processes can create reliable and high quality code, but it increases development time. Sometimes companies decide to be perfect, and end up releasing a product that's wrong because it's a few years late, and technology moved on. This is a case where a high quality product can still be very embarrassing.
 

Aeolius

macrumors 6502a
Jul 25, 2002
932
70
The removal of Landscape mode is a major disappointment. The text was larger, in landscape mode, and my eyes appreciate all the help they can get!
 

Laird Knox

macrumors 68000
Jun 18, 2010
1,956
1,343
You obviously have not spent much time coding for iOS. Doing the type of optimizations this post discusses is difficult, and a lot of the solutions they have come up with (for example, caching the table view cell heights) are very clever.

Just because something looks straightforward does not make it a "simple process" or "not rocket surgery" (whatever that means?) If you think you can do it better, go ahead, but your comments clearly indicate that you do not have a deep technical understanding of what's going on here.

Oh you got me there. My professional career is obvious based on those four sentances. :rolleyes:

I still maintain that it is not brain science.
 

nexusrule

macrumors 6502a
Aug 11, 2012
623
758
There is no impossible to code "app". But to say the Facebook app is trivial is quite insulting to the people who worked on it, be it the HTML5 cross-platform version or the current iOS native port.

Database programming ? I guess now we know why you think Facebook is trivial, you don't know the half of it beyond the SQL join used to extract the data from the database, "cupcake". :p

This guy told you he was a programmer and you inferred from nothing he was a client-side web developer, being wrong, as it seems. Then he said he design business applications and program database and you, again, inferred from nothing he only knows the basic foundations. Both times you sounded insulting. I think you should chill out a bit and leave other people have their opinions. Yes, also if you don't agree with them.
 

TouchMint.com

macrumors 68000
May 25, 2012
1,625
318
Phoenix
Doing the type of optimizations this post discusses is difficult, and a lot of the solutions they have come up with (for example, caching the table view cell heights) are very clever.

Just because something looks straightforward does not make it a "simple process" or "not rocket surgery" (whatever that means?) If you think you can do it better, go ahead, but your comments clearly indicate that you do not have a deep technical understanding of what's going on here.


I'm no pro but have had many successful apps and still am nowhere close to the progammers that updated this app. I agree the Facebook app upgrade is pretty amazing. I can't even imagine the skills of the distributed capacity planners.
 

superman23

macrumors regular
Nov 10, 2011
125
3
consider me unimpressed. this company is worth $42 billion according to investors right now. yay..you made an iPhone app that displays news stories, after having several years to do it.
 

achtung!

macrumors regular
Aug 21, 2005
205
8
Portugal
I'm a software engineer, and I'm embarrassed ALL the time. Here are a few things to consider:

1. Sometimes, developers are given hundreds of thousands of lines of legacy code to start with. The code was expensive to produce, and most people that worked on it are not around. It's a pain to work with, but the code works well enough that the company isn't willing to throw it in the trash. The end result is an embarrassing product.

2. Sometimes the budget or time constraints are not realistic, thus features and quality has to be sacrificed. This always results in embarrassing products/code.

3. Sometimes the wrong tools are forced on the developers, and important decisions are made by people that don't fully understand the technology. Many companies are pushing HTML5 because they believe in "write once, run everywhere". It can be used to create apps that sort of function on all smart phones. The reality is "Write once, wrong everywhere", and it's embarrassing.

4. Good development processes can create reliable and high quality code, but it increases development time. Sometimes companies decide to be perfect, and end up releasing a product that's wrong because it's a few years late, and technology moved on. This is a case where a high quality product can still be very embarrassing.

don't put the blame only on others or on things such as legacy code, limited budget/time or wrong tools. sometimes you're to blame (or your team) when the product is embarrassing. the problem is when developers are not embarrassed by the mess they've made. saying it's hard to code isn't an excuse. every job has hard times. deal with it or get a new job.
so, if you allow me, i'll add another point to your list:

5. some developers are bad developers. so you'll end up with an embarrassing product. :p
 

ConCat

macrumors 6502a
don't put the blame only on others or on things such as legacy code, limited budget/time or wrong tools. sometimes you're to blame (or your team) when the product is embarrassing. the problem is when developers are not embarrassed by the mess they've made. saying it's hard to code isn't an excuse. every job has hard times. deal with it or get a new job.
so, if you allow me, i'll add another point to your list:

5. some developers are bad developers. so you'll end up with an embarrassing product. :p

Many development firms impose unrealistic limitations on their developers, and they get something like Windows XP, no service pack. Windows Vista too. In fact, Microsoft is notorious for the stress it puts on its development teams. You don't design quality software if you don't let your devs take the time they need to do their jobs, and it's a problem in many companies. Now, there does need to be a balance. Valve for example is notorious for almost never releasing software on time, but at the same time, their games tend to run pretty well in my experience (I'm not counting Steam itself... Nobody could design a good app the way they're doing it).
 

r.harris1

macrumors 68020
Feb 20, 2012
2,190
12,628
Denver, Colorado, USA
...A decent programmer could spit this app out in a week or two at the most...

----------



...The thing is, this app isn't mission critical at all...

I see you both aren't a programmer and you're not someone who runs a business (could be wrong)!:)

On the first point, I can guarantee you that the app couldn't have been slapped together by a "decent programmer" in a week or two. I've seen such apps - they're horrible beyond belief. Whether you like Facebook's app, the intricacies that go on behind the scenes - what to put on the main thread, what and how to put on other threads, messaging, scaling, memory management, graceful error handling, even some of the UI events (at least some of which aren't "out-of-the-box") - are enough to occupy a team of "decent developers" and designers for a while. Whether for a year is hard to say but definitely longer than a couple of weeks.

On the second point, "monetization" comes from many things. If a great number of your users own mobile devices and interact with your service via your mobile app, regardless of ads, and the experience sucks, your business will suffer, if nothing else from bad press and poor reviews (one reason they re-wrote the app in the first place). So I would argue that it is very much mission critical. Just ask "What happens if the app is unavailable or is unusable?" and for Facebook, it would be very bad.
 

Laird Knox

macrumors 68000
Jun 18, 2010
1,956
1,343
Now they want to house 2800 engineers in one big room.

"It will be a large, one room building that somewhat resembles a warehouse. Just like we do now, everyone will sit out in the open with desks that can be quickly sheffled around as teams form and break apart around projects."
Sounds horrible.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.