If You Want News, Focus On The Product

Over the past year I’ve taken various roles in and around various products. I’ve seen, advised on, and been part of the main issue. Companies want news, but they don’t do anything newsworthy. Why the hell does anyone want to write about what you did 6 months ago? 3 months ago? Even last month?

The fact of the matter, in my experience, and my observation is unless you do something on the product side, good or bad, or have some clout you aren’t going to get news. There is a factor of your scale as well, as some sources tend to focus on the larger stable companies and products, which is partly due to the advantage of inertia and size. I’m going to mostly ignore that though and point out product problems I’ve encountered.

I know that there are products that can get by successfully only doing data processing, primarily when offered as a business service. Unfortunately, it’s common to see stagnation or failure in the consumer area because it has pretty low barriers to entry, and often times lower consumer value. I’ve got no problems if this is how you want to start and test a market. As you grow you’ll need to either be so awesome the user wants to keep using it or have another reason for the user to interact with the site.

If you only handle data from one service, that’s great, but why aren’t you handling data from more? Only Twitter or Facebook, why don’t you add the other one to your sources, even better try and get in and add Google +, while it’s still early and/or hot. You are self-limiting and become susceptible to your source’s actions. Free yourself from the dependence, through wider integration plans. Even better, add your own system that can be used without the external dependence, giving yourself more control on the data you want, a protection from external forces, and a possible pivot point.This doesn’t mean you need your system to be the primary, but having it is a good thing.

I’ve had several minor rows with people over this in the past. Often times they aren’t in a position to change it. Once, I was in the only actual position to change it, but it wasn’t what was planned or wanted; I should have done it, anyways. You’ve got to just do it.

Another issue, I’ve had was trying to push a dev issue, that was a roadblock to the companies API. Yes, they offered a public API, but as a consumer data-processing, they neglected some key functionality required for 3rd-parties to offer clients, while also being completely absent from a huge market. I had jumped in to try and help build a client not realizing the issue when I started. Once I found it though, after a few weeks work, I sent several emails and had a discussion with a non-technical person to try and get the issue fixed. I received no replies, aside from the non-technical person, even when I stepped out of the support chain and contacted a developer explicitly. I gave up after a few weeks of trying to get a response. I still support this company’s mission, and wish them all the best.

A big one that killed my big project I was working on at the beginning of the year was that the team had no focus. We were all on different pages, and sometimes there was a delay in one area, or someone pushing hard in areas that wasn’t necessary at the time. Getting off the rails and trying to keep going further is a recipe for disaster. If you fall off of a clear path, collect yourselves, lock-in what needs done, and focus on your goal. Also, don’t let what you’re doing be driven by press reasons, that’s the wrong place to focus and will have you running everywhere.

While I wish I could say that I haven’t and won’t again make any of these mistakes, I can’t. I will absolutely try, and they are things I don’t want to forget because they cost me a lot of time, energy, and passion. When it comes down to it you’ve just got to focus on the product.

  • Problem #1: You’re just a data-processing company.
  • Problem #2: Developers aren’t involved in technical support.
  • Problem #3: Your team doesn’t have the same goals or reasons.

Free Idea: Collect Your Friends

A few weeks ago, I was working on setting up another webpage as a portfolio and jokingly made Holden Page a project. I then shared over on Friendfeed that Holden was now a personal project, which turned into a thread filled with Pokemon jokes. This is when I started thinking about how cool it would be if you actually could collect your friends in a game.

So with that idea I decided to lay out a few structures and ideas rather rapidly on what would be interesting. I’ve decided not to follow through with any of the aspects at this time and figured I’d make them public record. Obviously, the ideas are pretty closely related conceptually, they will be presented as such, but they may be applicable elsewhere. I’m just going to write it up as a bit of a package deal.

Concepts

  • Connect to one or more networks to gather friends
  • Convert your friends into  a set of useable gaming aspects
  • Random occurrence of friends or competitors
  • Should be able to collect, compete, or trade friends with others
  • Maintain a list of friends that will be commonly used

Connect to networks

Allow the user to import their Twitter, Facebook, or Google+ friends into the game. Personally, I thought Twitter would make a better base for the game, but it’s possible that both Facebook and Google+ would make better networks to connect with since they both have gaming platforms built in. There isn’t really anything novel here.

Convert you friends

This was the main idea that I thought could be used in an interesting manner, which also lent itself to Twitter quite well. Take the username of said friend and create a hash from it, doesn’t have to be unique. Use this hash to create parameters befitting your usage (e.g. Taking the Pokemon/RPG aspect, using the hash to determine HP ATK/DEF SPD S.ATK/S.DEF, and they’re various growth rates at level up.) In addition to or in lieu of the hash, you could also try to determine a type by analyzing the friend’s recent content and create a type for that user. This would be more advanced, but doable.

Random Occurrences

This is where I had issues, not so much the occurrences, but how the encounter’s would be handled. I couldn’t come up with any reasonable interaction for this portion of the game. The few very weak ideas I had were using recent content as a competitive method or creating a set of abilities from the hash.

Trade, Collect, or Compete with Friends

These tools are what I find interesting. By encapsulating these concepts into a game, you make sharing friends an aspect that would be a hopefully rewarding experience. This would hopefully increase serendipitous encounters with people you may not have encountered before, but also allow you to reward people for their interaction with you. I’m in love with this, honestly and hope to either come up with a decent way to manage it, or hopefully someone who sees this would.

Friends List

This would be the parallel to your team of Pokemon. The differences would be that it could be possibly generated by those people you interact with most, or people you most want to reward with experience. Experience could be tracked individually(only for the user) or by aggregate(for the friend id). This would allow for possible global ranking based on usage, which would be an interesting concept, compared to our current systems of trying to track and analyze social value.

Random Ideas Related

  • Items that can modify elements of the game, such as leveling up or accessing certain areas.
  • Add minigames for users to play, possible advertising location.
  • Allow users to send out and view network updates from in-game.
  • Instead of using network relationships, maybe use websites, or resources

Like I said, I’m not interested in following through with the concept at this time so go ahead and use them. If anyone would like to discuss them in a more in-depth fashion you can leave a comment or email me at jamesfuller@theinnovationist.com

Also I have to thank World of Higlet for getting this started, and had she not given me a nudge those many days ago I wouldn’t have thought about half of this.  In thanks I’d like to give a shout out to her current web-series, “Mind My Brains, Darling!“.

The Game Can Change In A Blink

…Or how dreams go can go down the sink.

Earlier, this evening I found out that my cousin was pregnant, but she’s like a little sister, so I feel like I’m going to be an uncle. I’ve been having a hard time trying not to judge and just be happy, but it’s hard. She’s known for years what she wanted to do, and has had it all planned out, and then out of nowhere a surprise that’s going to shake her life. The unexpected turn that can derail even the best laid plans. Now I’m trying to fight myself off, I know she’ll be a great mom, but I can’t help but wish there was another way.

I’m fighting myself over being judgmental, but also fighting my own hypocrisy; when I was 16 my girlfriend got pregnant, it wasn’t mine but that didn’t matter to me. I offered to help her raise it, and be the father that the child would need, and started prepping for it. A few weeks later, after having discussed it, but without telling me until it was done, my girlfriend had an abortion. I understood the reason, fully, but it still hurt, then as it does now. My girlfriend, was trying to get rid of a bad dream for her, and open back both of our opportunities for the future.

During those few weeks, I felt invigorated, filled with more passion than anything before. During those weeks, I realized I had to fight, not for me, but for the child’s future. I’m not a fighter, when it comes to myself, I do what I do to survive, but I don’t really try harder than that. It’s unnatural to me. Tonight, that passion was revived,  this time I’m fighting for not just my ‘niece/nephew’ but also for my cousin’s future. I really don’t want to see her end up on the same path, I’ve gone down. I don’t want her dream to die.

It’s time to drop my humble approach towards life: Allow life to happen. It’s time for me to grab the bull by the horns and take this life for a run. The only thing that could happen is that I fall, and have to get back up. Infinite Upside. I’ve got nothing to lose, and so much to give.

…Or why business plans stink.

So far this post has been pretty personal, now let’s talk about business; business plans to be exact. The idea of a business plan is to provide some guidance about the market, your growth, competition, and strategy to achieve that growth. It used to be that the plans were long-term, 5-10 years. The problem with this, is that as our world becomes ever quicker to adopt new changes, your strategy can be invalidated. You very well may be stuck playing checkers, while everyone else plays chess, if you stick to the business plan.

If you want to stay alive, you have to change your strategy to fit the new rules of the game, otherwise you will lose. This means that you need to constantly be on the ball, and willing to change as you get new data, which requires that you actually acquire, analyze, and adapt to some set of data. And you need to be constantly aware, but also have some lag on decisions, so that you don’t get stuck working on a fad. Business plans have become near useless, for long-term prediction.

The important things now, aren’t the plans, per say, but that you understand your market and competition, can do what you say, and are willing to keep going with the feedback you get. You have to preempt competitive maneuvers and always be on the look out for new competition. The game is now not just about who gets there first or who does it better, but who does most of what I need, how I want

If you do everything according to plan, you will be beat, there is no doubt in my mind. You become predictable, you have to change the game that’s being played, and adapt to the new rules, when others change the game. If your plan is invalidated, don’t fight to save the plan, take that information and adapt to it. If you can’t stop there, then maybe you should go hang out with the telecom and cable giants, they’ll keep clawing to keep their duopolies on the market, but the casket will close on them if they aren’t careful. The status quo is deadly.

Be prepared to go to the brink, for what you believe.

You’ve got to take everything you’ve got and just go headlong into the fray. Life doesn’t stop because you want it to;  don’t try to stop it. Enjoy it, all of it, even hardships. What doesn’t kill you only makes you stronger, after all. Make your moves with patience and diligence, but do make your moves before the clock stops.

“When the going gets tough, the tough get going.”

The Simple Styleguide I Follow

I was asked to provide an overview of a project that I was working on and I ended up providing a style guide in the overview documents and thought it was worth sharing. It’s in no way all encompassing, but it provides a good core for self documenting code, in my opinion.

Simple Styleguide
Naming Conventions
-   Files
   -   Always lowercase
   -   Words seperated by an underscore
   -   Controllers
       -   Named after the functional  area they are meant to add
   -   Models
       -   Named after the table they access in the database
       -   Tagged with a _model to denote the file as a model
   -   Views
       -   Named after the controller which requires that views
       -   At most 1 primary view per controller
       -   You can provide a sectioned views using the sections folder
       -   Sections should be stored in a folder named after the primary view
           -   e.g. /views/sections/{primary view name}/logged_in.*
       -   Tagged with a _view to denote the file as a view

-   Classes are capitalized version of file name

-   Function/Method
    -   Words seperated by an underscore
    -   Generally use a verb at the beginning to describe functionality

-   Variables
    -   Normally named after the field they access
    -   Create model objects as m_{model name}

Spacing
-   Indenting
    -   Uses spaces instead of tabs, 2 or 4 spaces
    -   Classes
        -   Brackets start on next line at the same level as the class
        -   Brackets end on the same level as the class
    -   Functions
        -   Brackets start on the next line at the same level as the function
        -   Brackets end on the same level as the class
        -   Add a new line to split functions up for readability purposes
    -   Control Blocks
        -   Brackets start on same line as the beginning of the block
        -   Provide one space between the end of the logic and the bracket
        -   Brackets end on the same level the control block

Extra Bits
-   Functions that have a similar focus should be close to each other

The Thought Of Success Is Wonderful

Humans are self and group inhibitors in general, primarily the former. We all have fears and worries, that force us into reactionary tactics for survival, but often times, the fears are fiction, induced by over-thinking, or someone promoting them. Reactions, aren’t precise and are rarely efficient, they are emotional decisions made in angst, we shouldn’t trust it in most cases. I think this is why so many people fail, they allow fears to get in their way.

A child’s innocence and sense of wonder make them marvelous. They truly believe anything is possible, they aren’t inhibited by their prior experience. The “empty” mind that is open to being filled, with new experiences, new ideas, but they often lack the experience and skills required to communicate  with the world. If children are able to fight the inhibitions that allows their wonder, can we try to promote it to as a way to encourage success?*

Adults have mostly forgotten how wonderful life is, and think it is beating them down. I can’t count how many people I know who think life is out to get them, because of their bad experiences, with prior failure or contempt at others success. Many suspend their wonder, in order to fight others ability to succeed, they feel that injustices were served to them, because a disease, their financial situation, employment possibilities, etc. I’m not saying any of that is necessarily wrong, but what is wrong, is complaining about what you can’t do, instead of  looking at what you can do, in an uninhibited manner.

Your dreams don’t have to die, because of something that has happened to you. e.g. Randy Pausch – Experience Zero G like an Astronaut. Randy Pausch author of, “The Last Lecture.” He realized early on that he couldn’t be an Astronaut, because he wore glasses, so he changed his goal. All Randy really wanted to experience was Zero G, so he set out in life with the goal of one day going on, “The Vomit Commit,” which is an aircraft used for simulating Zero G. He changed his goal, to fit what he could do, and I believe too many people give up, based on their general disadvantages, and never look at what they could do, regardless, to get close.**

Open your mind, your eyes, your heart, and fight for your dreams. Find someone to help, I know not everyone has someone to help, but it never hurts to ask. There are plenty of enablers out there, just show them that you’re passionate. If there is one thing I’ve seen lately is that there has been talk about how to get a mentor to assist you, in achieving your goals, and there has been one point in these articles that sticks out.

“I’m not going to  spend my time helping you, unless you prove that you’re willing to put the time in yourself, and show me what you’ve done. You have to show that you’re willing to go it alone, but would like help.”

So what are your dreams? Write down 5 things you’d like to do in the next 5 years, and/or 5 things you want to do before you die.

*= One of the things that occurs to me, about STEM(Science, Technology, Engineering, and Math), is that they are very rigid in general, and our school system doesn’t try to break from the rigidity. What that rigidity does, is when a child doesn’t get something, he is penalized by bad grades, but this enforces fear and contempt, or it is overly repetitive and the child loses his sense of wonder. We should work on filling these areas with wonder and flexibility.

**= Actually, while skimming the book to find the story on this, I noticed this article is very reminiscent of the later chapters, on Dreaming Big.