kirkmc wrote:
Quote:
Because of this, end users will ignore functionality in iTunes that they do not need when comparing it to software that does only what they do need. This is a very important aspect of understanding the end user. If you provide functionality in a software program that the user does not need or use that functionality does not exist for that user.
You say users will ignore functionality they don't need, yet that's not what I see; I see people criticizing software (and not only iTunes; Word, Photoshop and other examples have been cited) because of the existence of functions they don't need.
But then you say:
Quote:
Users don't care if a program is well written, or takes x amount of resources, or takes x amount of time to perform a function.
That's exactly the opposite of what I've been reading here. Criticisms of memory usage and program speed are the main ones made in this thread (unlike in other forums, where people have discussed functions, and their presence or absence; mostly because the people posted here are more technically inclined than the others I've been discussing this with).
You're jumping ahead of yourself; I guess I need to write an article of my own to get the full concept across. I agree internet communication is a difficult beast.
Let's add some emphasis to my first statement:
"Because of this, end users will ignore functionality in iTunes that they do not need
when comparing it to software that does only what they do need."
I'm not saying that end users are not aware that the functionality is there (even if some of them only know that iTunes "can do a lot of other stuff") ... the point is they will compare the software to other solutions that do
only what they care about.
This brings us to my next statement:
"Users don't care if a program is well written, or takes x amount of resources, or takes x amount of time to perform a function."
Read this sentence again, but forget about "software bloat" for just a moment. This statement is true, taken for itself. The first part: a program could be written using design patterns, using OO methodoogies, or using horrible programming hacks. Doesn't matter to the end user unless it affects what THEY see ... the programming is irrelevant to them, so long as it works. The second part: a user needs a frame of reference in order to judge how much resources is "too much". An application, without an external reference point, takes up as much resources as it needs. If this does not affect the user in an adverse way, there's no reason for the end user to know or even care if it's "too much". The final part is similar. Without a frame of reference ("this functionality takes longer than it would if I used application z") the software is simply doing the job and the end user accepts that so long as the application has a consistent timing for whatever functionality is being looked at.
This entire statement was supposed to be used as a reference point for my next statement:
"Users care that a program
runs smoothly, that it
takes less space than application z and that it
runs "faster" than application z."
The first point: If a program runs smoothly (or smoother than the alternative product), the internals of how it works won't matter to the end user. The second point: if a user can SEE the difference in resources needed for similar functionality (or THINK they can see; as you have pointed out, exact numbers on resources are not easy to grasp), it doesn't matter if the application that needs more resources uses them effectively ... to the end user, it's a bigger resource drain for the same gain. To the end user, this is "bloat". The last point needs to be expanded upon a bit ... it should read: "runs faster and(or?) with more consistent timing than application z". A user won't always understand why the "same operation" in an application takes "different amounts of time" each time they do it. If one product performs with consistent timing versus a product that can have timing variations, many users will NOT look into the details and will attribute the inconsistency to "poor performance" and, indirectly, to "bloat".
The point of these statements was to indicate what I felt was the incorrect angle from which I believe you to be looking at this phenomenon from ... I believe you cannot look at the end user statement that "iTunes is bloated" without accepting that this perception is not a technical perception. You will not convince someone that iTunes is not bloated by showing how well the internal specifications of iTunes is designed for the functionality it provides. That's not the point. What you're missing is the OTHER aspect of design ... the one that iTunes (and most other major software) is not so great at handling: End User Information Presentation.
What is this, and why do so many big pieces of software become labeled as "bloated" because of it? Here's my take:
Vendor Software that is targeted at the general population is not tailored to present its overall functionality to specific user groups. Instead, what large scale software products attempt to do is provide an intuitive interface for both customization and functionality, one that gives the end user a certain amount of control over what they see and what they use. The most successful software (like iTunes) does this very well, and it is easy to navigate and use for the various different end user use cases that make up the whole of the user community for that software product. However, it is because these products are delivered to such a broad range of end users, who have many different (and sometimes disjoint) needs that you get the perception of "bloat" from different communities. This is not the only factor, of course. The availability of multiple smaller products, by their nature more focused, plays about as major a role in that perception.
This leads to the question that seems to be somewhat hinted at throughout a number of your posts, Kirk: In general, iTunes doesn't suffer from any deficiency that other general-purpose software products (like MS Word) doesn't; why is it a common point of focus for the label "Software Bloat"?
My answer to this is the large disparity between the functional needs of some of the different user groups, and more specifically the market penetration of the iPod. A good percentage of the population in North America's urban communities has at least one iPod (I'm sure I could be more general, but I feel more comfortable with this, more specific statement). A good majority of those need iTunes for two things ... syncing their iPod and buying more tunes. iTunes does a lot more than that, and the additional functionality DOES come with a price in resources, regardless of how well those resources are managed.
This alone accounts for at least some of the grumbling about "bloat" in iTunes. What makes it more poignant is how the iPod tends to tie a good number of end users to iTunes. As an mp3 player, the iPod is a device that people want, and they appreciate its functionality over what alternatives exist. The weak point from an end user perspective is having to install a large utility like iTunes to load the iPod. All they want to do is put their mp3s on their iPod. Alternative software that works with competing devices does ONLY this. Being more focused, these software solutions can perform the same function that iPod users want from iTunes, but are a smaller impact on the computer system they are run from. It is this point that I'm trying to put forward for your consideration. For a good number of iPod users, iTunes is "too big" compared to the alternative product's utility program. It doesn't matter that they bought an iPod ... they consider the iPod to be a separate concern from the utility program that loads it.
If Apple wanted to combat this perception, perhaps they should create a stripped-down version of iTunes (iTunes Light) that simply interfaced with the iPod and the iTunes store and nothing more. No cataloging mp3s automatically, no playing music, no functionality except loading the iPod (or other iDevice, I suppose). People who want the full iTunes functionality can download the full version of they'd like. With one relatively simple solution, iTunes Light becomes a great and "non-bloated" solution for a good number of users. The trick is to decide what the minimum functionality for iTunes Light should be.
kirkmc wrote:
The thing is, there are two types of people I've seen making this type of criticism ("iTunes is bloated"). The first is the tech blogger, who may need to write link-bait, and who propagates a meme without necessarily providing reasons for it. (An article on Wired about a month or two ago was of this type.) These people should have the technical knowledge to back up their statements, but they often don't, and don't really back up anything. The second type of people are what I would called technically-un-savvy end users, who make this sort of statement (and, again, I could be talking about other software that is criticized for the same thing) simply because there are too many functions. As I said elsewhere, this is what came up mostly in an audiobook forum, where most of the people only wanted the program to load audibooks on iPods.
But in between the two, there's the irksome question of human perception, which is mitigated by many factors. And that's the point I'm trying to get to. Shouldn't the techies understand the arguments that can be disproved (ie, the memory issue, or the program running slowly on a computer that doesn't mean the system requirements?). Shouldn't the non-techies be able to accept that the fact that they don't need features really doesn't affect the way a program runs (unless, of course, it does)?
Software Bloat is not entirely about how a program runs in a vacuum. What really defines Software Bloat is the comparison between alternative products. Your argument seems to be that alternative products do not perform all the same functions that iTunes does. My argument is that alternative products do not perform all the same functions that iTunes does,
and that doesn't matter.
kirkmc wrote:
I remain convinced that the biggest issue in this type of question - this exact question, but others that I've investigated regarding user impressions of both software and hardware - are heavily influenced by past experience. If you're a Mac user, and have been using Word for a long time, you may recall that version 6.1 was so pathetically bad that Microsoft took out ads in the computer press apologizing for it. Other programs have been released that have been real dogs; for example, again in the Mac world, Norton Utilities is infamous for slowing down Macs, and the company has a real problem shaking that reputation. I think people who have been using computers a long time are unable to slough off the bad experiences they've had, and accept that computing has changed a lot. They tend to think that things are the same as they were, say, ten years ago, back when megahertz mattered, and when not many people really had enough RAM for their computers to run at optimal performance.
Past experience is always a factor in assessing and addressing user concerns, but it's not really the key factor for what we're talking about here. You're saying "iTunes works great! I can do all this stuff and everything runs smoothly and quickly, using the resources it needs". The community here is saying "iTunes isn't as fast as Product XYZ when I do this, and Product ABC takes up less space and does what I used to use iTunes for anyways." The community is displaying the comparison they used to identify the bloat. This is how software bloat has always been identified by end users: through direct
user comparison of alternative products.
You see the same types of debates in Open Source versus Vendor Product debates. A great example of this is OpenOffice Calc versus Microsoft Excel. As someone who has used (and still uses) a good chunk of Excel's functionality, I can't make the switch over to OpenOffice Calc. It just doesn't do enough. However, you will find that a number of people who need a spreadsheet product can use OpenOffice Calc for everything and see no reason for the "bloat" in MS Excel. Is Excel, from a technical standpoint, "bloated"? You seem to think it should not be categorized as such, yet the opinion is out there, and I find it hard to argue with the reasoning given by the end users (I find it to be sound reasoning, a good chunk of the time).