Tuesday, February 24, 2009

UI design for a better user experience. I found a goodie...

I'm currently doing UI analysis on several apps. Hopefully some of them will be migrated.
Being a core developer I must confess I get a little bored if I don't see code or try a new framework, or implement a pattern; but I guess this is a good opportunity to put myself in the end user's shoes and easy their lives, if I can...
Coming from a Windows environment, my first apps were always MDIs. Now most development efforts are moving away from MDIs as they are considered very complex and overwhelming, requiring a high learning curve. See most disadvantages here.

I found a free goodie and wanted to share it: Designing Interfaces: Patterns for Effective Interaction Design

I hope you find it as interesting as I did.

There is also this very good website that documents most of the GUI design patterns, with emphasis on Web: Patterns in Interaction Design

Enjoy!

And wish me luck so I can go back to try new development frameworks soon and they bring the usability expert and designer on board :-p

Labels:

Tuesday, January 13, 2009

Excuse me, Emir Maktoum, could I please debug this small hello world app on your Surface?

The race for the multi-touch input devices has begun, unfortunately as of today, the prices are unaffordable for the regular consumers and developers that are tied to project budgets.
We all remember the GUI from Minority Report and the attempts CSI Miami* is making nowadays to show these input devices as regular, day to day available hardware.
Most of us, developers, know it will take a while till the hardware becomes available/affordable in enterprise or end consumer applications.
But the time might be around the corner.
Hopefully it will be like the IBM PC and the PC-clones stories, third party companies were able to clone the IBM PC's hardware and lower PC prices. That along with MS-DOS being distributed as a separate product, made the PCs widely affordable. No more architectures based on Zilog Z80 or Motorola 6508 (my highschool classmates played with Z80/8085 assembler back in the 80s), Intel 8085 quickly became the processor of choice, then the 16 bits 8088, 32 bits 80386 and 486 and all AMD clones.
Anyway, my point is, let the hardware be cloned, lower the prices and sell the WPF, XNA, Surface.Core APIs as a separate products. **


I just came from a Metro Toronto User group presentation about Microsoft Surface and played tetris with a few other group members. The presenter gave a great introduction to multi-touch devices and how to start programming for the MS Surface using WPF.
Unfortunately for me, I would have to email my hello world app to Dubai for debugging purposes.
It seems the price range of the Surface is about 15 to 20K. It is now used in a Casino in Vegas, some banks in Switzerland and widely spread in Malls in Dubai.

Another multi-touch/multi-user device is the incredible Perceptive Pixel Wall with range prices in the order of 100K. I wish I could get a hold of the development platform for this 100K device :-p What the heck are they using?

So far all of these technologies are under a pretty lip tight policy...It's proprietary, can't touch this. As a difference b/w the MS Surface and PerceptivePixel is the pressure perception. MS Surface being based on infrared rays and an arrays of cameras cannot perceive pressure.

Video

IPhones from Apple, even though they are not multi-user, do recognize a few types of touches and are more affordable, if you don't sign up with Rogers. I believe they use the Objective-C Cocoa framework as development API which would be pretty hard to kick off for a Java or .NET developer coming from a managed environment. I remember the alloc and mallocs from C and get chicken skin...what's wrong with being spoiled with Garbage Collection?

Enough about random thoughts, I wish I could have played Tetris for longer...


*
I'm not a regular of the show, but my mom asked me once if I developed apps like that on my workplace...Not mom, not quite yet.
**Let's see if they listen :-p

Labels: ,