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

Good for Apple I say. Perhaps the rest of the corporate American lemmings could learn a thing or two from this. So many industries could benefit from this -- customer service especially. I don't know how many times I've called a customer service department only to have to "re-explain" my situation to five different reps. Where possible, assign one person to one task for the duration of the project. Being self-employed since 2000, I can appreciate following one job from beginning to end. There is a lot of wasted time that occurs in massive team "communication." Synapses in a single human brain will always be much faster than a bunch of people emailing and texting each other.
 
Absolutely true. There is one irrefutable truth about comments and documentation: people don't maintain them, and they're often wrong to begin with. Comments explaining WHY you did something that might seem odd or wrong--those comments are a good thing. E.g.,

// This is dumb but the front office demanded we associate accounts with a person instead of a group, so here's our translation so we can move on to dealing with the group.

Comments explaining what the code is doing are VERY BAD if you're working in a high-level language. ARM asm? Sure, sometimes. Objective-C or Perl or Ruby? If you're doing it right, it should be perfectly readable without comments. Your comments will only serve to mislead once the code is changed (if the comment was even accurate to begin with).

I'll add one more problem to WestonHarvey's list that often leads to code that "needs" comments--overuse of inheritance. This happens especially with programmers who have less than, say five or ten years' experience. They fall in love with the inheritance aspect of OO and build up impenetrable chains of abstraction and delegation.

While that is true some comments I wish coders would use would be things like

//end *blank method*

//end if *blank*

It is good practice and comes in real handy when you start running in to nested loops / if statements. It just gets easier to read to see were each end.

That and make sure everything is tab over correctly.

I hate code that is not tab correctly because it is just more difficult to read. I am picky about my stuff being that way just because I like to be able to see everything and know what I was ending where.

I personally find comments that explain what some method is doing handy. Big time if that method I am calling calls other methods in it.
 
ILife & iWork especially, don't need constant updates. Apple must stress quality!

But why couldn't they hire just a few more engineers so that these small projects don't slip through the cracks?
That is a good question but i think they are doing just that. However you just don't throw a new engineer at a bunch of apps and expect good results. It takes time to get the team up to speed.
Or so that larger projects that also seem to have been ignored (such as iLife, iWork, etc) don't languish in the market after not having been updated for months?
This statement is problematic and apparently takes the view that lots of updates are a good sign. Frankly it is just the opposite. Hopefully your quality control is such that no updates are required after a major release. In the real world this seldom happens due to bugs found in the field and other support issues but interim releases are something that most software vendors would tend to want to avoid.

So in a nut shell the goal really should be zero updates from one major release to the next. Each major release needs to offer significant new features and truely justify the releases number.
I understand the point about innovation and efficiency with this method as well as the cost savings, but Apple has multi-billion dollar profits, so you would think they could invest in a few more employees for these types of issues.

As far as I know Apple has been on a hiring binge. However it is a well known fact that highering more people does not get software done faster. It is a very complex subject but it is safe to say Apple is hiring it just takes time to see the results.

**********

As a side note your comment about iWork is interesting. Especially in the context of my experience with Linux and Windows.

The Linux mentality is release often and early which is fine for many projects. However from the users perspective it can be terrible especially when using business apps with features similar to iWork. The constant updates are a huge pain especially if they result in breakage. Sure the are the so called stable apps that you can use that are less pron to breakage when patches come out but you still have to be careful.

Microsoft is at the other end of the spectrum here with office. While simple updates are less common you still get plenty of security patches and the like. The big problem with Office is being bloat and adding features for features sake. If nothing else it highlights the need for restraint when updating mature software. If there isn't a good reason for a new feature and a clean implementation to it then the product doesn't need an update.

Now don't take this to imply that i don't think iWork needs an update. Nothing could be further from the truth. Rather there are lots of features i'd like to see in iWorks and especially Numbers. The last thing i want to see though is those features coming out oiecemeal every couple of months. Ideally we would see well thought out updates every 18 months or so. That would allow for time to implement those features and to out them to use.


Dave
 
The downside to this is engineers can't finish what needs to be done on a project. Often because a 'manager' yanks them off it, without knowing a damn thing about the complexities of the project. Apple has lost good engineers over such stupid practices.
 
The downside to this is engineers can't finish what needs to be done on a project. Often because a 'manager' yanks them off it, without knowing a damn thing about the complexities of the project. Apple has lost good engineers over such stupid practices.
Link?
 
I'll add one more problem to WestonHarvey's list that often leads to code that "needs" comments--overuse of inheritance. This happens especially with programmers who have less than, say five or ten years' experience. They fall in love with the inheritance aspect of OO and build up impenetrable chains of abstraction and delegation.

So true. Nothing is worse than giving someone responsibility for developing a fairly simple module and seeing it come back as a 7 layer burrito.

Code - especially new and unproven code - needs to get to the point quickly. If it's great and reusable it can always be broken out into something more abstract later.
 
Remote seems to work better with my iPhone 4 than it did with my 3G. I check daily for updates hoping that I can soon update all the apps to be compatible with the retina display! I'm sick of the ugly app icons that are still not retina display compatible.

I can't understand why some apps have updates, but don't change anything about it to have a higher resolution icon, navigations system or game graphics.
 
The downside to this is engineers can't finish what needs to be done on a project. Often because a 'manager' yanks them off it, without knowing a damn thing about the complexities of the project. Apple has lost good engineers over such stupid practices.

I think that was true about ten years ago, but not anymore. That said they are loosing people owing to the way they treat their staff. It's not a nice company to work for. Nor do they incentivise work on "pet projects" that could benefit the company. In a world where Google pampers their employees, Apple's 'keep em mean policy' isn't the best for retaining experienced staff - not that they'll have a problem filling positions.
 
That’s a very nice insight into the company. I do love the idea of competent PEOPLE not TEAMS working certain apps. This is also highly the reason why Mac OS .7 is being postponed as the qualified personnel is working on iOS for iPad & co.

I am really looking forward to .7 once it’s released sometime in 2011/2012. :)
 


...reports earlier this year claiming that Apple had diverted resources from Mac OS X 10.7 development in order to push forward on iOS 4.

No wonder, they need their time to develop new security holes for iOS.

Ohh, and i forgot, updating a little app is a very difficult task for such a little company like Apple. I can understand that.

;-)
 
That is a good question but i think they are doing just that. However you just don't throw a new engineer at a bunch of apps and expect good results. It takes time to get the team up to speed.

This statement is problematic and apparently takes the view that lots of updates are a good sign. Frankly it is just the opposite. Hopefully your quality control is such that no updates are required after a major release. In the real world this seldom happens due to bugs found in the field and other support issues but interim releases are something that most software vendors would tend to want to avoid.

So in a nut shell the goal really should be zero updates from one major release to the next. Each major release needs to offer significant new features and truely justify the releases number.


As far as I know Apple has been on a hiring binge. However it is a well known fact that highering more people does not get software done faster. It is a very complex subject but it is safe to say Apple is hiring it just takes time to see the results.

**********

As a side note your comment about iWork is interesting. Especially in the context of my experience with Linux and Windows.

The Linux mentality is release often and early which is fine for many projects. However from the users perspective it can be terrible especially when using business apps with features similar to iWork. The constant updates are a huge pain especially if they result in breakage. Sure the are the so called stable apps that you can use that are less pron to breakage when patches come out but you still have to be careful.

Microsoft is at the other end of the spectrum here with office. While simple updates are less common you still get plenty of security patches and the like. The big problem with Office is being bloat and adding features for features sake. If nothing else it highlights the need for restraint when updating mature software. If there isn't a good reason for a new feature and a clean implementation to it then the product doesn't need an update.

Now don't take this to imply that i don't think iWork needs an update. Nothing could be further from the truth. Rather there are lots of features i'd like to see in iWorks and especially Numbers. The last thing i want to see though is those features coming out oiecemeal every couple of months. Ideally we would see well thought out updates every 18 months or so. That would allow for time to implement those features and to out them to use.


Dave

i've seen people use MS Office since the 1990s. no one person uses all the features, but everyone in the user base uses them. you take a few out and people will scream.

i remember our company HQ in the army used to have all kinds of MS Word templates set up with all kinds of features. when office 2003 came out i remember reading about some court system that bought it just for the hyper markup capability or whatever it was called. Judge would write an opinion in MS Word and when refrencing a case it would add a link to it automatically
 
Jeez - Just hire some more people! :rolleyes:

Tony

I've been saying that for years. Unfortunately, I think Jobs has some kind of inherent need to accumulate massive amounts of free spending cash and then just HORDE it like a pirate would treasure. The economy is down big time right now and society could use a few good programming jobs to become available. Instead, Steve expects less to do more or just let various projects ROT on the shelves. I guess this is why I can't expect updates to Logic's engine or any number of things in FCP (just having support for more than 1 core would be helpful in a pro product from a company that is pushing up to 12 cores on their "pro" line of computers).

Sadly, Apple has been becoming ever more the follower instead of the leader in every facet of their company EXCEPT phones and pads. They could have doubled their work force, put more people to work and made both computers and software just as much a priority as a cell phone, but no, profits are down so Apple has to scale back and get by on less...er...wait a second. Profits are NOT down.... :rolleyes:

"Remote" could definitely use an update. It mimics the iPod music player, but unlike that player, it doesn't support all the features like viewing lyrics, for instance. It'd still be nice to see some kind of Airtunes functionality whereby you could play your iTunes music collection on your iOS device like you can another computer (i.e. shared library) or vice versa (playback the ipod's music to an airtunes device like the Airport Express or Apple TV directly over the WiFi network). Maybe the latter is a bit out of remote's domain and more towards the actual software of the iOS device itself, but it does show that they've hardly explored all possibilities.
 
like the article inferred in parts, this is a problem. why not get a higher quantity of quality engineers and speed production of more products? this excessive cost savings is lame, and i doubt the salary savings is really adding that many pennies to the aapl stock i own.

Isn't this just plain old news? This sort of thing has happened ever since apple debuted their flavor of a cell phone.

Yes and no. This article says everything except for the real reason behind so few engineers are at Apple in a "start up" environment. That reason is Steve Jobs is in direct contact with every engineer involved with product development. He keeps the product development engineer list intentionally short so no one can work on something behind his back, spring it on him and go "It works, let's ship!"

That mindset is what almost killed Apple in the early 90s when you had dozens of Mac models, personal fights between engineering groups over their "terf" of product and projects getting green lighted over politics instead of market studies. When Steve Jobs came back, he was a bull in a china shop killing product lines to cut hemorrhaging expenses. He got rid of on-line services, printers, scanners, cameras and kept the basic technology. I think it was said, "If a third party can't write code on it, we don't ship it!" back then. By the time he was done and the first iMac's (colors, colors, colors!) came out, the product line was cut down lean and very profitable.

Many have interviewed at Apple and after getting a taste of Steve's inside face, they turned down the job offer cold. Many a product development engineer at Apple may have been second, third or forth choice for the job.

Those that didn't take the six colors pay, I don't blame them a bit.
 
I think this is a great idea. It's not as though Remote doesn't work at the moment. I like the fact that the developers always have something new to work on, like others have said - it keeps them fresh. :) I hate working on the same thing for too long, I crave variation.
 
How many core engineers do you think developed Openstep? We had 12 engineers. We had roughly 30 in SQA and 50 in Professional Services, etc.. over at NeXT.

We brought that lean approach to Apple. You work on a lot of stuff and are never bored.

Leaving that environment made me realize how slow and bloated most businesses are in IT.

Well, it seems that with twelve engineers, you can either develop Openstep, or you can add a few and then you have almost enough to develop the Windows "Start" button functionality. :D
 
This assumes that all engineers are essentially interchangeable and equal in talent and ability, which is far from the case.

This goes for those saying just hire more people. Why hire people just to hire people? You need to find good people who are going to do the job as good or better than the people you have already. Don't just hire mediocre people because they can do something while the good people work on something else.

If you'd ever hired for a programming team you'd realise there are the rare superstar coders who can come up with the ideas and there are many more 'normal' programmers who diligently get the work done whilst the superstars are hacking away on some project that may or may not see the light of day in a year or so.

You need both types. The second type are often seen as mediocre but they're no less essential to software development particularly as software ages.
 
Where is weather, clock and calculator on the iPad?

I'm not sure that's actually to do with programming resources.

I suspect it's got more to do with the UI on the iPad not being very good for small widget like apps. Running a calculator full screen 1024x768 is nuts. Same for a clock or social network streams.

Look how MeeGo on a Tablet does it for instance...

http://www.youtube.com/watch?v=m4vv7yFaqxw

Either there's something like Dashboard coming or the iPad's UI is in need of drastic change. It doesn't help that the iPad is woefully short of RAM too - only 256MB. Hopefully they change all three.
 
The entire company is run like a startup. This is nothing new, Steve has always run Apple that way. Why is this news?
 
One problem with depending so much on a few people, is that if one dies or leaves, the loss of knowledge can cripple a product until someone else gets up to speed on it.

It's one thing to act like a startup with individuals responsible for major pieces when you actually are starting a new project... but not wise to act like one when you're in longterm maintanance mode.

(As a programmer, of course we love that mode. A manager would not.)
 
I guess this is why Apple seems to forget about what it makes. They haven't updated 85% of the original iPhone apps :(

I think the only updates they have made to the Calculator, for instance, is a landscape scientific calculator and a new icon in iOS 2.0. And a new icon in 4.0.

And speaking of Remote, I just deleted it off my iPod this morning. Never really used it much. Plus, I was running out of room for my Cydia apps.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.