You're both right.
If the course has an SSA for typical conditions you can use that to calculate ratings. That's what the EasyScorecard
app uses to generate its ratings. I suspect the PDGA iThingie app works the same way. There is a formula to calculate SSA based purely on course length and foliage that works pretty well.
But the SSA also falls out of sanctioned competitive play in the ratings process. It's the score that would be rated 1,000 for a particular round. Here's a pretty gross explanation of that process (stolen from a PDGA message board post):
Take a round of tournament golf, and average all the player ratings
of 800+ rated competitors with at least 8 rated rounds in their history.
Say you get an average of 950 out of them.
Next average all of their scores for that round (assume 18 holes).
Say you get an average of 53.
Then for that round a 53 would be rated 950.
For SSA's in the general range of 48-53 you add or subtract ~10 ratings points per stroke, so 54 is 940-rated, 50 is 980-rated, and 48 is 1000-rated (and thus also the SSA).
As the SSA gets further from 50 the ~10 points value shrinks (for higher SSA) or grows (for lower SSA). Also if you're playing more than 18 holes the ~10 point value changes: roughly 21 holes = 8pts/stroke, 24 holes = 7pts/stroke, 27 holes = 6pts/stroke.
I've got the EasyScorecard SSA's set to:
A tees = 24.7
B tees = 24.5
Junior tees = 19.1