<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://community.daptiv.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">The Product Blog</title><subtitle type="html">The Product Blog is where you can learn about product releases, features, what&amp;#39;s new, and what&amp;#39;s next. Bloggers include Product Managers, User Experience folks, and our User Education team.</subtitle><id>http://community.daptiv.com/blogs/product_management_blog/atom.aspx</id><link rel="alternate" type="text/html" href="http://community.daptiv.com/blogs/product_management_blog/default.aspx" /><link rel="self" type="application/atom+xml" href="http://community.daptiv.com/blogs/product_management_blog/atom.aspx" /><generator uri="http://communityserver.org" version="3.1.20910.1126">Community Server</generator><updated>2006-11-06T15:12:00Z</updated><entry><title>Speeding up Daptiv load times</title><link rel="alternate" type="text/html" href="http://community.daptiv.com/blogs/product_management_blog/archive/2007/11/26/speeding-up-daptiv-load-times.aspx" /><id>http://community.daptiv.com/blogs/product_management_blog/archive/2007/11/26/speeding-up-daptiv-load-times.aspx</id><published>2007-11-26T20:00:00Z</published><updated>2007-11-26T20:00:00Z</updated><content type="html">

&lt;p&gt;With the power of our new dashboard functionality you can do some pretty
neat things, though one of the largest benefits was the ability to create a
dashboard with no parts. An empty dashboard should give enormous gains in terms
of loading times as you will have a small base page and have the added
advantage of not having to download any of the extra images or wait for the
loading of the parts themselves. &lt;/p&gt;

&lt;p&gt;In dealing with file sizes, your new dashboards page will be around 41k
without any dashboard parts. Also if this is your first time to this page
you&amp;#39;ll have additional files such as scripts and images to download, which
could total around 169k&amp;nbsp;for your total transfer time.&amp;nbsp; Typically you
won&amp;#39;t have to download those extra files, but it’s still something that you
might be concerned about.&lt;/p&gt;

&lt;p&gt;On other end of the spectrum, your default dashboard (such as mine on our
local internal server) which probably has one of all the components, would be
around 134k and including its ancillary files can get up to 300k and beyond.&lt;/p&gt;

&lt;p&gt;The Daptiv User Experience team is very focused on getting these sizes down;
we&amp;#39;ve implemented compression and new caching systems into our code base to
allow you to do your work faster. We&amp;#39;ll be reducing the amount you have to
consistently download each page refresh these next few months, and in the
future we hope the amount of dashboard parts on your dashboard won&amp;#39;t be a
loading time concern. Until then, we suggest that if you’re not using the
dashboard components hide them for your default view, and build some other
views to track all your wonderful data.&lt;/p&gt;



&lt;img src="http://community.daptiv.com/aggbug.aspx?PostID=2746" width="1" height="1"&gt;</content><author><name>Justise</name><uri>http://community.daptiv.com/members/Justise.aspx</uri></author></entry><entry><title>A Fallen Leaf is Nothing More Than a Summer's Wave Goodbye</title><link rel="alternate" type="text/html" href="http://community.daptiv.com/blogs/product_management_blog/archive/2007/11/12/a-fallen-leaf-is-nothing-more-than-a-summer-s-wave-goodbye.aspx" /><id>http://community.daptiv.com/blogs/product_management_blog/archive/2007/11/12/a-fallen-leaf-is-nothing-more-than-a-summer-s-wave-goodbye.aspx</id><published>2007-11-12T18:32:00Z</published><updated>2007-11-12T18:32:00Z</updated><content type="html">&lt;p&gt;In Seattle you always know Fall is here when the dew arrives in the morning and the day brings enviable rain or overcast.&amp;nbsp; At my house the seasonal shift manifests itself in the form of hand sized leaves falling from my larger than life maple tree. For Daptiv and our customers this Fall brings a new UI brand\skin and the the industry&amp;#39;s first on-demand Work Intelligence solution.&lt;br /&gt;&lt;br /&gt;Work Intelligence (WI) is a set new enterprise class report authoring and dashboard tools. Coupled with project, resource, collaboration and dynamic application data. All on top of our organization&amp;#39;s world class SaaS infrastructure. As you can see Work Intelligence is more than a feature or function - it is a holistic solution that will allow our customers to extend the value of Daptiv PPM to new departments, business operations, and end user audiences by providing insight and decision support into all work within IT and the mid-office. If you are interested in finding out more about WI check out this informal &lt;a href="http://www.daptiv.com/assets/flash/daptiv_ppm/07_fall/Daptiv_PPM_Fall_07_Preview.htm" title="Fall &amp;#39;07 Demo Video" target="_blank"&gt;demo&lt;/a&gt; I recorded last week. &lt;br /&gt;&lt;br /&gt;As always, our Fall &amp;#39;07 release contains additional features that continue to extend our existing functionally, quality, and user experience. On Monday, November 18th say good bye to Summer and hello to Fall and the future of Work Management in the mid-office.&lt;/p&gt;&lt;img src="http://community.daptiv.com/aggbug.aspx?PostID=2662" width="1" height="1"&gt;</content><author><name>Eric Bergman</name><uri>http://community.daptiv.com/members/Eric-Bergman.aspx</uri></author><category term="Product" scheme="http://community.daptiv.com/blogs/product_management_blog/archive/tags/Product/default.aspx" /><category term="Dashboards" scheme="http://community.daptiv.com/blogs/product_management_blog/archive/tags/Dashboards/default.aspx" /><category term="Features" scheme="http://community.daptiv.com/blogs/product_management_blog/archive/tags/Features/default.aspx" /><category term="Reporting" scheme="http://community.daptiv.com/blogs/product_management_blog/archive/tags/Reporting/default.aspx" /><category term="Fall" scheme="http://community.daptiv.com/blogs/product_management_blog/archive/tags/Fall/default.aspx" /><category term="Work Intelligence" scheme="http://community.daptiv.com/blogs/product_management_blog/archive/tags/Work+Intelligence/default.aspx" /><category term="Release" scheme="http://community.daptiv.com/blogs/product_management_blog/archive/tags/Release/default.aspx" /><category term="SaaS" scheme="http://community.daptiv.com/blogs/product_management_blog/archive/tags/SaaS/default.aspx" /></entry><entry><title>Giving some attention to Script</title><link rel="alternate" type="text/html" href="http://community.daptiv.com/blogs/product_management_blog/archive/2007/04/19/1922.aspx" /><id>http://community.daptiv.com/blogs/product_management_blog/archive/2007/04/19/1922.aspx</id><published>2007-04-19T22:15:00Z</published><updated>2007-04-19T22:15:00Z</updated><content type="html">A new initiative that probably means very little to most of
you is the development of a Javascript Library here at eProject. They are all
the rage these days, with more then a page’s worth listed here at the &lt;a href="http://www.webmaster-talk.com/javascript-forum/63446-ajax-dhtml-and-javascript-libraries.html"&gt;Webmaster
Talk forums&lt;/a&gt;.&lt;br&gt;&lt;br&gt;

This is of course not the reason we are implementing said
library, having your code in a library has some major advantages. Focusing on
re-usability is a big one, so is easy testing. Previous to this initiative we
didn’t unit test any of our client script, we actually have people go through
every portion of eProject trying to break it. What the unit testing gives us is
an instant response into the quality of the code, without having to get monkeys
banging on keyboards and monitors for weeks.&lt;br&gt;&lt;br&gt;

eProject has been around a long time, and so has its
code-base. We have scripts spread out all over the system, and having each bit
go through our process is a time consuming task.&lt;br&gt;&lt;br&gt;

Speaking of the process, each script is
getting a full cycle which includes, validation for usage, tests, re-factored,
and documented. Part of the re-factoring
process includes considerations for cross-browser compliance, performance enhancements,
and syntax.&lt;br&gt;&lt;br&gt;

To you this should be reflected in more consistency in the
UI components (we realize we have at least 4 different calendar components),  greater quality, and hopefully more
utilization to make your life easier.&lt;br&gt;&lt;br&gt;&lt;img src="http://community.daptiv.com/aggbug.aspx?PostID=1922" width="1" height="1"&gt;</content><author><name>Justise</name><uri>http://community.daptiv.com/members/Justise.aspx</uri></author></entry><entry><title>Increasing Performance, via smaller downloads</title><link rel="alternate" type="text/html" href="http://community.daptiv.com/blogs/product_management_blog/archive/2007/04/18/1921.aspx" /><id>http://community.daptiv.com/blogs/product_management_blog/archive/2007/04/18/1921.aspx</id><published>2007-04-19T00:27:00Z</published><updated>2007-04-19T00:27:00Z</updated><content type="html">

&lt;p class="MsoNormal"&gt;As a
company that competes against windows based applications, and the flashy AJAX products,
performance is something that is become more and more of a big deal. As our
customers are dealing with larger sets of data, and utilizing our system more
and more, we realize that the pauses between pages, and extra clicks are
becoming an issue.&lt;br&gt;
&lt;br&gt;
Any easy way to make load times quicker is to compress our static files, which
is what I spent today doing. After our build process, we run &lt;a href="http://www.raboof.com/projects/Jazmin/"&gt;JSCompress&lt;/a&gt; and &lt;a href="http://csstidy.sourceforge.net/"&gt;CssTidy&lt;/a&gt; which removes redundancy and
unnecessary content from the files then re-packages them.&lt;br&gt;
&lt;br&gt;
To run CssTidy, you'll need to download the package from thier website and put
the exe somewhere accessable. Then you need to add the following lines to your
msbuild file.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;ItemGroup&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;CssFiles&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Include&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;"&lt;span&gt;C:\dev\Website\**\*.css&lt;/span&gt;"&lt;span&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;ItemGroup&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Target&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Name&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;"&lt;span&gt;CompressCss&lt;/span&gt;"&lt;span&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Exec&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Command&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;"&lt;span&gt;C:\CssTidy\csstidy.exe
%(CssFiles.FullPath) %(CssFiles.FullPath) --template=highest&lt;/span&gt;"&lt;span&gt; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Target&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;br&gt;
&lt;br&gt;
One of the important things to note here is the % sign, this tells MSBuild to
do this task once for each item in CssFiles, which since you recusively
included all the css files in the website dir (**\*.css) should be all the css
files for your project.&lt;br&gt;
&lt;br&gt;
At this point, just do a &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;CallTarget&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Targets&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;"&lt;span&gt;CompressCss&lt;/span&gt;"&lt;span&gt;/&amp;gt; &lt;/span&gt;&lt;/span&gt;when
you want it to fire off, and your good.&lt;br&gt;
&lt;br&gt;
The same is true for JSCompress, only its available as a MSBuild task, so we
don't have to do this Exec stuff. &lt;br&gt;
&lt;br&gt;
Include the task, a member of the MSBuild Community tasks&lt;br&gt;
&lt;br&gt;
&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Import&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Project&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;"&lt;span&gt;$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets&lt;/span&gt;"&lt;span&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;
&lt;br&gt;
Then, do as before, build a list of JS Files, and pass them to the JSCompress
Task. (Documentation for this is only available offline as part of the &lt;a href="http://msbuildtasks.tigris.org/"&gt;MSBuild Community Tasks&lt;/a&gt; install.)&lt;br&gt;
&lt;br&gt;
&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;ItemGroup&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;ScriptFiles&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Include&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;"&lt;span&gt;C:\dev\Website\**\*.js&lt;/span&gt;"&lt;span&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;ItemGroup&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Target&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Name&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;"&lt;span&gt;CompressJS&lt;/span&gt;"&lt;span&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;JSCompress&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Files&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;"&lt;span&gt;%(ScriptFiles.FullPath)&lt;/span&gt;"&lt;span&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;JSCompress&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Target&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;br&gt;
Hopefully you should see the gains of this in our next release of eProject!&lt;br&gt;
&lt;br&gt;
&lt;span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://community.daptiv.com/aggbug.aspx?PostID=1921" width="1" height="1"&gt;</content><author><name>Justise</name><uri>http://community.daptiv.com/members/Justise.aspx</uri></author></entry><entry><title>eProjects Experiences with JSUnit, so far</title><link rel="alternate" type="text/html" href="http://community.daptiv.com/blogs/product_management_blog/archive/2006/11/06/1321.aspx" /><id>http://community.daptiv.com/blogs/product_management_blog/archive/2006/11/06/1321.aspx</id><published>2006-11-06T23:12:00Z</published><updated>2006-11-06T23:12:00Z</updated><content type="html">&lt;p&gt;So at eProject, we've recently switched to Scrum for our
development purposes and the transition has been, difficult. It was
easy to jump off the cliff, but were hitting every tree branch on the
way down. I'll have to write another post about all that, because I
would never get to JSUnit if I blabbed on and on about Scrum.&lt;/p&gt;
&lt;p&gt;To summarize that future post in short, we now have time and the
will to accommodate Javascript testing, so off I go to find a nice
framework. There was two frameworks nicknamed JSUnit but only one
seemed really professionally ready. So I installed, implemented, and
experienced. *&lt;a href="http://jsunit.net/"&gt;http://jsunit.net/&lt;/a&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;This review is made up of two separate but equally important parts, the bad, and the good, these are thier stories.&lt;/p&gt;
&lt;p&gt;Da Dummmmm &lt;font color="red"&gt;The Bad&lt;/font&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Does not allow Remote Execution of local test scripts
&lt;ul&gt;&lt;li&gt;Being a self proclaimed WebDev god, I really should be able to
figure this one out exactly, though the only thing I'm able to deduce
so far is that the security settings won't let me run scripts from so
many domains in the context JSUnit needs. This is a moderate hindrance
as I wanted to be able to have the JSUnit test runner application to be
run on one machine and I could tell everyone to navigate to this server
to use it, but instead I had to get everyone to install the test runner
themselves.&lt;/li&gt;&lt;li&gt;I was able to have the test pages reference the jsUnit application
script remotely, this needed to be on every page and so its nice that
it was able to be centralized.&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li&gt;Does not allow selection of tests, does not display names of tests run.
&lt;ul&gt;&lt;li&gt;Am I spoiled by NUnit's simple but informative layout? And it does
list the names of the failing tests, with a button that you can press
to see why it failed. But It still seems like, this should be a nice
little UI that would show me all the info I need to get a clear picture
on what happened in one glance.&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li&gt;Does&lt;br&gt;
 not allow multiple pages to be run.
&lt;ul&gt;&lt;li&gt;I've not digged into how JSUnit works, but being able to cue up a
list of pages with tests on them would be very helpfull. This may also
solve the issue with refreshing the page and losing the URL to your
test page, irritating. Grrrr!&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li&gt; Total lack of ability test an Asynchronous operation.
&lt;ul&gt;&lt;li&gt;This is the 06, I need to be able to unit test an AJAX call.
Obviously I can make the call, but I can't validate the results in any
way.&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;font color="green"&gt;The Good&lt;/font&gt;, Yaaaay!&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Damn, that was kinda easy.
&lt;ul&gt;&lt;li&gt;That great satisfied feeling was still there, it made the code
super slim and easy, and it even made me modularize it to just about
the right level.&lt;/li&gt;&lt;li&gt;Installation is almost to simple, I don't think people around here
feel like its a solid framework when you just have to setup a virtual
directory, unzip and navigate to the test runner. Wheres the
configuration file? &lt;a href="http://www.cornetdesign.com/2006/11/finding-team-explorer.html" title="Don't I have to install some file I don't know exists?" target="_blank"&gt;Don't I have to install some file I don't know exists?&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li&gt;Pat on the back and a blind eye.
&lt;ul&gt;&lt;li&gt;This process has been well recieved, those with a stake in the
script have been very encouraging to me to get this implemented.
Testing is excited that they will have additional coverage, that they
don't even have to write. Management is excited because they actually
know the value of unit testing. Everyone else, well they don't have
quite the infatuation with Javascript as I do, and thier lust for this
framework has been tempered so far. We don't really have a lot of
javascript projects going on right now, so that might change as the
work comes along, but until then...&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li&gt;It does its job
&lt;ul&gt;&lt;li&gt;For all the points against it for poor UI, its still doing a very
good job at its core function, which is to unit tests javascript. I
feel more comfortable now then I ever have about script in the past,
and its never been cleaner.&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://community.daptiv.com/aggbug.aspx?PostID=1321" width="1" height="1"&gt;</content><author><name>Justise</name><uri>http://community.daptiv.com/members/Justise.aspx</uri></author></entry></feed>