diff --git a/app/assets/stylesheets/projects.css.scss b/app/assets/stylesheets/projects.css.scss
index 2ea79dcc2c216ecdb13082d24267cfd45d04b82e..4739a469e7d2269f8240460bd8f2d80e6dc41a36 100644
--- a/app/assets/stylesheets/projects.css.scss
+++ b/app/assets/stylesheets/projects.css.scss
@@ -552,3 +552,26 @@ tbody tr:nth-child(2n) td, tbody tr.even td {
   height: 12px;
   padding: 10px;
 }
+
+.recent_message_parent { 
+  img { 
+    padding-right:10px;
+  }
+  background: #fff !important;
+  background: -webkit-gradient(linear,left top,left bottom,from(#fff),to(#EAEAEA)) !important;
+  background: -moz-linear-gradient(top,#fff,#EAEAEA) !important;
+  background: transparent 9 !important;
+
+  float: left;
+  margin: 0 20px 20px 0px;
+  padding: 5px 5px;;
+  width: 420px;
+
+  h4 { 
+    margin-bottom:3px;
+  }
+
+  span { 
+    
+  }
+}
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index 5a558bde64f3e1edddf661bb2bea230f56e4f1d6..7469b05b0be1e1189dc8a0105f437d50253eb943 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -60,17 +60,21 @@ class ProjectsController < ApplicationController
   end
 
   def show
-    @date = Date.today - 7.days
+    @date = case params[:view]
+            when "week" then Date.today - 7.days
+            else Date.today
+            end
+
     @heads = @project.repo.heads
     @commits = @heads.map do |h| 
-      @project.repo.log(h.name, nil, :since => @date)
+      @project.repo.log(h.name, nil, :since => @date - 1.day)
     end.flatten.uniq { |c| c.id }
     
     @commits.sort! do |x, y|
       y.committed_date <=> x.committed_date
     end
 
-    @messages = project.notes.last_week.limit(40).order("created_at DESC")
+    @messages = project.notes.since(@date).limit(40).order("created_at DESC")
   end
 
   #
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb
index 4556c8ba77b1d34ddc223136399a33efeffb6a16..02e1df5d0b67617d057ee445912834e9e4584525 100644
--- a/app/helpers/projects_helper.rb
+++ b/app/helpers/projects_helper.rb
@@ -4,15 +4,14 @@ module ProjectsHelper
     cookies["project_view"] == type ? nil : "display:none"
   end
 
-  def noteable_link(id, type, project)
+  def load_note_parent(id, type, project)
     case type
-    when "Issue"
-      link_to "Issue ##{id}", project_issue_path(project, id)
-    when "Commit"
-      commit = project.repo.commits(id).first
-      link_to truncate(commit.id,:length => 10), project_commit_path(project, id)
+    when "Issue" then @project.issues.find(id)
+    when "Commit" then @project.repo.commits(id).first
     else
-      link_to "Wall", wall_project_path(project)
+      true
     end
+  rescue 
+    nil
   end
 end
diff --git a/app/models/note.rb b/app/models/note.rb
index a02464fae75f0d73706f89c7883ca62ba32e5941..71fd9dcd136495969835c483532f404042bc8a8d 100644
--- a/app/models/note.rb
+++ b/app/models/note.rb
@@ -23,6 +23,7 @@ class Note < ActiveRecord::Base
   scope :common, where(:noteable_id => nil)
 
   scope :last_week, where("created_at  >= :date", :date => (Date.today - 7.days))
+  scope :since, lambda { |day| where("created_at  >= :date", :date => (day)) }
 
   mount_uploader :attachment, AttachmentUploader
 end
diff --git a/app/views/projects/_recent_commits.html.haml b/app/views/projects/_recent_commits.html.haml
new file mode 100644
index 0000000000000000000000000000000000000000..812be93c1a30ba5883111f6f75f4f26aceda2eb0
--- /dev/null
+++ b/app/views/projects/_recent_commits.html.haml
@@ -0,0 +1,18 @@
+- @commits.each do |commit|
+  %div.commit
+    - if commit.author.email
+      = image_tag gravatar_icon(commit.author.email), :class => "left", :width => 40, :style => "padding-right:5px;"
+    - else
+      = image_tag "no_avatar.png", :class => "left", :width => 40, :style => "padding-right:5px;"
+    %p{:style => "margin-bottom: 3px;"}
+      %strong
+        = link_to truncate_commit_message(commit, 60), project_commit_path(@project, :id => commit.id) 
+      
+    %span
+      %span
+        [ #{commit.author} ]
+      %cite
+        = time_ago_in_words(commit.committed_date)
+        ago
+  %br
+
diff --git a/app/views/projects/_recent_messages.html.haml b/app/views/projects/_recent_messages.html.haml
new file mode 100644
index 0000000000000000000000000000000000000000..2191ed954aa1e92610a78c22df31cd4b8139f77d
--- /dev/null
+++ b/app/views/projects/_recent_messages.html.haml
@@ -0,0 +1,48 @@
+- @messages.group_by{ |x| [x.noteable_id, x.noteable_type]}.each do |item, notes|
+  - id, type = item[0], item[1]
+  - parent = load_note_parent(id, type, @project)
+  - next unless parent
+
+  - case type
+  - when "Issue"
+    - issue = parent
+    - item_code = issue.author.email
+    - link_item_name = truncate(issue.title, :length => 50)
+    - link_to_item = project_issue_path(@project, issue)
+  - when "Commit"
+    - commit = parent
+    - item_code = commit.author.email
+    - link_item_name = truncate_commit_message(commit, 50)
+    - link_to_item = project_commit_path(@project, :id => commit.id)
+  - else
+    - item_code = @project.name
+    - link_item_name = "Project Wall"
+    - link_to_item = wall_project_path(@project)
+
+  %div.recent_message_parent
+    = image_tag gravatar_icon(item_code), :class => "left", :width => 40
+    %h4
+      = link_to(link_item_name, link_to_item)
+    %span
+      = type
+  .clear
+  - notes.sort {|x,y| x.updated_at <=> y.updated_at }.each do |note|
+    %div.message
+      = image_tag gravatar_icon(note.author.email), :class => "left", :width => 24, :style => "padding-right:5px;"
+      %p{:style => "margin-bottom: 3px;"}
+        = link_to truncate(note.note, :length => 50), "#" 
+        - if note.attachment.url
+          %br
+          Attachment:
+          = link_to note.attachment_identifier, note.attachment.url
+          %br
+      %span
+        %span
+          [ #{note.author.name} ]
+        %cite
+          = time_ago_in_words(note.created_at)
+          ago
+    %br
+  .append-bottom
+    &nbsp;
+  .clear
diff --git a/app/views/projects/show.html.haml b/app/views/projects/show.html.haml
index 9daa44aa30cb6db5e6400ba6d41b1b6ad6593007..25cd7b947c4b7fd121d808a3c77cef231813fa3d 100644
--- a/app/views/projects/show.html.haml
+++ b/app/views/projects/show.html.haml
@@ -1,44 +1,20 @@
-.span-12
-  %h2 Recent commits
+%div
+  %h2.left Recent history
+  .right
+    = form_tag project_path(@project), :method => :get do
+      .span-2
+        = radio_button_tag :view, "day", (params[:view] || "day") == "day", :onclick => "this.form.submit()", :id => "day_view"
+        = label_tag "day_view","Day"
+      .span-2
+        = radio_button_tag :view, "week", params[:view] == "week", :onclick => "this.form.submit()", :id => "week_view"
+        = label_tag "week_view","Week"
+  .clear
   %hr
-  - @commits.each do |commit|
-    %div.commit
-      - if commit.author.email
-        = image_tag gravatar_icon(commit.author.email), :class => "left", :width => 40, :style => "padding-right:5px;"
-      - else
-        = image_tag "no_avatar.png", :class => "left", :width => 40, :style => "padding-right:5px;"
-      %p{:style => "margin-bottom: 3px;"}
-        %strong
-          = link_to truncate_commit_message(commit, 60), project_commit_path(@project, :id => commit.id) 
-        
-      %span
-        %span
-          [ #{commit.author} ]
-        %cite
-          = time_ago_in_words(commit.committed_date)
-          ago
-    %br
 .span-11
-  %h2 Recent Messages
-  %hr
-  - @messages.group_by{ |x| [x.noteable_id, x.noteable_type]}.each do |item, notes|
-    %h3
-      = noteable_link(item[0], item[1], @project)
-    - notes.each do |note|
-      %div.message
-        = image_tag gravatar_icon(note.author.email), :class => "left", :width => 40, :style => "padding-right:5px;"
-        %p{:style => "margin-bottom: 3px;"}
-          = link_to truncate(note.note, :length => 50), "#" 
-          - if note.attachment.url
-            %br
-            Attachment:
-            = link_to note.attachment_identifier, note.attachment.url
-            %br
-        %span
-          %span
-            [ #{note.author.name} ]
-          %cite
-            = time_ago_in_words(note.created_at)
-            ago
-      %br
+  %h3 Commits
+  =render "projects/recent_commits"
+
+.span-11.right
+  %h3 Messages
+  =render "projects/recent_messages"