Ideas For Making Color More Vibrant

Disclaimer: I haven’t tried Color, and am decidedly against mobile in my personal life. This is my analysis, having only watched an overview and read several of the articles.

The recent hubbub about Color, by Scoble and the other’s, discussing the poor first experience and “Bubble Welcomes Color”, is partially on the mark, is also partially off. I won’t deny that the execution and even idea may have been weak, but I think it was mainly a chicken/egg problem. They also walked into a problem with the buzz around their funding, it being so abnormal they had mass’s attention, to the point of possibly being a detriment. For both of these negatives, they have some very intriguing aspects, some that will certainly be surfacing in other products, over the next few months – years.

In today’s world, with several large pre-built social networks, it is extremely possible to piggy back, at first. to build your market usage to help reduce the chicken/egg issues.  As far as I can tell, they did nothing to  mitigate the chicken/egg issue, and may have actually made it more prominent with their decisions to only offer the sharing in  a small area and time period. Those two features, are great in an active environment, but in this one, that is new and empty, it provides a negative experience lacking true interaction. Why would anyone want to use it if there is very low level of interaction?

The funding news helped to promote Color to a larger audience, because of the discussion that was caused by the abnormally high investment of $41 million. $41 million for a company that was on the dawn of releasing it’s first public product. Assuredly absurd, or is there something there that everyone was missing; there are varying opinions on this. In light of the bubble speculations, of the past few months, many are leaning toward the absurd, and point back at Color as evidence that there truly is a bubble. The extra attention, which was exposed to the poor interaction, and the negative connotations of the bubble, are overshadowing what could be a great product.

The public introduction to implicit networks, even as an idea represented in the video demo for the product, is what I find most interesting about the service. The use of creating one based on vicinity to other users is brilliant, if they had an active user base, of course. The whole idea that you can interact with strangers to embrace the moment, is the key to the idea of “you had to be there,” and makes it easier to create real-world memes. I can definitely seeing this being an amazingly fun experience, in sharing and creating images/videos  with strangers, it could generate games like ‘I Spy’ on the fly. There is something to this product, and I’m a little worried that it will be missed, because of the previous reactions.

I’ve said a few times over the past week, “If Color was a Twitter Client, then it would have been really impressive. Images, not so much,” and even joked that it was Twitter’s new anti-client stance that ruined the app. I might take back my comment about images, now, as I think it is a good fit, but maybe not for the introduction. In my opinion, it may have been more useful if it was a fully, or mostly, functional client for Facebook or Twitter, and provided the feature of sharing posts made through Color, with others in the vicinity, as is present in the current version. A decent client, with this bonus functionality, in my opinion would have been amazing, because it lets you engage those directly around you, when you want, and could create a virtual icebreaker. The major benefit of a client would have been, that the app is usable even when nobody else is nearby.

They could also widen the vicinity, 150 feet seems like a very small area and would probably be better suited to 300-450 feet, so that there is a little bit of room to play with it. If they widened the vicinity, it could also open up the service to a nice little  promotion network, with ideas for people to get together and do. I think this may be their biggest issue currently, the area just sounds too small to be effective; they need to open it up.

Overall, they made plenty of mistakes out of the gate, but I think they are definitely in redeemable territory, particularly with the numbers in the bank. What they can do immediately is expand the  vicinity, add some other types of media (besides just images and comments on them), and create some sort of larger interaction outside of the small ‘global’ area. Right now, it’s all about creating some active audience, so they should focus on specific areas to promote it, as Scoble mentioned about focusing on SF and NYC, and some introductory use cases, such as games like ‘I Spy.’ Ultimately, I do see Color as a company that will succeed, even with their current stumbles, but they do need to pick it up and start running with something that will boost interaction. It’s all about interaction and engagement.

I wish them the best of luck.

The Future Of Search Can Be Found In Dungeon

Earlier today, I made a comment asking, “Could it be that Zork* is the search of future,” then deleted it. Louis Gray ended up calling me out on the deletion, which was for no real purpose other than not wanting to fully explain myself. I might as well lay out my thoughts on what I meant, lest I forget it.

A problem with search currently, is that we’re being trained to speak to the engine, with a penalty to using regular phrases as your query strings. Various terms are stripped from the query strings, and you end up with items that aren’t relevant or hardly related, when you just haphazardly place your key terms in.  This is an issue that I find frustrating; I often end up banging around for hours on end trying to get proper query terms to bring me the results I’m looking for. Search is simply hit or miss, even for the new guys, such as Blekko and DuckDuckGo, trying to beat the incumbent which is Google. The new guys have better quality, but it does come at a cost of having special syntax, Blekko with the slash modifiers and DuckDuckGo with the bang modifiers.

Why don’t we have a search system that uses a more intricate text parser, to parse the queries. It’s obvious that we have the technology, just look at how amazing the parser for Zork and other text-based adventure games were. Why can’t we use grammar that we are used to, and let the software parse the elements out, where necessary? Simply put, I’ll trade off the ability for instantaneous results if you provide a simple text parser that makes it easier for me to input my queries in a more natural form.

Let me put in something like one of these:

  • “Louis Gray’s latest post about Friendfeed.”
  • “Most recent blog post from Louis Gray about Friendfeed.”
  • “Latest blog post on louisgray.com containing Friendfeed.”

All of those should return similar results, but they all share a common set of elements, that humans often have to convert into their queries if they want to get a valuable response. A decent Google query for this would look like, {site:”louisgray.com” Friendfeed}, but this requires that you also select an option outside of the query box, to narrow it to most recent. All of those queries I would like to use return very noisey results, even the modified query is noisy, and is more closely related to “containing” than about.

My question is why don’t we have a text parser, probably client-side, that helps us out in getting the content we want? If you look at my preferred queries they break down in to relative elements.

  • A source. Signified by ”s,’ ‘from,’ and ‘on’ in the relative examples. They all signify that your looking for something from Louis Gray, in some form.
  • A temporal modifier. Signified by “‘latest’ and ‘most recent,’ in the examples. Signifies that the period is a significant element of your query.
  • A  source modifier. Signified by the ‘post’ and ‘blog post, in the examples; easily could be Tweet, Status, Image, to search for.
  • A search method. Signified by ‘about,’ ‘containing,’ or ‘with.’ These signify how the elements that follow should be interpreted.
  • A set of query elements. In my example I only used Friendfeed, but it is what follows the search method signifier.
  • A system of set logic. Using ‘and,’ ‘or,’ or ‘commas,’ as a way to modify the way the sources and queries are handled.

Why aren’t we using this now? Sure, some of what I suggest is harder to manage, because it requires the ability to know who Louis Gray is, and what sources he has, but this only requires having a somewhat decent image of his set of profiles. Google happens to have just that, as do many other aggregating services, but Google has the power here, being a search provider. I don’t know if it will enhance the results we receiver from such services, but wouldn’t it be wonderful to talk to the system in a way that is at least halfway normal, and get decent results even without a solidly designed query.

Search providers please give us a half decent text parser, even if it’s only as advanced as that of the 70’s. Hell, it’s already common enough to see simply text parsers that pull hashtags, and @user strings, and converts them to links. Why not something that takes a more English approach to the query, and does the conversion for us to get the perfect query strings, that the system wants?

“What a (ahem!) strange idea!”

Notes:

*= Zork’s original title after completion was Dungeon, but a trademark violation saw that it was changed back.

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

On Suicide and Negativity

This was published by accident, and as such is lacking in the actual content I wanted to add, so I’ve added an addendum. I’ve also thought of taking it down, but some people responded positively to it, so I’ll keep it up with only minor editing.

I have been thinking quite a bit about suicide lately. Just thinking about it, it’s not something I could follow through on, anymore. Life is absolutely worth living. It has caused me to make changes and continued thinking about what I’m doing and what I should do. It is also a leading edge in my personal views.

For some background, I’ve made 3 serious attempts over the last decade, though the last was over 4 years ago.

My first was when I was 11, at school; one day the teacher walked out of the class room and I climbed into the second story window, and leaned back to roll out onto the sidewalk. Luckily, two other students grabbed my arms just as I had leaned back, pulled me back in, and convinced me it was stupid. During this period, I also used to drag my head on the ground while swinging trying to use the force to snap my neck.

The other two attempts occurred when I was about 15 or 16, once with a gun, and another jump attempt. I took my stepfather’s .22, off of his workbench in the garage, out into the woods, and sat there thinking about what I would miss for a few minutes. I then placed it up to my temple and pulled the trigger. Nothing happened. My stepfather, keeps the magazine empty and the chamber clear, when it’s not on his person. I walked back to the house, placed the gun back on the bench, and went into my room and cried myself to sleep.

The other time, I walked out to cliffs near my house, and down to a little bench, that we used to look at the river from, because it was clearer there. I got ready to jump, but again decided to think about what I would miss, and sat down and thought about my girlfriend at the time, who was also suffering suicidal tendencies, and how much that might affect her. She had lost an ex, on her birthday a few months earlier, when he hung himself. I decided to walk away from this one, but almost accidentally succumb due to the slope getting back off of the shelf, and the leaves slipping from under my feet. This was, and will be, the last attempt I ever made.

I realized at that point, that my actions are selfish. I don’t just take my life, but I could ruin so many others. I also realized at that point, that death isn’t to be feared or fought against. To deny death, is to deny life. Life is to be enjoyed and filled with happiness.

My job of filling my life with happiness is often harder when I add socialization to the mix. I don’t like when people fearmonger, it’s one of biggest gripes, because it creates a negative mindset. I also try to avoid those with negative mindsets, because it doesn’t help anyone. Being positive, but even more so realistic, is the best that can be accomplished. Lately I’ve seen so much negative thinking, it’s bringing me down, and making it hard to keep the thoughts down.  Also people who say I can’t, make me sad, because I am filled with hope for individuals, and it shows that they aren’t filled with hope themselves.

*Addendum*

I am an optimist through and through, but I’m also a pessimist at heart; this makes it easier to tear things apart and find a solution. I see potential in everyone, this is why, “I can’t,” annoys me so deeply, and even I am prone to excuses, but I loathe them, and try to find ways to subvert them in myself and others. I only turn my back on people, when they take advantage of me or others, to my knowledge. I also realize that life is filled with negatives, and these can make it seem like you can’t, but there is often a way to spin the negativity with optimism or ignore it, if there is no real ramifications to that ignorance.

“Just be…” The only time you have is now. Be happy. Be inviting. Be courteous. Be free. Be you.

*Addendum fin*

I just don’t have time for negative space, and negative thoughts and arguments. So I’m done with it.