Tuesday, October 30, 2007

Поезд (Poezd)

Shlomik loves trains. Whenever he sees a train in a book, on TV or the above-ground subway, he points and happily says "Поезд!" (poezd, train in Russian). Every day, when I take him to day care, we pass under the Q train. That has quickly become the main attraction of our short walk. Starting from a block behind and until a block after, he's looking for the train and saying "поезд." If we're really lucky, there will be two trains passing at the same time and maybe another one in thirty seconds.

Shlomik's love of trains gave me a great idea, to take him to the New York Transit Museum. We realized that idea this Sunday. The museum is located underground and the entrance is made to look exactly like the subway entrance. The first floor houses the gift shop and the main part of the museum, including attractions for kids. The basement is a real train station with two trains on each side which are made up of different passenger cars from different years. One of the trains is terminated by a yellow work car on one end and a locomotive on the other. You can enter and walk around all of the cars, except for the locomotive. There's also a floor display of the drive system.

On the main floor, there are photographic and video presentations. There are decommissioned turn-styles, money counting machines, money changing machines, a control unit for raising and lowering a bridge, model trains and much more. For kids, there are interactive exhibits showing how different engines work, an exhibit letting kids "refuel" a bus, operational traffic lights and even an MTA trashcan which is topped by a fiberglass cover in case visitors decide it's a trashcan instead of an exhibit. The main attraction for kids are the front parts of two buses and and a train where a driver sits. They can sit in the driver's seat, spin the wheel, turn on and off lights and windshield wipers and flip switches and press buttons. Shlomik had a grand time pretending to drive a bus and a train.

On the way out, we visited the gift shop. The gift shop is surprisingly cheap and stocked with merchandise for both kids and adults. We bought Shlomik a metal locomotive, t-shirt, train whistle and a children's book about trains. Next to the store, Shlomik almost got into a fight with the museum's feline mascot. He loves cats and now he finally met a trained cat that didn't run away from him. He cornered the cat and one of them was about to go into offensive before we dragged him away.

We all enjoyed the trip. One part of the trip that I didn't at all enjoy, though, was dragging the big heavy carriage. They should really make the train and museums more carriage and wheelchair accessible.

Tuesday, October 2, 2007

At the zoo

This Sunday we went to Prospect Park Zoo. The main reason to go there on chol chamoed Sukkot is tashlich. There's a pond with fish in the World of Animals exhibit that's perfect for saying tashlich.

This time, we went with Shlomik. We went to the zoo a little late and didn't have enough time to see all of the exhibits. We did, however, have enough time to visits the red pandas, meerkats and the petting zoo. Shlomik absolutely loved the red pandas and was especially happy when one of them walked near the glass, right in front of him. The meerkats were also a great source of enjoyment for him.

The most hilarious part of the trip was at the petting zoo. Initially, Shlomik was very happy to get acquainted with the goat and the sheep. He was even trying to stick his hands inside, through the fence. The friendliness, however, quickly turned to displeasure over a very crucial item, food. My mother went to get some animal feed pellets and started feeding the sheep. Shlomik was very much enjoying the show and even wanted to feed them himself, or so we thought. After giving him a single pellet, he immediately attempted to put it in his mouth. After I snatched it away, he started acting as if the sheep were taking away his food. He started trying to hit my mother for feeding them and trying to hit them for eating his food. I think he was also saying no. From the side, it was very funny.

Inside, there was a cow and two llamas. The cow, Shlomik's favorite animal, was unfortunately too busy eating hay and was standing with her back to us. Trying to bribe her with animal feed didn't work. The llamas, on the other hand, were very happy to get their pellets. Shlomik was at first somewhat afraid of touching the llamas, but after I took his hand petted the llamas, he became brave enough to do it himself.

Altogether, it was a nice trip. We all enjoyed it very much and are planning on coming there again soon. First, I have to renew my membership online or at the aquarium. Unfortunately, no such option at the zoo.

Monday, August 27, 2007

UI Design: Pictures and Transitions

Last week, my brother-in-law sent me a link to a couple photos he posted on imageshack. After clicking on the link, I was treated to one of the worst photo sharing sites I have ever seen. There were three pictures setup as a slideshow. As each photo appeared, the slideshow application would zoom in on a random part of the picture. At the end of the zoom, there was a fade transition during which the next picture would appear and start to zoom in before it finished fading in. At no time was I able to view a full sized, stationary picture. There were no controls to pause the slideshow, navigate the pictures, make picture large size or view them in any normal fashion. ImageShack, you get an F-.

Most other photo sharing sites have a normal user interface that allows to view the pictures, instead showing off the programmer's "coolness." Some of these sites, however, have a very annoying feature. When you click on a thumbnail, the picture slowly enlarges. I find these transitions very annoying. It's a waste of time and only looks cool the first time, on the first site. The process of going from thumbnail to full picture, should have no delay, preload them in the background.

Online slideshows can have transitions, however, these must be fast. A fast fade or slide, as long as it doesn't waste time. Each picture should stay on the screen for a few seconds. Lastly, it's very important to include controls that allow the user to pause and to traverse the presentation forward and back. The internet is a big place, there's lots of things to see. Making users waste their time looking at your "cool" transitions in a fifty photo album should be a crime.

There is one place where transitions and viewing time can be slower. That place is digital photo frames. I have such a frame and leave it for Shabbat so that my family and my guests can look
at pictures of my son. Everybody is sitting, eating, drinking, relaxing, nobody is in a rush. This is the most appropriate place to have one to two second transitions and around five second pauses, allowing people to view the photos. The programmer must always remember, they're not there to show off their skills, they're these to make the user's experience as pleasant as possible.

Sunday, August 19, 2007

Free, as advetised

Last week I got a DS Lite. Because I was looking for bargains, I bought it separately from the game, Puzzle Quest: Challenge of the Warlords, that I wanted. The DS Lite arrived first, without a game. I knew this was going to happen and had in mind to ask my friend for some games. Unfortunately, by the time UPS brought the game, my friend was already leaving for work. I decided to see if I can do anything without any games. I went through the initial setup and found something curious, DS Download Play.

DS Download Play, as I read in the manual, is a service for downloading free content like demo games and movies to your DS Lite. What the manual failed to mention was the details. I clicked on DS Download Play and watched it trying to connect. Fruitlessly waited a couple of minutes. Deciding that the problem is my basement, I tried different location and event went outside. All for naught. I tried searching on Google and that's when I found out how deviously evil and ingenious Nintendo is. Turns out that though the service is free, and even though all other games require at most an internet connection, for you to use DS Download Play, you actually have to go to a store. The only way you can get free content for your DS, is if you go to a game store and download it there. This is a great marketing tool, forcing people to look at what's new and perhaps buy a game while they get their "free" stuff. Like I said, incredibly evil.

On a side note, I consider the fact that for 15 plus minutes, the DS showed a looking for software available for download message, is a major bug. The correct message would be "trying to establish connection." And the correct way of handling a lack of that connection is not to continue displaying that message, but rather to time out, perhaps, after 60 seconds and display an error message that connection could not be established. An even better solution would be to include instructions on how to use the feature, both in the error message and in the manual.

Sunday, August 12, 2007

No one's faster than USPS

When people hear "Government Employee" what they see in their mind is long lines and workers barely doing anything. I've seen DOT, on a daily basis, come to work at 10AM, leave at 4PM or 4:30PM and probably take at least an hour for lunch. I've seen five MTA workers install floor displays, where two of them were doing the work and the other three were standing and looking at what their co-workers were doing.

Today, I'd like to talk about the fastest of the city employees, the USPS package delivery. Yes, I did in fact say USPS. The Postal Office has lines whenever you come there and at least a 30 minute waiting period. When I needed to pick up a package, I tried coming there at 9AM, 10AM, 12PM, 2PM, etc. with the exactly same result. No matter when I came, there was a line and I had to wait for 30 minutes or more to get my package. You may ask, "now hold on, you just said that the USPS package delivery is the fastest of the city employees." You're right, I did say that. The problem is, their speed is in how fast they run from your door after ringing the bell.

I live in the basement and my door is not at the front of the house, but rather on the side and close to the back. Whenever I get a delivery from UPS or FedEx, I have ample time to walk upstairs and open the door. The delivery person is always there waiting for me. Not so with USPS. It seems that the USPS delivery guy, as a kid, used to be one of those pranksters who would ring your bell and run away. Unlike UPS and FedEx, when the delivery is from USPS, when I open my door the driver is either getting in the truck or driving away. It takes me 30 seconds to a minute to come to the door and as I mentioned before, my door is towards the back of the house. The only way that the delivery guy would have enough time to ring the bell and be in his truck by the time I get to the door is if he waited 5 or at most 10 seconds before leaving.

Next time you hear someone say that all government employees sit around and do nothing, you can confidently say that there's one exception, the USPS delivery guy.

Sunday, August 5, 2007

Lighthouse Pro and Web 0.20

One of the concepts associated with Web 2.0 is using AJAX to refresh data on a page, instead of refreshing the page. JavaScript is used to sort and filter the data and and load any changes. Today, I'd like to bring an example of how horribly wrong this can turn out when a developer has no understanding of what he's doing.

The company I work for uses Lighthouse Pro by Raymond Camden. Lighthouse Pro is an online bug tracking application written in ColdFusion. Before the move to Web 0.20, Lighthouse Pro suffered bad UI design and usability problems. One of the worst problems, and one which is still present, was that all notes got added to one very narrow textbox. The ideal way would be to use a separate table where each note would be a separate row with its own status, owner, attachment, etc. Why the notes were not implemented this way I have no idea, however, the complete lack of understanding of UI design is unacceptable. The notes textbox seems to be at default width and height making it unreadable. There are many other small annoyances. Two other problems I had with it is the 30 minute session timeout and filter settings being stored as session, instead of client, variables.

Recently, a new version of Lighthouse Pro was released. The planned move was to web 2.0, the result, web 0.20. As I mentioned earlier, filter settings were stored originally in session, now they're not being stored at all. Each time you open a bug and change status, you're brought back to the task list with all filters removed. I usually set 2 filters, one for status and one for owner. Now, I need to do that every freaking time I submit a change. Not only that, the current version of Lighthouse Pro shows bugs in reverse chronological order, so each time you loose your place and have to click through to wherever you were working. Besides the lack of persistent filters and page, the list is not actually updated live and requires a refresh to see any new bugs. The latest version not only doesn't improve the usability, but whatever usability there was is now gone completely.

If you're a developer and want to implement AJAX and web 2.0, remember, you're doing this not for bragging rights, but to improve usability of your product and to make the user's job easier. If you're adding AJAX to make your data sortable without refresh, make sure you're also using it to at least fetch data. If there's 5 filters and 10 sorts, make sure the user doesn't need to set them every time he does something. Stop designing for 800x600 resolution, either make everything scalable or at least use 1024x768. If you can't implement a scalable interface and you must have backward compatibility for 800x600, use settings and separate stylesheets for each resolution. I'm sure the user would prefer to set the resolution, even if it has to be done at each login, than having to read 2 pages of text inside a box the size of their cellphone.

Monday, July 30, 2007

I, for one, welcome our new Google overlords

Google search, besides searching for content in websites, incorporates various functions that activate either based on a prefix or on the form of the search request. I knew that these functions were present and used some of them at one time or another. The functions I used was address lookup by entering the phone number, calculator, maps, site information, word definition and currency and measurement conversions. Now all of these functions are not really related to any outside company and are not something unexpected.

Recently, I tried a new kind of search with surprising results. Having in mind the different functions that at incorporated into Google search, I decided to type in a UPS tracking number. I was quiet surprised when Google redirected me to the UPS tracking detail page. Usually, when I want to lookup the progress of my package, I have to go to UPS website, enter tracking number, click agreement box and click submit. I very much don't enjoy all that typing and clicking. Now, with the power of firefox and Google, I can just type in the UPS number into the search box and press enter. I looked up on Google's search help what else can google do. Google can give you weather if you search for "weather zip". You can enter FedEx and USPS tracking numbers for tracking information. You can look up UPC codes, vehicle ids and patents. Besides these there are also unlisted search patterns.

Some may say that these services are evil in some way or another, that Google is becoming a monopoly, I, for one, welcome our new Google overlords. The more services are integrated into Google search, the better.

P.S. as I was writing this, I tried to search for "show times transformers". Above the search results, Google presented me with a link to the Transformers trailer, movie length, average rating and link to collection of review from different sources and a form input to enter my zip code. After I entered my zip code and clicked submit, I was presented with a page within Google that showed 13 closest movie theaters and show times for the movie. I love Google!!!