Larry Taylor on UML (#RefresCA)

Normally after our Central Arkansas Refresh meetings I come home, have a late dinner with my wife and then blog about the meeting but this past Tuesday night I think I had brain overload.  Larry Taylor from the Software Designers gave a presentation on UML (unified markup language).  I went into the meeting with a little bit of knowledge regarding UML and what role it plays in software development but haven’t actually used it enough to become very familiar with it.  I had a general idea as to what the “open diamonds” and “closed diamonds” meant but that’s about as far as it went for me.

Larry gave an awesome explanation as to how he uses UML to scope out just about every project he works on and demonstrated it’s value on a workflow.  After seeing this I had to ask myself if I was leaving out a key process right after discovery on custom applications that I do.  Granted, I don’t do a whole lot of custom applications (probably 10 all of last year), and all of the applications that I build are pretty intermediate in architecture, but he made this look so impressive I got thinking about my processes pretty hard.

netbeans-uml-example

This is a screengrab from NetBeans IDE demonstrating UML

-

Since all of my application development is done in PHP, and all of my PHP is generated inside PHPRunner IDE, I don’t think that I can personally benefit from adding formal UML to my list of processes because PHPR more or less is built around the idea of being extremely visual and easy to read.  Granted, if I was coding something in a language that I am not as familiar with, or if the project was simply enormous, I can see where UML could really simplify things.

imageAnother advantage that I can see for UML is the ability to spread things out evenly to a team of developers that each might be delivering a specific component of the project.  Larry even referenced the Microsoft Notecard process where each developer on a team would receive a notecard explaining the component that there were supposed to deliver.

If you develop any type of applications and aren’t using UML, you should at least check it out and see if it is something you or your team could benefit from using.  Also, if you were unable to attend this past weeks #RefreshCA meeting, you can get Larry’s slides from the presentation on his blog: UML Presentation.  Larry also has additional resources on his blog about UML that can be found here

Larry has been coding for almost twenty years and heads up the Little Rock .NET users group, if you live in the Central Arkansas area and work with .NET you should check them out.  If you aren’t for sure what I am talking about when I say UML, here’s an image that will give you a basic idea.

MODx Revolution 2.0.0 Beta2 Released

My partner Greg will probably blog about this a lot more on his blog because he primarily handles all of our MODx projects as to where I handle most of our WordPress projects.  Not having worked with MODx very much I am still impressed with all that it brings to the table in terms of rapid deployment and content management.

If you are looking for a good enterprise level content management system there are several of them out there, Drupal, Joomla, and even WordPress has enterprise level applications these days, but for us MODx has been a great platform for us to build upon.  We recommend it highly whenever we talk with other developers and one of the things that we like about it the most is that it is supported by a highly active community of developers.  The activity in the support forum at MODx is unlike anything you have ever seen tied to open source software.

If you are already familiar with MODx, here’s a short list of the improvements / new functionality that makes up Revolution 2.0.0.

  • Manager upgraded to ExtJS 3.0 from 2.2; now faster and more responsive.
  • You now can drag/drop Elements and Resources directly into any content field and watch as it builds the tag for you.
  • We’ve added a Visual Tag Builder for Elements, where after drag/dropping them into fields, you can select a Property Set and customize values from a form, and watch it build the tag syntax for you after you’re done.
  • Now you can Quick Update or Create any type of Element or Resource. Don’t want to leave a page to update another Document? Quick Update it!
  • Toggle your Manager layout between tab-based and portal based with a setting.
  • Speed improvements to the backend manager.
  • Fixed issues with uninstalling packages; they properly revert and save zipped copies of older versions.
  • Package Download section now grays out packages you’ve already downloaded.
  • Manage all Plugins assigned to an Event now easily from an intuitive grid.
  • Added new methods for zip compression for installation and packaging that speeds up install time.
  • Many, many bug fixes across the framework

As soon as I get caught up on a few projects I have going on I plan on spending some time getting acquainted with it on one of our sandbox environments.

Update: This just goes to show the response time that all of the people surrounding the MODx project have regarding support, etc.  I just posted this blog post on my blog and walked to the kitchen to get a bottle of water.  When I returned I already had a comment waiting on me from Shaun with Collabpad.  Here’s what he had to say regarding the beta 3 release:

You might want to check out 2.0-beta-3. There was an important security fix in beta3 that we recommend users upgrade to.

Thanks for the article! We’re glad you like MODx, and hope you enjoy the future of MODx in Revolution. Feel free to leave us feedback and suggestions for Revolution on our forums (they are super active! it’s crazy!)

Work Faster, Drag to Done, Quick Create/Update Elements and Resources: MODx Revolution 2.0.0-beta-2 has Landed | MODx CMS / CMF

Current Projects: Xtreme Green Lawn Service

I was contacted a week or so ago on Facebook by Xtreme-Green Lawn Service about redesigning their website.  I have known the owners of Xtreme Green for a long time and have worked on other projects for them over the years.  The goal of this project was to take their website and to make it look more professional and to increase their rate of conversion on the website from visitors to actual customers.  Xtreme Green operates in the Dallas / Fort Worth area so they have a pretty big focus area, as well as a lot of competitors from both a local and national level.

Content management is an important requirement for this project, they need the ability to post updates easily as well as publish content about their service offerings and specials.  With this in mind I started the project with wordpress version 2.8 and have used woo theme as the basis for the design.  The client is out of town on vacation this week so I don’t have a preview link for this project yet but I can share a screenshot of where I am at so far…

xtreme-green-screenshot

Current Projects: Judge Karen Baker

I was contacted by Judge Karen Baker a short time ago.  She’s planning her campaign for Arkansas Supreme Court.  She was needing a website for her campaign so I provided her with a quote.  Once I got the go ahead from her I got started.  Naturally, content management is one of the projects requirements so I have started with wordpress 2.8 on the backend.  I was also telling her during our talks that establishing a political figures page on Facebook and an account on Twitter for the campaign would go a long way toward giving her campaign some exposure so I have created those for her as well.  The project isn’t complete yet, we are still waiting on some content but for the most part I have nailed down the design elements.

I have been using Brian Gardner’s studiopress themes for a while now as a starter them for the vast majority of my wordpress designs but about a month or so ago I decided to checkout woo themes after a few developers recommended them to me.  This project is built upon a woo theme that I have modified.  It’s coming along pretty well so far.  I don’t have a launch date for the project to share at this time but here’s a screengrab of what we have so far…

screenshot-judgekarenbaker

My Top 10 MVP’s (Most Valuable WordPress Plugins)

One of the best things about wordpress, in my opinion, is the volume of plugins that are readily available for developers to deploy without having to recreate the wheel.  I was at the Central Arkansas Refresh meeting the other night talking w/ Rob McBryde about how I deploy WordPress.  He has recently started working w/ wordpress and was wondering which plugins I deployed on the front end. 

So, here’s my list of plugins that are deployed on the front end when I do a client installation.  Keep in mind that these are only the basics that apply to pretty much any client.  For a listing of the more specialized tools and plugin that I use, I recommend checking out my delicious bookmarks, specifically the ones tagged wordpress-plugins.

Akismet for Comment Spam

Granted, this one is already part of the wordpress package itself but it’s not configured or turned on.  To get Akismet to work you need to put in your WordPress API key.  If you are hosting your own wordpress installation or it is hosted outside of wordpress.com, you will need to go onto wordpress.com and setup an account to get a key.  It only takes a few minutes to do and it can be reused every time you do a new installation. 

Contact Form 7 for Adding Feedback Forms

Rarely do I ever work on a client project that doesn’t require a form to collect information.  Web forms are an excellent way to gather information from site visitors.  I know that there are several plugins on the market for doing this but I prefer the Contact Form 7 because it has always been reliable.  Admittedly I haven’t tested many of the other form plugins that are out there so they might be just as reliable.  One other thing that I like about Contact Form 7 is that it allows you to deploy multiple forms. The only drawback to this plugin I would have to say is that you have to sometimes spend 20 minutes with the client showing them how to use it.  Currently this plugin is on version 2, and it was written by: Takayuki Miyoshi

Kpicasa for Photo Galleries

I am a Picasa fan from way back, I know some that prefer Flickr over Picasa but I always recommend Picasa to my clients for storing and sharing photos.  The Kpicasa plugin works great inside of wordpress and brings in all of your galleries onto your site as if you were hosting them there yourself.  I have this plugin running on my site right now, just click on the photos tab and see for yourself.  Very transparent plugin.  The reason this plugin is part of my core installation is because 9 times out of 10 the client is going to want some sort of photo gallery on their site, never fails.  (note, there are several plugins out there that will do the whole picasa integration like this but they require some additional coding, this one written by: Guillaume Hébert doesn’t, so that it why I use it, and it does a great job).

Wicket Twitter Widget for Displaying Most Recent Tweets

I have found that sometimes just inserting the javascript from Twitter to display your recent tweets can be problematic, and I have never been able to figure out why this is.  Instead I found an alternative to just hand coding the JavaScript in and use this plug-in instead.  The plugin is also put out by Automattic, the same company behind the scenes with wordpress so I feel pretty comfortable with it’s reliability and for the most part I have been able to use this one w/out incident.

Twitme for Social Saturation

I throw out the term social saturation a lot because it’s huge!  For those of you who check your log files you might have noticed that the top referrers to your site have changed dramatically over the past year or so.  Granted, a fair number of people still find you through Google, but the leading referrers for me these days are Facebook and Twitter.  I always recommend that my clients setup a Twitter account and use it if for pushing their content out onto Twitter and Facebook.  This plugin does just that, it pushes blog posts and updates onto Twitter, which in turn is setup to change my Facebook status.  This is all handled automatically and behind the scenes.  I know that there are other ways to incorporate your feeds into Twitter but this plugin has always been very reliable for me and it posts instantly.  For a while I was using a twitterfeed solution and it worked well, but I couldn’t ever time when it was going to update.

Tweetbacks for Retweets

Retweets are the new blog comments in my opinion. When I go and post something on my blog and it goes out to Twitter I will occasionally get comments on the blog but usually the best way to gauge the reception of your post is by how many people retweet your post.  Tweetbacks goes out and looks for tweets and retweets that are related to that particular post and displays them on your blog just above the comments area.  Granted, this plugin doesn’t add a lot of value to your site or your content but I think it’s a neat way to gauge your readers responses.  I first learned about this plugin from Dan Zarella, who I follow pretty closely and it was written by Joost de Valk, another name you might have heard before if you follow WordPress very closely.

Google XML Sitemap for Dynamic Sitemapping

This plugin is by Arne Brachhold and is a neccessity in my opinion.  As a developer you already know the importance of having an xml sitemap on file w/ Yahoo and Google in their webmaster tools section.  The problem with dynamic sites is that they will constantly be adding pages of content.  This plugin magically (more php than magic) automatically updates itself when new content is added and it updates your sitemap.  It’s one of those set it and forget it feeds that you never really have to worry about, it just works.

Google Analyticator for Analytics

This plugin was released by Spiral Web Consulting and it works very well.  Another problem with tracking dynamic sites is that the tracking code for Google Analytics has to be in every page that is created for you to get an accurate account of your traffic.  In the past we have manually coded in the tracking code in either the header or footer of a site, but with this plugin that doesn’t have to be the case.  You simply enter in your UA-XX-XXXX number from Google Analytics and it will automatically insert this for you.  It’s more or less a timesaver and one less thing you have to do during the development process. 

Social Bookmarking Reloaded for Social Saturation

If you own or operate a website you want to make sure that it’s easy for your visitors to share your content with their friends, that’s just a given.  Probably the best way to do this is by adding the social bookmarking reloaded plugin to your site.  This plugin is responsible for the facebook, myspace, twitter, digger, and delicious icons you see below.  All a user has to do is click on these icons and it immediately takes them to their account on these services.  I only have a few services checked but this plugin allows you to have as many of these as you want listed.  I do my best not to overwhelm people so I stick to the basics.  This plugin was written by Pedana vibrante and has had a couple of updates over time so I know the project is still very active.  Again, I know there are other plugins that are out there, and even some groups of plugins that can be used together to accomplish the same thing, I have just found this one to work well and be stable.

Feedburner Feedsmith for Feed Management / Tracking

I used to use the Feedburner Feedsmith on all of my sites that had feeds on them but recently I haven’t been doing this as much because I had some issues once with Feedburner.  Those issues seem to have worked themselves out and I am back to using it.  Originally authored by Steve Smith, this plugin detects all ways to access your original WordPress feeds and redirects them to your FeedBurner feed so you can track every possible subscriber. Feedburner (now under the umbrella of Google) is a great tool for managing your feeds and tracking subscribers, etc.  (note: out of all of the plugins I mentioned above, this is one that I might occasionally omit from activation.)

———————————————————–

If you a plugin that is not on this list that is part of every wordpress installation you do, I would love to hear what they are, please feel free to comment or send me a tweet

New Project: Crawford for Congress

This has been a pretty busy week for me, I had 3 projects in my lap that are all basically starting from scratch.  One of these projects is for Rick Crawford, who is running for Congress in 2010.  I have been working with Jonah, Rick’s campaign manager, to put together a game plan for the project.  We have arrived at wordpress 2.8 as the base cms and I have already started the process of designing the theme

I have a rough theme in the works right now that is built upon one of the more dynamic woo themes, but I am lacking some photography and artwork to finalize the design so no sneak peak on this one right now.  I should however be able to post an update this next week sometime, stay tuned…

System Administrator Appreciation Day

At Pleth, we will be celebrating System Administrator Appreciation Day!  What an awesome idea. I know that this holiday is probably not on those calendars you get for Christmas from your family each year, but it’s a pretty cool thing to add to it.  Friday, July 31, is system administrator day across the country, it’s celebrated on the last Thursday in July each year.  If you have a system administrator be sure to let them know how much you appreciate what they do behind the scenes.  And if you have never had a conversation with your system administrator when you weren’t frantic about something, you should take it even a step further and take them to lunch or something because he / she probably thinks you are a turd… 

I feel blessed because I have worked with a lot of system administrators over the years and can honestly say that Matt Critcher is quite possibly one of the best ones out there, and I have the pleasure of working alongside him putting out fires.  Of course it’s usually him spraying the water and me pointing at the fire with a dazed look in my eye, and also sometimes denying any responsibility for the fire whatsoever!

So What is a System Administrator??

A sysadmin unpacked the server for this website from its box, installed an operating system, patched it for security, made sure the power and air conditioning was working in the server room, monitored it for stability, set up the software, and kept backups in case anything went wrong. All to serve this webpage.

A sysadmin installed the routers, laid the cables, configured the networks, set up the firewalls, and watched and guided the traffic for each hop of the network that runs over copper, fiber optic glass, and even the air itself to bring the Internet to your computer. All to make sure the webpage found its way from the server to your computer.

A sysadmin makes sure your network connection is safe, secure, open, and working. A sysadmin makes sure your computer is working in a healthy way on a healthy network. A sysadmin takes backups to guard against disaster both human and otherwise, holds the gates against security threats and crackers, and keeps the printers going no matter how many copies of the tax code someone from Accounting prints out.

A sysadmin worries about spam, viruses, spyware, but also power outages, fires and floods. When the email server goes down at 2 AM on a Sunday, your sysadmin is paged, wakes up, and goes to work. A sysadmin is a professional, who plans, worries, hacks, fixes, pushes, advocates, protects and creates good computer networks, to get you your data, to help you do work — to bring the potential of computing ever closer to reality.

So if you can read this, thank your sysadmin — and know he or she is only one of dozens or possibly hundreds whose work brings you the email from your aunt on the West Coast, the instant message from your son at college, the free phone call from the friend in Australia, and this webpage.

System Administrator Appreciation Day

My Basecamp® Wish List

A while back I blogged about our recent transition to Basecamp for handing our project management needs.  After having used the software for a little while now I have to say that I am still pretty impressed with what all that it allows us to do.  Our biggest hope was that it would allow for us to easily collaborate on projects with our team members who might not be in the same office.  For example, we have projects open right now that have tasks assigned to various members of our team.  Our team members are scattered out into three locations (Batesville, Jonesboro, or Conway). 

Basecamp allows us to break our projects down into Task Lists that can be assigned to anyone within our team.  When someone completes a task, they just check it off the list and the rest of the team can be alerted that that particular task has been completed.  Basecamp also allows for Milestones, this helps a lot when it comes to scheduling projects, of course we never like to give definite start dates or launch dates because there are so many variables, but it does give us goals to shoot for, and for me that helps keep me motivated and on top of things.

Having used Microsoft Outlook for as long as I can remember to manage my clients projects, there are some things that I have gotten used to. For example, I assign a task for each client project I have going on, inside that task I have attached the clients content files, images, and all other notes related to the site.  It’s nice to be able to glance at my taskbar and know that I’m not forgetting anything.  I have also used the Outlook Calendar to track my start and projected testing / launch dates for my projects.  The beauty of Outlook for me is that I am able to synchronize all of this information with my phone. 

While I have been inputting my projects into Basecamp for management purposes, I still have blank tasks inside my Outlook for all of my open projects.  I know that sounds silly and redundant, but that’s just how my mind works.  This brings me to my wish list of features that I would like to see available for Basecamp.  I would be happy with either a client side solution (that is an add-on for Outlook) or a SAAS (software as a service) solution that is available as a plug-in for Basecamp.  Here’s what I would like to see…

Synchronize Basecamp Projects w/ Outlook’s Tasklist

I am not interested in having 40 tasks open for 2 projects, I would like to see each project as a tasklist.  Inside the Outlook Task, there could be tabs for Notes, Files, To Do Lists, Whiteboard, and Time.  I know that a solution this would require a good bit of programming, but in the beginning I would just be satisfied to see the To Do Lists brought into Outlook Tasks and synchronized.

Synchronize Milestones w/ Outlook Calendar

I like Outlook’s calendar reminders, I know a lot of people are polar opposite, but honestly if it wasn’t for those reminders I would be lost.  The milestones could be entered into Basecamp and then upon synchronization it would go in and change the start date and end date inside the task itself and then go out and set me up two calendar entries for the start date and the end date.  If something happens and I see that I am going to have to move the project launch date back a week, I could either change the date inside of Basecamp or just edit the task itself inside of Outlook and voila!

These are the only two things that I would like to see added into Basecamp, or at least made available for purchase as an add-on.  I still use Outlook exclusively for managing my 2000+ contacts, but as soon as I get caught up on some projects I plan to checkout Highrise, which is a sister application to Basecamp.  Highrise brings a lot of functionality that my current Outlook solution is lacking such as Lead Tracking, Follow Ups, and SMS reminders.  Highrise also will allow you to track conversations, manage email, and centralize contact data in an exportable format, I am already doing this with Outlook.

—————
I posted a note on Basecamp Support Forum today, the last conversation about an Outlook Synchronization Tool was last year and apparently a project called Grabsync was launched but it’s not being actively developed at this time.  Hopefully someone will pick up the ball and run with it on this, I am sure that I am not the only one that would like to see this functionality.

Project Management w/ Basecamp for Web Developers : Cotton Rohrscheib

Recommendations for Political Campaign Websites

I guess it’s that time of year, the past few weeks we have had several exploratory committees and political candidates reach out to us to inquire about web development and social media consulting.  After a few phone calls where I handed out the same advice I figured it would be a lot more efficient and much easier to just reference this blog post as opposed to covering all of these recommendations on a phone call, so here goes… Oh, and these are just a few basic recommendations, if you are interested in learning more or possibly contracting Pleth to handle your web development or social media management, please feel free to contact us to discuss your project in more detail.

Get Started on Your Website Early!

Assuming your campaign is just getting started, one of the first things you are going to want to do is to start the development process for your website.  Depending on the scope of the project. the time required to design and develop a campaign website can be considerable.  You definitely want your website online and functional prior to any fundraisers or media appearances because one of the first questions you will be asked is whether or not you have a website, and you don’t want to ask someone for their vote of confidence and look in any way unorganized or unprepared, of course this is coming from a web developer but I bet there are others from outside the industry that would share my point of view on this.

Another reason you will want to focus on your web presence early is for the purpose of accepting donations and campaign contributions online.  I recommend PayPal a lot to candidates just because of it’s simplicity and because it’s a trusted name in e-commerce. There are other processing services out there and if you have the time to search these out to find the best deal for your campaign that’s great, but for the most part PayPal is a safe bet.

The Web Development Process (How to Speed Things Along)

One of the best ways to ensure that the development process for your website goes smoothly and is launched on schedule is provide your development firm with content, graphics, photography, and video as early as possible.  If you have signage or campaign logos that you are going to use on print campaigns, it’s good to provide these files in a digital format to your web developer.  Most developers are going to prefer higher resolution or vector formats for these files if possible.

The biggest priority for your campaign on the front end should be the creation of a PayPal account.  An account can be setup in just a few minutes by visiting www.paypal.com but the account verification process can take a little longer.  This process ties your online account into your banking account and requires action on your part to complete.

Content Development

Content creation, or copywriting, is probably the biggest challenge for political candidates during the development process. It’s important to take into consideration during this process that anything you publish to the web should be short and to the point.  People lose interest quickly on the web, and your key points should be easy to find as well as carefully worded.  It’s a known fact inside the industry that people don’t read a lot of written copy unless it’s absolutely necessary, they simply skim over the high points and move on.  For this reason I recommend using bullet points and highlighting or bolding key points that you want to make.

Probably the best tool for delivering content today though is by video.  A lot of people get concerned when you mention video because they are concerned with the costs related, but video doesn’t have to be a huge campaign expense.

I recently recommended the Flip Mino on my blog, this camera is ultra portable and can fit in your shirt pocket.  This makes it perfect for shooting video messages on the fly or during campaign events.  The best part, the Flip Mino retails for under $200.  I also recommend sharing video on two video sharing services, YouTube and Vimeo.  Both of these video sharing services are easy to use and they can give your campaign wider exposure across the web, not to mention the videos can be added to your website or blog with just a few clicks.

While these portable video cameras provide a great way to post quick video content to the web, it’s also advisable to add in a few professionally edited videos as well.  In my opinion this can go a long way.  For example, you might consider having a professional videographer prepare a couple of videos in a studio with proper lighting, etc. for use as your welcome video (the first video your visitors see), as well as your platform video, where you state your positions on key issues.  The remainder of your video content can be short, informal clips taken at campaign functions. Video endorsements have also become quite popular and I look for these to become more and more popular.

Website Management

Once the development process is complete and your website is launched, you will want to keep it fresh with content updates. This is more important today than it was in the past because of RSS (really simple syndication).  Instead of making return trips to your website to check for updates, users now just subscribe to your RSS Feed and view your content either on their desktops or software applications called readers.  Another way that RSS is utilized is email.  Subscribers to your RSS Feed can receive email updates each time you post new content to your website.  RSS also makes your content portable, meaning that it can be syndicated across social networks and embedded on other websites.

Social Networking

Social Networks like Facebook and Twitter are extremely important!  For larger campaigns I recommend a full time staff person that just manages the social networking presence for the campaign.  On a smaller scale the task isn’t near as daunting and can be handled with a lot less interaction, but it’s important to follow up with questions and discussions.

Pushing content onto the social landscape can be totally automated, again by using RSS.  I recommend integrating RSS Feeds into both Facebook and Twitter. MySpace is a lot less relevant than it once was and I no longer recommend it to clients unless there are special circumstances, but if you have the time to devote to managing a MySpace account it certainly can’t hurt anything, but be sure to stay on top of it once it’s setup, and keep in mind that Facebook and Twitter are a lot more relevant.

Maximize Your Web Potential…

While on the campaign Trail, don’t forget to promote your website as much as possible.  If you meet a person in passing and don’t have a lot of time to really connect with them, be sure to send them to your website for more information.

In closing, I hope that you have found this information to be useful.  If you are considering a political run in the near future, or are already actively involved in one, and would like to discuss your campaign’s web presence or social media campaign with my partners and I, please don’t hesitate to contact us.  We would love to discuss your project in detail with you.  We can provide every tool needed to make your campaigns web presence a huge success!

Pleth Networks on Facebook

Are you on Facebook?  If so, be sure to check out the Pleth Networks Facebook page. We have already posted some links to a few of our past projects that you can read about as well as some of our current projects.  While you are there, be sure to become a fan, you will see the “become a fan” link at the top of the page. 

Facebook has been an awesome tool for me to connect with old friends as well as make new ones, but something that might come as a surprise to a lot of people is that I have actually been contacted by several new clients via Facebook.  This is what prompted me to go ahead and create a page for Pleth a few months back.  Once our group grows we will likely be adding some discussion forums that will allow us to interact with our followers.  A rough draft of the discussions area is already online if you want to try it out.

Facebook | Pleth Networks, LLC