Import your old data & DCAA

We are in the middle of an exciting run to provide new features while welcoming new clients, and providing an outstanding support.
This makes us almost forgot to communicate product news on our blog.

Here is a list of changes that occurred since June 22nd:

  • Billable %, to show the percentage of billable hours against non-billable ones.
  • A new help site, explaining the main features.
    In addition, a description of each module is available directly from the application. Just click the question mark that appears next to the module name.
  • Data Import. You can import your clients, projects, tasks, people and hours from spreadsheet files.
    This is particularly useful if you come from another system, and want to keep a consistant reporting.
  • Specific tasks by project or client.
    Set global tasks for your organization, and then filter for each client or project, which task is available.
  • DCAA compliance.
    Check the option, and some additional checks take places. And get a very detailed log of timesheet changes.
  • Allow the admin to lock screen for some user groups, using the Screen module.
    If you don’t want your staff to mess around with their screen, you can now lock the screen for define user groups.
  • Plenty of UI & feature improvements, and some bug corrections.

Other product news are coming, so stay tuned!

Fill your timesheet easier and faster than ever

Here are few improvements that will make you fill your weekly timesheet faster and easier than before:

weekly online timesheet with comment

  • You can start to type a note in the hour field, the sticky note appears automatically.
    No need to click the yellow icon anymore.
     
  • The notes can be resized to fit the size of your text(on all major browsers but Internet Explorer 8).
    At the bottom right of the note, there is a little grip that you can drag and drop to resize the note.
     
  • To edit or view an existing note, hit the space bar, while in the hour field. The note will appear.
     
  • To close the note, either click the top left icon on the note. Or hit the TAB or ESC key.
     
  • You can use the arrows keys to go from one cell to the other in the four direction.
    The normal behavior stay available:
    Hit TAB to go to the next cell at the right.
    Hit SHIFT+TAB to move to the previous cell on the left.
     
  • Works better with IE8 in general
  •  

These new shortcuts will let you fill your timesheet faster and more easily with almost no usage of the mouse.

We hope you’ll like them.

Export your timesheets to other systems: accounting, payroll, project management

Here are the main features of today’s release:

  • Using your own ID’s to export data to other systems:
    When exporting your time data to another system like accounting or payroll you can define your own IDs
  • Set a maximum of hours for a day:
    You can limit the number of yours the users will be able to record for a day.
  • Improving and fixing the mobile version of the app:
    Performances were improved, and some navigation bugs were fixed.

Read more details about this release.

Now back to work with the daily timesheet and data imports!

Keep your projects on track and budget with BeeBole

Today we upgraded the functionality that let you keep your budgets under control.

The budget reflects in real time, what your team is recording through their timesheets.

You can now:

  1. Set a budget for your projects. It can be either in hours or amounts.
    Use the module: Budget for that.
  2. And monitor the budgets progress using the module: Budget Status.

You can read more information about the budget functionality in the April 4th, 2011 release note

With this upgrade, you can now track budgets at the level of sub projects too.

Here is an example and some comments over the image below:

  • The project Another customer – Another project: has an over budget of $3,000
  • BeeBole – internal: is ok, and has $4,500 left or 27,27%
  • customer – project: looks to be ok and ending (152h over 160h) but in fact, the subproject 3 is already 34 hours out of budget

Timesheet Budget Status

Feel free to contact our support team for any question or feedback.

Sandbox Your Cross Domain JSONP To Improve Mashup Security

JSONP is a very neat way to get JSON data from other domains. The concept was brought by Bob Ipolito in 2005, and today it is widely available from API providers.

The big issue about JSONP is security. If you inject an unknown script in your page, you give to the script author a potential way to read the entire page content, scripts, cookies and data.

So, if you think, like us, the cool way to build web apps today is about building services and aggregating them with external APIs in Mashups, you have a problem. How can we securely fetch these nice services available everywhere?

Continue reading

PURE Is Working With The JavaScript Framework Prototype

Thanks to the contribution of Carlos Saltos and Borja Vazquez our JavaScript Template Engine PURE is now working with the JavaScript Framework Prototype

The code is not in the master repository yet, but you can get it in the branch of PURE created by Carlos.

They are also working on the MooTools support.

With the announcement of the DOMAssistant support a few weeks ago, and jQuery initially, it is now three JavaScript libraries that are supported.

Stay tuned

Ruby Like Notation #{ … } To Mix Strings And Variables

New feature for our JavaScript template engine PURE

From revision 1.7 on, there is a new shortcut available to concatenate strings.

We’ll take a similar HTML as our basic Hello World example:

<div>
    Hello <span>World</span>
</div>

Now we remove the “Hello ” string:

<div>
    <span>World</span>
</div>

Here is the JSON we’ll use to render this HTML:

var json = { "name": "Mary" }

And now the directive that will link them both:

var dir = { "span": "Hello #{name}"}

Direct assignation continues to work.

For more information and examples, visit the dedicated Wiki page

Stay tuned

PURE is running on the iPhone

As you may know, Belgium has some oddities.

One of them is a poor phone law that makes consumers pay the full price for a phone, probably one of the highest in the world. This doesn’t bring any cheaper usage cost than our neighbours either.

So it came as a kind of consolation when I saw PURE running smoothly on my brand new iPhone 3G.

Ok, it’s an easy shot as Safari is running there. But that’s good news for web applications using PURE.

Even if we’ll have to build specific screens for the smaller devices, we’ll be able to use the same technology, back-end services and share some templates between the desktop and the smart phone versions.

Moreover, the rendering speed was really good. We will show some benchmarks soon.

I can’t wait on what Google/HTC will ship in a couple of months.

Generate HTML from a JSON Without any Template but HTML and Javascript

The post below explains why we developed PURE a templating engine for Javascript.
PURE is ultra-fast and binds JSON data with clean HTML(no special syntax or logic required).

A few weeks back now, we started the development of our new web application BeeBole.

Of course we had to make several important choices for our IT architecture.

We started by choosing a light, flexible and really fast back-end as mentioned in our post: Why Erlang ?

For the front-end, we wanted the browser to be the center for rendering and aggregating services. (Read our post about True Aggregation, the Browser as a Platform).

To achieve this goal, we had to decide for:

  1. a JavaScript library to ease the cross-browser issues and advanced DOM functionality
  2. a communication language between the browser and the back-end: JSON ? XML ?
  3. a template engine to render the back-end services in HTML

Continue reading

People Name Generator

When you build a system based on people, at a certain time, you need to fill your system with data for mass testing.

If you need hundreds (or thousands) of people, finding names can be a painfull moment to go through.

Here is a spreadsheet
that generates as much names as you want.

It comes with 1000 random names (English) and each time you change something in the list, it refreshes itself with new names.

With your favorite spreadsheet editor, you can then generate, for instance, a JSON dataset, emails,… simply by using basic formulas.