Apr 28, 2009

Openbravo World Conference 2009 presentations available

by Jordi Mas
The presentations of the Openbravo World Conference 2009 have been just published.

There are also some pictures available from the event.

Enjoy!



Apr 28, 2009

Openbravo 2.50: Using the Model in your Application Code

by Martin Taal
As you may know Openbravo follows a Model-Driven-Development (MDD) approach. The main theme of MDD is generating an application from a model. An aspect which is often ignored by traditional MDD methods is the availability of the model at runtime. Openbravo specifically pays attention to the runtime model and makes it available through an easy-to-use api.

The main advantage of a runtime-model is that it is possible to develop very generic application functionality at model-level. Writing code at model-level is far more efficient than writing specific code for each table. Another advantage of model-level code is that it is often robust for model changes.

Here are some examples of generic application functionality which can make use of the runtime model:
  • security
  • import and export logic
  • archiving
  • tracking/tracing of changes
Some main concepts of the Openbravo runtime model:
  • The runtime model consists of a set of Entities.
  • An Entity is a domain concept like an Order or a Product. Currently in Openbravo an Entity is the same as a table (each table has an Entity representing it and vice versa).
  • An Entity has a list of Properties, for example an id, a name, a description. Some properties are primitives (string, number, etc.), some are single references (from an Order to a Currency), some are many references (from an Order to all its OrderLines).
To make use of the runtime model it is good to understand the Openbravo business object class model.


As you can see, each business object (order, product, etc.) inherits from the BaseOBObject class. The BaseOBObject class offers a number of important methods:
  • getEntity(): to get access to the domain concept (=table) represented by this java class
  • get(String propName): get the value of a certain property
  • set(String propName, Object value): set the value of a certain property
  • getIdentifier(): returns a readable name for the business object
So while the specific subclass has specific set and get methods for each property, the main super class has generic set and get methods to set/get the value of all properties of a business object.

In a runtime model-driven-development approach the code uses the runtime model and accesses objects as a generic BaseOBObject. In Openbravo 2.50 access to the runtime model is provided by the ModelProvider class.

I will illustrate the use of the ModelProvider class and the Openbravo runtime model in general with some example code. This sample code exports all data in an Openbravo instance in just a few lines of code, the code executes the following steps:
  1. get all Entities from the ModelProvider
  2. for each Entity get all records/instances from the databases
  3. for each instance iterate over its properties and read the property value
  4. create a string representation of that property value
// as we read all entities, be an administrator to prevent
// security exceptions
OBContext.getOBContext().setInAdministratorMode(true);

// iterate over all entities
for (Entity entity : ModelProvider.getInstance().getModel()) {

// query for all objects of the entity and iterate over them
final List businessObjects = OBDal.getInstance().createCriteria(
entity.getName()).list();
for (BaseOBObject businessObject : businessObjects) {

final StringBuilder line = new StringBuilder();

// place the entity name so for each line it is known what type is exported there
line.append(entity.getName());

// and iterate over all the properties of the entity
for (Property property : entity.getProperties()) {
// ignore these type of properties, as the children are exported separately
if (property.isOneToMany()) {
continue;
}

line.append(SEPARATOR);

// get the current value
final Object value = businessObject.get(property.getName());
// handle null
if (value == null) {
continue;
}
// export primitives in the same way as xml primitives
if (property.isPrimitive()) {
line.append(XMLTypeConverter.getInstance().toXML(value));
} else {
// export the id of a referenced business object
line.append(((BaseOBObject) value).getId());
}
}
writer.append(line + "\n");
}
}
The data is appended to the writer object (which can be a FileWriter), with the BigBazaar Openbravo sample data this results in a file of about 13mb. The XMLTypeConverter is an Openbravo class which correctly converts primitive types such as a Date, a number, etc. to a String.

You can copy the above code directly in a test case and run it (set the writer and SEPARATOR variables). For how-to create a test case in Openbravo see this how-to.

An additional nice feature of the Openbravo runtime model is that all tables added by modules are automatically made part of the runtime model. So for Openbravo in the runtime model, there is no difference between an Openbravo core Entity/table or a custom module table/Entity.

The runtime model is used extensively by the Data Access Layer and REST web services.

Well I hope that this blog gives some inspiration to try out coding at model level and to make use of the Openbravo runtime model. Thanks for reading, and feel free to ask any (detailed) questions on the Openbravo deverlopers forum!



Apr 27, 2009

The Principles behind Open Source

by Jaime Torre

There are lots of definitions of open source. Most of them focus on the pragmatic consequences associated with open source. I would like to share with you the principles I believe lie behind open source.

People
People is the most important asset in open source. It is even more important than code. Code is just a response to the needs of people. The core of open source projects is communication between people: discussions in irc, issue reporting in bug tracker, support through forums, polls… The ‘release early, release often’ policy is a way of getting users feedback as soon as possible. Users are important. Developers are important. Everything rotates around people.

Values
Open source projects share a common set of values. These values have evolved into some tools and processes. Having a clear set of values makes taking decisions easier, leads you through a coherent path and allows the rest of the people know what to expect from you. The more loyal you are to your values, the smoother the path is. The difficult part could be choosing the right values, but that is already done in open source. You can find some of those values in the Openbravo Manifesto. You can search in google for more values (e.g., consensus, distributed model, legitimacy).

Abundance
Probably the main trait of open source is the abundance mentality of the people participating. The opposite of abundance mentality is scarcity mentality. People with scarcity mentality think that they are what they do and know; that if they give away what they do and share their knowledge, they are losing value. Scarcity mentality sees everything as a zero sum game. On the other hand, people with abundance mentality think they are what they can do; therefore, if they give away what they do, they are not losing value. The more value they create and deliver, the better. Abundance mentality means betting on your capacity of creating and delivering more value.

These principles are not unique to open source. Open source is just one possible implementation of these principles, but any business or project (open or not) could take advantage of these principles. You could use these principles to analyze your own business/project. Are you giving enough importance to all people involved in your project? Do you have a clear set of values that is shared by everyone in the project? Are you measuring your project by the capacity of creating and delivering value?




Apr 27, 2009

The new packaging of ERP 2.50

by Juan Pablo Aroztegi

Openbravo ERP has replaced its installers with virtual appliances and source code tarballs. We believe this is a major step forward. Why? This post explains the rationale behind this decision.

In 2.1x and 2.2x Openbravo ERP was deployed using Ant Installer. In 2.3x and 2.40 we switched to a binary installer technology. Starting from 2.50, Openbravo ERP has changed its packaging formats.

I remember having a brainstorming session with a project colleague, analyzing what we could improve in the overall installation and release process. That is, from the moment Release Management takes the code from QA, till users install it in their computers. The discussion led to the following conclusions:

  1. What’s the hardest part in the Openbravo ERP deployment? Certainly not the ERP, but all the software stack it relays on: Ant, JDK, Tomcat, PostgreSQL/Oracle and some extra adjustment in the operating system to make Openbravo ERP happy (system variables, permissions, etc).
  2. Let’s think about average computer users, with experience as an ERP user. They have a good ERP functional knowledge, but they don’t necessarily know how to install, configure and optimize Apache Tomcat, PostgreSQL, Ant, JDK, system variables and user permissions. They simply are not interested nor have the time to deal with that. How would the installation process look like for these kind of users? They’ll most probably give up after the second or third problem.
  3. Let’s think about advanced computer users. Does the installer help them deploy Openbravo ERP? The installer basically performs two tasks: double check that all the required component’s are sane and build the ERP from sources. All these checks were hidden behind the GUI and the 2.40 version did not have a command line equivalent. In 2.50 this can be summarized in 2 commands:
  4. ant diagnostic
    ant install.source
    

    Advanced users know what they’re doing and they prefer running these 2 commands by hand. Hiding this behind a GUI does not help them at all. In fact they dislike it.

  5. How fast is the 2.40 release process? The installers or any other packaging deliverables must not be the bottleneck. Ideally, if for some reason the QA process fails it must be because of an ERP bug and not because of a packaging problem. This was far from being truth. The release process was a pain and slow.

So having a look at the 4 points, we realized the installer failed in all of them. It doesn’t matter what installer technology we used, it just was not the right tool for us. Some of the problems of 1) and 2) could be solved by creating a one-click installer that deployed and configured all the technology stack plus Openbravo ERP. But this has mainly 2 problems:

  • It’s not useful for production systems, where users want to use the Tomcat, Ant, JDK, PostgreSQL, etc. provided by their operating system’s package manager. This allows them to install and update those packages very easily. This is understandable and in fact recommended.
  • We found out that virtual appliances do a better job in terms of ease of deployment and immediateness. And most importantly, we provide the users exactly the same environment we have tested. And not only that, it solved our 4th problem. The release process has been immensely simplified. QA does all the ERP testing in appliances, and when the product is ready Release Management creates the final appliances with the final ERP code. A smoke test gives the green light to publish the release.

So the virtual appliances solve the problems for the average computer users (points 1 and 2), and also the release problems (point 4). For advanced users (point 3) we offer them detailed installation instructions and the source code in two formats: tarballs and direct access to the main Mercurial repository.

Wondering how this affects the upgraders? Good news, starting from 2.50 upgrades are managed through the Module Management Console. In other words, Openbravo ERP is capable of updating itself and there is no need to have external upgraders.

Next steps? Package and include Openbravo ERP in all the possible Linux/BSD official repositories (Debian, Fedora/Centos/RedHat, FreeBSD, Gentoo, openSUSE, Ubuntu, etc).


Tagged: Packaging, Release process, Virtualization



Apr 23, 2009

Live Search or Query Suggestions?

by Rob Goris
In the proposed concepts for a new GUI we showed a keyword suggestions feature, similar to what many other applications and sites use nowadays. You type the first couple of characters and a little flyout menu starts suggesting keywords.

Until now I assumed that these keywords suggestions should be based on a mix of popularity, recency and bookmarks. I even asked you if you liked those. This is what you said:

Query suggestions based on bookmarks
Very unimportant 0.00%
Unimportant 12.50%
Neutral 37.50%
Important 37.50%
Very important 12.50%

Query suggestions based on recent searches
Very unimportant 0.00%
Unimportant 4.35%
Neutral 34.78%
Important 52.17%
Very important 8.70%

Query suggestions based on frequency / popularity
Very unimportant 0.00%
Unimportant 8.70%
Neutral 30.43%
Important 52.17%
Very important 8.70%

[Full survey result details here...]

Compared to your appreciation for other features, you weren´t that excited about it apparently. Now maybe I know why. During the World Conference Last weekend a business partner showed us a customized screen using a sort of search suggestion based on live search. So while typing it actually searches in real time. Pretty impressive. I thought this would be too slow. Perhaps with 1 million records it would be. But look at this demo of a dhtmlx-grid (Select Loading from big Datasets > 50,000 records in grid from the tree menu on the left and tick the Enable Autosearch checkbox)...and start typing away. This rocks!

Having seen this, I can´t suppress my enthusiasm for live search suggestions but we need to make sure this is what you want. Compared to search QUERY suggestions. The latter is used in consumer applications, such as iTunes or Google Suggest. Music stores use them all the time, as what the masses want, is probably what you want (typing "b" in iTunes will inevitably show Britney Spears and Beyoncé, whether you like them or not).

So what will it be, dear user? Query suggestions or Live Search? Share your thoughts on the UX Lab. Tightly related is the discussion about Endless Scrolling versus Pagination. Give us your 2 cents here as well please.

Cheers, Rob



Apr 21, 2009

Openbravo Community Awards winners

by Jordi Mas
Openbravo has organized the Openbravo Community Awards to honor individuals and companies for their outstanding contributions to the Openbravo ERP and POS projects during 2008.

Openbravo Community during the last weeks has nominated first and voted later the people that made a difference for them with their contributions. During the Openbravo World Conference, that occurred last weekend, we revealed the winners of every category.


The Individual Awards acknowledge people that have allocated time and resources to make Openbravo POS or ERP better project. The winners in the group are:

Best Quality Assurance. An individual with outstanding contributions in the area of Quality Assurance

Goes to Naveen Chanda for his participation in the Openbravo ERP 2.40 alpha 2 and 2.35 MP4 testing cycles on a number of platforms and for his active participation in Openbravo ERP forums.

Finalists: Paulo Leandro, Juan Reyes, Ville Lindfors, Jignesh, Ronny G.

Best localizer. An individual with outstanding contributions in the area of localization.

Goes to Mohammad Jaffar Fahmi for his work translating Openbravo POS to Arabic, the most popular locale for Openbravo POS.

Finalists: Kenzo Repole, Jens Wilke.

Best developer. An individual with outstanding contributions in the area of software development.

Goes to Andrej Svininykh for this work on developing several features for Openbravo POS and integrating some new devices like scales and receipt printers.

Finalists: Ville Lindfors, Ronny G, Ben Sommerville.

Best support participant. An individual with outstanding participation in Openbravo support channels.

Goes to Telepieza for his work dedicated in documenting HOWTOs for Openbravo ERP in Spanish (55 of them are currently available)‏.

Finalists: Enric Alegre, Miguel Marquez, Victor Gaspar, Jimm.

The Technology Awards recognize outstanding projects lead by companies or organizations build on top of Openbravo technology. The winners in the group are:

Best localization. An organization with outstanding contributions in the area of localization.

Goes to Amorebieta-Etxanoko Udala for leading the Euskara language translation for Openbravo POS

Finalists: CBT Open, Apal Informatique, Mancomun.org

Best implementation. An organization that has performed an outstanding implementation of Openbravo in a challenging environment.

Goes to Conasa for their work on developing and installing a vertical solution for religious services based on Openbravo ERP 2.40 with PostgreSQL.

Finalists: Qualian Technologies, Microgenesis, Open Sistemas.

Best development. An organization that has performed an outstanding development based on Openbravo.

Goes to Open Sistemas for their work developing many features, now part of Openbravo POS, aimed at the fast food business (for client Bocatta)‏.

Finalists: Open Sistemas and Software Engineering Research Center.

Open Sistemas after receiving their award

Congratulations to all the winners and nominees, everybody's contributions are important.

Thanks to everybody that has participated in the nomination and voting process.



Apr 20, 2009

Openbravo World Conference – Community Day 2

by Jordi Mas
This is a follow up of my summary of the 1st day of the community days. These are the insights from the second day of the community days. I have not summarized all the sessions as some were demos. Feel free to send me your insights if you want me to include them in this post.

Building an Open Source ERP Ecosystem through Modularity and Core Contribution. Paolo Juvara

Key ideas:
  • Community is a A group of people that collaborate around a common project. An ecosystem is a group of autonomous but interdependent communities that collaborate around a number of loosely coupled objectives and projects
  • The most significant innovation of version 2.50 of Openbravo ERP is the introduction of a modular architecture support that enables an Openbravo ecosystem very similar to the Linux ecosystem. Openbravo ERP itself is the core of the ecosystem and autonomous communities can collaborate on independent value added components.
  • Modularity architecture & Openbravo Forge enable the Openbravo ecosystem.
  • Templates to provide customized solutions for specific industry segments
The community imperative. Matt Asay

Key ideas:
  • Open source is now mainstream. 50% of the companies plan to adopt open source
  • People are attracted to Linux because cost
  • Open source lowers risk and probability of failure
  • People is planing to increase the use of open source in critical mission application
  • The real value for open source applications come from ISV
  • Community begins when self-interest meets software
  • An open source project should be bigger than the company

Matt Asay during his key note.

Localization: Opening New Markets and Developing Unchartered Territory
. Richard Morley

Key ideas:
  • Localization can benefit tremendously from the Forge & modularity
  • Openbravo is taking the rule of the enabler putting the common ground to create any localization
  • Areas of prioritization for Openbravo localization efforts in the next years are : flexible Chart of Account (COA) configuration, multilingual & multicultural user interface and master data management, user interface and master data management, configurable multi-currency environment, flexible, configurable tax handling, integration to web services, transaction rounding rules, flexible transaction numbering rules, flexible, document driven, accounting rules, support for the configuration of payment methods, flexible and extensive standard reports, support for “generic” business processes. Notice that this a list of areas to work, it does not represent a commitment in terms of deliveries from Openbravo.
Modules: Best Practices. Ismael Ciordia.

Key ideas:
  • Modules are the atomic building blocks and deliver the individual functional extensions. They are the lowest level of granularity and the smallest element of reuse.
  • Packs are a collection of modules.
  • Templates allow you to deliver a combination of modules and packs plus a configuration file as a reusable, packaged solution that installs at the click of a button.
  • Dependency: a module depends on other module when it requires it to run
  • All changes after 2.50 should be done using modules, including customizations, to simplify modularity



Apr 20, 2009

Openbravo World Conference – Community Day 1

by Jordi Mas
Saturday was the first day of the Openbravo World Conference community days. There were around 200 attendees. Lots of conversations and ideas floating around.

In the next days we will be publishing the slides of all the sessions. Let me share with you some insights from the first day of the community days.


Word from the CEO: empowering the ecosystem. Manel Sarasa

Key ideas:
  • Freedom is value for partners, customers and community members
  • Projected the video truth happens from Red Hat to illustrate how disruptive innovative changes like open source end up been adopted
  • There is a failure in the ERP market due to the proprietary market tradition: complex price structures, vendor lock-in. Open source means an ERP for everybody. No company has managed to delivered a win-win proposition to the ERP middle market.
  • Vision: empowering the ecosystem: a modern product, 100% web based with great functionality footprint, delivered and built through freedom, with a great professional offer. It is mission critical, professional services are key to success
  • Some facts about Openbravo. More than 1.250.000 downloads, 5.000 registered developers, 50 localization registered projects, estimated 1.000 implementations, 100 professional partners serving 30 different countries, 100 excellent professionals
The Impact of Open Source in a Down economy. Richard Daley

Key ideas:
  • The time is right for the open source applications now. It has been already for open source operating system vendors like Red Hat
  • Open source is the safer option nowadays (lower risk)
  • At infrastructure tier open source has already consolidated (such as LAMP), now the application tier is consolidating. Increase ratio of adoption of open source solutions
  • Community participation is key for better software, more secure, more international, better supported
  • Lean budgets favor open source. Many open source commercial projects are seeing an increase in activity and commercial operations
  • Open source and cloud computing. Open source has commoditized the software industry, the cloud computing is doing the same for hardware. Cloud computing and software as a service. Benefits: pay as go, reduced operational costs, scalability and availability.
Richard Daley during his key note.

Openbravo in the Ecosystem: Integrate it into the Information System. Sandra Massé

Talend is fully integrated with Openbravo ERP allowing data extract, load and transformation with other systems to Openbravo.

Key ideas:
  • Talend is an open source ETL tool. Reduces the cost compared to proprietary solutions up 20 times.
  • 900.000 product downloads, 20% registered users
  • Challenges: high volumes of data, heterogeneity of the environment, differences in data structures, maintain the consistency of old and new systems
The Case for Openbravo ERP on Ubuntu Server Edition. John Pugh

Canonical and Openbravo are working together to make Openbravo ERP ready for the Ubuntu Linux distribution.

Key ideas:
  • Contribution between operating systems and open source applications
  • Community is key to Canonical. LaunchPad.Net, Ubuntu collaboration platform, has more than 12.000 projects registered.
  • Ubuntu server edition was released two years ago and it is a good platform to deploy professional applications
  • Cloud computer included in next release of Ubuntu 9.04 (to be published on the 23rd of April 2009)
Expanding your Market Reach with IBM DB2. Antonio Maranhao and Boris Bialek

IBM is working with Openbravo to adapt Openbravo ERP for DB2 database engine.

Key ideas:
  • IBM DB2 Express edition is available free for download and has a flexible licensing scheme
  • IBM is working on supporting Openbravo ERP on top of DB2 database engine
  • DB2 has compatibility layers what makes very easy to port applications to DB2 and is highly optimized for very demanding environments
Deployment Advances from Sun for the System Integrator. Pedro Yagüe

Sun has been working with Openbravo to enhance the support for OpenSolaris and GlassFish in Openbravo ERP.
  • One of the largest open source vendors: every software asset we produce is open source
  • Sun allows to try and run their software and have special programs for startups.
  • Sun bases its growth with its partners. Sun's partner ecosystem is key to their succeed.
  • Openbravo ERP runs on GlassFish, Sun's application server and is going to be packaged for OpenSolaris.
Jaspersoft Integration with Openbravo. Tim Cloonan

JasperReports is the default report engine behind Openbravo ERP and POS projects.

Key ideas:
  • 10.000 customers in 96 countries. 8 millions downloads, 90.000 members, 350 community projects, 50.000 forums support posts at jaspersoft.org
  • Report writing is a key part of Openbravo ERP customization
  • Using Jaspersoft iReport, the visual report designer, you can save time lots of time in the report creation process.
Business Momentum Integration. Ron Kramer

Business Momentum have created B-Orange, a solution that integrates Openbravo ERP, Alfresco, Zimbra, Funambol and Magento.

Key ideas:
Qualian Technologies. Case Vaishnovi Infrastructure. Senthil Palanisamy

Implementing Openbravo ERP on a construction equipment company in India.

Key ideas:
  • Customer has 1.000 employees, 1 billion Indian ruppies turn over. Challenges: 100 desktops, independent systems for inventory and accounting, migration from a previous system. Need for new requirements not supported by their legacy system: centralized stock managed, BOM, sales commissions, etc.
  • The implementation has been very successful. Users and managers are happy because the new level of flexibility and functionality gained
Open Sistemas. Bocatta case. Andreu Bartolí (on behalf of Open Sistemas)

Implementing Openbravo POS in Bocatta, one of the largest fast food chain in Spain.

Key ideas:
  • Challenge: have all the different locations linked and integrated in a single system with a powerful POS system
  • Openbravo POS was further develop to accommodate better the fast food restaurant that was contributed back to Openbravo POS project.
Bonware. CaravanTukku case. Ville Lindfors

Implementing Openbravo ERP in a caravan accessory customer.

Key ideas:
  • Challenge: to automate sales, supply chain, invoicing, 200 customers, 2.000 stores doing international trade
  • Benefits: reduced labour costs, post costs (40.000 euros per year), ware activities are streamline
  • Plans to roll the same solution in the same industry and to enhance even further the customer business process



Apr 14, 2009

It’s Time for Form Design

by Rob Goris
We've been blatantly ignoring them in the first redesign excercise but now it's time to give them the attention they deserve: Forms

The current form (we are talking about the view you get when you edit a record) is far from ideal. The main points that need to be addressed are:

  • Awkward field length variations
  • Color coding only for mandatory fields: this is not accessible
  • Label wrapping for long labels
  • Grouping / clustering possibilities only limited
  • No hide/show possibilties on user level (directly via the GUI)

A lot of research has been done already on form design, although most of it focuses on web form design, e.g. for a registration form but most of the heuristics are applicable for application forms as well.

Two column design: Although in most cases not recommended, I think we should keep this layout, as OB ERP has a lot of fields and a lot of horizontal space. Using a one column layout would be a waste of real estate.

Jakob Nielsen did a bit of research on forms versus apps and although outdated, it still offers some great takeaways:

  • In-context help: Having this information on the main screen is preferable because users dislike going off to separate help screens
  • Eliminating irrelevant steps: Users never need to see questions and options that don't apply to them.
  • Customizability: (this example is really spot-on!) For example, an expense reporting application might require users to enter driving distances to get reimbursement for personal automobile use. If an employee often travels the same routes (say, to the airport or an important customer site), the application could provide one-click access to frequently used distances and list them by name (say, "office to JFK").

Luke Wroblewski wrote a great article on form layout. The most important conclusions here are:

  • Vertical alignment of labels is best when the time to complete a form needs to be minimized and the data being collected is mostly familiar to users.
  • Bold labels are preferred to give them visual weight and not have them compete with field values over the user's attention.

Enough for the first stab. I've modeled the first concepts which can be found on the UX Lab Web Album (images 35 and beyond). The concept with top aligned labels is quite unusual for application forms as it takes up a bit more vertical space due to the top labels. However, the two-column layout and collapsible sections offset that. Gray labels in collapsed sections are clickable: this opens the section and moves focus straight into the field. The first section contains help/guidance. I'd say that the user can choose to save the view and reuse the settings for all other forms of the same kind. This way you can hide sections that you don't use all the time and reach a super fast data entry, also using the keyboard. Next to the section label, we could place a "check" or "x" sign, indicating whether all mandatory fields in the sections are satisfied or not.

Special attention to:

How to emphasize mandatory fields: using *, using icons, using field coloring. In that same set you can also find a concept with and without seperating horizontal lines.

Process guidance using in-form bubbles that are triggered on completion of certain fields. The same thing but now using the top status bar. I really like the last idea, imagine how easy this can be for novice users! Of course you should be able to switch it off. Same hint could also be placed on the form itself, using the "introduction" section.

A naughty look at possible things to come for mobile: the resolution used in the concepts do actually fit on a 800x480 px smart phone.

Concepts with labels to the left of the fields, similar to the current OB form design, should not be ruled out. In fact, right aligned labels are commonly used for these kind of forms. Left-aligned labels are a good alternative as they support quick vertical scanning but risk higher completion time when the distance between field and label gets too big.

This should keep us busy for a while. Let me know your reactions via the UX Lab Forum so we can take it to the next level. Examples of Great Form Design out there and personal experiences with e.g. rapid order entry will also be highly appreciated.



Apr 7, 2009

The Openbravo World Conference happening in 10 days

by Manel Sarasa
Dear community,

In 10 days we will be having our Openbravo World Conference in Barcelona. Please let me share my excitement since:
  • It is the first edition of this special and free event, which was long overdue to unite our international community
  • We have over 300 attendees already registered, traveling from more than 30 countries worldwide
  • The theme of the conference “Empowering the Ecosystem” is more relevant than ever to Openbravo since we are convinced that the industry needs change, and thanks to the participation of our vigorous community, we are making it happen. We expect to discuss many interesting topics which will help push our community further such as our new 2.50 release, our new forge among others
  • The event is bringing to Barcelona fellow open source innovators from Pentaho, Alfresco, Talend, IBM, Sun, ProcessMaker, Ubuntu, JasperSoft, … which you will all be able to meet
  • And last but not least, we are expecting to have a celebrate our first Community Awards and have lots of fun

For more information about the Conference, take a look at:

If you still have not registered, please make sure you do by Thursday April 9th when registration closes in here
The event is nearly at full capacity, so reserve your seat before it’s too late!