Category Archives: Ideas and Sorts

Ideas for the Social Leper

What
image courtesy of Ducklips Photo

Social networking, check-ins, friending, linking-in, and other items have made for an interesting world. Some people may see this as a purely consumer/individual niche, with only the younger crowd getting into this new fangled technology. The internet has been around for a while and people sometimes have a hard time seeing how these new social areas can have any meaning to the world. Good or Bad, these items are here to stay, and eventually evolve. Today we know of things like Foursquare, Facebook, LinkedIn, Twitter, StumbleUpon, and others to help us keep in touch with everyone, even people who are not really our friends.

But how can businesses take advantage of this? Some have tried, some have succeeded, some have failed. And still some, are reluctant to try this. One of the cases I saw with this I could not believe they were using social media this way to do a marketing campaign. As I always say, I am no marketing genius, but I do feel I know technology. This company had a product that they would market. They had a specific site set up for this product, and would try to highlight the different parts of this product. When it came to social media, the message was always the same. No matter which portion of this product was being showcased, the same message was being done on the social media outlets. And I am not talking about the same idea being conveyed, or the same thought. I am saying the exact same verbiage, for each time it hit the social sphere would be the same. I equated that to social spamming.

All Alone
image courtesy of Ducklips Photo

Imagine being around a person who said the same thing every time you saw this person. No matter what the conversation was, no matter what events were happening, this person would say the exact same thing every time you were around this person. Would you be excited to see this person? Would you start to ignore this person? And that is what one really needs to ask in these situations. I am sure we all have our “friends” (using Facebook) that we read their posts and just think, “I should hide their posts because they are annoying”. Or they just get thrown into the friend dumpster.

But this group looked at social media as another billboard, another TV spot, another magazine ad. And is that what social media is really is? Of course not. It is a chance that businesses can actually interact with their consumers. Years ago, the big push was to create sort of a “symbiotic” relationship with the supply chain, including distributors, suppliers, retailers, etc. This even extended to a certain extent for competition. Now businesses have a way to create that same relationship with the people who actually pay for the goods and services. And some companies would prefer to just treat this avenue as another billboard. Why would they think that would engage the targeted audience? Does anyone, besides children, get excited to see tons of pretty colors and the same message constantly? It is time to start interacting with the consumers to build those relationships. It is possible, and no matter what the product is, it can be done.

The Pet Rock
(image from wikipedia)

Anyone remember the pet rock? It was a freakin rock! Something you can pick up in the backyard. Yet people would buy these things. It was the way it was marketed. I am sure they did not just market it by promoting a purchase of an ordinary rock from the ground. It was marketed as a real pet, filled with funny play on words and relating it to a real pet. It came with a full instruction manual, and a box that looked like a pet carrier. But at the heart of the product, it was a rock. Most products have a lot more functionality than a rock, and fail. It is the message. Using social media should be the same. Interact with the consumers, build that relationship, and have them interact with the company. Sure, some people will be rude, and even try to degrade the company. Build the positive voice, and keep the engagement alive!

Whats the plan, Stan

After nearly a month off, I believe it is time for me to institute a new way I am going to blog. Topics range from a ton of different items, and I think we should have a specific way of what I am doing. So, starting today, and hopefully I will have enough time with this, I will be doing a post every day of the week. Some will be longer than others, and some with be short. But every day, there is a theme that will be followed. The format will be as follows:

Monday – Whats the plan, Stan; Planning ideas and thoughts
Tuesday – Have your Cake and eat it too; focusing on coding
Wednesday – Coding for the Social Leper, ideas and code segments for people like me, social lepers
Thursday – Focus on the Locus; examinations on location services, social integration and strategy
Friday – Fun Stuff to Knock Your Socks Off; fun stuff to finish up the week

Now, the next question ought to be, what makes me such an expert on any of these topics? Well, here is the answer, nothing, I am not an expert. These are my musing and experiences in these areas. I may be right on some of my endeavors, and I may bomb. I will share both with you. I figure one of the best ways to learn and grow is to share experiences with each other. And this is what I am intending to do, share my experiences with anyone who cares to read.

So lets get on with the post for today – Planning. This goes with any thing you want to do. Whether that is code, a social media strategy, or marketing campaign, heck, even mowing the lawn. I will share with you some of the things I do before writing any code for an application. There must always be a start to everything, so lets start with the basics. This will be a very high level overview into some of these items, and will get more detailed as the weeks go on.

What is really needed for the project at hand? Do we know what the goal is, how it should act, behave, grow? Has any research been done. In code, one of the things I like doing is understanding how an end user is wanting to use an application, what they expect. I go through interviews, process flows, and even user stories. This can be applied to almost everything else. We need to understand what it is that needs to be accomplished, and why it needs to be accomplished.

Next is to understand what success and failure metrics for this project. What needs to be tracked, and why. What is important to business groups and why would it be important. What is the success boundaries, and what consists a failure? I like to understand each of these items so I know what to plan for in the code, in the campaign, in the project. Statistics can be a real bugger if it is done at the very end. And it may affect how an application is coded, a project assigned out, or a campaign run.

Once we have these ideas in place, we can start with the next phase of planning, and that involves the documentation, the project write up, and the use cases, mock ups, design sketches, etc. Which can be very time consuming. This is what makes it hard to go this route for many companies. Time means money on a lot of ventures. Not just the money of paying people to do this, but the residuals that involve this as well, electricity to power laptops, internet connections, travel, focus groups, phone charges, etc. This phase can have a lot of monetary impact while yielding very little ROI. So it is finding the right combination of events to maximize those events, and get into the actual work quickly.

Planning is essential though. And it should not be passed over or taken lightly. Think of some of the major applications, or ads, or products out there. Each one of them required a ton of planning, and it paid off. The Old Spice commercials are amazing, and that could not have been slopped together quickly. Most online applications are ones that are well planned, and you can really tell the difference between the ones that are and are not. Companies that are successful plan. But a final word of caution on planning: Do not let it consume you to the point of where you lose focus on the final product. You can plan things to death. Find that perfect balance that works for you, and run with it.

At the Dance

When I was a younger kid, I would watch different shows with my parents. A couple of these shows had a similar gag. The Muppet Show had a segment called “At the Dance”, which was similar (a homage maybe?) to Rowan and Martin’s Laugh-In cocktail party segments. These segments were great for the one liners, quick jokes, and rapid sequence of conversations. This was great for a viewer and for a kid, well at least for me as a kid, it was funny and interesting.

Muppets: At the Dance
Image from Muppet Wiki

As all young children do, I grew a little taller and started to age through the elementary years until I got to the junior high stage in life. It was the first real time I would be able to participate in a “At the Ball” segment in real life. My friends and I thought this was going to be so much fun. Then we arrived at the dance. The horror set in that we would have to dance with a girl, which up until recently in my life at that stage, had been “icky”. We saw one of our friends dancing with another young lady and when the dance was over, he came back to “our side of the wall” and then got it. Everyone over in our area started to tease him, recite the silly childhood chants of “kissing” and ending in baby carriages. This just made me more unlikely to dance with anyone else. And soon, I found myself in the reality of being smack dab in the middle of a Muppet like segment where I watched others have conversations. I would occasionally say something if I was close by, but it was awkward and usually ignored. At times it did feel like I was left out, and the fear of being ridiculed was too much for me to break free.

Luckily I was able to play football to help me ignore those moments. But junior high soon ended, and high school began. It did not get any better. During the freshman years, many of my friends soon had “others” they would rather hang out with. Their conversations revolved around these type of activities. Ones which I was rarely involved in. Dances were no longer the only times that seemed like the Muppet segment. Now it was in regular times in-between classes, before school, and after school. I would say something. Some times, it seemed like the “parrot” of the group, saying the same things over and over, or repeating what others had said. Sometimes it was witty, and the group would laugh, maybe focus on that for a few minutes, then go on discussing the different events of the past weekend and the upcoming weekend. I knew I could no longer be the social leper of the group.

Punch Out
Do your comments result in this?

It was not just being able to say odd things, or random thoughts in the social circles I traveled with. That usually resulted in a not too pleasant backlash. OK, maybe not as harsh as the picture indicates, but simply saying anything was not enough. Being witty was not enough. Being a joker was not enough. This did not sustain meaningful conversations, and my ultimate goal: being able to take a girl out on a date, maybe even to a dance. High school brought many opportunities for that. Some people may have thought it a waste of time, or remained scared of what others would say. That was not my fear. My fear was being shot down. I no longer wanted to be on the peripheral of the conversation, I wanted to be able to participate and drive it. This led to many other things, as I saw my friends who did this, they always seemed to have dates (and bum money off me). I wanted that.

I had to break out of my shell. I needed to understand that sometimes, I will strike out. Some girls may say no to me (and they did often). I was tired of watching “At the Dance”, I wanted to be part of it. I hung around my friends, I knew the different things they did, I wanted to be a part of that. Too many of my friends got a head start on me, and I had to play catch up. It was possible, all I had to do was understand that I would not always be the center of attention. But I could contribute to this. If I offered something of interest and was able to interact with others, it did not matter if I brought up the topic, or just participated. I was no longer just throwing out random thoughts in a crowded room, I was getting involved with others. Soon my social circle grew, and more people knew who I was. I was no longer the “odd shy one over against the wall”, I was a human being human with other humans. I learned from them, got to understand them, and they understood me. This led to more dates, and more dances.

I was finally not just watching “At the Dance”, I was part of it. I was able to interact. Instead of talking to other people, I talked with them. Instead of just spewing out random items, or saying the same thing all the time, I was able to interact and understand others. Sure I made mistakes along the way, I am sure everyone does. But in my social circle, people knew and understood me, as I did them. When I did stumble, I did not cry over it, and let despair sink in. Pick yourself up, dust yourself off, and get back in the game. it was more enjoyable when I actively engaged others, rather than just watch their conversations go by.

Sometimes, companies experience the same thing when approaching social media. Is just being “At the Dance” enough, conversations whizzing by, maybe mentions of the company or its products, and the occasional shout out to the noise in the room?

Focus on the result

I have been taking the last week to review my posts and see what I have written. And I must say I am really long winded at times. So in an effort to make more posts, and to keep them more targeted, I am going to do my posts with a clear focus on what I want to convey. No more side trips. I will explain things, but keep it a little simple as well. I am also going to focus on a few new topics. I have mainly focused on PHP items, and will still do that. I am also going to branch more into the social and digital marketing areas. In my current occupation, and career path, I am still doing code, but I am seeing the code I am writing with a little more focus. What I am writing goes directly to some kind of marketing, whether it be subliminal marketing, or superliminal marketing, the applications I am writing all go into that. So I have been exploring the different areas more and more.

One area is the social aspect that can be built in to the applications. Do these even work, or is it worth it. This focus will be mainly on the applications like Facebook, Twitter and Foursquare. At times I will also examine other areas, but those will be the main focus. Some will be about code and integrating the Graph API into sites. This is ongoing right now with my name site (www.stephenhird.com). In this application, I am building a basic online resume that can be updated via an admin inteface, and then connect the jobs, interests, and schools with the Facebook API. This is an example site, and the actual real world application of this theory is highly unlikely. When I was thinking of this, I really thought of how many people are on Facebook. If I were to link my previous employers, schools, interests it may help. It will only allow those who link to my application to connect, but it can show prospective employers, headhunters, etc a list of their network that may have worked with me, gone to the same school, etc. Yes this is a double edged sword, as some connections of this person viewing my resume may not be a good reflection. But, if you have nothing to hide from your previous work or school history, it should be fine. And as this is just an example exercise that I am posting about, it will give ideas and different methods to help integrate the Graph API with a code base.

So with this in mind, I have linked my Hirdweb application on the menu. But please also check out the Hirdweb Page on Facebook:
http://www.facebook.com/home.php#!/pages/Hirdweb/140356864345

Please visit this and interact, I am always looking for some good ideas, and feedback. I will never claim to be an expert in anything. I will only give you what I know, and sometimes I may be wrong (just ask my wife). But I will always be honest and if I am wrong I will say I am wrong. And now, I will also start focusing on the result of the post, the message of the post and the idea being conveyed.

The Data Model and the Set Up

So in this post, I will cover what I did for a data model on the resume part of the site. When I was looking into this part, I was looking to see what I needed, or what needed to happen for this to be effective and capable of doing what I wanted. So I started to look at my own resume, and some of the other sites out there that do this. In any application, it is important to understand exactly what data needs to be captured and why. I think that is where most people usually skimp on, is the why. They think once the data is identified, then that is all they need. but it is not so. One need to understand the “why” of the data in order to properly map and design the DB schema.

Take for example a simple address. It consists of a name it belongs to, number, street name, may or may not contain an apartment/suite number (address line 2), city, state and zip code. Now if we have this information we could maybe say that the name is part of a “Persons” table, and they would be linked to the “Address” table where each field is contained. And normally that may work. But why are you collecting this data in the first place? Is it a basic business application to store customer shipping addresses? Or is it for the city planning, emergency response and police units? Could it be for a post office application, or even political boundary application for a government unit? Each one of these questions may alter the way the data is stored, drastically. For a basic customer database, you could get away with two tables, and in the “Address” table you have one field for address1, address2, and so on. For a city-use application, that may not be normalized enough, and you may have to switch out to three or four tables, and break up address fields into three or more including one field for the number, one for the street name, one for the direction of the street, and one for the type of street. And they may be linked to other tables that contain that data. So just knowing that you have the data identified is not the end. You need to understand the “why”.

So, now we go on to this resume application. And remember, I am building this for me, and only me. I am not building a resume repository so others can create theirs and post it online and via Facebook. This is applicable to me. So I need to find the data that will work for me. I also need to find the data that will work for the people looking to hire people like me. What do they want to see, and why? So after I searched through to see where that would be, I came to the following conclusions. . .
Continue reading The Data Model and the Set Up

Design and Focus for Connecting on Social Media

OK, after the long break I took, I want to refocus on the Resume/personal web application I am building, and how to integrate with Facebook using the Graph API. But before we get into the nuts and bolts of the application, I just want to go over some of the design and focus for this application.

This application is mainly a learning tool, and way to get familiar with the Graph API and keep going with CakePHP. The main user for the administration sections are going to be me. So certain aspects can be adjusted, while others should not. One thing that I can be a little more relaxed on is the input fields. I will allow certain content, but not all. Sanitation of the input data does not need to be paranoid, and I can allow other things to slip through. However, I still want to have security in the back end and allow for checking of proper field id’s and other items that will allow the form to be secure, but give me the flexibility to enter different items in the backend.

Then there is the front end. This will be the forward facing end of the application and will also be the Facebook front. We have added in comments to the application. The next focus is the resume portion. And here is where we can look at the design and focus. By design I mean the design of the application. The UI can be really anything, and I will focus on a simple UI that utilizes HTML5 and CSS3. However, some people I talk to seem to question the aspect of resume portion, as in “why do that when there are countless other sites out there that already allow for this”? That is a good question. And I am not taking anything away from Monster, CareerBuilder, or any other site. LinkedIn provides a way to post your resume as well, and provides a social aspect for it. All of which are great. Remember, firstly, this is a way to experiment and learn more, grow in Graph API and CakePHP. But look at how the world is trending right now in technology.
Continue reading Design and Focus for Connecting on Social Media

A Short Break

As you may have noticed, I have taken a little break from posting. I am having to refocus some of my extra time, what little there is, on some other projects.

However, I will be starting posting again in January of 2011. I will continue the Facebook API integration, CakePHP code and some other things starting the new year.

Make sure to have a good time over the Holiday season, and Merry Christmas to all.

ORM Designs and Tools

ORM, that magical acronym that can send developers into a flurry of excitement, or the rolling eyes of grief. ORM stands for Object Relational Mapping. Used correctly, this can really help applications convert data into objects ready to use. While it does cause some overhead, the key thing to remember is that used properly, it can be really helpful. But that is also the way it is with anything related to code. Since I focus mainly on the open source areas, examining an ORM tool will be limited to the PHP view and aspect.

When designing the data objects, it is important to understand the data and how it relates to the application and other objects. Usually it is the planning sessions that get overlooked, or hurried, and create a problem for later on. This is why using a tool to help with this is always good. I specifically look for more of an ERD (Entity Relationship Diagram) type of tool that can help me visualize and document the data objects. Never underestimate the power of a visual diagram for data. This is worth everything when coming on a new project, or bringing in new resources to a major project. It can drastically decrease the learning curve. There are different tools out there that can help with ERD and ORM design, with the basic Visio diagrams (a Microsoft product), to more robust ERD tools that include different UML (Unified Modeling Language) tools integrated with it like MagicDraw. Each tool will have its pros and cons, no matter what the toolset is, no matter what the project is. I have found that there is not a single tool that is perfect for every project. But finding a good tool that can help in designing the database is a must. If it can even generate code, that is a lot better. One tool that is available that can help with ERD, and generate code, and help with ORM is ORM Designer. And I will examine this tool as it relates to Symfony, CakePHP and non framework applications.
Continue reading ORM Designs and Tools

Code Standards

As I have been going through different code bases, I keep seeing things that just really amaze me. It all surrounds coding standards, or the lack thereof. Different places have different ideas of what is best, and I can only offer mine to the fray. However, once a standard is in place, no matter how odd it may be, it is important to keep to those standards. This is for a few reasons.

First, it is important for readability. By seeing the code in the same format and structure it helps to get through lines of code quickly. It helps because all of the code is in the same format throughout the code. The person looking at the code can quickly understand without having to go back and figure out what is happening because the code is all of a sudden out of whack and what you may think is happening may not be happening. Especially when indentation may also be out of line and brackets are not used. Take for example the two examples below

$fin=0;
foreach($var as $v){
if($v==3){$fin=$v+3}
unset($fin);echo $v; 
}

As a stand alone example it may be easy to decipher what is happening. In a file that has over 3000 lines of code, it may be overlooked and even cause issues if changes are made that affect that block. By breaking from the set coding standards and doing it “your own way”, sure it may be quicker for you, but it creates havoc, even for you later on.
Continue reading Code Standards

Apple iPhone Development

Just a quick post here. Not a lot of time to do anything really earth shattering in this post. I have recently purchased a book to help me start to code some apps for the iPhone and iPod Touch. I am starting out slow, then going to work my way up to some really cool apps. I think one of the things I will create first is an app that can download site content for use offline. I am sure there are a ton of apps out there that do that, ie like readers, feeds etc, but i was looking to start with something that would help me, and then grow from there.

Here is the book I bought:
iPhone Development
by Dave Mark and Jeff LaMarche
Apress

Not sure when I will have time to get through this. But I will. Also, if there are any other books, or better resources to look at, please let me know. There are a few apps I have in mind for all portable/phone devices I want to do, but as with the rest of the world, money is a little tight right now and have to start somewhere.