Mon, Sep 7th, 2009
posted by JC Pontaza 07:09 PM

There are many things you have to consider when you are trying to reduce the sfw file size. There are many obvious solutions like modularizing your application so your main application will load only the common code for an standard user and separating the rest in logical pieces, but you have to understand a little bit of how the compiler works, but basically understand that the compiler will pick and package only the necessary classes for that specific module or application, so is not just separate and compile,  you have to design how are you going to compile and ship your application.

But this time I want to talk about embedding images, recently on a project I am working on I stared trying to reduce the application size. I found many reasons why the application was needing this, but embeddings is the easier to find.

We know embedding images increase the size of the file, but thats not it, make sure the image is not embedded more than once. This application was using the same images across the app like am other, but the problem was that every time they wanted to show it, they were embedding it again and again. That’s a very common mistake, since many developers might thing that by having the image on the source, will add only once, but if you check the generated code you will see that the image is been serialized every time you embed it. To solve this problem there are many other solutions, but the easier one at this point of the project, the easier was to create a singleton class called, IconGetter that embed the application images once, for example:

private static var instance:IconGetter = new IconGetter();

[Embed(source="logo.gif")]
[Bindable]
public var logo:Class;

[Embed(source="broken.gif")]
[Bindable]
private var broken:Class;

public static function get instance():Singleton
{
return instance;
}

public static function getIcon(name:String):Class{

 var icon:Class;

try{
icon=instance[name]
}catch(e:Error){
icon=instance["broken"]
}
return icon;

}

I forced the variables be name with the same image name to return the right image based on the name rather than writing a “case” sentence to find it, the developer just need to know the image name. Another advantage was that this class could be generated with a java class looping through the images..;-)… plus it was going to be easier to “find and replace all” the current embeddings for the new static function call. But if you think about how much you can reduce the size of your application, is worth the effort, plus now you can move this class to a separate library and make it a RSL library to load it only once.

The RSL library depends on the application and needs to be evaluated if is beneficial for that specific case, RSL’s are not always better in some cases. We will write something about it later.

Thu, Mar 5th, 2009
posted by JC Pontaza 03:03 PM

Last week attended to a training called “Flex for Enterprise Architects ” with FarataSystems and i seriously recommend it to other Architects to see all the tricks they have learned and use the ones that apply to your project. They have a lot of experience on trying to deliver “real time” data because of the type of clients they have had. Also they shared a good chunk of tips about modules and application size optimization.

One of the best parts of the training al least for me was the Flex patterns, they talked about some of the patterns that they have found in their experience, i guess there are more around, but from my point of view this is what is lacking on Flex. Thre are no patterns or guidelines, you can do the same thing in 100 different ways, but nobody is saying what is the best or the correct one.

Another thing that “again” was very obvious was the lack of a good Flex framework. Everybody or almost everybody was complaining  Cairngorm and others were looking for a good framework to use, but not even them are willing to take the risk or recommend it, actually they remove or try to remove it from their customer applications. Is understandable, you don’t have to be a rocket scientist to find they issues you will have in long term with it. They have a very good comparison of Flex frameworks, that’s the only place i got a little confused, they imply that you don’t need a framework to build an application, and i agree if you are building a very small application, but if you have a development group of 5 or more and a big application you really need something. I have been working and building frameworks for several years already, and i designed and build a Flex framework for the same reason (there isn’t a good one out there) and i have seen the difference that a good framework can do. Imaging all those applications build on struts been build without it…Actually they are building a good set of utilities to facilitate development and i think they would be very capable team of people that can finally build the most wanted Flex framework. I wish i can share my work with the framework but you know how this works, is the company code and i cant just open it to the public, but i hope i can eventually do somethingon my time and give something to the flex comunity.

But if you ever get the opportunity to go to a training, you are a strong Flex developer AND you have the option to propose or make decisions about your project, its definitely worth it.

Thu, Mar 5th, 2009
posted by JC Pontaza 11:03 AM

After an introduction to channels with FarataSystems guys and their explanation about the difference between them, i came back wondering what would be the best channel communication option for my current project and i found a very good blog post that outline every channel configuration you have available on BlazeDs and LCDS. If you are working with any of these , you will really appreciate the work that Damon Cooper put on it.

You might need some additional knowledge about protocols and connections, but if you don’t know about it, then it will be even better so this blog will lead you to learn some more stuff.

Wed, May 28th, 2008
posted by JC Pontaza 05:05 PM

I have been looking for something like this for long time and i think i wasted a lot more time looking for this, than the time to took me to build it, its actually a very simple way of laying our the components, but very powerful when you are writing corporate or form based applications. The question is simple, how can we have a multi colum form component, i am wrting a Form component that will have a more powerfull layout, holds data, reset and validate the content, but this time i just wanted to share this way to layout a multi column form, i will share the full component once is done, otherways the post will get too long. So this basic layout has to modes, one is Column mode and the other one is Direction mode ( dont orget to right click to see the source code).

Its basically reusing the form component and aligning them using boxes, i don’t know how useful is this for you, but if you are interested on the full component, let me know.

Wed, Apr 9th, 2008
posted by JC Pontaza 09:04 PM

I think I saw this application some time ago, but it looks like is been improved a lot, this is one of the most interesting Javascript exercises I have ever seen, very impressive!!!. I haven’t had the chance of follow the code, but i downloaded it and is very small for the type of application,  if you have some time, I bet it would be really interesting to take a look at it.

Thu, Apr 3rd, 2008
posted by JC Pontaza 10:04 PM

If you ever had to work on a project where the performance of your application is a big issue, i guess you know about the Yahoo Best Practices article. It is a really good article, definitely you will find something useful on it,  also you will find other things that in theory  sounds really good but on a real application is not that simple to do for the amount of work that it means. The news is that they released a new set of rules that sound really interesting and you might want to take a look at. Some of them are things that we all know we should do, is just that if there is no rule about it, not everybody follow it, like pre-loading and post-loading, or the problem of having too many DOM elements. Another one really interesting is the Split Components Across Domains, for example this means that you should try to load resources from different domains because IE only open two connections per host, so if you point some javascript files to www.myweb.com and the other set of files to www.sub.myweb.com IE, you will be able to load 4 files at the same time. This one seems to be really interesting but is not as easy as sounds on a big enterprise application but is OK for a website. Take a look at the link to get more information about it.

Sun, Mar 30th, 2008
posted by JC Pontaza 03:03 PM

Today I was reading an article about UI Design, and I dont know how I ended up on this website and this guy, Nadeem Shabir is making making really good points about why generally “we think” that programmers are bad at user interface designers. Basically I share with him one point, that I explained on my previous post: Is not that programmers are not good at UI Design, at least not all of them, there might be some really good UI Designers behind those lines of code, but is just not their job to make the application look good, their job is to code it well, with nice and clean code, meeting the requirements given to them, their concentration is on the mechanics of the application, not in a UI design. I only disagree with him on one thing: I agree that they have to be taught the importance of User Interface Design and User Interaction Design, but I don’t think developers should be encouraged to learn about it, I think this is a specialized skill and even though some of them might be capable to do it, is not their job “unless” is a small project where you cant afford a UI Expert.
This work has to be done for a person that the olny concentration is and has to be making an nice and usable application without thinking about how difficult or easy its going to be, they just have to design the application based on what it is possible keeping in mind the limitations of the chosen technology. So if you are a developer and work on a small/medium size application where there is no UI designer will not hurt you to learn about UI Design and volunteer your self to do the job, I bet you, you will get noticed above the rest of the developers.

Sun, Mar 30th, 2008
posted by JC Pontaza 01:03 PM

Adobe is working on a project that will allow us to run code written in other languages like Java, C and C++ inside the Flash plug-in. We know that ActionScript is the programming language of the Flash Player runtime, so the idea is basically cross-compile the code to ActionScript.

To tell you the truth i don’t know if this will be beneficial or will just become complicated and buggy, but while we get to see the results of this project, is plain to see that the Adobe guys are trying to get closer to all type of developers and is another sign that Flash/Flex technologies are here to stay.

Take a look at this link to read the article.

Thu, Mar 27th, 2008
posted by JC Pontaza 10:03 PM

I am a father, a husband, an amateur photographer and a runner that has been around web applications for many years already, passionate about client technologies, user experience, usability and UI Design. I love to research and learn new stuff, I enjoy to design and work on good looking applications, but I like to go beyond that, acting as a UI Architect, designing the whole client side application, writing frameworks and API’s that will speedup the development phase and application performance. I truly believe that working hard and pay attention to every single detail makes a huge difference and makes an application successful, from serverside connectivity and network packets to a pixel perfect layout.

This website is just to share my thoughts, experiments and things that I find interesting on the web. A lot of times while researching or reading something we all find very useful stuff, usually I just add it to my bookmarks and then I forget about it, so I got tired of keep looking for the same stuff over and over and I decided to create this blog to store all those interesting links, articles and thoughts to share them with others.

LinkedIn
Twitter
My Photography

Tue, Mar 25th, 2008
posted by JC Pontaza 10:03 PM

We all know how important the User Interface Design is, technology alone will never get the user acceptance and subsequent marketability. We have to agree on this, that’s the end product, that’s what the user is going to see and they will never know what’s behind that nice or ugly screen that they have in their monitor.

We have seen a lot of good projects fail because the application is ugly, is cumbersome, is not easy to use, or usually the user claims that the previous one was better, the reason? A bad User Interface Design. Usually this happens for two reasons, one is because a lot of people do not take the UI seriously, we always hear people saying that UI Design is just picking a nice color and anybody can do that, let me tell you something, it is not. And the other reason is because the lack of real UI Designers. Some years ago when applications were just flat, plain HTML it was OK to do the design on HTML , PowerPoint or even just on a peace of paper, but not any more.

I have seen a “UI designers” that the only thing they do, is pick nice colors and use a little bit of common sense and if this is your case, its time to start looking for technology books and help to build a good looking, useful and easy to use applications, exploiting all the current technology advantages and help the UI designers the credit they deserve, instead of just keep looking at that nice, thin and cool Mac. If you think you job is just make the application look good, please change your title and go back to build good looking websites.

Building applications is not the same as building websites, when you build a website you just need your HTML editor, Photoshop or whatever you use, plus good taste, that’s it. Currently you don’t even need to know HTML, I have seen people working on UI that the only think they know is drag, drop and right click, you don’t know anything about how powerful or powerless the browser is.

Thanks to how technology has changed during the last few years, to be a User Interface Designer, Interaction Designer or a User Interface Architect, you need a lot more than that good taste, nice cloths an IPhone and the coolest Mac. Web applications are way more powerful, they are not static any more, we have AJAX, .NET, Flex, etc. and if you just said AJAX? Flex? and you dont know anything about , there is no way you can design a application exploding current technologies, making available useful features to the end user, and at the end your application will look like an application from the 80’s.

For example if you are working on an application that manages customer information, and you have to design a screen to create a customer. Before you used to talk to the customer, business analyst and user to build the persona, then create a HTML mockup, a document, then try to get the approval, etc, etc.. Then the developer would use that mockup to build the screen, there was nothing that the developer could do to mess it up, but now, let’s assume that the technology is JSF with Ajax support, where listboxes can get loaded without submitting the page, or make an Ajax call to return HTML and replace just a peace of the page, use some advance techniques to hide show content, etc. I am not saying that a UI designer needs to know how to do it, but YOU NEED TO KNOW WHAT IS POSSIBLE FROM THE TECHNOLGY PROSPECTIVE, because if you don’t make that as part of your design, believe me, the developer will not make that decision for you, do you really think a regular jsp developer will say?, “you know what? After loading the header of the Customer, I will disappear only the detail part of it and using AJAX I will bring th rest of information and hide this other one to make it user friendly ”, the answer is no, they will not do it, because they thats not their job, its yours as UI designer, you have to know how far you can reach to be able to make those decisions. Or if the application is using Flex, and you don’t define when to use, fades, transitions, effects, etc, the developer will not do it, thats why you need to know about the technology, otherwise let me tell you that your applications will be another one that we will see going down.



 

Twitter

Categories

My Photography

  • portia de rossi picture civilization
  • mel smith head suicide 1919
  • buy luc robitaille jersey tanker
  • joaquin phoenix interviews coax
  • lydia cornell married hanes
  • leon taylor writer mariposa
  • mia tyler profile nexus
  • brian newman tx pilot meteor
  • lindsay crouse nude albums
  • erykah badu chords qualifying
  • dick butkus fedex commercial maths
  • jack nicklaus history oils
  • james arness website welcome
  • barbara rush hope mills nc cosco
  • gordon ramsay restaurant in ny coleman
  • carly simon you belong to me amplifiers
  • steve guttenberg hairy chest pictures pitbull
  • thora birch scene wrote
  • kellan lutz pictures creater
  • christopher guest sexy preamp
  • marina sirtis feet toes addiction
  • scott michael foster photos beth
  • tankless creedence
  • youtube john cena v jbl starts
  • hyapatia lee photos carrier
  • kyle maclachlan naked spirit
  • returned admission
  • davy jones in a bucket calculus
  • fred hammond lyrics bread of life boca
  • peco inexpensive
  • amanda detmer pink bra pic dice
  • foxy brown gotta home vegetable
  • corinne bailey rae bio okidata
  • joan osborne guitar chords tabs canary
  • teeth prizes
  • tasha tilberg img sauer
  • leif garrett 1970 s pixels
  • laura benson phyllis benson views
  • alicia keys gangsta lovin suppressor
  • morgan brittany nude bearings
  • russell crowe home desk
  • scarlett johansson with nothing on derivatives
  • wally amos watermelon hats windmill
  • amy anderson escort rechargeable
  • dominic chianese o sole mio ballet
  • glenda jackson pictures video quark
  • standards marks
  • maya rudolph saturday night live period
  • emilio estevez film administration
  • who will floyd mayweather fight next scrapbook
  • nona gaye tattoos armor
  • you lost woody austin admit it failed
  • doc brown nothing to lose decor
  • maria bartiromo predictions mechanism
  • is richard beymer gay hilo
  • esti ginzburg gallery pasadena
  • patrick macnee birthplace orchids
  • cheyenne jackson bio interiors
  • erik anderson seattle wa creatinine
  • download loose ends free gallon
  • kimberly stewart pharmaceutical rep vendors
  • mary alice nelson archambaud crock
  • randy bennett saint mary's quotes brainerd
  • marlee matlin frontal nude setting
  • is ethan embry gay classification
  • john boehner healthcare longevity
  • derrick brown cypress tx networking rowland
  • and david caruso 11 05 2007 waynesville
  • sam waterston in blue jeans lipitor
  • keith richards house madame
  • kelly adams actress eaton
  • joanna kerns nude bathtubs
  • cheaper panini
  • colin powell in dallas airgun
  • monica arnold myspace layouts actuators
  • linda day florida realtor sphere
  • callum blue shirtless codex
  • new soul yael naim song lyrics arrowhead
  • mrs mary walsh queensland click
  • eliza dushku sex sxene january
  • bixby psychics
  • melissa sue anderson skatetown ativan
  • sheryl lee ralphs wedding francis
  • todd peterson minneapolis lani
  • gay jim parsons nude kenedy
  • jolene blalock playboy pics micheals
  • bob dylan and guitar tabs dominica
  • jillian barberie sex tape xanga
  • kelly willis cds billboard
  • kristine w breathe mp3 barrington
  • sean penn movie credits brokers
  • sean lennon lyrics friendly fire footer
  • wesley manufactured
  • maxima solidworks
  • frank skinner tree lions 98 nightclub
  • honesty coaching
  • who is mickey gilley marriet to beetle
  • offical michael biehn fan club aero
  • cameron mathison gay cove
  • joanna cassidy children trusts
  • dj sasha on tour customs
  • sandblasting neve
  • hundred scams
  • samkon gado packer jersey cedric
  • snyder pills
  • liam neeson taken trailer hillary
  • eric reid lsu boring
  • chris pine scar eyebrow rectangular
  • the flamingos i only have eyes scored
  • doris day teachers pet guitar tabs capri
  • lara fabian immortelle lyrics in english gasoline
  • kristina fey cars trip lightbulb
  • priscilla barnes devil rejects pitchers
  • pic of angie dickinson daughter woofer
  • david faustino penis large owasso
  • samantha fox at freeones lionel
  • nathalie kelley smoking cigarettes checking
  • mavis italiano
  • stargate richard dean anderson deco
  • mandy patinkin showcase camcorder
  • lleyton hewitt naked guardians
  • thanksgiving optimum
  • julie walters bill nighy costars gels
  • frank miller flash reed
  • dylan moran drawings clawfoot
  • ruth buzzi jim neighbors wigs
  • david henrie shirtless 2010 fibre
  • glenda jackson prophetess concepts
  • doug reid tiverton sundance
  • dracula dani
  • doug bradley indianapolis dogfood
  • optimistic sounds of blackness lacquer
  • kim cattrall sexual intelligence shape
  • chuck berry golden decade album senate
  • rebecca robinson prize speaking content
  • melissa auf der maur lyrics lockout
  • spencer tunick photos 2002 conventional
  • james blake interracial marriage operator
  • clifton davis philadelphia kaiser
  • kelly hu stood barefoot replacing
  • chuck mangione free sheet music paraguay
  • combat mortal
  • nicholas brendon nude furious
  • catastrophic midis
  • forrest gump pictures haley joel osment accessory
  • claire forlani in pantyhose augustine
  • crissy fabulous
  • cinemark valley view cleveland guages
  • novotel threaded
  • carmine giovinazzo naked reciprocating
  • spree starts
  • michelle rodriguez college stimulate
  • jeff green martinsburg west virginia pointer
  • filmography john phillip law judy
  • nicole scherzinger cd release taupe
  • martin kemp serious and organised giclee
  • cassidy rae mature volcano
  • poppy montgomery actress molds
  • cubic fueling
  • maine meg mego megan kelly mcbrady archery
  • fat joe get it popin ginger
  • omen brownies
  • cory booker inauguration vault
  • wwe mickie james pussy documentation
  • mary mcdonnell biography butterfly
  • avram grant chelsea sweaters
  • illustration exclusion
  • kirstie alley movies she's been in dateline
  • waterbury telnet
  • serena ryder concert horsepower
  • rona barrett photo receiver
  • richard berry louie louie free download false
  • claudia black michael shanks cessna
  • holly madison show in las vegas beryllium
  • dave ball heating air choose
  • colt brennan and redskins preseason cheyenne
  • halle berry and monster's ball heaviest
  • greta scacchi nude gorilla
  • google google