<?xml version="1.0"?>
<News hasArchived="true" page="8671" pageCount="10720" pageSize="10" timestamp="Fri, 10 Jul 2026 06:26:13 -0400" url="https://my3.my.umbc.edu/posts.xml?page=8671">
<NewsItem contentIssues="true" id="30627" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30627">
<Title>We Increased Our Web App Signups by Knowing Our Users</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <a href="http://rss.buysellads.com/click.php?z=1259902&amp;k=6989dd4b5220d0b14530453de7387991&amp;a=6852&amp;c=1858214218" rel="nofollow external" class="bo"><img src="http://rss.buysellads.com/img.php?z=1259902&amp;k=6989dd4b5220d0b14530453de7387991&amp;a=6852&amp;c=1858214218" alt="" style="max-width: 100%; height: auto;"></a><p><a href="http://buysellads.com/buy/sitedetails/pubkey/6989dd4b5220d0b14530453de7387991/zone/1259902" rel="nofollow external" class="bo">Advertise here with BSA</a></p>
    <br><p><a href="http://sixrevisions.com/web-applications/increase-signups-know-users/" rel="nofollow external" class="bo"><img src="http://cdn.sixrevisions.com/0341-01_conversion_rate_users_thumbnail.jpg" width="550" height="200" alt="We Increased Our Signups by Knowing Our Users" style="max-width: 100%; height: auto;"></a></p>
    <p>Over the past year, we’ve made great strides towards improving conversion at our startup, <a href="http://marketplace.docebo.com/" rel="nofollow external" class="bo">Docebo</a>. What we do at our startup is help companies deliver e-learning solutions through a web interface and a WordPress plugin.</p>
    <p>Because of our recent efforts in improving our <a href="http://sixrevisions.com/usabilityaccessibility/how-to-increase-conversions-on-any-website-in-45-minutes/" title="How to Increase Conversions on any Website in 45 Minutes" rel="nofollow external" class="bo">conversion rates</a>, we now have a fairly good idea of who lands on our homepage, and whether or not they’re likely to convert and becoming a user.</p>
    <p>But it wasn’t always like that for us.</p>
    <p></p>
    <p>Now we take the view that <strong>knowing about our website visitors and users leads to the best conversion rates,</strong> and we’re continually giving our design and development teams new challenges of trying to find more ways to do that.</p>
    <p><img src="http://cdn.sixrevisions.com/0341-10_docebo_screenshot.jpg" width="550" height="387" alt="We Increased Our Signups by Knowing Our Users" style="max-width: 100%; height: auto;"></p>
    <p>In our search for better conversion rates, and through many trials and errors, we’ve discovered plenty of different ways to increase signups on our platform.</p>
    <p>I will share to you how we did it.</p>
    <h3>Optimize Ads Based on User Behavior Trends</h3>
    <p>It’s easy to pour money into pay per click (PPC) campaigns over at Google AdWords and Facebook advertising to drive traffic to our site.</p>
    <p>However, it’s much harder to quantify what they’re giving us back for our money.</p>
    <p>It’s also difficult to determine how to optimize our ad spending for value and quality, rather than just page views.</p>
    <p>Search engine marketing (SEM) is a full time job, and it’s one that most startups don’t have the time, or perhaps even the resources, for.</p>
    <h4>Bid Management Tool</h4>
    <p>So how could we optimize our search engine advertisement spending without breaking the bank?</p>
    <p>We got help in the form of software.</p>
    <p>With the same amount of spending, we nearly <strong>doubled conversions</strong> using a <a href="http://en.wikipedia.org/wiki/Bid_management_software" rel="nofollow external" class="bo">bid management software. </a>In short, bid management software automatically adjusts your PPC marketing campaigns based on which combinations of keywords and ads are converting the best.</p>
    <p>We tested several, and we eventually settled on <a href="http://www.adspert.net/en/" rel="nofollow external" class="bo">Adspert</a>. It only took minutes to sign up and the dashboard was fairly self-explanatory.</p>
    <p><img src="http://cdn.sixrevisions.com/0341-11_adspert_homepage.jpg" width="550" height="417" alt="We Increased Our Signups by Knowing Our Users" style="max-width: 100%; height: auto;"></p>
    <p><img src="http://cdn.sixrevisions.com/0341-02_adspert_bid_management_software.png" width="550" height="397" style="max-width: 100%; height: auto;"></p>
    <p>Once you’re in, the software hooks up with your Google account to download all of the data on campaigns and then sits in the background, making automatic adjustments to bids to <strong>reduce campaign spend by 20%.</strong></p>
    <p>It also factors in seasonality, changing bids depending on the historical data for particular dates or time periods.</p>
    <p>Look for a solution like ours if you’re unhappy with the results of your ad campaigns, or if you think you can get better performance for the same amount of money.</p>
    <h4>The Results</h4>
    <p>The results of using bid optimization were fairly startling.</p>
    <p>In the weeks after beginning to use the software, our <strong>new visits were up by 10%</strong> and <strong>returning visitors up by 20%.</strong></p>
    <p>By tweaking keywords and placements automatically, our bid management software also had a direct impact on the quality of the visitors that found us through PPC, with a <strong>50% increase on page visit duration.</strong></p>
    <p>It’s important to note that although we’ve had great success with PPC advertising, I’d like to think it’s because we don’t just stop after the visitor lands on the site.</p>
    <p>That’s because for a startup like ours, <a href="http://sixrevisions.com/usabilityaccessibility/getting-users-to-sign-up-factors-in-design-and-content/" title="Getting Users to Sign Up: Factors in Design and Content" rel="nofollow external" class="bo">getting signups</a> is what matters the most. Even with a high amount of traffic but very poor conversion rates, our advertising would not be sufficient.</p>
    <p>We prefer to work with information handed to us by users when they engage or convert on the site. We want to know about our site visitors as much as we can.</p>
    <h3>Engaging Site Visitors and Users</h3>
    <p>If we’re paying to acquire visitors, it’s important to us that the visit isn’t wasted. This is where we begin to make a proactive effort to understand what our users want.</p>
    <h4>Online Surveys</h4>
    <p>Our most "in-your-face" method of learning more about our site visitors is using surveys — something often used by businesses for market research, and then subsequently forgotten as the customers begin to arrive.</p>
    <p>But us, we try to hit visitors with surveys to understand why they’re behaving as they are on the site (in conjunction with several other methods which I’ll discuss later on).</p>
    <p>If someone isn’t performing a conversion activity, <em>we want to understand wh</em>y — a train of thought that eventually leads to gaining a much greater value from our ad spend than just thinking "Oh, the target was wrong, let’s change the keyword."</p>
    <p>SurveyMonkey is undoubtedly the brand leader in this space, but we chose <a href="http://fluidsurveys.com/" rel="nofollow external" class="bo">FluidSurveys</a>, which is pretty easy to set up and offers powerful logic options so that we can fine-tune each survey depending on the previous answers.</p>
    <p><img src="http://cdn.sixrevisions.com/0341-12_fluidsurvey_homepage.jpg" width="550" height="351" style="max-width: 100%; height: auto;"></p>
    <h4>Instant Messaging and Live Chat</h4>
    <p>We also use <a href="http://www.vivocha.com/" rel="nofollow external" class="bo">Vivocha</a>, an instant messaging widget that pops up on the site to offer help when customers match the profile we select.</p>
    <p>It’s commonly thought that live chat widgets like Vivocha are a sales tool, but we’ve tried hard to make it into a customer research tool instead.</p>
    <p><img src="http://cdn.sixrevisions.com/0341-13_vivocha.jpg" width="550" height="374" style="max-width: 100%; height: auto;"></p>
    <p>All feedback received through the widget is cataloged and prioritized so that we can keep track of what’s being asked.</p>
    <p>For instance, we noticed that many users communicating through Vivocha were asking for web conferencing integration. That’s an important trend in visitor feedback that we may not have picked up on through surveys, because it’s a <em>spur-of-the-moment, unadulterated thought</em> visitors had while browsing our site that may never have been conveyed any other way. (Subsequently the conferencing integration was added to our development pipeline.)</p>
    <p>Not only does live chat lead to incredibly useful <a href="http://sixrevisions.com/tools/10-excellent-feedback-tools-for-web-designers/" title="10 Excellent Feedback Tools for Web Designers" rel="nofollow external" class="bo">feedback</a>, it also feels more natural to our users too. Live chat is the equivalent of a store assistant approaching as you browse their store, compared to surveys that are more comparable to someone knocking on your door to ask questions.</p>
    <p>In fact, we were so impressed by Vivocha that we integrated it into the Docebo API, allowing our clients and trainers to chat directly with their members of staff as they navigate the online training environment.</p>
    <h3>Tweak the Website’s Design for Our Users</h3>
    <p>We try to understand our users by monitoring what they respond to best.</p>
    <p>Thanks to a host of young startups, <a href="http://sixrevisions.com/user-interface/an-introduction-to-website-split-testing/" title="An Introduction to Website Split Testing" rel="nofollow external" class="bo">A/B testing</a> has moved from something reserved only for big brands into something that all of us can use to quickly and easily test what site visitors are looking for when they land on our site.</p>
    <p>It is quite simply the most efficient way to know more about our website visitors.</p>
    <p>We’ve used <a href="https://www.optimizely.com/" rel="nofollow external" class="bo">Optimizely</a>, but Visual Website Optimizer seems equally popular with startups.</p>
    <p><img src="http://cdn.sixrevisions.com/0341-14_optimizely.jpg" width="550" height="404" style="max-width: 100%; height: auto;"></p>
    <p>Those of a more technical mindset can use easy-to-implement multivariate solutions such as Split (Rails gem) or the Django Experiments framework. These are slightly different from A/B testing but they have the same goal, which is to improve the user interface.</p>
    <h3>Identify Common Conversion Activities</h3>
    <p>The best way to increase conversions for businesses is to <a href="http://sixrevisions.com/user-experience-ux/customer-journey-maps/" title="Improving UX with Customer Journey Maps" rel="nofollow external" class="bo">map out the steps that a customer takes</a> from their signup to their payment.</p>
    <p>That means understanding how a visitor is using the app — and what value they’re getting from it — which is generally measured using engagement.</p>
    <p>Lincoln Murphy’s <a href="http://www.slideshare.net/sixteenventures/a-saas-metric-designed-to-increase-free-trial-conversions-15731807" title="A SaaS Metric designed to Increase Free Trial Conversions" rel="nofollow external" class="bo">Common Conversion Activities</a> (CCA) are how we measure behavior within our app.</p>
    <p>We list down what we expect our visitors to do, and then measure whether they’re behaving as we think that they should.</p>
    <p>Murphy defines Common Conversion Activities (CCA) as:</p>
    <blockquote>
    <p>"a set of story-driven actions defined by falsiﬁable hypotheses that, when completed as a set during the trial, lead to conversion."</p>
    </blockquote>
    <p>Essentially, this means defining a broad hypothesis such as, "If we can produce immediate results, the prospective customer will pay" and marking the steps required to reach that point, whether it’s sending an email, uploading a training course, creating a user, or something else.</p>
    <p>Above all, we focused on designing our app so that customers realized value from it as soon as possible.</p>
    <p><img src="http://cdn.sixrevisions.com/0341-03_getvaluenow.png" width="550" height="150" style="max-width: 100%; height: auto;"></p>
    <p>For example, it’s commonly advised that users should be guided through a set of steps based on a functional view of the software; e.g., a user must provide one detail before they can proceed to an action.</p>
    <p>What we realized was that this UI flow is limiting. Sometimes, to get users to engage straight away, we need to hack the process so that the value is immediately clear without a bunch of steps in between.</p>
    <p>One of the clearest ways you can see this in our system is the offer of pre-written training packs in a marketplace as soon as you sign up, which removes one of the biggest barriers in online training delivery: The creation of the materials.</p>
    <p><img src="http://cdn.sixrevisions.com/0341-04_different_designs.png" width="550" height="669" style="max-width: 100%; height: auto;"></p>
    <p>It’s the same reason Apple suggests apps for beginners and PC manufacturers bundle software: Nobody likes to buy something that they then aren’t sure what to do with.</p>
    <p>It makes an instant difference to <a href="http://sixrevisions.com/user-interface/ux-design-mistakes/" title="Lessons We Learned from Our Biggest UX and Design Mistakes" rel="nofollow external" class="bo">UX</a> and conversion when trial users get down to experiencing the value of the system for what it’s good at — delivering training — rather than getting stuck because they don’t have material at hand.</p>
    <p>By identifying CCAs in this manner, we managed to do away with complex signup flows and replace them with a welcome process that immediately drives the user towards their e-learning goals — and also towards conversion.</p>
    <h3>Don’t Ever Underestimate the Power of Email</h3>
    <p>It’s easy to get bogged down in the minutiae of what’s happening on your main website. There’s an assumption that what happens there is what matters the most, so that’s where the time should be spent.</p>
    <p>For many types of business, that’s a false assumption.</p>
    <p>Any SaaS company like ours that maintains a lead list — whether those are potential customers, expired users, or some other group — needs to pay attention to how those leads are nurtured.</p>
    <p>For a start, we worked hard to make sure we maximized the thousands of people who have signed up to try Docebo in the past. We told them about new features, we alerted them about best practices, and we’ve offered them free time slots to benefit from our e-learning experts.</p>
    <p><img src="http://cdn.sixrevisions.com/0341-05_emailmarketing.jpg" width="550" height="399" style="max-width: 100%; height: auto;"></p>
    <p>Then, we tried to make sure that we were maximizing the touchpoints available. In one example, we sent former users a friendly email to tell them about three new features we’d added to the Docebo learning management system (LMS).</p>
    <p>We learned quickly that this <strong>should have been three emails spaced out over 2-3 weeks</strong> to maximize the chances that our communications were being sent.</p>
    <p>When we started looking at the volume of emails being sent, we realized that huge <strong>opportunities were being lost</strong> to convert as we communicate with our users.</p>
    <p>In some communications, we hadn’t included the website address as the most <a href="http://sixrevisions.com/web_design/the-art-of-distinction-in-web-design/" title="The Art of Distinction in Web Design" rel="nofollow external" class="bo">distinctive</a> link, which meant we were clearly missing opportunities to drive people who had an interest in our solution back towards where we wanted them.</p>
    <h3>Integration with Web Services and Products That Our Users Love Using</h3>
    <p>In recent months, we’ve been making a big development push to get involved in other areas of our customers’ lives.</p>
    <p>For instance, we now know that many of our users are existing users of CRM, ERP and content management tools. So a massive part of our conversion strategy has been around the development of third-party integrations, helping Docebo to become not just a learning management system, but a wider ecosystem that allows us to talk to users that are not yet e-learning experts, but that can benefit from e-learning integration with a third party.</p>
    <p><img src="http://cdn.sixrevisions.com/0341-06_web_service_integration.jpg" width="550" height="237" style="max-width: 100%; height: auto;"></p>
    <p>The rationale behind this, of course, is that when users begin to link up one software product with others, <strong>it becomes a lot harder for them to let it go.</strong> This is the Internet equivalent of how reluctant most of us are in messing around with our TV, DVD player and set-top box once it’s all set up.</p>
    <h4>API</h4>
    <p>Our first step was to create an API, which allows web developers to integrate Docebo into their own sites to any degree they require, helping other developers to get more value from the product than just with our app alone.</p>
    <p>However, API integration wasn’t a panacea. Many customers simply couldn’t spare the time to build custom integration.</p>
    <p>Therefore, we’ve also focused on providing users with off-the-shelf integration, so developing an "app store" of sorts has been a critical part of our strategy so far.</p>
    <p><img src="http://cdn.sixrevisions.com/0341-07_api.jpg" width="550" height="447" style="max-width: 100%; height: auto;"></p>
    <h4>WordPress Plugin</h4>
    <p>We recently launched a <a href="http://sixrevisions.com/wordpress/saas-wordpress/" title="Lessons Learned Building a SaaS with WordPress" rel="nofollow external" class="bo">WordPress plugin</a> that integrates an existing content management system with our e-learning solution.</p>
    <p><img src="http://cdn.sixrevisions.com/0341-08_wordpress_plugin.jpg" width="550" height="433" style="max-width: 100%; height: auto;"></p>
    <p>Based on the most recent results, integrating with existing solutions like WordPress is a track we’re going to continue down on.</p>
    <h4>Results of the WordPress Plugin</h4>
    <p>Since we released the plugin, we’ve had <strong>300 new Docebo installations</strong> from users who want to turn WordPress into an e-learning solution.</p>
    <p>We’ve gotten roughly <strong>200 new customers</strong> from those. It’s a small start when viewed against our overall signup figures, but the traffic numbers are continuing to grow, with the number of people discovering the special WordPress landing page via other sources such as Facebook and the WordPress site itself increasing since the launch of the plugin.</p>
    <p>We also believe that the <strong>traffic arriving via WordPress is higher quality.</strong></p>
    <p>The visitors from WordPress go to more web pages and <strong>spend over 1 minute longer on the site</strong> on average than our other non-paid referrals.</p>
    <p>We’re hoping for similar (or better!) results from our next web service integrations, this time with video conferencing systems (i.e., Adobe Connect and Big Blue Button).</p>
    <h3>Conclusion: Know Your Users, and then Build Your Product for Them</h3>
    <p>We’ve improved quite a lot of things in recent months, but our overriding focus for the near future will still be around knowing our customers and figuring out how we can tweak their experiences for the highest conversion.</p>
    <p>The strategies and tools that I discussed here have helped Docebo grow to over <strong>500,000 users</strong>.</p>
    <p>And we’re still discovering new things about them every day.</p>
    <p>If you’d like to learn more about Docebo, <a href="http://marketplace.docebo.com/" rel="nofollow external" class="bo">check out our website.</a></p>
    <h3>Related Content</h3>
    <ul>
    <li><a href="http://sixrevisions.com/usabilityaccessibility/getting-users-to-sign-up-factors-in-design-and-content/" rel="nofollow external" class="bo">Getting Users to Sign Up: Factors in Design and Content</a></li>
    <li><a href="http://sixrevisions.com/web-applications/designing-web-apps-for-the-ipad/" rel="nofollow external" class="bo">Designing Web Apps for the iPad</a></li>
    <li><a href="http://sixrevisions.com/mobile/design-iphone-apps-better/" rel="nofollow external" class="bo">5 Simple Tips for Designing Better iPhone Apps</a></li>
    <li>
    <em>Related categories</em>: <a href="http://sixrevisions.com/category/web-applications/" rel="nofollow external" class="bo">Web Applications</a> and <a href="http://sixrevisions.com/category/web_design/" rel="nofollow external" class="bo">Web Design</a>
    </li>
    </ul>
    <h3>About the Author</h3>
    <p><img src="http://cdn.sixrevisions.com/authors/jacopo_mauri_small.jpg" alt="" width="80" height="80" style="max-width: 100%; height: auto;"><span><strong>Jacopo Mauri</strong> is a natural born communicator, in love with everything related to writing and tech and with expertise as freelance journalist writing about technology and videogames. He’s an experienced marketer and has worked for companies including Nintendo Italy and Microsoft Italy’s official street marketing agency.</span></p>
    </div>
]]>
</Body>
<Summary>Advertise here with BSA      Over the past year, we’ve made great strides towards improving conversion at our startup, Docebo. What we do at our startup is help companies deliver e-learning...</Summary>
<Website>http://feedproxy.google.com/~r/SixRevisions/~3/LjlRukZZIXE/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30627/guest@my.umbc.edu/e7341fc099fdde87cc0e49e8a06e8b63/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>database</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>sql</Tag>
<Tag>web</Tag>
<Tag>web-applications</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 31 May 2013 06:00:53 -0400</PostedAt>
<EditAt>Fri, 31 May 2013 06:00:53 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="30628" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30628">
<Title>UX consultant slams 'teflon-coated' designers</Title>
<Body>
<![CDATA[
    <div class="html-content">People in the web industry should fight for more accountability, not less<div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.netmagazine.com%2Fnews%2Fux-consultant-slams-teflon-coated-designers-132782&amp;t=UX+consultant+slams+%27teflon-coated%27+designers" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/twitter.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/facebook/?u=http%3A%2F%2Fwww.netmagazine.com%2Fnews%2Fux-consultant-slams-teflon-coated-designers-132782&amp;t=UX+consultant+slams+%27teflon-coated%27+designers" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/facebook.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/linkedin/?u=http%3A%2F%2Fwww.netmagazine.com%2Fnews%2Fux-consultant-slams-teflon-coated-designers-132782&amp;t=UX+consultant+slams+%27teflon-coated%27+designers" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/linkedin.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/gplus/?u=http%3A%2F%2Fwww.netmagazine.com%2Fnews%2Fux-consultant-slams-teflon-coated-designers-132782&amp;t=UX+consultant+slams+%27teflon-coated%27+designers" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/googleplus.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/email/?u=http%3A%2F%2Fwww.netmagazine.com%2Fnews%2Fux-consultant-slams-teflon-coated-designers-132782&amp;t=UX+consultant+slams+%27teflon-coated%27+designers" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/email.png" style="max-width: 100%; height: auto;"></a>
    </td></tr></tbody></table></div>
    <br><br><a href="http://da.feedsportal.com/r/165665597716/u/49/f/502346/c/32632/s/2ca93a5c/kg/342-363/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/165665597716/u/49/f/502346/c/32632/s/2ca93a5c/kg/342-363/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>People in the web industry should fight for more accountability, not less     </Summary>
<Website>http://feedproxy.google.com/~r/net/topstories/~3/aKZZk02qc3c/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30628/guest@my.umbc.edu/c5a396c5c08d0cf61e418bf0b970f151/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>net</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>web</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 31 May 2013 06:00:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="30626" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30626">
<Title>14 key WordPress functions to jump-start theme development</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><img alt="thumbnail" src="http://netdna.webdesignerdepot.com/uploads/2013/05/thumbnail24.jpg" width="200" height="160" style="max-width: 100%; height: auto;">After a few years (or even months) of designing and developing WordPress themes, especially for clients, you start to realize that a lot of the functionality can be standardized or distilled down into a “starter theme or kit”. This helps get the development process started and moving along apace.</p>
    <p>The best first step in doing this, I’ve found, is to nail down most of the common functions and include them in the <code>functions.php</code>. This <code>functions.php</code> file will need to be extended to meet the particular theme’s needs as new projects arise, but it will provide a more than awesome starting point for development.</p>
    <p>There are about 13 key functions that I like to start out with and will add to them as needed…</p>
    <h1>1. Custom menu support</h1>
    <p>The navigation menu feature, introduced in WordPress 3.0, allows for the intuitive creation and maintaining of navigation menus in themes.</p>
    <p>At the very least, a standard theme will need a main navigation menu, perhaps in the header and a secondary navigation menu in the footer. To do this, we will register those two menus “Main Menu” and “Secondary Menu”</p>
    <p>While this isn’t a particularly new feature, its still nice to wrap it in an <code>if function_exists()</code> just in case the user is stuck in a pre 3.0 installation:</p>
    <p>In the <code>functions.php</code> file, include the following:</p>
    <pre>if ( function_exists( 'register_nav_menus' ) ) {&#x000A;    	register_nav_menus(&#x000A;    		array(&#x000A;    		  'main_menu' =&gt; __( 'Main Menu', 'cake' ),&#x000A;    		  'secondary_menu' =&gt; __( 'Secondary Menu', 'cake' ),&#x000A;    		)&#x000A;    	);&#x000A;    }</pre>
    <p>Now that the Menus are registered, we need to tell the theme where to output them. We’d like the Main Menu to appear in our header. So, in our <code>header.php</code> file, we include the following code:</p>
    <pre>&lt;?php if ( has_nav_menu( 'main_menu' ) ) { ?&gt;&#x000A;    	&lt;?php $defaults = array(&#x000A;    	  'theme_location'  =&gt; 'main_menu',&#x000A;    	  'menu'            =&gt; '', &#x000A;    	  'container'       =&gt; false, &#x000A;    	  'echo'            =&gt; true,&#x000A;    	  'fallback_cb'     =&gt; false,&#x000A;    	  'items_wrap'      =&gt; '&lt;ul id="%1$s"&gt; %3$s&lt;/ul&gt;',&#x000A;    	  'depth'           =&gt; 0 );&#x000A;    	  wp_nav_menu( $defaults );&#x000A;    	?&gt;&#x000A;    &lt;?php } else { ?&gt;&#x000A;    	&lt;ul&gt;&#x000A;    	  &lt;?php wp_list_pages('title_li='); ?&gt;&#x000A;    	&lt;/ul&gt;&#x000A;    &lt;?php } ?&gt;</pre>
    <p>First, we check to see if we have a menu called ‘main_menu’ defined and if we do, we insert its contents here, otherwise we fallback to the default <code>wp_list_pages()</code> which we can further customize to display the links as we need.</p>
    <p>If you’d like even further customization of the menu, see the <a href="http://codex.wordpress.org/Function_Reference/wp_nav_menu" rel="nofollow external" class="bo">WordPress codex page on <code>wp_nav_menu()</code></a> function.</p>
    <p>We want the secondary menu to appear in the footer, so we open up the <code>footer.php</code> and include the following code:</p>
    <pre>&lt;?php if ( has_nav_menu( 'secondary_menu' ) ) { ?&gt;&#x000A;    	&lt;?php $defaults = array(&#x000A;    	  'theme_location'  =&gt; 'secondary_menu',&#x000A;    	  'menu'            =&gt; '', &#x000A;    	  'container'       =&gt; false, &#x000A;    	  'echo'            =&gt; true,&#x000A;    	  'fallback_cb'     =&gt; false,&#x000A;    	  'items_wrap'      =&gt; '&lt;ul id="%1$s"&gt; %3$s&lt;/ul&gt;',&#x000A;    	  'depth'           =&gt; 0 );&#x000A;    	  wp_nav_menu( $defaults );&#x000A;    	?&gt;&#x000A;    &lt;?php } else { ?&gt;&#x000A;    	&lt;ul&gt;&#x000A;    	  &lt;?php wp_list_pages('title_li='); ?&gt;&#x000A;    	&lt;/ul&gt;&#x000A;    &lt;?php } ?&gt;</pre>
    <p> </p>
    <h1>2. Style the visual editor</h1>
    <p>This function allows you to use custom CSS to style the WordPress TinyMCE visual editor.</p>
    <p>Create a CSS file named <code>editor-style.css</code> and paste your styles inside. As a placeholder, I like to start with styles in the <code>editor-style.css</code> file of the Twenty Twelve theme.</p>
    <p>In the <code>functions.php</code> add the following:</p>
    <pre>add_editor_style();</pre>
    <p>If you don’t want to use the name “editor-style” for your CSS file and also want to move the file elsewhere, e.g. in within a css directory, then modify the function.</p>
    <p>For example, I want to name my file <code>tiny-mce-styles.css</code> and I want it within my CSS directory; so my function will look like this:</p>
    <pre>add_editor_style('/css/editor-style.css');</pre>
    <p>While we’re at it, we might as well style the editor for right-to-left languages. In the theme directory, create a CSS file called <code>editor-style-rtl.css</code> and, at the very least, include the following:</p>
    <pre>html .mceContentBody {&#x000A;    	direction: rtl;&#x000A;    	unicode-bidi: embed;&#x000A;    }&#x000A;    li {&#x000A;    	margin: 0 24px 0 0;&#x000A;    	margin: 0 1.714285714rem 0 0;&#x000A;    }&#x000A;    dl {&#x000A;    	margin: 0 24px;&#x000A;    	margin: 0 1.714285714rem;&#x000A;    }&#x000A;    tr th {&#x000A;    	text-align: right;&#x000A;    }&#x000A;    td {&#x000A;    	padding: 6px 0 6px 10px;&#x000A;    	text-align: right;&#x000A;    }&#x000A;    .wp-caption {&#x000A;    	text-align: right;&#x000A;    }</pre>
    <p>Again, as a placeholder, the above styles are from the Twenty Twelve theme. Restyle and extend as needed.</p>
    <p> </p>
    <h1>3. Custom avatar support</h1>
    <p>Most people commenting on blogs online have an avatar associated with them. If, however, they don’t and you don’t particularly like the WordPress default avatar options, you can define your own.</p>
    <p>To do so, include the following code in your <code>functions.php</code>:</p>
    <pre>if ( !function_exists('cake_addgravatar') ) {&#x000A;    	function cake_addgravatar( $avatar_defaults ) {&#x000A;    		$myavatar = get_template_directory_uri() . '/images/avatar.png';&#x000A;    		$avatar_defaults[$myavatar] = 'avatar';&#x000A;    		return $avatar_defaults;&#x000A;    	}&#x000A;    	add_filter( 'avatar_defaults', 'cake_addgravatar' );&#x000A;    }</pre>
    <p>What we’re doing here first, is checking to see if the function exists. If it does, we add a filter that tells WordPress to use our custom defined avatar as the default.</p>
    <p>We are telling WordPress to find this avatar in our “images” directory inside the theme directory. Next step, obviously, is to create the image itself and upload it to the “images” folder.</p>
    <p> </p>
    <h1>4. Post formats</h1>
    <p>The post formats feature allows you to customize the style and presentation of posts. As of this writing, there are 9 standardized post formats that users can choose from: aside, gallery, link, image, quote, status, video, audio, and chat. In addition to these, the default “Standard” post format indicates that no post format is specified for the particular post.</p>
    <p>To add this functionality to your theme, include the following code in your <code>functions.php</code>, specifying the post formats you’ll be taking advantage of. e.g. If you only want the aside, image, link, quote, and status Post Formats, your code should look like this:</p>
    <pre>add_theme_support( 'post-formats', array( 'aside', 'image', 'link', 'quote', 'status' ) );</pre>
    <p> </p>
    <h1>5. Featured image function</h1>
    <p>The featured image function, as <a href="http://codex.wordpress.org/Post_Thumbnails" rel="nofollow external" class="bo">the codex</a> explains, allows the author to choose a representative image for Posts, Pages or Custom Post Types.</p>
    <p>To enable this functionality, include the following code in your <code>functions.php</code>:</p>
    <pre>add_theme_support( 'post-thumbnails' );</pre>
    <p>We could stop there and leave it up to WordPress to define the thumbnail sizes or we could take control and define them ourselves. We’ll do the latter, obviously!</p>
    <p>Let’s say we’re running a magazine site where the featured image will appear in at least 3 different sizes. Maybe one large image if the post is featured or is the newest, a medium sized image if its just a post among the rest and a regular size perhaps to appear elsewhere.</p>
    <p>We take advantage of the <code>add_image_size()</code> function that instructs WordPress to make a copy of our featured image in our defined sizes.</p>
    <p>To do this, we add the following to the <code>functions.php</code>:</p>
    <pre>// regular size&#x000A;    add_image_size( 'regular', 400, 350, true );&#x000A;    &#x000A;    // medium size&#x000A;    add_image_size( 'medium', 650, 500, true );&#x000A;    	&#x000A;    // large thumbnails&#x000A;    add_image_size( 'large', 960, '' );</pre>
    <p>See how to work with the <code>add_image_size()</code> function to either soft crop or hard crop your images on the <a href="http://codex.wordpress.org/Function_Reference/add_image_size#Crop_Mode" rel="nofollow external" class="bo">WordPress codex page.</a></p>
    <p> </p>
    <h1>6. Attachment display settings</h1>
    <p>Once we’ve defined the above image sizes (regular, medium and large) — and since by default WordPress doesn’t do it for us — we’ll add the ability to select our those image sizes from the <em>Attachment Display Settings</em> interface.</p>
    <p>It would be nice if you could, when writing a post, insert the desired size image by selecting it from the dropdown as you normally would for the WordPress default sizes.</p>
    <p>To do this, we add the following to our <code>functions.php</code>:</p>
    <pre>// show custom image sizes on when inserting media&#x000A;    function cake_show_image_sizes($sizes) {&#x000A;        $sizes['regular'] = __( 'Our Regular Size', 'cake' );&#x000A;        $sizes['medium'] = __( 'Our Medium Size', 'cake' );&#x000A;        $sizes['large'] = __( 'Our Large Size', 'cake' );&#x000A;        return $sizes;&#x000A;    }&#x000A;    add_filter('image_size_names_choose', 'cake_show_image_sizes');</pre>
    <p>With that in place, we can select our image sizes.</p>
    <p> </p>
    <h1>7. Add feed links (instead of old RSS code in head)</h1>
    <p>This one is simple. If you’ve been building WordPress themes for a while, you’ll remember the days when you had to manually include code to output the RSS feed right in the header.php. This approach is cleaner and relies on the <code>wp_head()</code> action hook to output the necessary code.</p>
    <p>In the <code>functions.php</code> file, include the following:</p>
    <pre>// Adds RSS feed links to for posts and comments.&#x000A;    add_theme_support( 'automatic-feed-links' );</pre>
    <p>Make sure that you have<code></code> it in the <code>header.php</code>, right before end of <code>&amp;rgt;/head&amp;lgt;</code></p>
    <p> </p>
    <h1>8. Load text domain</h1>
    <p>With this function you take the first step towards making your theme available for translation.</p>
    <p>Its best to call this function from within the <code>after_setup_theme()</code> action hook i.e. after the setup, registration, and initialization actions of your theme have run.</p>
    <pre>add_action('after_setup_theme', 'my_theme_setup');&#x000A;    function my_theme_setup(){&#x000A;        load_theme_textdomain('my_theme', get_template_directory() . '/languages');&#x000A;    }</pre>
    <p>Now add a directory named ‘<code>languages</code>‘ in your theme directory.</p>
    <p>You can learn more about load_theme_textdomain() function on the <a href="http://codex.wordpress.org/Function_Reference/load_theme_textdomain" rel="nofollow external" class="bo">WordPress codex page</a>.</p>
    <p> </p>
    <h1>9. Define content width</h1>
    <p>Content width is a feature in themes that allows you to set the maximum allowed width for videos, images, and other oEmbed content in a theme.</p>
    <p>That means, when you paste that YouTube URL in the editor and WordPress automatically displays the actual video on the front end, that video will not exceed the width you set using the <code>$content_width</code> variable.</p>
    <pre>if ( ! isset( $content_width ) )&#x000A;    	$content_width = 600;</pre>
    <p>WordPress also recommends the addition of the following CSS:</p>
    <pre>.size-auto, &#x000A;    .size-full,&#x000A;    .size-large,&#x000A;    .size-medium,&#x000A;    .size-thumbnail {&#x000A;    	max-width: 100%;&#x000A;    	height: auto;&#x000A;    }</pre>
    <p>While this is useful, its a bit heavy handed. It defines the content width for <strong>all</strong> content. What if you wanted videos of a larger width on pages than in posts and an even larger size in a custom post type? Currently, there is no way to define this. There is however a <a href="http://core.trac.wordpress.org/ticket/21256" rel="nofollow external" class="bo">feature request</a> proposing the inclusion of the <code>$content_width</code> variable into the built-in <code>add_theme_support()</code>.</p>
    <p> </p>
    <h1>10. Dynamic sidebar</h1>
    <p>Your typical theme will have at least one sidebar. The code to define the sidebar is pretty straightforward.</p>
    <p>Add the following to your <code>functions.php</code>:</p>
    <pre>if(function_exists('register_sidebar')){&#x000A;    	register_sidebar(array(&#x000A;    		'name' =&gt; 'Main Sidebar',&#x000A;    		'before_widget' =&gt; '&lt;aside id="%1$s" class="widget %2$s"&gt;',&#x000A;    		'after_widget' =&gt; '&lt;/aside&gt;',&#x000A;    		'before_title' =&gt; '&lt;h3&gt;',&#x000A;    		'after_title' =&gt; '&lt;/h3&gt;',&#x000A;    	));&#x000A;    }</pre>
    <p>This registers and defines a sidebar named “Main Sidebar” and its HTML markup.</p>
    <p>You can learn more about the <code>register_sidebar()</code> function on the <a href="http://codex.wordpress.org/Function_Reference/register_sidebar" rel="nofollow external" class="bo">WordPress codex page.</a></p>
    <p>You’ll routinely find the need to have more than that one sidebar so you can just copy/paste the above code and change the name.</p>
    <p>There is also a <code>register_sidebars()</code> function that will allow you to register and define multiple sidebars all at once but it doesn’t give you the flexibility of giving each new sidebar a unique name.</p>
    <p> </p>
    <h1>11. Custom “more” link format</h1>
    <p>If you’re displaying excerpts of your posts on a blog index page, by default WordPress will show <code>[...]</code> to indicate there’s more “after the jump”.</p>
    <p>You will most likely want to add a “more link” and define how that looks.</p>
    <p>To do this we need to add the following code to our <code>functions.php</code>:</p>
    <pre>function new_excerpt_more($more) {&#x000A;           global $post;&#x000A;    	return '...&lt;br /&gt;&lt;br /&gt;&lt;a href="'. get_permalink($post-&gt;ID) . '" class="read_more"&gt;read more →&lt;/a&gt;';&#x000A;    }&#x000A;    add_filter('excerpt_more', 'new_excerpt_more');</pre>
    <p>This adds an ellipses ‘<strong>…</strong>‘ right after the excerpt and includes a read more link after two break tags. You can rename and style the <code>read_more</code> CSS class for the link as desired.</p>
    <p> </p>
    <h1>12. Basic pagination</h1>
    <p>Each theme might have different pagination needs but it’s always safest to start with a nice default functions: <code>previous_posts_link()</code> and <code>next_posts_link()</code>.</p>
    <pre>function cake_content_nav( $nav_id ) {&#x000A;    	global $wp_query;&#x000A;    &#x000A;    	if ( $wp_query-&gt;max_num_pages &gt; 1 ) : ?&gt;&#x000A;    		&lt;nav id="&lt;?php echo $nav_id; ?&gt;" class="content_nav clearfix"&gt;&#x000A;    			&lt;ul&gt;&#x000A;    				&lt;li class="nextPost"&gt;&lt;?php previous_posts_link( __( '← newer ', 'cake' ) ); ?&gt;&lt;/li&gt;&#x000A;    				&lt;li class="prevPost"&gt;&lt;?php next_posts_link( __( 'older →', 'cake' ) ); ?&gt;&lt;/li&gt;&#x000A;    			&lt;/ul&gt;					&#x000A;    		&lt;/nav&gt;&#x000A;    	&lt;?php endif;&#x000A;    }?&gt;</pre>
    <p> </p>
    <h1>13. Redirect after theme activation</h1>
    <p>If you have special instructions in your theme eg. in your theme options page that you’d like the user to see when they first activate the theme, you can use the following function to redirect them there:</p>
    <pre>if (is_admin() &amp;&amp; isset($_GET['activated']) &amp;&amp; $pagenow == "themes.php")&#x000A;    	wp_redirect('themes.php?page=themeoptions');</pre>
    <p>Pay special attention to the <code>wp_redirect()</code> function. Make sure to replace the ‘<code>themes.php?page=themeoptions</code>‘ with the URL of your page.</p>
    <p> </p>
    <h1>14. Hide admin bar (during development)</h1>
    <p>During development, I sometimes find the WordPress admin (tool) bar to be quite distracting.</p>
    <p>It’s in a fixed position at the top of the window and depending on my layout can cover some elements of the header.</p>
    <p>While still designing and developing, I like to hide the admin bar with this handy function.</p>
    <pre>show_admin_bar( false );</pre>
    <p> </p>
    <p><em><strong>Do you have any favourite functions for jump starting WordPress template development? What functions would you like to see? Let us know in the comments.</strong></em></p>
    <p><em>Featured image/thumbnail, <a href="http://www.shutterstock.com/pic-114706162/stock-photo-close-up-of-a-multi-tool-penknife.html" rel="nofollow external" class="bo">multi-tool image</a> via Shutterstock.</em></p>
    <p><br><br>
    </p>
    <table width="100%">
    <tbody>
    <tr>
    <td>
          <a href="http://www.mightydeals.com/deal/dxthemes-bundle-50.html?ref=inwidget" rel="nofollow external" class="bo"><strong>DXThemes: 50+ WP Themes and Responsive Templates – only $27!</strong></a>
        </td>
    <td>
          <a href="http://www.mightydeals.com/?ref=inwidget" rel="nofollow external" class="bo"><br>
            <img src="http://mightydeals.com/web/images/widget-logo.png" height="40" width="90" alt="14 key WordPress functions to jump start theme development" style="max-width: 100%; height: auto;"><br>
          </a>
        </td>
    </tr>
    </tbody>
    </table>
    <p><br> </p>
    <a href="http://www.webdesignerdepot.com/2013/05/1-key-wordpress-functions-to-jump-start-theme-development/" rel="nofollow external" class="bo">Source</a>
    </div>
]]>
</Body>
<Summary>After a few years (or even months) of designing and developing WordPress themes, especially for clients, you start to realize that a lot of the functionality can be standardized or distilled down...</Summary>
<Website>http://www.webdesignerdepot.com/2013/05/1-key-wordpress-functions-to-jump-start-theme-development/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30626/guest@my.umbc.edu/2c74688fd0c6d3bbc1d786207a7aeec8/api/pixel</TrackingUrl>
<Tag>art</Tag>
<Tag>cool-wordpress-functions</Tag>
<Tag>css</Tag>
<Tag>custom-menu-in-wordpress</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>html5</Tag>
<Tag>illustrator</Tag>
<Tag>javascript</Tag>
<Tag>modifying-wordpress</Tag>
<Tag>mysql</Tag>
<Tag>oracle</Tag>
<Tag>photoshop</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>style-wordpress</Tag>
<Tag>tips</Tag>
<Tag>wordpress</Tag>
<Tag>wordpress-functions</Tag>
<Tag>wordpress-themes</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 31 May 2013 05:15:01 -0400</PostedAt>
<EditAt>Fri, 31 May 2013 05:15:01 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="31129" important="false" status="posted" url="https://my3.my.umbc.edu/posts/31129">
<Title>14 key WordPress functions to jump-start theme development</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><img alt="thumbnail" src="http://netdna.webdesignerdepot.com/uploads/2013/05/thumbnail24.jpg" width="200" height="160" style="max-width: 100%; height: auto;">After a few years (or even months) of designing and developing WordPress themes, especially for clients, you start to realize that a lot of the functionality can be standardized or distilled down into a “starter theme or kit”. This helps get the development process started and moving along apace.</p> <p>The best first step in doing this, I’ve found, is to nail down most of the common functions and include them in the <code>functions.php</code>. This <code>functions.php</code> file will need to be extended to meet the particular theme’s needs as new projects arise, but it will provide a more than awesome starting point for development.</p> <p>There are about 13 key functions that I like to start out with and will add to them as needed…</p> <h1>1. Custom menu support</h1> <p>The navigation menu feature, introduced in WordPress 3.0, allows for the intuitive creation and maintaining of navigation menus in themes.</p> <p>At the very least, a standard theme will need a main navigation menu, perhaps in the header and a secondary navigation menu in the footer. To do this, we will register those two menus “Main Menu” and “Secondary Menu”</p> <p>While this isn’t a particularly new feature, its still nice to wrap it in an <code>if function_exists()</code> just in case the user is stuck in a pre 3.0 installation:</p> <p>In the <code>functions.php</code> file, include the following:</p> <pre>if ( function_exists( 'register_nav_menus' ) ) { register_nav_menus( array( 'main_menu' =&gt; __( 'Main Menu', 'cake' ), 'secondary_menu' =&gt; __( 'Secondary Menu', 'cake' ), ) ); }</pre> <p>Now that the Menus are registered, we need to tell the theme where to output them. We’d like the Main Menu to appear in our header. So, in our <code>header.php</code> file, we include the following code:</p> <pre>&lt;?php if ( has_nav_menu( 'main_menu' ) ) { ?&gt; &lt;?php $defaults = array( 'theme_location' =&gt; 'main_menu', 'menu' =&gt; '', 'container' =&gt; false, 'echo' =&gt; true, 'fallback_cb' =&gt; false, 'items_wrap' =&gt; '&lt;ul id="%1$s"&gt; %3$s&lt;/ul&gt;', 'depth' =&gt; 0 ); wp_nav_menu( $defaults ); ?&gt; &lt;?php } else { ?&gt; &lt;ul&gt; &lt;?php wp_list_pages('title_li='); ?&gt; &lt;/ul&gt; &lt;?php } ?&gt;</pre> <p>First, we check to see if we have a menu called ‘main_menu’ defined and if we do, we insert its contents here, otherwise we fallback to the default <code>wp_list_pages()</code> which we can further customize to display the links as we need.</p> <p>If you’d like even further customization of the menu, see the <a href="http://codex.wordpress.org/Function_Reference/wp_nav_menu" rel="nofollow external" class="bo">WordPress codex page on <code>wp_nav_menu()</code></a> function.</p> <p>We want the secondary menu to appear in the footer, so we open up the <code>footer.php</code> and include the following code:</p> <pre>&lt;?php if ( has_nav_menu( 'secondary_menu' ) ) { ?&gt; &lt;?php $defaults = array( 'theme_location' =&gt; 'secondary_menu', 'menu' =&gt; '', 'container' =&gt; false, 'echo' =&gt; true, 'fallback_cb' =&gt; false, 'items_wrap' =&gt; '&lt;ul id="%1$s"&gt; %3$s&lt;/ul&gt;', 'depth' =&gt; 0 ); wp_nav_menu( $defaults ); ?&gt; &lt;?php } else { ?&gt; &lt;ul&gt; &lt;?php wp_list_pages('title_li='); ?&gt; &lt;/ul&gt; &lt;?php } ?&gt;</pre> <p> </p> <h1>2. Style the visual editor</h1> <p>This function allows you to use custom CSS to style the WordPress TinyMCE visual editor.</p> <p>Create a CSS file named <code>editor-style.css</code> and paste your styles inside. As a placeholder, I like to start with styles in the <code>editor-style.css</code> file of the Twenty Twelve theme.</p> <p>In the <code>functions.php</code> add the following:</p> <pre>add_editor_style();</pre> <p>If you don’t want to use the name “editor-style” for your CSS file and also want to move the file elsewhere, e.g. in within a css directory, then modify the function.</p> <p>For example, I want to name my file <code>tiny-mce-styles.css</code> and I want it within my CSS directory; so my function will look like this:</p> <pre>add_editor_style('/css/editor-style.css');</pre> <p>While we’re at it, we might as well style the editor for right-to-left languages. In the theme directory, create a CSS file called <code>editor-style-rtl.css</code> and, at the very least, include the following:</p> <pre>html .mceContentBody { direction: rtl; unicode-bidi: embed; } li { margin: 0 24px 0 0; margin: 0 1.714285714rem 0 0; } dl { margin: 0 24px; margin: 0 1.714285714rem; } tr th { text-align: right; } td { padding: 6px 0 6px 10px; text-align: right; } .wp-caption { text-align: right; }</pre> <p>Again, as a placeholder, the above styles are from the Twenty Twelve theme. Restyle and extend as needed.</p> <p> </p> <h1>3. Custom avatar support</h1> <p>Most people commenting on blogs online have an avatar associated with them. If, however, they don’t and you don’t particularly like the WordPress default avatar options, you can define your own.</p> <p>To do so, include the following code in your <code>functions.php</code>:</p> <pre>if ( !function_exists('cake_addgravatar') ) { function cake_addgravatar( $avatar_defaults ) { $myavatar = get_template_directory_uri() . '/images/avatar.png'; $avatar_defaults[$myavatar] = 'avatar'; return $avatar_defaults; } add_filter( 'avatar_defaults', 'cake_addgravatar' ); }</pre> <p>What we’re doing here first, is checking to see if the function exists. If it does, we add a filter that tells WordPress to use our custom defined avatar as the default.</p> <p>We are telling WordPress to find this avatar in our “images” directory inside the theme directory. Next step, obviously, is to create the image itself and upload it to the “images” folder.</p> <p> </p> <h1>4. Post formats</h1> <p>The post formats feature allows you to customize the style and presentation of posts. As of this writing, there are 9 standardized post formats that users can choose from: aside, gallery, link, image, quote, status, video, audio, and chat. In addition to these, the default “Standard” post format indicates that no post format is specified for the particular post.</p> <p>To add this functionality to your theme, include the following code in your <code>functions.php</code>, specifying the post formats you’ll be taking advantage of. e.g. If you only want the aside, image, link, quote, and status Post Formats, your code should look like this:</p> <pre>add_theme_support( 'post-formats', array( 'aside', 'image', 'link', 'quote', 'status' ) );</pre> <p> </p> <h1>5. Featured image function</h1> <p>The featured image function, as <a href="http://codex.wordpress.org/Post_Thumbnails" rel="nofollow external" class="bo">the codex</a> explains, allows the author to choose a representative image for Posts, Pages or Custom Post Types.</p> <p>To enable this functionality, include the following code in your <code>functions.php</code>:</p> <pre>add_theme_support( 'post-thumbnails' );</pre> <p>We could stop there and leave it up to WordPress to define the thumbnail sizes or we could take control and define them ourselves. We’ll do the latter, obviously!</p> <p>Let’s say we’re running a magazine site where the featured image will appear in at least 3 different sizes. Maybe one large image if the post is featured or is the newest, a medium sized image if its just a post among the rest and a regular size perhaps to appear elsewhere.</p> <p>We take advantage of the <code>add_image_size()</code> function that instructs WordPress to make a copy of our featured image in our defined sizes.</p> <p>To do this, we add the following to the <code>functions.php</code>:</p> <pre>// regular size add_image_size( 'regular', 400, 350, true ); // medium size add_image_size( 'medium', 650, 500, true ); // large thumbnails add_image_size( 'large', 960, '' );</pre> <p>See how to work with the <code>add_image_size()</code> function to either soft crop or hard crop your images on the <a href="http://codex.wordpress.org/Function_Reference/add_image_size#Crop_Mode" rel="nofollow external" class="bo">WordPress codex page.</a></p> <p> </p> <h1>6. Attachment display settings</h1> <p>Once we’ve defined the above image sizes (regular, medium and large) — and since by default WordPress doesn’t do it for us — we’ll add the ability to select our those image sizes from the <em>Attachment Display Settings</em> interface.</p> <p>It would be nice if you could, when writing a post, insert the desired size image by selecting it from the dropdown as you normally would for the WordPress default sizes.</p> <p>To do this, we add the following to our <code>functions.php</code>:</p> <pre>// show custom image sizes on when inserting media function cake_show_image_sizes($sizes) { $sizes['regular'] = __( 'Our Regular Size', 'cake' ); $sizes['medium'] = __( 'Our Medium Size', 'cake' ); $sizes['large'] = __( 'Our Large Size', 'cake' ); return $sizes; } add_filter('image_size_names_choose', 'cake_show_image_sizes');</pre> <p>With that in place, we can select our image sizes.</p> <p> </p> <h1>7. Add feed links (instead of old RSS code in head)</h1> <p>This one is simple. If you’ve been building WordPress themes for a while, you’ll remember the days when you had to manually include code to output the RSS feed right in the header.php. This approach is cleaner and relies on the <code>wp_head()</code> action hook to output the necessary code.</p> <p>In the <code>functions.php</code> file, include the following:</p> <pre>// Adds RSS feed links to for posts and comments. add_theme_support( 'automatic-feed-links' );</pre> <p>Make sure that you have<code></code> it in the <code>header.php</code>, right before end of <code>&amp;rgt;/head&amp;lgt;</code></p> <p> </p> <h1>8. Load text domain</h1> <p>With this function you take the first step towards making your theme available for translation.</p> <p>Its best to call this function from within the <code>after_setup_theme()</code> action hook i.e. after the setup, registration, and initialization actions of your theme have run.</p> <pre>add_action('after_setup_theme', 'my_theme_setup'); function my_theme_setup(){ load_theme_textdomain('my_theme', get_template_directory() . '/languages'); }</pre> <p>Now add a directory named ‘<code>languages</code>‘ in your theme directory.</p> <p>You can learn more about load_theme_textdomain() function on the <a href="http://codex.wordpress.org/Function_Reference/load_theme_textdomain" rel="nofollow external" class="bo">WordPress codex page</a>.</p> <p> </p> <h1>9. Define content width</h1> <p>Content width is a feature in themes that allows you to set the maximum allowed width for videos, images, and other oEmbed content in a theme.</p> <p>That means, when you paste that YouTube URL in the editor and WordPress automatically displays the actual video on the front end, that video will not exceed the width you set using the <code>$content_width</code> variable.</p> <pre>if ( ! isset( $content_width ) ) $content_width = 600;</pre> <p>WordPress also recommends the addition of the following CSS:</p> <pre>.size-auto, .size-full, .size-large, .size-medium, .size-thumbnail { max-width: 100%; height: auto; }</pre> <p>While this is useful, its a bit heavy handed. It defines the content width for <strong>all</strong> content. What if you wanted videos of a larger width on pages than in posts and an even larger size in a custom post type? Currently, there is no way to define this. There is however a <a href="http://core.trac.wordpress.org/ticket/21256" rel="nofollow external" class="bo">feature request</a> proposing the inclusion of the <code>$content_width</code> variable into the built-in <code>add_theme_support()</code>.</p> <p> </p> <h1>10. Dynamic sidebar</h1> <p>Your typical theme will have at least one sidebar. The code to define the sidebar is pretty straightforward.</p> <p>Add the following to your <code>functions.php</code>:</p> <pre>if(function_exists('register_sidebar')){ register_sidebar(array( 'name' =&gt; 'Main Sidebar', 'before_widget' =&gt; '&lt;aside id="%1$s" class="widget %2$s"&gt;', 'after_widget' =&gt; '&lt;/aside&gt;', 'before_title' =&gt; '&lt;h3&gt;', 'after_title' =&gt; '&lt;/h3&gt;', )); }</pre> <p>This registers and defines a sidebar named “Main Sidebar” and its HTML markup.</p> <p>You can learn more about the <code>register_sidebar()</code> function on the <a href="http://codex.wordpress.org/Function_Reference/register_sidebar" rel="nofollow external" class="bo">WordPress codex page.</a></p> <p>You’ll routinely find the need to have more than that one sidebar so you can just copy/paste the above code and change the name.</p> <p>There is also a <code>register_sidebars()</code> function that will allow you to register and define multiple sidebars all at once but it doesn’t give you the flexibility of giving each new sidebar a unique name.</p> <p> </p> <h1>11. Custom “more” link format</h1> <p>If you’re displaying excerpts of your posts on a blog index page, by default WordPress will show <code>[...]</code> to indicate there’s more “after the jump”.</p> <p>You will most likely want to add a “more link” and define how that looks.</p> <p>To do this we need to add the following code to our <code>functions.php</code>:</p> <pre>function new_excerpt_more($more) { global $post; return '...&lt;br /&gt;&lt;br /&gt;&lt;a href="'. get_permalink($post-&gt;ID) . '" class="read_more"&gt;read more →&lt;/a&gt;'; } add_filter('excerpt_more', 'new_excerpt_more');</pre> <p>This adds an ellipses ‘<strong>…</strong>‘ right after the excerpt and includes a read more link after two break tags. You can rename and style the <code>read_more</code> CSS class for the link as desired.</p> <p> </p> <h1>12. Basic pagination</h1> <p>Each theme might have different pagination needs but it’s always safest to start with a nice default functions: <code>previous_posts_link()</code> and <code>next_posts_link()</code>.</p> <pre>function cake_content_nav( $nav_id ) { global $wp_query; if ( $wp_query-&gt;max_num_pages &gt; 1 ) : ?&gt; &lt;nav id="&lt;?php echo $nav_id; ?&gt;" class="content_nav clearfix"&gt; &lt;ul&gt; &lt;li class="nextPost"&gt;&lt;?php previous_posts_link( __( '← newer ', 'cake' ) ); ?&gt;&lt;/li&gt; &lt;li class="prevPost"&gt;&lt;?php next_posts_link( __( 'older →', 'cake' ) ); ?&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/nav&gt; &lt;?php endif; }?&gt;</pre> <p> </p> <h1>13. Redirect after theme activation</h1> <p>If you have special instructions in your theme eg. in your theme options page that you’d like the user to see when they first activate the theme, you can use the following function to redirect them there:</p> <pre>if (is_admin() &amp;&amp; isset($_GET['activated']) &amp;&amp; $pagenow == "themes.php") wp_redirect('themes.php?page=themeoptions');</pre> <p>Pay special attention to the <code>wp_redirect()</code> function. Make sure to replace the ‘<code>themes.php?page=themeoptions</code>‘ with the URL of your page.</p> <p> </p> <h1>14. Hide admin bar (during development)</h1> <p>During development, I sometimes find the WordPress admin (tool) bar to be quite distracting.</p> <p>It’s in a fixed position at the top of the window and depending on my layout can cover some elements of the header.</p> <p>While still designing and developing, I like to hide the admin bar with this handy function.</p> <pre>show_admin_bar( false );</pre> <p> </p> <p><em><strong>Do you have any favourite functions for jump starting WordPress template development? What functions would you like to see? Let us know in the comments.</strong></em></p> <p><em>Featured image/thumbnail, <a href="http://www.shutterstock.com/pic-114706162/stock-photo-close-up-of-a-multi-tool-penknife.html" rel="nofollow external" class="bo">multi-tool image</a> via Shutterstock.</em></p> <p><br><br> </p>
    <table width="100%"> <tbody>
    <tr> <td> <a href="http://www.mightydeals.com/deal/dxthemes-bundle-50.html?ref=inwidget" rel="nofollow external" class="bo"><strong>DXThemes: 50+ WP Themes and Responsive Templates – only $27!</strong></a> </td> <td> <a href="http://www.mightydeals.com/?ref=inwidget" rel="nofollow external" class="bo"><br> <img src="http://mightydeals.com/web/images/widget-logo.png" height="40" width="90" alt="14 key WordPress functions to jump start theme development" style="max-width: 100%; height: auto;"><br> </a> </td> </tr> </tbody>
    </table> <p><br> </p> <a href="http://www.webdesignerdepot.com/2013/05/1-key-wordpress-functions-to-jump-start-theme-development/" rel="nofollow external" class="bo">Source</a> <br><br><a href="http://da.feedsportal.com/r/165665625368/u/49/f/661066/c/35285/s/2ca89ae3/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/165665625368/u/49/f/661066/c/35285/s/2ca89ae3/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>After a few years (or even months) of designing and developing WordPress themes, especially for clients, you start to realize that a lot of the functionality can be standardized or distilled down...</Summary>
<Website>http://rss.feedsportal.com/c/35285/f/661066/s/2ca89ae3/l/0L0Swebdesignerdepot0N0C20A130C0A50C10Ekey0Ewordpress0Efunctions0Eto0Ejump0Estart0Etheme0Edevelopment0C/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/31129/guest@my.umbc.edu/e7d30546fbc51f1ccd070983736dc68e/api/pixel</TrackingUrl>
<Tag>art</Tag>
<Tag>cool-wordpress-functions</Tag>
<Tag>css</Tag>
<Tag>custom-menu-in-wordpress</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>html5</Tag>
<Tag>illustrator</Tag>
<Tag>javascript</Tag>
<Tag>modifying-wordpress</Tag>
<Tag>mysql</Tag>
<Tag>oracle</Tag>
<Tag>photoshop</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>style-wordpress</Tag>
<Tag>tips</Tag>
<Tag>wordpress</Tag>
<Tag>wordpress-functions</Tag>
<Tag>wordpress-themes</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 31 May 2013 05:15:01 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="32767" important="false" status="posted" url="https://my3.my.umbc.edu/posts/32767">
<Title>APA's Bersoff and Anderson to Participate in White House National Conference on Mental Health June 3</Title>
<Body>
<![CDATA[
    <div class="html-content">President to launch national dialogue to reduce stigma, increase access to mental health care</div>
]]>
</Body>
<Summary>President to launch national dialogue to reduce stigma, increase access to mental health care</Summary>
<Website>http://www.apa.org/news/press/releases/2013/05/mental-health-conference.aspx</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/32767/guest@my.umbc.edu/0cc052ec0d8c4f602178f608048622ab/api/pixel</TrackingUrl>
<Group token="retired-230">Psychology Student Association @ USG</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-230</GroupUrl>
<AvatarUrl>https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/230/b64bd4b2d025a7635eabf84b086f65fe/xsmall.png?1359246046</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/230/b64bd4b2d025a7635eabf84b086f65fe/original.jpg?1359246046</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/230/b64bd4b2d025a7635eabf84b086f65fe/xxlarge.png?1359246046</AvatarUrl>
<AvatarUrl size="xlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/230/b64bd4b2d025a7635eabf84b086f65fe/xlarge.png?1359246046</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/230/b64bd4b2d025a7635eabf84b086f65fe/large.png?1359246046</AvatarUrl>
<AvatarUrl size="medium">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/230/b64bd4b2d025a7635eabf84b086f65fe/medium.png?1359246046</AvatarUrl>
<AvatarUrl size="small">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/230/b64bd4b2d025a7635eabf84b086f65fe/small.png?1359246046</AvatarUrl>
<AvatarUrl size="xsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/230/b64bd4b2d025a7635eabf84b086f65fe/xsmall.png?1359246046</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/230/b64bd4b2d025a7635eabf84b086f65fe/xxsmall.png?1359246046</AvatarUrl>
<Sponsor>Psychology Student Association @ USG</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 31 May 2013 01:00:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="30640" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30640">
<Title>UMBC Men's Lacrosse Journeys to Japan For Third Time in Nine Years</Title>
<Body>
<![CDATA[
    <div class="html-content">For the third time in the past nine years, the UMBC men's lacrosse program has travelled to Japan and will compete, participate in clinics and enjoy the wonders of the nation. The travelling party departed Baltimore on May 29 and will spend nine days in the Land of the Rising Sun. One of the many highlights of the journey occurs on Sunday, June 2, when UMBC will compete against the Japanese National Team in the International Friendship game.</div>
]]>
</Body>
<Summary>For the third time in the past nine years, the UMBC men's lacrosse program has travelled to Japan and will compete, participate in clinics and enjoy the wonders of the nation. The travelling party...</Summary>
<Website>http://www.umbcretrievers.com/release.asp?RELEASE_ID=8035</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30640/guest@my.umbc.edu/7ba96c08861ea6576e16b3673910bca9/api/pixel</TrackingUrl>
<Group token="athletics">UMBC Athletics</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/athletics</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xsmall.png?1709304849</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/original.jpg?1709304849</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xxlarge.png?1709304849</AvatarUrl>
<AvatarUrl size="xlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xlarge.png?1709304849</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/large.png?1709304849</AvatarUrl>
<AvatarUrl size="medium">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/medium.png?1709304849</AvatarUrl>
<AvatarUrl size="small">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/small.png?1709304849</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xsmall.png?1709304849</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xxsmall.png?1709304849</AvatarUrl>
<Sponsor>UMBC Athletics</Sponsor>
<PawCount>3</PawCount>
<CommentCount>4</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 31 May 2013 01:00:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="30625" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30625">
<Title>Stories from Around the Web (Week Ending May 31, 2013)</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>A roundup of the most interesting stories from other sites, collected by the staff at <em>MIT Technology Review</em>.</p>
    <p><a href="http://arstechnica.com/security/2013/05/how-crackers-make-minced-meat-out-of-your-passwords/" rel="nofollow external" class="bo">Anatomy of a Hack: How Crackers Ransack Passwords<br></a>This is exceptionally geeky but smartly done, because it shows in a memorable way how passwords get cracked.<span> <br></span><span>—Brian Bergstein, deputy editor</span></p>
    </div>
]]>
</Body>
<Summary>A roundup of the most interesting stories from other sites, collected by the staff at MIT Technology Review.  Anatomy of a Hack: How Crackers Ransack Passwords This is exceptionally geeky but...</Summary>
<Website>http://www.technologyreview.com/view/515541/stories-from-around-the-web-week-ending-may-31-2013/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30625/guest@my.umbc.edu/eb0fa9a3ec4d6b220b0bc83bc736abe0/api/pixel</TrackingUrl>
<Tag>development</Tag>
<Tag>internet</Tag>
<Tag>mit</Tag>
<Tag>technology</Tag>
<Tag>web</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 31 May 2013 00:00:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="30620" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30620">
<Title>Self-Driving Cars for Testing Are Supported by U.S.</Title>
<Body>
<![CDATA[
    <div class="html-content">The Transportation Department said that driverless cars should not yet be allowed, except for testing, but noted that some safety features could save lives.<div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F05%2F31%2Ftechnology%2Fself-driving-cars-for-testing-are-supported-by-us.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Self-Driving+Cars+for+Testing+Are+Supported+by+U.S." rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/twitter.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/facebook/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F05%2F31%2Ftechnology%2Fself-driving-cars-for-testing-are-supported-by-us.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Self-Driving+Cars+for+Testing+Are+Supported+by+U.S." rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/facebook.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/linkedin/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F05%2F31%2Ftechnology%2Fself-driving-cars-for-testing-are-supported-by-us.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Self-Driving+Cars+for+Testing+Are+Supported+by+U.S." rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/linkedin.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/gplus/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F05%2F31%2Ftechnology%2Fself-driving-cars-for-testing-are-supported-by-us.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Self-Driving+Cars+for+Testing+Are+Supported+by+U.S." rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/googleplus.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/email/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F05%2F31%2Ftechnology%2Fself-driving-cars-for-testing-are-supported-by-us.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Self-Driving+Cars+for+Testing+Are+Supported+by+U.S." rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/email.png" style="max-width: 100%; height: auto;"></a>
    </td></tr></tbody></table></div>
    <br><br><a href="http://da.feedsportal.com/r/165664507741/u/0/f/640387/c/34625/s/2ca3fef9/kg/342-358-363/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/165664507741/u/0/f/640387/c/34625/s/2ca3fef9/kg/342-358-363/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>The Transportation Department said that driverless cars should not yet be allowed, except for testing, but noted that some safety features could save lives.     </Summary>
<Website>http://www.nytimes.com/2013/05/31/technology/self-driving-cars-for-testing-are-supported-by-us.html?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30620/guest@my.umbc.edu/9bfa97b583e21fa36bfd79c2c2eff1dd/api/pixel</TrackingUrl>
<Tag>automobile-safety-features-and-defects</Tag>
<Tag>automobiles</Tag>
<Tag>computers-and-the-internet</Tag>
<Tag>ford-motor-co-f-nyse</Tag>
<Tag>general-motors-gm-nyse</Tag>
<Tag>google-inc-goog-nasdaq</Tag>
<Tag>national-highway-traffic-safety-administration</Tag>
<Tag>new</Tag>
<Tag>new-models-design-and-products</Tag>
<Tag>roads-and-traffic</Tag>
<Tag>technology</Tag>
<Tag>toyota-motor-corporation-tm-nyse</Tag>
<Tag>york</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Thu, 30 May 2013 20:52:21 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="30621" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30621">
<Title>Mobile Labs and Northway Solutions Group Announce Partnership to Provide Turnkey Mobile App Testing Solution</Title>
<Body>
<![CDATA[
    <div class="html-content"><p>Partnership brings together Northway's industry-leading implementation and training services with Mobile Labs' leading-edge mobile app testing software.</p></div>
]]>
</Body>
<Summary>Partnership brings together Northway's industry-leading implementation and training services with Mobile Labs' leading-edge mobile app testing software.</Summary>
<Website>http://www.htmlgoodies.com/daily_news/mobile-labs-and-northway-solutions-group-announce-partnership-to-provide-turnkey-mobile-app-testing-solution.html</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30621/guest@my.umbc.edu/e0b71aeec0106c6054eb6bd516355b28/api/pixel</TrackingUrl>
<Tag>html</Tag>
<Tag>htmlgoodies</Tag>
<Tag>learning</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Thu, 30 May 2013 19:53:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="30622" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30622">
<Title>Typemock Introduces Isolator V7.4 &#8211; Enhanced Visual Coverage Makes Bug Detection Easier than Ever</Title>
<Body>
<![CDATA[
    <div class="html-content"><p>Upgrade enables developers to view the coverage of their tested code within Visual Studio, and view where tests fail.</p></div>
]]>
</Body>
<Summary>Upgrade enables developers to view the coverage of their tested code within Visual Studio, and view where tests fail.</Summary>
<Website>http://www.htmlgoodies.com/daily_news/typemock-introduces-isolator-v7.4-enhanced-visual-coverage-makes-bug-detection-easier-than-ever.html</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30622/guest@my.umbc.edu/dbec57805e527da917a47a9f99d56d89/api/pixel</TrackingUrl>
<Tag>html</Tag>
<Tag>htmlgoodies</Tag>
<Tag>learning</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Thu, 30 May 2013 19:43:00 -0400</PostedAt>
</NewsItem>

</News>
