in Search
Welcome to Neopoleon - Sign in | Join | Help
Navigation: Home | Forums | Galleries

Dumb Smug Apple Store Employee Experience #547

People is freaking their shiz out about the economy right now, but you'll forget all about making ninety cents on the dollar with your money market fund when you hear about what happened to me yesternight.

The battery in my MacBook Pro died. For the past month, I've been enjoying the mobile convenience of being able to use my apple computer product, running off the battery, anywhere I want, as long as I don't want to use it for more than fifteen minutes.

I'm thankful in a way. Fifteen minutes of battery life has forced me to do things with my time other than being productive. I consider my day a success if I've managed to get as far as filling in the To and Subject fields of an email before the computer shuts off due to Catastrophic Power Failure. It doesn't say "Catastrophic Power Failure" - I think I saw that on a TV show - but if I were the person in charge of what messages to flash the user when their laptops shut down automatically due to a drained battery, I'd probably tell them that the machine has experienced a Catastrophic Power Failure. Everything on your screen would be replaced by a flashing graphic of the universal symbol for radiation, and a klaxon would start blaring through your speakers (even if you have your headphones plugged in). Just before turning off, I'd change the message to "Reactor Breach Detected: Meltdown Imminent". Everything would flash and sputter for a second, followed by deactivation. This last part might be hard, but if I could manage it, I'd also make the computer squirt a little liquid out of the disc-drive or something - then it would shut off.

Speaking of which, I'm available for hire, by the by, and I'm ready to go back to work. As you can see, I'm an idea guy, interested in the user experience, and particularly the research that's been going on for the past few years into the pros and cons of making users think they're at ground-zero for a nuclear disaster when their batteries run low. It's big time - get in on the ground floor and integrate my ideas into your product before the other guys do. I'm a mercenary, and I go where the money is. Don't get left in the cold while the rest of us ride this tsunami of innovation into early retirement.

Oh, yeah. Batteries.

I went down to the Apple store to destroy this problem right in the face. I expected it'd be a simple matter of giving them my old battery and having them hook it up to their Machines to inject new energy into it. Or to refill it with the stuff that holds onto the energy so it doesn't get away (maybe my battery had a leak in one of its energy-containment tanks?). I think the stuff is glue because glue is sticky. Or honey. I got honey on my fingers once, and it bothered me, so I think it would also work to contain energy molecules.

Did you know that batteries are dangerous and that if you slam one into your forehead to open it (the battery - not to open your forehead) it can damage your region there? IT'S TRUE.

Needless to say, which is why I'm saying it, I didn't want to hold on to this antimatter hot-potato any longer than I had to, so I accepted the help offered to me by one of the Apple Store employees.

Despite my I'm-a-smart-person-intentionally-writing-like-an-idiot-for-fun tone in this post, the following conversation was real - I don't remember it verbatim, of course, but this is demmed close:

Apple Store Salesperson: Hi.

Me: Hey.

ASS: Is there anything I can help you with?

Me: Yeah... the battery for my MacBook Pro is dying, so I need to get a new one. Here's the old one [handing her the old battery for reference].

ASS: Ok. Let's take a look [walking to a nearby MacBook]. Is your battery under warranty?

Me: I don't know. I think the warranty ran out, but I have that Apple Care thing, but I think that may have run out, too.

ASS: Apple Care?

Me: The extended warranty service... Apple Care. Apple Care? I think that's what it's called...

ASS: Oh, yeah. Apple Care. Do you know if your battery is still covered?

Me: No.

ASS: Because you can get a new battery for free if it is.

Me: I had no idea. That'd be cool.

ASS: Do you have your MacBook with you?

Me: No... do I need it for this?

ASS: Well, I need the serial number, and it's on the computer, so...

Me: Is there any way to find out about the warranty without the serial number?

ASS: The thing is, the serial number is on the computer, and we need it to look up your warranty information.

Me: Yeah, but is there any other way to look up the warranty? There must be something...

ASS: If you look here, you need to have the serial number [using the demo MacBook to browse to the Apple Store support page - there's a form with a field for the computer's serial number].

Me: I know, but is that the only way to look up my info?

ASS: What I suggest you do is go home, visit this web site, go to this form, enter in your serial number, find out if your computer is still under warranty, schedule an appointment with one of our Apple Geniuses, and they can test the battery to see if it can be replaced under warranty. If you book an appointment right now, we might be able to get you in on Thursday next week.

Me: That sounds like a lot of work just to find out if my warranty is still in effect. It'd be nice if we could  somehow look it up while I'm down here. Otherwise, I'll have to go home, schedule the appointment, schedule my day around that appointment, whenever it may be, make the trip back down here, and then leave my computer with you guys just to find out if my warranty is current... I'm already down here, and I need the new battery, so if we could just look this up, it could save me several trips and a lot of time. If my warranty expired, I'll buy a new battery. It's fine.

ASS: I really recommend that you do this service so you don't have to pay for a battery if you don't need to.

Me: I agree, but there must be some way to simply look this up while I'm here. I'm not asking for warranty service tonight. It's one little bit of information, and if we could get it now, that'd be nice. So... what's your return policy on batteries?

ASS: Fourteen days from the date of purchase.

Me: Even if I use the battery? I mean, I can still return it if the box has been opened?

ASS: Yes, but then you won't be covered under warranty.

Me: No... but when I get home I can log on to the support site to find out if I'm still covered under warranty. If I'm not, then no biggie - I'll have my new battery. If I'm still covered, I'll just return the new battery within the fourteen day window and then let you guys replace the old one under warranty.

ASS: But we can't do that. You can't buy a new battery and then use it and then get it replaced under warranty. It doesn't work that way.

Me: I know. I'd return the new battery to get my money back and then drop my laptop off for servicing and to get my old battery replaced under the warranty. That way I potentially save myself a few trips back to the store, and I'll also have a battery to use in the meantime. Can I do that? Return the new battery?

ASS: [Long pause - she looks really irritated/disgusted] You can do it that way if you want.

Me: Ok... before doing that, I want to make sure that there's no way to look up my warranty info while I'm down here.

ASS: Not without your serial number.

Me: But I've brought my laptop in for service here before. I bought it here. You must have some kind of records for that - be able to look it up by my name or phone number or something.

ASS: I know we keep records, but I don't know how far back or if that information is available.

Me: Can we check?

ASS: [Irritated - and she actually said this] Then I'd have to go enter all that in - I really think you should just go schedule an appointment.

Me: Um... is there anybody else in the store who can do this? What about the guys back there [pointing at the Genius Bar]? They must have service records back there. I don't see how they couldn't.

ASS: Like I said, I don't know how much of that we keep, and I don't know for how long.

Me: Can I just go back there and ask them? Would they be able to do that?

ASS: [Again, she actually said this - nearly verbatim] No. Don't go back there and talk to them directly. They have a tendency to get a little... pissy.

Me: Uh... is there any way at all of getting them to look it up?

ASS: I'll go back there and see what they can do. Wait here.

Me: If it's all the same, I think I'll come with you [she walks away and I follow - rather than stopping at the Genius Bar, she disappears through the employee door in the back of the store].

After she disappeared, I went to lean against a table while waiting for her. I was facing the Genius Bar, and because she cautioned me against addressing the Geniuses directly, I avoided eye-contact and let my gaze wander over the various products back there. The Geniuses weren't doing anything. I wasn't doing anything. We were several feet from each other. It was awkward.

After a couple minutes, and with a puzzled look on his face, one of the Geniuses asked me if I needed help with anything.

Me: I do, but the person who's helping me is in the back. It's something I think you guys could help with, but she told me not to directly address you, so I've been avoiding eye-contact.

Genius: What?

Me: She said you guys didn't like it when customers came and talked to you without an appointment, so I'm just hanging out, waiting...

Genius: What's the problem?

I told him, and he had my warranty information up in about a minute. My girl returned soon after and, seeing that I was in a conversation with a Genius, got an agitated look on her face and then stood by silently while he helped me. She didn't say anything the entire time, and I assume it's because she didn't find anything about my warranty while she was busy with what was probably a bathroom break.

A couple more minutes, and he told me everything I needed to know. My warranty was expired, but my Apple Care plan was still in effect. However, batteries aren't covered under Apple Care, so I'd have to buy a new one. He explained the technical reason for batteries dying (which I already knew, but he was so nice and was such a relief after the salesperson that I let him continue while I nodded appreciatively).

I thanked him for his help and then the girl sold me a battery.

People have bad days. I don't know if this was one of hers. Whatever the case, it was absurd: arguing with me for ten minutes, trying to convince me that, rather than looking it up (with her having to do all that work), I ought to go back home, log into Apple's support site, provide my serial number, read the warranty plan to figure out if my battery's covered, and then schedule an appointment with a Genius (a week out), drive back out to the store, drop off my computer, and possibly have to leave it (meaning I'd have to drive back out again to pick it up), all just to figure out IF my battery could be replaced under warranty.

That kind of behavior is acceptable in socialist countries where nobody wants to do any paperwork, but someone who refuses to do three minutes of work that could potentially save me hours of lameness (driving, dropping off, discussing, picking up, etc.) is an asshole. I'm freaky polite, especially with people in customer service positions. Customers can be bastards. I don't want to make things worse on someone who already isn't getting paid enough to field the whining they get from people who ran their ten year-old laptops over with a monster-truck and think Apple should pay for it.

Something for which I have little patience is the creation of problems. Problems will arise naturally when circumstances are right - they don't need us helping them along, generating new ones unnecessarily.

It's messed up, man.

Messed up.

Apple has a reputation for hiring smug know-it-alls for their stores, but this was messed up.

Messed up, man.

This was messed up...

Published Friday, October 03, 2008 5:00 PM by Rory

Filed Under: , ,

Comments

 

Celes said:

Since I don't own a Mac, my experience with the Apple store has (thankfully) been limited to when I've visited with other people. My first experience was not so long ago and I wrote a blog post on the whole experience.

I was mystified and less than impressed. It was pretty funny, actually. http://www.theseize.com/?p=87

At the same time, though, no one was rude to me like that. If you don't know something, then that's one thing. I've worked in retail, and I still work in a customer service field. I get calls and have no idea how to immediately fix things often enough. I ask them to hang on, find out, and everything is kosher. It's totally another if you then turn around and treat someone like crap because you can't figure something out... or even worse... just don't feel like it.

This person sounds ill suited for her job. Maybe she was having one of those days, but I have had those days and even then I've managed to keep it together enough to get a customer some help.

It makes for a good story, though.
October 3, 2008 5:19 PM
 

Andrew said:

I'm not usually a fan of ratting out people to their bosses, but this goes beyond simple cluelessness. She tried to seriously inconvenience you because she either didn't want to do her job, didn't know how to do her job, or is having some weird power struggle with the people who could help you and didn't want to cede ANY authority to them. None of those is acceptable, and her attitude about the whole thing makes me think that it went beyond ignorance into actual resentment that you wanted her to do something other than just hand out rote answers.

At the very least, I'd mention the experience to the manager the next time you were in (with an equal amount of praise for the Genius who *did* help you)...but if someone was that surly with me without any cause, I'd probably put it in a letter so they would have something tangible to put in her next review. I'm a bastard that way. I have also written letters when people have gone above and beyond to help me out, so I hope my karma is still more or less in balance.
October 3, 2008 8:37 PM
 

peter said:

maybe she needed a phonetic pronunciation
the kind victor borge does on stage
the way health and safety executive work in
this country is frightening and scary
maybe she had'nt had her socks popped for
her poor self lately  
October 4, 2008 12:36 AM
 

Chris said:

These people make minimum wage. Their lives are a minimum wage living hell. Just because they work for Apple doesn't mean they can represent the company like Steve Jobs or Wozniak can.

They would think that our work environments as software devs is a paradise in comparison.

Apple store or not feel bad for these people. If she was really smart she wouldn't be a clerk there.
October 4, 2008 9:35 AM
 

aristo said:

Hi Rory,

I have read this story and I liked when you said that you try to be nice to customer service people (because they get more they're paid for).
This is really quality man. This really is...

But these kind of stories don't happen in socialist countries only where I used to live for many years. The mess happens there as well sometimes of course but  here (UK) I had few cases which shouldn't happen.

Long story short.
I signed a contract with BT (British Telecom) for landline and ADSL broadband. I got nice offer for £25 a month. The internet was 2Mbits downstread with no limit. Reasonable I would say...
Few months later they called me offering 5Mbits with no cost if I sigh new contract again for 18 months. I said yes.
Another few months and a call again. New offer was 8Mbits if I am willing to sign new contract. I said yes again.

From this time my internet speed was dropping down periodicaly. I gave them a call to check what is going on. They tested my line and and reseted some RAS or BRAS (don't even know what it is) and I got my internes speed back. The speed dropped another few times within another months and I had to call them again. During one of discussions a customer service guy told me that the phisical capacity of my telephone line is 3.4Mbits and I my net simply wont be faster than that.

It made my quite irritared I would say. They cheated me twice offering 3Mbits and than 8Mbits internet knowing that my phone line can manage 3.5Mbits only.

What kind of service is this?
I obviously let them know about, but there is so many depts and people working that they look like they don't have any cross-dept communication. If you know what I mean.

Now about helping people out. I have one programming problem I have stuck for good I think. I have posted about on few forums (including MSDN) and nobody can sort it out.

Maybe you can help me?
Maybe you know somebody who know this stuff.
You would be my hero for life, I promise.

The post is here: http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/f4ce4e6d-a431-4603-9163-3f9ac2e050c3

Greets
Mariusz

ps. what about The Smartest Man In The World. I haven't seen anything new there for long time. I think I'll listen to all this stuff again. Is it a sign of sickness?
October 4, 2008 1:53 PM
 

aristo said:

Chris said:
"These people make minimum wage"

It is a common thing this time.

I was wondering. Why such a company wouldn't want to be high-class not only about stuff they manufacture. Why they wouldn't start paying higher wages to their employees and this same make i.e customer service high-quality too.

They obviously would make less profit but this same Apple would be really great company. People need to share, Apple too...

So fat they show two things: they build great stuff and they don't like to share...
October 4, 2008 2:03 PM
 

Chris said:

"Why they wouldn't start paying higher wages to their employees and this same make i.e customer service high-quality too. "

http://jobs.apple.com/index.ajs?BID=2&method=mHvexternal.showPositionDetails&PID=54

They ask a whole lot out of these people too

"
A candidate we can count on:

• You have a minimum of 6 months experience successfully working on the register.
• You take pride in your own white glove ownership of your register area.
• You love standing proud at your register for up to eight (8) hours a day.
• You are recognized daily for your ability to create the ultimate shopping experience and close every sale with a smile to remember.


A position you can count on:

• You ring sales efficiently and accurately, and have a great memory for established markdowns, price overrides, post voids, and purchase procedures.
• You save the day by alerting loss prevention associates or the Manager on Duty to potential shoplifters or vandalism.
• You maintain impeccable organization and accuracy and have flawless execution in your consistency with each and every customer.
• You’re a pro when it comes to closing out the register—counting cash and reconciling cash balances comes naturally to you.
• The register area is always flawless, because you know that Apple standards call for perfection."

That's a lot to ask out of a person for being a cashier. They may make something like $9 an hour or something like that, but I don't think the salary for a cashier at the Apple store would warrant the description.

It reminds me of that scene in the movie "Pirates of Silicon Valley" where Steve Jobs was pushing at the employee's chest calling him a clock punching loser in the Mac days.

If Steve Jobs would have been there with Rory, I have no doubt he would have punched her in the face or something?

Yeah, she could have looked it up, but she was obviously oblivious to how. Rory did the right thing in talking to the geniuses.
October 4, 2008 8:23 PM
 

Beth said:

You're a serious douchebag, buddy. The fact that you wrote this long winded, over-the-top and way too long blog post about this discredits you entirely. If you're calling her 'Ass' when she clearly set out with the intention of helping you politely (the things she said to you don't even sound that bad, they sound like procedure), that says a bit about you and your attitude to begin with.
I've worked retail and know that you have to set a standard with customers - most likely, serial numbers probably don't always show up in the system from that long ago, and with the amount of traffic that store gets, they don't have the time to gamble in the system on each demanding customer. Maybe you should have thought beforehand to, I don't know, bring more with you than just a broken battery (how many customers a day do you think bring in random broken parts expecting everything they want in return?).
Just think about it.
October 5, 2008 2:12 AM
 

Megan said:

That job description is pretty typical of retail cashier positions. Their jobs aren't that complicated, so you really shouldn't expect too much lateral thinking out of them. That said, I have worked plenty of retail (too lazy to decide what to do with my life), and, yes, if your store keeps customer records, you DO have several different ways to find that information. If I had ever lived on your side of the country, I would think I knew that girl. Whether she was too dumb to fully absorb the training she'd received or too lazy to bother with actually helping you, you're right, she was totally being an asshole.
October 5, 2008 5:59 AM
 

aristo said:

"We don't keep customer records such long."
WTF?

Lets say they put 200 new customers each day to the database.
At the end of the year they end up with a customer table about 73k records. I would say that unless they don't use a 486DX as a database server they should be able to pull customer details from 10 years ago or more...

Mariusz
October 5, 2008 9:28 AM
 

Tim said:

Even the average apple customer knows if you need technical support or warrantee service you have to make an appointment at the "Genius Bar" (they are never a week out are you kidding me) no exceptions.  It's pretty simple when you think about it, do you just drop by your local car dealership for service or just stop by your doctors office for a checkup without an appointment...NO!


October 5, 2008 12:15 PM
 

Gordon said:

"Lets say they put 200 new customers each day to the database.
At the end of the year they end up with a customer table about 73k records. I would say that unless they don't use a 486DX as a database server they should be able to pull customer details from 10 years ago or more... "

It's unlikely that the customer database for each store is just for that store itself, my guess would that it's a company-wide database. If that's the case, there's probably many multiples of thousands going in each day. (The website says 'over 200 stores worldwide,' so.. 40,000 a day? Who knows). No idea how it works, but food for thought.
October 5, 2008 12:34 PM
 

Rory said:

Beth -

"You're a serious douchebag, buddy."

Sometimes, yes. But not here.

"The fact that you wrote this long winded, over-the-top and way too long blog post about this discredits you entirely."

It's not so much about the report of a smug Apple Store employee who was smug, smug, and a little smug with a side of smug in smug-sauce, as much as it was something fun to write about.

If I were really trying to complain, I'd have gone to the manager (as Andrew suggested). I would have gotten her name and complained. I *did* fill out the customer feedback survey thing on the Apple site yesterday, but that was only after reading Andrew's comment (he's been commenting here for a while, and we generally see eye-to-eye on things - I pay attention to his advice, and in this case I followed it).

I'm clearly venting. But, as I said, I know that people have bad days and that people like her don't get paid enough to deal with whining, bitching customers. Still, she took the job - that was her choice.

I've dealt with horrific customers. Most have been very pleasant, but there's the occasional one who wants to take out all their aggressions on you.

I'm not that customer - *ever*.

Whether it's your bias or my inability to accurately recount exactly how rude she was, I'm an obsessively polite person. Neopoleon - this site is a joke - I write with a persona. Sometimes I intentionally present myself as an asshole. I don't think I did that here.

I wasn't alone - my girlfriend was with me - and she was just as appalled/confused (she spent the previous two years in a customer service position as well - she knows asshole customers when she sees them, and she also knows asshole employees).

Even the Genius Bar guys were confused.

I didn't give her a hard time. I *knew* she could look up my warranty information. However, were I to come out and say that, the implication is that I'd be calling her a liar. I don't like that sort of thing - by persistently suggesting that it was possible to look my info up without my computer present, I was giving her a way out. Had she just stopped her little power trip and spent the two minutes it takes to look up my account, it wouldn't even have had to look like she was being obstinate.

What I did was *polite*. I know when someone's screwing with me. She was agitated from the start.

She also avoided answering my question directly. Whenever I asked her if it was possible to look up my warranty info, she instead encouraged me to go home, do all this crap, and then bring my computer into the store - *just so she could avoid a couple minutes of work that she's PAID TO DO*.

I wasn't asking for anything unreasonable. To the contrary, by telling me to go perform this series of steps that would literally add days to my getting an effing battery, *she* was being unreasonable.

A store as computerized as the Apple Store absolutely has records on hand. Having been buying things there for *years*, and having had things serviced there, I *knew* this. Unless something big had changed, there was no doubt. Having worked on systems like theirs, I *know* there are multiple ways of looking things up.

The idea that you can only do it by the computer's serial number is absurd. Does Apple work with customers? Or do they just see the customer as the vessel for the computer?

When your credit card company calls about something, do they ask to speak with 4426518238934444 (or whatever your credit card number might be)? No - they ask to speak with *you* - they use your name and everything.

Given that the warranty is directly associated with the computer, the computer is directly associated with my purchase, my personal info was given during the purchase (registration as well as credit card receipts), my personal info was given for service purposes, etc., there is NO reason it couldn't have been found without the serial number.

The Genius guy in the back proved that in less time than it took for the salesperson to disappear for apparently no reason through the back door.

It's crap.

"If you're calling her 'Ass' when she clearly set out with the intention of helping you politely (the things she said to you don't even sound that bad, they sound like procedure), that says a bit about you and your attitude to begin with."

1. I called her "ASS" because she deserved it. Again, I may not have adequately communicated just how rude she was, but I don't go around insulting people when they've been nice to me.

2. The "things she said" may not "sound that bad" to you, but you weren't there. I don't have a photographic memory - I didn't reproduce the conversation verbatim. That said, there's no way to justify her behavior. She set out trying *not* to help me. She didn't answer my questions - when she finally did, as I wrote in the dialogue, she didn't want to do it because she'd have to do all that work. When I finally asked to talk to someone else (there was much more to the conversation than above, but it was repetitive - her avoiding the question and suggesting I go do tons of pointless work), she told me *not* to talk to the person. She couldn't - *wouldn't* - help me, and then told me not to go see the person who could. The store was EMPTY. The "Geniuses" weren't doing anything. There was nobody back there. If they think they're these untouchable elite just because somebody called them "Geniuses," it's not my problem. Though, as it turns out, they were very nice. Why would she tell me not to talk to them?

3. You say the things she said "sound like procedure." It sounds to me like you're guessing. Is it procedure to avoid doing a tiny bit of work that is *totally* possible? Is it procedure to get exasperated with a customer when he finally wants to talk to someone else because you wasted his time? Is it procedure to tell a customer not to talk to other *customer service* employees? Is it procedure to, when you're done misleading the customer, to whine that you just don't want to do the work involved - to whine about having to type the customer's name into the computer, thereby saving him this evening (my trip to the store would have been a waste), the time at home typing stuff in, scheduling an appointment, bringing the computer down, leaving it with the store, etc.? If these things are procedure, then the Apple Store has some things to consider.

"I've worked retail and know that you have to set a standard with customers - most likely, serial numbers probably don't always show up in the system from that long ago, and with the amount of traffic that store gets, they don't have the time to gamble in the system on each demanding customer."

As Gordon noted, unless they're using computers from the early 90s, there's no problem at all with looking this stuff up.

Like plenty of other people who read this site, I've worked on systems that involved millions of records - I know what's possible and what isn't. I also know what takes a lot of work and what doesn't. You could power the database for that entire store on one of their mid-range laptops. It might not always deliver the finest performance, but it's totally possible. But, since nobody would ever do that (actually, they would, but Apple hopefully wouldn't do something that stupid), one can assume that they did what's sane: have a central access point for all Apple Store information that employees access over the net. Apple can spend whatever is necessary on the hardware to store all customer records in the same place. That way, when customers go from store to store, their records are available at each.

That's what Apple does. They had records from purchases I'd made in Seattle. They obviously aren't going to have those from a local DB running on some shitbox they have to purge every month because the hard drive is measured in megabytes.

You've made a lot of assumptions:

1. That I'm an asshole (you actually said "douchebag," but whvr).

2. That she's not (you weren't there, and the account i've provided doesn't, at least from my reading, show that she was especially helpful or nice).

3. That she was operating according to procedure (I argued why this is ridiculous - feel free to try to refute those arguments).

4. That they might not be able to keep the records around (you don't seem to know much about how these systems work - you're wrong).

I could probably add more, but I think that's sufficient for demonstrating the questionable validity of your arguments.

"Maybe you should have thought beforehand to, I don't know, bring more with you than just a broken battery (how many customers a day do you think bring in random broken parts expecting everything they want in return?)."

Jesus... did you *read* the post?

I went in there to BUY a battery - not to get into a big discussion about all the ways an Apple Store employee won't do her job.

I brought the battery as a reference. Laptops change. Batteries change. I wanted to get the right battery. I did not want her to diagnose, inspect, make love to, or otherwise interact with the battery beyond using it to sell me the correct replacement.

You're really stretching here - implying that I *expected* to have to have my warranty pulled up. I never wanted that. I just wanted to buy a new effing battery. It was her idea to check my warranty (though, apparently, not something she actually wanted to *do*).

When you go to the store to buy ice-cream, do you bring your freezer?

When you buy paint, do you bring the wall it's going to go on?

When you buy a basketball, do you bring the court with you?

I get that you're sticking up for a fellow retail worker, but if your approach here is representative of how you dealt with customers, you had no place working in retail to begin with.

I *hate* our "the customer is always right" philosophy. It's utter crap. Employees are people, customers are people, and both should be treated accordingly. If I'm an asshole customer, I expect the employee to tell me so and to treat me so.

What happened here is that I was pushed into being short because she refused to do her job. Not only that, in 1/10th the time it took her to tell me what she wasn't going to do, she could have looked my warranty up, seen it was expired, and sent me on my way with my new battery.

It took *more* effort for her *not* to do her job.

In the end, I didn't complain to her. I wasn't especially warm when I left, but I didn't say anything to her that was rude or unwarranted. I didn't, as I noted, even accuse her of screwing with me when I *knew* she was. Or when she told me not to talk to the guys in the back who were unoccupied and bored looking - why wouldn't she want me to talk to them? Why were they surprised she told me not to talk to them? Doesn't that seem at all strange to you? Almost like she didn't want me to go back and confirm what I knew, which is that she was full of shit?

If any part of my interaction with her can be considered rude, etc., it's because she gave me every reason to be.

Kind of like you.
October 5, 2008 3:16 PM
 

Chris said:

I honestly think that she should quit and become a waitress or something. The pay will be the same and she won't have the mental anguish.

Plus she'll get tips.

Now I'm a genius.
October 5, 2008 9:29 PM
 

fred said:

I love you Rory. You stuck around and solved the problem. And you write real good.
October 6, 2008 4:55 AM
 

Dick Carlson said:

Years and years ago, I ran chain stores that sold camera gear.  We had a very high level of customer service, and delighted people with really taking care of them -- in this case, we would have actually phoned a manufacturer, sent the camera in, paid for shipping, etc.

We sold cameras for a little more, but our customers understood that we provided absolutely excellent service -- so would could pay our staff more, provide extra services, and so forth.

But once the customer focus got to be more and more on exactly how much we sold a specific Canon camera for, it became harder and harder to keep good salespeople.  Margins went down, we couldn't pay as much, and we had to cut our special services.  We no longer could really train our staff in how to take care of customers.

That's when I decided I didn't really want to work in any kind of customer-service kind of job, any more.  There's just no real way to reward or motivate the line-level sales people to perform well.  And most of them eventually sink to a level where they actually get some small level of satisfaction out of getting power out of telling customers that they can't have what they want.
October 6, 2008 6:23 AM
 

Celes said:

I can't be the only one wondering if Beth was the person who waited/didn't wait on you on the store. Wouldn't that be a small world?

When I did my post on the Apple Store, I tried to find out how much their people generally made, not even the cashier people, but the Geniuses, and all roads pointed to 'not much'. That does suck. However, taking it out the customers is not something I approve of. I didn't work nasty underpaid retail (and non-retail) jobs with every effort to be helpful and polite all the time to then make excuses for people who take their life out on the customers.

It's not the customer's fault if you're in a job you hate and you're underpaid. It also isn't likely that you're going to move on to a better paying job if you do poorly and get bad references.

"Neopoleon - this site is a joke - I write with a persona."

No way, man. You're always sup-ah serious here. You 100% believe a lawn mowers run on machismo and you are the smartest man in the world, nay, the universe. :) Oh, and you really do think you can predict the future with cardboard toilet paper tubes... remember that time you faced off against the spider monster? Thank you for saving us!
October 6, 2008 6:57 AM
 

Brandon said:

Dude.  You're an animal.  Maybe all those guys working at the Apple store have had too much continuous exposure to benzene and your experience is the unfortunate result of a large, vastly growing brain tumor that only an Apple employee snorting the fumes from the back of their Mac Pro could appreciate.  Or, maybe she was just on her period.  Who knows.

Since I took the 22 minutes to read this long ass post with comments, I deserve some shameless plugging:

http://www.brandonkelly.com/post/2008/10/01/Use-your-Mac-Pro-Get-cancer.aspx

Cheers,
Brandon
October 6, 2008 4:31 PM
 

Yuvi said:

@Brandon: This thing is *short* by Rory standards.

Also, good luck with the job!
October 7, 2008 5:31 AM
 

Joe Kixxon said:

"Something for which I have little patience is the creation of problems.  Problems will arise naturally when circumstances are right - they don't need us helping them along, generating new ones unnecessarily."  

I loved this line.  It's so true, it hurts.
October 7, 2008 7:28 AM
 

miss sarah said:

It's because of situations like this that I bought my powerbook at macforce. They've been absolutely fantastic about every detail - especially when I'm asking stupid questions, etc.

ps: call me. We have some catching up to do.
October 8, 2008 3:41 PM
 

Tony Zielinski said:

Wow, that's insane!  I was beginning to think that you really did need to have your serial number.  Maybe she's burnt out or bitter about her 401k losses.

Off Topic: I'm so grateful for Backgrounder.app on iPhone!  Also, PDANet.app.
October 10, 2008 10:59 AM
 

aristo said:

Just wanted to remind that I still consider the Smartest Man In The World as a most valuable thing you have produced on the web...
... and I have really been let down by the fact that there is nothing new there since really long time...


Mariusz
October 12, 2008 1:30 PM
 

missus lawz said:

oh my roar - that apple guy was really slutty - he gets paid to make your life easier for some reason he is deciding not to do so!  i am so tired of slutty good for nothing ppl who decide not to work even though they are there and on the damn clock.  makes me want to be very condescending!
October 13, 2008 6:21 PM
 

Dave Burke said:

Everyman Links for October 14, 2008
October 14, 2008 7:15 PM
 

Adam Kinney said:

I love that your reply to Beth is almost as long as the original post.  That made me laugh, almost out loud, even.
October 16, 2008 2:36 PM
 

Chris said:

"I love that your reply to Beth is almost as long as the original post.  That made me laugh, almost out loud, even."

MS wouldn't have people laughing in the building would they? Good thing you restrained yourself.
October 19, 2008 9:26 AM
 

Koogle said:

"I love that your reply to Beth is almost as long as the original post.  That made me laugh, almost out loud, even."

lol thats Rory init :D

anyway I completed agree with Rory post...  the inconvience of what she was suggesting he do, even from economical point of view of wasting time traveling +expenses just to get sodding battery problem sorted out. Stupid thing is there soo many people like that who would rather you fuck around like that all because its easy for them or some policy bullshit. fkin messed up indeed.

Anyway I do see from it a retail side and all the minumun wage stuff thats true aswel, but she so could have just told him to go check with a 'genious' at the desk to find out.

ps pfff soo much for Apple Care, that doesn't include dying batteries.. how convenient
October 20, 2008 3:20 PM
 

Ian said:

""I love that your reply to Beth is almost as long as the original post.  That made me laugh, almost out loud, even."

MS wouldn't have people laughing in the building would they? Good thing you restrained yourself.
"

^^ obviously never been to a Microsoft office.

course, I might have a severe lack of sarcasm awareness this week because it's PDC next week and I'm slightly busy (read lacking sleep and about to stab people).
October 21, 2008 2:00 PM
 

chrisA said:

You were the subject of one of my blog posts Rory.  You have garnered some importance.

http://corona-coder.blogspot.com/2008/10/how-mighty-have-fallen.html

See you later my friend.
October 22, 2008 7:36 AM
 

JoeG said:

chrisA:

I don't know who this Rory Blythe in your blog post is, but he sounds positively hideous. I mean, what kind of person would actually refer to himself as the smartest man in the world. What an overinflated sense of self importance!! I'm absolutely scandalized, appalled, dismayed...chagrined even!!!

Unless, of course, he meant it as a *joke*...then it's damn funny.  

Well, I'll just stick with this blog right here, written by my friend Rory Blyth. I'm giving that 'Blythe' fellow a wide berth.
October 22, 2008 9:28 AM
 

Tony Zielinski said:

chrisA: isn't it kinda cheap to link to your slanderous post directly on the blog of the person you're attacking?  Are you that desperate for hits?  You're gonna need to work much harder if it's traffic you're after, otherwise it's obvious you're just taking cheap potshots.  And for what?  To bruse some egos?  To hurt some feelings?  Are you one of those Slashdot trolls who make blogs just to try to get people <span style="color:red;">RAGED</span>?
November 2, 2008 1:10 AM
 

Tony Zielinski said:

Even worse, I love how in your post you proclaim your hate for Rory, but call him your friend here.  Ironically, it is you who has an overinflated sense of self-importance in that you're so convinced that your blogspot post has 'garnered some importance' for a blog that gets 100 times the traffic.
November 2, 2008 1:19 AM
 

Kris said:

Reminds me my dealings with Brinkster (web hosting)... spending 15 minutes with support everytime there is something wrong with my site convincing them that it is on their end before they'll give you the magic "we'll forward your request onto one of our techs. They're out this afternoon, but will be back tommorrow morning"

And then the problem resolves itself magically a half hour later.
November 6, 2008 1:21 PM
 

Chris said:

Hi Rory. I'm still working in LA.
My employer pays my way to one conference a year. I passed up PDC here in LA to go to the next Red Hat Developer conference.

I come back and visit once in a while to see what you blogged, but alas there hasn't been one in well over a month.

I can't blog anymore due to my corporate job and my project with other devs, but it's nice to write comments.

I will say that my code is now seen by millions of people. And not in the social networking sense.
November 6, 2008 8:31 PM
 

Kyle said:

Mr. Poleon,
I'm just a lurker but can we get some more writings soon.  Really helps get through these long work weeks...
November 14, 2008 10:23 AM
 

Rich said:

I’ve been talking about load-testing ASP.NET applications, and what it’s like when you fail. Well, now I can finally talk about why I’ve been thinking about all this stuff. I just spent the last two weeks talking to people about our launch and getting feedback from analysts about the Strangeloop AppScaler, and now I can finally talk about it in public!

Here are the basics: You already know how application tuning impairs the development process. Not only does it take a long time for pretty limited returns, but it takes you from this lightweight, fast ASP.NET development process—the whole reason you started using ASP.NET in the first place—to this much more ponderous endeavor, where every piece of performance tuning you do places new requirements on everything else you’re coding moving forward. Well, the Strangeloop AppScaler basically takes that entire application tuning process and puts it in a box. It’s a very, very cool thing. But now that we're out in the open, what I really want to talk about is how we got here.

It all started with looking for a better way to do session. Everybody’s talked about session, and everybody knows that it could be handled better, but nobody had actually done it. The default, of course, is in-process session. Since we all start development on a single web server, in-process makes sense. But as the application becomes more important, more web servers are needed, and the idea of going out-of-process comes up.

Microsoft provides two out-of-process approaches. One is using SQL Server, which you likely already have, since it’s where you store your data. But SQL Server is kind of overkill for session, since you're just storing a blob of session data there: you don't really need the power of SQL Server for that. SQL Server is reliable, but slow. The alternative is State Server, which is substantially faster, but isn't reliable and generally isn't a great bit of software.

And switching session methods is pretty trivial, since all you have to change is the web.config file. Although one issue people occasionally run into is that they haven't marked their objects for serialization. In very rare cases, they can't serialize their objects, but for the most part, it’s just about setting properties correctly.

Typically, most people deal with the issue by leaving session in-process and using a load balancer that supports sticky session, where the load balancer uses the ASP.NET cookie (or IP address) to *stick* a given user to the same web server each time they visit the site. While it certainly solves the problem of session, it undermines the value of a web farm. If the server goes down, the session’s lost. Some servers can end up much busier than others, so you aren't really balancing your load. And server updates tend to be a major pain.

To really load balance, to get the full advantage of your web farm in terms of performance and reliability, you need to get the session data out of the web server and go out-of-process. When you do that, you can load balance properly and go to any web server you want, but it means that session processing takes longer. So originally, our mission was to really look at session and figure out a way to get in-process performance but with out-of-process flexibility.

When we did all the math to figure out exactly why doing session out-of-process was so much slower, we found it was network trips were a major part of the processing time. Every request/response pair with out-of-process session means two additional network trip pairs: to fetch the session data at the beginning of the response computation, and to write the modified session data out at the end of the response computation. But the only reason all these network trips happen is that the request travels all the way to the web server before the server realizes it needs session data. So we thought, “What if we put the session data in front of the web server, so by the time the request gets to the web server, it already has the data?”

That’s what AppScaler does (well, one of the things it does). As a request comes in, it passes through AppScaler, and AppScaler says, “I don’t care what server you’re going to, here’s the session data you need.” Then it attaches the session data onto the request. When the request arrives at the web server, the session provider strips the session data out of the request and the page processes normally. When it finishes computing the response it attaches the session data to the response and sends it back to the browser. On the way out the response passes through AppScaler, and AppScaler removes the session data and stores it away in its network cache, and everything proceeds normally from there.

So suddenly, we’d eliminated all these extra network trips, but we were still out of process, so you still have all that flexibility. Pretty cool, right? Then we took it a step further and said, “Gee whiz, since we’re already here doing this, why don’t we just do viewstate too?” As you know, viewstate can get totally out of hand, typically due to the use of third-party controls, which is why the really performance-conscious sites don’t use third-party controls at all. And giving up third-party controls means either slowing down your development process to create controls yourself, or just not using all the controls that you otherwise might. With AppScaler, you can use all the controls you want (within reason). It takes that viewstate out of the page before it goes to the browser, so you don’t pay the performance penalty.

So fixing session and viewstate were the first features of AppScaler, and the results were pretty impressive—we were really cutting down page sizes and seeing substantial performance gains. And that’s when we had the big realization: Now that we’re sitting here in front of the web server farm where we can see all this traffic, there are all kinds of smart things we can do to optimize the performance of ASP.NET applications!

Fixing browser caching was low-hanging fruit for us. With browser caching, you mark various resource files (images, js and cs files, for example) as cacheable at the browser, normally with some sort of time limit (a day, a week, etc). Once the browser caches those items, it won’t request them again for as long as the cache is valid. That gives substantial performance gains since you cut down a lot of the resource requests that make a web page work.

The downside to browser caching is when you go to update the website. Unless you’re extremely careful, you can end up with browsers messing up your new pages because they use cached items instead of new items. And of course the pages that get messed up are the ones the CEO is looking at, because he hangs out on the site all the time and has everything under the sun in the browser cache. In my experience, people abandon browser caching after an event like that, and never use it again.

AppScaler fixes browser caching by dealing with expiration properly. First off, you specify what to cache in AppScaler, so that you don’t have to fiddle with settings on your web servers. AppScaler just automatically marks those resource files for caching as they pass through on the way to the browser. But then the really clever bit comes into play: AppScaler watches the resource files on the web server so that when there is an update, it sees it and knows the underlying files have changed.

Once AppScaler knows a resource file has changed, it dynamically renames it in the request/response pairs so that the browser doesn’t have it cached. It keeps up the renaming until the cache expires. So suddenly browser caching doesn’t cause problems with website updates.

Our experience with ASP.NET has demonstrated again and again that caching is king. And when we studied the potential of caching with AppScaler, we realized that self-learning caching was the number one performance return we could offer with this idea. Being between the browser and the web farm is the perfect place to cache and to coordinate cache expiries. As a developer, you know you have to cache, and you can write code to do it, but it’s a lot of programming, and it changes the way you have to code going forward. More than that, you have to figure out what to cache. You might guess wrong. Or more likely, because of the time and effort involved, you’re probably only going to cache a few things that are obvious.

AppScaler Response Cache evolved from that experience. It started out as a system for monitoring traffic, looking for where the request/response pairs match, and how frequently a response is different for a given request. It looks at parameters, such as querystring and POST elements to identify different requests. So by watching all traffic going to and from the application, AppScaler learns what to cache, and when to expire it.

Based on those recommendations, you can tell AppScaler to actually cache the items, or you can put it into an automatic mode, where AppScaler will cache what it thinks it should. This automated caching feature is incredibly useful for dealing with Slashdot or Digg events, where suddenly traffic is up 10 or 100 times.

But ultimately, the real advantage is the lack of coding – writing caching code in ASP.NET works, but it slows down the development cycle going forward. AppScaler gives you the same benefits, but without the impact on your development.

Now for the record, if all of this sounds very straightforward, it’s because I’m just giving the highlights here. Making all of this work together has been an extremely complex, time-consuming project. Also, while I’m really excited about it, I want to be clear that this is not going to fix every problem. If your pages are a megabyte apiece and half of that is viewstate, for example, we’re going to have a tough time helping you at any significant level of scale. You’re still going to have to do some basic tuning. But it’s when you get into the really exotic tuning, when you’re doing these miniscule kinds of tweaks and breaking pages down fraction by fraction to find out where you can squeeze a little more performance out of it—the stuff that really impairs your coding more than anything else—that’s when AppScaler can really help you out. And this is just a subset of the things it can do. I listed four features here. There are more than twenty others on the books today, and the list keeps growing
December 22, 2008 2:48 AM
 

jolzz said:

I enjoyed this blog. But no thought of asking for the manager?
December 29, 2008 6:25 PM
New Comments to this post are disabled

About Rory

I *own* this site, you loser.