Friday, February 15, 2008

Back To Blog

Coming back to a blog after a long break is like coming home after a few month of traveling. Everything seems to be just as you left it, but is somehow distant. You blow the dust off the old posts, carefully arrange the cards with post ideas you have accumulated during the leave and marvel the feeling of being back home again, really nice feeling.

I have been really busy lately, is the excuse I choose, but I am back and there are several issues in my backlog. First however, I will dedicate some time to current issues related to usability mostly. The first one is called "Equality and Usability".

Tuesday, October 23, 2007

I am blogging this

Here we are in Montreal. OOPSLA 2007 is on the way.

After two days of workshops tutorials and great weather, we are today in the first official day of the conference. So far, it was OK, but my expectations are high. There are about 1250 people from all over the world, I guess some of them will have some interesting insights and ideas to present. Our presentation is still two days away, but we are mostly ready.

We also took some time to explore Montreal, which was very nice especially in a view of unbelievable 24C heat. I will be attaching a pic or two when I get the time.

Stay tuned :)

Friday, October 5, 2007

Mac and PC: End of the battle

I have got a Mac recently, I actually wanted one for quite some time. Before I got a Mac I was, for a while, a part of the ongoing discussion on Mac vs PC comparison. I was reading posts on the subject, listening to podcasts and marveling the Steve Jobs keynotes. I was getting a lot of how Mac was better in so many ways and so on and so forth. Until I got a Mac of my own and discovered a very important thing about a Mac and a PC. They are exactly the same.

What??? Yes, yes. They are. In every practically important aspect they are exactly the same.

Here is the list of examples that I came up with.

Apple is bragging about Mac OS X not having any viruses. I haven't had a virus on a PC for seven years now. Apple is bragging about the ease of use and how things just work. For me, using Windows XP is just as easy and stable. Design flaws? They both have some. See the window switching on Mac OS X, it's really horrible.

Media? Same thing. Yes, the Mac comes with a remote and turns into some sort of media center, neat indeed. But don't get me started about iTunes or Quick Time, they are incredibly bad. So in the end I use BSPlayer on Windows and VLC on Mac and I use plain old folders to keep my stuff.
Development tools? Well, eclipse runs everywhere. I had hard time finiding a good text editor for both. I settled for UltraEdit for windows long time ago, on Mac I am currently on jEdit which is not that good but it does the job.

The Office suite is almost the same, so are all other productivity tools which for most of the world are online anyway. Yes there may be some amateur editing apps bundled with every Mac but for the heavier stuff you quickly move to the very same Photoshop and more professional video editing software.

Speaking about hardware, sure Macs are pretty, but there are beautiful PCs out there as well. Sony makes some great looking notebooks and for the desktops there are great looking cases coming from Thermaltake and Antec, not to mention modds and customs. Glossy displays have also become a common experience today as well.

That's enough, though there is much more. To sum this all up. Regardless which platform you get, you will require a lot of tinkering before you get it just the way you want it for this period of your life, after which it is a smooth ride until something changes.

For all practical purposes, Mac and PC are exactly the same.

Changes

There are some changes around here so it's about time they got to this blog as well.

First of all, I have changed my workplace. I will not talk about either my previous or my new place of work as of right now, but one thing that has on this blog is that I am no longer developing eclipse plug-ins. For this reason, the topic of this blog will change to more general issues. Usability will, of course, remain one of them, but others will follow. Eclipse will also not be abandoned since I remain a great fan of the platform as well as it's evangelist and supporter.

Second, I have decided to write more often than I did before, therefore expect more smaller and less technical posts. It's not that I have more time on my hands, it's just that I feel the itch. We will see what will happen next.

Third, I am writing this on my new Mac Book. Yes, I have joined the fine cohorts of Apple users, but don't worry, I will not join the Microsoft critiques or Apple fan boys. In fact, I will not write too much about the whole Win / Mac comparison theme, except for the next post in which I will explain my position on these issues. So it will be quiet on that front unless something really exceptional comes along.

Well, this is kinda it. So you have been warned :) Keep on reading.

Thursday, October 4, 2007

OOPSLA 07'

If you want to learn eclipse plug-in development, we are giving a tutorial at OOPSLA 2007 in Montreal. The tutorial is called "Developing plug-ins and applications on eclipse platform", it's number 49, on Thursday afternoon. There are still places available and the registration is almost over so hurry up. Together with Amir Kirsh, we will have a beautiful presentation, comprehensive eighty page long companion and breathtaking demos. We will cover GEF, RCP, SWT and jFace, all this on the new eclipse 3.3.

It will be fun, so you are all welcome.

See ya there.

Tuesday, August 21, 2007

Oh, I just want it to work as, you know, in Explorer

"I mean, is it too much to ask" said my product manager. All she wanted is to be able to rename an element in the tree viewer we have in our application. "Just like in Windows Explorer", she said.

Right.

In Explorer, when you click an element and then click it again, after some time, an in place editor is opened allowing you to rename the file or directory. But if you click fast enough, the system recognizes this as double click and performs the associated operation (i.e. opens a file or enters a directory). We wanted to do the same in our tree control.

At first it looked easy, the Internet is full of examples of how to add an in place editor to the SWT Tree control. However, problems began when we tried to determine when the editor should be activated. It should be when the same element is selected twice in a row, but not it should not happen when the element is double clicked.

Now, I have to admit, I am a little confused since there are two different types of events. There is a Selection event, which can handle both single and double click operations. There is also a MouseDown event, which also can be used for this purpose. In addition it is possible to monitor events that occur in the jFace TreeViewer or the underlying SWT Tree control itself. Very confusing.

First attempts left us with buggy, inconsistent behavior, nowhere near our Explorer ideal. We had problems with activation, the double click still activated the editor. We also had different problems with TRAVERSE_ESCAPE event due to the fact that we did not know how to correctly handle FocusOut. It was really frustrating.

I would like to present a solution which seems to satisfy all our requirements, though I admit it is not a peak of beauty. It does seem to work, however, which in our line of business is a plus.

The solution is based on a single SelectionListener implementation attached directly to the Tree which handles both single and double clicks (through widgetSelected and widgetDefaultSelected methods). In addition we remember the last selected element and whenever a double click is recognized we raise a special flag. The purpose of this flag is to avoid entering the editor in case an already selected element is double clicked.

Each time widgetSelected is called, it updates the last selected element and then waits for about half a second. It then checks whether a double click flag is up, and if it is not, opens the rename editor. After the editor exits, the flag is reset.

I really hope there is a better and shorter solution which provides the same functionality, I did not check Eclipse 3.3 yet, I hope it is there. In any case, if you need this solution add comment with your email and I will send you the source. It will also be available for download from here as a part of the new RadView Reporter. Look for version 10, it should be there in about two weeks. You will be able to find this code in the TemplatesView class.

Sunday, August 12, 2007

Would you trust them?

Several days ago Steve Jobs announced a new line of iMac computers, beautifully designed, thinner than ever, great products for those who care. Not only are they a better value than the old ones, but the 17" model was replaced by the 20" one for the same price. Clearly no one in his own mind would buy an old iMac today, wouldn't he?

Not in the opinion of this, large (by local standards), computer store chain, here in Israel, who keeps advertising and selling old iMacs on their site without a word of warning. I am really interested whether one of those was sold these days. I bet there weren't any, since Apple users are generally perceived as an knowledgeable and updated bunch.

Yet, if this obsolete piece of machinery sits happily there on the site, then what could we say about less celebrated computer related products. Hard drives, cameras, computer monitors? Would it be nice to buy a 22" display just to find out that a better model is already out for the same price. Not keeping the site updated, just teaches the consumer not to trust this store and its site and always double check everything.

Clearly not a reputation you want to have.