Posts

Showing posts from 2014

7 ways to help your sales be more effective

Every organization wants its salespeople to be successful -- that is, close more sales. Yet ask many salespeople and they will tell you that their organization often makes it difficult for them meet their quotas, requiring them to do lots of administrative work (e.g., enter data into a CRM system) or not providing them with mobile tools. So what can organizations do to better support and free up their salespeople, so they can close more sales? Here are seven sales strategies for success gleaned from sales and marketing experts. 1. Employ a sales-friendly CRM system. "A good [sales-focused] CRM system can help your sales force stay organized and focused," says Mack Dudayev, CEO and cofounder, InsureChance, an online life insurance marketplace. "With features such as lead prioritization, automatic reminders, lead nurturing and notes, you can expect to see an increase in your sales team's closing ratio and improved productivity." Another benefit of CRM: "Y

5 Tips To Creating A More Usable E-Commerce Site

E-commerce is a very competitive field because your rival is no more than a click away. If a customer doesn’t like your site, he simply looks for another e-commerce site to buy products from. If you want to gain more customers and attract attention, you want to make sure that your website is as usable and as customer-friendly as possible. It doesn't matter if your prices are very low or you have the best products in the market because if customers get confused navigating your website, reaching a preset target will likely be difficult. Usability means that you have to make the buying process as quick and as easy as possible. These tips will let you create a more usable e-commerce website that can create higher conversion rates. 1. Call To Action & Sign-Up Buttons Avoid lengthy sign-up forms that can take a few pages or so before visitors can successfully register to your site. As an e-commerce site, you don’t actually need to know their address, phone number, what kind of wo

10 Ways to Deal With Upset Customers Using Social Media

Image
1. You Can’t Respond to Conversations You Don’t See Great response starts with great listening. Set up Google Alerts for your brand and industry keywords. Keep a close eye on your Facebook page. Listen on Twitter. Depending on the type of business you have, read reviews on sites such as Yelp , TripAdvisor and Zagat . Make a list of any forums or communities where your customers congregate andregularly check in on them. Whether you’re paying attention or not, the conversations are happening. But a great listening program makes it easier for you to catch negative buzz and spot issues before they build momentum and become much harder to turn around. Google alerts are free, easy to set up, and instantly help you keep an eye on key conversations. 2. Determine if it’s Worth a Response Not all negative comments are worth a response, and not all critics are worth trying to win over. Sometimes, as hard as it can be, it’s best just to move on. Avoid th

Test Driven Development - TDD

Test-driven development  ( TDD ) is a  software development process  that relies on the repetition of a very short development cycle: first the developer writes an (initially failing) automated  test case  that defines a desired improvement or new function, then produces the minimum amount of code to pass that test, and finally  refactors  the new code to acceptable standards.  Kent Beck , who is credited with having developed or 'rediscovered' the technique, stated in 2003 that TDD encourages simple designs and inspires confidence. [1] Test-driven development is related to the test-first programming concepts of  extreme programming , begun in 1999, [2] but more recently has created more general interest in its own right. [3] Programmers also apply the concept to improving and  debugging   legacy code  developed with older techniques. [4]

PHP Interfaces

Lots of developers struggle to grasp the concept of the "interface" in PHP. But once they get the idea and understand how it works, they then struggle with a new problem: writing interfaces that are too complicated. This might seem like a contradiction in terms: after all, we want to create comprehensive interfaces that describe the behaviour of a particular object type. And since we don't generally want to extend the interface, shouldn't the interface we write be complete? Yes, and no. Let me explain. The overbearing interface Let's take a look at a common database interface that many of developers come up with when they're tasked with writing a database layer: <?php     interface MyDBObject {         public function connect($host, $db, $user, $pass);         public function query($query, array $params);         public function prepare($query);         public function beginTransaction();         public function commit();         public f

Refactoring and Kata

Martin Fowler has a pretty good site on refactoring -  http://www.refactoring.com/ Coding Dojo Katas -  http://codingdojo.org/cgi-bin/index.pl?KataCatalogue

PHP TDD Shopping Cart from scratch.

So, I've finally taken the plunge again and started seriously looking into refreshing my dusty old brain cells about TDD and unit testing. Over the past few weeks I have been re-reading various books, reading articles and watching video-casts by some of the leading names surrounding Testing, TDD, Design patterns and tackling legacy code, and the inspiration has finally got to me that I just need to tackle this head on.  Consuming a wealth of information about greenfield and brownfield systems and how to tackle them. I have also revisited daily coding Kata's, taking 15mins in the morning or evening to tackle a simple Kata to get my brain in "test first" mode. The array of books and information I have consumed has been immense and I'll probably re-read and watch everything again, and get a different perspective on things, although I guess the main way to learn is by doing, which is why I raked through the archives (then ended up password resetting) my github a

Why you should never extend the interface

Hello, there What's wrong with this code sample? <?php     class MyClass {         public function myFunction() {         }     }          class myOtherClass extends MyClass {         public function MyOtherFunction() {         }     }         class Controller {         public function doSomething(MyClass $object) {             $object->MyOtherFunction();         }     } On first blush, it might seem that this is ordinary inheritance, and we're doing everything we should be doing. But there's something very wrong here. The problem here is that we're extending the interface. Extending the interface itself isn't necessarily bad, but we're making a second mistake: we're then typehinting on the wrong object type. Let's talk about why we want to avoid this practice. The Liskov Substitution Principle I've discussed the Liskov Substitution Principle a few times through this newsletter. But let's go over it again. The Liskov Substitution

Upgrading from Sagepay protocol 2.23 to Sagepay protocol 3.00

I have recently been involved in upgrading a sagepay integration on an ecommerce site from Sagepay Protocol v2.23 to Sagepay Protocol v3.00. Once this has been actioned, I am to update this blog as a point of reference for anyone else working on a similar update.

LinkedIn offer ability to block 'friends'

LinkedIn on Friday announced a new feature that members have been requesting for quite some time: the ability to block other members. It’s a feature that will no doubt be incredibly useful, especially on a social network where many can be relentless in their pursuit of making a professional connection. In a post on the matter , Paul Rockwell, LinkedIn’s head of Trust & Safety, said they built the feature not only because it was requested but simply because it’s the right thing to do. The feature is being made active as of today to all members, Rockwell noted. To enable member blocking, simply head over to your LinkedIn profile and navigate to the profile of the person you wish to block. Select “Block or report” in the drop-down menu located next to the Connect and Send InMail buttons. Pro tip – if you want to avoid an awkward moment, enable anonymous profile viewing before doing so. That way, you can visit and block the person’s profile without them knowing about it. Once blocked,

PHP refactoring in legacy code

http://www.tomslabs.com/index.php/2012/01/php-refactoring-in-legacy-code/ The story we’ll talk about is a true story. It happened to be challenging and helped the team keep testing its beliefs in XP, iterative developments and code quality. Product elevator statement Imagine a well legac”ied” project you don’t know. Product is a web forum with millions of messages. We want to rebuild the categorization mechanism (messages are “categorized” meaning they are assigned to a category that best describes their content). Mission : fix all bugs “Short delay” and “no regression” are the words. Only few people share the knowledge of the categories system to be refactored. Numerous bugs (useless to mention that several generations of developers brought contributions to the project). 20 commiters. Background From the team’s point of view, here are the goals we anticipated we needed to achieve: Understand the expected behavior of the categorization mechanism Bring no regressi

Kali Linux

Kali Linux Features Kali is a complete re-build of  BackTrack Linux , adhering completely to  Debian  development standards. All-new infrastructure has been put in place, all tools were reviewed and packaged, and we use  Git  for our VCS. More than 300 penetration testing tools:  After reviewing every tool that was included in BackTrack, we eliminated a great number of tools that either did not work or had other tools available that provided similar functionality. Free and always will be:  Kali Linux, like its predecessor, is completely free and always will be. You will never, ever have to pay for Kali Linux. Open source Git tree:  We are huge proponents of open source software and our development tree  is available for all to see and all sources are available for those who wish to tweak and rebuild packages. FHS compliant:  Kali has been developed to adhere to the  Filesystem Hierarchy Standard , allowing all Linux users to easily locate binaries, support files, libraries, etc

Help! I'm drowning in legacy code!

It can be easy to feel dejected when looking at a pile of code you inherited from four generations of programmer ago. None of the best practices or principles. No tests. Hell, you're lucky if you even have objects that don't rely on PHP 4 style constructors. You're in legacy code hell. But there's hope. Software as a long game Even though it can feel hopeless when starting at such a massive pile of crap, there is in fact hope. There is a redemption waiting for you. That redemption is found in a simple revelation: software is a long game. Consider: that steaming pile of detritus you're working on didn't get that way overnight. In fact, it took a long time to get a code base that big together in the first place. Code takes time to grow. Rome wasn't built in a day, and neither was your application. PHP has been around for a long time, over 10 years. Much of that time, PHP didn't many of the features that now make it a world class programming langu

Google Launches Project Tango

Google have today announced an experimental Android-powered smartphone with powerful 3D sensors called Project Tango. The phone is the latest project out of Google's Advanced Technology and Projects (ATAP) group. "The goal of Project Tango is to give mobile devices a human-scale understanding of space and motion," Johnny Lee, ATAP's technical program lead, wrote in a Google+ post announcing the project. The 5-inch phone will run Android and be equipped a series of 3D sensors capable of taking more than a quarter of a million measurements each second. Google envisions these sensors will have a number of applications from gaming to indoor navigation. The phone is still in early stages of development, and the first prototypes will only be available to a limited group of developers. The first 200 prototypes, which Google expects to be distributed by mid-March, will go to a group of developers hand-picked by Google. Google says many of those first devices will go to c

Why do object oriented principles matter, anyway?

Last week I was chatting with a friend who was asking me about object oriented programming. He asked me a pointed question that I thought deserved a broad and public answer. His question? "Why do these object oriented principles matter, anyway?" It's a good question. You probably came to PHP writing procedural code, never caring about object oriented development. And maybe you've heard that object oriented development is the way of the future, but for now you haven't seen much of a need for it. You wonder, why does it matter? There are three reasons you should care about understanding and mastering object oriented programming. Object oriented programming is about reuse. Writing object oriented applications is about being able to reuse code that you've written elsewhere. For example, if you've developed a great database API, you may want to take that along to other applications. Rather than starting from first principles, this object gives you a st

Microsoft Launches OneDrive — Basically the Same as SkyDrive, but With 100GB Free if You Hurry

There’s not much in the way of surprises for today’s announcement by Microsoft of the general availability of its cloud storage service OneDrive. The new name had already been previewed, and the product is largely the same as its predecessor, SkyDrive. New features include auto uploads from Android, adaptive personal video streaming a la Netflix and better document collaboration tools that don’t require a Microsoft account. But as with SkyDrive, the main advantages of storing your stuff with Microsoft is that it should work well with Microsoft Office (unlike Dropbox) and that it’s not wedded to a company that also controls the dominant mobile platform, so it has more platform independence (unlike Google Drive). Also, OneDrive doesn’t do dumb things like store new photos for only 30 days (unlike Apple’s iCloud). Other than that, the big advantage of OneDrive over SkyDrive is that the first 100,000 people to sign up get 100 gigabytes free for one year. That’s just one of many pos

5 Ways to Learn SEO

For most websites,  natural search is the most effective free digital marketing channel. Except for the human resources, platform costs, and other mostly hidden costs required to plan and implement search engine optimization, it is free. As a result, I'm often asked for the best free ways to learn how to become an expert in SEO. The following are my five free go-to tips for learning SEO. Moz.com’s Beginner’s Guide to SEO.  The friendly folks at Moz (formerly known as SEOmoz) have developed this free beginner's guide  to teach anyone willing to read through it. With helpful illustrations and cross-linked concepts, this guide is well done and worth reading. If reading on your computer screen isn't for you, download the free PDF version to print or take with you on your tablet. Books.  The public library system is still a great way to get an informal and free education. Check out one of the many SEO books in paper form, or look for a digital version to read on your e-reade