Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
RPO 1.0 (Runtime Page Optimizer) is a recently (today?) released component for ASP and Sharepoint that compresses, combines and minifies (I can’t believe that is a real word) Javascript, CSS and other things.
What is interesting is that it was developed for ActionThis.com a NZ shop that saw at TechEd last year. They built a site that quickly needed to be trimmed down due to the deployment scale and this seems to be the result of some of that effort.
Anyone have any comments? Is it worthwhile evaluating this?
http://www.getrpo.com/Product/HowItWorks
Update
I downloaded this yesterday and gave it a whirl on our site. The site is large, complex and uses a lot of javascript, css, ajax, jquery etc as well as URL rewriters and so on. The installation was too easy to be true and I had to bang my head against it a few times to get it to work. The trick... entries in the correct place in the web.config and a close read through the AdvancedSetup.txt to flip settings manually. The site renders mostly correctly but there are a few issues which are probably due to the naming off css classed - it will require some close attention and a lot of testing to make sure that it fits, but so far it looks good and well worth the cost.
Second Update We are busy trying to get RPO hooked up. There are a couple of problems with character encoding and possibly with the composition of some of our scripts. I have to point out that the response and support from the vendor has been very positive and proactive
Third Update I went ahead and went ahead with the process of getting RPO integrated into the site that I was involved in. Although there were some hiccups, the RPO people were very helpful and put a lot of effort into improving the product and making it fit in our environment. It is definitely a no-brainer to use RPO - the cost for features means that it is simple to just go ahead and implement it. Job done. Move on to next task
I decided to answer this question again after evalutating it a little.
The image combining is really amazing
The CSS and Javascript is nicely minified
All files are cached on the server meaning that the server isn't cained every time it makes a request
The caching is performed at a browser level, meaning it will still work if you use an old (unsupported) browser because you'll just recieve the page un-compressed
You can see the difference youself Optimized vs Unoptimized
The price is as follows...
$499 until the end of september is a steal
$199 for an annual renewal is a steal
I love how RPO is plug and play.
It will take time to create a module like theirs and depending on work load can be worth the $750/year versus the development time it takes to re-create it.
I'm very excited about RPO and reviewing it's effect on my sites.
Something I used quite recently was page optimization module from I found on Darksider's blog. It it not nearly as intense as what RPO sets out to achieve, but a nice start block to building your own optimization module if that's what you're after.
Clarification on the RPO price. Launch price until end of September 2008 is $499 - and this discount is by voucher (email service#getrpo.com to get a voucher). This includes software assurrance for 12 months, after which you can choose to renew for $199 or not - the software still works.
The RPO automates 8 of Steve Souders/Yahoo's principles for High Performance Web Sites - the important thing for us was making a developer friendly tool - you can keep your resources in the format and structure that makes sense for development and the optimization happens at runtime.
I don't want to spam this forum with sales stuff, so just email me if you have any questions - ed.robinson#aptimize.net. Thanks for looking at the RPO.
Ed Robinson, Chief Executive Officer, Aptimize Ltd
I've been a user of the RPO since beta and have it deployed in anger on two of my sites:
http://www.syringe.net.nz (My blog) and
http://www.medrecruit.com (A company in which I have an interest)
I've done a longish winded blog post on the whole why not just turn on caching question here:
http://www.syringe.net.nz/2008/10/21/RuntimePageOptimizerWhyNotJustEnableCachingInIIS.aspx
The short summary version- Caching is a nice to have for people who aren't really geared up to turn it on in IIS (it's still not super easy in IIS6)... the real power is in combining resources as it's latency * request count that really kills your performance.
minifying and gzipping commonly called scripts and style sheets is totally worthwhile - the file size reduction speaks for itself. That's something that you can do through your webserver, without the help of another product.
However, merging scripts and styles and serving them together is an interesting idea from a general 'the fewer requests the better' standpoint.
It looks like interesting technology - I'd try it out. It almost certainly couldn't hurt.
Just had a little look, a lot of the things they offer you should be able to do yourself with a little palnning and foresight (combine all javascript files, combine all css, minify, enable GZip...
$750 a year seems a little steep, and theres no options.
(edit)
After speaking with the marketing bods, it's $499 until end of september, and renewing the liscence will be $199. That persuades me a lot more!
I'm going to give it a whirl and then see how much it improves our DEV server.
I personally have been using a product called PageBlaster by Snapsis that does caching, minification. It is primarily used in DotNetNuke applications, but if I recall correctly it can be used with any ASP.NET application, and the price is right.....
Related
I recently "inherited" an IT company that has a creative wing that does websites. Business is very good, but it seems like our throughput is very low. It's taking 3-6 months per site for just basic sites (no ecommerce, etc). From what I can tell, the process goes like this:
designers design the site using Adobe products
once those mock-ups look good, we outsource the files to be "sliced"
once we get the artifacts back from the "slicers", the web coders plug the information into a Joomla site
the site goes live
My question: is this the correct approach? I don't know enough about CMSs to know if we're using them in the way they're intended to be used. If there is a better process that you know of, or a better CMS that is easier to plug the results of the slicing into, I would love to hear about it.
Thanks for any feedback you might provide.
Ughh. I hate the process you describe. Designers who don't understand much HTML do the design, and then this "slicing" process involves cramming stuff that was never designed to be HTML into HTML.
Unfortunately, at my agency, we've found it difficult to find folks who design from the get-go in HTML/CSS.
But to your question about time, consider this. I'm a sole web developer working for an agency. We spent 4 months rebuilding our own site (a pretty simple site). But 3 of those months were spent going back and forth with the designer making changes.
I didn't start work on the site until one month before launch. From that point all I had was Photoshop files. I recreated the look of those files in Drupal templates and did all the other development (including some medium-complexity javascript) in just one month.
During that month, the design of 40% of the site changed dramatically. If it weren't for that, I would have been done in two weeks.
And I'm just one guy. And I don't consider myself a fast coder AT ALL. Your folks are taking WAY too long.
The web programmers should be able to slice the files, at the end of the day, they are the ones programming it so they should know what they want/need more than anyone else, it will save money and time theoretically.
Wow, 3-6 months for the workflow you described sounds painful. That's a timeline better suited to a site that includes a high level of custom data handling functionality. However, beyond the considerable mismatch between the process you describe and the time it's taking, the scope of this question seems pretty wide for stackoverflow.
I'd start by editing your question to indicate the amount of time typically spent on each of these steps. Just based on what you list I can't possibly imagine that taking 3 months, let alone 6.
Ok, if "Business is very good" and you're spending "3-6 months per site" then the only conclusion is that these are very high design websites with good margins. So you don't sound like you're in the slice and dice $14.95 a month website business.
Given that the sites we build often have a primary stake holder who is subject to corporate design guidelines and marketing criteria followed by product positioning criteria it's not unusual for us to spend 3 months getting the design work done. We can go through 3 design iterations (all of which the clients pay for).
The only difference to your situation is that our designers are 'web designer' and either understand how to build a Photoshop file to be 'sliced' or work in conjunction with the people that will be doing the slicing.
So, the only thing I find odd is that you send out the work to be sliced.
Nothing wrong with the process but the resource arrangement seems not correct. If it's a design company, I would expect you should have your own designers who can slice those images, rather than outsourcing. This will improve your efficiency and speed.
As for the CMS, Joomla is a much complicated CMS which is suitable for larger websites that require extensive CMS features. For normal corporate websites, I would suggest to use WordPress. It's very lightweight, easy to use, easy to skin and easy to setup.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
As a junior developer, I mean without great experience, what would you do for a client about an eshop? Start from scratch and handcode an e-shop(simple one)? If yes are there any good tutorials you suggest?
Or buy something ready, lets say VirtueMart templates for joomla or a similar solution for Wordpress?
Even if you described yourself as an expert I still wouldn't recommend that you write an ecommerce application from scratch unless
your client does something very specific that can't be made to fit an existing solution
your client has huge amounts of money and doesn't want you to deliver anything for months (or more)
you can offset either of the above because your business plan is to develop the next Magento and you have the resources to hire a development team and market your solution
Displaying products on the front end is relatively trivial. The rest of the iceberg e.g. security, user management, the back end (admin interface) of your website, tax calculations, shipping, cart functionality, templates, payment gateways etc. would take considerably longer.
Unfortunately, even if you deliver you would still be behind the competition when your client says: "I want feature x that I've seen on website y" and you have to quote for bespoke development instead of installing or enabling a module on a ready-made application. Unless they're prepared to spend a lot of time and money they will soon look for an alternative.
If you're already using Joomla, I'd recommend installing the Joomla + VirtueMart bundle here:
http://virtuemart.net/downloads
If you're using WordPress take a look at ShopperPress or Get Shopped.
There are many more out there (Magento, osCommerce, Zen etc.)!
The most important thing to do is to match your client's requirements with the features of the application you feel comfortable using.
I would definitely not hand code or encourage this.
It is not sustainable for the client unless him and you are going to work together for the next millennium. What happens is that in a year or two they want new functionality, and if you are available, you need to have done a very very good job of structuring and commenting your own code to remember it yourself (as a new developer you learn new things every day, and solutions I did a year ago, I would restructure today).
The even more likely scenario is that another developer, system designer or graphic designer comes along, and it will be pointless, enormously time consuming and costly for the client to have person number two dig through your code.
Your time is better spent learning solid cms-systems and improving those, rather than reinventing the wheel. There are too many sites out there that are made as one-offs, and therefore often unmanageable in the long run.
I understand that programmers wants to progam, and the temptation to start with a blank editor page, but it is not good for the client, and it is not good for you reputation down the road.
Use your skills to make unique and custom made plugins, functions etc for your client. Do not waste your time building frameworks that others have already - and most likely - done better.
..and make sure you pick a cms your customer can handle. Do not give him joomla or drupal, if he is of the sort that can barely figure out how to publish a post in wordpress.
You might take this opportunity to learn about recent Web technologies and tools, in particular non-PHP based things like Opa language or Ocsigen library or perhaps Kaya; these tools probably have some useful infrastructure for your needs.
You might also checkout ShopAlternaMart for WordPress
I'm happy with opencart, an open source e-Commerce (see my site here, if you like). There are of course many others.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 4 years ago.
Improve this question
I've spent a few hours already studying some CMS solutions for one of my customers' new business...In the end, I've taken in consideration these two: DotNetNuke and Composite C1.
I know all of these have a lot of features, a lot of capabilities etc.
What I would like to know:
is overhere any .NET guy who have worked with both of these? (if yes, can you please share your opinion - PRO and CONS?)
if for some reason I do need to add some new ASP.NET code (for some custom things), which of these two is better for this?
You should definitely go with Composite C1. I have been using DotNetNuke for many years and been very frustrated due to its limitations.
Below I have summed op what I think is best/worst for both CMS products (note: it's been two years since i set up a DNN site, so I do not know if there has been any improvement):
PROS for DNN
List item
VERY simple administration interface.
It is possible to edit pages directly by simply clicking on content when you are signed in.
Huge user/developer base - many extension modules available. Many of them for no charge.
CONS for DNN
The simplicity in DNN is basically the root for all cons;
Hard to extend - you have to develop packages for DNN with your specialized code or generate user controls in .NET (.ascx) files.
Difficult to skin
A lot of overhead related to webforms AJAX files (100+ kb without compression)
No build-in nice urls (but easy to find extensions enabling nice urls)
Relies on SQL-database ( = additional costs)
PROS for C1
Easy installation and setup.
Can run on file system only (and easily be upgraded to SQL support).
Build-in package manager with easy to install extensions.
Support for MVC, XSLT, Webforms and the best: Razor syntax!
Specialized code can be developed easily due to great API.
Great templating support. Can be made very simple and very advanced depending on your skills.
Nice URLs in the 3.0 releases.
Easy to set up multi-site support.
Supports Windows Azure out of box.
CONS for C1
Based on XML for data storage (can cause problems if server shuts down unexpectedly etc. - I have not experienced this)
THe many features in the backend can be a little overwhelming.
Backend takes quite a while to load because it is build like a webapp.
Not as large user base as DNN
Bottomline; Composite C1 is far better than DotNetNuke. Specially if you want to add custom code/functionality.
If you want even more functionality and a more mature CMS than Composite C1 you should take a look a Umbraco. It is open-source just as C1 and of course developed by great Danes ;)
I have quite some years of experience with DotNetNuke.
Avoid it at all costs. I'm serious.
Edit: Since I'm being asked about my reasons for this bold statement, I'll try to provide them.
The company I worked for had around 300 clients on DNN. Many of them were rather large corporations. I have a lot of epxerience with DNN.
First of all, DNN is riddled with bugs. Bugs that are never fixed. Instead, the guys behind DNN seem to be concerned more about introducing new features than providing stability. I've personally submitted a boatload of bug reports to their tracker. How many were fixed? Virtually zero. In most cases I even took the time to provide a patch! To no avail. When they made the switch to C#, they simply closed most of the open issues because their laziness began to bite them in their ass. "In order to better manage and assess issues for fixing, any issue that has not had any activity logged previous to January 1st, 2011, will be auto-closed. " (See here)
I've been bitten by so many bugs in those years. It was a rather frustrating and unsatisfying experience.
Secondly, new features are usually problematic and faulty. DNNCorp also often decides that these new features are not that important and subsequently abandons them for new features. For instance, their taxonomy module has some serious issues when you set up multiple portals and try to use system-wide vocabularies. To my knowledge this hasn't been fixed yet. Their MetaData / ContentItem / ContentType API had some serious problems for a long time and probably still has. It's not even really used for anything, even tho it could alleviate some of the problems that I describe later down (architecture).
Thirdly, their documentation just sucks.
More importantly, I think DNN's architecture is rather outdated. It carries a lot of old baggage. Their tab / module approach makes it very hard to create structured content and make relationships between content items. As soon as you try to create complex web sites, it falls flat on its nose. Not just from a programmer's perspective, but also from the perspective of a content administrator.
The overall impression is that these people are a) not very good programmers and b) don't know what they are doing.
I have worked with both CMS systemes (and many others) and I would recommend you to use Composite C1.
It is in my experience much easier to learn and much faster to be productive in Composite C1. The UI is much better (prettier and eaiser to understand). They have lots of good resources on their website. In my POV the most powerfull feature of Composite is that you don't have to bother about the datalayer - you just create your datatypes as classes or in the GUI and a 'ORM' just make the whole thing happen. That is if you even need datatypes (changes are you don't if it's a simple website).
They're both free and open source. DotNetNuke have a lot more modules that you can buy from third party developers, but Composite C1 still have a lot of what you need.
It's easier to develop new modules in Composite just because of the whole 'ORM' concept.
Only downside I can think of when I compare these to systems is that extranet functionality (logged in users that are not admins) is built into DotNetNuke. This is a module that you have to buy from Composite or develop yourself.
Composite C1 is the best out there for custom functionality and high flexibility. I've been using it for a few weeks and my site will finally be up and running because of it. Short learning curve (speaking for myself) but still very robust and flexible. Love it because you can use Razor with it.
DotNetNuke is still using WebForms and even though it's got a huge user base, but it is somewhat outdated.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 6 years ago.
Improve this question
Where I work we've recently put together what we call the Development Standards Committee which is tasked with improving our procedures, processes, methodologies, tools, standards, and whatever we think would help us become a more effective team.
We've got a spreadsheet of items that we've ranked and are going to start tackling from the top down. We've got things such as better source control (currently on SourceSafe), implement a bug tracker (such as Mantis of FogBugz), peer code review, move to .Net 3.5, possibly move to some form of Agile, do more actual team development rather than single developer per project type stuff, and some other things...
What do you think are some key things that can make or break a development team? What should we add to this list?
Some additional information: We have about 12 people on our windows team, and about fifty in development if you include all platforms. We want to improve as much as possible for everyone, but we're our biggest focus is the Windows team. All of us have been here for a couple of years at least, so most of us know each other and work together pretty well.
The number of people on your team is actually really important here. There are basic things that every team should implement (source code control, bug tracking, etc), but there are things that are different base don team size. Code reviews on a very small team, for instance, can be more informal.
Moving to Agile is a good idea, unless you're particular development environment makes it a bad idea. Also, you'll not be able to do this without support from the people who are using your software.
Consider doing things to ensure that communication between the team is easier and with less roadblocks - do all your members know each other pretty well? Can you work with each other? Do you understand each other's idiosyncracies? Learning to work as a team is much more important than any random process improvements you can make.
Require comments when you check in code (it's great if you can tie commits back to your bug tracker)
Maybe Static Code analysis, like what's built into Visual Studio
Continuous Integration like CruiseControl
Development teams really need good people to start with, that work well together, but this isn't really an item to add to the list. It does however affect my first recommendation, be pragmatic. If you're not encouraging your developers to think about how they work and can drive them selves to improve, it's really hard to lay down a development environment that will do it for them.
Mentor and Training: If you can't do XP, then at least hook up your Juniors with Seniors whenever you can. Not only will you share knowledge but you'll share the context around your projects you own.
Some sort of Continous Integration and regular, tested, working "releases" make wonders for quality.
as better source control (currently on SourceSafe)
If this is Visual SourceSafe -- you need to change this immediately. Try cvs, svn or even something paid like Perforce.
There exists something called Rational Unified Process that deals with your problem (and much more).
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
What software do you use to manage Scrum software development ?
We've tried Tackle and VersionOne (both free) so far and they are good except for the fact that it's difficult to track work in progress. For example, if I have a task that I estimate will take me 8 hours to complete, I've done 4 hours of work with 4 hours remaining, the task is always reported as 8 hours remaining until it is marked complete, at which time it falls to zero.
I'd like to use a tool that will allow me to take an accurate work at the teams WIP at the end of each week and see how much impact that work has had towards a deadline along with completed tasks.
Thanks for your input!
I recommend a white board and excel spreadsheets. The whiteboard has story cards (index cards) , where the work in progress is tracked. The story card starts out with say 8 hours, and as the work progresses decrement the number on the card. At the end of the day, put the numbers in the cards to a spreadsheet.
The whiteboard is visible all the time, and gives the whole team visibility on how the work is progressing.
This question was asked recently:.
Everything from Excel to VersionOne to Scrumworks to BaseCamp was mentioned.
Personally, though, we use a heavily customized Excel sheet, whiteboards, index cards in a variety of colors and a large corkboard.
You also might want to check out Mingle. It's a tool developed by ThoughtWorks, a company that only does Agile.
We've looked at most of the tools out there and ended up with Scrumwise. We've been using it for a while now, and it's incredibly easy to use, and does what we need. It uses the remaining time on each task to compute the burndown etc.
I note that no one has pointed out the misunderstanding of WIP (work in progress).
In agile, “it is not done until it is done”.
While most people see work done as a good thing, it is not. WIP represents investment that can not yet be realised. This is an important part of Agile, but made more explicit in Lean/Kanban.
If you track work done you will encourage developers to work on several things at once, getting everything to “80%” complete. At the end of the project you will spend 4 times more (80% of your time) in “bug fixing”, doing the last 20%. You will look like you are ahead of schedule, but you will over-run.
Also after one sprint, if work packages are small (they will be if you are doing scrum), then the error from not adding part done work to work done is insignificant.
Therefore: Track WIP separately from work done and try to keep it low.
Compromise
As a compromise, you can track part completed with the following rules:
Only track one task per developer. (probably the biggest)
Add a cap, maybe 1/2 sprint.
Discount the rate, maybe 50%, if it is 80% done then report 40%. (tweak the discount rate when you have evidence but don't let it be as high as 100%)
OnTime recently added support for Scrum management (disclaimer: I work for them and helped build the product). :) We also put together an intro video for Scrum if you need more information: Video.
I've been working on an open source web based tool that you can install on site or use our hosted version. We've got sub-task tracking and a real time planning poker feature.
http://www.scrumdo.com/
I was looking up SCRUM software and found this old topic - just my two cents ....
I worked on a project in a healthcare domain for about a year and we used Version One. I am sorry to say, it was perhaps the most despised tool in the project. The testers especially, loathed it. Neither did we developers like it as it was pretty clunky/slow and generally pretty lethargic. We always had excellent customer Support from V1 but the tool just didn't cut it for us.
I am now working in a different project and we are using www.scrumwise.com - and so far so good....
VersionOne does let you change the estimates as you go - the burndown report wouldn't work otherwise. You may be hiding the estimate column or have it set to read-only - click the spanner on the right to list available columns and make sure that the estimate/ToDo column is editable.
We've found it to be rather good, though their odd insistence on customised controls breaks in Chrome.
I would suggest checking out OnTime's Planning board because using excel and an actual white board takes away from actual development time when you can automate the process with software..
I answered a similar question at https://stackoverflow.com/a/16667842/1810290 and I thought of sharing it here as well.
If you are looking for an online scrum tool, then you could have a look at Flying Donut. It is a new online product, and I've used it in my projects with great deal of success. There is a nice way of organizing your backlog, and its GUI is clean with quick response times. It provides different iteration views for planning, execution, and review.
Disclaimer: I have been using it for many months, since I helped building it.
ScrumWorks is nice for small teams. And free, too, for the basic version. We have about 30 developers with multiple projects/iterations/etc. Some basic burn-down charts, good for "yesterday's weather", etc.
Check it out at:
http://danube.com/scrumworks/basic
I think RallyDev might be worth checking out for you. Unless I'm mistaken the way that it tracks time will not cause the issue that you mentioned above.
We have been using it on our project for several months and have grown with it to where the team enjoys using the project.
We use Scrum for Team System which is excellent, but you do need to be using Visual Studio Team System to get it!
I've used this Index card generator, but I see now that there is a newer version link that only uses Excel
I also like their Planning Poker when trying to get estimates.
Just saw this, maybe in a another stackO q/a, https://scrumy.com/demo
Check out Scrum Pig at http://www.bellacode.com. It is a great Windows tool for teams collaborating together when using Scrum.
We use RallyDev for scrum management system. And I found it very much handy.
No-one has mentioned JIRA, is that a cost/OpenSource thing?
I've used JIRA for the last 3 years and have found it to be an excellent tool.
We also use a physical board with a google spreadsheet that serves as an online replica. It works really well and doesn't really add any overhead if everyone gets in the habit of maintaining both. I've blogged about it and included a sample spreadsheet:
http://www.littlebluemonkey.com/blog/online-scrum-tools-part-1-the-scrum-board/
We have used XPlanner. It's simple, but does it's job pretty well. Especially Developers get a nice overview for their current status.