<html><body><span style="font-family:Verdana; color:#000000; font-size:10pt;">Is there a design that can't be done in Drupal? I always figured you could do anything that you can do with standard HTML. <br><br>You might need to move some PHP bits around more for some designs, but really it is all just CSS. Shouldn't the design drive the programming rather than the other way round?<br><br>Mark<br><br>
<blockquote webmail="1" style="border-left: 2px solid blue; margin-left: 8px; padding-left: 8px; font-size: 10pt; color: black; font-family: verdana;">
<div   >
-------- Original Message --------<br>
Subject: Re: [consulting] Drupal-friendly Graphic Design (new subject)<br>
From: Eric Broder &lt;eric@greenoakwebdesign.com&gt;<br>
Date: Tue, March 10, 2009 12:42 pm<br>
To: "A list for Drupal consultants and Drupal service/hosting<br>
providers" &lt;consulting@drupal.org&gt;<br>
<br>
Thank you everyone who weighed in on the importance of using a Drupal-friendly graphic design. Perhaps we can further discuss how this process works.<br><br>So far I detect one main idea coming through: advise the graphic designer on what default "out of the box" implementations look like, possibly by building a prototype first and then telling the graphic designer to use it as an architectural outline.<br> <br>Are there other methods you might suggest? Is it helpful to give a graphic designer a list of readily available variables to play around with? Or to present a choice of basic layout structures that are easy to implement in Drupal?<br> <br>Any additional ideas would be appreciated.<br><br>Thanks,<br>Eric<br><br><div class="gmail_quote">On Sun, Mar 1, 2009 at 6:43 PM, Ashraf Amayreh <font dir="ltr">&lt;<a onclick="return true;if(window.location==top.location){Popup.composeWindow('pcompose.php?sendto=mistknight%40gmail.com');}else{top.Popup.composeWindow('pcompose.php?sendto=mistknight%40gmail.com');}; return false;" href="mailto:mistknight@gmail.com" target="_blank" mce_href="mailto:mistknight@gmail.com">mistknight@gmail.com</a>&gt;</font> wrote:<br> <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div dir="ltr">I guess I forgot to state the overall goal of the prototype I presented above with regards to time estimation. By conveying visual features to the client you eliminate the possibility of miscommunication and missing requirements (the prototype essentially freezes client requirements in a visual way). You also restrict a designer to a design that is Drupal friendly (he needs to stick to the architecture/prototype). <br><br>This will ultimately help in creating a more accurate project estimate, would clarify the site flow, and prevent the case where a design handed down from the client is a total Drupal design nightmare. Or at least that's the theory :)<div class="im"><br><br>-- <br>Ashraf Amayreh<br><a href="http://aamayreh.org" mce_href="http://aamayreh.org" target="_blank">http://aamayreh.org</a><br><br><br></div><div><div></div><div class="h5"><div class="gmail_quote"> On Mon, Mar 2, 2009 at 3:38 AM, Alex Urevick-Ackelsberg <font dir="ltr">&lt;<a onclick="return true;if(window.location==top.location){Popup.composeWindow('pcompose.php?sendto=Alex%40zivtech.com');}else{top.Popup.composeWindow('pcompose.php?sendto=Alex%40zivtech.com');}; return false;" href="mailto:Alex@zivtech.com" mce_href="mailto:Alex@zivtech.com" target="_blank">Alex@zivtech.com</a>&gt;</font> wrote:<br> <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Here's a question: are developers able to share their rates amongst each other? I'm not a lawyer, so don't take my word for it, but I'd be careful about posting your rates on the Consultant list, as someone might consider it an attempt at "price fixing"/collusion.<br> <br>I think it's a gray area, and I don't know if anyone out there really cares about whether Drupal shops publicly share their rates, but I thought I'd put that out there. <br><div><br clear="all"> --<br>Alex Urevick-Ackelsberg<br> ZivTech, LLC<br><a href="http://zivtech.com" mce_href="http://zivtech.com" target="_blank">http://zivtech.com</a><br><a onclick="return true;if(window.location==top.location){Popup.composeWindow('pcompose.php?sendto=alex%40zivtech.com');}else{top.Popup.composeWindow('pcompose.php?sendto=alex%40zivtech.com');}; return false;" href="mailto:alex@zivtech.com" mce_href="mailto:alex@zivtech.com" target="_blank">alex@zivtech.com</a><br>office: (267) 940-7737<br>cell: (215) 866-8956<br>skype: zivtech<br> aim: zivtech<br> <br><br></div><div><div></div><div><div class="gmail_quote">On Sun, Mar 1, 2009 at 8:07 PM, Alex Urevick-Ackelsberg <font dir="ltr">&lt;<a onclick="return true;if(window.location==top.location){Popup.composeWindow('pcompose.php?sendto=Alex%40zivtech.com');}else{top.Popup.composeWindow('pcompose.php?sendto=Alex%40zivtech.com');}; return false;" href="mailto:Alex@zivtech.com" mce_href="mailto:Alex@zivtech.com" target="_blank">Alex@zivtech.com</a>&gt;</font> wrote:<br> <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> Wow! Thank you so much for this Henry!<br> <br> Would you be willing to do a BoF at DrupalCon (assuming you'll be<br> there) to go over this?<br> <br> Also- what would be the best way for us to contribute to this effort?<br> This something we struggle with as well, and your calculations seem<br> pretty spot on for me.<br> <br> Thanks again, this really is a huge help!<br> <br> --<br> <font color="#888888">Alex Urevick-Ackelsberg<br> ZivTech, LLC<br> <a href="http://zivtech.com" mce_href="http://zivtech.com" target="_blank">http://zivtech.com</a><br> <a onclick="return true;if(window.location==top.location){Popup.composeWindow('pcompose.php?sendto=alex%40zivtech.com');}else{top.Popup.composeWindow('pcompose.php?sendto=alex%40zivtech.com');}; return false;" href="mailto:alex@zivtech.com" mce_href="mailto:alex@zivtech.com" target="_blank">alex@zivtech.com</a><br> office: (267) 940-7737<br> cell: (215) 866-8956<br> skype: zivtech<br> aim: zivtech<br> </font><div><div></div><div><br> <br> <br> On Sun, Mar 1, 2009 at 4:53 PM, Henry Poole &lt;<a onclick="return true;if(window.location==top.location){Popup.composeWindow('pcompose.php?sendto=poole%40civicactions.com');}else{top.Popup.composeWindow('pcompose.php?sendto=poole%40civicactions.com');}; return false;" href="mailto:poole@civicactions.com" mce_href="mailto:poole@civicactions.com" target="_blank">poole@civicactions.com</a>&gt; wrote:<br> &gt; A number of folks at CivicActions have been watching this conversation with<br> &gt; great interest. We've had similar challenges over the last couple of years,<br> &gt; and several months ago decided to create a tool to assist with estimating.<br> &gt; We ended up with a OpenOffice spreadsheet called<br> &gt; ca_template_estimating_worksheet. I posted it to the list here last week,<br> &gt; but it was rejected due to it's size. If you would like to check it out,<br> &gt; please find it posted at our website:<br> &gt; <a href="http://civicactions.com/estimating-worksheet" mce_href="http://civicactions.com/estimating-worksheet" target="_blank">http://civicactions.com/estimating-worksheet</a><br> &gt;<br> &gt; Owen Barton, a partner at CivicActions and our Engineering Group Manager is<br> &gt; the maintainer of the tool. Last Friday he released version 1.1 and we<br> &gt; thought it might be of use to other Drupal consultants so we're publicly<br> &gt; releasing it for use under the Creative Commons Attribution Share Alike 3.0<br> &gt; license. You are free to use under the terms of this license. In the spirit<br> &gt; of the community in which we work, we would also appreciate that you share<br> &gt; any improvements with the rest of the community (back on this list would be<br> &gt; great).<br> &gt;<br> &gt; The file (posted at <a href="http://civicactions.com/estimating-worksheet" mce_href="http://civicactions.com/estimating-worksheet" target="_blank">http://civicactions.com/estimating-worksheet</a>) contains<br> &gt; five worksheets:<br> &gt;<br> &gt; 1. Intro contains important notes on the tool.<br> &gt; 2. Line-Item Estimate is for estimates of individual work items based on the<br> &gt; provided RFP/documentation. The totals from this are used in the other<br> &gt; sheets.<br> &gt; 3. RFP Estimate calculates final hour and cost estimates and includes all<br> &gt; functionality that is reasonable to implement from the RFP or documentation<br> &gt; provided.<br> &gt; 4. Recommended Estimate calculates final hour and cost estimates and makes<br> &gt; allowances to avoid major custom work and focus on high-value out-of-the-box<br> &gt; functionality. This is generally only used when the estimate for the RFP<br> &gt; exceeds the available budget. Please note that this sheet is disabled by<br> &gt; default - to enable use the switch on the sheet.<br> &gt; 5. Client Summary is a friendly summary of the information we normally<br> &gt; include with our proposals. The values from this sheet can be copy and<br> &gt; pasted from this sheet into a new spreadsheet file or into the proposal<br> &gt; document.<br> &gt;<br> &gt; Overview of Features:<br> &gt; ● Takes into account the certainty of the line item estimates (allowing for<br> &gt; vague RFPs, technical risks and areas that need research) to produce low and<br> &gt; high estimates, in addition to the 'normal' estimate that give an idea of<br> &gt; the expected range of variability.<br> &gt; ● Allows us to recommend reduced, simplified or alternative functionality<br> &gt; than what is requested (especially useful for clients with dreams bigger<br> &gt; than their pockets).<br> &gt; ● Calculates cost estimates based on actual role rates, rather than blended<br> &gt; rates.<br> &gt;<br> &gt; Types of estimates rolled into the total:<br> &gt; ● Line-item estimates are the traditional estimates that we have done.<br> &gt; Typically we would only do engineering line-item estimates at the proposal<br> &gt; stage - the other roles would be valuable however if we re-estimate post-IA<br> &gt; or post-strategy, where we have more information and need specific<br> &gt; information for budgeting and scheduling.<br> &gt; ● Duration estimates account for the fact that it takes a certain amount of<br> &gt; our time just to keep a project rolling.<br> &gt; ● Proportional estimates allows us to base an estimate on a proportion of<br> &gt; some other estimate, which is a useful way to estimate some of the QA and PM<br> &gt; work.<br> &gt; ● Manual estimates are a way to include a single aggregate estimate into the<br> &gt; totals - for example creative estimates sometimes use this.<br> &gt;<br> &gt; Not directly related to the spreadsheet, but other things to bear in mind<br> &gt; when estimating:<br> &gt;<br> &gt; ● Things always take longer than you think, be generous (but not silly!)<br> &gt; with your estimates. Getting this balance right is a fine art and takes time<br> &gt; to learn.<br> &gt; ● Make sure you think about, and state each assumption you make when<br> &gt; estimating.<br> &gt; ● Write any assumptions and notes in client friendly language - these notes<br> &gt; will often be included in the proposal.<br> &gt; ● If any RFP line item is looking too big, or actually is several things<br> &gt; rolled into one, split the line item into multiple work items.<br> &gt; ● Estimate each area of work (engineering, theming, configuration,<br> &gt; communication) separately, and make sure you include adequate time for<br> &gt; communication, both with the client to clarify the requirements, and also<br> &gt; internal communication between team members.<br> &gt; ● If the work includes new, untested code, e.g., writing a new module or<br> &gt; including a (non-standard) contrib module, add time in the estimate for unit<br> &gt; testing which could include the writing of simpletests and flag this to the<br> &gt; QA team as a place that will require additional QA.<br> &gt; ● You personally might be able to get a task done very fast, but others may<br> &gt; end up doing that work and may be slower - make sure your estimates allow<br> &gt; for this.<br> &gt; ● Vary the amount or research with the size of the line item - if you are<br> &gt; not sure about something, but it would only take 5 hours to build from<br> &gt; scratch, just put 5 hours - if you need to integrate with some 3rd party<br> &gt; system, and it might be a weeks work make sure that you understand the<br> &gt; requirements very well (ask the client questions to clarify where needed)<br> &gt; and research things fully.<br> &gt; ● Never (ever!) estimate 'to' a budget - your estimates for each line item<br> &gt; should disregard any information we have about the available budget. Instead<br> &gt; think purely in terms of how long it will take to get the job done. If the<br> &gt; hours exceed the budget we will discuss a reduced feature set (at least<br> &gt; initially) with the client. If the overall costs look like they will<br> &gt; massively exceed the budget then ask the client to prioritize first and<br> &gt; estimate a subset of the items.<br> &gt;<br> &gt; We maintain a list of suggested improvements for the tool, and are happy to<br> &gt; release future versions to anyone interested.<br> &gt;<br> &gt; Cheers.<br> &gt;&gt;<br> &gt;&gt; On Fri, Feb 20, 2009 at 6:34 PM, John Saward &lt;<a onclick="return true;if(window.location==top.location){Popup.composeWindow('pcompose.php?sendto=john%40also.com.au');}else{top.Popup.composeWindow('pcompose.php?sendto=john%40also.com.au');}; return false;" href="mailto:john@also.com.au" mce_href="mailto:john@also.com.au" target="_blank">john@also.com.au</a>&gt; wrote:<br> &gt;&gt;&gt;<br> &gt;&gt;&gt; I'm currently very interested in people's experiences with<br> &gt;&gt;&gt; 'estimation-blowout'.<br> &gt;&gt;&gt;<br> &gt;&gt;&gt; In my experience, and discussions with Project Managers, Developers<br> &gt;&gt;&gt; and Clients I find that quite often the number of hours to actually<br> &gt;&gt;&gt; complete a Drupal project or task, is considerably more than the<br> &gt;&gt;&gt; number of hours estimated beforehand. This creates problems<br> &gt;&gt;&gt; (budgetary and otherwise) and stress and even resentments to all<br> &gt;&gt;&gt; involved whether the work is being performed on a<br> &gt;&gt;&gt; fixed-price-quotation, estimated or actual-hours basis.<br> &gt;&gt;&gt;<br> &gt;&gt;&gt; I note the comment from the team who recently updated <a href="http://drupal.org" mce_href="http://drupal.org" target="_blank">drupal.org</a> from<br> &gt;&gt;&gt; 5 to 6, "So while we crafted a fine plan for the upgrade, it took a<br> &gt;&gt;&gt; few more hours then originally planned." <a href="http://drupal.org/node/376454" mce_href="http://drupal.org/node/376454" target="_blank">http://drupal.org/node/376454</a>.<br> &gt;&gt;&gt;<br> &gt;&gt;&gt; I'm understanding that the preparation and planning for the upgrade<br> &gt;&gt;&gt; was a mammoth task, when I read the report of the upgrade sprint, at<br> &gt;&gt;&gt; <a href="http://drupal.org/node/366562" mce_href="http://drupal.org/node/366562" target="_blank">http://drupal.org/node/366562</a>. Those at the sprint, and other<br> &gt;&gt;&gt; contributors, worked hard doing all that was humanly possible to<br> &gt;&gt;&gt; prepare and plan for the upgrade so that least downtime as possible<br> &gt;&gt;&gt; would be entailed. &nbsp;One outcome of the sprint would have been an<br> &gt;&gt;&gt; estimation of how many hours would be required for the final push,<br> &gt;&gt;&gt; the working time that would necessarily entail site downtime. And now<br> &gt;&gt;&gt; I see that the actual upgrade was more intricate and time-consuming<br> &gt;&gt;&gt; than that prediction.<br> &gt;&gt;&gt;<br> &gt;&gt;&gt; My thinking is that these guys are some of the most experienced<br> &gt;&gt;&gt; Drupal engineers around; and most familiar with the entire <a href="http://drupal.org" mce_href="http://drupal.org" target="_blank">drupal.org</a><br> &gt;&gt;&gt; infrastructure. If they are unable to predict the hours beforehand,<br> &gt;&gt;&gt; even after going into 'fine planning' .... well.... who could have?<br> &gt;&gt;&gt;<br> &gt;&gt;&gt; What does it take to accurately estimate a significant Drupal<br> &gt;&gt;&gt; project? Experience obviously, but it seems that is not always enough<br> &gt;&gt;&gt; in itself. Are there just always too many unknowns, too many<br> &gt;&gt;&gt; variables, too many 'what ifs' to be overlooked, in any<br> &gt;&gt;&gt; more-than-basic Drupal work? &nbsp;Is accurate estimation for anything<br> &gt;&gt;&gt; other than highly-repetitive tasks.... verging on the impossible?<br> &gt;&gt;&gt;<br> &gt;&gt;&gt; I'm interested in hearing views and experiences about this.<br> &gt;&gt;&gt;<br> &gt;&gt;&gt; And also I'm interested to know if the upgrade team has a record of<br> &gt;&gt;&gt; hours predicted against actual hours taken, for the upgrade.<br> &gt;&gt;&gt;<br> &gt;&gt;&gt; John<br> &gt;&gt;&gt;<br> &gt;&gt;&gt; ==============<br> &gt;&gt;&gt; John Saward<br> &gt;&gt;&gt; <a href="http://www.drupal.com.au" mce_href="http://www.drupal.com.au" target="_blank">www.drupal.com.au</a><br> &gt;&gt;&gt; 03 5968 1541<br> &gt;&gt;&gt; ==============<br> &gt;&gt;&gt;<br> &gt;&gt;&gt; _______________________________________________<br> &gt;&gt;&gt; consulting mailing list<br> &gt;&gt;&gt; <a onclick="return true;if(window.location==top.location){Popup.composeWindow('pcompose.php?sendto=consulting%40drupal.org');}else{top.Popup.composeWindow('pcompose.php?sendto=consulting%40drupal.org');}; return false;" href="mailto:consulting@drupal.org" mce_href="mailto:consulting@drupal.org" target="_blank">consulting@drupal.org</a><br> &gt;&gt;&gt; <a href="http://lists.drupal.org/mailman/listinfo/consulting" mce_href="http://lists.drupal.org/mailman/listinfo/consulting" target="_blank">http://lists.drupal.org/mailman/listinfo/consulting</a><br> &gt;&gt;<br> &gt;&gt;<br> &gt;<br> &gt;<br> &gt; --<br> &gt; Henry Poole, Partner, CivicActions LLC<br> &gt; Co-Founder, Virtual Artists<br> &gt; Board Member, Free Software Foundation<br> &gt; Blog: <a href="http://www.civicactions.com/blog/henripoole/" mce_href="http://www.civicactions.com/blog/henripoole/" target="_blank">http://www.civicactions.com/blog/henripoole/</a><br> &gt;<br> &gt; Cell: +1 510 684 3180<br> &gt;<br> &gt; **************************************************************<br> &gt;<br> &gt; Henry: Now in Berkeley<br> &gt;<br> &gt; **************************************************************<br> &gt;<br> &gt; _______________________________________________<br> &gt; consulting mailing list<br> &gt; <a onclick="return true;if(window.location==top.location){Popup.composeWindow('pcompose.php?sendto=consulting%40drupal.org');}else{top.Popup.composeWindow('pcompose.php?sendto=consulting%40drupal.org');}; return false;" href="mailto:consulting@drupal.org" mce_href="mailto:consulting@drupal.org" target="_blank">consulting@drupal.org</a><br> &gt; <a href="http://lists.drupal.org/mailman/listinfo/consulting" mce_href="http://lists.drupal.org/mailman/listinfo/consulting" target="_blank">http://lists.drupal.org/mailman/listinfo/consulting</a><br> &gt;<br> &gt;<br> </div></div></blockquote></div><br> </div></div><br>_______________________________________________<br> consulting mailing list<br> <a onclick="return true;if(window.location==top.location){Popup.composeWindow('pcompose.php?sendto=consulting%40drupal.org');}else{top.Popup.composeWindow('pcompose.php?sendto=consulting%40drupal.org');}; return false;" href="mailto:consulting@drupal.org" mce_href="mailto:consulting@drupal.org" target="_blank">consulting@drupal.org</a><br> <a href="http://lists.drupal.org/mailman/listinfo/consulting" mce_href="http://lists.drupal.org/mailman/listinfo/consulting" target="_blank">http://lists.drupal.org/mailman/listinfo/consulting</a><br> <br></blockquote></div> </div></div></div> <br>_______________________________________________<br> consulting mailing list<br> <a onclick="return true;if(window.location==top.location){Popup.composeWindow('pcompose.php?sendto=consulting%40drupal.org');}else{top.Popup.composeWindow('pcompose.php?sendto=consulting%40drupal.org');}; return false;" href="mailto:consulting@drupal.org" target="_blank" mce_href="mailto:consulting@drupal.org">consulting@drupal.org</a><br> <a href="http://lists.drupal.org/mailman/listinfo/consulting" mce_href="http://lists.drupal.org/mailman/listinfo/consulting" target="_blank">http://lists.drupal.org/mailman/listinfo/consulting</a><br> <br></blockquote></div><br><br clear="all"><br>-- <br>Eric Broder<br>Director, Green Oak Web Design<br><a href="http://greenoakwebdesign.com" target="_blank" mce_href="http://greenoakwebdesign.com">greenoakwebdesign.com</a><br>510.410.8158<br> <hr>_______________________________________________<br>
consulting mailing list<br>
consulting@drupal.org<br>
<a href="http://lists.drupal.org/mailman/listinfo/consulting" target="_blank" mce_href="http://lists.drupal.org/mailman/listinfo/consulting">http://lists.drupal.org/mailman/listinfo/consulting</a><br>

</div>
</blockquote></span></body></html>