Archive for the 'Software Development' Category

Mr. Webdesign (Andy Rutledge)

Wednesday, September 24th, 2008

Deixo de seguida o link para o blog de um dos mestres da usabilidade na web, assim como para alguns posts que se destacam pela importância do conteúdo.

Este senhor foca-se num dos pontos mais importantes do webdesign, um que é frequentemente ignorado, “webdesign é um meio de comunicação, não uma aglomeração de informação desposta de forma agradável ao olho”.

Design and Meaning => http://www.andyrutledge.com/contrast-and-meaning.php

Amazon Redux => http://www.andyrutledge.com/amazon_redux.php#fragment-2
Google Redux => http://www.andyrutledge.com/google-redux.php#fragment-2
Ebay Redux => http://www.andyrutledge.com/ebay_redux.php#fragment-2

Microsoft is dead

Tuesday, May 6th, 2008

Old, but brilliant post.

 They still think they can write software in house. Maybe they can, by the standards of the desktop world. But that world ended a few years ago.

Ruby on Rails Scaling

Sunday, May 4th, 2008

Just came across with this article about RoR scaling issues. 

Some quotes:

When it comes to handling massive HTTP traffic, you can scale a Rails application horizontally just like any other by replicating your front-end web servers behind a load balancer. There’s nothing about Rails that makes this more difficult than with any other technology.

So if you don’t know how to scale with Java, C# or whatever you’re using… it’s useless to point your finger to RoR.

There’s a lot of different things that can slow down a web application. Rails makes it easy to get your application running without worrying about any of the performance issues, and that’s a good thing. If you ignore everything about performance tuning, you’ll still have a working application, and from there you can tune. There’s little point in tuning for performance before you have something that is successful for a small group of people. And if you focus on building an optimally scalable site and end up late to market as a result, you’ll have achieved nothing.

Bottom line: Build traffic first, worry about performance later. Comments?

Better Web Application Framework

Saturday, December 1st, 2007

 A collegue just passed me a screencast of Sean Kelly who describes the different available frameworks for developing web applications. The chosen technologies include Java (JEE), Ruby on Rails, Django, TurboGears and Zope, I believe.

Although I find the first examples on Java a little bit “tendencious” since he doesn’t use any IDE or help tool for writting the XML files, writes an Hello World in a Servlet (which nobody uses this days) I find the conclusions very interesting!

Enjoy

Java and Web 2.0 Applications

Wednesday, November 28th, 2007

This article explains all my toughts about how JEE is not fit for developing Web 2.0 based applications and why we need to use auxiliar frameworks that are not Java standard (Like Spring, Hibernate, etc.)!

Web 2.0 applications developed using standard Java™ Platform, Enterprise Edition 5 (Java EE)-based approaches face serious performance and scalability problems. The reason is that many principles that underlie the Java EE platform’s design — especially, the use of synchronous APIs — don’t apply to the requirements of Web 2.0 solutions.”

In a Web 2.0 context, mash-up applications frequently use services and feeds exposed through an SOA’s service APIs (see Java EE meets SOA ). These applications need to consume services in a B2C context.”

For me, this also explains how frameworks like Ruby on Rails that were built with considerations of this new trend of applications, have a huge success on the development of Web 2.0 applications!

Enjoy: http://www.ibm.com/developerworks/java/library/wa-aj-web2jee/index.html?ca=drs-

JPA and Rollbacks…

Monday, April 30th, 2007

David Van Couvering has a nice article on JPA and Transaction Rollbacks

I haven’t got to the point where I’ll have this kind of problems, but I guess this post is a good reminder that someone else have the solution to a problem that I don’t have yet :|

Are JSP really Dead?

Friday, April 20th, 2007

Just came across this article about how JSP are dead and asked myself if the author as a good point or not.

One thing is for sure, most of JEE technologies (EJB, JSF, etc.) are sure like cannons to kill flies, and makes me wonder if JSP is on that package and I have’nt noticed since I’m so used to using them…

Guess I have to give a try to Freemarker

Fluir

Monday, March 26th, 2007

Fluir is a website about Feng Shui, in portuguese, developed by RUPEAL and Ana Vieira.

After two months of part time development we’ve published the website, and we leave here the link for you to appreciate.

Alexandre Gama asked us to develop a website where he could introduce himself, his work, Feng Shui and what he does. Check it out and give us feedback!

The website was developed in Java, using the Spring framework and jQuery library for javascript. The webdesign is from Ana Vieira, who is our designer! She’s quite talented, don’t you think?

Hope you enjoy!

Note to self:

Don’t reinvent the wheel! Next project we’ll be using Wordpress. Have any suggestions for other engines to quickly build this kind of websites?

PS: 

If you find it awkward that the site doesn’t have many projects on the portfolio, it’s because Alexandre is still to upload them!

jQuery and Java Server Faces

Friday, March 9th, 2007

I honestly love jQuery javascript library, and absolutely am disappointed with JavaServer Faces (JSF).

jQuery is a neat library, that eases the javascript development, by enabling CSS (and other) search capabilities.

For instance if you want to change the background color to red for all items with the class “myClass” you just have to query $(".myClass").css("background", "red");.

I’m not going to go further on jQuery since there are a lot of tutorials out there. My problem was when I was trying to integrate jQuery with a JSF application. JSF as the neat “feature” of generating id’s for all our rendered components based on the view (or subview) which the component is on.

So if I have a <h:inputButton id="button1"/> the generated id will be view:button1. Which causes a main problem when you want to apply CSS styles to this element. You can’t simply add style to #view:button1 because it’s not CSS valid. And for making it worse, you can’t query using jQuery for this element to… so you see where I’m getting at.

The solution I found was to use the j4j Tag Library idProxy to generate a chosen id for the components we want to manipulate via jQuery. The j4j idProxy generates an invisible span (I believe it’s label or a span element) with the id we wanted, and a title of the JSF generated id for our component.

So for our later inputButton we would replace with <h:inputButton id="button1"><j4j:idProxy id="myButton"/></h:inputButton> and get a <span id="myButton" value="view:button1"></span> right beside of our rendered inputButton component.

But still, this is not enough because if I want to manipulate via jQuery the input button we still have no way to access our component! So we need a javascript function, let’s name it jsf() which receive a <j4j:idProxy> generated id and returns our JSF component jQuery object!


function jsf(id){
//Finds the j4j Element and retrieves the ID of the target component which is stored on the title attribute
realId = document.getElementById(id).title;

//Finds the JSF component
var element = document.getElementById(realId);

//Returns an jQuery element based on the DOM element of our target component
return $(element);
}


And voila! Now all we have to do to use jQuery on a JSF web application is to put the j4j:idProxy on every JSF component we want to manipulate and use the chosen id with the jsf() javascript function.

Java on the Desktop

Thursday, March 8th, 2007

Just bumped into this article about Java on the Linux Desktop.

It seems that the Linux community is discovering that the open source Java platform is the ideal plaftorm for developing desktop applications for Linux. For me it’s an obvious choice considering that the other option is Mono (.NET).

Is Java (finally) becoming the dominant platform for desktop applications development?