Joseph's profileJoe's Post-Graduate LifePhotosBlogListsMore Tools Help

Blog


    December 11

    blah blah

    DSCN0486

    October 06

    Test video

     
    February 17

    Goodbye "Sponsored theme B en-US"

    For about a year now my space has held a unique distinction - it's the only production space that has ever had the theme "Sponsored theme B en-US" on it. Back in 2007 we built a sponsored theme system that let a company build a unique theme that tied in to its properties (like the awesome Halo 3 themes). These themes were slightly different from normal themes in that they prevent the end user from using the advanced menu to make adjustments to the theme like setting their own colors and changing the background image, a feature we developed to provide our sponsored theme providers with consistency in their themes.
     
    As we were building and testing this feature in our test environment we built three test sponsored themes, appropriately titled Sponsored theme A, Sponsored theme B, and Sponsored theme C. These themes were pretty lame, as they were just existing themes with some identifying text in the background image and the theme customization "locking" I mentioned before. These themes weren't supposed to be released to production - they were just for testing purposes. But as we were rolling out the release to our Blue Ridge data center I noticed that they were available in the theme picker and that they could be applied to a space:
     
     
    I applied Sponsored theme B to my space so we had an example that we could use to track down the problem. Pretty quickly we found the issue and fixed the appropriate config files to prevent this theme from being accessed by anyone else. Since there were only a few dozen spaces (belonging to MS folks helping us out with dogfooding) in the Blue Ridge cluster at the time and since the rollout had only made it to Blue Ridge by the time we caught the problem no "real" customers ever saw this abberation or applied one of our test themes.
     
    But I still had Sponsored theme B on my space. And being the only person in the world to have this theme had a certain appeal to me. Which is why I've kept this theme for over a year now. But it's time to say goodbye - Sponsored theme B has gotten old, and it's always been ugly Smile . . . . But I'm writing this blog entry to commemorate the passing of my old, personal friend. Goodbye Sponsored theme B en-US - I'll miss you.
    December 19

    IE8 gets me hot

    If you're interested in the future of the web and of a geeky persuasion you should go check out this post on the IE Blog:
     
     
    Standards compliance is an incredibly important "feature" for the web 2.0+ world and it looks like IE8 is going to nail it. I'm super excited about this because it feels like a fulfillment of the "promise" of IE7 - that MS cares about the web, wants to move it forward, and cares about doing so in an extensible, interoperable, inclusive way. I've been on the IE bandwagon ever since I was an intern back in 2005, when I got to dogfood an early internal beta of IE7. I think the team is doing incredibly important work, and I think this data shows the incredible progress they've made.
     
    I've known about the ACID test results, as well as some other cool stuff that IE8 is going to include, for a while now, but I'm really psyched to be able to talk about some of this publicly and to see the reaction of the people outside MS to this info.
    December 07

    IMĀGE_00021


    Posted by ShoZu

    August 24

    Testing is important

    Testing is important. Outright bugs suck, but product design should be tested too - bad UX can be even more frustrating than bugs.
     
    Yesterday my housemate Jon downloaded the new Texas Holdem game for the Xbox Live Arcade, which turns out to be hilariously bad. There are lots of terrible UI choices and a poor control scheme. Examples include:
     
    • It's easy to accidentally go all in when you only want to bet by double tapping the Y button instead of single tapping it to bring up the betting screen.
    • It's incredibly hard to control betting amounts - it feels like they chose the worst interface possible on purpose, but in reality they just tried copied (poorly) the interface used by computer programs without considering that I don't have a keyboard and a Xbox controller is much harder to use precisely than a mouse.
    • If you are going to display my button options on screen (A to call, B to fold, Y to raise), you really should make sure you always show the appropriate description. You also shouldn't show me options that are not valid in my current situation, or at least visually indicate that they are not valid.

    The computer opponents are disappointingly poor and there are some pretty glaring feature omissions, like:

    • No custom music support.
    • No ability to skip to the next hand when you have folded against computer opponents.
    • No option to pre-fold or pre-call a hand while you are waiting for the players in front of you to act.
    • Only having 30 seconds of background music which then loops infinitely and slowly drives you crazy.

    The matchmaking and network code is scary awful - it took me three attempts to get matched up - the first attempt I was told the match attempt failed (no reason given), the second time I was matched to a tournament I was not allowed to play in (my bankroll was too small), and the third time it created a new table for me which it took 10 minutes to fill.

    The highlight of our night, however, were the two glaring bugs we encountered playing in just three tournaments. First, it appears that when a player is in the small blind with less than half of the chips needed to call the big blind (after playing the small), they will hold on to their extra chips and be treated as all in, instead of making a partial call of the big blind. this was minor but annoying, but the bug we found in online play was genuinely frustrating. About 10 hands into the tournament I got all in with two pair that rivered a full house against a short stacked opponent with a high ace and a busted flush draw. There was about 1,000 chips in the pot when I won the showdown, but when my busted opponent left the table the chips that were in the pot disappeared with him, leaving the table (and more importantly me!) with about 1/4 less chips than we should have had.
     
    These bugs were somewhat frustrating, but a poor UI choice was what really ruined the game for us. Whenever a pot is won or lost, whenever someone goes broke, and whenever someone leaves the table you are presented with a notification dialog that you have to press A to acknowledge (this dialog pops up quite frequently at other times in the game, but we will focus on just these three cases). This is an OK design choice for single player scenarios for this game, since the target audience is probably not very poker savvy and will probably want a chance to review their hand and the play before continuing the game. But it is a terrible scenario for online multiplayer games. At the end of each hand all eight players must acknowledge that the hand is over before the next hand is dealt, which creates a 30+ second delay between the laggy network code and the inevitably slow opponents. When a player gets knocked out, though, the experience is even worse, since everyone must first acknowledge that the hand is over, then everyone must acknowledge that the player has gone broke, and then everyone must acknowledge that the player has left that table, all while waiting between steps for everyone to finish acknowledging the previous step. Between code defects and poor design choices what should have been a fun fast paced game turned into an unbearably slow mess that was far away from fun.
     
    Design is important. Testing is important. Usability is important.
    August 11

    How to fix: Internet Explorer crashes when visiting my Windows Live Space

     
    This article is just a how to on how to fix the following problem:
     
    When I try to view the main page (visitor mode) of my Windows Live Space in IE 6, IE crashes.
      OR
    I can't get to my Windows Live Space because Internet Explorer crashes when I try to access it.
     
    This problem is typically caused by malformed HTML in one of the blog entries. Very complex web pages (like a Windows Live Space) that have a certain type of malformed HTML can cause IE 6 to get caught in a loop and crash. The HTML Filter in the Windows Live Spaces blog editor can be used to fix this problem as follows:
    1. Go to http://spaces.live.com/ and click the Sign In link in the upper right hand corner.
    2. Sign in with your Windows Live ID (formerly known as passport).
    3. This should take you to the Author view of your space, and IE should not crash. (If IE does crash at this point you may have a different problem and may need more help. If this is the case drop me a line at joseph.bono@hotmail.com).
    4. Click on the title for your Blog module to bring up the Editing Blog full page view.
    5. Click on the title for the first blog entry, which will take you to the preview page for this blog entry.
    6. Click the <HTML> link in the blog editor, then click the Publish entry button.
    7. Repeat steps 5 and 6 for each of your blog entries

    These steps should fix this particular problem. If it doesn't, please feel free to e-mail me at joseph.bono@hotmail.com.

    September 26

    VE - Redux

    I played around with Virtual Earth a little bit while I was out in Redmond, but I didn't actually use it until I got back to New Haven. I love the interface and have come to really appreciate the design decisions that went into it that make it so different from Google Maps. That said, there are a lot of rich scenarios that I want to explore with VE that I just can't do right now. I feel like the greatest strength VE has is its orientation towards aggregation of information via search and the scratch pad. But this strength is short circuited by the limitations of the scratch pad. If I were working on the next release of VE here are the features I would want to add:

    • Raise the limit on the number of items in my scratch pad from 5 to a more reasonable (20? 50?) number. We should be encouraging our users to save ALL of their locations in VE so they keep coming back to it.
    • Let me relabel the items in my scratch pad. Its great that when I search for a business by name the name of that business appears in my scratch pad, but why can't I put a descriptive name on my non-business locations? Why can't I label 100 Main Street as Bob's house?
    • Let me create different sets of locations in my scratch pad. I want to have a set of New Haven restaurants that I can send to visiting friends, without having to send them the addresses of locations I'm going to during an upcoming trip to Seattle. Let me segregate my data!
    • The search engine fails to find a match way too often. If I happen to be looking at a map of Redmond and then remember that I need to get directions to Zaroka, an excellent Indian restaurant in New Haven, I should be able to type Zaroka in the business name field and New Haven, CT in the location field and get a match. Instead I have to first move the map to New Haven by searching for a full address in New Haven like 35 Hillhouse St, New Haven, Ct, and then search for Zaroka. No good - make search more intuitive and give me better options when you can't find anyting. Also, if I leave off the "St" or "Ave" from an address that I am searching for, VE should be smart enough to complete the search, instead of saying there are no results.
    • Let me optionally associate my VE session with my passport ID. I love that VE remembers me by putting a cookie on my computer so I can get back to my saved locations. Of course, I just formatted my computer and reinstalled Windows, so now all my old VE session data is lost forever (unless I remembered to bookmark it). Same story if I want to view my VE locations on a different computer. Granted, its not a big loss when I just have 5 scratch pad spots, but still, I should be able to roam this data if I want.
    • Don't make me dig through extra layers to initiate a search on a location. Instead of hiding the "MSN Search it" link for a location in the details window, make it a link in the location pushpin.
    • Pass MSN Search better information. Figure out a way for MSN Search to use both the business name and the address information to give me relevant info - when I click the MSN Search link for the five items in my scratchpad only one of them gives me a relevant search result.
    September 16

    A successful week?

    I think it's been a good week, but time will tell.
     
    Our Microsoft school recruiter, Matt Kennedy, came to town this week to begin getting a new crop of Yalies interested in Microsoft. We had an awesome time, I got a few free meals, and Matt's liver took a beating, but best of all I think we're going to get a really good crop of Interns and FTEs from Yale. Microsoft, and other tech companies in general, have never had a big presence on campus - apparently Yale is not really viewed as a tech school, which is somewhat understandable since we have such a small CS department, but there are a large number of really smart, motivated people here.
     
    The various consulting and investment bancking companies have long recognized this and courted Yalies, but I think there are a lot of companies that fail to realize that the value of an elite education is not training and certification but rather the development of critical thinking skills and learning as a discipline. People with this type of an education, which is not limited to Yalies or Ivy Leaguers, can excel in virtually any job, as long as they are passionate about their work.
     
    Matt recognizes this about Yalies and is dedicated to getting the right people here exposed to Microsoft. This is one of the many reasons why I love him. The fact that he took us out for cups at Mory's helps too.
    August 30

    Starting B-school tomorrow

    Tomorrow is my first day of classes at Yale's School of Management.
    I just got back into town Saturday night after a one layover cross-country flight. The individual flights were fine - I slept the entire way from SeaTac to Philadelphia and the flight into Tweed airport in New Haven was short and pleasant. The layover in Philadelphia was pretty brutal though - 3.5 hours with little to do in a truly ugly airport. It didn't help that I ended up waiting in terminal F (where my flight to New Haven was scheduled to depart from) for most of the time.
    Anyway, I got back late Saturday night and have spent the last few days getting back up to speed in New Haven. I got to meet my new roommate J.P. (awesome marketing guy from San Francisco), went to a couple orientation events to make up for the two weeks of orientation I missed, saw my old roommate Vishal, visited with my Freshmen (now Sophomores - they grow up so fast!), saw a lot of my TD friends, purchased books (over $500 for four books - I need to see if I can find them cheaper online and return my books to the bookstore), and met with some of the other Silver Scholars.
    And now I need to get ready to return to classes. It's a bit weird to have no choice at all in my course selection (SOM has a set of fixed core courses you have to take your first year), and I ended up paging through the Blue Book and finding a few undergrad course that I may shop for old times sake. Anyway, I have homework and reading for the next two days and I want to be ready to go out of the gate, which means I have a few busy hours ahead of me now . . .
    August 26

    MS Interns = the bomb

    MS interns are pretty crazy - can you believe that this is actually an annual tradition? Check out our "Official Internz Statistician" Bill Dwyer, my Puzzle Day teammate Rohit, John, Bo, and Clare work their  magic:

    Quote

    Music video from MS interns
    This is pretty funny - 5 MS interns made a music video:
     
    August 25

    Google Talk, disruptive technologies, and the IM holy grail

    Mike writes about the release of Google Talk (GT) in his blog, discussing simplicity vs customization and whether GT is a disruptive application.

    I tend to agree with Mike in that I prefer to have a lot of features with the ability to decide whether I want them or not (although I may not sacrifice performance for features) rather than a simple lightweight application in which I have no customization choices. This probably speaks a lot to my personality and helps to explain why it takes me a full day to get a new computer set up with everything configured perfectly. 

    But the simplicity thing has been done and, like Mike, I don't think that it will turn out to be a disruptive feature the way it was for music players. People already grok IM and it's an experience that users want deep customization in. This doesn't mean that I don't think Google Talk won't be a disruptive technology, however. Mike mentions " MSN Messenger 7.0/MSN Spaces integration was insanely disruptive given the discoverability and continual uptake of Spaces compared to standalone services." I think we will eventually find Google Talk's integration story to be the true killer feature of this service, the disruptive technology that Dare talks about.

     

    GT's promise is that it will be trivially easy to add new contacts to their IM client and that it will eventually interoperate with all the other services, attempting to address the two biggest problems that exists with social networks - interoperability and portability. 

    I still use AIM as my primary IM client, not because I like its features or UI, but because all of my contacts use AIM. I would love to switch exclusively to MSN Messenger - it has a nicer UI and features that I really appreciate. But I'm tied to AIM by my network of contacts. Additionally, it's a pain to add contacts into a new client - you have to add them in one by one, look up e-mail addresses or screennames, deal with sending invites to people who don't currently use the service, etc, etc, etc.

     

    GT offers solutions to these problems.

    By integrating with Gmail and allowing me to invite my contacts to join GT I'm presented with a nascent social network with virtually no setup cost. As a bonus I never had to enter a contact's information in Gmail - it just added anyone I had a conversation with to my address book. This is such a better experience than having to add contacts one by one in another client, entering each screenname/e-mail address by hand. MSN got it right by using e-mail addresses as unique identifiers for contacts in their applications - Google took it to the next level by transparently sharing these contacts across applications.

    Furthermore GT offers me the promise (if not yet the reality) of eliminating distinctions between my IM networks. It could be marketing vaporware, but between GT's use of the Jabber protocol and its explicit promises to attempt to federate with other IM services it gives me the hope that some day I won't have to run more than one IM service. This is something users want - look at the success of Trillian or Gaim for evidence of this.

     

    GT has the potential to be disruptive not because it is simple and easy to use, but because it is simple and easy to access all of your social network. That has value. It will be interesting to see if they can actually pull off true interoperability with the other IM networks . . .

    August 18

    Virtual Earth

    MSN just released a neat video about its cool new service, Virtual Earth. You can view it at their teaser site, or, you can just watch it in my Space by clicking on the play button in the Windows Media Player module at the top of my page.
     
    Feel free to add this video to your Space too. You can add a Windows Media Player instance to your page by following the directions here. Then simply enter http://www.virtualearthinfo.com/videos/080305_virtual_earth_short_noscreens.wmv as the URL and save you module. Voila - a cute teaser video. I love that butterfly!
     
    And go check out Virtual Earth - I lost 2 hours of my life the first time I sat down to play with it - it's that cool.

    What's on your Start menu?

    Torres posts a fun exercise/nascent blogging meme: 

    Quote

    What's on your Start menu?

    OK, back to the fun stuff.  Ed and Dwight ask "What's on your Start menu?"
    [snip]

    What do you have on your Start menu?

    My work computer:

    • Photoshop - I end up doing a fair amount of design work and mockups for new features, and consequently always have Photoshop running
    • IE - no surprise here.
    • Windows Media Player - I really like the Radio function (even if I do hear the same 20 songs over and over).
    • PowerPoint - uhm, yeah. I'm working as a PM and starting business school. I imagine my relationship with PowerPoint is just starting to get really serious . . .
    • Wordpad - My default editor for HTML when I need to look at tags or edit things by hand.
    • Excel - the Solver plugin is the best invention ever. Seriously.
    • Outlook - like Mike I love Outlook and really live in it. The key feature, in my mind, for Outlook is having an Exchange server - it enables so much cool stuff like roaming your data, company wide address books, free/busy publishing in the calendar, etc, etc, etc. I've been using Pine over SSH the last few years to access my e-mail at school because it was the only way I could get decent performance from a mail client and roam my mail (IMAP as a protocol sucks, IMHO, and using POP3 creates a lot of sync issues), but I have missed Outlook a lot. It's good to be back on it.

    I noticed that Word isn't on that list - I guess I mostly work from templates and launch them from Windows Explorer, so Word never shows up in my Start menu.

    My home computer:

    These are from my Quick Launch menu, since I don't have a dynamic Start menu enabled on my home computer.

    • IE, Firefox, and Opera - lots of browsers for different purposes. There are lots of sites that are optimized for IE or Firefox, but I really enjoy the Opera browsing experience more than any other browser I have used.
    • Outlook - see my comments for my work computer.
    • SSH Secure Shell - checking e-mail at school, working on CS assignments, uploading files to my school storage space, updating school related websites.
    • Windows Media Player - gets heavier and more varied usage than on my work computer.
    • AIM CA Chat room link - this automatically connects me to the chat room we set up for the Yale Computing Assistants a few years ago.
    • Eclipse - the Integrated Developer Environment I use when writing Java. To flesh out the rest of my programming preferences, I write C# in Visual Studio 2003 and C/C++/ML in emacs.
    • Word and Excel - I use these a lot in school. And at work. And pretty much in life.

    What do you have on your Start menu?