S3Fox/S3 ACL reversion

I use the Amazon S3 (Simple Storage Service) to host all the images on this blog. It's a great, cheap, reliable service. I use the S3Fox Firefox extension as an easy tool for interacting with S3. It lets you manage and upload content to your S3 account.

One of the features of S3 is the ACL, or "Access control list". This controls who can do what to your content. For any file on your S3 account, you can allow Read, Write or FullControl for Everyone, Authenticated Users, or your own account. The default is to turn on FullControl for your own account and turn off everything for everyone else.




(Note here the red arrow pointing to some kind of weird leaking of the background image)

I've found that generally when you update a file using S3Fox the previous ACL settings for that file or directory are retained. However, sometimes, for reasons I haven't figured out, it reverts to the default ACL:



This is fairly annoying because I usually don't realize it until I refresh my blog and suddenly images are not loading. Trying to access a document in this state directly in the browser by URL gives you the following error:



I have no idea if this is an S3Fox or S3 problem. Either S3 sometimes forgets the ACL of a particular document when that document is updated, or S3Fox retrieves or sends the ACL information incorrectly.

Suggested Fixes for S3 or S3Fox
  1. Always retain the previous ACL for a file when it is updated.

  2. Fix the weird painting issue noted on the second image in this post.

Update: I added some additional information and emailed this post to the makers of S3fox - Thursday, December 2, 2010.

Jing's "Accept the fine print" - Not Broked!

Software license agreements and website terms of use are generally fairly ridiculous, and something I plan to post about in more detail at some point. However, I recently installed a screen recording tool called Jing, by TechSmith, and was pleasantly surprised by their approach to "the fine print":



Just one tiny checkbox, that's it! They are asking me not to agree that I've actually read the fine print, only that I accept it. Since almost nobody reads the fine print anyway, this is a very refreshing way to deal with a Software License agreement.

I recently installed a Flash update that had a similarly concise approach:

"Seven Steps" article on test automation

I just finished reading Seven Steps to Test Automation Success by Brett Pettichord. I am doing a research project on Test Automation for my Testing Class and am basically just trying to find my bearings in this subject. This article is a great place to start -- and possibly to end. The basic steps are:
  1. Improve the Testing Process
  2. Define Requirements
  3. Prove the Concept
  4. Champion Product Testability
  5. Design for Sustainability
  6. Plan for Deployment
  7. Face the Challenges of Success
Definitely worth reading if you are interested in Test Automation.

Note to Mr. Socha: I will have some blog posts tagged "Non-Portfolio". Let me know if this convention is not going to work. I think it is worth it to post things to do with Testing even if they are not portfolio level work...

Windows Search's Handling Of Directories That Are Not Indexed

Using Windows Search on Windows XP* to search for files in an un-indexed directory is clumsy at best. I've never been a huge fan of Windows Search (formerly Windows Desktop Search). I used to use Google Desktop search fairly regularly, due to being fairly disorganized and often having no clue where a particular file or email was. I have since become much more organized in the way I store and manage documents, source code, emails, etc. But still, when Windows Desktop Search was released as a standalone program I installed and tried to adopt it, assuming it would integrate more cleanly with Windows.

It seemed to serve it's purpose, but I found that it was extremely taxing on my PC resources when doing it's indexing. It seemed convinced the best time to do this was at startup, exactly when I want to be able to get my user programs up and running as fast as possible. This could be turned off quite easily in the settings of the original program, but doesn't appear to be anymore. So inevitably, I end up snoozing indexing whenever it comes on. When I used to have much of my hard-drive indexed, this would mean that the index was often out of date and therefore not very useful. So I reduced the directories that got indexed back to just "My Documents" and my Outlook Inbox. Which leads me to my next irritation, and the main subject of this post.

The usability of searching an un-indexed directory in Windows Search is fairly poor. I'll start by looking at a sub-directory in my c:\temp directory, which obviously is not indexed.


(This happens to be the source tree of Squirrel, a java-based SQL client).

Now I click on "Search", type "xml" in the input field, and click the confusingly labelled "Desktop" button (which should say "Search Desktop", or "Go", or something other phrasing that contains a verb!). I am greeted with the news that this folder is not indexed, and therefore I must use Search Companion or add this folder to the index.



If I click on the "Search Companion" link, it launches a new window and searches with the old-school puppy-dog built-in Windows XP search -- which works very quickly and finds all the files I asked it to.



My main complaint here is that requiring the extra action of clicking "Search Companion" seems very unnecessary. At the point that Windows Search realizes I am searching an un-indexed directory, it should transparently switch to using the Search Companion logic. As a technical user, I barely care that the directory I am searching is not properly indexed, and a non-technical user definitely will not care.
Secondarily, it is also annoying to have it launch a new window. At this point, I am so annoyed that I decide to uninstall Windows Search. I go into Add/Remove programs, find Windows Search, click "Remove" and, after progressing through a few default screens, see this scary notification:



Do I really want to cause trouble with what are apparently very critical Windows components? I quickly search and find that "removing WDS will not disable or impact any other programs or updates listed". So I power through the uninstall.

After the obligatory system restart, I do some quick tests to make sure that I can still do basic searching in Outlook and Windows. Searching in Windows has reverted to the old-style search:



Searching in Outlook however immediately shows me a dialog notifying me that I need to download some software to make Instant Search work.



(As a side note, there is no reason that the average Outlook user would have any idea what the "Instant Search feature" is, as this text appears nowhere in the UI. This is a subclass of usability issues that I should blog about: over-use of the marketing or technical names for functionality in a way that is not communicative to the user who doesn't have your product's glossary printed out.)

Although I can see where this is going, I click on the "Yes" button. This takes me to-- you guessed it-- Windows Search download.



I in fact did end up downloading and re-installing Windows Search, simply because I do like the Instant Search feature more than I dislike the performance issues and the clumsy searching of non-indexed directories.

Still, there are several improvements that could be made in a world where developers were plentiful and worked for free and Windows XP was still Microsoft's top priority.

Suggested Improvements for Windows Search

  1. Indexing should be able to be scheduled just like virus scans and product updates.

  2. Indexing should be improved to run at low priority by default, and should in general never impact performance in any noticeable way.

  3. Indexing should not run at startup by default.

  4. Searching in directories that are not indexed should automatically switch to Search Companion, without requiring additional user action.

  5. Uninstall should present less alarming language about the effect on other components.

  6. In general, programs should be aware that I just uninstalled the thing they are telling me to install, and skip that warning.

* I realize complaining about Windows XP isn't much better than complaining about Windows 95 at this point. The reason I am using Windows XP is... a long story, for another day

Updated: I added a bit more context about why I find the extra step to go to Search Companion unecessary - Thursday, December 2, 2010.

Samsung's Driver Search Page

The 17" flatscreen monitor I got with my Dell desktop back in 2003 finally died a month ago. So I bought myself a 21.5" Samsung SyncMaster EX2220. I've been using it for a few weeks without having installed any special drivers, but today I noticed a flickering/shimmering effect in some areas of the screen. After some investigation, I thought perhaps I should install the proper drivers so I could up the refresh rate and see if the problem might go away.

I went to the Samsung Website, and was immediately assaulted by a "We'd like your feedback" popup.

Samsung feedback assault popup

search box After dismissing it, I typed in "EX2220" in the search box, and reached a page which had the promising title "Looking for a Download?" and a list of drivers.

Looking for a Download? page

However, none of the links listed had anything to do with EX2220 (at least nothing obvious). I clicked through the first few pages of links, and still came up empty handed.

Then I tried the dropdown list controls in the "Select your model" box. The first selection was easy -- I have a Monitor.

Dropdown lists

But then I was stymied with the choices for Product Subtype -- Essential, Business, Premium, Professional, Specialty -- none of these made much sense for my monitor. I bought it at Costco for home (and work-from-home) use. I looked over the entire Monitor, front, back, underneath -- nowhere were any of these terms used. I went to the garage and looked all over the box. Still, nothing.

So, I did the hardest possible thing which was to, one-by-one, check each and every one of the lists. No matter which Product Subtype I chose, none of the Product Model lists showed my model number. Finally I noticed that when I chose "Essential", the Product Model list showed an entry for "21.5" Widescreen LCD Monitor".

21.5 inch entry in list

I then clicked "Find Download". At which point I got to this screen:

Empty search results!

...with no results.

I then looked through the contents of the CD and was able to find the appropriate driver. So much for the convenience of the web!

What is 'Broked'?

This is a blog all about broken broked software. I build software and web applications for a living, and I pride myself on good user interface and user experience-- when I have time, inspiration and freedom. Throughout my career I have developed a sense of when something about the use of the software is.... not quite right. I've often tweeted about broken software (the first time I tweeted "broked" by accident and it stuck), hoping that just maybe Microsoft or Mozilla or Google or Apple or whoever's app I am complaining about just might notice they have a problem.

I have been meaning to write this blog for a while as a more thorough way to explore these problems. I am nearly done earning my Bachelor's degree in Computing and Software Systems, and had hoped to have a bit more time once I'd graduated to do some blogging. However, opportunity has struck early. I am taking a course in Software Testing. As part of the course, our professor is having us create a portfolio displaying our work in some way. It can be in any form. So, what better form than a blog, and one I had intended on writing? Now I can get a head start.

Who might be interested in reading this blog (besides my professor)? First, myself-- I know writing helps me organize my thoughts, and the more I can find, diagnose, and suggest fixes for problems in other people's software, the more easily I can find them in my own. Second, other software developers, who are interested in thinking through similar problems in their own apps. Third and finally, hopefully those developers responsible for the software I complain about might stumble onto this blog and find some helpful suggestions.

What will you find in this blog? I envision a typical post focusing on one software application (web or installed), walking through description of a problem, and then if possible, describing a solution. I'll try to keep it respectful and realistic, because I know there is never time, inspiration, or freedom available to fix everything.

I hope that someone out there (besides my professor) finds this interesting and helpful. Enjoy!