Adobe Flex Builder 3 installation continued February 26, 2008Posted by spikew in Flex.
So the Flex team has fixed the problem with Flex Builder Pro serial numbers that I wrote about yesterday. While I still haven’t heard back about the support ticket I opened yesterday, I was able to login to my Adobe account to retrieve the serial number for my purchase of Flex Builder Pro. So let the installation continue. Be warned its still ugly…
Now that I have a serial number, I choose to download the installer from Adobe’s site. Given that the download size is a tiny 385 MB, Adobe provides a separate download manager program that you need to use. While I’m not a fan of download managers (I don’t like installing one-time junk on my machine), I buy that this should improve the download success rate.
The download manager launches and defaults to my Documents folder (I hate that), so I change it to save to my Downloads folder. I then get this security message stating that my file was instead saved to my Temporary Internet Files folder.
Weird, I never see that when I download other programs. Adobe has a technote about this on their site where they blame in on IE, but again, I don’t see this when I download other stuff, so this seems like an artifact of something out of the ordinary Adobe is doing (like using an ActiveX control to do the download??), so I still blame this confusing experience on the Flex Builder installer.
OK download is complete, let’s roll…
I run the downloaded FB3_WWEJ.exe file. I get the standard Windows Vista security dialog asking me if I want to run this file, so I click run again. Now the installer is up and running. So I accept the defaults.
The first thing I notice is that the installer defaults to AdobeFlex Builder 3.0.
I hate it when programs try to install in to the root folder, but I think this might be some kind of Eclipse thing since Aptana does the same thing.
I click Next.
Oh boy, this is going nowhere good. Why do I foresee a lot of pain in my future?
So the installer is unable to install into the default location. This isn’t surprising since the install would need to at least elevate to admin privileges to write files there. I wonder why I didn’t get the elevation prompt.
So I try to change the path to c:UsersspikeAdobeFlex Builder 3.0 where the installer will definitely have permission to write.
OK, my next guess its that the installer needs to be installed as an Administrator, so I exit the installer and re-launch the EXE by right clicking and choosing Run as Administrator.
Well, this time the installer chose a better default location. Looking better…
Alright, now we’re getting somewhere…
Crap. I knew it was too good to be true. I’ve got plenty of disk space, and am running as admin so I can write. So now I spend a half hour trying various techniques to get this puppy installed without erroring out. No luck.
Let’s search for installation issues on Adobe’s forums. None reported.
Dead end. Let’s try re-downloading, and reinstalling.
I encounter the same problems when running as a non-elevated User, however this time it works when I run as Administrator.
Woo-hoo! Bummer it’s installed into my Desktop folder now. What a silly default for an installer, but there’s no way I’m changing it right now, as I need to get some actual work done today.
What! That wasn’t the actual installation? Now its running the “real” installation. Why on earth did that last dialog say to “Launch Adobe Flex Builder 3.0” as if it was done with the installation?
Well, that’s a much better installation location.
Arg, the Flex Builder 3 Beta was installed into the same location, and this installer doesn’t seem to support upgrading. (Note to Adobe, if you’re not going to build upgrade support into the installer, please install the betas into their own folders that won’t be the same as the final version).
Given my experience with this install so far, I’m very nervous about uninstalling a version that I know works. Luckily, my experience moving from Beta2 to Beta3 was good enough to give me some faith that I won’t get totally hosed, so I uninstall.
Hmm, not sure what that’s about. Process Explorer reports the files aren’t in use, and I’m able to manually delete them after the uninstaller exits.
Oh well, moving on. Now I tell the Flex Builder 3 installer to try again.
Now we’re actually installing. Approximately 8 minutes of installation later, the installer completes.
Woo Hoo! for real this time??
Ugh, that message gives me great confidence. I quickly look for the install log.
Delete Folder: Source:com.adobe.flexbuilder.update.site
Additional Notes: WARNING – There was a problem deleting C:Program FilesAdobeFlex Builder 3com.adobe.flexbuilder.update.site
Not sure if that’s a real problem, but I’ll just assume I’m all set.
I launch Flex Builder 3 and it works! For some reason the new version doesn’t seem to recognize the existing projects in my workspace from the beta, but that’s something I’ll look into later.
After 3 solid hours of installation-related work and a total of 24 hours later, I think we can finally call my installation of Flex Builder painful, but successful. Separate from the serial number glitch, there’s a lot of room for improvement in this installation experience:
- The download manager shouldn’t do weird things that cause files to get downloaded into unexpected locations
- The first EXE unzip experience was very painful. It failed multiple times and finally worked after re-downloading, and running as an Administrator.
- If the installer needs to elevate to administrative privileges, it should prompt to elevate.
- The first unzip experience seems like it installed the product, but it didn’t, there was yet another “real” installation after that one completed
- The installer should deal better with installing over previous versions. Either add real upgrade support, or use an installation location that won’t conflict with previous versions you have shipped.
- This installation experience is way too long long and takes way too many clicks. Aptana is comparable in its general architecture (an Eclipse-based standalone IDE) and that installation experience feels extremely light comparatively. (Disclosure: I used to work at Aptana)
Why did I spend the time to write this blog post? I hate, hate, hate needlessly frustrating product experiences, especially for products that I generally think are great. Installation experiences can be surprisingly bad because product teams often consider them a secondary priority to the core product. This can be disastrous since frustration during a user’s first experience will at least lead to a bad first impression, and can quite often lead to aborted installations and lost customers. This goes back to a belief that I’ve always had:
Product Engineers who like to do quality installation work are well worth their weight in gold.
In software it’s always necessary to weigh the cost/benefit for all issues. It’s quite possible that the worst parts of my experience occur very infrequently in the overall number of installs. If so, then I accept that the pain I incurred may not be worth the cost of making sure this never happens again. But, if it turns out this happens a lot, it implies a software quality issue that either wasn’t caught during testing, or one that was caught, but was mis-prioritized.
Here’s hoping the experience everyone else has installing Flex Builder 3 is much better!
Adobe Flex Builder purchase debacle February 25, 2008Posted by spikew in Flex.
Wow. Adobe Flex Builder 3 went final today. I’ve been on the beta for many months now and have liked it. I immediately went to upgrade my copy Flex Builder 2, and what a disaster their online purchase experience is. This is the first time I’ve purchased anything through the online store since Macromedia became Adobe. Let me say the store merger hasn’t been kind. Adobe creates great products, and having worked for Macromedia in the past, I know many of the engineering teams are top-notch. But Adobe please, the let’s optimize the purchasing system to let great products be exchanged for $$ more efficiently.
Here’s 2 hours of my life I’ll never get back…
Follow the link to upgrade my copy of Flex Builder. 99 bucks, what a deal!
Here’s my credit card… Purchased, downloaded serial numbers sent via email. Awesome.
…Wait, now I see there’s a pro edition that wasn’t an option during my purchase. I got standard. Crap I need pro for the charting.
Let’s see how to call customer service to change. The customer service links take me to a website. Many of the links on the site are broken.
Lot’s of searching later, I have no luck finding a phone number, but their general FAQ says I can use their online system to return the product and buy the right one.
I try the return system, but it says I don’t have any products to return. Jeez, well, maybe the system takes a while to see my purchase.
I’ll just buy the right version anyway and work out returning the wrong version later.
Here’s my credit card… Purchased, downloaded serial numbers sent via email. Awesome.
Wait, my email doesn’t include the serial number, it says call customer service, but of course doesn’t include an number to call. It does give me a link to contact customer service. Let’s try that.
Awesome, thanks for that. Now I’m hosed. I already know you can’t find a phone number to call on their website. Let’s try some of the other links from the email. Well the FAQ isn’t broken. Ah, sweet, there’s a link to the customer service contact area. It even has a phone number!
Calling. Waiting. Writing this blog post to focus my griping…
Waiting, Writing. Waiting, Writing.
Got a rep. I explain the situation. She gets it surprising well. Needs to transfer me to the real customer service department. Gives me a direct phone# in case we’re disconnected (thank you!)
Re-explain to everything to customer service.
“Sir, you have to wait 24 hours to cancel an order, you’ll need to call back to cancel”. Fine. Let’s move onto the serial number for the pro edition I purchased.
“Sir, You should have received an email with your serial number”.
I got the email, but it said to contact customer service for the phone number.
“I need to create a case and may have to transfer you to the correct department. Please wait 2-3 mins while I check on the Pro serial number.”
“Sir, What browser are you using?” IE. What kind of Internet connection do you have? (what does that have to do with anything?)
“Sir did you get an error when checking out” No.
“Did you get an email with the serial number?” I as explained, the purchase completed, I got the serial number email, but the email says to contact customer service to get the serial number.
“Sir I need to create a case, please hold for 2-3 mins”
“Sir here is your case number. You will be contacted within 48 hours about your issue.”. What the…I just need my serial number.
“Sir we don’t issue serial numbers, we are just customer service”.
OK fine whatever. Thanks.
To be continued…
Publish blog post.
Facebook Beacon – Evil genius? February 22, 2008Posted by spikew in Facebook.
1 comment so far
I just got an ad in my Facebook news feed about a movie my friend Mike rented at Blockbuster.
This seemed like a typical social application notification at first, so I assumed Mike was using the Blockbuster Facebook app. After looking more closely however, I realized the ad was from Facebook, not an app. I found that very surprising! That got me very interested in how Facebook managed to make the connection between Mike’s Facebook ID and his online Blockbuster account…
My starting assumption was that this was Facebook’s notorious "Beacon" advertising program in action, which turned out to be correct.
Beacon launched in December and caused a big brew-ha-ha about privacy violations because the program sends notifications to your friends about purchases you have recently made. MoveOn.org even got involved and applied pressure to make this an opt-in only program. Facebook eventually bowed to the pressure and created an privacy setting to let users opt-out of the advertising program.
The public outcry reminded me of the reaction I saw to the introduction of the Facebook news feed, which users eventually came to love.
When this first blew up, my assumption was that things I buy through Facebook were broadcast to my friends (for example: I follow an ad link from Facebook to buy something on Amazon, and then Facebook sends an alert to my friends). This struck as the cost of using a service that notifies your friends about most of what you do on the service. No biggie, quit your whining.
My understanding of Beacon turned out to be completely wrong and now that I understand the way it really works, I can only say it is absolutely genius and quite possibly evil.
The investigation (IM-style)
spike: low pri question for u when you get a sec
spike: Facebook is running an ad about the fact you added 24 to your blockbuster queue
spike: What activity caused that?
mike: that’s a good question
mike: on the blockbuster side, it must be linked to the blockbuster movies by mail system
mike: netflix competitor
spike: Actually, it says you added hitman to your queue
mike: but for facebook to be linked to blockbuster.com
spike: then gave me and ad for 24
mike: it’s listing what I added?
spike: that’s what it says
spike: "Mike Nimer added Hitman to their queue on Blockbuster"
mike: that’s really annoying, I don’t want that data shared
mike: and I’m pretty sure I haven’t added a blockbuster facebook app
mike: to my account
spike: I’ll tell u how to disable, but I’m trying to figure out how they know
spike: do you use Blockbuster?
mike: I would imagine that I have some blockbuster app
spike: that’s what I was wondering.
mike: on my account, which pings blockbuster and gets my last video
mike: although it doesn’t work very well, I added hitman weeks ago
mike: that’s the only way it could happen, right?
spike: Check out your apps list when u get a sec to see if you have Blockbuster installed
spike: yes, somehow they have bound your Blockbuster account to your FB ID
mike: ok this is wierd, I don’t have it listed
spike: think you did in the past?
mike: I’m pretty sure I wouldn’t of bothered to add it
mike: when did it show up that I added hitman, is it a new post?
spike: It showed up in my news feed.
spike: FB generally inserts 1 ad per day in there
spike: I know they had an ad service recently that they got bashed for cross advertising personal info with
mike: but for blockbuster to know about me, and know I’m linked to you
spike: this is exactly what it looks like, but I was interested in how they linked it
mike: that kind of scares me, granted blockbuster itself is harmless – but in general the idea that it can work this way
spike: They also had some kind of connection with Amazon where they could tell your friends about stuff you bought
mike: doesn’t the facebook api allow you to find your firiends
spike: yes. But this ad is clearly coming from Facebook
spike: but Blockbuster gave them the info
spike: its not app spam like you would do if it was implemented directly by the app
mike: maybe it’s some deal with facebook
mike: could the social ads be it
mike: Privacy Settings for Advertisements Facebook occasionally pairs advertisements with relevant social actions from a user’s friends to create Social Ads. Social Ads make advertisements more interesting and more tailored to you and your friends. These respect all privacy rules. You may opt out of appearing in your friends’ Social Ads below.
mike: this must be it
spike: yeah. that’s how you opt out of "Beacon"
mike: I mean it let’s me set "Appear in Social Ads for"
mike: and considering that I added hitman weeks ago, which is probably when they started doing the data mining for the ad
spike: Here is the app: http://www.facebook.com/blockbuster
mike: I’ll bet this is related
spike: click on it and see if you’re a member
mike: I’m not
spike: here’s controversy article: http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=9053002
mike: I just changed my social ad option. let me know if you ever see this again
mike: if so I’m going to have to go nuts on facebook
spike: where did you find the opt out?
spike: I’m just facinated that they made the connection btwn the 2 sites
spike: I wonder if its based on your email
mike: under privacy
spike: if so, that’s just Fn awesomely evil
mike: keep that news post
mike: I think so
mike: actually I don’t think it’s email
mike: facebook, is linked to my work email
mike: and blockbuster is linked to my @yahoo email
spike: F’ me!
spike: "Facebook Beacon works through the use of a 1×1 GIF web bug on the third-party site and Facebook cookies."
spike: jeezuz those guys are smart
mike: that’s what it was
spike: Yeah I knew it was, but I was trying to figure out how they do it
spike: now I know. Wow
mike: that’s evil
mike: that’s a spammer trick
spike: One of the big customer advocate groups went apeshit about it when they launched it
spike: that’s where the opt-out option came from
mike: I remember that
mike: I guess you still default it on
spike: I thought they had changed it to default to opt-out
mike: that’s what the articles claim
mike: but I barely use facebook, I have the most basic account
spike: MoveOn.org fought it hard
mike: I’m glad to hear that. what I’m curious to hear more about is what the computerworld article talks about
mike: with the supreme court hearing and blockbuster
mike: this sure seems like a violation of that
mike: most companies can plead ignorance, but not blockbuster
spike: Do you have a message like this in your feed? http://bits.blogs.nytimes.com/2007/11/29/the-evolution-of-facebooks-beacon/
mike: I don’t see anything like this on facebook, checking blockbuster now
spike: should be on FB
mike: don’t see it, but found this on blockbuster
spike: Do you see anything about blockbuster on this link?
mike: and I’ve now turned everything off
spike: can you send me a screenshot of what you see
spike: I’m writing a blog post about all this
mike: it’s not that facebook does this, it is that it’s on by default
mike: in the words of google, that is evil
So, what’s it all mean?
It turns out that cookies set by Facebook are being used by other sites that you visit to link your activity on the site back to your Facebook account. Facebook then uses that activity information to send ads to your friends.
Dave McClure gives a good rundown of the total experience (though I think the experience has changed a bit since his post).
I’ve been involved in Web application programming a long time and I’ve always mocked the folks who disable browser cookies by calling them cookie-freaks because I felt the good of stateful web applications greatly outweighed the evils. This is the first time I’ve really encountered a use of those cookies that really made me feel like I’m being watched. I now feel a bit oblivious, because it turns out this cookie-sniffing technique has probably been used by big portals like Microsoft, Google, Yahoo for a long time to help optimize ads they serve you.
I have to admit, I love a good hack, and this one is awesome. Now I just have to let it sink in to see how I really feel about all this and if there are other good ways to use this technique.
Is it evil? Where’s Darwin when you need him?
I’m not convinced this kind of tracking and advertising is evil, but I do think this is the kind of thing people should get to opt-in to instead.
It turns out Facebook already has a great opt-in mechanism that makes sense for this, its called Facebook applications, and when you add them to your profile, its because you are interested in sharing information about the services the application provides with your friends. Facebook even provides a huge warning dialog when you add applications that lets you know that you are letting the application have access to your friends and your personal information. And *everyone* on Facebook is well aware that these apps send notifications about your activity to your friends.
I actually like the idea of implicitly sharing some of my outside Facebook activity. Some of the sites I visit say a lot about me, and I want my Facebook profile page to be a reflection of me and my interests. For instance, I like to have the music I’m addicted to on my profile page, so I created an app to broadcast songs I’m playing on my Zune. And since I’m a movie buff, I’d like to have a Netflix application on my profile that shows the movies I’ve recently rated so my friends can see what I thought of them. Hell, I’d also like to put my Amazon wishlist on my profile so folks can know about things I’m interested in buying.
However, its important to realize that just because I use a service, that doesn’t mean its a good reflection of who I am, so I don’t think Facebook should just inject that info into my profile.
This comes back to the original problem. If Mike thought that his movie rentals were a good reflection of his personality and wanted to share info about movies he is renting, he should have added the Blockbuster application to his profile and then Blockbuster could link his account to facebook and inject ads and notifications into his news feed. If he finds these notifications are annoying or too personal, then he can remove the application. This forces Blockbuster to make their application and the notifications they serve appealing to FB users. If the app is flexible enough to make its content/notifications/ads a good reflection of Mike’s personality, then he’ll keep it, otherwise he’ll uninstall it.
Opt-in for good apps/ads, opt-out for bad ones – Darwin at its best. Beautiful.
What should FB do?
Installed applications already have the ability to track users and send activity notifications to friends, which can include ads. This is basically the same thing that Beacon does. The advantage of Beacon is that advertisers can get around the problem of making their applications interesting enough to get users to install their applications by paying Facebook for the privilege of injecting application-like notifications into the user’s activity stream without consent.
This seems backwards. What Facebook needs right now is great applications that keep users engaged. The fact is, most of these partners probably have activity streams that users would actually like to share with their friends. Facebook should be helping these partners create compelling applications, and then they should help promote these apps so they get installed by lots of users (with consent). Facebook should then move its Beacon program to be an advertising service offered to FB applications. This means Facebook would need to find a way to make the use of the Beacon system a value-add for application developers (versus what applications can do on their own with notifications). I’m not exactly sure what that value-add is, but based on what I’ve seen over the last year these FB guys are super-smart, and will figure something out.
What can you do to protect your privacy?
So I’m definitely a little creeped out by the way this Beacon thing works, and don’t really like the idea of notifications about my activity on the Web being broadcast to friends without my consent. There are a number of things you can do if you want to protect yourself from this:
You can opt out of showing up in social ads on Facebook here:
You can opt out of showing your Facebook friends what you are up to on external sites here:
[Note: this doesn’t necessarily keep the site from sending Facebook notifications about what you are doing, it only prevents Facebook from showing it to your friends.
Supposedly, Facebook also shows you an alert that an advertiser is sharing information about your activity to your friends. You can use the alerts to remove the notifications from your activity feed. I’ve never seen one of these alerts, and my friend Mike couldn’t find one related to Blockbuster on his Facebook page.
Moveon.org also has a petition you can sign to prevent companies from telling your friends about what you buy on sites or let companies use your name to endorse their products without your permission.
Consider complaining to your service providers about sending your private information to Facebook (and possibly other advertisers). Apparently, several of the original Beacon launch partners bowed out of the program based on the negative customer feedback. Wikipedia has a list of Beacon partners that may be sharing your information.
Supposedly, if you explicitly sign-out of Facebook, this will prevent external sites from tracking you and sending notifications to Facebook.
Finally, you can disable all your browser cookies, which is drastic, so I’ll still refer to you as an cookie-freak.