Archive for July, 2006

Grey Line

I “designed” a small sample of the “experience” based on Ben Stucki’s “autoscroller”, Ely Greenfield’s “LightTable” and Sho’s “Drawer” (here is direct link : http://flexblog.faratasystems.com/scroller/Scroller.html) (it hides itself in the left side of the window, just move your mouse there)

  I think it pretty much shows the way modern interface evolved (for me) and also illustrates obvious issues with performance and bandwidth. The question about usability is going to dominate Web 2.0 apps, however, the faster the “Rich UI on the Web” evolves (the same way as GUI standards were introduced in ‘94), the faster we can get out of the current state and provide new generation of components that are in foundation of user experience for any platform.

I would appreciate any comments on the way the control behaves and how it can be improved – I believe it will be released as a reference control implementation by Farata in a month or whenever the book comes out. In meanwhile, I will build a concept application measuring “user experience” into the real application and see if it can be used to “scale” UI.

THE REASON FOR THIS POSTING 

I recently watched again ”Ajax Power Panel” with great Adam Bosworth (http://webcast.sys-con.com/read/214082.htm). Being the real father of Ajax (1997) and few other technologies that have not been discovered quite yet, it is very interesting to see the way he approaches current state of the game. Do yourself a favor and watch his debate with David Temkin on richness vs usability.

Basically the argument centers between “productivity” vs “simplicity”. Both Adam and David are great in arguing “less is more” and “give them just enough rope” with applications supporting their concepts, they both avoided finding the common ground.

I think I see the problem in both guys arguments. It came in realization while watching my 7 years old son playing Sonic games – more specifically explaining it to people that never played and watching the response.

The application has to be 3 things:

1. has to provide “Basic” mode – simple enough for novice player

2. Provide focus point – the user has to be able to concentrate on the main task without being bothered with jazzy UI unrelated to main task. THE EXPERIENCE HAS TO BE RELATED TO ANY ONE SKILL THE USER MOST LIKELY TO HAVE

3. As the user progresses (based on response time and usage), more tools/options become available on-screen - and being removed into “history” if they are not used.

 Thank you,

Anatole Tartakovsky

P.S Special thanks to my wife for excellent pictures she shared for this component ;-)

Technorati Tags: , , , , , , , ,

Comments (2)

 

Grey Line

Today I finally gave up on writing itemRenderers/Editors by hand in favor of data driven approach. Few of my postings went to different forums, I will start collecting them here. The goal is to show all sides of power offered by DataGrid and factories -based approach.

  More will emerge, for now here is the first trivial case – automating formatting of SSN, phone, currency, shortdate and anything else.

 

Define DataGridColumnEx with one extra property:

public function  set formatString( fs :String ) : void{
    var  fm:Formatter = new Formatter();
   switch (fs.toLowerCase()) {
    case “ssn”:
     fm = new MaskFormatter(“###-##-####”);
     break;
    case “currency”:
     fm =  new CurrencyFormatter();
     break;
    case “phone”:
     fm =   new PhoneFormatter();
     break;
     case “shortdate”:
     fm =  new DateFormatter();    

      break;

//……………………..
   }
   this.labelFunction =
    function (data:Object, dgc:DataGridColumnEx):String { return fm.format(data[dgc.dataField]);}
  } 

Now you can do just this in your code:

   <lib:DataGridColumnEx    dataField=”PHONE”    formatString=”phone” />

Š         <lib:DataGridColumnEx    dataField=”SS_NUMBER”    formatString=”ssn”  />
    <lib:DataGridColumnEx    dataField=”SALARY”  formatString=”currency”
   etc.     

Not much – but at least we started to move in the data-driven direction….

Technorati Tags: , , , , , , , ,

Š

Comments

 

Grey Line
Flex Builder has many convenient keyboard commands and hints that make your programming faster. You can see the complete list of all available shortcuts by pressing Ctrl-Shift-L. But this is a list of Flex Builder shortcuts that I use on a regular basis.
1.If you see a little asterisk in the tab with the your file name, this means that this file has some unsaved code changes.
2.Pressing Ctrl-S saves the file and compiles your code. If saving the file does not generate any messages, it’s the good news: your code does not have compilation errors.
3.Highlight the name of the class or a function and press the button F3 on your keyboard. This will take you to the source code of this class.
4.If some of the lines are marked with red error circles, move the mouse over the circle and Flex Builder will display the text describing this error.
5.Press Ctrl-Space to get context-sensitive help.

6.Alt + / will complete the name of the variable or a class after you typed in a couple of its first letters.

7.Press Ctrl-F11 to run the last-launched program again. Hit the F11 key alone to run the program in a debug mode.
8.Place the cursor after a curly brace and Eclipse will mark the matching brace.
9.Highlight a line or a block of code and press Alt-ArrowUp or Alt-ArrowDown. The selected code will move up or down.
10.Alt and arrow keys moves from one open class tab to the next one.
11.Ctrl-H will open a popup to search on multiple files, and Ctrl-F will let you find text in the open file.
12.To copy a class from one project to another, select the class and press Ctrl-C. Select the destination package and press Ctrl-V.
13.Highlight the MXML tag or ActionScript class and press Shift-F2. This will open a screen with the language reference help on the selected element.
14.Highlight a block of code and press Ctrl-Shift-C to comment out the selected block of code.
15.Ctrl-Shift-D inserts the block in your code.
16.To select surrounding containers, select a GUI control and press F4.
17.If your project relies on the code from external libraries, right-click on the project name, select Properties | Build Path and press the button Add SWC.

18.As you change you code in the editor, Flex Builder puts a vertical purple bar on the left of each modified line. This is quite handy if you’d like to have a quick look at the new code before pressing the button Save.

Did I miss anything? Add your favotites!

Comments (3)

 

Grey Line

Just a quick update to our ”home” version of “Trace XPanel” (download) – now with the following features:

- Trace can be [auto]saved to disk, with automatic reset of the logs on new sessions

- You can suspend and resume tracing

- Trace window can be pinned to the topmost position.

- FATAL level is added – in addition to standard DEBUG, INFO, WARNING and ERROR – any combinations are selectable for tracing

- Trace views include text format and list. For long messages, doubleclick shows selected message in scrollable popup dialog

Also:

Thanks to Constantiner 

- Trace Target object added

We are also testing the new component packaging suggested @  http://groups.yahoo.com/group/flexcomponents/

Enjoy,

Anatole Tartakovsky

Technorati Tags: , , , , , , , , , , ,

Š

Comments (3)

 

Grey Line

I’m planning to make several presentations on using Adobe Flex 2 with or without Java in New York and New Jersey this year. As the saying goes, “If you want God to laugh, tell him about your plans”, so let me put it this way: this is what I believe I’m going to be doing later this year:

1. The Real World Flex Seminar – Using Flex as a GUI RAD tool for Java Server Side Applications, August 14, 2006.

2. Using Flex 2 with Java, the meeting of New York Java SIG at Google, September 13, 2006.

3. Using Flex 2 with Java, the meeting of the Princeton Java Users Group, New Jersey, October 24, 2006

4. I’ll be teaching a hands-on 5 session evening course at New York University (School of Continuing Education) starting on November 9. This time I’ll roll up my sleeves and will be coding with the students (they are actually real-world programmers working fo various New New York businesses). My goal here is to explain the basics of Flex2/ActionScript3 and show how it can be used to create a front end piece for your business Rich Internet Applications (RIA) written in Java on the server side. If you live/work in the area and would like to have a jump start with this interesting technology, talk to your employers: they usually easily approve and pay for training at NYU, especially if it happens after business hours.

I’ll be missing a couple of other interesting Flex-related events in October, namely AJAX World (it has a Flex track) conference and MAX 2006. Go there, if you can.

Comments