Tech Update: Switching to MVVM

We recently completed a large block of work that paves the way for great improvements to TeamworkPM in the coming months.

We spent 6 weeks changing the code for how we display tasks. Instead of building the HTML code for each task on our servers, we now send just the data and your browser transforms this into HTML.

For the nerds: This is all implemented using the excellent javascript MVVM framework, knockout.js.

There was a mountain of work involved making these changes – the code behind every task-listing and task-related action had to be reprogrammed and strenuously tested.

The final changes were rolled out over a weekend some 3 weeks ago and if you haven't noticed any changes, then we have done our job well.

Thanks to the beta testers who got involved and helped us iron out the glitches. We really appreciate your time.

 

 

 

The road ahead

The fact that tasks are now rendered in your browser instead of on our servers may not sound important but it's a big deal – for example, the recently released feature "Real time updates for tasks" would not have been possible before.

Now that we have the foundation laid, we can make TeamworkPM even better. We are working hard and have some great new features on the way so...

watch this space!

New Feature: Instant event notifications

We are really excited to announce that we now have instant event notifications enabled for everyone directly within TeamworkPM. You should now see the notifications bar at the bottom right of your screen. 

(Note: Reload your browser if you don’t see it)

The number at the front is the amount of notifications you haven’t seen.

Instant notifications

As actions happen on your projects, you will see events pop-up on top of this bar. These event notifications are designed to not get in your way or be too distracting. The events display for a second and then slide away.

This feature really makes you feel more-connected with your team, clients and contractors. It will also allow you to respond to events must faster than before.

Catch-up and miss nothing

When instant notifications pop-up and slide-away, the number of notifications in the indicator increase. Clicking the “View all” button will open up your full list of recent notifications. 

This feature allows you to quickly catch-up on what has been happening while you were out.

If an item is of interest to you, you can click on it to go directly to that event. The great thing is the list will remain in place so you don’t lose your place making it incredibly easy to jump around your account checking on everything that has happened.

Another great thing about these notifications is that you will see all events on your projects, even if a task wasn’t assigned directly to you, or you didn’t get message notifications. This allows you to keep abreast on what’s going on.

Note that if there are a lot of notifications you can scroll through them using your mouse wheel.

Clearing the list

You can dismiss a notification simply by clicking the “x” in the top right of the notification.

Alternatively you can dismiss all notificationsand set your notifications count back to zero by clicking on “Clear all” button on your notifications bar.

Pin events for later

During beta testing, we receive a request to “pin” events. This is useful if there are some events that you definitely don’t want to dismiss and want to return to later on.

Clicking the “pin” icon on a notification will cause the notification to be “pinned”. This prevents you from being able to dismiss this event until you click the “unpin” icon..

Private events

Naturally enough, notifications for private items will only be sent to those people who should see them. If a notifications relates to a private item, you will see a padlock appear on the notification.

 

So that's it! We think it rocks and we know you are going to really love this new feature! If you have any feedback, please get in touch here in the comments or on our facebook page.

New Feature: More helpful notification emails

We’ve just turned on a great new feature we’ve been using internally for a couple of weeks - email notifications which include the most recent comments.

Before, when you replied to a message or added a comment on an item, the notification email only included the new comment body. 

The old email format:

When things get busy, or a reply is added days afterwards, it was easy to lose the context of the original discussion. 

The new email notifications are far more helpful and show the last 6 replies added. If there are more than 6 replies in the discussion we show a link to the full thread. 

The new format:

We’ve also made the email notifications “responsive” so that, on a small screen such as the iPhone, the layout changes with the date and time moving below the author’s name making the content easier to read on the go.

On the most recent reply we also link to the item on your Teamwork account so you don’t have to scroll down the email to get to the actual link.

We also took this opportunity to tweak a few nuances that people sent via feedback.

  • We fixed some localization issues with email notifications so the recipient now sees the times and language according to their preferences. 
  • We improved the subject line in comment email notifications to list the object type the comment was added to. This allows you to see at a glance if the comment was on a Task, Notebook, Link, Milestone or File. We’ve kept the item details at the bottom of the notification email and gave more room to the actual message being sent.

As always, we hope you find this new feature useful! It’s definitely improved our productivity and we’ve noticed people are more inclined to continue the discussion when the context of the notification is clearer!

New Feature: Complete or Uncomplete tasks and milestones by replying to email notifications

Have you ever been out and about and received an email notification on your mobile device that a task or milestone has been assigned to you or a comment on a task has been added and you want to mark it complete quickly? 

Now you can simply reply to the email with a simple directive and the task will be marked complete. You can even re-open tasks via email if another person marks the task as done and you feel it's not.

We've allowed a few variations on the directives:

  • #Complete
  • #Completed
  • #Done
  • #Uncomplete
  • #Reopen
  • #Open
  • #NotDone
  • #Reopened

It's really easy to do and will work on any email notification relating to a task or milestone such as the assignment emails, edited emails, comments on task/milestone notification and the complete/reopened emails. Simply reply to the email with #Complete or #Uncomplete.

We went one step further and merged the Complete/Uncomplete directives with adding a comment. If you only reply with a directive, we'll mark the task or milestone complete/reopened; but if you use a directive and add more text underneath the directive we'll mark the task or milestone complete/reopened and also add the extra text as a comment.

We hope you'll enjoy this small but useful enhancement to the reply-by-email functionality. We plan to extend this to the Milestone notification emails in the next few days.

Update: (15th November 2012)

Milestones can now be marked complete/reopened by replying to Milestone related emails

New Feature: Start dates on tasks

Top of our Roadmap was a feature that we've had many many requests for - Start Dates on tasks.  

For an absolute age we've held off tackling this feature but in the last few months we've been inundated with requests. It was one of the main reasons people cancelled their trial accounts. I made it my mission to get this added in time for this months Newsletter.

To give a bit of background on why we didn't add Start Dates from day one and why we took so long to add them let me step down memory lane for a bit...

5 years ago our consulting business was on the up. We had more work than we could handle and new projects landing on our doors every day. We hadn't anything in place to help manage and co-ordinate these projects and customers were getting annoyed.

Tasks were being forgotten, emails were not getting answered, projects were taking longer to finish as we jumped between "the next most important thing" depending on how loud each customer was shouting.

We looked at various products and signed up for Basecamp. We used Basecamp for a while but we found it lacking in features that we needed. We thought we could do better so we started our own internal app to help manage the load. Like Basecamp we started with basic to-dos that could be assigned to a person. We didn't have dates and you had to associate the task list to a Milestone to get a rough date. It worked for a while but it wasn't ideal.

The next iteration of tasks brought Due Dates. At this time we had launched Teamwork as a product of it's own. We split our time between consultancy work (4 days) and Teamwork (1 day and weekends) Friday was "fun" day. This was the day where we could improve Teamwork and add the features suggested by people who started to use Teamwork.

People loved the due dates. We got a tonne of people moving to Teamwork from Basecamp because we had due dates on tasks!

As Teamwork got more popular and more people started using it the feedback kept pouring in.

What about recurring tasks? What about multiple people on a single task? What about dependencies...nobody was asking for start dates!

What happened next? We added all the features I just listed and put Start Dates on the long finger...

Lets jump back to the present day and look at the next top requested feature. Gantt Charts. Absolutely impossible to do 100% without start dates. With start dates added Gantt Charts are finally a possibility!

The hardest part of adding Start Dates on tasks was the cascading effect it had on existing areas of the app. Take for example the Dashboard/Project Overview. We have 3 handy tabs on these relating to Late, Today and Upcoming tasks.

The Today and Upcoming tabs needed to change to take start dates in to account. Because a start date is optional and a due date it optional we need to allow for the following:

  • Tasks with a due date only
  • Tasks with a start date only
  • Tasks with both a due date and a start date

 


The Today tab will now list any task that has a due date of “Today” or any task that was due to start on or before today.

The Upcoming tab will now list any task that is due with-in 14 days (if it doesn’t have a start date) or due to start with-in 14 days.

If you don’t add Start Dates to your tasks these tabs will function as they always have.

My personal favourite benefit of start dates is that I no longer have to re-schedule my late tasks every morning. The way I work is I queue up a load of tasks for myself every morning and I set the Due Date to Today so I can work off my Today tab on the Dashboard. The problem is I’m always over optimistic and the next day I may have a few late tasks from the day before.

It’s a pain having to go in the next day and set the due date to Today. Now with Start Dates on tasks, I just set the new start date field on the tasks I hope to get done and leave the Due Date blank. They all show on my Today tab and if I don’t get them done, they’ll still be on my Today tab when I get in to work the next day!

There are other areas where Start Dates greatly enhance Teamwork. We added the export to MS Project and GanttProject a while back so people could visualize their tasks on a printable Gantt Chart. The problem was that the Gantt was generated using a Due Date only so it didn’t represent a true Gantt chart.

We’ve updated both these exports to include the Start Date so the Gantt chart export is now much more useful.

We also got to update the iCal feeds for the Calendar. Tasks with a Start and Due date set will now show as spanned events in your favourite external calendar such as iCalendar or Google Calendar.

We’re excited about the new features we can add to Teamwork over the next few months so stay tuned!

Move or copy a project to another TeamworkPM account

As more and more people use TeamworkPM the ability to copy or move projects to other TeamworkPM accounts became a highly requested feature. This month we are really happy to announce that this is now available.

One of the reasons this was being requested so much, was as people added clients to their installation their clients realized the value that TeamworkPM brought to their company and they saw the benifit of using a project management app to help run their projects smoothly.

Naturally the client would love to have the current project in their new account and up until now this wasn't possible.

There are a few steps that you must do to successfully transfer a project to a new account.

First of all you must link the accounts. Don’t worry this is only a link to the individual user, it doesn’t mean that your accounts will be joined in any other way.

For those of you who don’t already know, a while back we released a feature called Sites. What this enables you to do is to quickly jump between TeamworkPM accounts without have to log out and in each time.

What you do is login to one account, navigate to your name in the top right, click on My details. Go to Account tab and look for the Advanced Options link.

Once you select this you will see the options to link your accounts. If you used the same email address for your other accounts it will display there. If you have used another email account you can enter this here to display your other TeamwoKPM accounts.

Now follow the instructions on screen and link your accounts.

Once you have the accounts linked you are ready to go.

Click into the correct project, click on project options from the overview page, then pick copy/move this project.
At the top of the lightbox pick your action and then pick the account to which you wish to move/copy the project to.

You can see you also have the options to pick what elements of the project you wish to move.

As with all our features, we really hope you enjoy as well as find this new feature useful.

Browser side Draft Storage added to Notebooks

Everybody hates when things go wrong - internet connections go down or in the middle of a long Notebook entry or you click the wrong button and the browser closes.

It's happened to us all at some time of our lives and when there is no draft version saved it can leave you feeling pretty miserable.

The Notebooks section in Teamwork always had a prompt if you tried to navigate away from the document you were writing but it didn't help if the power went, the machine restarted or your internet connection went down.

We've had quite a few requests for browser side saving of drafts and this month we dug in and implemented HTML5 storage on Chrome, Safari and Firefox (IE9 is supported if certain settings are enabled)

Now when you write a Notebook and something happens where you lose your Notebook content, when you get back a new button is shown in the editor toolbar if a draft was successfully saved.

Click the "Restore Draft" button and your content will be retrieved. Once your Notebook is successfully saved, the draft will be removed.

Introducing Teamwork Mobile

Today we are happy to announce the launch of Teamwork Mobile. This optimized version of TeamworkPM will work on most modern smart phones and tablets directly within the devices web browser. There are no prerequisites; no apps are required and nothing needs to be installed.


    What is Teamwork Mobile?

    Teamwork Mobile is a touch-optimised web app which utilises the latest in web technologies (HTML5, CSS3 & JS). These allow for smooth transitions, quicker page loads, data caching and much more. These technologies allowed us to make one app that works on most modern phones and devices.

    For all of you that have been asking us for a BlackBerry app, this version will work very well on the latest BlackBerry phones.

    The app features a responsive layout which allows it to adapt to screens of different sizes. So whether you are using it on a tablet, in your PCs web browser or on a touch device, the interface will automatically change to allow for optimal use (so it works great on an iPad for example).

     

    This version of Teamwork will work across a wide range of devices. Though we do not have the means to test TWM on every platform, we expect that it will work so long as your device fits any of the specifications listed below.

    • Apple iOS (3.2 - 5.0)
    • Android (2.1 - 4.0)
    • Windows Phone (7 - 7.5)
    • Blackberry (6 - 7)
    • Blackberry Playbook (1.0 - 2.0)
    • Palm WebOS (1.4 - 3.0)
    • Meego (1.2)
    • Samsung Bada (2.0)
    • Kindle 3 and Fire
    • Nook Color (1.4.1)
    • Chrome Desktop (11 - 17)
    • Firefox Desktop (4 - 9)
    • Internet Explorer (8 - 9)
    • Opera Desktop (10 - 11)

     

    So what can Teamwork Mobile do?

    If you are familliar with either of our current native apps (Android & iOS) you will be happy to see that we have used a very similar layout and the feature set is much the same; so getting to know the new app should be a piece of cake.

    Some of the features included in this version are as follows:

    • All Tasks Page
    • All Milestones Page
    • Search
    • Statuses - View / Add
    • Activity Views
    • Notebooks - View
    • Messaging - New / Reply
    • Tasks - View / Add / Edi t/ Complete
    • Task Lists - View / Add / Edit
    • Milestones - View / Add / Edit / Complete
    • Contacts

    We also have a few updates planned already so make sure you keep an eye on the blog to remain updated on what we are working on.

    How do I access the mobile version?

    TeamworkPM should detect that you are accessing your account from a mobile device and should change across to the mobile version automatically. If it doesn't just put /m after your TeamworkPM url to access the mobile site. eg. http://yourcompanyname.teamworkpm.net/m

    I'll leave you with a fun video showing Teamwork Mobile running on different devices.

    New in TeamworkPM: Comment file attachments!

    This one's been a long time coming. You can now attach files to comments in TeamworkPM.

    We spent a lot of time making this feature easy to use and it works just like it does when attaching files to messages and tasks. You can even attach files directly from your company Dropbox account! We are happy with the interface and we hope you are going to love it too.

    The new comment attachments look like this:

    Posting comments via email will support file attachments in the coming days (Dan is locked in his office with the music turned up beavering away on this).

    We hope you are all going to love this feature and that it will help you stay productive.

    Thanks again for using TeamworkPM!

    UPDATE

    As promised above, when posting comments via email, email attachments are now attached to the comment.

    Move or Copy a task list to another project

    Feedback comes in waves. The same feature is requested time and time again usually in the same couple of weeks.

    Moving task lists from one project to another is one of them. Yesterday we added this feature to Teamwork.

    No sooner was it released and the feedback started to pour in asking if it was possible to "Copy" the list instead of "Moving" it.

    No problem. Today we rolled that feature out.

    This also has a hidden benefit that may not be apparent right away. In Teamwork you can save any task list as a template. This only saves the names of the tasks, the estimated time, the descriptions and the privacy. There are good technical reasons for this.

    Now, as you can copy any task list to any project, you can have a project set up to act as a "Template" which you can use if you need to create a new list with all the people assigned, due dates assigned etc

    Hope this small but useful feature helps everyone! Send us a tweet and let us know what you think :-)