Thursday, February 08, 2007

Become a Gourmet Dog and a True Believer

If you are creating a product or providing a service, if you can, make an effort to be your own customer.

At our company we have always been "eating our own dog food" - we take advantage of the products we create to improve our internal processes. Not only we do that, but we also "practice what we preach" and manage all projects with an Agile Methodology.

This has been helping us to constantly improve both the way we work AND the products we provide.

Friday, February 02, 2007

2 new bloggers from my office

After António, Paulo has also started blogging.
The internet will be richer now.

Wednesday, January 10, 2007

The King of Technology Marketing


Steve Job's last keynote was so good that I actually believe the small glitch with the clicker was rehearsed so that it wouldn't be too perfect. It was just perfect.

The 1st Phrase of an Highly Annoying Programmer

#1 - "It's what Martin Fowler does/says"

I've just read the The 5 Phrases of Highly Annoying Programmers after writing my last post :)

Wednesday, December 27, 2006

Stereo Vision Improves Developer Productivity


Unlike Martin Fowler, when I am asked how to improve software developers' productivity I show the OutSystems Platform working.

But I have to agree that big screens are also a very good help. Pair programming is a lot easier with 2 huge CRTs than with a single small LCD.

Monday, November 13, 2006

A History of the Future

In July 1997, before the .com bubble, before 9/11, before Bush, Wired was a bible to my belief in the power of technology.

There was this whole issue telling us how bright our futures would be:
The Long Boom: A History of the Future

Althougt most of it has alredy proved to be wrong, I'm still the same optimist I used to be.

Monday, July 31, 2006

back to where I once belong

I'm back at OutSystems.



It was the coolest start-up in the world when I left, and I must confess I was afraid that it had changed.

Well, it has. It's not a start-up anymore, sales have been growing at an incredible rate, and more and more people have been falling in love with the amazing technology.

But the best part for me is feeling that the new guys that have joined the team are at least as good as the people who where working there before - and that is really saying a lot.

Oh, it's good to be home.

Sunday, March 26, 2006

push me / pull me

I've read the "The Design of Everyday Things" not a long time ago.

The edition is poor but the contents are still very good.

The coverage of the classic usability problem about push/pull doors made me grin silently.



In Portuguese, my native language, "puxe" (that's read like push) actually means pull.

When I see any door I stand there for 3 seconds thinking before I do anything, and then I'll do exactly the opposite of what I need to :(

Thursday, February 16, 2006

Speed is the unstated requirement

I hate unreadable code. So, whenever I see developers doing things like using StringBuffers instead of plain vanilla strings to make a couple of concatenations and tell me it’s to make the code run faster, I start to get nervous.

And very ugly problems have been caused in the name of speed and scalability. Remember when everyone was high about distributed objects? The fever is back again with xml web services in service oriented architectures. You wouldn’t believe the amount of useless serialization and deserialization I’ve seen in some systems.


But speed is one requirement that users will not state explicitly (like easy of use). If they do, it’s because the problem has already reached scary dimensions. And we need to understand that speed will play a major role in the likeability of our applications.

So optimize often. Optimize well. Be fanatic about speed.

Thursday, February 09, 2006

A day in the life...

This morning at work we discussed and sketched a class diagram and an entity diagram on the whiteboard. With hibernate we tend to think just on the class diagram, but some of us still need to think in tables.

After we started implementing it, we remembered that the information would have to be remoted across to the client. We would also need to create the admin interface to manage this and some db script to provision default values.

We used the eraser on the whiteboard and decided that we would implement those collections as hard coded enumerations and let our code generator handle the conversion from Java to ActionScript.

We will only have one early adopter client for the next few months and there were no real requirements to make this easily configurable yet.

A comment from a colleague of mine:


- In uni I would never have imagined that I would have a nice class diagram and entity diagram defined and that then I would want to dumb it down to an hard coded enumeration!


Hard coded values are not bad: hard coded unorganised values are bad.

Also if we had used word or visio to create the diagrams we would have felt that we needed to implement it the way it was first drawn. Whiteboards rule!

BTW all the logic and most of the complex UI has been successfully pair programmed today based on the specs that we had discussed yesterday with the client. Agile methodologies rule!

Saturday, January 07, 2006

The "new" Small Business Server 2003

Today I've received an email from Microsoft about the new Small Business Server 2003.

Have they noticed it's 2006 already?

This naming strategy worked when they were a fast company and wanted to make us feel we needed to upgrade.

Now it just shows how slow and bloated they have become.

Wednesday, January 04, 2006

Tuesday, December 06, 2005

A good IDE is worth a 1000 praise words

But if good documentation and images are provided I can spare you and just point you to those:
If you use VS.net 2003 download Eclipse and see what you are missing. Or upgrade to VS.2005 that must have copied most of this stuff.

In the confusion of java web frameworks I think I would miss ASP.net, but with Flex I'm playing with a more powerfull markup language than HTML anyway.

And I miss C# property getters and setters. But hibernate and eclipse are cool.

Wednesday, November 16, 2005

2 cool tips

These ones are not new, but I've seen far too many people not knowing about them.

1 - With any message box in windows


You can use Ctrl+ C and you'll get this in the clipboard

---------------------------
Save As

---------------------------
C:\test.txt already exists.

Do you want to replace it?

---------------------------

Yes No
---------------------------


Great for support or for gogling catastrophic error messages.

2 - The best blog reader out there is called firefox. Just use the button in the bottom right corner of the browser (In the address bar if you are already using 1.5).

Tuesday, November 01, 2005

Ajax usability: it's not just the back button

Why do grandpas feel web applications easier to use than desktop applications?
  • No dbl-click
  • No right click
  • No save/open
  • No menus
  • Left click hover feedback (hand cursor)
  • Back button
So now that we can create more powerful web applications with Ajax let'’s see if we can remember this and keep them simple.

Wednesday, October 26, 2005

Little signs of cool

Often you find them where they are least expected. As in the automated build procedure of a big dull financial corporation. It sends emails using this address: mrbuild@dullcompany.com

Sunday, October 09, 2005

Good Marketing


The New Zealand CanTeen foundation, that helps teenagers with cancer, has a bandanna week where they sell those bandannas in a lot of supermarkets. It's a great idea.

But the best part is that this year they had the approval from Disney to use the muppets manha manha (bandanana) clip in the tv ads.

Brilliant!

Tuesday, October 04, 2005

Office interface

Today one of the most recognized UI's with buttons (after the remote control up/down volume and telephone numbers layout) must be MS Office's.



If you change the money making mammoth you will upset a lot of people for sure.

So why do it?

1 - because it's bad and new users don't get it
2 - because someone could do it better and cheaper (as with gmail, StarOffice)
3 - because people are thinking what they have is good enough and they are stopping the upgrade cycle


Despite always being accused of being only a copier, there are actually some good UI tidbits from this company (the spell-checker underline from word6, the smart after paste drop down from XP). They just don't seem enough to justify so much money and mistakes like the office assistant. But probably nothing will ever be.

But it is nice to follow
http://blogs.msdn.com/jensenh/default.aspx
for some insight on history of the interface and to understand the reasons for the coming changes.

Sunday, October 02, 2005

Public property. Keep out!

We've been taught for years to do this:

private string _name;
public string Name
{
get {

return _name;
}
set {

_name = value;
}
}

But now that we know about agile and refactoring doesn't it sound like over-engineering? Shouldn't we simply say?

public string Name;


It's easier to read, uses less screen real estate and we can always change it to the former when we need.